Title of Invention

A METHOD FOR MANAGING DATA PACKET BUFFER LEAKS IN A NETWORK PROCESSOR BASED SYSTEM WHEN LOGICAL PORT QUEUES ARE BEING SHUTDOWN

Abstract The present invention proposes a method to avoid packet buffer leaks for logical port queues in a network processor based system. It provides a solution to handle packet scheduling for queues in a logical port by which administratively disabled queues will be marked as transient and all the packets in those queues will be freed. Accordingly the present invention avoids buffer leaks caused due to dynamic shut down of the queues of logical ports in the system and thereby improving the performance of the system.
Full Text FIELD OF THE INVENTION
The present invention, in general, relates to the field of network applications. Particularly, the present invention relates to packet scheduling for logical port queues in a network processor based packet forwarding system that supports logical ports. More particularly, the present invention relates to a method to avoid packet buffer leaks for logical port queues in a network processor based system.
DESCRIPTION OF THE RELATED ART
A Network Processor is an integrated circuit (IC), which can be programmed to meet the requirements in networking application domain. Network processor based systems are being used predominantly for hardware realization of feature rich communication products. A logical port in a network processor based packet forwarding system is an administratively managed port such as a Virtual Local Area Network (VLAN) interface or a Point to Point Protocol (PPP) multilink bundle. A logical port can have multiple queues to support Quality of Service (QoS). A logical port can be created, modified, or shut down at any point of time by the administrator. The packets of logical port are eventually transmitted on the corresponding physical port.
Figure 1 depicts a network based packet forwarding system that supports logical ports. As shown
• Packets are sent through the network processor based system and will be processed
• After the packets are processed, the output (destination) port for the packet is decided. This output port can be a physical or logical port.
• Packets are packed into packet buffers and are queued into the queues of the output port
• The packet scheduler will schedule these packets for transmission
• The packet transmitter will transmit the packets and empty the packet buffers
Now, Figure 2 will detail the problem encountered in an existing network based packet forwarding system that supports logical ports.
• When the administrator decides to bring down a queue of a logical port or the complete logical port itself, the administrator sends the message to the data plane.
• At this time, no more packets will be enqueued by the packet processing block and no more packets will be scheduled by the scheduling block.
• This leads to the packet buffers enqueued in the queues of the logical port getting stranded.
• The packet buffers are a system resource and their unavailability affects the system performance in an adverse manner.
• If one queue is shut down in this manner, the packet buffers in that queue will be affected. If the port itself gets shut down, all the packet buffers in all the queues will be affected.
LIMITATIONS
The standard architecture of data plane proposes the following challenges in the aspect of packet scheduling for logical ports, where the packet scheduler needs to decide the actual physical port on which the packet has to be transmitted.
• if the mapping between logical port and physical port is removed dynamically by the administrator, in the run time, it results in ail the packet buffers getting enqueued in the queues of the logical port and it getting stranded. This can cause a system wide packet buffer exhaustion, eventually leading to system halt.
• Similarly, the specific queues of a logical port can be brought down by the administrator at any point of time. This requires disabling certain classes of service or shutting down the logical port itself.
• When the queues of the logical port are shut down, no packets can be sent out of the port. This will result in packets getting stranded in the queues. This situation can also make a lot of packet buffers unavailable, thereby affecting system performance
• Also, if the logical port or its queues are re-enabled at a later point of time, the system will be sending outdated packets.
In the light of the above mentioned drawbacks in the existing technology, the applicant's invention is herein presented. The present invention proposes a method to avoid packet buffer leaks for logical port queues in a network processor based system. The present invention also provides a method wherein, when queues of the logical ports gets shut down, the packet buffers currently enqueued in those queues will be freed explicitly, thereby avoiding any memory leaks in the system.
SUMMARY OF THE INVENTION
It is therefore the primary object of the invention to provide a method for packet scheduling for logical port queues in the network processor based packet forwarding system.
It is another object of the invention to avoid any buffer leaks that might be caused due to dynamic shut down of the queues of logical ports in the system by the administrator.
It is yet another object of the invention to prevent any transmission of stale packets from happening when the logical port is re-enabled after a shutdown.
It is a further object of the invention not to let the system efficiency suffer owing to a logical port/queue shutdown by the administrator.
Accordingly, the present invention proposes a method to avoid packet buffer leaks for logical port queues in a network processor based system, in the event of a logical port queue or the logical port as such being shutdown by the administrator, the method comprising,
• Marking the logical port queue being shutdown as transient by the packet scheduler or marking the entire queues of a logical port as transient if it is the logical port itself being shut down.
• Checking if the queues are marked transient by the packet scheduler, post scheduling the packets.
• Freeing the packets and adding them to the system's buffer free pool if the queues are marked transient.
• Disabling the queue from further scheduling.
These and other objects, features and advantages of the present invention will become more apparent from the ensuing detailed description of the present invention taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
Figure 1 depicts a network based packet forwarding system that supports logical ports
Figure 2 depicts the problem encountered in an existing network based packet
forwarding system that supports logical ports. Figure 3 depicts the operation of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiments of the present invention will now be explained with reference to the accompanying drawings. It should be understood however that the disclosed embodiments are merely exemplary of the invention, which may be embodied in various forms. The following description and drawings are not to be construed as limiting the invention and numerous specific details are described to provide a thorough understanding of the present invention, as the basis for the claims and as a basis for teaching one skilled in the art how to make and/or use the invention. However in certain instances, well-known or conventional details are riot described in order not to unnecessarily obscure the present invention in detail.
The present invention provides a method to avoid packet buffer leaks for logical port queues in a network processor based system. The present invention further provides a method wherein, when queues of the logical ports gets shut down, the packet buffers currently enqueued in those queues will be freed explicitly, in order to avoid any memory leaks in the system. According to the present invention,
• Whenever a queue of a logical port is shut down, it is marked as transient by the packet scheduler.
• if the logical port itself is shut down, all the queues of that logical port are marked as transient by the packet scheduler.
• Packet scheduler schedules the packets in these transient queues just like normal queues
• After scheduling the packets, the packet scheduler checks if the queue is marked as transient or not.
• If the queue is not marked as transient, it sends the packets for transmission
• On the other hand, if the queue is marked as transient, the packets will be freed and added to the system's buffer free pool
• Once the packets in the transient queue are freed, the queue will be removed from future scheduling
Figure 3 depicts the operation of the present invention
• When the administrator shuts down specific queues of the logical port, the packet scheduler block will mark the queue as transient. In case the logical port itself is shut down, it will mark all the queues of that port as transient.
• The transient queues will be scheduled as if they are normal queues. After scheduling the packets from this queue, instead of sending the packets to the packet transmit block, the packets will be freed and added to the buffer free pool in the system.
• After all the packets in the queue are freed, the queue will be disabled for further scheduling.
The present invention has the following advantages
• The said method avoids any buffer leaks caused due to dynamic shut down of the queues of logical ports in the system by the administrator
• Further it avoids transmission of stale packets when a logical port is re- enabled.
Although, the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications are possible and are apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims unless they depart there from.
GLOSSARY OF TERMS AND DEFINITIONS THEREOF Network Processor
A Network Processor is an integrated circuit which has a feature set specifically targeted at the networking application domain. Network Processors are typically software programmable devices and would have generic characteristics similar to general purpose CPUs that are commonly used in many different types of equipments and products.
Logical Port
A logical port is an administratively managed port such as a VLAN interface or a PPP multilink bundle. A logical port can have multiple queues to support QoS. A logical port can be created, modified or shut down at any point of time by the administrator.
Packet Scheduler
A function at the network protocol level that allocates bandwidth to competing online connections. Residing in the transmitting machine, it determines how many packets are handed to each connection (each flow) at a given time. A packet scheduler makes its determinations by observing the packet flows from the applications or by request from a quality of service (QoS) protocol such as Resource Reservation Protocol (RSVP) or Diffserv.









We Claim
1. A method to avoid packet buffer leaks for logical port queues in a network processor based system, in the event of a logical port queue or the port as such being shutdown by the administrator, the method comprising,
• Marking the logical port queue being shutdown as transient by the packet scheduler, or marking the entire queues of a logical port as transient if it is the logical port itself being shut down
• Checking if the queues are marked transient by the packet scheduler, post scheduling the packets
• Freeing the packets and adding them to the system's buffer free pool if the queues are marked transient
• Disabling the queue from further scheduling.
2. The method as claimed in claim 1, wherein the packet scheduler schedules the packets irrespective of whether they are marked transient or not.
3. The method as claimed in claim 1, wherein the packets are sent for transmission if they are found to be not marked transient.
4. The method as claimed in claim 1, wherein the administrator can shutdown a logical port/queue remotely.
5. A method to avoid packet buffer leaks for logical port queues in a network processor based system, in the event of a logical port queue or
the port as such being shutdown by the administrator, substantially as herein described with reference to the accompanying drawings.

Documents:

2468-CHE-2006 AMENDED PAGES OF SPECIFICATION 04-06-2013.pdf

2468-CHE-2006 AMENDED CLAIMS 04-06-2013.pdf

2468-CHE-2006 EXAMINATION REPORT REPLY RECEIVED 04-06-2013.pdf

2468-CHE-2006 FORM-1 04-06-2013.pdf

2468-CHE-2006 FORM-13 04-06-2013.pdf

2468-CHE-2006 POWER OF ATTORNEY 04-06-2013.pdf

2468-CHE-2006 ABSTRACT.pdf

2468-CHE-2006 CLAIMS.pdf

2468-CHE-2006 CORRESPONDENCE OTHERS.pdf

2468-CHE-2006 DESCRIPTION (COMPLETE).pdf

2468-CHE-2006 DRAWINGS.pdf

2468-CHE-2006 FORM 1.pdf

2468-CHE-2006 FORM 18.pdf

2468-CHE-2006 FORM 5.pdf

2468-che-2006-correspondnece-others.pdf

2468-che-2006-description(provisional).pdf

2468-che-2006-drawings.pdf

2468-che-2006-form 1.pdf

2468-che-2006-form 26.pdf


Patent Number 256729
Indian Patent Application Number 2468/CHE/2006
PG Journal Number 30/2013
Publication Date 26-Jul-2013
Grant Date 23-Jul-2013
Date of Filing 29-Dec-2006
Name of Patentee SAMSUNG INDIA SOFTWARE OPERATIONS PRIVATE LIMITED
Applicant Address BAGMANE LAKEVIEW, BLOCK 'B', NO 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE-560 093.
Inventors:
# Inventor's Name Inventor's Address
1 NIMMAGADDA SURYA CHANDRA SEKHAR EMPLOYED AT SAMSUNG INDIA SOFTWARE OPERATIONS PVT LTD, HAVING ITS OFFICE AT BAGMANE LAKEVIEW, BLOCK 'B', NO 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE-560 093.
PCT International Classification Number H04L12/56
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA