The disclosed teaching generally relates to classification of packets transmitted in a network and more specifically to the determination of content to be stored in storage located along the network based on the type of data transferred in the packet.
Service providers worldwide are facing a mounting problem of flattening revenues coupled with increasing costs brought forth by increasing usage of bandwidth, growing churn, subscriber saturation and competitive price pressures. These mobile and broadband providers are facing challenges in delivering new revenue generating services while seeing their over the top (OTT) counterparts reaping rewards with content delivered over the networks they built and maintained over the years.
The vast majority of these OTT services are delivered over hypertext transfer protocol (HTTP), the de-facto protocol for application development and delivery. Be it video, social networking, search, or advertising, over fixed line as well as mobile applications, it is most likely running on top of HTTP. However, this protocol is also the most processing intensive protocol for network devices. Hence practically any increase in usage results in increase the pressure on the service providers.
Certainly one way to control traffic on the Internet requires various levels of understanding of the traffic that flows through the network which is also increasing in its level of sophistication. Various systems and solutions have been offered to enable deep-packet-inspection (DPI) to enable an ever sophisticated ability to shape the traffic on the network. This ability allows the service providers to better manage the network and its related resources, provide a higher level of quality of service (QoS) in the hopes to increase revenues and profits. However, the rapid increase in the delivery of heavy bandwidth consuming data, such as video, and consumption thereof, requires a new level of handling that is not available today in prior art solutions. A known problem is the access of a user node to a content source and subsequently the access by another user node to the same content, resulting in additional load on the content provider and on the entire network. When, for example, popular video clips are accessed there is a significant and noticeable degradation of the network performance that may even lead to a network failure. Some prior art solutions attempt to store all the data in caches, however, with the huge amounts of data and the need to inspect each and every packet, regardless of its source, makes this a daunting and impractical task.
It would be advantageous to provide service providers with a solution that will enable them to effectively manage and control the delivery of heavy bandwidth consuming data such that the overall bandwidth requirements are loaded and better shared across the network in general, and in particular within the network of a specific service provider.
To realize some of the advantages discussed above there is provided an apparatus comprising a network interface to at least a first portion of a network and at least a second portion of a network. A deep-packet-inspection (DPI) unit identifies at least a source of content, the DPI unit further inspecting one or more packets provided from the identified at least a source of content over the first portion of the network, each packet having at least a specific source address and a specific destination address. A storage stores at least a portion of the content. A content delivery unit receives a request from the second portion of the network for requested content from the identified at least a source of content and responsive thereto provides the requested content, or portions of the requested content, from the storage to the second network if the requested content, or portions of the requested content, is stored in the storage, or otherwise sending the request over the first portion of the network to the identified at least a source of content for the requested content, or missing portions of the requested content.
Specifically, the identifying of at least a source of content comprises inspection of one out of a predefined portion of packets of packet flows from the traffic on the second portion of the network.
More specifically, the predefined portion is determined by a hash function that uses source addresses and destination addresses of packet flows.
More specifically, the hash function further uses source ports and the destination ports of packet flows.
More specifically, a source of content is considered to be identified once an identification count exceeds a predetermined threshold value.
More specifically, the identification count ages if the count did not increase during a predefined period of time.
Specifically, the content is video.
Specifically, the storing of at least some of the content occurs after inspection of the content of a received data packet provided over the second portion of the network by the DPI unit.
Specifically, the first portion of the network and the second portion of the network are logical partitions of a unified network.
Another aspect of the disclosed teachings is a system of a service provider comprising a network for the delivery of data packets to at least a user node connected to the network. An apparatus having a storage is provided, the apparatus receiving requests over the network from the user node for content, the apparatus providing the content from the storage if the content or portions thereof are found in the storage or otherwise generating a request over the network to a content source coupled to the network.
More specifically, the apparatus comprises a deep-packet-inspection (DPI) unit identifies at least a source of content and thereon inspecting packets provided from the identified at least a source of content over the network. A storage is provided for storing at least some of the content received from the identified at least a source of content. A content delivery unit receives a request for requested content from the identified at least a source of content over the network and responsive thereto provides the requested content, or portions of the requested content, from the storage over the network if the requested content, or portions of the requested content, is stored in the storage, or otherwise sending the request to the identified at least a source of content over the network for the requested content, or missing portions of the requested content.
More specifically, the identifying at least a source of content comprises inspection of one out of a predefined portion of packets of packet flows from the traffic on the network.
More specifically, the predefined portion is determined by a hash function that uses source addresses and destination addresses of packet flows.
Even More specifically, the hash function further uses source ports and destination ports of packet flows.
More specifically, the source of content is considered to be identified once an identification count exceeds a predetermined threshold value.
Even More specifically, the identification count ages if the count did not increase during a predefined period of time.
More specifically, the content is video.
Specifically, the storing of at least some of the content occurs after inspection of the content of a received data packet from the network by the DPI unit.
Another aspect of the disclosed teachings is an apparatus interfacing a first portion of a network and a second portion of a network for performing deep-packet-inspection (DPI) of packets flowing from the first portion of the network to the second portion of the network. The packets carry requested content from at least a content source on the first portion of the network to at least a user node on the second portion of the network responsive to a request for requested content from the user node, The apparatus further stores content determined to be popular content, for delivery of the popular content from the apparatus responsive to a request for the popular content by the at least a user node without a need to send a request for such popular content the at least a content source.
More specifically, a network interface is provided to the first portion of a network and the second portion of a network. A deep-packet-inspection identifies the at least a content source and thereon inspects packets provided from the identified at least a content source over the at least a first portion of the network, each packet having at least a specific source address and a specific destination address. A storage stores at least the popular content. A content delivery unit receives a request over the second portion of the network for requested content from the identified at least a content source and responsive thereto provides the requested content, or portions of the requested content, from the storage over the second portion of the network if the requested content, or portions of the requested content, is stored in the storage, or otherwise sending the request over the first portion of the network to the identified at least a content source for the requested content, or missing portions of the requested content.
More specifically, the first portion of the network and the second portion of the network are logical partitions of a unified network.
Another aspect of the disclosed teachings is an apparatus for automatically analyzing a stream of packets from at least a content source to at least a user node for determination of popular content contained in the packets and to store such content in a storage of the apparatus such that upon a subsequent request from the at least a user node the popular content is provided from the storage transparently to the at least a content source and the at least a user node.
The above discussed advantages of the disclosed teachings will become more apparent by describing in detail some exemplary implementations thereof with reference to the attached drawings in which:
Techniques for efficient usage of network bandwidth are disclosed. Specifically, the disclosed system samples packets from a plurality of content sources and identifies those content sources providing predetermined types of data, for example, video clips. Upon identification of such content sources, any data that arrives from such a content source is subject to a deep-packet-inspection (DPI) process to positively identify the content and the need to store it in cache storage such that when a subsequent request for the same content is received there is no need to transmit the content from the content source and rather deliver it from the system's storage. The result is that at least less traffic goes on the entire network, faster service, and lower operational costs.
Reference is now made to
While DPI unit 210 operates on the packets that arrive from CSs 140, the CDU 230 operates with respect of requests for content received from the UNs 150 of the service provider network 130. Upon receipt of such a request, the DI 210 first checks if content from the requested CS 140 actually resides in the storage 220 by first checking that the CS 140 identification is known to the apparatus 110. If that is the case then the storage 220 is checked for the possibility of delivery of the content or portions thereof. If the entire content or portions thereof are found, then these are delivered to the requesting UN 150. If the entire content is missing, or certain portions thereof are missing, then the request is forwarded to the appropriate CS 140. Storage 220 may be semiconductor media, magnetic media, or any other type of storage media appropriate for the storage of content.
Reference is now made to
Reference is now made to
Reference is now made to
In one alternate implementation, when detecting that a portion of the requested content is in the storage 220 and deliverable to the requesting UN 150, such content is delivered immediately to the UN 150 while only the missing portions of the content is requested from the CS 140. Hence a request from the CDU 230 may be for the requested content or portions thereof. It should be further understood that in a typical implementation, once the DPI unit 210 determines that a CS 140 may contain content that should be stored in storage 220, the packets from such a CS 140 are consistently inspected for determination of popular content.
The disclosed teachings are implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or non-transitory computer readable medium or a non-transitory machine-readable storage medium that can be in a form of a digital circuit, an analogy circuit, a magnetic medium, or combination thereof. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
This application claims priority from U.S. provisional patent application 61/375,836, entitled “A System for Detection of Content Servers and Caching Popular Content Therein”, filed on 22 Aug. 2010, assigned to common assignee and is hereby incorporated by reference for all that it contains.
Number | Name | Date | Kind |
---|---|---|---|
5829046 | Tzelnic et al. | Oct 1998 | A |
5893140 | Vahalia et al. | Apr 1999 | A |
5933603 | Vahalia et al. | Aug 1999 | A |
5944789 | Tzelnic et al. | Aug 1999 | A |
5948062 | Tzelnic et al. | Sep 1999 | A |
6049530 | Petersen et al. | Apr 2000 | A |
6061504 | Tzelnic et al. | May 2000 | A |
6363413 | Kidder | Mar 2002 | B2 |
6700889 | Nun | Mar 2004 | B1 |
6772193 | Igawa et al. | Aug 2004 | B1 |
6799248 | Scherr | Sep 2004 | B2 |
6823401 | Feather et al. | Nov 2004 | B2 |
6831893 | Nun et al. | Dec 2004 | B1 |
6873600 | Duffield et al. | Mar 2005 | B1 |
6985956 | Luke et al. | Jan 2006 | B2 |
6986018 | O'Rourke et al. | Jan 2006 | B2 |
7281260 | Puente et al. | Oct 2007 | B2 |
7310480 | Maciocco et al. | Dec 2007 | B2 |
7349979 | Cieslak et al. | Mar 2008 | B1 |
7436830 | Ben-Nun et al. | Oct 2008 | B2 |
7596664 | Ishikawa et al. | Sep 2009 | B2 |
7606314 | Coleman et al. | Oct 2009 | B2 |
7685254 | Pandya | Mar 2010 | B2 |
7697557 | Segel | Apr 2010 | B2 |
7719966 | Luft et al. | May 2010 | B2 |
7818402 | Zhang | Oct 2010 | B1 |
7912921 | O'Rourke et al. | Mar 2011 | B2 |
7957396 | Kohn et al. | Jun 2011 | B1 |
8009682 | Gopinath et al. | Aug 2011 | B2 |
8065559 | Kamath et al. | Nov 2011 | B2 |
8607166 | Jalon | Dec 2013 | B2 |
8621101 | Starr et al. | Dec 2013 | B1 |
8706900 | Carver et al. | Apr 2014 | B2 |
8737407 | Shetty et al. | May 2014 | B2 |
8937942 | Li et al. | Jan 2015 | B1 |
20010049732 | Raciborski et al. | Dec 2001 | A1 |
20010051980 | Raciborski et al. | Dec 2001 | A1 |
20020006124 | Jimenez et al. | Jan 2002 | A1 |
20020040366 | Lahr | Apr 2002 | A1 |
20020040404 | Lahr | Apr 2002 | A1 |
20020042817 | Lahr | Apr 2002 | A1 |
20020048269 | Hong et al. | Apr 2002 | A1 |
20020062372 | Hong et al. | May 2002 | A1 |
20020136204 | Chen et al. | Sep 2002 | A1 |
20030097443 | Gillett et al. | May 2003 | A1 |
20030221127 | Risan et al. | Nov 2003 | A1 |
20040128693 | Weigand | Jul 2004 | A1 |
20040133776 | Putzolu | Jul 2004 | A1 |
20040181579 | Huck et al. | Sep 2004 | A1 |
20050015702 | Shier et al. | Jan 2005 | A1 |
20050022237 | Nomura | Jan 2005 | A1 |
20050213514 | Su et al. | Sep 2005 | A1 |
20050289111 | Tribble | Dec 2005 | A1 |
20060129697 | Vange et al. | Jun 2006 | A1 |
20060168318 | Twiss | Jul 2006 | A1 |
20060224687 | Popkin et al. | Oct 2006 | A1 |
20060271972 | Pai et al. | Nov 2006 | A1 |
20070050686 | Keeton et al. | Mar 2007 | A1 |
20070124781 | Casey et al. | May 2007 | A1 |
20070192474 | Decasper et al. | Aug 2007 | A1 |
20070244987 | Pedersen et al. | Oct 2007 | A1 |
20080010381 | Barraclough et al. | Jan 2008 | A1 |
20080307343 | Robert | Dec 2008 | A1 |
20090083279 | Hasek | Mar 2009 | A1 |
20090119734 | Deshpande et al. | May 2009 | A1 |
20090172565 | Jackson et al. | Jul 2009 | A1 |
20090193129 | Agarwal et al. | Jul 2009 | A1 |
20090307757 | Groten | Dec 2009 | A1 |
20090313437 | Sofman et al. | Dec 2009 | A1 |
20100023726 | Aviles | Jan 2010 | A1 |
20100054257 | Dolganow et al. | Mar 2010 | A1 |
20100082774 | Pitts | Apr 2010 | A1 |
20100115072 | Payyappilly et al. | May 2010 | A1 |
20100287227 | Goel et al. | Nov 2010 | A1 |
20110055386 | Middleton et al. | Mar 2011 | A1 |
20110078343 | Resch et al. | Mar 2011 | A1 |
20110107185 | Grube et al. | May 2011 | A1 |
20110141887 | Klein et al. | Jun 2011 | A1 |
20110153937 | Annamalaisami et al. | Jun 2011 | A1 |
20120011271 | Zhao et al. | Jan 2012 | A1 |
20120030212 | Koopmans et al. | Feb 2012 | A1 |
20120047224 | Shemesh et al. | Feb 2012 | A1 |
20120047252 | Maor et al. | Feb 2012 | A1 |
20120057460 | Hussain | Mar 2012 | A1 |
20120084464 | Cochinwala | Apr 2012 | A1 |
20120117610 | Pandya | May 2012 | A1 |
20120124618 | Ruiz-Velasco | May 2012 | A1 |
20120159329 | Chow et al. | Jun 2012 | A1 |
20120159558 | Whyte et al. | Jun 2012 | A1 |
20140108586 | Zhao | Apr 2014 | A1 |
20160021057 | Frost et al. | Jan 2016 | A1 |
Entry |
---|
Non-Final Office Action dated Sep. 25, 2012 for U.S. Appl. No. 13/006,785. |
Non-Final Office Action dated Jul. 26, 2012 in U.S. Appl. No. 13/006,875. |
Number | Date | Country | |
---|---|---|---|
20170331890 A1 | Nov 2017 | US |
Number | Date | Country | |
---|---|---|---|
61375836 | Aug 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13006785 | Jan 2011 | US |
Child | 15664816 | US |