Field of the Invention
This invention relates generally to data network and more particularly to a data network being programmed using downloadable network applications.
Description of the Related Art
In a typical network deployment scenario, a company, such as a service provider or a corporation, constructs a data network by purchasing or leasing one or more network devices, connecting the one or more network devices with each other and to servers and gateways, and configuring the devices to reflect the network design. Although the data network is controlled and operated by the company, the company relies exclusively on the equipment vendor to provide functionality to the network devices. When the company purchases a personal computer or a server computer, the company can purchase or develop application software and download the software onto the computers. This kind of application software is typically not supplied by the computer manufacturers. With this application software, the company can design the computing environment to fit their business needs. However, the company cannot do so on their network devices.
It should be apparent from the foregoing that there is a need to provide a method to operate a downloadable network application on a network device in order to embed multiple functionality into a single network device.
This summary is provided to introduce a selection of concepts in a simplified form that are further described in the Detailed Description below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
According to some embodiments, the present technology is directed to a network controller performing a method for processing a chain of network applications. The network controller may comprise a fast path module for processing data packets, wherein the fast path module: receives a service request data packet from a client side session between a client and the network controller; determines if at least one network address of the service request data packet matches a session context in a session table; in response to determining there is no match, determines if the at least one network address of the service request data packet matches a service entry in a service table, the service table comprising an indication to apply a network application chain order, the network application chain order indicating a configuration to apply a plurality of network applications; creates a session context to store the service request data packet, the service request data packet comprising an association of the service request data packet to the network application chain order; sends the service request data packet and the session context to the first indicated network application; receives the service request data packet and the session context modified by the first indicated network application; sends the modified service request data packet and modified session context to the second indicated network application; and receives the modified service request data packet and modified session context further modified by the second indicated network application.
Embodiments are illustrated by way of example and not by limitation in the figures of the accompanying drawings, in which like references indicate similar elements.
The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with example embodiments. These example embodiments, which are also referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the present subject matter. The embodiments can be combined, other embodiments can be utilized, or structural, logical, and electrical changes can be made without departing from the scope of what is claimed. The following detailed description is therefore not to be taken in a limiting sense, and the scope is defined by the appended claims and their equivalents.
In some embodiments, data network 500 includes an Ethernet network, an ATM network, a cellular network, a wireless network, a Frame Relay network, an optical network, an IP network, or any data communication network utilizing other physical layer, link layer capability, or network layer to carry data packets.
In particular embodiments, network applications 551 and 553 are downloaded onto servicing node 501 through a network application store 701.
In some embodiments, session context 565 indicates a modification to a payload of data packet 142, and fast path 559 modifies payload of data packet 142 accordingly. For example, fast path 559 may substitute one pattern in the payload, such as addresses to application payload, by another pattern where both patterns are stored in session context 565. Additional exemplary embodiments include fast path 559 substitutes one network address in the payload by another network address where both network addresses are specified in session context 565; fast path 559 inserts a piece of data, specified in session context 565, into data packet 142; and fast path 559 searches and removes a pattern in the payload where the pattern is specified in session context 565. In some embodiments, session context 565 indicates sending data packet 142 to network application 551, and fast path 559 sends data packet 142 to network application 551 for processing. In another embodiment, fast path 559 receives a modified data packet 142 from network application 551 after network application 551 processes data packet 142. In various embodiments, session context 565 indicates one or more aforementioned actions to apply to data packet 142, fast path 559 applies the indicated one or more actions to data packet 142, and fast path 559 sends modified data packet 142 to server 201, after applying the indicated one or more actions.
In particular embodiments, fast path 559 determines there is no matching session context with data packet 142. Fast path 559 matches one or more network addresses of data packet 142 to a service table 543 to determine a match with a service entry 563 of service table 543. Service entry 563 may include an indication or reference to network application 551. In some embodiments, network application 551 is configured to service entry 563 to indicate network application 551 provides services to one or more network addresses matching service entry 563. In various embodiments, fast path 559 creates a session context 567 and stores session context 567 into session table 547. Alternately, fast path 559 can store one or more network addresses of data packet 142 into session context 567. Fast path 559 then sends data packet 142 and session context 567 to network application 551.
In particular embodiments, network application 551 receives session context 567 and data packet 142. Network application 551 processes data packet 142. In some embodiments, network application 551 determines session 140 and data packet 142 is to be serviced by server 201 and stores in session context 567 with a network address of server 201. In another embodiment, network application 551 determines a receiving or source network address to be used by fast path 559 in communicating with server 201 for data packet 142, and stores the receiving network address in session context 567. Additionally, network application 551 may modify data packet 142 payload, as a result of processing data packet 142. Furthermore, network application 551 may send possibly modified session context 567 and possibly modified data packet 142 to fast path 559. In some embodiments, fast path 559 stores modified session context 565 into session table 547, upon receiving data packet 142 and session context 565 from network application 551. In some embodiments, fast path 559 stores modified session context 567 into session table 547. In another embodiment, network application 551 further modifies data packet 142 according to the one or more network addresses of modified session context 567, and sends modified data packet 142 to server 201, according to the network address of server 201 in session context 567.
In some embodiment, network application 551 sets an indication in session context 567 to send receiving data packets to network application 551. In another embodiment, network application 551 sets the indication to indicate the receiving data packets are from client 101 or from server 201 or from both client 101 and server 201.
In various embodiments, data packet 143 is sent from server 201 and is received by fast path 559. Fast path 559 matches one or more network addresses of data packet 143 against session table 547 to determine a matching session context 567. In some embodiments, fast path 559 modifies data packet 143 by replacing one or more network addresses or payload of data packet 143, in accordance to session context 567. In particular embodiments, fast path 559 sends data packet 143 and session context 567 to network application 551 in accordance to an indication in session context 567. In some embodiments, fast path 559 receives a modified data packet 143 from network application 551. Fast path 559 may apply a plurality of actions to data packet 143 according to session context 567. In some embodiments, fast path 559 sends a modified data packet 143 to client device 101 after applying the plurality of actions to data packet 143.
Returning to the exemplary embodiment in
In some embodiments, client 101 sends data packet 142 of session 140 towards server 201, and servicing node 501 receives data packet 142. Fast path 559 examines data packet 142 matching network application chain 561 and sends data packet 142 to network application 551. When network application 551 sends data packet 142, possibly modified, back to fast path 559, fast path 559 sends the received data packet 142 to network application 553. In some embodiments, fast path 559 receives data packet 142, possibly further modified, from network application 553, fast path 559 sends data packet 142 to server 201.
In particular embodiments, server 201 sends data packet 143 of session 140 towards client 101 and servicing node 501 receives data packet 143. Fast path 559 examines data packet 143 matching network application chain 561 and sends data packet 143 to network application 553. When network application 553 sends data packet 143, possibly modified, back to fast path 559, fast path 559 sends the received data packet 143 to network application 551. In some embodiments, fast path 559 receives data packet 143, possibly further modified, from network application 551, fast path 559 sends data packet 143 to client 101.
In one embodiment, application chain 561 indicates network application 551 is applied before network application 553 for data packets of session 140 in either direction.
In some embodiments, client 101 sends data packet 142 of session 140 towards server 201 and servicing node 501 receives data packet 142. Fast path 559 examines data packet 142 matching network application chain 561 and sends data packet 142 to network application 551. When network application 551 sends data packet 142, possibly modified, back to fast path 559, fast path 559 sends the received data packet 142 to network application 553. In some embodiments, fast path 559 receives data packet 142, possibly further modified, from network application 553, fast path 559 sends data packet 142 to server 201.
In particular embodiments, server 201 sends data packet 143 of session 140 towards client 101 and servicing node 501 receives data packet 143. Fast path 559 examines data packet 143 matching network application chain 561 and sends data packet 143 to network application 551. When network application 551 sends data packet 143, possibly modified, back to fast path 559, fast path 559 sends the received data packet 143 to network application 553. In one embodiment, fast path 559 receives data packet 143, possibly further modified, from network application 553, fast path 559 sends data packet 143 to client 101.
Referring to
In particular embodiments, client device 101 is a computing device connected to data network 500 using a network module of client device 101. Client device 101 can be a personal computer, a laptop computer, a tablet, a smartphone, a mobile phone, an Internet phone, a netbook, a home gateway, a broadband gateway, a network appliance, a set top box, a media server, a personal media play, a personal digital assistant, an access gateway, a networking switch, a server computer, a network storage computer, or any computing device comprising a network module and a processor module.
In various embodiments, server device 201 is a server computer connected to data network 500 using a network module of the server computer. Server device 201 serves application service session 140 requested by client device 101. In some embodiments, application service session 140 includes a HTTP session, a file transfer session, a FTP session, a voice over IP session, a SIP session, a video or audio streaming session, a e-commerce session, an enterprise application session, an email session, an online gaming session, a teleconference session, or a Web-based communication session.
In particular embodiments, network application store server 701 includes a server computer connected to data network 500 using a network module of the server computer. In one embodiment, network application store server 701 includes a storage storing a plurality of network applications. In some embodiments, network application store server 701 communicates and transfers a network application to servicing node 501 using a HTTP session, a file transfer session, a FTP session, a SIP session, an e-commerce session, an enterprise application session, an email session, a file sharing session, or a Web-based communication session.
In some embodiments, fast path 559 receives a data packet 143 of session 140 from server 201. Fast path 559 matches one or more network addresses of data packet 143 to session context 568 in session table 547. Fast path 559, according to the association of application chain 561 in session context 568 and determining data packet 143 is received from server 201, sends session context 568 and data packet 143 to network application 551. In particular embodiments, network application 551 modifies data packet 143 and sends modified data packet 143 to fast path 559. Fast path 559, according to application chain 561, sends modified data packet 143 to network application 553. In another embodiment, network application 553 processes and further modifies data packet 143, and sends the modified data packet 143 to fast path 559. In some embodiments, fast path 559 determines, according to application chain 561, there is no other network application to be applied, processes the modified data packet 143, and sends the modified data packet 143 to client 101. In another embodiment, fast path 559 modifies one or more network addresses of data packet 143 prior to sending to client 101.
In various embodiments, application chain 561 indicates the order list is to be applied in reverse order for data packet 143 from server 201, fast path 559 applies the reverse order by sending data packet 143 to network application 553 and then to network application 551, and sends the modified data packet 143 to client 101.
In some embodiments, fast path 559 receives a data packet 144 of session 140 from client 101, after processing data packet 142 and session context 568. Fast path 559 matches one or more network addresses of data packet 144 to session context 568 in session table 547. Fast path 559, according to the association of application chain 561 in session context 568 and determining data packet 144 is received from client 101, sends session context 568 and data packet 144 to network application 551. In some embodiments, network application 551 modifies data packet 144 and sends modified data packet 144 to fast path 559. Fast path 559, according to application chain 561, sends modified data packet 144 to network application 553. In particular embodiments, network application 553 processes and further modifies data packet 144, and sends the modified data packet 144 to fast path 559. If fast path 559 determines, according to application chain 561, that there is no other network application to be applied, fast path 559 processes the modified data packet 144 and sends the modified data packet 144 to client 101. In some embodiments, fast path 559 modifies one or more network addresses of data packet 144 prior to sending to client 101.
In some embodiments, fast path 559 updates session context 568 in session table 547 whenever there is a change to session context 568 made by network application 551 or network application 553.
In particular embodiments, both network applications 551 and 553 modify session context 568, and fast path 559 stores both modifications in session context 568. In some embodiments, session context 568 includes a list of session context values where the list has an order similar to the order in application chain 561. In another embodiment, network application 551 or 553 modifies the corresponding session context values in the session context 568 list.
In various embodiments, servicing node 501 creates a service entry 569 for network application 551, where servicing node 501 includes one or more network addresses into service entry 569. Usages of the one or more network addresses in service entry were explained in multiple aforementioned embodiments in this invention. In one embodiment, servicing node 501 stores service entry 569 into service table 543.
The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents. While the present invention has been described in connection with a series of embodiments, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. It will be further understood that the methods of the invention are not necessarily limited to the discrete steps or the order of the steps described. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art.
Number | Name | Date | Kind |
---|---|---|---|
4475192 | Fernow et al. | Oct 1984 | A |
5042032 | Dighe et al. | Aug 1991 | A |
5732041 | Joffe | Mar 1998 | A |
5774660 | Brendel et al. | Jun 1998 | A |
5822512 | Goodrum et al. | Oct 1998 | A |
5859835 | Varma et al. | Jan 1999 | A |
5862339 | Bonnaure et al. | Jan 1999 | A |
5875185 | Wang et al. | Feb 1999 | A |
5909686 | Muller et al. | Jun 1999 | A |
5935207 | Logue et al. | Aug 1999 | A |
5958053 | Denker | Sep 1999 | A |
5960174 | Dew | Sep 1999 | A |
6003069 | Cavill | Dec 1999 | A |
6047000 | Tsang et al. | Apr 2000 | A |
6047268 | Bartoli et al. | Apr 2000 | A |
6058116 | Hiscock et al. | May 2000 | A |
6075783 | Voit | Jun 2000 | A |
6118768 | Bhatia et al. | Sep 2000 | A |
6131163 | Wiegel | Oct 2000 | A |
6134217 | Stiliadis et al. | Oct 2000 | A |
6314501 | Gulick et al. | Nov 2001 | B1 |
6321338 | Porras et al. | Nov 2001 | B1 |
6359861 | Sui et al. | Mar 2002 | B1 |
6374300 | Masters | Apr 2002 | B2 |
6430156 | Park et al. | Aug 2002 | B1 |
6438134 | Chow et al. | Aug 2002 | B1 |
6456617 | Oda et al. | Sep 2002 | B1 |
6470016 | Kalkunte et al. | Oct 2002 | B1 |
6483600 | Schuster et al. | Nov 2002 | B1 |
6532213 | Chiussi et al. | Mar 2003 | B1 |
6532501 | McCracken | Mar 2003 | B1 |
6535516 | Leu et al. | Mar 2003 | B1 |
6560230 | Li et al. | May 2003 | B1 |
6577596 | Olsson et al. | Jun 2003 | B1 |
6578066 | Logan et al. | Jun 2003 | B1 |
6587866 | Modi et al. | Jul 2003 | B1 |
6594701 | Forin | Jul 2003 | B1 |
6600738 | Alperovich et al. | Jul 2003 | B1 |
6650641 | Albert et al. | Nov 2003 | B1 |
6654374 | Fawaz et al. | Nov 2003 | B1 |
6658114 | Farn et al. | Dec 2003 | B1 |
6674721 | Dittia et al. | Jan 2004 | B1 |
6714517 | Fawaz et al. | Mar 2004 | B1 |
6735206 | Oki et al. | May 2004 | B1 |
6735210 | Lindeborg et al. | May 2004 | B1 |
6765915 | Metzger et al. | Jul 2004 | B1 |
6772205 | Lavian et al. | Aug 2004 | B1 |
6772334 | Glawitsch | Aug 2004 | B1 |
6779033 | Watson et al. | Aug 2004 | B1 |
6785232 | Kotser et al. | Aug 2004 | B1 |
6804224 | Schuster et al. | Oct 2004 | B1 |
6813268 | Kalkunte et al. | Nov 2004 | B1 |
6888806 | Miller et al. | May 2005 | B1 |
6891835 | Kalkunte et al. | May 2005 | B2 |
6892309 | Richmond et al. | May 2005 | B2 |
6920109 | Yazaki et al. | Jul 2005 | B2 |
6940861 | Liu et al. | Sep 2005 | B2 |
7010605 | Dharmarajan | Mar 2006 | B1 |
7058718 | Fontes et al. | Jun 2006 | B2 |
7069438 | Balabine et al. | Jun 2006 | B2 |
7139267 | Lu et al. | Nov 2006 | B2 |
7143087 | Fairweather | Nov 2006 | B2 |
7167927 | Philbrick et al. | Jan 2007 | B2 |
7181524 | Lele | Feb 2007 | B1 |
7228359 | Monteiro | Jun 2007 | B1 |
7236491 | Tsao et al. | Jun 2007 | B2 |
7254133 | Govindarajan et al. | Aug 2007 | B2 |
7269850 | Govindarajan et al. | Sep 2007 | B2 |
7301899 | Goldstone | Nov 2007 | B2 |
7310686 | Uysal | Dec 2007 | B2 |
7328267 | Bashyam et al. | Feb 2008 | B1 |
7337241 | Boucher et al. | Feb 2008 | B2 |
7343399 | Hayball et al. | Mar 2008 | B2 |
7353259 | Bakke et al. | Apr 2008 | B1 |
7370353 | Yang | May 2008 | B2 |
7373500 | Ramelson et al. | May 2008 | B2 |
7391725 | Huitema et al. | Jun 2008 | B2 |
7398317 | Chen et al. | Jul 2008 | B2 |
7423977 | Joshi | Sep 2008 | B1 |
7430755 | Hughes et al. | Sep 2008 | B1 |
7451221 | Basani et al. | Nov 2008 | B2 |
7467202 | Savchuk | Dec 2008 | B2 |
7506360 | Wilkinson et al. | Mar 2009 | B1 |
7512980 | Copeland et al. | Mar 2009 | B2 |
7552323 | Shay | Jun 2009 | B2 |
7584262 | Wang et al. | Sep 2009 | B1 |
7590736 | Hydrie et al. | Sep 2009 | B2 |
7606867 | Singhal et al. | Oct 2009 | B1 |
7610622 | Touitou et al. | Oct 2009 | B2 |
7613193 | Swami et al. | Nov 2009 | B2 |
7613822 | Joy et al. | Nov 2009 | B2 |
7627672 | Lai et al. | Dec 2009 | B2 |
7660824 | Halpern et al. | Feb 2010 | B2 |
7673008 | Kojima | Mar 2010 | B2 |
7673072 | Boucher et al. | Mar 2010 | B2 |
7675854 | Chen et al. | Mar 2010 | B2 |
7711790 | Barrett et al. | May 2010 | B1 |
7733866 | Mishra et al. | Jun 2010 | B2 |
7738504 | Deaner et al. | Jun 2010 | B1 |
7747748 | Allen | Jun 2010 | B2 |
7826487 | Mukerji et al. | Nov 2010 | B1 |
7849178 | Shen et al. | Dec 2010 | B2 |
7949893 | Knaus et al. | May 2011 | B1 |
7965727 | Sakata et al. | Jun 2011 | B2 |
7979694 | Touitou et al. | Jul 2011 | B2 |
7990847 | Leroy et al. | Aug 2011 | B1 |
7992201 | Aldridge et al. | Aug 2011 | B2 |
8081640 | Ozawa et al. | Dec 2011 | B2 |
8090866 | Bashyam et al. | Jan 2012 | B1 |
8099492 | Dahlin et al. | Jan 2012 | B2 |
8116312 | Riddoch et al. | Feb 2012 | B2 |
8122116 | Matsunaga et al. | Feb 2012 | B2 |
8122289 | Sargor et al. | Feb 2012 | B2 |
8151019 | Le et al. | Apr 2012 | B1 |
8185651 | Moran et al. | May 2012 | B2 |
8261339 | Aldridge et al. | Sep 2012 | B2 |
8266235 | Jalan et al. | Sep 2012 | B2 |
8379515 | Mukerji | Feb 2013 | B1 |
8559437 | Mishra et al. | Oct 2013 | B2 |
8560693 | Wang et al. | Oct 2013 | B1 |
RE44701 | Chen et al. | Jan 2014 | E |
8681610 | Mukerji | Mar 2014 | B1 |
8782221 | Han | Jul 2014 | B2 |
8849938 | Jalan et al. | Sep 2014 | B2 |
8977749 | Han | Mar 2015 | B1 |
9094364 | Jalan et al. | Jul 2015 | B2 |
9106561 | Jalan et al. | Aug 2015 | B2 |
9137301 | Dunlap et al. | Sep 2015 | B1 |
9154577 | Jalan et al. | Oct 2015 | B2 |
9154584 | Han | Oct 2015 | B1 |
9386088 | Zheng et al. | Jul 2016 | B2 |
9531846 | Han et al. | Dec 2016 | B2 |
9736189 | Livne | Aug 2017 | B2 |
20010042200 | Lamberton et al. | Nov 2001 | A1 |
20010043564 | Bloch et al. | Nov 2001 | A1 |
20020012348 | Mizuhara et al. | Jan 2002 | A1 |
20020026515 | Michielsens et al. | Feb 2002 | A1 |
20020032799 | Wiedeman et al. | Mar 2002 | A1 |
20020071387 | Horiguchi et al. | Jun 2002 | A1 |
20020075875 | Dravida et al. | Jun 2002 | A1 |
20020078164 | Reinschmidt | Jun 2002 | A1 |
20020091844 | Craft et al. | Jul 2002 | A1 |
20020103916 | Chen et al. | Aug 2002 | A1 |
20020131413 | Tsao et al. | Sep 2002 | A1 |
20020138618 | Szabo | Sep 2002 | A1 |
20020141386 | Minert et al. | Oct 2002 | A1 |
20020143991 | Chow et al. | Oct 2002 | A1 |
20020188678 | Edecker et al. | Dec 2002 | A1 |
20030009591 | Hayball et al. | Jan 2003 | A1 |
20030023898 | Jacobs et al. | Jan 2003 | A1 |
20030035409 | Wang et al. | Feb 2003 | A1 |
20030061506 | Cooper et al. | Mar 2003 | A1 |
20030133406 | Fawaz et al. | Jul 2003 | A1 |
20030135625 | Fontes et al. | Jul 2003 | A1 |
20030158886 | Walls et al. | Aug 2003 | A1 |
20030169734 | Lu et al. | Sep 2003 | A1 |
20030189947 | Beshai | Oct 2003 | A1 |
20040010545 | Pandya | Jan 2004 | A1 |
20040024831 | Yang et al. | Feb 2004 | A1 |
20040059813 | Bolder et al. | Mar 2004 | A1 |
20040062246 | Boucher et al. | Apr 2004 | A1 |
20040064589 | Boucher | Apr 2004 | A1 |
20040073703 | Boucher et al. | Apr 2004 | A1 |
20040078419 | Ferrari et al. | Apr 2004 | A1 |
20040078480 | Boucher et al. | Apr 2004 | A1 |
20040103315 | Cooper et al. | May 2004 | A1 |
20040228274 | Yazaki et al. | Nov 2004 | A1 |
20040246980 | Balakrishnan | Dec 2004 | A1 |
20040250059 | Ramelson et al. | Dec 2004 | A1 |
20040264481 | Darling et al. | Dec 2004 | A1 |
20040268358 | Darling et al. | Dec 2004 | A1 |
20050005207 | Herneque | Jan 2005 | A1 |
20050036511 | Baratakke et al. | Feb 2005 | A1 |
20050039033 | Meyers et al. | Feb 2005 | A1 |
20050080890 | Yang et al. | Apr 2005 | A1 |
20050163049 | Yazaki et al. | Jul 2005 | A1 |
20050163073 | Heller et al. | Jul 2005 | A1 |
20050198335 | Brown et al. | Sep 2005 | A1 |
20050213586 | Cyganski et al. | Sep 2005 | A1 |
20050240989 | Kim et al. | Oct 2005 | A1 |
20050243856 | Mishra et al. | Nov 2005 | A1 |
20050281190 | McGee et al. | Dec 2005 | A1 |
20060023721 | Miyake et al. | Feb 2006 | A1 |
20060031506 | Redgate | Feb 2006 | A1 |
20060036610 | Wang | Feb 2006 | A1 |
20060041745 | Parnes | Feb 2006 | A1 |
20060069804 | Miyake et al. | Mar 2006 | A1 |
20060101372 | Zhuo et al. | May 2006 | A1 |
20060104230 | Gidwani | May 2006 | A1 |
20060123479 | Kumar et al. | Jun 2006 | A1 |
20060164978 | Werner et al. | Jul 2006 | A1 |
20060164987 | Ruiz Floriach et al. | Jul 2006 | A1 |
20060168319 | Trossen | Jul 2006 | A1 |
20060206594 | Brown et al. | Sep 2006 | A1 |
20060230129 | Swami et al. | Oct 2006 | A1 |
20060280121 | Matoba | Dec 2006 | A1 |
20070019543 | Wei et al. | Jan 2007 | A1 |
20070022479 | Sikdar et al. | Jan 2007 | A1 |
20070076653 | Park et al. | Apr 2007 | A1 |
20070081527 | Betker et al. | Apr 2007 | A1 |
20070086428 | Lai et al. | Apr 2007 | A1 |
20070124502 | Li | May 2007 | A1 |
20070180119 | Khivesara et al. | Aug 2007 | A1 |
20070185998 | Touitou et al. | Aug 2007 | A1 |
20070195792 | Chen et al. | Aug 2007 | A1 |
20070230337 | Igarashi et al. | Oct 2007 | A1 |
20070242738 | Park et al. | Oct 2007 | A1 |
20070243879 | Park et al. | Oct 2007 | A1 |
20070245090 | King et al. | Oct 2007 | A1 |
20070248009 | Petersen | Oct 2007 | A1 |
20080016161 | Tsirtsis et al. | Jan 2008 | A1 |
20080031263 | Ervin et al. | Feb 2008 | A1 |
20080076432 | Senarath et al. | Mar 2008 | A1 |
20080104215 | Excoffier et al. | May 2008 | A1 |
20080120129 | Seubert et al. | May 2008 | A1 |
20080225722 | Khemani et al. | Sep 2008 | A1 |
20080253390 | Das et al. | Oct 2008 | A1 |
20080291911 | Lee et al. | Nov 2008 | A1 |
20080298303 | Tsirtsis | Dec 2008 | A1 |
20090024722 | Sethuraman et al. | Jan 2009 | A1 |
20090031415 | Aldridge et al. | Jan 2009 | A1 |
20090077651 | Poeluev | Mar 2009 | A1 |
20090092124 | Singhal et al. | Apr 2009 | A1 |
20090138606 | Moran et al. | May 2009 | A1 |
20090138945 | Savchuk | May 2009 | A1 |
20090164614 | Christian et al. | Jun 2009 | A1 |
20090204699 | Kortright | Aug 2009 | A1 |
20090285196 | Lee et al. | Nov 2009 | A1 |
20100042869 | Szabo et al. | Feb 2010 | A1 |
20100049836 | Kramer | Feb 2010 | A1 |
20100054139 | Chun et al. | Mar 2010 | A1 |
20100061319 | Aso et al. | Mar 2010 | A1 |
20100064008 | Yan et al. | Mar 2010 | A1 |
20100094967 | Zuckerman et al. | Apr 2010 | A1 |
20100095018 | Khemani et al. | Apr 2010 | A1 |
20100106854 | Kim et al. | Apr 2010 | A1 |
20100162036 | Linden et al. | Jun 2010 | A1 |
20100205310 | Altshuler et al. | Aug 2010 | A1 |
20100228819 | Wei | Sep 2010 | A1 |
20100235522 | Chen et al. | Sep 2010 | A1 |
20100238828 | Russell | Sep 2010 | A1 |
20100265824 | Chao et al. | Oct 2010 | A1 |
20100268814 | Cross et al. | Oct 2010 | A1 |
20100318631 | Shukla | Dec 2010 | A1 |
20100322252 | Suganthi et al. | Dec 2010 | A1 |
20100333101 | Pope et al. | Dec 2010 | A1 |
20110007652 | Bai | Jan 2011 | A1 |
20110032941 | Quach et al. | Feb 2011 | A1 |
20110060831 | Ishii et al. | Mar 2011 | A1 |
20110066672 | Zamarreno et al. | Mar 2011 | A1 |
20110083174 | Aldridge et al. | Apr 2011 | A1 |
20110093522 | Chen et al. | Apr 2011 | A1 |
20110099623 | Garrard et al. | Apr 2011 | A1 |
20110149879 | Noriega et al. | Jun 2011 | A1 |
20110161405 | He | Jun 2011 | A1 |
20110276982 | Nakayama et al. | Nov 2011 | A1 |
20110302256 | Sureshehandra et al. | Dec 2011 | A1 |
20120008495 | Shen et al. | Jan 2012 | A1 |
20120117382 | Larson et al. | May 2012 | A1 |
20120173759 | Agarwal et al. | Jul 2012 | A1 |
20120179770 | Jalan et al. | Jul 2012 | A1 |
20120215910 | Wada | Aug 2012 | A1 |
20120281540 | Khan et al. | Nov 2012 | A1 |
20120290727 | Tivig | Nov 2012 | A1 |
20120297240 | Jalan et al. | Nov 2012 | A1 |
20120311116 | Jalan et al. | Dec 2012 | A1 |
20130135996 | Torres et al. | May 2013 | A1 |
20130136139 | Zheng | May 2013 | A1 |
20130151686 | Takaoka et al. | Jun 2013 | A1 |
20130166762 | Jalan et al. | Jun 2013 | A1 |
20130176854 | Chisu et al. | Jul 2013 | A1 |
20130191486 | Someya et al. | Jul 2013 | A1 |
20130250765 | Ehsan et al. | Sep 2013 | A1 |
20130258846 | Damola | Oct 2013 | A1 |
20140012972 | Han | Jan 2014 | A1 |
20140169168 | Jalan et al. | Jun 2014 | A1 |
20140207845 | Han et al. | Jul 2014 | A1 |
20140258536 | Chiong | Sep 2014 | A1 |
20140286313 | Fu et al. | Sep 2014 | A1 |
20140359052 | Joachimpillai et al. | Dec 2014 | A1 |
20150026794 | Zuk et al. | Jan 2015 | A1 |
20150039674 | Agarwal et al. | Feb 2015 | A1 |
20150156223 | Xu et al. | Jun 2015 | A1 |
20150195182 | Mathur et al. | Jul 2015 | A1 |
20150237173 | Virkki et al. | Aug 2015 | A1 |
20150244566 | Puimedon | Aug 2015 | A1 |
20150281173 | Quinn | Oct 2015 | A1 |
20150296058 | Jalan et al. | Oct 2015 | A1 |
20150312092 | Golshan et al. | Oct 2015 | A1 |
20150312322 | Kamat et al. | Oct 2015 | A1 |
20150350048 | Sampat et al. | Dec 2015 | A1 |
20150350379 | Jalan et al. | Dec 2015 | A1 |
20160014052 | Han | Jan 2016 | A1 |
20160014126 | Jalan et al. | Jan 2016 | A1 |
20160020947 | Jalan et al. | Jan 2016 | A1 |
20160062855 | Jalan et al. | Mar 2016 | A1 |
20160212048 | Kaempfer | Jul 2016 | A1 |
20170048107 | Dosovitsky et al. | Feb 2017 | A1 |
20170048356 | Thompson et al. | Feb 2017 | A1 |
20170177396 | Palermo | Jun 2017 | A1 |
20170214535 | Li | Jul 2017 | A1 |
Number | Date | Country |
---|---|---|
1372662 | Oct 2002 | CN |
1473300 | Feb 2004 | CN |
1529460 | Sep 2004 | CN |
1554055 | Dec 2004 | CN |
1575582 | Feb 2005 | CN |
1910869 | Feb 2007 | CN |
101019387 | Aug 2007 | CN |
101189598 | May 2008 | CN |
101442425 | May 2009 | CN |
101682532 | Mar 2010 | CN |
102123156 | Jul 2011 | CN |
102577252 | Jul 2012 | CN |
102708004 | Oct 2012 | CN |
102984194 | Mar 2013 | CN |
103533018 | Jan 2014 | CN |
103944954 | Jul 2014 | CN |
104040990 | Sep 2014 | CN |
104137491 | Nov 2014 | CN |
104796396 | Jul 2015 | CN |
102577252 | Mar 2016 | CN |
1209876 | May 2002 | EP |
2296313 | Mar 2011 | EP |
2663912 | Nov 2013 | EP |
2760170 | Jul 2014 | EP |
2760170 | Dec 2015 | EP |
1183571 | Dec 2013 | HK |
1186802 | Mar 2014 | HK |
1189438 | Jun 2014 | HK |
1199153 | Jun 2015 | HK |
1199779 | Jul 2015 | HK |
1200617 | Aug 2015 | HK |
261CHE2014 | Jul 2016 | IN |
2000307634 | Nov 2000 | JP |
2003345640 | Dec 2003 | JP |
2007257023 | Oct 2007 | JP |
2009003923 | Jan 2009 | JP |
2014143686 | Aug 2014 | JP |
5906263 | Apr 2016 | JP |
1020130096624 | Aug 2013 | KR |
101576585 | Dec 2015 | KR |
269763 | Feb 1996 | TW |
425821 | Mar 2001 | TW |
444478 | Jul 2001 | TW |
I182936 | Jul 2003 | TW |
I233734 | Jun 2005 | TW |
I277324 | Mar 2007 | TW |
WO2001013228 | Feb 2001 | WO |
WO2001014990 | Mar 2001 | WO |
WO2003103237 | Dec 2003 | WO |
WO2008053954 | May 2008 | WO |
WO2010077222 | Jul 2010 | WO |
WO2011049770 | Apr 2011 | WO |
WO2011079381 | Jul 2011 | WO |
WO2012097015 | Jul 2012 | WO |
WO2012170226 | Dec 2012 | WO |
WO2013081952 | Jun 2013 | WO |
WO2013096019 | Jun 2013 | WO |
WO2014031046 | Feb 2014 | WO |
WO2014093829 | Jun 2014 | WO |
WO2015164026 | Oct 2015 | WO |
WO2015164027 | Oct 2015 | WO |
Entry |
---|
Goldszmidt et al., “NetDispatcher: A TCP Connection Router,” IBM Research Report RC 20853, May 19, 1997, pp. 1-31. |
Cardellini et al., “Dynamic Load Balancing on Web-server Systems”, IEEE Internet Computing, vol. 3, No. 3, May-Jun. 1999, 24 pages. |
Koike et al., “Transport Middleware for Network-Based Control,” IEICE Technical Report, Jun. 22, 2000, vol. 100, No. 53, pp. 13-18. |
Yamamoto et al., “Performance Evaluation of Window Size in Proxy-based TCP for Multi-hop Wireless Networks,” IPSJ SIG Technical Reports, May 15, 2008, vol. 2008, No. 44, pp. 109-114. |
Abe et al., “Adaptive Split Connection Schemes in Advanced Relay Nodes,” IEICE Technical Report, Feb. 22, 2010, vol. 109, No. 438, pp. 25-30. |
Gite, Vivek, “Linux Tune Network Stack (Buffers Size) to Increase Networking Performance,” nixCraft [online], Jul. 8, 2009 [retreived on Apr. 13, 2016], Retreived from the Internt: <URL:http://www.cyberciti.biz/faq/linux-tcp-tuning/>, 24 pages. |
FreeBSD, “tcp—TCP Protocol,” Linux Programmer's Manual [online], Nov. 25, 2007 [retreived on Apr. 13, 2016], Retreived from the Internet: <URL:https://www.freebsd.org/cgi/man.cgi?query=tcp&apropos=0&sektion=7&manpath=SuSE+Linux%2Fi386+11.0&format=asci>, 11 pages. |
Parekh et al., “A generalized processor sharing approach to flow control in integrated services networks: the single node case,” IEEE/ACM Trans. Networking, pp. 344-357, Jun. 1993. |
Bennett et al., “WF2Q: Worst-case fair weighted fair queueing,” Proc. IEEE INFOCOM '96, pp. 120-128 San Francisco, CA, Mar. 1996. |
Golestani, S.J., “A self-clocked fair queueing scheme for broadband applications,” Proc. INFOCOM '94, pp. 636-646, Jun. 1994. |
Zhang, L. “Virtual Clock: A new traffic control algorithm for packet-switched networks,” ACM Trans. On Computer Systems, vol. 9, No. 2, pp. 101-124, May 1991. |
Shreedhar et al., “Efficient fair queuing using deficit round-robin,” IEEE/ACM Trans. Networking, vol. 4, No. 3, pp. 375-385, Jun. 1996. |
Stiliadis et al., “Efficient fair queueing algorithms for packet-switched networks,” IEEE/ACM Trans. Networking, vol. 6, No. 2, pp. 175-185, Apr. 1998. |
Suri et al., “Leap forward virtual clock: a new fair queuing scheme with guaranteed delays and throughput fairness,” Proc. INFOCOM '97, pp. 557-565, Apr. 1997. |
Stiliadis et al., “Latency-rate servers: a general model for analysis of traffic scheduling algorithms,” IEEE/ACM Trans. Networking, vol. 6, No. 5, pp. 611-624, Oct. 1998. |
Matsufuru et al. “Efficient fair queueing for ATM networks using uniform round robin,” Proc. INFOCOM '99, pp. 389-397, Mar. 1999. |
Katevenis et al., “Weighted round-robin cell mutliplexing in a general-purpose ATM switch chip,” IEEE Journal on Selected Areas in Communication, vol. 9, No. 8, pp. 1265-1279, Oct. 1991. |
Chaskar et al., “Fair scheduling with tunable latency: A Round Robin approach,” IEEE Globecom '99, pp. 1328-1333, Dec. 1999. |
Bennett et al., “High speed, scalable, and accurate implementation of packet fair queueing algorithms in ATM networks,” Proc. ICNP '97, pp. 7-14, Oct. 1997. |
Nageshwara Rao et al., “Concurrent access of priority queues,” IEEE Trans. On Computers, vol. 37, No. 12, pp. 1657-1665, Dec. 1998. |
Rexford et al., “Hardware-efficient fair queueing architectures for high-speed networks,” Proc. INFOCOM '96, pp. 638-646, Mar. 1996. |
“Enhanced Interior Gateway Routing Protocol”, Cisco, Document ID 16406, Sep. 9, 2005 update, 43 pages. |
Crotti, Manuel et al., “Detecting HTTP Tunnels with Statistical Mechanisms”, IEEE International Conference on Communications, Jun. 24-28, 2007, pp. 6162-6168. |
Haruyama, Takahiro et al., “Dial-to-Connect VPN System for Remote DLNA Communication”, IEEE Consumer Communications and Networking Conference, CCNC 2008. 5th IEEE, Jan. 10-12, 2008, pp. 1224-1225. |
Chen, Jianhua et al., “SSL/TLS-based Secure Tunnel Gateway System Design and Implementation”, IEEE International Workshop on Anti-counterfeiting, Security, Identification, Apr. 16-18, 2007, pp. 258-261. |
“EIGRP MPLS VPN PE-CE Site of Origin (SoO)”, Cisco Systems, Feb. 28, 2006, 14 pages. |
Number | Date | Country | |
---|---|---|---|
20170201418 A1 | Jul 2017 | US |