P
USRE48434EActiveUtilityPatentIndex 72

System and method of predictive internet traffic steering

Assignee: ALLOT LTDPriority: Apr 22, 2010Filed: Jul 12, 2018Granted: Feb 9, 2021
Est. expiryApr 22, 2030(~3.8 yrs left)· nominal 20-yr term from priority
Inventors:SHAHAR ASAF
H04L 45/306H04L 45/74H04L 45/70H04L 12/66H04L 47/12
72
PatentIndex Score
4
Cited by
20
References
26
Claims

Abstract

System and method of predictive Internet traffic steering. An Internet steering gateway decouples between traffic classification and traffic steering, and includes: a deep packet inspection (DPI) utility to ascertain an indication of a destination remote application server (RAS) from an initial packet of a data session in a network; a RAS database to store an optimization profile for each RAS; and a steering utility to look-up, based on the RAS addressing information that was determined by the DPI utility inspection of the initial packet of the data session, an indicated RAS in the RAS database. The steering utility steers the data session to an external optimization platform (EOP) based on the associated profile in the RAS database.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An Internet steering gateway comprising:
 a memory unit configured to store program code; 
 a processor configured to execute said program code; 
 a deep packet inspection (DPI) utility configured to ascertain an indication of a destination remote application server (RAS) from an initial packet of a data session in a network;, wherein the DPI utility is configured (A) to inspect said initial packet of said data session passing through said Internet steering gateway, and (B) to determine from said initial packet a RAS addressing information; 
 an RAS database configured to store an optimization associated profile for each of a multiplicity of said RASs; and 
 a steering utility configured to look-up lookup, based on said RAS addressing information that was determined by the DPI utility inspection of said initial packet of the data session, an indicated RAS in said RAS database;,  
 wherein if when the indicated RAS is found in said RAS database, and if an the associated profile in said RAS database indicates that traffic intended for said RAS is optimizable, then the steering utility is configured to steer said data session to an at least one external optimization platform (EOP) based on said associated profile in said RAS database;,  
 wherein if when the indicated RAS is found in said RAS database, and if the associated profile in said RAS database indicates that traffic intended for said RAS is not optimizable, then the steering utility is configured to steer said data session directly to an originally-addressed the indicated RAS;,  
 wherein steering of said data session by said steering utility, is performed by steering configured to steer said data session, starting with said initial packet of said data session, to one of the at least one external optimization platform (EOP) EOP and a the indicated RAS as per said optimization associated profile associated with said indication, based on predicting whether or not said data session is suitable for processing by a particular EOP, wherein said predicting takes is configured to take into account historical session data of the associated profiles of historical session data;,  
 wherein the DPI utility is configured to perform deep packet inspection on a group first and second groups of multiple subsequent packets that follow said initial packet of said data session;,  
 wherein based on the results of the deep packet inspection of said first group of multiple subsequent packets, the steering utility is configured to update the RAS database by performing: if when the indicated RAS was not found in said look-up lookup, then the steering utility is configured to add a new record in said RAS database with an associated profile per said RAS addressing information;, wherein the steering gateway is configured to wait until the deep packet inspection results of the second group of multiple subsequent packets are confirmed at least one or more times before updating said RAS database;,  
 wherein the data session is configured to be steered to the external optimization platform (EOP) at least one EOP via a route that excludes any proxy server and without terminating the data session in the network;,  
 wherein the external optimization platform (EOP) receives at least one EOP is configured to receive the data session starting from said initial packet of the data session;, wherein the external optimization platform (EOP) utilizes at least one EOP is configured to utilize at least the content of said initial packet of the data session to perform optimization of said data session;, wherein the Internet steering gateway is configured to decouple between (i) traffic classification and (ii) traffic steering. 
 
     
     
       2. The Internet steering gateway of  claim 1 , wherein said optimization associated profile comprises at least an indication whether or not data traffic associated with said RAS is optimizable. 
     
     
       3. The Internet steering gateway of  claim 1 , wherein said optimization associated profile comprises an indication of which particular EOP, out of a plurality of EOPs, to steer said data session to for optimization. 
     
     
       4. The Internet steering gateway of  claim 1 , wherein said at least one EOP comprises at least two EOPs selected from a plurality of EPOs EOPs. 
     
     
       5. The Internet steering gateway of  claim 1 , further comprising:
 an EOP database configured to store an EOP profile and address for each EOP of a plurality of EOPs. 
 
     
     
       6. The Internet steering gateway of  claim 5 , wherein said DPI utility is configurable further configured to inspect multiple data packets of said data session to ascertain whether or not said data session is optimizable by a particular EPO EOP out of a the plurality of available EPOs EOPs. 
     
     
       7. The Internet steering gateway of  claim 6 , wherein the Internet steering gateway further is configured to associate said optimizable data session with said EOP profile of said particular EPO EOP in order to determine an appropriate said EOP for said RAS. 
     
     
       8. The Internet steering gateway of  claim 1 , wherein the Internet steering gateway further is configured to update said RAS database with said RAS and an associated said optimization profile, wherein said associated optimization profile comprises at least an indication of said at least one EOP that is appropriate for customizing said data traffic associated with said RAS based on inspection of a set of packets that includes at least said initial packet of said data session. 
     
     
       9. The Internet steering gateway of  claim 1 , wherein said at least one EOP is positioned internally within said Internet steering gateway. 
     
     
       10. The Internet steering gateway of  claim 1 , wherein the Internet steering gateway further comprises a load balancing unit configured to distribute traffic among multiple EPOs EOPs and multiple RASs in a generally even manner. 
     
     
       11. The Internet steering gateway of  claim 1 , wherein the Internet steering gateway further comprises a load balancing unit configured to distribute traffic among multiple EPOs EOPs and multiple RASs in a generally even manner, based on information received from the DPI utility, wherein the information comprises information regarding ongoing data sessions with individual server components of EPOs EOPs and RASs. 
     
     
       12. The Internet steering gateway of  claim 1 , wherein the steering utility steers is configured to steer the data session, starting at the initial packet of the data session, to said at least one EOP to enable said at least one EOP to process said data session starting from its initial packet. 
     
     
       13. The Internet steering gateway of  claim 1 , wherein the steering utility is configured to steer the data session, starting with its at the initial packet, by selecting one option out of the following three steering options:
 (A) if the indicated RAS is found in said RAS database, and if an associated profile in said RAS database indicates that traffic intended for said RAS is optimizable, then the steering utility is configured to steer said data session to an external optimization platform (EOP) the at least one EOP based on said associated profile in said RAS database;,  
 (B) if the indicated RAS is found in said RAS database, and if the an associated profile in said RAS database indicates that traffic intended for said RAS is not optimizable, then the steering utility is configured to steer said data session directly to an originally-addressed originally addressed RAS;, and  
 (C) if the indicated RAS is not found in said RAS database, and regardless of whether or not the data session is optimizable, then the steering utility is configured to steer said data session directly to said originally-addressed originally addressed RAS. 
 
     
     
       14. The Internet steering gateway of  claim 1 , wherein data sessions remain continuous and non-terminated from end-user devices, through the Internet steering gateway, to the external optimization platform (EOP) at least one EOP that optimizes the data session starting from its at the initial packet and in a communication route that excludes any EOP proxy server. 
     
     
       15. A method for optimizing network service delivery, implementable on an Internet service gateway, the method comprising:
 storing in a remote access server (RAS) database an optimization associated profile for each of a multiplicity of RASs; 
 inspecting an initial packet of a data session with a deep packet inspection (DPI) utility to ascertain an indication of a destination remote application server (RAS) RAS, by performing deep packet inspection of said initial packet of said data session passing through said Internet service gateway, and determining from said initial packet a RAS addressing information; 
 identifying a destination address for a remote access server (RAS) RAS from said first initial packet; 
 looking up said RAS in said RAS database as per said destination address, wherein said looking up comprises: based on said RAS addressing information, that was determined by the DPI utility inspection of said initial packet of the data session, looking up an indicated the destination RAS in said RAS database; 
 wherein ifwhen the indicateddestination RAS is found in said RAS database, and if anthe associated profile in said RAS database indicates that traffic intended for said destination RAS is optimizable, then the method comprises steering said data session to an external optimization platform (EOP) based on said associated profile in said RAS database; 
 wherein ifwhen the indicateddestination RAS is found in said RAS database, and if the associated profile in said RAS database indicates that traffic intended for said destination RAS is not optimizable, then the method comprises steering said data session directly to an originally-addressed the destination RAS; and,  
 for said RAS found in said RAS database, steering said data session in accordance with a profile associated with said RAS, wherein steering said data session comprises steering said data session starting with the initial packet of said data session based on predicting whether or not said data session is suitable for processing by a particular EOP, wherein said predicting takes into account historical session data of the associated profiles of historical session data; 
 wherein the method comprises, at said DPI utility, performing, at said DPI utility, deep packet inspection on a group first and second groups of multiple subsequent packets that follow said initial packet of said data session; 
 based on the results of the deep packet inspection of said first group of multiple subsequent packets, updating the RAS database by performing: if when the indicated RAS was not found in said looking-up looking up, then adding a new record in said RAS database with an associated profile per said RAS addressing information; wherein the method comprises 
 waiting until the deep packet inspection results are confirmed at least one or more times for the second group of multiple subsequent packets before updating said RAS database; 
 steering the data session to the external optimization platform (EOP) EOP via a route that excludes any proxy server and without terminating the data session in the network; 
 at the external optimization platform (EOP), receiving, at the EOP, the data session starting from said initial packet of the data session; and  
 at the external optimization platform (EOP), utilizing, at the EOP, at least the content of said initial packet of the data session to perform optimization of said data session;,  
 wherein the method performs decoupling between (i) traffic classification and (ii) traffic steering. 
 
     
     
       16. The method of  claim 15 , wherein said steering comprises:
 steering said data session, including its initial packet, to a particular external optimization platform (EOP) EOP selected from a plurality of available EOPs in accordance with said associated profile, wherein said associated profile indicates that said data session is optimizable by said particular EOP. 
 
     
     
       17. The method of  claim 15 , wherein said steering comprises:
 steering said data session to said destination address, starting with the initial packet of said data session, wherein said associated profile does not indicate that said data session is optimizable by an EOP. 
 
     
     
       18. The method of  claim 15 , further comprising:
 inspecting a multiplicity of packets from said data session by said DPI utility; 
 determining whether or not said data session is optimizable; and 
 associating said RAS with an appropriate EOP in said associated profile. 
 
     
     
       19. The method of  claim 15 , further comprising:
 ifwhen said RAS was not found by said lookinglook up, then adding a record to said RAS database for said RAS, based on results of deep packet inspection of a group of packets of said data session that comprises at least said initial packet of said data session. 
 
     
     
       20. The method of  claim 15 , further comprising:
 initializing said RAS database with a list of known RASs with their associated said profiles prior to a first operation of of deep packet inspection of said initial packet by said DPI utility. 
 
     
     
       21. A method comprising:
 storing, in a database an associated profile for each of a plurality of remote application servers;   inspecting a first packet of a data session with a deep packet inspection utility to ascertain an indication of a destination remote application server of the plurality of remote application servers;   determining from the first packet a remote application server addressing information;   identifying a destination address for the destination remote application server from the first packet;   looking up the destination remote application server in the database based on the identified destination address;   performing, by the deep packet inspection utility, deep packet inspection on a group of multiple subsequent packets that follow the first packet;   steering the data session in accordance with the associated profile of the destination remote application server stored in the database, the steering comprising starting with the first packet of the data session based on predicting the data session is suitable for processing by a first external optimization platform, wherein the predicting takes into account historical session data of the associated profiles, wherein the steering comprises steering the data session to the first external optimization platform via a route that excludes any proxy server and without terminating the data session, wherein when the destination remote access server is found in the database, and if the associated profile in the database indicates that traffic intended for the destination remote access server is optimizable, steering the data session to the first external optimization platform based on the associated profile in the database, wherein when the destination remote access server is found in the database, and if the associated profile in the database indicates that traffic intended for said destination remote access server is not optimizable, steering said data session directly to the destination remote access server;   when the destination remote access server was not found in the database, adding a new record in the database with an associated profile per the remote access server addressing information; and   utilizing, by the first external optimization platform, content of the first packet of the data session to perform optimization of the data session,   wherein the method performs decoupling between (i) traffic classification and (ii) traffic steering.   
     
     
       22. The method of claim 21, wherein the inspecting the first packet of the data session comprises performing deep packet inspection of the first packet of the data session passing through a gateway. 
     
     
       23. The method of claim 22, wherein the gateway is an Internet service gateway. 
     
     
       24. The method of claim 21, wherein the associated profile comprises an indication that data traffic associated with the destination remote application server is optimizable. 
     
     
       25. The method of claim 21, wherein the associated profile comprises an indication of which external optimization platform, out of a plurality of external optimization platforms, to steer the data session to for optimization. 
     
     
       26. A method comprising:
 storing, in a database an associated profile for each of a plurality of remote application servers;   inspecting a first packet of a data session with a deep packet inspection utility to ascertain an indication of a destination remote application server of the plurality of remote application servers;   determining from the first packet a remote application server addressing information;   identifying a destination address for the destination remote application server from the first packet;   looking up the destination remote application server in the database based on the identified destination address;   performing, by the deep packet inspection utility, deep packet inspection on a group of multiple subsequent packets that follow the first packet;   steering the data session in accordance with the associated profile of the destination remote application server stored in the database based on predicting, using account historical session data of the associated profiles, whether the data session is suitable for processing by a first external optimization platform via a route that excludes any proxy server, and without terminating the data session, wherein when the destination remote access server is found in the database, and if the associated profile in the database indicates that traffic intended for the destination remote access server is optimizable, steering the data session to the first external optimization platform based on the associated profile in the database, wherein when the destination remote access server is found in the database, and if the associated profile in the database indicates that traffic intended for said destination remote access server is not optimizable, steering said data session directly to the destination remote access server;   when the destination remote access server was not found in the database, adding a new record in the database with an associated profile per the remote access server addressing information; and   utilizing, by the first external optimization platform, content of the first packet of the data session to perform optimization of the data session,   wherein the method performs decoupling between (i) traffic classification and (ii) traffic steering.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.