Applying a network traffic policy to an application session

Information

  • Patent Grant
  • 9954899
  • Patent Number
    9,954,899
  • Date Filed
    Tuesday, May 17, 2016
    8 years ago
  • Date Issued
    Tuesday, April 24, 2018
    6 years ago
Abstract
Embodiments of the present technology relate to a method for applying a security policy to an application session, comprising: determining, by a security gateway, a first user identity and a second user identity from a data packet for an application session; obtaining, by the security gateway, a security policy for the application session; and applying the security policy to the application session by the security gateway. The user identity may be a network user identity or an application user identity recognized from packets of the application session. The security policy may comprise a network traffic policy mapped and/or a document access policy mapped to the user identity, where the network traffic policy is applied to the application session. The security gateway may further generate a security report concerning the application of the security policy to the application session.
Description
BACKGROUND OF THE INVENTION

Field


This invention relates generally to data networking, and more specifically, to a system and method to apply a network traffic policy based on a user identity during an application session.


Related Art


The secure data network of a company is a critical component for day-to-day functioning of company business activities. Company employees access the secure data network for communication within the company and with the outside world. Company information, oftentimes proprietary or confidential, is exchanged during the communication.


Typically, an employee gains access to the company's secure data network by means of a network logon procedure using a private user identity, such as a user name “Robert P. Williamson” or an employee number “NG01-60410”. Subsequent information exchange using the company's office applications, such as email, file transfer or document control is traceable based on the private user identity through network event logs.


Since the late 1990's, we have been witnessing the phenomenal rising popularity of public communication applications and services, such as email and Instant Messaging offered by Yahoo™, America Online™ (AOL), or Google™, conferencing and collaboration services offered by WebEx™ or Centra™, or peer-to-peer services for a variety of file sharing. Generally, a public communication service allows a user to exchange information through messaging, text chat or document exchange using a public user identity, such as “butterdragon”, “fingernailI984”, or “peterrabbit”.


However, in a company setting, when an employee connects to a public communication service with a public user identity over the company's secure data network, the information exchange is not easily traceable if at all since the public user identity is not tied to the private user identity.


In one example, a company's information technology (IT) department notices that an employee Victor has been using the company's email system to send out proprietary documents, violating the company's security policy. After issuing a warning to Victor, the IT department finds no further violations. Unfortunately, they are not aware of the fact that Victor has continued this activity using Yahoo™ email with a public user identity “PiratesOfCaribbean@Yahoo.com”.


In another example, two weeks before a major trade show, a company implements a security measure to monitor communication activities of employees of director level and above to ensure confidentiality of competitive information. This security measure, covering company email, phone conversation and voice messaging, nevertheless proves to be a failure as sensitive information leaks out to a business reporter anyway prior to the trade show. The source of the leak may never be confirmed, but the business reporter privately discloses that he gets the information from an anonymous employee of the company using AOL Instant Messaging™ with screen name “opensecret2006”.


In addition to associating a user identity to an application session, the company often desires to handle the network traffic of the associated application session in a control or isolated manner.


The above discussion illustrates a need for a security driven packet forwarding solution to associate a user identity to an application.


BRIEF SUMMARY OF THE INVENTION

According to some embodiments of the present invention, a method for applying a security policy to an application session, comprises: determining, by a security gateway, a first user identity and a second user identity from a data packet for an application session; obtaining, by the security gateway, a security policy for the application session; and applying the security policy to the application session by the security gateway. The user identity may be a network user identity or an application user identity recognized from packets of the application session. The security policy may comprise a network traffic policy mapped and/or a document access policy mapped to the user identity, where the network traffic policy is applied to the application session. The security gateway may further generate a security report concerning the application of the security policy to the application session.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A illustrates a secure network according to an embodiment of the present invention.



FIG. 1B illustrates an access session and an application session according to an embodiment of the present invention.



FIG. 1C illustrates an access session record and an application session record according to an embodiment of the present invention.



FIG. 2 illustrates a process to generate an application session record according to an embodiment of the present invention.



FIG. 3 illustrates a process to recognize an application session according to an embodiment of the present invention.



FIG. 4A illustrates a process to determine a public user identity of application session according to an embodiment of the present invention.



FIG. 4B illustrates a data packet in an AIM log-on packet according to an embodiment of the present invention.



FIG. 5 illustrates a process to determine a private user identity according to an embodiment of the present invention.



FIG. 6 illustrates an embodiment of a security gateway obtaining a security policy by querying a corporate directory according to an embodiment of the present invention.



FIG. 7 illustrates a security policy including a security control according to an embodiment of the present invention.



FIG. 8 illustrates a plurality of embodiments of network traffic policy according to an embodiment of the present invention.



FIG. 9 illustrates a security policy that includes a packet routing policy according to an embodiment of the present invention.



FIG. 10 illustrates a security gateway connected to a network element according to an embodiment of the present invention.





DETAILED DESCRIPTION OF THE INVENTION


FIG. 1A illustrates a secure network according to an embodiment of the present invention.


A secure network 160 includes a host 130. User 120 uses host 130 to access a public application 180 hosted in application server 190. Application server 190 is outside of secure network 160. The network traffic between host 130 and application server 190 passes through security gateway 150. The security gateway 150 is operationally coupled to a processor 171 and a computer readable medium 172. The computer readable medium 172 stores computer readable program code for implementing the various embodiments of the present invention as described herein.


Host 130 is a computing device with network access capabilities. The host 130 is operationally coupled to a processor 173 and a computer readable medium 174. The computer readable medium 174 stores computer readable program code for implementing the various embodiments of the present invention as described herein. In some embodiments, host 130 is a workstation, a desktop personal computer or a laptop personal computer. In some embodiments, host 130 is a Personal Data Assistant (PDA), a smartphone, or a cellular phone.


In some embodiments, secure network 160 is an Internet Protocol (IP) network. In some embodiments, secure network 160 is a corporate data network or a regional corporate data network. In some embodiments, secure network 160 is an Internet service provider network. In some embodiments, secure network 160 is a residential data network. In some embodiments, secure network 160 includes a wired network such as Ethernet. In some embodiments, secure network 160 includes a wireless network such as a WiFi network.


Public application 180 provides a service that allows user 120 to communicate with other users in a real-time fashion. In some embodiments, the service includes text chat. In some embodiments, the service includes a voice call or a video call. In some embodiments, the service includes a network game. In some embodiments, the service includes exchanging a document, such as sending or receiving a text document, a PowerPoint™ presentation, an Excel™ spreadsheet, an image file, a music file or a video clip. In some embodiments, the service includes a collaborative document processing such as creating a document, a business plan, an agreement, wherein user 120 collaborates with other users in a real time fashion. In some embodiments, the service includes a collaborative information exchange such as a conference call. In some embodiments, the service is a social networking service. In some embodiments, the service includes real-time collaboration and non real-time collaboration.


In one example, public application 180 provides America Online Instant Messenger™ service. In one example, public application 180 provides Yahoo Instant Messenger™ voice service. In some embodiments, public application 180 provides a file sharing service such as Kazaa™ file sharing service. In some embodiments, public application 180 provides a network game service such as Microsoft™ Network Game service. In some embodiments, public application 180 provides an on-line collaborative document processing such as Google Docs™, and Salesforce.com™. In some embodiments, public application 180 provides an on-line information exchange and communications such as WebEx™. In some embodiments, public application 180 provides live information streaming such as live video streaming, live audio streaming, and instantaneous picture uploading.


Security gateway 150 is situated at the edge of secure network 160. Security gateway 150 connects secure network 160 to public application 180. Security gateway 150 receives network traffic from secure network 160 and transmits the network traffic to application server 190. Likewise, security gateway 150 receives network traffic from application server 190 and transmits the network traffic to secure network 160.


In some embodiments, security gateway 150 includes the function of a corporate Wide Area Network (WAN) gateway. In some embodiments, security gateway 150 includes the function of a residential broadband gateway. In some embodiments, security gateway 150 includes the function of a WAN gateway for an Internet service provider.



FIG. 1B illustrates an access session and an application session according to an embodiment of the present invention.


User 120 uses host 130 to access secure network 160 during an access session 162.


Host 130 has a host identity 134. Host 130 uses host identity 134 to connect to secure network 160. In some embodiments, host identity 134 includes an Internet Protocol (IP) address. In some embodiments, host identity 134 includes a Media Access Control (MAC) address.


Within secure network 160, user 120 has a private user identity 124. In some embodiments, private user identity 124 is an employee number or an employee name. In some embodiments, private user identity 124 is an Internet service subscription identity. In some embodiments, access session 162 is established after a successful network user log-in procedure, such as an employee network log-in, for secure network 160 using private user identity 124. Private user identity 124 is associated with host identity 134. In some embodiments, host 130 is a guest computing device. Private user identity 124 is associated with an Ethernet switch port where host 130 connects. In this embodiment, private user identity 124 is a port number, an Ethernet interface identity, or an Ethernet VLAN identity.


User 120 uses host 130 to access public application 180 in an application session 182. User 120 uses a public user identity 127 during application session 182. In some embodiments, public application 180 prompts user 120 to log-in before establishing application session 182. During the application user log-in procedure, user 120 provides to public application 180 public user identity 127. In another embodiment, public application 180 selects a public user identity 127 for user 120 for application session 182. In some embodiments, public user identity 127 is set up through a user registration process or a service subscription process. Network traffic in application session 182 passes through security gateway 150.



FIG. 1C illustrates an access session record and an application session record according to an embodiment of the present invention.


Access session record 164 records information about access session 162. The information includes private user identity 124, host identity 134 and access session time 166. In some embodiments, access session time 166 is the starting time when access session 162 is established. In some embodiments, access session time 166 includes the starting time and the ending time when user 120 finishes access session 162. In some embodiments, access session time 166 is a time stamp for a time during access session 162.


Application session record 184 records information about application session 182. The information includes private user identity 124, public user identity 127, and application session time 186. In some embodiments, the information further includes host identity 134. In some embodiments, application session time 186 includes the starting time when application session 182 is established. In some embodiments, application session time 186 includes a time stamp during application session 182. In some embodiments, application session time 186 includes a time stamp when security gateway 150 recognizes application session 182.



FIG. 2 illustrates a process to generate an application session record according to an embodiment of the present invention.


The process of generating application session record 184 includes multiple steps.


In step 201, security gateway 150 recognizes an application session.


In step 202, security gateway 150 determines a public user identity of the application session.


In step 203, security gateway 150 determines a private user identity using information about the application session.



FIGS. 3-5 illustrates steps 201-203 respectively.



FIG. 3 illustrates a process to recognize an application session according to an embodiment of the present invention.


Security gateway 150 inspects network traffic between host 130 and application server 190 to recognize application session 182 for public application 180.


In some embodiments, security gateway 150 inspects data packet 339 between host 130 and application server 190 for the recognition of application session 182.


Security gateway 150 includes an application identifier 355 for public application 180. Application identifier 355 includes information for recognizing application session 182. In some embodiments, application identifier 355 includes a transport layer information, such as Transmission Control Protocol (TCP) or User Diagram Protocol (UDP); and at least one transport port number, such as a TCP port number or a UDP port number. In some embodiments, application identifier 355 includes application layer information, such as one or more data filters wherein a data filter specifies a value and a position of the value in a data packet. In one example, a data filter is [byte 0 with value “0x52”]. In one example, a data filter is [byte 4-7 with ASCII value of “ADER”].


Security gateway 150 matches data packet 339 against application identifier 355.


In some embodiments, application identifier 355 includes transport protocol type of TCP and a destination TCP port number of 5190, the TCP port number used by AIM protocol. In this embodiment, data packet 339 is a TCP packet from host 130 to application server 190. Security gateway 150 matches data packet 339 against application identifier 355 and determines that public application 180 provides AIM service.


Security gateway 150 creates application session record 184. Security gateway 150 extracts the source IP address from the IP header of data packet 339 and stores the source IP address as host identity 134. In some embodiments, data packet 339 includes link layer information, such as a source MAC address; security gateway 150 extracts and stores the source MAC address as host identity 134.


In some embodiments, security gateway 150 connects to a clock 359. Clock 359 indicates the current time of day. Security gateway 150 stores the time of day indicated by clock 359 in application session time 186.



FIG. 4A illustrates a process to determine a public user identity of application session 182 according to an embodiment of the present invention.


The method for determining public user identity 127 is typically specific to public application 180. In some embodiments, data packet 339 is an application packet. For example, public application 180 provides AIM service; data packet 339 is an AIM packet.


An AIM packet includes multiple fields, for example


Command start field is a 1-byte data field starting at byte offset 0 having a fixed hexadecimal value “0x02”;


Channel ID field is a 1-byte data field starting at byte offset 1;


Sequence number field is a 2-byte integer starting at byte offset 2;


Data field length field is a 2-byte data field starting at byte offset 4;


Family field is a 2-byte data field starting at byte offset 6; and


Subtype field is a 2-byte data field starting at byte offset 8.


An AIM log-on packet is a AIM packet with family field having a fixed hexadecimal value of “0x00 0x17” and subtype field having a fixed hexadecimal value of “0x00 0x06”.


AIM log-on packet further includes buddy name length field, a 1-byte integer starting at byte offset 19, and a variable length buddy name field starting at byte offset 20. Buddy name length field indicates the length in bytes of buddy name field.


Security gateway 150 matches data packet 339 to determine if data packet 339 is an AIM log-on packet. In some embodiments, data packet 339 is an AIM log-on packet 400 illustrated in FIG. 4B. Security gateway 150 extracts buddy name length field 405. Security gateway 150 further extracts buddy name field 407. In this embodiment, buddy name length field 405 is integer “13” and buddy name field 407 is “JohnSmith1984”. Security gateway 150 stores “JohnSmith1984” as public user identity 127 in application session record 184.


In some embodiments, data packet 339 is not an AIM log-on packet. Security gateway 150 inspects another data packet from host 130.



FIG. 5 illustrates a process to determine a private user identity according to an embodiment of the present invention.


Secure network 160 includes an identity server 570. The identity server 570 is operationally coupled to a processor 581 and a computer readable medium 582. The computer readable medium 582 stores computer readable program code for implementing the various embodiments of the present invention as described herein. Identity server 570 includes access session record 164 of access session 162 during which user 120 accesses application session 182.


Security gateway 150 queries identity server 570. Security gateway 150 sends host identity 134 and application session time 186 to identity server 570.


Identity server 570 receives host identity 134 and application session time 186. Identity server 570 matches host identity 134 and application session time 186 against access session record 164. Identity server 570 determines that host identity 134 matches host identity of access session record 164. Identity server 570 further determines that application session time 186 matches access session time 166 of access session record 164 as application session time 186 is between the starting time and the ending time of access session record 164. Identity server 570 sends private user identity 124 of access session record 164 to security gateway 150 as a response to the query.


Security gateway 150 receives private user identity 124 from identity server 570, and stores private user identity 124 in application session record 184.


In some embodiments, security gateway 150 stores public user identity 127 in application session record 184 after recognizing a log-on approval indication for the public user identity 127 from public application 180.


In some embodiments, security gateway 150 queries identity server 570 immediately after determining public user identity 127. In some embodiments, security gateway 150 queries identity server 570 after application session 182 ends.


In some embodiments, security gateway 150 queries identity server 570 by sending a plurality of host identities in a bulk request; and receives a plurality of private user identities in a bulk response.


In some embodiments, application session record 184 includes additional user information associated with private user identity 124, such as cubicle or office number, cubicle or office location, telephone number, email address, mail-drop location, department name/identity, or manager name.


In some embodiments, security gateway 150 obtains the additional user information from identity server 570. In some embodiments, security gateway 150 obtains the additional user information by querying a different server, such as a corporate directory server, by using the private user identity 124 received from identity server 570.


In some embodiments, public application 180 provides file transfer service using File Transfer Protocol (FTP) protocol or a proprietary protocol. In some embodiments, public application 180 provides email service using Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol (IMAP) or Post Office Protocol version 3 (POP3) protocol.


By using the application session record, the private user identity 124 and the public user identity 127 for an application session 182 may be determined. In some embodiments as illustrated by FIG. 6, upon determining the pubic user identity and the private user identity, security gateway 150 obtains security policy 402 for the application session 182 by querying corporate directory 470. In an embodiment, corporate directory 470 comprises security policy 402. In some embodiments, corporate directory 470 is a server computer comprising a storage 601 that includes security policy 402. In some embodiments, corporate directory 470 is a database comprising security policy 402. In another embodiment, corporate directory 470 is a software module with program code stored on a computer readable medium (not shown) running in a computer. In some embodiments, corporate directory 470 resides in identity server 570. In some embodiments, corporate directory 470 uses directory technologies such as Microsoft Active Directory™, lightweight directory access protocol (LDAP) directory services, web services, directory services using Java™ technologies. In some embodiments, corporate directory 470 includes a policy server hosting security policy 402 and other policies.


Security gateway 150 queries corporate directory 470 for a security policy, where the query includes user identity 424. User identity 424 may include private user identity 124 or public user identity 127. Corporate directory 470 matches user identity 424 against security policy 402 and determines security policy 402 is applicable to user identity 424. In some embodiments security policy 402 maps network parameters to a user identity and there is a match between user identity 424 and the user identity in the security policy 402. In some embodiments, security policy 402 maps network parameters to a group identity (not shown) and user identity 424 is a member of the group identity. In response to finding the match between the user identity 424 and the user identity in the security policy 402, corporate directory 470 sends security policy 402 to security gateway 150.


In some embodiments, security gateway 150 generates security report 475 based on application session record 184 and security policy 402. In some embodiments, security gateway 150 generates security report 475 based on a pre-determined user identity or a list of pre-determined user identities. For example, the security report may be generated based on an input of user identity or identities. In some embodiments, security gateway 150 generates security report 475 based on a pre-defined schedule or when requested by an operator.


In some embodiments, security policy 402 includes a security control function as illustrated in FIG. 7. Security gateway 150 applies the security policy 402 received from corporate directory 470 in response to the query to application session 182. Security policy 402 typically are configured by a company to protect against improper access to the company confidential documents and to protect against improper usage of the company secure network 160 vital for the company operation. In some embodiments, in response to receiving the security policy 402, the security gateway 150 confirms that the received security policy 402 contains a user identity that matches the user identity 424 sent in the query. In response to the confirmation, the security gateway 150 applies the security policy 402 to the application session 182. In FIG. 7, security policy 402 includes network traffic policy 451 or document access policy 453.



FIG. 8 illustrates a plurality of embodiments of network traffic policy 451 according to various embodiments of the present invention. In some embodiments, network traffic policy 451 specifies network based application session access control indicating if user identity 424 is denied or allowed to continue application session 182. If denied, security gateway 150 may stop forwarding data packets 439 of application session 182. In some embodiments, network traffic policy 451 specifies bandwidth rate capacity such as 1 Mbps, 100 MB per day, or 5 GB per month. In an embodiment, bandwidth rate capacity is measured in packets such as 100 packets per second, 10 thousand packets per day or 4 million packets per month. In some embodiments, network traffic policy 451 specifies a quality of service (QOS) mapped to user identity 424 for application session 182. For example, network traffic policy 451 indicates a change of Differentiated Services Code Point (DSCP) marking in the data packets 439 of application session 182. In some embodiments, network traffic policy 451 specifies a queuing delay, a queuing priority, a packet forwarding path, a link interface preference, a server load balancing preference, a packet routing policy, or other control to handle data packets 439 of application session 182.


In some embodiments, network traffic policy 451 includes a traffic shaping control. In one example, traffic shaping control specifies a TCP profile such as a change of window segment size, or a TCP window adjustment.


In some embodiments, network traffic policy 451 indicates session connection rate control based on user identity 424 specifying a rate or capacity such as 10 session connections per second, 35 concurrent sessions, 100 sessions during lunch hour, 500 sessions a day, 24 voice sessions a day, or 75 file transfer sessions an hour. In some embodiments, network traffic policy 451 may specify, when exceeding the rate or capacity, if application session 182 is denied or data packets 439 of application session 182 are dropped.


In some embodiments, network traffic policy 451 includes application session modification control mapped to user identity 424, specifying how data packets 439 of application session 182 are modified for the user with the user identity 424. In one example, application session modification control specifies security gateway 150 should perform network address translation (NAT) to application session 182 for user identity 424. In one example, security gateway 150 should perform port address translation (PAT) to application session 182 using a pre-determined port number for user identity 424. In another example, security gateway 150 should perform content substitution if application session 182 is an HTTP session and if a Universal Resource Locator (URL) in data packets 439 of application session 182 matches a pre-determined URL for user identity 424. In an example, security gateway 150 should perform filename substitution if application session 182 is a file transfer session and if a filename matching a pre-determined filename is found in data packets 439 of application session 182 for user identity 424. In another example, security gateway 150 should insert a cookie for user identity 424 if application session 182 is an HTTP session, with optionally data packets 439 matching a pre-determined POST or GET request of a URL.


Returning to FIG. 7, in some embodiments, document access policy 453 specifies if access to document 447 is allowed or denied. In some embodiments, document 447 includes a file, a business agreement, a contract, a spreadsheet, a presentation, a drawing, a textual document, a manual, a program, a piece of software program, a design, a product specification, a datasheet, a video file, an audio file, an email, a voice mail, a fax, a photocopy of a document, or any business document. In some embodiments, document 447 includes a URL leading to digital information such as database query result, a web page, a video, or a piece of music. In some embodiments, document 447 includes real time transfer or streaming of information such as video streaming, audio streaming, a webcast, a podcast, a video show, a teleconference session, or a phone call. In some embodiments, document access policy 453 includes document identity 443 and document user identity 444. Document identity 443 identifies document 447. Document user identity 444 identifies the user whose access to the document 447 is affected by the document access policy 453. In an embodiment, security gateway 150 compares user identity 424 with document user identity 444. In response to determining that the user identity 424 matches the document user identity 444, in some embodiments, security gateway 150 allows document 447 with document identity 443 to be accessed by user identity 424. In another embodiment, security gateway 150 denies access to document 447 with document identity 443. In denying access, the security gateway 150 may disconnect application session 182 or discard data packets 439. In some embodiments, security gateway 150 confirms that data packets 439 include document identity 443. In response to confirming that data packets 439 include document identity 443, security gateway 150 applies document access policy 453.


In some embodiments security policy 402 includes time 457 where security policy 402 is applicable within time 457. In some embodiments, time 457 indicates a beginning time such as 8 am, 4 pm, midnight. In an embodiment, time 457 indicates a time range such as 8 am to 10 am, 7 pm to 5 am, morning hours, lunch, rush hour, prime time. Security gateway 150 compares clock 359 with time 457 and determines if security policy 402 is applicable.


In some embodiments, security gateway 150 generates security message 472 when security gateway 150 determines if security policy 402 is applicable to application session 182 for user identity 424. In some embodiments, security gateway generates security message 472 when security gateway 150 applies security policy 402 to application session 182. In some embodiments, security report 475 includes security message 472. In one example, security message 472 includes security policy 402 and user identity 424. In one example, security message 472 includes the actions security gateway 150 applies to application session 182 using security policy 402.



FIG. 9 illustrates an embodiment where security policy 402 includes a packet routing policy 652 according to an embodiment of the present invention. Security gateway 150 is configured to receive and apply packet routing policy 652 of network traffic policy 451 to data packet 439 of application session 182. In some embodiments, packet routing policy 652 includes host network address 661, application network address 663 and forwarding interface 665. In some embodiments, host network address 661 includes IP address of host 130. In some embodiments, host network address 661 includes a transport layer identity such as TCP port number or UDP port number of application session 182. In some embodiments, application network address 663 includes IP address of application server 190. In some embodiments, application network address 663 includes a transport layer information such as TCP port number or UDP port number of application session 182.


Security gateway 150 applies packet routing policy 652 for data packet 439 of application session 182 by first comparing data packet 439 against packet routing policy 652. In some embodiments, security gateway 150 obtains source network address of data packet 439, which may include source IP address and source transport layer information. In some embodiments, security gateway 150 obtains destination network address of data packet 439, which may include destination IP address and destination transport layer information. Security gateway 150 compares source network address of data packet 439 against host network address 661, and in some embodiments, compares destination network address of data packet 439 against application network address 663. When there is match, security gateway 150 processes data packet 439 using forwarding interface 665. In some embodiments, security gateway 150 includes a network interface 671 and forwarding interface 665 indicates transmitting data packet 439 using network interface 671. In some embodiments, forwarding interface 665 indicates a modification to be applied to data packet 439 prior to transmission. In some embodiments, the modification indicated in forwarding interface 665 is to add a tunnel header, such as an IP-IP tunnel header, an L2TP tunnel header, an IPSec tunnel header, or a layer 2 tunnel header. Security gateway 150 applies the modification to data packet 439 and sends the modified data packet 439 to network interface 671.


In some embodiments illustrated in FIG. 10, security gateway 150 connects to a network element 154. Embodiments of network element 154 includes functionality of a network switch such as an Ethernet switch, a router, a network gateway, a security gateway similar to security gateway 150, a firewall, and a border gateway. In some embodiments, security policy 402 includes packet routing policy 652 and packet routing policy 654. Packet routing policy 654 is associated with network element 154 and packet routing policy 652 is associated with security gateway 150. Security gateway 150 applies security policy 402 by first sending packet routing policy 654 to network element 154 such that network element 154 can apply packet routing policy 654. Security gateway 150 applies packet routing policy 652 to data packet 439 of application session 182 as illustrated in FIG. 9. In some embodiments, forwarding interface of packet routing policy 652 directs security gateway 150 to send data packet 439 or modified data packet 439 to network element 154.


In some embodiments, network element 154 receives data packet 439 or modified data packet 439 from security gateway 150. Network element 154 applies packet routing policy 654 to received data packet 439 in a similar manner as security gateway 150 applying packet routing policy 652 to data packet 439.


In some embodiments, packet routing policy 654 is associated with one or more additional network elements. Security gateway 150 sends packet routing policy 654 to the additional network elements.


In some embodiments, security gateway 150 applies packet routing policy 654 in conjunction with other attributes of network traffic policy 451.


The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.


Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.


The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.


A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.


Input/output or I/O devices (including but not limited to keyboards, displays, point devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.


Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.


Foregoing described embodiments of the invention are provided as illustrations and descriptions. They are not intended to limit the invention to precise form described. In particular, it is contemplated that functional implementation of invention described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks, and that networks may be wired, wireless, or a combination of wired and wireless. Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but rather by the Claims following.

Claims
  • 1. A method for applying a security policy to an application session, comprising: determining, by a security gateway, a first user identity and a second user identity from a data packet for an application session, the determining comprising: inspecting, by the security gateway, the data packet for the application session and storing a host identity and an application session time in an application session record;determining, by the security gateway, from the data packet for the application session a user identity and storing the user identity in the application session record;determining, by the security gateway, a second user identity by matching an access session record of an access session accessed during the application session that comprises the second user identity, a second host identity, and an access session time, wherein the second host identity, and the access session time match the host identity and the application session time of the application session record;storing the second user identity in the application session record;obtaining, by the security gateway, a security policy for the application session based on the first user identity or the second user identity; andapplying the security policy to the application session by the security gateway.
  • 2. The method of claim 1, wherein the obtaining a security policy for the application session comprises: querying, by the security gateway, a corporate directory comprising a plurality of security policies, the query including a user identity;matching, by the corporate directory, the user identity of the query against the plurality of security policies to determine whether one of the plurality of security policies is applicable to the user identity of the query; andin response to finding a match, sending, by the corporate directory, the security policy to the security gateway.
  • 3. The method of claim 2, wherein the user identity of the query comprises at least one of the first user identity and the second user identity.
  • 4. The method of claim 2, wherein the matching the user identity of the query against the plurality of security policies comprises: mapping, by the security policy, network parameters of one of the plurality of security policies to the user identity of the query; and determining whether there is a match between the user identity of the query and the user identity in the security policy.
  • 5. The method of claim 1, wherein at least one of the plurality of security policies comprises a network traffic policy.
  • 6. The method of claim 5, wherein the network traffic policy comprises one or more of the following: packet modification control for the application session;traffic shaping control;application session access control indicating whether the user identity of the query is denied or allowed to continue to the application session; anda bandwidth control.
  • 7. The method of claim 6, wherein the packet modification control for the application session comprises one or more of the following: performing network address translation to the application session;performing port address translation to the application session using a pre-determined port number;performing content substitution, if the application session is an Hypertext Transfer Protocol (HTTP) session and if a Universal Resource Locator (URL) in data packets of the application session matches a predetermined URL;performing filename substitution, if the application session is a file transfer session and if a filename matching a pre-determined filename is found in data packets of the application session; andinserting a cookie for the user of the user identity, if the application session is an HTTP session.
  • 8. The method of claim 1, further comprising generating a security report concerning the application of the security policy to the application session.
  • 9. A system, comprising: a corporate directory comprising a plurality of security policies; anda security gateway, wherein the security gateway:determines a first user identity and a second user identity from a data packet for an application session, the determining comprising: inspecting the data packet for the application session and storing a host identity and an application session time in an application session record;determining from the data packet for the application session a user identity and storing the user identity in the application session record;determining a second user identity by matching an access session record of an access session accessed during the application session that comprises the second user identity, a second host identity, and an access session time, wherein the second host identity, and the access session time match the host identity and the application session time of the application session record;storing the second user identity in the application session record;obtains a security policy for the application session, the security policy based on the first user identity or the second user identity; andapplies the security policy to the application session.
  • 10. The system of claim 9, wherein the security gateway obtains a security policy for the application session comprises: querying, by the security gateway, the corporate directory, the query including a user identity;matching, by the corporate directory, the user identity of the query against the plurality of security policies to determine whether one of the plurality of security policies is applicable to the user identity of the query; andin response to finding a match, sending, by the corporate directory, the security policy to the security gateway.
  • 11. The system of claim 10, wherein the user identity of the query comprises at least one of the first user identity and the second user identity.
  • 12. The system of claim 10, wherein the matching the user identity of the query against the plurality of security policies comprises: mapping, by one of the plurality of security policies, network parameters of the security policy to the user identity of the query; anddetermining whether there is a match between the user identity of the query and the user identity in the security policy.
  • 13. The system of claim 9, wherein at least one of the plurality of security policies comprises a network traffic policy.
  • 14. The system of claim 13, wherein the network traffic policy comprises one or more of the following: packet modification control for the application session;traffic shaping control;application session access control indicating whether the user identity of the query is denied or allowed to continue to the application session; anda bandwidth control.
  • 15. The system of claim 14, wherein the packet modification control for the application session comprises one or more of the following: performing network address translation to the application session;performing port address translation to the application session using a pre-determined port number;performing content substitution, if the application session is an Hypertext Transfer Protocol (HTTP) session and if a Universal Resource Locator (URL) in data packets of the application session matches a predetermined URL;performing filename substitution, if the application session is a file transfer session and if a filename matching a pre-determined filename is found in data packets of the application session; andinserting a cookie for the user of the user identity, if the application session is an HTTP session.
  • 16. The system of claim 9, wherein the security gateway further generates a security report concerning the application of the security policy to the application session.
  • 17. A non-transitory computer readable storage medium having computer readable program code embodied therewith for routing data packets of an application session, the computer readable program code configured to: determine, by a security gateway, a first user identity and a second user identity from a data packet for an application session, the determining comprising: inspecting, by the security gateway, the data packet for the application session and storing a host identity and an application session time in an application session record;determining, by the security gateway, from the data packet for the application session a user identity and storing the user identity in the application session record;determining, by the security gateway, a second user identity by matching an access session record of an access session accessed during the application session that comprises the second user identity, a second host identity, and an access session time, wherein the second host identity, and the access session time match the host identity and the application session time of the application session record;storing the second user identity in the application session record;obtain, by the security gateway, a security policy for the application session based on the first user identity or the second user identity; andapply the security policy to the application session by the security gateway.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of and claims the priority benefit of U.S. patent application Ser. No. 14/973,675, filed on Dec. 17, 2015, issued as U.S. Pat. No. 9,356,910 on May 31, 2016; which in turn is a continuation of U.S. patent application Ser. No. 14/323,920, filed on Jul. 3, 2014, issued as U.S. Pat. No. 9,253,152 on Feb. 2, 2016; which in turn is a continuation of U.S. patent application Ser. No. 14/061,722, filed on Oct. 23, 2013, issued as U.S. Pat. No. 8,826,372 on Sep. 2, 2014; which in turn is a continuation of U.S. patent application Ser. No. 13/716,124, filed on Dec. 15, 2012, issued as U.S. Pat. No. 8,584,199 on Nov. 12, 2013; which in turn is a continuation-in-part of U.S. patent application Ser. No. 13/650,179, filed on Oct. 12, 2012, issued as U.S. Pat. No. 8,595,791 on Nov. 26, 2013; which in turn is a continuation of U.S. patent application Ser. No. 12/788,339, filed on May 27, 2010, issued as U.S. Pat. No. 8,312,507 on Nov. 13, 2012; which in turn is a continuation-in-part of U.S. patent application Ser. No. 12/771,491, filed on Apr. 30, 2010, issued as U.S. Pat. No. 7,979,585 on Jul. 12, 2011; which in turn is a continuation of U.S. patent application Ser. No. 11/582,613, filed on Oct. 17, 2006, issued as U.S. Pat. No. 7,716,378, on May 11, 2010. The disclosures of the above referenced applications are hereby incorporated by reference.

US Referenced Citations (285)
Number Name Date Kind
4403286 Fry et al. Sep 1983 A
4495570 Kitajima et al. Jan 1985 A
4577272 Ballew et al. Mar 1986 A
4720850 Oberlander et al. Jan 1988 A
4864492 Blakely-Fogel et al. Sep 1989 A
4882699 Evensen Nov 1989 A
5031089 Liu et al. Jul 1991 A
5218676 Ben-Ayed et al. Jun 1993 A
5293488 Riley et al. Mar 1994 A
5341477 Pitkin et al. Aug 1994 A
5432908 Heddes et al. Jul 1995 A
5537542 Eilert et al. Jul 1996 A
5563878 Blakeley et al. Oct 1996 A
5603029 Aman et al. Feb 1997 A
5675739 Eilert et al. Oct 1997 A
5740371 Wallis Apr 1998 A
5751971 Dobbins et al. May 1998 A
5754752 Sheh et al. May 1998 A
5774660 Brendel et al. Jun 1998 A
5774668 Choquier et al. Jun 1998 A
5796936 Watabe et al. Aug 1998 A
5812771 Fee et al. Sep 1998 A
5828847 Gehr et al. Oct 1998 A
5835724 Smith Nov 1998 A
5867636 Walker Feb 1999 A
5867661 Bittinger et al. Feb 1999 A
5875296 Shi et al. Feb 1999 A
5917997 Bell et al. Jun 1999 A
5918017 Attanasio et al. Jun 1999 A
5923854 Bell et al. Jul 1999 A
5931914 Chiu Aug 1999 A
5935207 Logue et al. Aug 1999 A
5935215 Bell et al. Aug 1999 A
5941988 Bhagwat et al. Aug 1999 A
5944794 Okamoto et al. Aug 1999 A
5946686 Schmuck et al. Aug 1999 A
5951650 Bell et al. Sep 1999 A
5951694 Choquier et al. Sep 1999 A
6006264 Colby et al. Dec 1999 A
6006269 Phaal Dec 1999 A
6031978 Cotner et al. Feb 2000 A
6041357 Kunzelman et al. Mar 2000 A
6076108 Courts et al. Jun 2000 A
6088728 Bellemore et al. Jul 2000 A
6098093 Bayeh et al. Aug 2000 A
6104717 Coile et al. Aug 2000 A
6119174 Borowsky et al. Sep 2000 A
6128279 O'Neil et al. Oct 2000 A
6141759 Braddy Oct 2000 A
6185598 Farber et al. Feb 2001 B1
6223205 Harchol-Balter et al. Apr 2001 B1
6223287 Douglas et al. Apr 2001 B1
6247057 Barrera, III Jun 2001 B1
6249820 Dobbins et al. Jun 2001 B1
6252878 Locklear, Jr. et al. Jun 2001 B1
6262976 McNamara Jul 2001 B1
6286039 Van Horne et al. Sep 2001 B1
6314463 Abbott et al. Nov 2001 B1
6317786 Yamane et al. Nov 2001 B1
6324177 Howes et al. Nov 2001 B1
6330560 Harrison et al. Dec 2001 B1
6339423 Sampson et al. Jan 2002 B1
6353614 Borella et al. Mar 2002 B1
6363075 Huang et al. Mar 2002 B1
6363081 Gase Mar 2002 B1
6374300 Masters Apr 2002 B2
6374359 Shrader et al. Apr 2002 B1
6381632 Lowell Apr 2002 B1
6393475 Leong et al. May 2002 B1
6397261 Eldridge et al. May 2002 B1
6430622 Aiken, Jr. et al. Aug 2002 B1
6445704 Howes et al. Sep 2002 B1
6446225 Robsman et al. Sep 2002 B1
6490682 Vanstone et al. Dec 2002 B2
6496866 Attanasio et al. Dec 2002 B2
6510464 Grantges, Jr. et al. Jan 2003 B1
6515988 Eldridge et al. Feb 2003 B1
6542926 Zalewski et al. Apr 2003 B2
6564215 Hsiao et al. May 2003 B1
6567857 Gupta et al. May 2003 B1
6578066 Logan et al. Jun 2003 B1
6587866 Modi et al. Jul 2003 B1
6591262 MacLellan et al. Jul 2003 B1
6594268 Aukia et al. Jul 2003 B1
6598167 Devine et al. Jul 2003 B2
6606315 Albert et al. Aug 2003 B1
6609150 Lee et al. Aug 2003 B2
6611498 Baker et al. Aug 2003 B1
6650641 Albert et al. Nov 2003 B1
6657974 Britton et al. Dec 2003 B1
6697354 Borella et al. Feb 2004 B1
6701377 Burmann et al. Mar 2004 B2
6704317 Dobson Mar 2004 B1
6711618 Danner et al. Mar 2004 B1
6714979 Brandt et al. Mar 2004 B1
6718383 Hebert Apr 2004 B1
6742126 Mann et al. May 2004 B1
6745229 Gobin et al. Jun 2004 B1
6748413 Boumas Jun 2004 B1
6760758 Lund et al. Jul 2004 B1
6763370 Schmeidler et al. Jul 2004 B1
6763468 Gupta et al. Jul 2004 B2
6772333 Brendel Aug 2004 B1
6779017 Lamberton et al. Aug 2004 B1
6877095 Allen Apr 2005 B1
6886044 Miles et al. Apr 2005 B1
6892307 Wood et al. May 2005 B1
6941384 Aiken, Jr. et al. Sep 2005 B1
6952728 Alles et al. Oct 2005 B1
6954784 Aiken, Jr. et al. Oct 2005 B2
6963917 Callis et al. Nov 2005 B1
6965930 Arrowood et al. Nov 2005 B1
6996617 Aiken, Jr. et al. Feb 2006 B1
6996631 Aiken, Jr. et al. Feb 2006 B1
7058600 Combar et al. Jun 2006 B1
7058789 Henderson et al. Jun 2006 B2
7120697 Aiken, Jr. et al. Oct 2006 B2
7188181 Squier et al. Mar 2007 B1
7225249 Barry et al. May 2007 B1
7430611 Aiken, Jr. et al. Sep 2008 B2
7463648 Eppstein et al. Dec 2008 B1
7509369 Tormasov Mar 2009 B1
7703102 Eppstein et al. Apr 2010 B1
7792113 Foschiano et al. Sep 2010 B1
7948952 Hurtta et al. May 2011 B2
7970934 Patel Jun 2011 B1
7991859 Miller et al. Aug 2011 B1
8001594 Heintz Aug 2011 B2
8019870 Eppstein et al. Sep 2011 B1
8032634 Eppstein et al. Oct 2011 B1
8179809 Eppstein et al. May 2012 B1
8191106 Choyi et al. May 2012 B2
8224971 Miller et al. Jul 2012 B1
8234650 Eppstein et al. Jul 2012 B1
8239445 Gage et al. Aug 2012 B1
8255644 Sonnier et al. Aug 2012 B2
8296434 Miller et al. Oct 2012 B1
8312507 Chen et al. Nov 2012 B2
8543644 Gage et al. Sep 2013 B2
8584199 Chen et al. Nov 2013 B1
8595791 Chen et al. Nov 2013 B1
8813180 Chen et al. Aug 2014 B1
8826372 Chen et al. Sep 2014 B1
8885463 Medved et al. Nov 2014 B1
9118618 Davis Aug 2015 B2
9118620 Davis Aug 2015 B1
9219751 Chen et al. Dec 2015 B1
9253152 Chen et al. Feb 2016 B1
9270705 Chen et al. Feb 2016 B1
9338225 Jalan et al. May 2016 B2
9350744 Chen et al. May 2016 B2
9356910 Chen et al. May 2016 B2
9497201 Chen et al. Nov 2016 B2
9544364 Jalan et al. Jan 2017 B2
20010015812 Sugaya Aug 2001 A1
20020010783 Primak et al. Jan 2002 A1
20020091831 Johnson Jul 2002 A1
20020124089 Aiken, Jr. et al. Sep 2002 A1
20020133491 Sim et al. Sep 2002 A1
20020141448 Matsunaga Oct 2002 A1
20020143953 Aiken Oct 2002 A1
20020143954 Aiken, Jr. et al. Oct 2002 A1
20020166080 Attanasio et al. Nov 2002 A1
20020178265 Aiken, Jr. et al. Nov 2002 A1
20020178268 Aiken, Jr. et al. Nov 2002 A1
20020191575 Kalavade et al. Dec 2002 A1
20020194335 Maynard Dec 2002 A1
20020199000 Banerjee Dec 2002 A1
20030023711 Parmar et al. Jan 2003 A1
20030023873 Ben-Itzhak Jan 2003 A1
20030031180 Datta et al. Feb 2003 A1
20030035420 Niu Feb 2003 A1
20030061402 Yadav Mar 2003 A1
20030074579 Della-Libera Apr 2003 A1
20030079146 Burstein Apr 2003 A1
20030081624 Aggarwal et al. May 2003 A1
20030105862 Villavicencio Jun 2003 A1
20030131116 Jain Jul 2003 A1
20030131245 Linderman Jul 2003 A1
20030152078 Henderson et al. Aug 2003 A1
20030154293 Zmolek Aug 2003 A1
20030202536 Foster et al. Oct 2003 A1
20040001497 Sharma Jan 2004 A1
20040128312 Shalabi et al. Jul 2004 A1
20040139057 Hirata et al. Jul 2004 A1
20040139108 Tang et al. Jul 2004 A1
20040141005 Banatwala et al. Jul 2004 A1
20040143599 Shalabi et al. Jul 2004 A1
20040184442 Jones et al. Sep 2004 A1
20040210623 Hydrie et al. Oct 2004 A1
20040253956 Collins Dec 2004 A1
20050009520 Herrero Jan 2005 A1
20050021949 Izawa et al. Jan 2005 A1
20050038881 Ben-Itzhak Feb 2005 A1
20050071687 Pathakis Mar 2005 A1
20050125276 Rusu Jun 2005 A1
20050141506 Aiken, Jr. et al. Jun 2005 A1
20050249225 Singhal Nov 2005 A1
20050259586 Hafid et al. Nov 2005 A1
20060036733 Fujimoto et al. Feb 2006 A1
20060056297 Bryson Mar 2006 A1
20060064478 Sirkin Mar 2006 A1
20060069804 Miyake et al. Mar 2006 A1
20060077926 Rune Apr 2006 A1
20060092950 Arregoces et al. May 2006 A1
20060098645 Walkin May 2006 A1
20060112170 Sirkin May 2006 A1
20060190997 Mahajani et al. Aug 2006 A1
20060209789 Gupta et al. Sep 2006 A1
20060230129 Swami et al. Oct 2006 A1
20070086382 Narayanan et al. Apr 2007 A1
20070094396 Takano et al. Apr 2007 A1
20070118881 Mitchell et al. May 2007 A1
20070156919 Potti et al. Jul 2007 A1
20070165622 O'Rourke et al. Jul 2007 A1
20070259673 Willars et al. Nov 2007 A1
20070274285 Werber et al. Nov 2007 A1
20070286077 Wu Dec 2007 A1
20070288247 Mackay Dec 2007 A1
20070294209 Strub et al. Dec 2007 A1
20080109870 Sherlock et al. May 2008 A1
20080134332 Keohane et al. Jun 2008 A1
20080162679 Maher et al. Jul 2008 A1
20080263209 Pisharody et al. Oct 2008 A1
20080271130 Ramamoorthy Oct 2008 A1
20080320151 McCanne et al. Dec 2008 A1
20090037361 Prathaban et al. Feb 2009 A1
20090106830 Maher Apr 2009 A1
20090141634 Rothstein et al. Jun 2009 A1
20090213858 Dolganow et al. Aug 2009 A1
20090262741 Jungck et al. Oct 2009 A1
20090271472 Scheifler et al. Oct 2009 A1
20090313379 Rydnell et al. Dec 2009 A1
20100162378 Jayawardena et al. Jun 2010 A1
20100188975 Raleigh Jul 2010 A1
20100235880 Chen et al. Sep 2010 A1
20100312740 Clemm et al. Dec 2010 A1
20110013525 Breslau et al. Jan 2011 A1
20110064083 Borkenhagen et al. Mar 2011 A1
20110099403 Miyata et al. Apr 2011 A1
20110110294 Valluri et al. May 2011 A1
20110153834 Bharrat Jun 2011 A1
20110185073 Jagadeeswaran et al. Jul 2011 A1
20110276695 Maldaner Nov 2011 A1
20110292939 Subramaian et al. Dec 2011 A1
20120023231 Ueno Jan 2012 A1
20120066371 Patel et al. Mar 2012 A1
20120084460 McGinnity et al. Apr 2012 A1
20120117571 Davis et al. May 2012 A1
20120144014 Natham et al. Jun 2012 A1
20120151353 Joanny Jun 2012 A1
20120155495 Clee et al. Jun 2012 A1
20120239792 Banerjee et al. Sep 2012 A1
20120240185 Kapoor et al. Sep 2012 A1
20130007225 Gage et al. Jan 2013 A1
20130074177 Varadhan et al. Mar 2013 A1
20130083725 Mallya et al. Apr 2013 A1
20130089099 Pollock et al. Apr 2013 A1
20130091273 Ly et al. Apr 2013 A1
20130148500 Sonoda et al. Jun 2013 A1
20130166731 Yamanaka et al. Jun 2013 A1
20130191548 Boddukuri et al. Jul 2013 A1
20130262702 Davis Oct 2013 A1
20130282791 Kruglick Oct 2013 A1
20130311686 Fetterman et al. Nov 2013 A1
20140047115 Lipscomb et al. Feb 2014 A1
20140164617 Jalan et al. Jun 2014 A1
20140258465 Li Sep 2014 A1
20140258536 Chiong Sep 2014 A1
20140269728 Jalan et al. Sep 2014 A1
20140330982 Jalan et al. Nov 2014 A1
20140334485 Jain et al. Nov 2014 A1
20150085650 Cui et al. Mar 2015 A1
20150215436 Kancherla Jul 2015 A1
20150281087 Jalan et al. Oct 2015 A1
20150350383 Davis Dec 2015 A1
20150381465 Narayanan et al. Dec 2015 A1
20160036778 Chen et al. Feb 2016 A1
20160050233 Chen et al. Feb 2016 A1
20160105395 Chen et al. Apr 2016 A1
20160105446 Chen et al. Apr 2016 A1
20160119382 Chen et al. Apr 2016 A1
20160139910 Ramanathan et al. May 2016 A1
20160173579 Jalan et al. Jun 2016 A1
20170041350 Chen et al. Feb 2017 A1
Foreign Referenced Citations (20)
Number Date Country
1725702 Jan 2006 CN
101094225 Dec 2007 CN
101567818 Oct 2009 CN
102104548 Jun 2011 CN
102918801 Feb 2013 CN
103365654 Oct 2013 CN
102918801 May 2016 CN
0648038 Apr 1995 EP
1770915 Apr 2007 EP
1885096 Feb 2008 EP
2577910 Apr 2013 EP
1183569 Dec 2013 HK
1188498 May 2014 HK
2001298449 Oct 2001 JP
2013528330 Jul 2013 JP
5946189 Jun 2016 JP
WO2011149796 Dec 2011 WO
WO2014088741 Jun 2014 WO
WO2014144837 Sep 2014 WO
WO2014179753 Nov 2014 WO
Non-Patent Literature Citations (23)
Entry
Cardellini, et al., “Dynamic Load Balancing on Web-Server Systems”, IEEE Internet Computing, 1999, vol. 3(3), pp. 28-29.
Samar, V., “Single Sign-On Using Cookies for Web Applications,” IEEE 8th International Workshop, 1999, pp. 158-163.
“Allot Announces the General Availability of its Directory Services-Based NetPolicy™ Manager,” Allot Communications, Tel Aviv, Israel, Feb. 28, 2000, 2 pages.
“Allot Communications Announces Business-Aware Network Policy Manager,” Allot Communications, Sophia Antipolis, France, Sep. 20, 1999, 2 pages.
“Allot Communications Announces Directory Services Based Network Policy Manager,” Allot Communications, Los Gatos, California, Apr. 5, 1999, 2 pages.
“Allot Communications Announces the Netenforcer Family of IP Traffic Management Products: Fault-Tolerant, Scaleable, Policy-Based Bandwidth Management, QOS, SLA Solutions,” Allot Communications, Burlingame, California, Dec. 13, 1999, 2 pages.
“Allot Communications Launches NetEnforcer with NetWizard, the Fastest Way to Implement Accurate and Reliable Network QoS Policies,” Allot Communications, Burlingame, California, Jan. 25, 2001, 2 pages.
“Allot Introduces Turnkey Next Generation IP Service and Creation Solution—the Virtual Bandwidth Manager,” Allot Communications, Atlanta, Georgia, SUPERCOMM 2000, Booth #8458, Jun. 5, 2000, 2 pages.
“Data Communications Awards Allot Communications ‘Hot Product’ in Internetworking/IP Tools Category,” Allot Communications, Los Gatos, California, Jan. 18, 1999, 2 pages.
“Policy-Based Network Architecture,” Allot Communications, 2001, 12 pages.
Dahlin, A. et al, “EDDIE A Robust and Scalable Internet Server,” Ericsson Telecom AB, Stockholm, Sweden, pp. 1-7 (May 1998).
Aron, Mohit et al., “Efficient Support for P-HTTP in Cluster-Based Web Servers,” Proceedings of 1999 Annual Usenix Technical Conference, Monterey, California, Jun. 1999, 14 pages.
Aron, Mohit et al., “Scalable Content-aware Request Distribution in Cluster-based Network Servers,” Proceedings of the 2000 Annual Usenix Technical Conference, San Diego, California, Jun. 2000, 15 pages.
Aron, Mohit, “Scalable Content-aware Request Distribution in Cluster-based Network Servers,” Department of Computer Science, Rice University [Online, retreived on Mar. 13, 2001], Retreived from the Internet: <URL:http://softlib.rice.edu/softlib/scalableRD.html>, 8 pages.
“ACEdirector™: 8-PORT 10/100 MBPS Ethernet Switch,” Alteon WebSystems, San Jose, California (1999), 2 pages.
“Enhancing Web User Experience with Global Server Load Balancing,” Alteon WebSystems, San Jose, California, Jun. 1999, 8 pages.
“The Next Step in Server Load Balancing,” Alteon WebSystems, San Jose, California, Nov. 1999, 16 pages.
“1.3.1.2.5 Virtual IP Addressing (VIPA),” excerpt from “IP Configuration” [online], IBM Corporation, 1998 [retreived on Sep. 8, 1999], retreived from the Internet: <URL:http://w3.enterlib.ibm.com:80/cgi-bin/bookmgr/books/F1AF7001/1.3.1.2>, 4 pages.
“1.3.20 Device and LINK Statement-Virtual Devices (VIPA),” excerpt from “IP Configuration” [online], IBM Corporation, 1998 [retrieved on Sep. 8, 1999], retrieved from the Internet: <URL:http://w3.enterlib.ibm.com:80/cgi-bin/bookmgr/books/F1AF7001/1.3.2>, 3 pages.
“1.3.23 Home Statement,” excerpt from “IP Configuration” [online], IBM Corporation, 1998 [retrieved on Sep. 8, 1999], retrieved from the Internet: <URL:http://w3.enterlib.ibm.com:80/cgi-bin/bookmgr/books/F1AF7001/1.3.2>, 6 pages.
Devine, Mac, “TCP/IP Application Availability and Workload Balancing in the Parallel Sysplex,” SHARE Technical Conference, Aug. 22-27, 1999, 17 pages.
Pai, Vivek S. et al., “Locality-Aware Request Distribution in Cluster-based Network Servers,” Proceedings of the 8th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS VIII), San Jose, CA, Oct. 1998, 12 pages.
Apostolopoulos, G. et al., “Design, Implementation and Performance of a Content-Based Switch,” INFOCOM 2000, Nineteenth Annual Joint Conference of the IEEE Computer and Communication Societies, IEEE, Mar. 2000, pp. 1117-1126, vol. 3.
Related Publications (1)
Number Date Country
20160261642 A1 Sep 2016 US
Continuations (6)
Number Date Country
Parent 14973675 Dec 2015 US
Child 15157357 US
Parent 14323920 Jul 2014 US
Child 14973675 US
Parent 14061722 Oct 2013 US
Child 14323920 US
Parent 13716124 Dec 2012 US
Child 14061722 US
Parent 12788339 May 2010 US
Child 13650179 US
Parent 11582613 Oct 2006 US
Child 12771491 US
Continuation in Parts (2)
Number Date Country
Parent 13650179 Oct 2012 US
Child 13716124 US
Parent 12771491 Apr 2010 US
Child 12788339 US