Source: http://www.google.com/patents/US20030043802?ie=ISO-8859-1&dq=6,263,507
Timestamp: 2014-03-13 15:24:47
Document Index: 182680286

Matched Legal Cases: ['art 310', 'art 320', 'art 310', 'art 320', 'art 310', 'art 330', 'art 330', 'art 330', 'art 330', 'art 310', 'art 2220', 'art 2230', 'art 2220', 'art 2230', 'art 2240', 'art 2220', 'art 2230']

Patent US20030043802 - Packet transferring method and apparatus that employs the same - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsEvery router in a network is provided with flow detecting means that detects a flow from a packet header of a packet so as to perform such packet processings as bandwidth monitoring, priority-based transferring, statistical information collecting with respect to each packet flow. Receiving a packet from...http://www.google.com/patents/US20030043802?utm_source=gb-gplus-sharePatent US20030043802 - Packet transferring method and apparatus that employs the sameAdvanced Patent SearchPublication numberUS20030043802 A1Publication typeApplicationApplication numberUS 10/211,562Publication dateMar 6, 2003Filing dateAug 5, 2002Priority dateAug 31, 2001Also published asUS7376085Publication number10211562, 211562, US 2003/0043802 A1, US 2003/043802 A1, US 20030043802 A1, US 20030043802A1, US 2003043802 A1, US 2003043802A1, US-A1-20030043802, US-A1-2003043802, US2003/0043802A1, US2003/043802A1, US20030043802 A1, US20030043802A1, US2003043802 A1, US2003043802A1InventorsYasusi Kanada, Takeki YazakiOriginal AssigneeTakeki Yazaki, Yasusi KanadaExport CitationBiBTeX, EndNote, RefManReferenced by (28), Classifications (26), Legal Events (4) External Links: USPTO, USPTO Assignment, EspacenetPacket transferring method and apparatus that employs the sameUS 20030043802 A1Abstract Every router in a network is provided with flow detecting means that detects a flow from a packet header of a packet so as to perform such packet processings as bandwidth monitoring, priority-based transferring, statistical information collecting with respect to each packet flow. Receiving a packet from a site, an edge router detects the packet flow and writes a flow identifier in the packet. Each flow identifier is uniquely decided in the network. The Internet router performs such packet processings as bandwidth monitoring, priority-based transferring, statistical information collecting with respect to each flow according to the flow identifier. The present invention can thus prevent the network from degradation of transferring performance caused by the flow detecting means of a backbone router. Images(28) Claims(20)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0068] At first, an embodiment of a router of the present invention is described with reference to FIGS. 1, 4 through 6, and 28. [0069]FIG. 1 shows a block diagram of the router 100. The router 100 comprises a plurality of (N) input lines 101-i (i=1 to N) used to input packets, a receiving circuit 150-i used to receive the packets, a header processing means 120 used to decide an output line number that is an identifier of an output line 102-i for outputting packets and deciding a flow ID that is an identifier of a flow or a flow bundle, a flow processing means 160-i used to perform such processings as bandwidth monitoring, statistical information collecting, and filtering according to this flow ID, packet relaying means 110 used to switch packets between output lines according to an output line number, a flow processing means 190-i used to perform such processings as priority-based transferring and statistical information collecting according to a flow ID, a sending side buffer 130-i, a sending circuit used to send packets, and an output line 102-i used to output packets. A management terminal 170 is connected to the router 100. The management terminal 170 sets up a table in each of the header processing means 120, the flow processing means 160-i, and the flow processing means 190-i. In FIG. 1, the header processing means 120 is connected only to the receiving circuit 150-1 for simplification. Actually, however, the header processing means 120 is connected to every receiving circuit 150-i. Similarly, while the management terminal 170 is connected only to the flow processing means 160-1 and the flow processing means 190-1 in FIG. 1 for simplification, the terminal 170 is actually connected to all of the flow processing means 160-i and the flow processing means 190-i. [0070]FIG. 4 shows an example of the packet format used in the IP network shown in FIG. 2 or 3. This format consists of a header part 310 and a data part 320. The header part 310 consists of a source IP address (hereinafter �SIP�) 311, a destination IP address (hereinafter �DIP�) 312, a source port (hereinafter �SPORT�) 313 that represents a high-order application program, a flow label 315, and a TC 316 that represents a transfer priority level in an IP network. A packet source writes a unique value in the flow label 315 with respect to each packet of one packet flow and writes �0� in the flow label 315 of other packets that does not belong to the packet flow so as to send out the relevant packets. [0071] The data part 320 consists of user data 321. The header part 310 stores the above described information items, as well as information such as the upper layer protocol of the IP protocol. The information is used for conducting the processings to be described later accordingly. In the format shown in FIG. 4, the transport layer protocol is the TCP (Transmission Control Protocol) or the UDP (User Datagram Protocol) and the network layer protocol is the IPv6 (Internet Protocol version 6) described in the RFC2460. For example, the network layer protocol may be the IPv4 (Internet Protocol version 4). When the IPv4 is used, the length of the DIP 312 is changed from 128 bits to 32 bits and the flow label 315 is omitted. [0072]FIG. 5 shows an example of the packet format used in the router 100 of the present invention. This format is a variation of the IP packet format in FIG. 4. It has an inner header part 330. This inner header part 330 consists of a field of packet length 331 that represents a byte length of respective packets, a field of an input line number 332 that is the identifier of an input line of a subject packet flow, a filed of an output line number 333 that is the identifier of an output line from which a subject packet flow is output, and a field of a flow ID 334 that is the identifier of a flow or a flow bundle. The flow ID 334 is a piece of specific information of the present invention. The value of the packet length 331 is used for bandwidth monitoring and/or for statistical information collecting. [0073] In FIG. 28, when a packet is inputted to the input line 101-i, the packet extracting means 2810 of the receiving circuit 150-i extracts the packet and sends it to the inner header adding means 2820. The inner header adding means 2820 adds an inner header part 330 to the packet after counting the byte length of the packet, then copies the value in the field of the packet length 331, the identifier (�=i�) of the input line 101-i to which the packet is inputted in the input line number 332, and the value of the flow label 315 in the flow ID 334 respectively. After this, the inner header adding means 2820 sends the packet to the packet header information sending means 2830. The packet header information sending means 2830 then sends the packet header information 11-i consisting of the inner header part 330 and the header part 310 to the header processing means 120 and sends the packet to the packet storing means 2840. The packet storing means 2840 stores this packet temporarily. At this time, the value held in the output line number 333 is meaningless. [0074]FIG. 6 shows a block diagram of the header processing means 120. Receiving the packet header information 11-i, the header processing means 120 multiplexes this information, then sends the multiplexed packet header information 11 to the flow detecting means 600, the routing processing means 620, and the input line number storage means 650 respectively. The input line number storage means 650 stores the input line number 332, and the flow detecting means 600 detects a packet flow from the packet header information 11. When the packet source sets its unique value in the flow label with respect to respective flows to be sent out, the flow detecting means 600 detects the flow from both the SIP 311 and the flow label 315. When the packet source writes �0� in the flow label 315 of a packet to send out in a packet flow, the flow detecting means 600 detects the flow from the SIP 311, the DIP 312, the SPORT 313, the DPORT 314, the input line number 332, and the flow ID 334 (=flow label 315). In addition, the flow detecting means 600 sends the detected flow identifier to the flow ID information distributing means 630 as flow ID information 12. The flow ID information distributing means 630 then sends the flow ID information 12-i to the receiving circuit 150-i corresponding to the input line number 332 stored in the input line number storage means 650. On the other hand, the routing processing means 620 decides the identifier of the output line 102-i from which a packet flow is output (i.e., the output line number from the DIP 312 written in the packet header information 11) and sends this identifier to the output line information distributing means 640 as packet output line information 13. The output line information distributing means 640 then sends the packet output line information 13-i to the receiving circuit 150-i corresponding to the input line number 332. [0075] Referring back to FIG. 28, a packet rewriting instructing means 2850 of the receiving circuit 150-i writes the flow ID information 12-i as the flow ID 334 of the respective packets stored in the packet storing means 2840 and writes the packet output line information 13-i as the output line number 333. In addition, the packet rewriting instructing means 2850 notifies the packet reading means 2860 of the end of writing, and the packet reading means 2860 sends the packets stored in the packet storing means 2840 to the flow processing means 160-i. The flow processing means 160-i stores the received packets in itself, then performs such processings as bandwidth monitoring, statistical information collecting, and filtering according to the flow ID 334, then transfers the packets to the packet relaying means 110 in FIG. 1. The details of the flow processing means 160-i is described later. The packet relaying means 110 switches packets among output lines according to the output line number 333 so as to send those packets to the flow processing means 190-i. The flow processing means 190-i then stores the received packets in itself, then performs such processings as priority-based transferring and statistical information collecting according to the flow ID 334 so as to send the packets to the sending side buffer 130-i. The sending side buffer 130-i stores packets received at a rate higher than the transfer rate of the bandwidth of the output line 102-i so as to prevent discarding of packets. When receiving packets at a rate higher than the transfer rate of the bandwidth of the output line 102-i for an excessively long time, the flow processing means 190-i discards the overflowing packets. The sending circuit 140-i sends a packet sending start signal 22-i to the sending side buffer 130-i so as to read packets from the sending side buffer 130-i in accordance with the transfer rate of the bandwidth of the output line 102-i. Receiving this signal, the sending side buffer 130-i sends packets to the sending circuit 140-i. The sending circuit 140-i writes the value of the flow ID 334 in the flow label 315, then deletes the inner header means 330 from the packet to be sent to the output line 102-i. The router located in the downstream of the router 100 processes the flow according to the flow label 315. [0076]FIG. 30 shows the header processing means 3020 of the router located in the downstream of the router 100. The direction towards the packet source is defined as the upstream and the direction towards the packet destination is defined as the downstream. The header processing means 3020 is the same as the header processing means 120 in configuration except that the flow detecting means 600 and the flow ID information distribution means 630 are omitted from the header processing means 3020. Each router located in the downstream of the router 100 has no flow detecting means 600 or flow ID information distributing means 630 to cut cost. [0077] When a packet source writes a unique value in the flow label to send each packet flow, the flow detecting means 600 of the router 100 condenses a total of 148 bits (including a source IP address (SIP) of 128 bits and a flow label 315 of 20 bits) in the field of the flow label 315 (20 bits). When no value is written in the field of the flow label 315, the flow detecting means 600 must identify the flow from a combination of SIP, DIP, SPORT, etc. such that a bit field larger than the above is condensed. [0078] When a small bit width is set for the flow ID and the router 100 is provided with a table for storing transfer priority information, bandwidth monitoring information, statistical information, and filtering information for each flow ID, there is no need to increase the number of flow detecting means to cope with an increase of the number of flow processings. In this case, the router 100 is required to have each flow ID as a unique value for the router 100. [0079] Each router can be provided with a table for storing transfer priority information, bandwidth monitoring information, statistical information, and filtering information for each flow ID if it has a space (220=1M space) that can be identified by the flow label 315 (20 bits) Consequently, each router located in the downstream of the router 100 is only required to have those tables but not required to have the flow detecting means 600. When an edge router rewrites only specific bit/bits of the 20 bits and the flow processing means of a router in a network refers to only this bit/these bits, the table size can be further reduced. In this case, the router 100 is required to assign the value of the flow label 315 as a unique value in the network. And, when a packet source writes a unique value in itself for each packet flow to be sent out therefrom, the backbone router is required to combine the flow label 315 and the SIP to detect the packet flow, since the value is not unique in the network. [0080] Assume now that the router 100 is to be used instead of the edge router A326 shown in FIG. 3. The sites A321 and C323 belong to networks of a corporation A, and this corporation A uses services of the Internet 325 in which data is transferred from the site A321 to the site C323 at 10M bits/sec. Similarly, the sites B222 and D324 belong to the networks of a corporation B and this corporation B uses services of the Internet 325 in which data is transferred from the site B322 to the site D324 at 10M bits/sec. The internet service provider 325 guarantees the managers of the corporations A and B of the fulfillment of the internet service contracts of data transfer at 10M bits/sec. [0081] The edge router A326, when receiving a packet from the site A321/B322, identifies the source site from the SIP 311 and monitors the bandwidth at 10M bits/sec for each site. The edge router A326 writes whether the internet service contracted bandwidth is �fulfilled�/�not fulfilled� and the source site information in a unique flow label in the Internet 325, then sends the packet to the object site. For example, the edge router A326 writes �1� in each packet received from the site A321 and decided as �fulfilled� and �2� in each packet decided as �not fulfilled�. Similarly, the edge router A326 writes �3� in each packet received from the site B322 and decided as �fulfilled� and �4� in each packet decided as �not fulfilled�. [0082] The backbone router 328 and the edge router B327 in the Internet 325 perform priority-based transferring and statistical information collecting according to the value written in the flow label to assure transferring of priority packets, as well as count such statistical information as the number of discarded packets/bytes in packet with respect to each source site by distinguishing packets between transfer �priority� and �non-priority�. The internet service provider 325, when no priority packet is discarded in such way, can assure the managers of the corporations A and B of the fulfillment of their internet service contracts. The backbone router 328 and the edge router B327 are required to have the flow processing means 160-i for performing priority-based transferring and statistical information collecting according to the flow ID 334, but not required to have the flow detecting means 600. [0083] While a description has been made for a case in which the flow ID 334 is written in the flow label 315, the flow ID 334 may be written in another field, for example, in the TC 316. Although the TC is information for indicating a transfer priority level in a network, writing the flow ID 334 in the TC 316 would not raise a problem if each router in the subject network functions in accordance with the description of the identifier in the TC 316 of a flow or a flow bundle. In this case, the inner header adding means 2820 of each router located in the downstream of the router 100 of the present invention copies the TC 316 in the field for the flow ID 334 such that the flow detecting means can refer to the identifier of the flow or the flow bundle. Similarly, the flow ID 334 may be written in any field other than the TC field or being incorporated with the TC in another field. The description has been made for a case that the network layer protocol is the IPv6 since the IPv4 uses no flow label. If the IPv4 is adapted, the information of the flow ID 334 can be written in the TC 316 (referred to as DSCP in the IPv4) or in another field. [0084] Next, the operation of the flow detecting means 600 is described in detail with reference to FIGS. 7 through 10. FIG. 7 shows a block diagram of the flow detecting means 600. A CAM controlling means 701 sends the SIP 311, the DIP 312, the SPORT 313, the DPORT 314, the flow ID 334, and the input line number 332 written in the packet header information 11 to the CAM 702 as flow detection key information 14. FIG. 8 shows a format of the CAM 702. The CAM 702 consists of flow entries 810-j (j=1 to M), each describing a flow condition. A flow entry 810-j consists of fields of SIP 801-j, DIP 802-j, SPORT 803-j, DPORT 804-j, flow ID 805-j, and input line number 806-j. Although not shown in FIG. 8, a MASK can be set for each bit. When every bit of the input line number 806-j is masked, the SIP 801-j, the DIP 802-j, the SPORT 803-j, the DPORT 804-j, and the flow ID 805-j are assumed as flow conditions. [0085] The manager of the router 100 specifies each flow entry 810-j of the CAM 702 at the management terminal 170. When the management terminal 170 sends a write command to be issued to the CAM 702, the address of the CAM 702, and information (including the MASK) to be written in the CAM 702 to the router 100, the CAM controlling means 701 writes the information in the address of the CAM 702. [0086] Receiving the flow detection key information 14, the CAM 702 begins retrieving and comparing sequentially from the first flow entry 810-1, through the flow entry 810-j in which the CAM address increases, and sends the CAM address (=j) of the first matching flow entry 810-j to the address translating means 703 as matching address information 15. The address translating means 703 assigns a flow ID that is an identifier of a flow or a flow bundle to the matching address information 15 and sends the flow ID to the flow ID information distributing means 630 as flow ID information 12. When the same value is taken as a flow ID for different matching address information 15, a plurality of flows can be bundled into one. [0087]FIG. 9 shows an example of the address translating means 703. The address translation table controlling means 901, when receiving matching address information 15, sends this value as a read address for reading data from the address translation table 902. FIG. 10 shows a format of the address translation table 902. The address translation table 902 outputs a flow ID 1010-j (j=1 to M) corresponding to the read address as flow ID information 12. Because the same value is written in the flow ID field 1010-j of each flow in the same flow bundle, a plurality of flows can be combined into a flow bundle. [0088] The manager of the router 100 specifies a flow ID 1010-j of the address translation table 902 at the management terminal 170 just like for the CAM 702. When the management terminal 170 sends a write command to be issued to the address translation table 902, an address of the address translation table 902, and information to be written in the address translation table 902 to the router 100, the address translation table controlling means 901 writes the write information in the address of the address translation table 902. [0089]FIG. 21 shows a flow detecting means 2100, which is another embodiment of the flow detecting means 600. FIG. 22 shows a format of an entry table 2150 located in the flow detecting means 2100. The entry table 2150 shown in FIG. 22 consists of M entries 2210-j (j=1 to M). An entry 2210-j consists of a flow condition part 2220-j for describing a flow condition, an effective bit part 2230-j, and a flow ID 2240-j. The flow condition part 2220-j consists of fields of SIP 2201-j, DIP 2202-j, SPORT 2203-j, DPORT 2204-j, flow ID 2205-j, and input line number 2206-j. The effective bit part 2230-j has fields of SIP_Enable 2208-j, DIP_Enable 2209-j, SPORT_Enable 2210-j, DPORT_Enable 2211-j, flow ID_Enable 2212-j, and input line number_Enable 2213-j. Each of those fields contains 1-bit information. When �1� is written, it is used as a flow condition, and when �0� is written, it is not used as a flow condition. The flow ID part 2240-j includes a new flow ID 2207-j field to be assigned to a packet matching with the effective flow condition. [0090]FIG. 23 shows a flowchart of the processings performed by the flow detecting means 2100. The flow detecting means 2100 performs the detection start processing 2300, the entry read processing 2330, the condition matching decision procession, and the result decision procession 2310. [0091] Each of the above processings of the flow detecting means 2100 is described sequentially. Receiving the packet header information 11, the flow detecting means 2100 stores information items read from the fields of the packet header information 11, such as input line number 332, the SIP 311, the DIP 312, the SPORT 313, the DPORT 314, and the flow ID 334 in the packet line number storage means 2126-2, the packet DIP storage means 2123-2, the packet SPORT storage means 2127-2, the packet DPORT storage means 2125-2, and the packet flow ID storage means 2127-2 located in the condition matching decision means 2120 respectively, then stores information items read from the fields of SIP_Enable 2208-j, DIP_Enable 2209-j, SPORT_Enable 2210-j, DPORT_Enable 2211-j, flow ID_Enable 2212-j, and input line number_Enable 2213-j in the effective bit storing means 2128 respectively (step 2301). [0092] During the entry read processing 2330, the entry reading means 2130 resets the CNT (the value recorded in the entry number counter 2131) to �1� so as to read the start entry 2210-1 from the entry table 2150. Then, the entry table controlling means 2132 reads the entry number counter value CNT of the entry 2210-1 as a read address of the entry table 2150, then stores the SIP 2201-1 in the entry SIP storage means 2122-3, the DIP 2202-1 in the entry DIP storage means 2123-3, both of SPORT 2203-1 and DPORT 2204-1 in the entry SPORT storage means 2124-3 and in the entry SPORT storage means 2125-3, the input line number 2206-1 in the entry line number storage means 2126-3, the flow ID 2205-1 in the entry flow ID storage means 2127-3, and the new flow ID 2207-1 in the entry flow ID storage means 2133 in the result deciding means 2110 located in the condition matching decision means 2120 respectively (step 2332). In addition, the entry reading means 2130 counts up the value CNT of the entry number counter 2331 so as to read the entry 2210-2 at the time of the next entry read processing 2330 (step 2333). By repeating the above entry read processing 2330, the entry reading means 2130 reads the entries 2210-j from the addresses in the entry table in an ascending order. [0093] During the condition matching decision procession 2320, the condition matching decision means 2120 compares each flow condition with the packet header information 11. The flow conditions are stored in the entry SIP storage means 2122-3, the entry DIP storage means 2123-3, the entry SPORT storage means 2124-3, the entry DPORT storage means 2125-3, the entry line number storage means 2126-3, and the entry flow ID storage means 2127-3 respectively. [0094] The SIP comparing circuit 2122-1 assigns �matching� when the SIP_Enable 2208-j stored in the effective bit storage means 2128 is �0�. If the SIP_Enable 2208-j is �1�, the SIP comparing circuit 2122-1 compares the SIP 311 (stored in the packet SIP storage means 2122-2) with the SIP 2201-j (stored in the entry SIP storage means 2122-3) to decide whether they match (step 2321-1). Each of the DIP comparing circuit 2123-1, the SPORT comparing circuit 2124-1, the DPORT comparing circuit 2125-1, the line number comparing circuit 2126-1, and the flow ID comparing circuit 2127-1 perform processings regarding the respective information items of DIP, SPORT, DPORT, input line number, and flow ID likewise (steps 2321-2 to 2321-6). The condition matching decision circuit 2121, when deciding as �matching in each of steps 2321-1 to 2321-6, sends the flow condition matching information 21 to the result deciding circuit 2111 located in the result deciding means 2110 (step 2322). The condition matching decision circuit 2121, when deciding �unmatching� in any of those steps, goes back to step 2332. [0095] During the result decision procession 2310, the result deciding circuit 2111, on receiving flow condition matching information 21, sends a new flow ID 2207-j read from the flow ID storage means 2113 to the flow ID information distributing means 630 as the flow ID information 12 (step 2311). The flow detecting means 2100 of the present invention uses the same value for the new flow ID 2207-j stored in a plurality of entries 2210-j thereby bundling a plurality of flows into one. [0096] Similarly to the case of the CAM 702, the manager of the router 100 specifies an entry 2210-j of the entry table 2150 at the management terminal 170. When the management terminal 170 sends a write command for writing data in the entry table 2150, an address of the entry table 2150, and information to be written in the entry table 2150 to the router 100, the entry table controlling means 2132 writes the write information in the address in the entry table 2150. [0097]FIG. 35 shows an input screen of the management terminal 170 on which flow conditions and flow IDs corresponding to the flow conditions are to be inputted. Each line on the screen describes flow conditions and a command Flow used to input a flow ID of a packet flow matching with the flow conditions. The command Flow 1 on the first line describes �any (not used as a flow condition)� in each of the fields SIP, DIP, SPORT, DPORT, and flow ID. This indicates that a new flow ID (Newflow ID) 4 is assigned to each packet for which an input line number (inport) 3 is written. �1� is written in this command Flow 1 which indicates that the command number as �1�. Similarly, the command on the second line indicates that a new flow ID (Newflow ID) 4 is assigned to each packet for which an input line number (inport) 4 is written. [0098] When those commands are inputted to the management terminal 170, the values shown in FIG. 37 are written in the CAM 702 of the flow detecting means 600 and the address translation table 902. A flow entry 810-j corresponding to a command whose command number is small is set in a small number CAM address of the CAM 702. And, only input line numbers 806-1 and 806-2 among the flow conditions in the flow entry 810-j are specified and other items are all MASKed. [0099] As for the flow detecting means 2100, the values shown in FIG. 38 are written in the entries 2210-j in the entry table 2150. And, an entry 2210-j corresponding to a command whose number is small is set in a small number address in the flow entry table 2150. Only the input line numbers 2206-1 and 2206-2 in the flow condition part 2220 are specified, and �don't care� (any value may be set) is set for all other items. In the effective bit part 2230, �1� is written only for the input line number_Enable 2213-1 and 2213-2 as flow conditions such that only the two input lines are used. [0100] Next, the details of the operation of the flow processing means 160-i is described. FIG. 11 shows a block diagram of the flow processing means 160-i. When the flow processing means 160-i receives a packet from the receiving circuit 150-i, the flow ID information sending means 1110 extracts the flow ID 334 from the packet, then sends this information to the object device as flow ID information 16. The sending means 1110 then extracts the packet length 331 and sends the information to the object device as packet length information 17 and sends the packet itself to the packet storing means 1150. The packet storing means 1150 stores this packet temporarily. [0101] At first, the bandwidth monitoring means 1120 used for bandwidth monitoring is described. FIG. 12 shows a block diagram of the bandwidth monitoring means 1120. In this example, an algorithm expanded from the continuous state Leaky Bucket Algorithm (hereinafter the �Leaky Bucket Algorithm�) for monitoring fixed length packets/cells is employed as the bandwidth monitoring algorithm for monitoring the bandwidth of variable length packets. The Leaky Bucket Algorithm is described in, for example, Chapter 4.4.2 of �The ATM Forum Specification version 4.1�. The Leaky Bucket Algorithm is a model of leaky buckets with a certain depth. While water is in the bucket, the water leaks in the monitoring bandwidth and water for a cell is poured into the bucket upon an arrival of a cell. The bucket has a certain depth so as to permit arrival of a cell burst. Before the bucket overflows, input cells are decided as �legal�, and when the bucket overflows, input cells are decided as �illegal�. In this specification, the amount of water poured in varies upon an arrival of a packet such that bandwidth monitoring is enabled for the variable length packets. [0102] The bandwidth monitoring means 1120 is composed of a stored bucket water level deciding means 1210, a monitoring result deciding means 1220, a bandwidth monitoring table 1230, and a bandwidth monitoring table controlling means 1240. FIG. 13 shows a format of the bandwidth monitoring table 1230. The bandwidth monitoring table 1230 has L bandwidth monitoring control entries 1300-k (k=1 to L). The bandwidth monitoring means 1120 monitors the bandwidth of each flow ID according to the control of a bandwidth monitoring control entry 1300-k. [0103] The bandwidth monitoring control entry 1300-k is composed of monitoring traffic characteristic information 1310-k that describes characteristics of a traffic to monitor, packet arrival history information 1320-k that describes packet arrival history information, and flow ID information 1330-k. The monitoring traffic characteristic information 1310-k is composed of a bucket depth THR 1301-k(bytes)(threshold) representing a burst tolerance and a leaking speed POLR 1302-k (bytes/sec) (policing rate) for monitoring a bandwidth. The packet arrival time history information 1320-k is composed of an arrival time TS 1303-k(sec)(time stamp) of the previous packet in the same flow or flow bundle and a stored bucket water level CNT 1304-k(bytes)(count) right after the bandwidth of the same flow or flow bundle of packets is monitored. The flow ID information is composed of a flow ID: illegal flow ID 1305-k to be reset for a packet decided as �illegal�. [0104] In order to monitor the bandwidth of a plurality of flows at a time, it is necessary to detect a plurality of flows. In the case of the technique described in the Document 2, a plurality of flow entries 1510-j are set, and a plurality of bandwidth monitoring control entries would be referred to (see FIG. 15). However, to monitor the bandwidth of packets in the same flow bundle, the bandwidth monitoring function needs to refer to the same arrival history information 1320-k (TS 1303-k and CNT 1304-k) The bandwidth monitoring function according to the technique described in the Document 2 does not bundle packet flows into flow bundles therefore it does not monitor the bandwidth of a plurality of bundled packet flows collectively. [0105] In this embodiment of the present invention, therefore, an expanded algorithm of the Leaky Bucket Algorithm is used as the bandwidth monitoring algorithm, although the same problem as the above described one also arises when the algorithm is required to hold the arrival history information of each packet. [0106]FIG. 14 shows a flowchart of the processings performed by the bandwidth monitoring means 1120. In particular, the three processings of the bandwidth monitoring means 1120 include the bandwidth monitoring start processing 1400, the stored bucket water level decision procession 1410, and the monitoring result decision procession 1420. [0107] The bandwidth monitoring means 1120, when receiving the flow ID information 16 and the packet length information 17, stores the flow ID 334 obtained from the flow ID information 16 in the flow ID storage means 1250 and the packet length 331 obtained from the packet length information 17 in the packet length storage means 1222 respectively (step 1401). [0108] In step 1402, the bandwidth monitoring table control circuit 1241 uses the flow ID 334 in the flow ID storage means 1250 as a read address to read the bandwidth monitoring control entry 1300-k, then stores the THR 1301-k and the illegal flow ID 1305-k in the THR storage means 1223 of the monitoring result deciding means 1220 and the illegal flow ID storage means 1224 respectively, and stores the POLR 1302-k, the TS 1303-k, and the CNT 1304-k in the POLR storage means 1213, the TS storage means 1214, and the CNT storage means 1215 of the stored bucket water level deciding means 1210 respectively. [0109] During the stored bucket water level decision procession 1410, the stored bucket water level deciding means 1210 calculates a stored bucket water level right before an input of a packet. At first, the stored bucket water level deciding circuit 1211 calculates a difference between the value of the current clock timer 1212 and the TS 1303-k(sec) that is the arrival time of the previous packet stored in the TS storage means 1214, thereby calculating the time lapse (sec) from the arrival of the previous packet (step 1411). Then, the stored bucket water level deciding means 1210 multiplies the time lapse (sec) by the POLR 1302-k stored in the POLR storage means 1213 to calculate the amount of the water leaked (a reduction of the water in the bucket) since the arrival of the previous packet. In addition, the stored bucket water level deciding means 1210 subtracts the reduction of the bucket water from the CNT 1304-k that is stored in the CNT storage means, and the means 1210 indicates a stored bucket water level right after the bandwidth of the previous packet is monitored so as to decide the stored bucket water level right before an input of another packet (step 1413). The bucket water level deciding means 1210 decides positive/negative of the water level of the water in the bucket (step 1414). When the decision result is negative, the water level in the bucket is reset to �0� (empty)(step 1415). [0110] During the monitoring result decision procession 1420, the monitoring result deciding circuit 1221 of the monitoring result deciding means 1220 decides whether or not an amount of water equivalent to the packet length of an inputted packet can be poured in the bucket as follows. First, the circuit 1221 adds the packet length 331 (byte) stored in the packet length storage means 1222 to the stored bucket water level (byte) calculated in the stored bucket water level decision procession 1410 (step 1421). Then, the circuit 1221 compares the depth of the bucket THR 1301-k stored in the THR storage means 1223 with the added value (step 1422). When the result is bucket water level+packet length>THR 1301-k and the amount of the water equivalent to the packet length overflows from the bucket, the inputted packet is decided as an illegal one such that the monitoring result information 18 (that represents �illegal�) and the illegal flow ID 1305-k read from the illegal flow ID storage means 1224 are set to the packet reading means 1160 as illegal flow ID information 28. And, because an amount of water equivalent to the inputted packet is poured into the bucket, the circuit 1221 sends the value of �the bucket water level� as is to the bandwidth monitoring table control circuit 1241 as stored bucket water level information 20 that indicates the level of stored water in the bucket right after the bandwidth is monitored (step 1424). On the other hand, when the result is the bucket water level+packet length≦THR 1301-k, the input packet is decided as �legal� such that the monitoring result information 18 representing �legal� is sent to the packet reading means 1160. At this time, the illegal flow ID information 28 is meaningless. And, because an amount of water equivalent to an inputted packet is poured into the bucket, the circuit 1221 sends the value of �stored bucket water level+packet length� to the bandwidth monitoring control circuit 1241 as the stored bucket water level information 20 (step 1423). [0111] The bandwidth monitoring table control circuit 1241 writes the stored bucket water level information 20 and the value of the timer 1212 in the CNT 1304-k and in the TS 1303-k as the water level in the bucket and the packet arrival time respectively right after the bandwidth monitoring (step 1425). [0112] If the bandwidth monitoring means 1120 of the present invention, when deciding a packet as �illegal�, updates the packet flow ID with a flow ID of a lower transfer priority level. The flow processing means 190-i (to be described later) transfers the packet flow of the priority level according to this flow ID to assure the communication quality of the packets decided as �legal�. [0113]FIG. 16 depicts a relationship among the flow entry 810-j of the CAM 702, the flow ID 1010-j of the address translation table 902, and the bandwidth monitoring control entry 1300-k of the bandwidth monitoring table 1230. The flow IDs 1010-1, 1010-2, and 1010-3 are used to bundle into one the three flows detected according to the flow entries 810-1, 810-2, and 810-3. The conventional technique shown in FIG. 15 does not use any address translation table 902, so it cannot monitor the bandwidth of a flow bundle consisting of a plurality of flows. [0114] Next, the router 100 of the present invention used as the edge router A202 shown in FIG. 2 is described. The edge router A202 monitors bandwidths of the packets transferred from both sites A210 and B220 at 10M bits/sec respectively. At this time, the edge router A202 specifies the flow entries 810-1 and 810-2 in which the identifiers �3� and �4� of the lines 206 and 207 shown in FIG. 2 are described in the input line number field 806-j respectively so as to identify the packet flow 1 inputted from the line 206 and the packet flow 2 inputted from the line 207 respectively. If the same flow ID value is written for the flow IDs 1010-1 and 1010-2, the flows 1 and 2 can be bundled into one. The edge router A202 thus specifies 1.25M (bytes/sec) (=10M bits/sec) for the POLR 1302-k of the bandwidth monitoring control entry 1300-k corresponding to this transfer capacity value. [0115]FIG. 27 depicts a relationship between the new flow ID 2207-j and the bandwidth monitoring control entry 1300-k written in the entry table 2150 of the flow detecting means 2100. The new flow ID 2207-1, the new flow ID 2207-2, and the new flow ID 2207-3 take the same value to bundle the three flows into one. By specifying the same value for the new flow IDs of a plurality of flows, bandwidth monitoring is done for a plurality of flows bundled into one. [0116] When the flow detecting means 600/2100 bundles a plurality of flows, the number of flow entries 810-j and the number of entries 2210-j to be specified becomes large such that the entries in the CAM 702 and the entry table 2150 run short of entries sometimes. To avoid such a problem, the flow detecting means 600 (as an example) in which only the packets whose SPORT numbers are �8�, �11�, �20�, and �25� among those sent out from the sites A210 and B220 are transferred. At this time, it is required to specify the number of 4 (the number of SPORT conditions)�2(the number of sites) flow entries 810-j shown in FIG. 31 in the CAM 702. Similarly, it is required to specify 8 entries 2210-j in the entry table 2150. The number of entries for describing flow conditions is resulting from a multiplication of the number of sites by the number of SPORT conditions such that the number of entries in the CAM 702 and in the entry table 2150 run short sometimes. [0117]FIG. 32 shows the flow detecting means 3200 for easing such a shortage of entries. The flow detecting means 3200 is provided with a pre-stage flow detecting means 3210-1 and a post-stage flow detecting means 3210-2. The configuration and operation of the flow detecting means 3200 are the same as those of the flow detecting means 600/2100. The pre-stage flow detecting means 3210-1, when receiving the packet header information 11, detects a packet flow similarly to the flow detecting means 600/2100 to detect the flow ID and sends the flow ID information 29 to the object device. The new packet header information sending means 3220 rewrites the flow ID 334 written in the packet header information 11 as the value of the flow ID information 29, then sends the value to the object device as packet header information 30. The post-stage flow detecting means 3210-2 detects a packet flow from the packet header information 30, then sends the flow ID information 12 to the flow ID information distributing means 630. [0118]FIGS. 33 and 34 show examples of table specification in the above case. FIG. 33 shows the CAM 3211-1 and the address translation table 3212-1 located in the pre-stage flow detecting means 3210-1 and FIG. 34 shows the CAM 3211-2 and the address translation table 3212-2 located in the post-stage flow detecting means 3210-2. The CAM 3211-1 located in the pre-stage flow detecting means 3210-1 detects packets received from the sites A210 and B220, and the flow IDs of those packet flows are bundled into �1� in the address translation table. The CAM 3211-2 located in the second flow detecting means 3210-2 assigns a flow ID=2 for the packets that satisfy the SPORT condition among those with a flow ID=1. The sum of the entries in both flow entries 3211-1-j and 3211-2-j in the flow detecting means 3200 becomes 4+2 (the number of sites). Such way, the number of entries becomes the sum of the sites and the SPORT (source port) conditions. In the case where a plurality of flows are bundled into one and a flow ID is decided for each bundle of flows under another condition (SPORT in the above example). As such, the flow detecting means 3200 of the present invention reduces the number of entries. [0119]FIG. 39 shows an input screen of the management terminal 170 on which flow conditions and flow IDs corresponding to the flow conditions are to be inputted. The first and second lines are commands Preflow 1 and Preflow 2 used to specify flow conditions for the pre-stage flow detecting means 3210-1 and a packet flow ID matching with those flow conditions. The first line command Preflow 1 indicates that a new flow ID �1� is assigned to packets having �any (matching regardless of the specified value)� written in the fields of SIP, DIP, SPORT, DPORT, and flow ID and �3� written in the input line number (inport) field. Similarly, the second line command Preflow 2 indicates that a new flow ID �1� is assigned to packets having �4� written in the input line number (inport) field. [0120] The third to sixth lines are commands Afterflow 1 to 4 used to set flow conditions for the pre-stage flow detecting means 3210-2 and a flow ID for packets matching with those flow conditions. The third line command Afterflow 1 indicates that a new flow ID �2� is assigned to packets in which �any (matching regardless of the set value)� is written for items of SIP, DIP, DPORT, and input line number (inport) and �1� is written for the flow ID, and �8� is written for SPORT. The commands on the fourth to sixth lines indicate that a new flow ID �2� is assigned to packets in which �1� is written for the flow ID and �11�, �20�, and �25� are written for the SPORT respectively. [0121] When those commands are inputted to the management terminal 170, the values shown in FIGS. 33 and 34 are written in the CAM 702 and in the address translation table 902 of the flow detecting means 600. [0122] Next, how the statistical information collecting means 1130 collects statistical information is described with reference to FIGS. 17 and 18. FIG. 17 shows a block diagram of the statistical information collecting means 1130. The statistical information collecting means 1130 is composed of a statistical information table 1701 for storing statistical information, a statistical information table controlling means 1702, and a packet length storage means 1703. FIG. 18 shows a format of the statistical information table 1701. The table 1701 has fields of byte counter 1811-k (k=1 to L) indicating a sum of the byte lengths of packets inputted to the flow processing means 160-i and statistical entry 1810-k for storing the value of the packet counter 1812-k thereby indicating the number of packets with respect to each flow ID. [0123] The statistical information collecting means 1130, when receiving the packet length information 17 from the flow ID information sending means 1110, stores the packet length 331 in the packet length storage means 1703. The statistical information table controlling means 1702 assumes the flow ID information 16 as a read address to read the statistical entry 1810-k from the statistical information table 1701. The statistical information table controlling means 1702 adds the packet length read from the packet length storage means 1703 to the value of the byte counter 1811-k and adds �1� to the value of the packet counter 1812-k, then writes back the result in the read address of the statistical information table 1701. [0124] The management terminal 170 reads the statistical entry 1810-k from the statistical information table 1701 via the statistical information table controlling means 1702. After sending a read command and a read address of the statistical information table 1701 to the statistical information table controlling means 1702, the statistical information table controlling means 1702 reads the statistical entry 1810-k corresponding to the read address and sends the read entry to the management terminal 170. [0125] The use of the flow detecting means 600/2100/3200 makes it possible to collect statistical information from a plurality of flows at the same time just like the above described bandwidth monitoring. [0126] Next, how the filtering means 1140 filters packets is described with reference to FIGS. 19 and 20. FIG. 19 shows a block diagram of the filtering means 1140. The filtering means 1140 is composed of a filtering table 1901 and a filtering table controlling means 1902. FIG. 20 shows a format of the filtering table 1901. The filtering table 1901 has filtering entries 2010-k, each consisting of filtering information 2011-k (k=1 to L) for indicating pass/discard corresponding to each flow ID. [0127] The filtering means 1140, when receiving the flow ID information 16 from the flow ID information sending means 1110, uses the information as a read address to read a filtering entry 2010-k from the filtering table 1901. The filtering table controlling means 1902, when the filtering information 2011-k indicates �pass�, sends the �pass� filtering result information 19 to the packet reading means 1160. When the filtering result information 19 indicates �discard�, the controlling means 1902 sends the �discard� filtering result information 19 to the packet reading means 1160. [0128] The management terminal 170 then specifies the filtering entry 2010-k of the filtering table 1901 via the controlling means 1902. When the management terminal 170 sends a write command, a write address of the filtering table 1901, and write data to the controlling means 1902, the controlling means 1902 writes the data in the filtering entry 2010-k corresponding to the write address. [0129] The packet reading means 1160 shown in FIG. 11, when the filtering result information 19 indicates �pass� and the monitoring result information 18 indicates �legal�, reads packets from the packet storing means 1150 and sends the packets to the packet relaying means 110. When the monitoring result information 18 indicates �illegal�, the packet reading means 1160 overwrites the illegal flow ID information 28 on the value of the flow ID 334, then reads packets and sends the packets to the packet relaying means 110. When the information 19 indicates �discard�, the packet reading means 1160 suppresses sending of packets stored in the packet storage means 1150 to the packet relaying means 110. At this time, the packets stored in the packet storing means 1150 are overwritten by the packets arriving at the input line 101-i next time. Because the packet reading means 1160 discards packets decided to be �discard� by the filtering means 1140, the filtering is effectively conducted by the flow processing means 160-i. [0130] The sites A321 and C323 shown in FIG. 3 are networks belonging to the corporation A and the sites B322 and D324 are networks belonging to the corporation B. The sending/receiving packets between those corporations A and B is prevented as follows. The edge router A326 filters packet flows such that sending/receiving of packet flows is just enabled between the sites A321 and C323, as well as between the sites B322 and D324. Then, to pass packet flows from the corporation A, �pass� is set for the filtering result information when the SIP is set for the site A321 and the DIP is set for the site or the SIP is set for the site C323 and the DIP is set for the site A321. In addition, to pass the packets from the corporation B, �pass� is set for the filtering result information when the SIP is set for the site B322 and the DIP is set for the site D324 or the SIP is set for the D324 and the DIP is set for the site B322 is set respectively. In other cases, the necessary values may be set in the edge router A326 to enable �discard�. [0131] As described above, the number of flow detecting means does not increase even when the flow detecting means 600/2100/3200 located in the header processing means 120 assigns a unique flow ID in the router 100 for each flow or each flow bundle and the flow processing means 160-i performs bandwidth monitoring, statistical information collecting, and filtering according to the unique flow ID. Consequently, the router 100 of the present invention never increase the number of flow detecting means even when the number of flow processings increases. [0132] Next, the operation of the flow processing means 190-i is described in detail with reference to FIGS. 24 through 26. The flow processing means 190-i performs priority-based transferring and statistical information collecting according to the flow ID 334. Regarding the priority-based transferring, non-priority packets is discarded to assure the communication quality of priority packets. [0133]FIG. 24 shows a block diagram of the flow processing means 190-i. The stored packet counter 2460 counts the number of packets stored in the sending side buffer 130-i. The priority packet threshold storage means 2470 and the non-priority packet threshold storage means 2480 store the number of priority packets and the number of non-priority packets to be stored in the sending side buffer 130-i, i.e., priority packet threshold value 26 and the non-priority packet threshold value 27 respectively. The priority packet threshold value 26 is no less than the non-priority packet threshold value 27. The stored packet counter 2460 is reset to �0� when the router 100 is powered and when the priority packet threshold value 26 and the non-priority packet threshold value 27 are specified from the management terminal 170. When the packet reading means 2430 sends a packet to the sending side buffer 130-i, the counter increases its value by �1�. When the sending circuit 140-i receives a packet sending start signal 22-i issued to the sending buffer 130-i, the counter decreases its value by ��. [0134] The flow ID information sending means 2410, when receiving a packet from the packet relaying means 110, sends the flow ID 334 to the transfer priority deciding means 2440 and the statistical information collecting means 2490 as flow ID information 23, the packet length 331 to the statistical information collecting means 2490 as packet length information 32, and the packet to the packet storing means 2450 respectively. The packet storing means 2450 stores the packet. FIG. 25 shows a block diagram of the transfer priority deciding means 2440. The transfer priority deciding means 2440 is composed of a transfer priority table 2502 and a transfer priority controlling means 2501. FIG. 26 shows a format of the transfer priority table 2502. The transfer priority table 2502 is composed of a plurality of transfer priority information 2610-k (k=1 to L), each describing the respective transfer priority as �priority� or �non-priority� for each packet. [0135] The transfer priority controlling means 2501, when receiving the flow ID information 23, sends the information as a read address to the transfer priority table 2502 to read the transfer priority 2610-k from the table 2502. In addition, the transfer priority controlling means 2501 sends the read value to the discarding deciding means 2420 as transfer priority information 24. [0136] The discarding deciding means 2420, when receiving the transfer priority information 24, decides whether to discard a packet stored in the packet storing means 2450 according to the sending side buffer stored packet information 25, the priority packet threshold value 26, and the non-priority packet threshold value 27 stored in the stored packet counter 2460 respectively. [0137] When the transfer priority information 24 indicates �priority�, �store� is decided in the sending side buffer 130-i if the priority packet threshold value 26 is larger than the sending side buffer stored information 25. The discarding deciding means 2420 thus sends a packet read signal 31 to the packet reading means 2430. When priority packet threshold value 26 is no larger than the sending side buffer storing information 25, the discarding deciding means 2420 decides �discard�, suppresses any sending of the packet read signal 31, and sends a packet discard signal 33. The statistical information collecting means 2490 uses this signal 33 to collect statistical information. When the transfer priority information 24 indicates �non-priority�, the discarding deciding means 2420 uses the non-priority packet threshold value 27 instead of the priority packet threshold value 26 to perform the similar processing. In other words, the discarding deciding means 2420 sends a packet read signal 31 when non-priority packet threshold value 27 is larger than the sending side buffer storing information 25. When non-priority packet threshold value 27 is no larger than the sending side buffer storing information 25, the discarding deciding means 2420 suppresses any sending of the signal 31 and sends a packet discard signal 33 to the packet reading means 2430. Receiving the packet read signal 31, the packet reading means 2430 reads the packet from the packet storing means 2450, sends the packet to the sending side buffer 130-i, and notifies the stored packet counter 2460 of the packet reading. [0138] The statistical information collecting means 2490 of the flow processing means 190-i counts the number of bytes in each discarded packet and the number of discarded packets (decided as �discard� by the discarding deciding means 2420). FIG. 29 shows a block diagram of the statistical information collecting means 2490. The statistical information collecting means 2490 is the same as the statistical information collecting means 1130 of the flow processing means 160-i except that the statistical information table controlling means 1702 is replaced with the statistical information table controlling means 2902. [0139] The statistical information collecting means 2490, when receiving the packet length information 32, stores the packet length 331 in the packet length storage means 1703. The statistical information table controlling means 2902, only when receiving a packet discard signal 33, uses the flow ID information 16 as a read address to read the statistical entry 1810-k from the statistical information table 1701. The statistical information table controlling means 2902 adds the packet length read from the packet length storage means 1703 to the value of the read value of the byte counter 1811-k and adds �1� to the value of the packet counter 1812-k respectively, then writes back the result in the read address in the statistical information table 1701. [0140] The flow detecting means 600/2100/3200 of the header processing means 120 assigns a unique flow ID in the router 100 to each flow or flow bundle, and the flow processing means 190-i performs priority-based transferring and statistical information collecting according to the flow ID such that the number of flow detecting means does not increase even when the number of flow processings increases. [0141]FIG. 36 shows an input screen of the management terminal 170 on which a transfer priority information corresponding to each flow ID is inputted. Each line displayed on the screen indicates a command Priority for setting a transfer priority level for each flow ID. The commands on the first and third lines specify �non-priority� as the transfer priority for packets having the flow ID �4� or �5� respectively, and the command on the second line sets �priority� as the transfer priority for packets having the flow ID �3�. When the commands are inputted to the management terminal 170, the values shown in FIG. 40 are written in the transfer priority table 2502. [0142] The use of the router of the present invention as an edge router enables the backbone router to omit the flow detecting means. Even when the backbone router uses flow detecting means, the flow detecting means will not lower the throughput of the whole network. [0143] According to the router of the present invention, therefore, the number of flow detecting means does not increase even when the number of flow processings to be performed increases. [0144] Furthermore, the router of the present invention can perform bandwidth monitoring and statistical information collecting for each flow bundle consisting of a plurality of flows. [0145] The principles, preferred embodiments and modes of operation of the present invention have been described in the foregoing specification. However, the invention which is intended to be protected is not limited to the particular embodiments disclosed. The embodiments described herein are illustrative rather than restrictive. Variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present invention. Accordingly, it is expressly intended that all such variations, changes and equivalents which fall within the spirit and scope of the present invention as defined in the claims, be embraced thereby. Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7012890 *Dec 14, 2001Mar 14, 2006Hitachi, Ltd.Packet forwarding apparatus with packet controlling functionsUS7031313 *Feb 8, 2002Apr 18, 2006Hitachi, Ltd.Packet transfer apparatus with the function of flow detection and flow management methodUS7154849Jan 19, 2006Dec 26, 2006Hitachi, Ltd.Packet forwarding apparatus with packet controlling functionsUS7522602 *Feb 15, 2006Apr 21, 2009Hitachi, Ltd.Packet transfer apparatus with the function of flow detection and flow management methodUS7525919Aug 27, 2004Apr 28, 2009Nippon Telegraph And Telephone CorporationPacket communication method with increased traffic engineering efficiencyUS7653062Dec 11, 2006Jan 26, 2010Hitachi, Ltd.Packet forwarding apparatus with packet controlling functionsUS7664088 *Dec 7, 2006Feb 16, 2010Electronics And Telecommunications Research InstituteMethod for providing QoS using flow label in providing multimedia service in IPv6 network and system applying the sameUS7743166 *Sep 30, 2003Jun 22, 2010Ellacoya Networks, Inc.Scaleable flow-based application and subscriber traffic controlUS7756137Mar 22, 2004Jul 13, 2010Ntt Docomo, Inc.Method of controlling QoS in IP network using router control and multi-path routingUS7830790Jan 16, 2004Nov 9, 2010France TelecomMethod for selecting packets in a data transmission networkUS8135028Oct 1, 2009Mar 13, 2012Cisco Technology, Inc.Neighbor discovery in cable networksUS8140690 *Dec 9, 2008Mar 20, 2012Riverbed Technology, Inc.Connection forwardingUS8149833 *May 24, 2005Apr 3, 2012Cisco Technology, Inc.Wideband cable downstream protocolUS8160062Feb 5, 2007Apr 17, 2012Microsoft CorporationNetwork connectivity determination based on passive analysis of connection-oriented path informationUS8160093Mar 30, 2009Apr 17, 2012Cisco Technology, Inc.Timing system for modular cable modem termination systemUS8265072Aug 22, 2005Sep 11, 2012Hitachi, Ltd.Frame switching deviceUS8321584Sep 30, 2003Nov 27, 2012Ellacoya Networks, Inc.Method and apparatus for offering preferred transport within a broadband subscriber networkUS8451722 *Aug 29, 2005May 28, 2013Alaxa Networks CorporationData transfer apparatusUS8477653Aug 15, 2007Jul 2, 2013Telefonaktiebolaget L M Ericsson (Publ)Monitoring individual data flow performanceUS8553704Mar 30, 2009Oct 8, 2013Cisco Technology, Inc.Wideband upstream protocolUS8555013 *Jun 22, 2005Oct 8, 2013Oracle America, Inc.Method and system for memory protection by processor carrier based access controlEP1463248A2 *Mar 24, 2004Sep 29, 2004NTT DoCoMo, Inc.Method of controlling Qos in IP networkEP1471686A2 *Apr 26, 2004Oct 27, 2004Alcatel IP Networks, Inc.Optimizing use of statistics countersEP1662722A1 *Aug 27, 2004May 31, 2006Nippon Telegraph and Telephone CorporationPacket communication methodEP1783969A1 *Mar 24, 2004May 9, 2007NTT DoCoMo, Inc.Method of controlling QoS in IP network using router control and multi-path routingEP1944918A1 *Jul 11, 2006Jul 16, 2008Huawei Technologies Co., Ltd.A method and system for realizing the consistency of the virtual circuit statusWO2005022850A1Aug 27, 2004Mar 10, 2005Masaki KanedaPacket communication methodWO2005079019A1 *Jan 16, 2004Aug 25, 2005France TelecomMethod and system for selecting packets according to volume transmitted by connection* Cited by examinerClassifications U.S. Classification370/389International ClassificationH04L12/26, H04L29/06, H04L12/24, H04L12/56Cooperative ClassificationH04L43/0894, H04L47/2441, H04L47/2433, H04L41/5022, H04L29/06, H04L45/7453, H04L45/00, H04L47/10, H04L47/20, H04L43/026, H04L69/22European ClassificationH04L47/24D, H04L45/00, H04L43/02B, H04L47/20, H04L41/50B1, H04L47/24C1, H04L41/14A, H04L47/10, H04L45/7453, H04L29/06Legal EventsDateCodeEventDescriptionJul 10, 2012FPExpired due to failure to pay maintenance feeEffective date: 20120520May 20, 2012LAPSLapse for failure to pay maintenance feesJan 2, 2012REMIMaintenance fee reminder mailedSep 10, 2002ASAssignmentOwner name: HITACHI, LTD., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAZAKI, TAKEKI;KANADA, YASUSI;REEL/FRAME:013278/0156;SIGNING DATES FROM 20020725 TO 20020813RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google