Movatterモバイル変換


[0]ホーム

URL:


US9197538B2 - Rule-based routing to resources through a network - Google Patents

Rule-based routing to resources through a network
Download PDF

Info

Publication number
US9197538B2
US9197538B2US14/061,988US201314061988AUS9197538B2US 9197538 B2US9197538 B2US 9197538B2US 201314061988 AUS201314061988 AUS 201314061988AUS 9197538 B2US9197538 B2US 9197538B2
Authority
US
United States
Prior art keywords
resource
address
network
client
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US14/061,988
Other versions
US20140053237A1 (en
Inventor
Chris Hopen
Bryan Sauve
Paul Hoover
Bill Perry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quest Software Inc
Aventail LLC
SonicWall US Holdings Inc
Original Assignee
Aventail LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/009,692external-prioritypatent/US8255973B2/en
Priority to US14/061,988priorityCriticalpatent/US9197538B2/en
Application filed by Aventail LLCfiledCriticalAventail LLC
Publication of US20140053237A1publicationCriticalpatent/US20140053237A1/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENTreassignmentBANK OF AMERICA, N.A., AS COLLATERAL AGENTSUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN)Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENTreassignmentTHE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENTSUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES)Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENTreassignmentBANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENTSUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL)Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Assigned to AVENTAIL LLCreassignmentAVENTAIL LLCMERGER (SEE DOCUMENT FOR DETAILS).Assignors: AVENTAIL CORPORATION
Assigned to AVENTAIL CORPORATIONreassignmentAVENTAIL CORPORATIONASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: HOOVER, PAUL, HOPEN, CHRIS, SAUVE, BRYAN, PERRY, BILL
Priority to US14/477,767prioritypatent/US9397927B2/en
Publication of US9197538B2publicationCriticalpatent/US9197538B2/en
Application grantedgrantedCritical
Priority to US15/180,329prioritypatent/US10003576B2/en
Assigned to DELL PRODUCTS L.P., FORCE10 NETWORKS, INC., DELL SOFTWARE INC., COMPELLENT TECHNOLOGIES, INC., CREDANT TECHNOLOGIES, INC., SECUREWORKS, INC.reassignmentDELL PRODUCTS L.P.RELEASE OF REEL 032809 FRAME 0887 (ABL)Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTreassignmentCREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTSECURITY AGREEMENTAssignors: AVENTAIL LLC, DELL PRODUCTS, L.P., DELL SOFTWARE INC.
Assigned to CREDANT TECHNOLOGIES, INC., DELL SOFTWARE INC., SECUREWORKS, INC., DELL PRODUCTS L.P., COMPELLENT TECHNOLOGIES, INC., FORCE10 NETWORKS, INC.reassignmentCREDANT TECHNOLOGIES, INC.RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL)Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENTreassignmentTHE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENTSECURITY AGREEMENTAssignors: AVENTAIL LLC, DELL PRODUCTS L.P., DELL SOFTWARE INC.
Assigned to DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC., DELL PRODUCTS L.P., CREDANT TECHNOLOGIES, INC., COMPELLENT TECHNOLOGIES, INC.reassignmentDELL SOFTWARE INC.RELEASE OF REEL 032810 FRAME 0206 (NOTE)Assignors: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Assigned to DELL PRODUCTS, L.P., AVENTAIL LLC, DELL SOFTWARE INC.reassignmentDELL PRODUCTS, L.P.RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS).Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to DELL SOFTWARE INC., AVENTAIL LLC, DELL PRODUCTS L.P.reassignmentDELL SOFTWARE INC.RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642)Assignors: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTreassignmentCREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTFIRST LIEN PATENT SECURITY AGREEMENTAssignors: DELL SOFTWARE INC.
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTreassignmentCREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTSECOND LIEN PATENT SECURITY AGREEMENTAssignors: DELL SOFTWARE INC.
Assigned to SONICWALL US HOLDINGS, INC.reassignmentSONICWALL US HOLDINGS, INC.INTELLECTUAL PROPERTY SECURITY AGREEMENTAssignors: AVENTAIL LLC
Assigned to SONICWALL US HOLDINGS INC.reassignmentSONICWALL US HOLDINGS INC.CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041072 FRAME: 235. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT.Assignors: AVENTAIL LLC
Assigned to AVENTAIL LLC, QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.)reassignmentAVENTAIL LLCCORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT.Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to AVENTAIL LLC, QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.)reassignmentAVENTAIL LLCRELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Assigned to UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENTreassignmentUBS AG, STAMFORD BRANCH, AS COLLATERAL AGENTSECOND LIEN PATENT SECURITY AGREEMENTAssignors: SONICWALL US HOLDINGS INC.
Assigned to UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENTreassignmentUBS AG, STAMFORD BRANCH, AS COLLATERAL AGENTFIRST LIEN PATENT SECURITY AGREEMENTAssignors: SONICWALL US HOLDINGS INC.
Anticipated expirationlegal-statusCritical
Assigned to SONICWALL US HOLDINGS INC.reassignmentSONICWALL US HOLDINGS INC.RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393Assignors: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

Techniques for determining which resource access requests are handled locally at a remote computer, and which resource access requests are routed or “redirected” through a virtual private network. One or more routing or “redirection” rules are downloaded from a redirection rule server to a remote computer. When the node of the virtual private network running on the remote computer receives a resource access request, it compares the identified resource with the rules. Based upon how the identified resource matches one or more rules, the node will determine whether the resource access request is redirected through the virtual private network or handled locally (e.g., retrieved locally from another network). A single set of redirection rules can be distributed to and employed by a variety of different virtual private network communication techniques.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 11/251,592 filed Oct. 14, 2005 now U.S. Pat. No. 8,950,032, which claims the priority benefit of U.S. provisional application No. 60/619,151 filed Oct. 14, 2004. U.S. patent application Ser. No. 11/251,592 is also a continuation-in-part and claims the priority benefit of U.S. patent application Ser. No. 11/009,692 filed Dec. 10, 2004, now U.S. Pat. No. 8,255,973, which claims the priority benefit of U.S. provisional application 60/528,870 filed Dec. 10, 2003, the disclosures of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the routing of messages from a client computer to one or more resources through a network. Various aspect of the invention may be used to ensure that messages sent from a client computer through a virtual private network (VPN) channel to a network are correctly routed to the appropriate resources.
2. Description of the Related Art
In the last decade, the use of electronic computer networks has greatly increased. Electronic computer networks may be found in businesses, schools, hospitals, and even residences. With these networks, two or more computing devices communicate together to exchange packets of data according to one or more standard protocols, such as the TCP/IP protocols. Usually, one computer, often referred to as a “client,” requests that a second computer perform a service. In response, the second computer, often referred to as a “server,” performs the service and communicates the resulting data back to the first computer.
As reliance on computers has increased, the demand to access computer resources from a variety of locations has increased as well. Conventionally, for example, a business user may have accessed resources on a corporate server through a desktop computer connected to the corporate server by a private, secure corporate network. Now, however, that user may wish to access the same corporate resources from a remote location over a public network, such as the Internet. For example, a user may need to access resources through a corporate network from a personal computer while at home or from a laptop computer while traveling. In order to securely access the resources, the user will typically employ an encrypted communication technique. The network formed by the remote computer and the network using encrypted communications are typically referred to as a Virtual Private Network (VPN).
A virtual private network can be formed using a plurality of different encrypted communication techniques. For example, a remote computer may implement a temporary or permanent dedicated communication software application to securely communicate with the network. The dedicated communication software application will then encrypt and send and messages to the network, and receive and decrypt messages received from the network. Some examples of this type of dedicated communication software application may embed encrypted messages in conventionally formatted data packets, so that the encrypted messages are invisible from outside of the secure communication channel. The virtual private networks that employ these embedded communication techniques are sometimes referred to as “tunneling” virtual private networks, as their communications may “tunnel” through a public network. Alternately, a remote computer may communicate with a network using a conventional browser application enhanced with additional “plug-in” software. With this type of virtual private network, the resources may be used by the network rather than the remote computer. The information obtained from using the resources will then be visible through the browser.
It also should be appreciated that, with some implementations of a virtual private network, the remote computer can communicate point-to-point with some or all of the nodes within the network. With still other implementations of a virtual private network, however, the remote computer may directly communicate with only a proxy software application. The proxy software application will then decrypt communications from the remote computer, and route them to the appropriate node within the network. With this type of virtual private network, the proxy software application will be hosted on a computer (or computing node) outside of a firewall protecting the network. The proxy software application will then communicate with network nodes through the firewall. Different types of virtual private networks may employ any desired encryption technique. For example, a virtual private network may implement communication channels secured using the Secure Socket Layers (SSL) protocol, the Hypertext Transfer Protocol Secure (HTTPS) protocol (which employs the Secure Socket Layers (SSL) protocol), or the Internet Protocol Security (IPSec) protocol.
While a virtual private network can provide a remote computer with secure access to resources through a network, it may be desirable for the virtual private network to ignore some resource access requests. For example, a user or software application running on the remote computer may request access to a resource that is simply unavailable to the network. Alternately, a user or software application running on the remote computer may request access to a resource that is available through the public network. For example, a company may maintain a network with the hostname “mycompany.com.” While this network may include several private resources, it also may include various portions that are publicly accessible, such as World Wide Web pages available through the domain name “www.mycompany.com.” Accordingly, it may be a waste of valuable bandwidth on a secure communication channel to access resources that can otherwise be obtained through the public network. If a resource cannot or should not be accessed through the virtual private network, then it may be preferable for the virtual private network to ignore a request to access the resource, and instead have the resource access request handled locally at the remote computer via a different network mechanism.
Also, virtual private networks will conventionally access resources through a network using specific addresses for the resource locations, such as Internet Protocol (IP) addresses. This access regimen allows the resource to be more easily identified. It would be desirable, however, to allow resources to be accessed using name identifiers, such as hostnames and domain names. A name may be consistently employed to access a resource, for example, even if the specific IP address changes.
SUMMARY OF THE PRESENTLY CLAIMED INVENTION
Various aspects of the invention relate to techniques for determining which resource access requests are handled locally at a remote computer, and which resource access requests are routed or “redirected” through the virtual private network. With some examples of the invention, for example, one or more routing or “redirection” rules are downloaded from a redirection rule server to the remote computer. When the node of the virtual private network running on the remote computer receives a resource access request, it compares the identified resource with the rules. Based upon how the identified resource matches one or more rules, the node will determine whether the resource access request is redirected through the virtual private network or handled locally (e.g., retrieved locally from another network). With various examples of the invention, a single set of redirection rules can be distributed to and employed by a variety of different virtual private network communication techniques. With still other embodiments of the invention, the network may compile a user-specific list of redirection rules according to a user's authority to access resources through the network. Thus, the redirection rules downloaded to the virtual private network node operating on a remote computer will reference only those resources that the user of the node has permission to access.
Further, various implementations of the invention will employ redirection rules that identify resources using names instead of, or in addition to, specific IP addresses. Thus, the redirection rules can be employed by applications running on a remote computer by resource names rather than specific addresses for resource locations. By comparing a resource name in resource access request with resource names in a list of redirection access rules, a virtual private network node operating on a remote computer can determine whether a resource access request is redirected through the virtual private network based only upon the name of the resource.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows one example of a conventional client/server network.
FIG. 2 shows an example of a computing device that can be used to implement a network appliance according to various examples of the invention.
FIG. 3 shows an example of a virtual private network system that may be employed according to various examples of the invention.
FIGS. 4A and 4B illustrate user interfaces that may be employed with various implementations of the invention to define a resource employed according to various examples of the invention.
FIG. 5 illustrates a user interface that may be employed to create an exclusion rule according to various examples of the invention.
FIG. 6 illustrates a flowchart showing the use of the redirection rules according to various examples of the invention.
FIG. 7 illustrates a flowchart showing a sorting procedure that may be employed to sort redirection rules according to various examples of the invention.
FIG. 8 illustrates a domain name object that may be employed according to various examples of the invention.
FIG. 9 illustrates a client that may be employed according to various examples of the invention.
FIG. 10 illustrates a flowchart showing a process that a client, employing a local forward Web server to establish a virtual private network between a computer and a network, may prepare redirection rules for implementation according to various examples of the invention.
FIG. 11 illustrates a flowchart showing how the client, employing a local forward Web server to establish a virtual private network between the computer and the network, uses the redirection rules to process requests for access to a resource.
FIG. 12 illustrates a flowchart showing a process that a client, employing an local circuit proxy to establish a virtual private network between a computer and a network, may use to prepare redirection rules for implementation according to various examples of the invention.
FIG. 13 illustrates a flowchart showing how the client, employing a local circuit proxy to establish a virtual private network between the computer and the network, may use the redirection rules to redirect resource access request from applications.
FIG. 14 illustrates the illustrates a flowchart showing how a process that a client, employing a local IP tunnel adaptor client to establish a virtual private network between a computer and a network, may use to prepare redirection rules for implementation according to various examples of the invention.
FIG. 15 illustrates the process by which the client will route outbound traffic.
FIG. 16 illustrates how the local IP tunnel adaptor client processes incoming traffic from the network.
FIG. 17 illustrates a flowchart showing the operation of a network based implementation of a reverse web proxy client to prepare redirection rules of implementation according to various embodiments of the invention.
FIG. 18 illustrates a flowchart showing how the network based implementation of a reverse web proxy client employs the redirection rules according to various examples of the invention.
DETAILED DESCRIPTION
Client/Server Configuration
Various embodiments of the invention will typically be employed to facilitate cooperation between a client and one or more servers in a network. As known in the art, a client/server configuration (including a Web based architecture configuration) occurs when a computing device requests the use of or access to a resource from another computing device. For convenience and ease of understanding hereafter, requests to use, obtain, or otherwise access a resource may generically be referred to simply as “requesting” a resource, while using, obtaining, or otherwise accessing a resource may generically be referred to simply as “obtaining” or “accessing” a resource.
Because the computing device responsible for providing the resource “serves” the computing device initially requesting the resource, the computing device responsible for providing the resource is often referred to as a “server.” The computing device requesting the resource is then commonly referred to as a “client.” Also, because a request for resources and the delivery of those resources may be relayed among a variety of computing devices having a client/server relationship, the client computing device initially requesting the resource is commonly referred to as the “end point” client.
FIG. 1 illustrates a conventional relationship between aclient101 and aserver103.
As seen in this figure, theclient101 may transmit the request for one or more resources to theserver103 over anetwork105. Thenetwork105 may be a private network, such as an intranet, or a public network, such as the Internet. Theserver103 may then provide theclient101 with the requested resources over thenetwork105.
It should be noted that, as used herein, a server may be considered a virtual device rather than a physical device. For example, the functions of theserver103 may be performed by a single computing device. Alternately, the functions of theserver103 may be performed by a group of computing devices cooperating together. Similarly, a client may be considered a virtual device. That is, one or more separate computing devices can cooperate together to function as a client. In many situations, a client may work with multiple servers in order to obtain a resource. For example, a client may submit the request for a resource to a first server, which may then relay the request to a second server. The second server may authenticate the identity of the client (or a user employing the client), to determine whether the client should be permitted may access or use the requested resource. Yet another server may then actually provide the resource to the client.
As used herein, a resource may be any type of object or service available through a server. For example, the resource may be a data file or a directory of data files. The resource may also be a service, such as an electronic mailing service, a database service, a document management service, a remote shell or terminal service, or the like. Further, a resource may be within a network, or it may be located outside of the network but accessible to the client through the network.
Example Computing Device
Various embodiments of a virtual private network according to the invention may be implemented using dedicated analog or digital electronic circuitry. More typically, however, the various features of the invention will be implemented by executing software instructions on a programmable computing device or computer. For example, each node in a virtual private network will typically be implemented by executing software instructions on a programmable computing device or computer. Accordingly,FIG. 2 shows one example of acomputer201 that can be used to implement various aspects of the invention.
Thecomputer system201 illustrated inFIG. 2 includes aprocessing unit203, asystem memory205, and asystem bus207 that couples various system components, including thesystem memory205, to theprocessing unit203. Thesystem memory205 may include a read-only memory (ROM)209 and a random access memory (RAM)211. A basic input/output system213 (BIOS), containing the routines that help to transfer information between elements within thecomputer system201, such as during startup, may be stored in the read-only memory (ROM)209. If thecomputer system201 is embodied by a special-purpose “server application”computer system201, it may further include, for example, anotherprocessing unit203, ahard disk drive215 for reading from and writing to a hard disk (not shown), amagnetic disk drive217 for reading from or writing to a removable magnetic disk (not shown), or anoptical disk drive219 for reading from or writing to a removable optical disk (not shown) such as a CD-ROM or other optical media.
A number of program modules may be stored on the ROM209, thehard disk drive215, themagnetic disk drive217, and theoptical disk drive219. A user may enter commands and information into thecomputer system201 through aninput device223, such as a keyboard, a pointing device, a touch screen, a microphone, a joystick or any other suitable interface device. Of course, thecomputer system201 may simultaneously employ a variety ofdifferent input devices223, as is known in the art. Anoutput device225, such as a monitor or other type of display device, is also included to convey information from thecomputer system201 to the user. As will be appreciated by those of ordinary skill in the art, a variety ofoutput devices225, such as displays, speakers and printers, may alternately or additionally be included in thecomputer system201.
In order to access other computing devices, thecomputer system201 should be capable of operating in a networked environment using logical connections to one or more remote computing devices, such as theremote computing device227. Thecomputer system201 may be connectable to theremote computer227 through a local area network (LAN)229 or a wide area network (WAN)231, such as the Internet. When used in a networking environment, thecomputer system201 may be connected to the network through aninterface233, such as a wireless or wired network interface card (NIC) or similar device. While theinterface233 is illustrated as an internal interface inFIG. 2, it may alternately be an external interface as is well known in the art. Of course, it will be appreciated that the network connections shown in this figure are for example only, and other means of establishing a communications link with other computers may be used.
A Virtual Private Network System
FIG. 3 illustrates one example of a virtual private network that may be used to implement various embodiments of the invention. As seen in this figure, the virtual private network includes a local area network (LAN)301, and one or more remotely locatedclients303. Eachclient303 communicates with thenetwork301 through anintermediate network305. In the illustrated example, theintermediate network305 is a public network, such as the Internet. With alternate examples of the invention, however, thenetwork305 may be a private network, such a corporate or institutional intranet. Aclient303 may be implemented by any suitable computing device or combination of computing devices. For example, aclient303 may be a programmable computer, such as theprogrammable computer201 described above. The computer may be, for example, a personal desktop computer, a laptop computer, or even a personal digital assistant or “smart” telephone.
As employed herein, the term “user” will refer to the individual using aclient303 to obtain one ormore resources307 through theserver system301. For some applications of the invention, aclient303 may be implemented on a computing device owned by its user or by the same corporation or institution maintaining the local area network301 (or by a related corporation or institution). With still other applications of the invention, aclient303 may be implemented on a computing device owned by a third party, and may even be provided in a publicly available kiosk. Aclient303 may obtain access to one ormore resources307 through thelocal area network301. In some situations, theresources307 may be included within thelocal area network301. Alternately, one or more of theresources307 may be available to thelocal area network301 over apublic network305. In either case, aclient303 accesses theresources307 through thelocal area network301.
Thelocal area network301 includes a number of components used to control the clients'303 access to theresources307. For example, thenetwork301 may include apolicy server309. Thepolicy server309 contains a list of each of theresources307, along with their location. For example, aresource307 may be identified by an Internet protocol (IP) address, a domain name, a host name, a universal resource locator (URL) address, or the like. Thepolicy server309 then includes a set of rules determining the conditions under which eachclient303 may or may not access eachresource307. Thepolicy server309 determines the conditions under which a user of theclient303 may obtain a requestedresource307. More particularly, thepolicy server309 administers policy rules specifying the conditions under which a user may obtain a requested resource. With various embodiments of the invention, these conditions may include both the identity of the user and the operating environment of theclient303. With various embodiments of the invention, thepolicy server309 also may validate authentication credentials submitted by a user with a request to obtainresources307 through thenetwork301. As used herein, the term “administrator” will refer to a person authorized to configure policy rules for enforcement by thepolicy server309.
As will be discussed in further detail below, various implementations of the invention allow a network administrator or other authorized person to provide inclusion instructions311 for the resource information in thepolicy server309, in order to create a set of inclusion redirection rules. Some embodiments of the invention may also allow a network administrator or other authorized person to provide exclusion instructions313 for the resource information in thepolicy server309, in order to create a set of exclusion redirection rules. These redirection rules may then be stored in theredirection rule server317. Accordingly, when aclient303 connects to thelocal area network301, theclient303 can obtain the redirection rules from theredirection rule server315, and subsequently employ those rules to determine which resource access requests are redirected to thenetwork301, and which resource access requests are handled locally by theclient303.
Thenetwork301 also may include one ormore resource servers317, which facilitates a client's access to one ormore resources307. Typically, aclient303 transmits some type of resource access request to thenetwork301 requesting that the use of or access to one ormore resources307 be provided through theresource server317. With various embodiments of the invention, theclient303 may request one or more resources from theresource server317 through a secure communication channel. For example, aclient303 may seek to establish a secure communication channel using any desired conventional security protocol, such as the Secure Socket Layers (SSL) protocol, the Hypertext Transfer Protocol Secure (HTTPS) protocol, (which employs the Secure Socket Layers (SSL) protocol), the Internet Protocol Secure protocol (IPSec), the SOCKet Secure (SOCKS) protocol, the Layer Two Tunneling Protocol (L2TP), the Secure Shell (SSH) protocol, or the Point-to-Point Tunneling Protocol (PPTP). Further, theclient303 may seek to establish a secure communication channel using a secure remote computer connection technique, such as Windows Remote Desktop, Citrix, Virtual Network Computing (VNC) or other “screen-scraping” technology.
It also should be noted that theresource server317 shown inFIG. 3 is merely representative of any combination of one or more servers that can provide a requestedresource307. Thus, theresource server317 may be any server or combination of servers responsible for providing one or more resources323 toclients303. For example, theresource server317 may be a Domain Name Service (DNS) server, an electronic mail server, a server that maintains a database, a print server, a data storage server, a file or document management server, a Voice over Internet Protocol (VoIP) server, a remote shell or terminal service or the like. With some implementations of the invention, theresource server317 may only be indirectly responsible for providing requested resources. For example, theresource server317 may be a proxy server providing a connection to yet another server through, for example, a private network, which will actually provide the requested resources to theclient303. Thus, theresource307 being sought by theclient303 through thenetwork301 does not have to be in physical or logical proximity to theresource server317. It also should be appreciated that theresource server317 may be responsible for providing a variety of different types of resources, including any combination of data files and services.
Defining Resources
Theresources307 may include Web resources, network resources, and file system resources. Web resources will typically be Web-based applications or services that are accessed using HTTP or HTTPS. For example, Web resources may include Microsoft Outlook Web Access and other Web-based e-mail programs, Web portals, corporate intranets, and standard Web servers. With various examples of the invention, traffic to these Web resources may be proxied through a Web proxy service, i.e., a secure gateway through which users can access private Web resources from the Internet. A Web resource can be defined in various ways.
Network resources are then client/server enterprise applications that run over TCP/IP, including applications that use UDP. Examples of network resource may include thin-client applications such as Citrix, full client/server applications such as Microsoft Outlook, Lotus Notes, or SAP, or terminal servers. With various examples of the invention, network resource will be defined by specifying a host name, an IP address or IP range, a subnet IP address, a WINS Domain, or a DNS domain. Network resources can also be used to define a network object containing multiple Web resources (such as a domain), or to define a network object that can be used to control access based on the source of a connection request. The following list explains the syntax used to define each of these resource types. It should be noted that host names can be fully qualified or unqualified.
URL Type Examples:
Standard URL--http://host.example.com/index.html
Standard URL with port number http://host.example.com:8445/index.html
URL for secure site--https://host.example.com/index.html
URL containing IP address--http://192.0.34.0/index.html
Resource Type Examples
Host name--bart.private.example.com
Host IP address--192.0.34.72
IP range--192.0.34.72-192.0.34.74
Subnet--192.0.34.0/255.255.255.0
Domain name--private.example.com
Windows domain--example or example.com
File system resources may then include Windows network servers or computers containing shared folders and files that users can access via theresource server317. A file system resource can be defined using, e.g., a specific file system share by a UNC path or an entire Windows domain. Defining an entire Windows domain gives authorized users access to all the network file resources within the domain. A specific file system resource can be an entire server (for example, \\ginkgo), a shared folder (for example, \\john\public), or a network folder (\\ginkgo\news). A file system resource can also reference a user's personal folder on the network. This feature allows a single shortcut to be created that theresource server317 can dynamically reference as a personal folder for a current user.
FIGS. 4A and 4B illustrate user interfaces that may be employed with various implementations of the invention to define a resource. For example, from a navigation menu, a user may obtain access to the Add/EditResource interface page401. To name the new resource, the administrator can type the name for the resource in theName field403. Then, in theDescription field405, the administrator can type a descriptive comment about the resource. Completing the Add/EditResource interface page401 then summons the ResourceDefinition interface page407. In this page, an administrator can employ the field groups409-419 to provide the appropriate information to define the resource. For example, in the Hostname field group409 orIP field group411, the administrator can enter a host name (it can be qualified or unqualified) or type the full IP address for the host in dotted decimal form (w.x.y.z), respectively. An IP range typically identifies a partial range of computers within a subnet. Under the IP range area, the IP addresses may be entered at the beginning of the range (From) and the end (To) of the IP range in dotted decimal form (w.x.y.z). A subnet is a portion of a network that shares a common address component. Accordingly, a subnet can be entered in theSubnet field group413 by typing the IP address and Subnet mask in dotted decimal form (w.x.y.z). A domain encompasses one or more hosts, so a Domain can be entered into theDomain field group415 by typing the name of the domain (such as example.com).
To define a Web resource, the administrator can select a URL for the resource and then type the appropriate URL into theURL field group417. The administrator will typically include the http:// or https:// protocol identifier. For file share resources, the administrator will define a specific file system resource by entering a UNC path into theUNC field group419. This can be an entire server (for example, \\ginkgo), a shared folder (for example, \\john\public), or a network folder (\\ginkgo\news). To reference a user's personal folder on the network, the administrator will activate theNetwork Share Button421 and then type a UNC path containing the variable XXX_Username XXX into theUNC field group419.
Defining a Redirection Rule
Once aresource307 has been defined, then an administrator can define one or more redirection rules for that resource. With various examples of the invention, the redirection rules can advantageously be associated with resources definitions that already have been created for use by thepolicy server309. With other examples of the invention, however, the redirection rules can be generated using resource definitions separate from those used by thepolicy server309.
With various examples of the invention, the redirection rules may include both inclusion redirection rules and exclusion redirection rules. An inclusion redirection rule will instruct theclient303 to redirect a resource access request for the designated resource to thenetwork301. An exclusion redirection rule will then instruct theclient303 to handle a resource access request for the designated resource locally. With various examples of the invention, a redirection rule will automatically be created for each resource defined for thepolicy server309. Alternately, various examples of the invention may require an administrator to specifically create an inclusion redirect rule for each desired resource. Typically, an administrator will specifically create an exclusion rule for a resource.
For example,FIG. 5 illustrates auser interface501 that may be employed to create an exclusion rule. As seen in this figure, theuser interface501 includes afield503 in which the administrator can define a resource for exclusion from redirection in aclient303. With various examples of the invention, the administrator can define the resource to be excluded using host names, domain names, or IP addresses.
Various examples of the invention also will allow “wildcard” characters to be used in defining resources for inclusion redirection rules and exclusions redirection rules. For example, some implementations of the invention may support the use of the character ‘*’ as a wildcard for multiple characters in a resource definition. In addition, some examples of the invention may also support the use of the ‘?’ character as a single-character wildcard. Thus, using these wildcard characters, the hostname “j*.mycompany.com” would match each of the hostnames “j.mycompany”, “jon.mycompany.com” and “jscott.mycompany.com”. Similarly, the hostname “j??.mycompany.com” would match the hostname “jon.mycompany.com” but not the hostname “j.mycompany.com” or “jscott.mycompany.com”, because each ‘?’ must correspond to a single character. The use of these types of wildcard characters is beneficial where, for example, it is undesirable to use the bandwidth of the virtual private network to access resources that are otherwise publicly available. For example, the administrator may define a resource associated with a company's private network, such as myCompany.com. It would still be desirable, however, to route traffic to the company's public web servers (e.g., www.myCompany.com, www2.myCompany.com, and www3.myCompany.com) locally from the client rather than through thenetwork301. With various examples of the invention, an administrator thus can avoid this undesired redirection by add an exclusion redirection rule for the resource defined as “www*.myCompany.com.”
Client Use of Redirection Rules
Once the redirection rules have been created, they are then passed from the redirection rulesserver315 to the client as a list. In the list, the redirection rules may be presented as a non-sorted list of strings having any desired format. For some of the examples of the invention, however, the redirection rule list may include a non-sorted list of strings having the following rule type and format:
Hostname RulesRule String Format
Qualified“HOSTNAME=morty.in.mycompany.com”
Unqualified“HOSTNAME=morty”
Wildcard“HOSTNAME=morty*”
Exclude“EXCLUDE_HOSTNAME=“morty*”
Domain RulesRule String Format
Domain“DOMAIN=in.mycompany.com”
Wildcard“DOMAIN=*.in.mycompany.com”
Exclude“EXCLUDE_DOMAIN=“in.mycompany.com”
IP Address RulesRule String Format
Address“HOSTNAME=192.168.1.1”
Exclude“EXCLUDE_HOSTNAME=192.168.1.1”
IP Subnet RulesRule String Format
Subnet“SUBNET=192.168.0.0, 255.255.0.0”
Exclude“EXCLUDE_SUBNET=192.168.0.0,
255.255.255.0”
IP Address Range RulesRule String Format
Domain“RANGE=192.168.1.0, 192.168.1.100”
Exclude“EXCLUDE_RANGE=192.168.1.0,
192.168.1.100”
The use of the redirection rules will be described in more detail with reference to the flowchart illustrated inFIG. 6. Initially, instep601 the client downloads the redirection rules from the server in a list. Next, instep603, the client sorts the input rules based upon precedence. With various embodiments of the invention, the order of precedence is arranged from most specific identification information to the least specific identification information. One example of a sorting procedure that may be employed by various embodiments of the invention is illustrated in more detail inFIG. 7.
As seen in this figure, instep701 all redirection rules that specify at least one IP address are converted into the format corresponding to the IP address range rules. Thus, the IP address rules remain unchanged, as these rules specify a range of one IP address. The IP subnet rules, however, are transformed into an IP address range that includes all of the addresses in the subnet. The list of rules that specify at least one IP address are then sorted based upon, e.g., range size from smallest to largest. Next, instep703, any exclude rule having a range that matches an include rule is given a higher precedence than the corresponding include rule. Next, the rules that include at least one domain name are sorted. More particularly, instep705, adomain name object801 is created for each domain name rule. As illustrated inFIG. 8, thedomain name object801 may have alabel count field803, awildcard index field805, and one or more flag fields807. In the illustrated example, thelabel count field803 includes 8 bits, thewildcard index field805 includes 16 bits, and the flag fields807employ 8 bits.
The labeledcount field803 records the number of labels in the domain name for the domain name rule. For example, the name “mycompany.com” would have two labels, while the name “corporate.avantail.com” would have three labels. In thewildcard index field805, a bit is set for each label without wild cards, with the highest order bit corresponding to the right-most label. For example, a redirection rule with the resource name “in.mycompany.com” would have an index of 7 (binary 111). A redirection rule with the resource name “?n.mycompany.com”, on the other hand, would have an index of 6 (binary 110). The domain name *.av*.com would then have an index of 4 (binary 100), while a redirection rule with the resource name “in.mycompany.*” would have an index of 3 (binary 011). The flag fields then include a flag indicating when the domain name has no partial match (i.e., the name begins with “.”), and a flag indicating whether the domain name was used in an exclude rule or an include rule, such that the exclude rule takes precedence over the include rule.
Accordingly, instep707, the domain names are sorted according to their corresponding domain name objects. Thus, a first domain name having a higher label count than a second domain name would take precedence over the second domain name. If two domain names have the same label count, then the domain name with the higher wild card index will take precedence. If the label count, wildcard index, and flag values match for two or more domain names, then the domain names are sorted alpha-numerically. In this manner, each rule is assigned an order of precedence in which it will be implemented by aclient303.
Returning now toFIG. 6, the sorted rules or output for use by the client in step605. With various examples of the invention, the sorted rules may be output as three separate lists: the list of IP address rules, sorted according to their IP address ranges, a list of host name rules sorted as described in detail above, and a third list of domain rules, which also have been sorted according to the process discussed in detail above. During its operation, aclient303 will employ the rules to determine which resource access messages are routed through the virtual private network, and which ones are handled locally. More particularly, instep609, the resource identified in a resource access request is compared with the lists of sorted rules, to determine if the resource identifier referenced in the resource access message matches a resource rule. For example, if the resource access request includes an IP address to identify a resource, then that IP address is sequentially compared with the IP addresses referenced in the IP address rules. Similarly, if a resource access request includes a domain name or a host name to identify a resource, then that request is sequentially compared to the corresponding host name rule list or domain rule list, respectively. It should be noted that, if the resource access request includes both a domain name and a host name to identify a resource, then the host name should be compared with the host name rules list before the domain name is compared with the domain name rules list. For either a domain name resource identifier or a host name resource identifier, each element of the corresponding rule list is traversed from most specific (front) to least specific (end).
If the resource identifier is matched with a resource reference in an include rule, then the comparison process returns a successful match. If the resource identifier matches an exclude rule, then the comparison process stops traversing the list, and returns an unsuccessful match to the client. If the comparison process fully traverses the list without matching the resource identifier to a rule, then an unsuccessful match also is returned.
Example Client
FIG. 9 schematically illustrates aclient303 that may be employed by various examples of the invention. As seen in this figure, theclient303 is hosted on acomputer901, such as thecomputing device201 described in detail above. In addition to hosting theclient303, thecomputer901 may also host a number ofapplications903 that will generate resource access requests. Theclient303 then includes arule processing module905 and arouting module907. Therule processing module905 obtains the redirection rules from theredirection rule server315, and orders the rules as described in detail above. Therouting module907 then applies the redirection rules to routing the resource access requests from theapplications903.
Local Forward Web Server Client
FIG. 10 illustrates a process that aclient303A, employing an local forward Web server to establish a virtual private network between thecomputer901 and thenetwork301, may use to prepare redirection rules for implementation according to various examples of the invention. As will be appreciated by those of ordinary skill in the art, this type of client employs some type of additional software, such as JavaScript or ActiveX programs, to employ a browser application (such as Microsoft Internet Explorer) as a proxy server to establish a secure connection with thenetwork301.
Initially, instep1001, theclient303A will download the redirection rules from the redirection rulesserver315. Next, in step1003, therule processing module905 will identify one or more client environmental critical exclusions for use in sorting the downloaded rules. These environmental critical exclusions may include, for example, addresses that are employed locally on theclient303A for specific purposes, such as an address for a network gateway used by the computer hosting theclient303A. As will be appreciated by those of ordinary skill in the art, these exclusions will address information employed by the local host of theclient303A for which theclient303A should have no involvement.
Next, instep1005, therule processing module905 sorts the list of rules downloaded from theredirection rule server315, and outputs the sorted rule list instep1007. Instep1009, therouting module907 obtains an existing browser Web proxy setting or proxy auto configuration (PAC) file that is used to configure the browser as a proxy server. As known by those of ordinary skill in the art, a proxy auto configuration file provides the browser with proxy configuration information from a remote JavaScript file, rather than requiring that the information be statically entered. Next, instep1011, therule processing module905 obtains an evaluation logic JavaScript template. This JavaScript template provides the logic that the PAC file will use to evaluate a resource access request based upon the redirection rules. Then, instep1013, therule processing module905 employs the evaluation logic JavaScript template merged with rules from1007,1009 and1011 respectively, to create a new browser web proxy setting or PAC file. Next, instep1015, therule processing module905 initializes the local forward proxy server. Then, instep1017, therule processing module905 registers the PAC file with the browser, in order to enable redirection of VPN resource access requests to the local web proxy server client according to the programming logic included in the new PAC file.
FIG. 11 illustrates how theclient303A, employing a local forward Web server to establish a virtual private network between thecomputer901 and thenetwork301, uses the redirection rules to process requests for access to a VPN resource. Initially, instep1101, the Web browser receives a request to access a resource from, e.g., anapplication903 or user. The resource access request may be, for example, in form of a URL entered into the address field of the browser. Next, instep1103, therouting module907 provides the resource identifier used in the resource access request to the PAC file. Then, instep1105, the PAC file executes its JavaScript program to evaluate the resource identifier. Specifically, instep1107, the JavaScript program determines whether the resource identifier is a specific IP address, or a name, such as a host name or domain name. If the resource identifier includes an IP address, then, instep1109, the JavaScript program compares the IP address with the IP address rule list, to determine if the IP address matches a resource identified in the IP address rules list. If, however, the resource identifier is a name, then, instep1111, the JavaScript program matches the name against the host name rule list, the domain name rule list, or both, as described in detail above.
Next, instep1113, the JavaScript program determines whether or not the resource identifier matched a resource specified in a redirection rule. If it did, then instep1115, the routing module redirects the request for resources to a local web proxy server associated with the virtual private network. More particularly, instep1117, local web proxy server determines whether theclient303A is employing an external proxy server. If the client is not using an external proxy server, then instep1119, the local web proxy server forwards the resource access request directly to the VPN server in thenetwork301 instep1119. If, however, theclient303 is using an external proxy server, then instep1121 the local web proxy server forwards the URL indirectly to the VPN server in thenetwork301 via the external proxy.
If the JavaScript program determines that the resource identifier has not matched a rule, then instep1123 it determines whether or not the PAC file is part of a chained script instep1123. More particularly, the browser may be employing one or more additional PAC files for purposes unrelated to implementing theclient303A. Accordingly, if the PAC file used to enforce the redirection rules is part of a chain of scripts for operating the browser, then instep1125 therouting module907 calls the next script for execution by the browser. If, however, the clients PAC file is not part of a chained script, then therouting module907 makes the determination not to redirect the resource request message instep1127.
Local Circuit Proxy Client
With some examples of the invention, aclient303B may use a local circuit proxy to establish a virtual private network connection between thecomputer901 and thenetwork301. With this type of localcircuit proxy client303B, theclient303B may forward a resource access request to thenetwork301 only if the request includes a virtual or “spoofed” IP address. Accordingly, theclient303B will map a spoofed IP address to the actual address for the resource, and provide the spoofed IP address to theapplications903 for use.
FIG. 12 illustrates a flowchart showing how a process that aclient303B, employing a local circuit proxy to establish a virtual private network between thecomputer901 and thenetwork301, may use to prepare redirection rules for implementation according to various examples of the invention. Initially, instep1201, therule processing module905 downloads the redirection rules from theredirection rule server315. Next, instep1203, therule processing module905 obtains client environmental critical exclusions, which are used to determine exclusions for when the rules will be employed, as discussed in detail above. Next, instep1205, therule processing module905 accepts the redirection rules, and sorts them instep1205 as also described in detail above. Instep1207, therule processing module905 initializes the VPN agent circuit proxy employed by this type of virtual private network access method. Then, instep1209, therule processing module905 initializes the WinSock Layered Service Provider. The WinSock Layered Service Provider is a conventionally known interface tool provided by the WinSock architecture in Microsoft Windows operating system software available from Microsoft Corporation of Redmond, Wash., and thus will not be discussed here in further detail. Lastly, instep1211, therule processing module905 enables the local circuit proxy for VPN resource redirection.
FIG. 13 then illustrates a flowchart showing how theclient303B, employing a local circuit proxy to establish a virtual private network between thecomputer901 and thenetwork301, may use the redirection rules to redirect resource access request fromapplications903. First, instep1301, a WinSock application is initiated. Next, instep1303, therouting module907 identifies an operation requested by anapplication903 through the WinSock application instep1303. If the operation is an attempt to connect to the identified resource, then the Layered Service Provider receives the connection request instep1305. Then, instep1307, the Layered Service Provider determines whether or not the resource access request includes a spoofed VPN IP address. If it does, then instep1309 the Layered Service Provider references the host name from the spoof list instep1309. Subsequently, instep1311, the routing module redirects the resource access request to the on-client VPN circuit proxy server instep1311. Instep1313, the local circuit proxy client forwards the request for resources to a301 circuit proxy server associated with the virtual private network. More particularly, instep1315, the local circuit proxy client determines whether theclient303B is employing an external proxy server. If the client is not using an external proxy server, then instep1317, the local circuit proxy client forwards the resource access request directly to the VPN server in thenetwork301 instep1119. If, however, theclient303 is using an external proxy server, then instep1319 the local circuit proxy client forwards the URL indirectly to the VPN server in thenetwork301 via the external proxy.
Returning to step1307, if the resource access request does not contain a VPN spoof IP address, then, instep1321, therouting module907 matches the resource identifier referenced in the resource access request against the IP address rules list. If therouting module907 determines that there is a rule match instep1323, then the Layered Service Provider returns to step1311 to redirect the resource access request to the on-client VPN circuit proxy server. If, however, the resource identifier does not match an IP address rule, then the resource access request is not redirected to the VPN instep1323.
Returning to step1303, if therouting module907 determines that the resource access request is a domain name server (DNS) query or a WINS name server query, then, instep1325, therouting module907 provides the resource access request to the Winsock Namespace Service Provider instep1325. Like with Winsock Layered Service Provider, the WinSock Namespace Service Provider is a conventionally known interface tool provided by the WinSock architecture in the Microsoft Windows operating system software available from Microsoft Corporation of Redmond, Wash., and thus will not be discussed here in further detail. Next, the Namespace Service Provider determines instep1327 whether the resource identifier exists in a spoof list. Next, instep1329, if the Namespace Service Provider determines that the resource identifier does not exist in the spoof list instep1329, then instep1331 the Namespace Service Provider compares the resource identifier to the host name and domain name rule lists as discussed in detail above. Instep1333, the Namespace Service Provider determines if the resource identifier has matched a rule. If it has, then instep1335, the Namespace Service Provider generates a spoofed VPN IP address and adds the host name IP mapping to the spoof list. Then, instep1337, it returns the spoofed VPN IP address. If, however, the Namespace Service Provider determines that the resource identifier has not matched a rule instep1333, then, instep1339 it allows normal DNS or WINS query processing by theclient303B. Returning to step1329, if the Namespace Service Provider initially determines that the resource identifier already exists in the spoofed list, then it proceeds immediately to step1337 and returns the spoofed VPN IP address.
Local IP Tunnel Adapter Client
FIG. 14 illustrates the illustrates a flowchart showing how a process that aclient303C, employing a local IP tunnel adaptor client to establish a virtual private network between thecomputer901 and thenetwork301, may use to prepare redirection rules for implementation according to various examples of the invention. This type of client can securely connect to thenetwork301, such that the client can not only send outbound communications to thenetwork301, but can additionally receive inbound communications that were not initiated by theclient303C.
As shown inFIG. 14, instep1401 theclient303C began the tunnel negotiations to establish a secure connection between theclient303C and the network301 (i.e. tunnel server in the network301). Next, instep1403, therule processing module905 downloads the redirection rules from theredirection rule server315, and instep1405 sorts the rules as described in detail above. After sorting the rules, therule processing module905 outputs the sorted rule list instep1407. Tunnel negotiation is finished atstep1409. Next,step1411, therule processing module905 determines whether theclient303C is using an outbound proxy. If theclient303C is using an outbound proxy, then, instep1413, therule processing module905 writes the rule address list to a Proxy Auto Configuration (PAC) file. Therule processing module905 obtains an existing browser web proxy setting or proxy auto configuration (PAC) file instep1412A, and obtains an evaluation logic JavaScript template instep1412B. As a result, the rule address list is written to a PAC file instep1413. Instep1415, therule processing module905 then registers the PAC file with the browser for transiting of tunnel traffic between the local tunnel adapter and the301 tunnel server. Then, instep1417, therule processing module905 enables the local tunnel adapter interface. Turning now to step1411, if theclient303C is not using a web proxy for outbound communications, then theprocessing module905 immediately enables the interface instep1417.
FIG. 15 illustrates the process by which theclient303C will route outbound traffic. Additionally, instep1501, anapplication903 running on theclient computer901 issues some type of resource access request. This request is intercepted by the transport device interface (TDI) driver instep1503. Instep1505, the TDI driver determines whether the resource access request was a TCP SYN message, a UDP send message, or an ICMP request message. If the resource access request did not include any of these message types, then, instep1507, thecomputing device901 allows a direct TCP/IP transmission of the message. If, however, the resource access request was a TCP connect message, a UDP send message or an ICMP request message, then, instep1509, theclient303C determines whether the IP address in the resource access request is a known IP address. More particularly, theclient303C examines the IP address, to determine whether or not it has already processed the IP address. This step is optional, and is intended to optimize the operation of theclient303C by avoiding unnecessary further analysis of the IP address if those analyses have already been made.
Next, instep1511, therouting module907 determines if the IP address referenced in the request access request has been included in a system exclusion list. A system exclusion list may be used to identify those IP addresses that are being used for an essential purpose by thecomputing device901, and thus avoided by theclient303C. For example, the IP address of a gateway being used by thecomputing device901 should note be handled by theclient303C.
If the IP address referenced in the resource access request is in the system exclusion list, then, in1513, therouting module907 sets the IP address as a “known” IP address. Thus, the next time the IP address is used in a resource access request it will be identified by therouting module907 instep1509. If, however, the IP address referenced in the resource access request is not included in the system exclusion list, then instep1515 the routing module attempts to match the IP address referenced in the resource access request with a corresponding IP address redirection rule. If therouting module907 cannot match the reference IP address against a corresponding IP address redirection rule, then again the IP address is identified as a “known” IP address instep1513.
If, however, therouting module907 does match the referenced IP address with a corresponding IP address redirection rule, then, instep1517, therouting module907 checks the VPN look aside table to determine if a corresponding route has been saved in the table for this address. The process by which the VPN look aside table is created and maintained will be discussed in further detail below, with respect to the method in which theclient303C handles inbound communication. If an entry for the referenced IP address does not exist in the route table entry, then therouting module907 adds an entry for the referenced IP address to VPN look aside table in step519. Once the entry has been made (or, if therouting module907 determines that an entry already existed in step1517), instep1521 therouting module907 determines whether a corresponding route exists in the system routing table. As will be appreciated by those of ordinary skill in the art, the system routing table is the routing table used by the operating system of thecomputer901 to assign a TCP/IP communication route instep1507. If an entry for the referenced IP address does already exist in the existing routing table, then the IP address is identified as a “known” IP address isstep1513. Otherwise, a route for the referenced IP address is added from the NG route table to the system route table instep1523. Again, after the entry for the IP address has been made in the system route table, then instep1513 the routing module designates the referenced IP address as a “known” IP address isstep1513.
FIG. 16 illustrates how the local IP tunnel adaptor client processes incoming traffic from thenetwork301. As seen in this figure, instep1601, therouting module907 initially determines whether or not eh incoming message is a reply to a DNS or a WINS request. If it is a reply to a previously sent DNS or WINS request then instep1603 therouting module907 attempts to match the name referenced in the incoming message against a corresponding redirection rule in the host name redirection rule list. If theprocessing module907 cannot match a name in the DNS/WNS reply message to a host redirection rule in the host redirection rule list, then instep1605 therouting module907 determines whether the reply is a reply to a DNS request. If it is, then therouting module907 attempts to match a domain name reference in the incoming message against a corresponding domain name redirection rule in the domain name redirection rule list.
If therouting module907 is able to match the name referenced in the incoming message in eithersteps1603 or1607 then, instep1609, therouting module907 extracts the IP address for the referenced host or domain name from the address record contained in the DNS/WINS reply message. Then, instep1611, therouting module907 adds the extracted IP address as the entry to the VPN look aside table corresponding to the reference name. In this manner, therouting module907 creates a VPN look aside routing table based upon replies to WINS/DNS requests submitted to thenetwork301.
Once this process has been completed, or if the incoming message was not a reply to a DNS or a WINS request, instep1613 therouting module907 determines whether the resource referenced in the incoming message is a TCP SYN value, a UDP datagram, or an ICMP value. If it is not any of these value types, then thecomputer901 handles the incoming message in a regular manner. Otherwise, instep1515, therouting module907 checks the VPN look aside table to determine if the address referenced in the incoming message has a corresponding entry. If it does not, then a routing entry for the IP address is created in the NG routing table instep1617. Once a corresponding routing entry exists in the VPN look aside table, therouting module907 determines whether a route for the IP address referenced in the incoming message has a corresponding entry in the system routing table. If it does not, then an entry for the IP address is made in the system routing table instep1621.
Network-Based Implementation of a Reverse Web Proxy Client
FIG. 17 illustrates the operation of a network based implementation of a network reverse web proxy server to prepare redirection rules of implementation according to various embodiments of the invention. As will be appreciated by those of ordinary skill in the art, this type of reverse web proxy client creates a “thin” client on thecomputer901. All of the functions related to theclient303D; other than the dealing of the processing result, take place in thenetwork301.
Additionally, instep1701, theclient303D begins the proxy service. Next, instep1703, therule processing module905 reads the rules from theredirection rule server315. It then sorts the rules as described in detail above instep1705, and outputs the rules instep1707. Instep1709 theclient303D the301 network reverse proxy server, and instep1711, the process is enabled.
FIG. 18 then illustrates a method whereby arouting module907, running in thenetwork301, employs the redirection rules according to various examples of the invention. As seen in this figure, instep1801, therouting module907 receives an incoming URL response from aresource server315. Next, instep1803, therouting module907 checks to determine whether the incoming URL is part of a alias attribute associated with theresource307. Next, instep1805, therouting module907 checks to determine whether the URL contains a short host name attribute associated with theresource307. If an alias or short name matched, then instep1807 therouting module907 rewrites the URL relative to301 server. Otherwise, instep1809, the routing module determines whether the URL contains a host name. If it does not contain a name, then the IP address referenced in the URL is matched against the IP address redirection rule list instep1811. Otherwise, the name in the URL is matched against any corresponding name in the host name redirection rule list and the domain name redirection rule list instep1813. Instep1815, therouting module907 determines whether or not the resource identifier referenced in the URL (either the IP address or name) was matched to a rule in one of the redirection rule lists. If it was, then therouting module907 rewrites the URL instep1807. Otherwise, instep1819, therouting module907 allows the response to complete without a URL rewrite.
CONCLUSION
While the invention has been described with respect to specific examples including presently preferred modes of carrying out the invention, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and techniques that fall within the spirit and scope of the invention as set forth in the appended claims. For example, while particular software services and processes have been described as performing various functions, it should be appreciated that the functionality of one or more of these services and processes may be combined into a single service or process, or divided among additional services and processes.

Claims (14)

What is claimed is:
1. A method of creating redirection rules for routing resource access requests from a computer to a network, the method comprising:
receiving, using a hardware processor, input at a user interface that identifies an inclusion redirection rule to associate with a resource, wherein a processor executing instructions out of a memory creates creating an inclusion redirection rule for at least one existing resource definition that is associated with the resource;
receiving an input over the user interface that identifies an exclusion redirection rule to associate with the resource the input associated with an exclusion resource definition, wherein the processor executing instructions out of the memory creates an exclusion redirection rule for the exclusion resource definition that is associated with the resource;
receiving a request to access an internet protocol (IP) address over a network interface;
ignoring the request to access the IP address after comparing an IP address range size associated with the inclusion redirection rule with an IP address range size associated with the exclusion redirection rule, and when the IP address exclusion rule range size matches the IP address inclusion rule range size.
2. The method recited inclaim 1, further comprising combining the inclusion redirection rule with the exclusion redirection rule into a redirection rule list.
3. The method recited inclaim 1, wherein the existing resource definition is maintained by a policy server for controlling access to the resource defined in the at least one existing resource definition.
4. The method recited inclaim 1, further comprising:
receiving input with a second resource definition; and
creating a second inclusion redirection rule for the second resource definition.
5. The method recited inclaim 1, wherein the existing resource definition includes the Internet protocol (IP) address for the resource.
6. The method recited inclaim 1, wherein the existing resource definition includes a name for the resource.
7. The method recited inclaim 6, wherein the name is a domain name.
8. The method recited inclaim 6, wherein the name is a host name.
9. The method recited inclaim 1, wherein the existing resource definition includes a universal resource locator (URL) address for the resource.
10. The method recited inclaim 1, wherein the exclusion resource definition includes an Internet protocol (IP) address for the resource.
11. The method recited inclaim 1, wherein the exclusion resource definition includes a name for the exclusion resource.
12. The method recited inclaim 11, wherein the name is a domain name.
13. The method recited inclaim 11, wherein the name is a host name.
14. The method recited inclaim 1, wherein the exclusion resource definition includes a universal resource locator (URL) address for the exclusion resource.
US14/061,9882003-12-102013-10-24Rule-based routing to resources through a networkExpired - Fee RelatedUS9197538B2 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
US14/061,988US9197538B2 (en)2003-12-102013-10-24Rule-based routing to resources through a network
US14/477,767US9397927B2 (en)2003-12-102014-09-04Rule-based routing to resources through a network
US15/180,329US10003576B2 (en)2003-12-102016-06-13Rule-based routing to resources through a network

Applications Claiming Priority (5)

Application NumberPriority DateFiling DateTitle
US52887003P2003-12-102003-12-10
US61915104P2004-10-142004-10-14
US11/009,692US8255973B2 (en)2003-12-102004-12-10Provisioning remote computers for accessing resources
US11/251,592US8590032B2 (en)2003-12-102005-10-14Rule-based routing to resources through a network
US14/061,988US9197538B2 (en)2003-12-102013-10-24Rule-based routing to resources through a network

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US11/251,592ContinuationUS8590032B2 (en)2003-12-102005-10-14Rule-based routing to resources through a network

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US14/477,767DivisionUS9397927B2 (en)2003-12-102014-09-04Rule-based routing to resources through a network

Publications (2)

Publication NumberPublication Date
US20140053237A1 US20140053237A1 (en)2014-02-20
US9197538B2true US9197538B2 (en)2015-11-24

Family

ID=46322903

Family Applications (7)

Application NumberTitlePriority DateFiling Date
US11/251,592Expired - Fee RelatedUS8590032B2 (en)2003-12-102005-10-14Rule-based routing to resources through a network
US11/927,272Expired - LifetimeUS8005983B2 (en)2003-12-102007-10-29Rule-based routing to resources through a network
US12/512,891Expired - Fee RelatedUS8613041B2 (en)2003-12-102009-07-30Creating rules for routing resource access requests
US12/512,884Expired - Fee RelatedUS8615796B2 (en)2003-12-102009-07-30Managing resource allocations
US14/061,988Expired - Fee RelatedUS9197538B2 (en)2003-12-102013-10-24Rule-based routing to resources through a network
US14/477,767Expired - Fee RelatedUS9397927B2 (en)2003-12-102014-09-04Rule-based routing to resources through a network
US15/180,329Expired - LifetimeUS10003576B2 (en)2003-12-102016-06-13Rule-based routing to resources through a network

Family Applications Before (4)

Application NumberTitlePriority DateFiling Date
US11/251,592Expired - Fee RelatedUS8590032B2 (en)2003-12-102005-10-14Rule-based routing to resources through a network
US11/927,272Expired - LifetimeUS8005983B2 (en)2003-12-102007-10-29Rule-based routing to resources through a network
US12/512,891Expired - Fee RelatedUS8613041B2 (en)2003-12-102009-07-30Creating rules for routing resource access requests
US12/512,884Expired - Fee RelatedUS8615796B2 (en)2003-12-102009-07-30Managing resource allocations

Family Applications After (2)

Application NumberTitlePriority DateFiling Date
US14/477,767Expired - Fee RelatedUS9397927B2 (en)2003-12-102014-09-04Rule-based routing to resources through a network
US15/180,329Expired - LifetimeUS10003576B2 (en)2003-12-102016-06-13Rule-based routing to resources through a network

Country Status (1)

CountryLink
US (7)US8590032B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9300670B2 (en)2003-12-102016-03-29Aventail LlcRemote access to resources over a network
US20160188621A1 (en)*2014-12-312016-06-30Netapp, Inc.Centralized management center for managing storage services
US9397927B2 (en)2003-12-102016-07-19Aventail LlcRule-based routing to resources through a network
US9407456B2 (en)2003-12-102016-08-02Aventail LlcSecure access to remote resources over a network
US10298543B2 (en)*2016-12-122019-05-21Verisign, Inc.Real-time association of a policy-based firewall with a dynamic DNS hostname
US10965770B1 (en)2020-09-112021-03-30Metacluster It, UabDynamic optimization of request parameters for proxy server
US11165885B2 (en)2016-03-312021-11-02Alibaba Group Holding LimitedRouting method and device
US11456987B1 (en)*2021-05-072022-09-27State Farm Mutual Automobile Insurance CompanySystems and methods for automatic internet protocol address management

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8255973B2 (en)*2003-12-102012-08-28Chris HopenProvisioning remote computers for accessing resources
US9207953B1 (en)*2004-04-282015-12-08F5 Networks, Inc.Method and apparatus for managing a proxy autoconfiguration in SSL VPN
US8020190B2 (en)*2005-10-142011-09-13Sdc Software, Inc.Enhanced browser security
US7962552B2 (en)*2005-11-142011-06-14Red Hat, Inc.Borrow and give back of windows
FR2895632A1 (en)*2005-12-222007-06-29Gemplus Sa CONTROLLING ACCESS TO MULTICAST MODE SERVICES IN A TERMINAL DEVICE
US8495181B2 (en)*2006-08-032013-07-23Citrix Systems, IncSystems and methods for application based interception SSI/VPN traffic
US8869262B2 (en)2006-08-032014-10-21Citrix Systems, Inc.Systems and methods for application based interception of SSL/VPN traffic
US8190868B2 (en)2006-08-072012-05-29Webroot Inc.Malware management through kernel detection
US7970938B1 (en)*2006-08-162011-06-28Vmware, Inc.IP subnet discovery with ranked results
US20160248813A1 (en)*2006-08-232016-08-25Threatstop, Inc.Method and system for propagating network policy
US8533822B2 (en)*2006-08-232013-09-10Threatstop, Inc.Method and system for propagating network policy
WO2008024936A2 (en)*2006-08-232008-02-28DissMethod and system for propagating network policy
US7933994B1 (en)2006-09-292011-04-26Sprint Communications Company L.P.Extracting embedded NAIS (network access identifiers)
US8201218B2 (en)*2007-02-282012-06-12Microsoft CorporationStrategies for securely applying connection policies via a gateway
JP5127272B2 (en)*2007-03-192013-01-23株式会社リコー Workflow management system
JP4803116B2 (en)*2007-05-312011-10-26富士ゼロックス株式会社 Virtual network connection device and program
US8099454B2 (en)*2007-08-032012-01-17International Business Machines CorporationStaging a file within a distributed computing system
US9088605B2 (en)*2007-09-192015-07-21Intel CorporationProactive network attack demand management
US8874789B1 (en)*2007-09-282014-10-28Trend Micro IncorporatedApplication based routing arrangements and method thereof
WO2009052465A2 (en)*2007-10-202009-04-23Citrix Systems, Inc.Systems and methods for folder redirection
US8683062B2 (en)2008-02-282014-03-25Microsoft CorporationCentralized publishing of network resources
US8161160B2 (en)*2008-02-282012-04-17Microsoft CorporationXML-based web feed for web access of remote resources
US8688641B1 (en)2008-03-312014-04-01Symantec Operating CorporationPer user and per process layer visibility
US8438196B1 (en)2008-03-312013-05-07Symantec Operating CorporationFiner grained data organization using data sublayers
US8639734B1 (en)*2008-03-312014-01-28Symantec Operating CorporationUse of external information about a file to determine virtualization
US9477717B2 (en)*2008-03-312016-10-25Yahoo! Inc.Cross-domain matching system
US8527631B1 (en)*2008-06-262013-09-03Trend Micro, Inc.Web site reputation service using proxy auto-configuration
US8612862B2 (en)*2008-06-272013-12-17Microsoft CorporationIntegrated client for access to remote resources
US20100005181A1 (en)*2008-07-072010-01-07Chengdu Huawei Symantec Technologies Co., Ltd.Method and system for controlling a terminal access and terminal for controlling an access
US8798057B1 (en)2008-09-302014-08-05Juniper Networks, Inc.Methods and apparatus to implement except condition during data packet classification
US7796541B1 (en)2008-09-302010-09-14Juniper Networks, Inc.Methods and apparatus for range matching during packet classification based on a linked-node structure
US8675648B1 (en)2008-09-302014-03-18Juniper Networks, Inc.Methods and apparatus for compression in packet classification
US8804950B1 (en)2008-09-302014-08-12Juniper Networks, Inc.Methods and apparatus for producing a hash value based on a hash function
US7961734B2 (en)*2008-09-302011-06-14Juniper Networks, Inc.Methods and apparatus related to packet classification associated with a multi-stage switch
US10523767B2 (en)*2008-11-202019-12-31Synactive, Inc.System and method for improved SAP communications
US9524167B1 (en)*2008-12-102016-12-20Amazon Technologies, Inc.Providing location-specific network access to remote services
US9137209B1 (en)*2008-12-102015-09-15Amazon Technologies, Inc.Providing local secure network access to remote services
US8230050B1 (en)2008-12-102012-07-24Amazon Technologies, Inc.Providing access to configurable private computer networks
US8201237B1 (en)2008-12-102012-06-12Amazon Technologies, Inc.Establishing secure remote access to private computer networks
US8111697B1 (en)2008-12-312012-02-07Juniper Networks, Inc.Methods and apparatus for packet classification based on multiple conditions
US20120005724A1 (en)*2009-02-092012-01-05Imera Systems, Inc.Method and system for protecting private enterprise resources in a cloud computing environment
US8218553B2 (en)*2009-02-252012-07-10Juniper Networks, Inc.Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering
US8259585B1 (en)*2009-04-172012-09-04Juniper Networks, Inc.Dynamic link load balancing
US11489857B2 (en)2009-04-212022-11-01Webroot Inc.System and method for developing a risk profile for an internet resource
US8438386B2 (en)*2009-04-212013-05-07Webroot Inc.System and method for developing a risk profile for an internet service
US8868707B2 (en)*2009-06-162014-10-21Oracle International CorporationAdaptive write-back and write-through caching for off-line data
US8549101B2 (en)*2009-06-162013-10-01Oracle International CorporationPortable embedded local server for write-through cache
US8458604B2 (en)*2009-07-062013-06-04Fairwinds Partners LlcMethods and apparatus for determining website validity
US9755886B2 (en)*2009-09-302017-09-05Micro Focus Software Inc.Techniques for conditional name resolution and configuration
US20110252117A1 (en)*2010-04-122011-10-13Swee Huat SngDevices and Methods for Redirecting a Browser to Access Computer Resource Behind a Network Firewall
US8504809B2 (en)2010-05-272013-08-06At&T Mobility Ii LlcAutomated communication configuration
US9203810B2 (en)*2010-07-232015-12-01Anchorfree Inc.Web VPN
US8832283B1 (en)*2010-09-162014-09-09Google Inc.Content provided DNS resolution validation and use
US9622278B2 (en)2010-10-262017-04-11Kingston Digital Inc.Dual-mode wireless networked device interface and automatic configuration thereof
GB201019061D0 (en)*2010-11-112010-12-29The Technology Partnership PlcSystem and method for controlling an electricity supply
US10511630B1 (en)*2010-12-102019-12-17CellSec, Inc.Dividing a data processing device into separate security domains
CN103493442B (en)*2011-04-182017-02-08日本电气株式会社 Terminal, control device, and communication method
US9384032B2 (en)*2011-04-282016-07-05Clearcenter, Corp.Methods, devices, and systems for establishing, setting-up, and maintaining a virtual computer infrastructure
US8892739B2 (en)*2011-05-262014-11-18International Business Machines CorporationEnabling and managing user-specified aliases
JP5736972B2 (en)*2011-05-302015-06-17富士ゼロックス株式会社 Storage device and communication system
US8892459B2 (en)*2011-07-252014-11-18BrandVerity Inc.Affiliate investigation system and method
US9118686B2 (en)2011-09-062015-08-25Microsoft Technology Licensing, LlcPer process networking capabilities
US11683292B2 (en)2011-09-092023-06-20Kingston Digital, Inc.Private cloud routing server connection mechanism for use in a private communication architecture
US11863529B2 (en)2011-09-092024-01-02Kingston Digital, Inc.Private cloud routing server connection mechanism for use in a private communication architecture
US9935930B2 (en)2011-09-092018-04-03Kingston Digital, Inc.Private and secure communication architecture without utilizing a public cloud based routing server
US10237253B2 (en)2011-09-092019-03-19Kingston Digital, Inc.Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server
US9203807B2 (en)2011-09-092015-12-01Kingston Digital, Inc.Private cloud server and client architecture without utilizing a routing server
US9781087B2 (en)2011-09-092017-10-03Kingston Digital, Inc.Private and secure communication architecture without utilizing a public cloud based routing server
US10601810B2 (en)2011-09-092020-03-24Kingston Digital, Inc.Private cloud routing server connection mechanism for use in a private communication architecture
US9773102B2 (en)2011-09-092017-09-26Microsoft Technology Licensing, LlcSelective file access for applications
US8990561B2 (en)2011-09-092015-03-24Microsoft Technology Licensing, LlcPervasive package identifiers
US9800688B2 (en)2011-09-122017-10-24Microsoft Technology Licensing, LlcPlatform-enabled proximity service
CA2757816C (en)2011-11-142018-09-04Ibm Canada Limited-Ibm Canada LimiteeProgrammatic redirect management
KR101954670B1 (en)*2012-04-032019-03-06삼성전자주식회사Apparatus and method for managing domain name system server in communication system
US8996856B2 (en)*2012-06-172015-03-31Skycure LtdSelective encryption in mobile devices
US9923798B1 (en)2012-06-282018-03-20Juniper Networks, Inc.Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering
US9143498B2 (en)2012-08-302015-09-22Aerohive Networks, Inc.Internetwork authentication
US9031891B2 (en)*2012-09-272015-05-12Amadeus S.A.S.Computing system and method for controlling the execution of a decision process to maintain the data access efficiency upon receipt of an availability information inquiry
US9772668B1 (en)2012-09-272017-09-26Cadence Design Systems, Inc.Power shutdown with isolation logic in I/O power domain
US10356204B2 (en)2012-12-132019-07-16Microsoft Technology Licensing, LlcApplication based hardware identifiers
US9300726B2 (en)*2013-01-152016-03-29International Business Machines CorporationImplementing a private network isolated from a user network for virtual machine deployment and migration and for monitoring and managing the cloud environment
US9270765B2 (en)2013-03-062016-02-23Netskope, Inc.Security for network delivered services
US9762679B2 (en)2013-03-152017-09-12Aerohive Networks, Inc.Providing stateless network services
US9769056B2 (en)2013-03-152017-09-19Aerohive Networks, Inc.Gateway using multicast to unicast conversion
WO2014153366A1 (en)*2013-03-182014-09-25Greenbaum Gary SMaintaining rule coherency for applications
JP6056607B2 (en)*2013-03-282017-01-11富士通株式会社 Information processing system and control method of information processing system
KR102043099B1 (en)*2013-05-022019-11-11삼성전자주식회사Method and apparatus for maanaging mobility in a ip based network
US9858247B2 (en)2013-05-202018-01-02Microsoft Technology Licensing, LlcRuntime resolution of content references
US10021180B2 (en)2013-06-042018-07-10Kingston Digital, Inc.Universal environment extender
CN103366134A (en)*2013-07-122013-10-23浙江吉利汽车研究院有限公司杭州分公司Network connection management system and method
IN2013CH05960A (en)*2013-12-202015-06-26Samsung R & D Inst India Bangalore Private Ltd
WO2015137907A1 (en)*2014-03-102015-09-17Hewlett-Packard Development Company, L.P.Providing an operating system session
US9306985B1 (en)*2014-03-252016-04-058X8, Inc.User configurable data storage
US9130996B1 (en)*2014-03-262015-09-08Iboss, Inc.Network notifications
US9201840B2 (en)*2014-04-212015-12-01Iboss, Inc.Generating proxy automatic configuration scripts
EP2983337B1 (en)*2014-08-082017-03-29ADVA Optical Networking SEMethod and system for facilitating the establishment of a virtual private network in a cellular communication network
US9992619B2 (en)2014-08-122018-06-05Aerohive Networks, Inc.Network device based proximity beacon locating
WO2016109797A1 (en)*2014-12-312016-07-07Level 3 Communications, LlcNetwork address resolution
US9769126B2 (en)*2015-01-072017-09-19AnchorFee Inc.Secure personal server system and method
US10242062B2 (en)2015-02-202019-03-26Threatstop, Inc.Normalization and extraction of log data
JP6747721B2 (en)*2015-02-272020-08-26レベル スリー コミュニケーションズ,エルエルシー Network address resolution
US10135907B2 (en)2015-11-052018-11-20Microsoft Technology Licensing, LlcMaintaining control over restricted data during deployment to cloud computing environments
US10476886B2 (en)2015-11-052019-11-12Microsoft Technology Licensing, LlcJust-in-time access based on geolocation to maintain control of restricted data in cloud computing environments
US10484430B2 (en)*2015-11-052019-11-19Microsoft Technology Licensing, LlcJust-in-time access based on screening criteria to maintain control of restricted data in cloud computing environments
US10560463B2 (en)2015-11-052020-02-11Microsoft Technology Licensing, LlcIncident management to maintain control of restricted data in cloud computing environments
US9823994B2 (en)2015-12-222017-11-21International Business Machines CorporationDynamically identifying performance anti-patterns
CN105719072B (en)*2016-01-182021-11-23上海天旦网络科技发展有限公司System and method for associating multi-segment component transactions
CN112838975B (en)*2016-01-292024-10-22华为技术有限公司Virtual private network VPN service optimization method and equipment
US11425169B2 (en)2016-03-112022-08-23Netskope, Inc.Small-footprint endpoint data loss prevention (DLP)
US10476907B2 (en)2016-08-102019-11-12Netskope, Inc.Systems and methods of detecting and responding to a data attack on a file system
US10700880B2 (en)2016-10-212020-06-30Dinor Adam Vestergaard LeviFlat data routing chain
US10243946B2 (en)2016-11-042019-03-26Netskope, Inc.Non-intrusive security enforcement for federated single sign-on (SSO)
US10505937B2 (en)2017-02-012019-12-10Servicenow, Inc.System and method for application route management
US10230621B2 (en)2017-05-092019-03-12Juniper Networks, Inc.Varying a per-hop-bandwidth constraint in multi-path label switched paths
US10834113B2 (en)2017-07-252020-11-10Netskope, Inc.Compact logging of network traffic events
US10911410B1 (en)2018-05-172021-02-02Securly, Inc.Managed network content monitoring and filtering system and method
CN110661892B (en)*2018-06-282022-06-28贵州白山云科技股份有限公司Domain name configuration information processing method and device
US11087179B2 (en)2018-12-192021-08-10Netskope, Inc.Multi-label classification of text documents
US11416641B2 (en)2019-01-242022-08-16Netskope, Inc.Incident-driven introspection for data loss prevention
US10986150B2 (en)2019-03-012021-04-20Netskope, Inc.Load balancing in a dynamic scalable services mesh
CN110120917B (en)*2019-06-282024-02-02北京瑛菲网络科技有限公司Routing method and device based on content
US11856022B2 (en)2020-01-272023-12-26Netskope, Inc.Metadata-based detection and prevention of phishing attacks
CN112511569B (en)*2021-02-072021-05-11杭州筋斗腾云科技有限公司Method and system for processing network resource access request and computer equipment
US11336689B1 (en)2021-09-142022-05-17Netskope, Inc.Detecting phishing websites via a machine learning-based system using URL feature hashes, HTML encodings and embedded images of content pages
US12432181B2 (en)2021-11-162025-09-30Capital One Services, LlcSystems and methods for implementing transparent SaaS proxy on and off network
US12299129B2 (en)*2022-04-262025-05-13Dell Products L.P.Clustered virtual trusted platform module domain services with a redirector/router service system
US11947682B2 (en)2022-07-072024-04-02Netskope, Inc.ML-based encrypted file classification for identifying encrypted data movement
US20240372862A1 (en)*2023-05-022024-11-07Blackberry LimitedDetermining security of local area network

Citations (95)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO1999057866A1 (en)1998-05-041999-11-11Auric Web SystemsUser specific automatic data redirection system
US6052780A (en)1996-09-122000-04-18Open Security Solutions, LlcComputer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US6081601A (en)1998-01-082000-06-27Nokia Telecommunications OyMethod of implementing connection security in a wireless network
US6081900A (en)1999-03-162000-06-27Novell, Inc.Secure intranet access
US6128279A (en)1997-10-062000-10-03Web Balance, Inc.System for balancing loads among network servers
US6138153A (en)1994-02-142000-10-24Computer Associates Think, Inc.System for software distribution in a digital computer network
US6151631A (en)1998-10-152000-11-21Liquid Audio Inc.Territorial determination of remote computer location in a wide area network for conditional delivery of digitized products
US6199099B1 (en)1999-03-052001-03-06Ac Properties B.V.System, method and article of manufacture for a mobile communication network utilizing a distributed communication network
US6244758B1 (en)1994-11-152001-06-12Absolute Software Corp.Apparatus and method for monitoring electronic devices via a global network
US6269392B1 (en)1994-11-152001-07-31Christian CotichiniMethod and apparatus to monitor and locate an electronic device using a secured intelligent agent
US6300863B1 (en)1994-11-152001-10-09Absolute Software CorporationMethod and apparatus to monitor and locate an electronic device using a secured intelligent agent via a global network
US6321334B1 (en)1998-07-152001-11-20Microsoft CorporationAdministering permissions associated with a security zone in a computer system security model
US20010052007A1 (en)2000-01-212001-12-13Nec CorporationDNS server filter
US20020026576A1 (en)2000-08-182002-02-28Hewlett-Packard CompanyApparatus and method for establishing trust
US20020053031A1 (en)2000-04-122002-05-02Samuel BendinelliMethods and systems for hairpins in virtual networks
US20020065938A1 (en)2000-06-232002-05-30Jungck Peder J.Edge adapter architecture apparatus and method
US20020078215A1 (en)*2000-12-182002-06-20Tahan Thomas E.Community access control in a multi-community node
US20020099937A1 (en)2000-04-122002-07-25Mark TuomenoksaMethods and systems for using names in virtual networks
US20020103903A1 (en)2001-01-312002-08-01Bruton David AroMethods, systems and computer program products for selectively allowing users of a multi-user system access to network resources
US20020112052A1 (en)2001-02-132002-08-15Peter BrittinghamRemote computer capabilities querying and certification
US20020143946A1 (en)2001-03-282002-10-03Daniel CrossonSoftware based internet protocol address selection method and system
US20020167965A1 (en)2001-01-182002-11-14James BeasleyLink context mobility method and system for providing such mobility, such as a system employing short range frequency hopping spread spectrum wireless protocols
US20020198984A1 (en)2001-05-092002-12-26Guy GoldsteinTransaction breakdown feature to facilitate analysis of end user performance of a server system
WO2002037799A3 (en)2000-11-032003-03-13Univ NebraskaLoad balancing method and system
US20030051042A1 (en)*2001-09-132003-03-13International Business Machines CorporationLoad balancing method and system for allocation of service requests on a network
WO2002099571A3 (en)2001-06-012003-03-27Fujitsu Network Comm IncSystem and method for topology constrained routing policy provisioning
US20030074472A1 (en)2001-10-162003-04-17Lucco Steven E.Relsolving virtual network names
EP1308822A2 (en)2001-10-302003-05-07Asgent, Inc.Method and apparatus for ascertaining the status of an information system
US6594704B1 (en)1999-12-152003-07-15Quarry TechnologiesMethod of managing and using multiple virtual private networks in a router with a single routing table
US6631416B2 (en)*2000-04-122003-10-07Openreach Inc.Methods and systems for enabling a tunnel between two computers on a network
US20030191944A1 (en)2002-04-042003-10-09Rothrock Lewis V.Method of providing adaptive security
US20030196091A1 (en)2000-08-282003-10-16Contentguard Holdings, Inc.Method and apparatus for validating security components through a request for content
US20030210791A1 (en)2002-05-072003-11-13Binder Garritt C.Key management
US20030229613A1 (en)2001-12-202003-12-11Shawn ZarghamSystem and method for managing interconnect carrier routing
US20030233401A1 (en)2002-06-142003-12-18Dean Christopher JamesSystem and method for retrieving information from disparate information sources and integrating the information in accordance with a domain model
US20040003084A1 (en)2002-05-212004-01-01Malik Dale W.Network resource management system
US6675206B1 (en)2000-04-142004-01-06International Business Machines CorporationMethod and apparatus for generating replies to address resolution protocol requests for virtual IP addresses
US20040015961A1 (en)2001-03-192004-01-22International Business Machines CorporationMethod and apparatus for automatic prerequisite verification and installation of software
US20040015725A1 (en)2000-08-072004-01-22Dan BonehClient-side inspection and processing of secure content
US6691232B1 (en)1999-08-052004-02-10Sun Microsystems, Inc.Security architecture with environment sensitive credential sufficiency evaluation
JP2004064182A (en)2002-07-252004-02-26Nippon Telegr & Teleph Corp <Ntt> Private network connection method and gateway control device
US6701437B1 (en)*1998-04-172004-03-02Vpnet Technologies, Inc.Method and apparatus for processing communications in a virtual private network
US20040042605A1 (en)2002-08-272004-03-04Tom EvslinCall Routing system and method
US20040078471A1 (en)2002-10-182004-04-22Collatus Corporation, A Delaware CorportionApparatus, method, and computer program product for building virtual networks
US6760330B2 (en)*2000-12-182004-07-06Sun Microsystems, Inc.Community separation control in a multi-community node
US20040148439A1 (en)2003-01-142004-07-29Motorola, Inc.Apparatus and method for peer to peer network connectivty
US6772350B1 (en)1998-05-152004-08-03E.Piphany, Inc.System and method for controlling access to resources in a distributed environment
US20040153533A1 (en)2000-07-132004-08-05Lewis Lundy M.Method and apparatus for a comprehensive network management system
US6779030B1 (en)1997-10-062004-08-17Worldcom, Inc.Intelligent network
US20040165592A1 (en)*2003-02-212004-08-26Sbc Properties, L.P.Extended virtual user-to-network interface with ATM network
US20040215823A1 (en)2002-06-282004-10-28Kleinfelter Kevin P.System and method for reducing DNS lookup traffic in a computer data network
US20040223491A1 (en)2003-05-062004-11-11Levy-Abegnoli Eric M.Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet
US20040249919A1 (en)2003-06-042004-12-09Dirk MattheisSystem and method for remote systems management and reporting
US6850943B2 (en)2002-10-182005-02-01Check Point Software Technologies, Inc.Security system and methodology for providing indirect access control
US20050044544A1 (en)1996-04-182005-02-24Microsoft CorporationMethods and systems for obtaining computer software via a network
US6874028B1 (en)1999-10-252005-03-29Microsoft CorporationSystem and method for unified registration information collection
US6873988B2 (en)2001-07-062005-03-29Check Point Software Technologies, Inc.System and methods providing anti-virus cooperative enforcement
US20050076139A1 (en)2002-03-292005-04-07Kabushiki Kaisha ToshibaNetwork system using name server with pseudo host name and pseudo IP address generation function
US6880005B1 (en)*2000-03-312005-04-12Intel CorporationManaging policy rules in a network
US20050083955A1 (en)2003-09-292005-04-21Guichard James N.Methods and apparatus to support routing of information
US20050120095A1 (en)2003-12-022005-06-02International Business Machines CorporationApparatus and method for determining load balancing weights using application instance statistical information
US20050144481A1 (en)2003-12-102005-06-30Chris HopenEnd point control
US6920502B2 (en)2000-04-132005-07-19Netilla Networks, Inc.Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US6957274B2 (en)2001-06-272005-10-18Microsoft CorporationSystem adds additional new routes and default routes to a routing table to allow concurrent access to two different network connections
US20050273779A1 (en)1996-06-072005-12-08William ChengAutomatic updating of diverse software products on multiple client computer systems
JP2006013732A (en)2004-06-242006-01-12Hitachi Ltd Routing apparatus and information processing apparatus authentication method
US6996631B1 (en)2000-08-172006-02-07International Business Machines CorporationSystem having a single IP address associated with communication protocol stacks in a cluster of processing systems
US7000121B2 (en)2000-06-152006-02-14Fujitsu Services LimitedComputer systems, in particular virtual private networks
US7017162B2 (en)2001-07-102006-03-21Microsoft CorporationApplication program interface for network software platform
WO2006044820A3 (en)2004-10-142006-06-29Aventail CorpRule-based routing to resources through a network
US20060143703A1 (en)2003-12-102006-06-29Chris HopenRule-based routing to resources through a network
US7073093B2 (en)2001-05-152006-07-04Hewlett-Packard Development Company, L.P.Helpdesk system and method
US20060161970A1 (en)2003-12-102006-07-20Chris HopenEnd point control
US7093024B2 (en)2001-09-272006-08-15International Business Machines CorporationEnd node partitioning using virtualization
US7099955B1 (en)2000-10-192006-08-29International Business Machines CorporationEnd node partitioning using LMC for a system area network
US7107614B1 (en)1999-01-292006-09-12International Business Machines CorporationSystem and method for network address translation integration with IP security
US7127493B1 (en)1998-08-202006-10-24Gautier Taylor SOptimizing server delivery of content by selective inclusion of optional data based on optimization criteria
US7131141B1 (en)*2001-07-272006-10-31At&T Corp.Method and apparatus for securely connecting a plurality of trust-group networks, a protected resource network and an untrusted network
US20060271544A1 (en)2005-05-272006-11-30International Business Machines CorporationMethods and apparatus for selective workload off-loading across multiple data centers
US20070061887A1 (en)2003-12-102007-03-15Aventail CorporationSmart tunneling to resources in a network
US7222172B2 (en)2002-04-262007-05-22Hitachi, Ltd.Storage system having virtualized resource
EP0804012B1 (en)1996-04-232007-07-18Nokia CorporationMultimedia terminal and method for realising multimedia reception
US7272625B1 (en)*1997-03-102007-09-18Sonicwall, Inc.Generalized policy server
US7283544B2 (en)2002-12-052007-10-16Hewlett-Packard Development Company, L.P.Automatic network device route management
US7289519B1 (en)2002-05-012007-10-30Cisco Technology, Inc.Methods and apparatus for processing content requests using domain name service
US7373660B1 (en)2003-08-262008-05-13Cisco Technology, Inc.Methods and apparatus to distribute policy information
US7401354B2 (en)1999-01-292008-07-15International Business Machines CorporationSystem and method for network address translation integration with IP Security
US7461147B1 (en)2002-08-262008-12-02Netapp. Inc.Node selection within a network based on policy
US7574738B2 (en)2002-11-062009-08-11At&T Intellectual Property Ii, L.P.Virtual private network crossovers based on certificates
US7580919B1 (en)*1997-03-102009-08-25Sonicwall, Inc.Query interface to policy server
US7624142B2 (en)2000-06-232009-11-24Cloudshield Technologies, Inc.System and method for processing packets according to user specified rules governed by a syntax
US7644151B2 (en)2002-01-312010-01-05Lancope, Inc.Network service zone locking
US7822839B1 (en)2003-05-062010-10-26F5 Networks, Inc.Method and system for accessing network services
US7822829B2 (en)1998-09-112010-10-26Rpx-Lv Acquisition LlcMethod for interfacing scanned product information with a source for the product over a global network
US7865603B2 (en)2004-09-302011-01-04Citrix Systems, Inc.Method and apparatus for assigning access control levels in providing access to networked content files

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US709324A (en)*1902-05-201902-09-16Alexander HonrathPuncture-proof inflatable wheel.
JPS59202261A (en)*1983-04-301984-11-16Nippon Oil & Fats Co LtdMethod for modifying surface of high-molecular material
BR0102116B1 (en)*2000-05-102010-09-21 component for a breathing circuit member.
GB2365256A (en)*2000-07-282002-02-13Ridgeway Systems & Software LtAudio-video telephony with port address translation
US6873998B1 (en)*2000-10-182005-03-29Navteq North America, LlcSystem and method for updating a geographic database using satellite imagery
US7209479B2 (en)2001-01-182007-04-24Science Application International Corp.Third party VPN certification
US7124173B2 (en)*2001-04-302006-10-17Moriarty Kathleen MMethod and apparatus for intercepting performance metric packets for improved security and intrusion detection
US6907525B2 (en)*2001-08-142005-06-14Riverhead Networks Inc.Protecting against spoofed DNS messages
US7769838B2 (en)*2001-08-232010-08-03The Directv Group, Inc.Single-modem multi-user virtual private network
DE60104876T2 (en)*2001-12-182004-12-23Stonesoft Corp. Checking the configuration of a firewall
US7243148B2 (en)*2002-01-152007-07-10Mcafee, Inc.System and method for network vulnerability detection and reporting
US20030154306A1 (en)*2002-02-112003-08-14Perry Stephen HastingsSystem and method to proxy inbound connections to privately addressed hosts
US7088718B1 (en)*2002-03-192006-08-08Cisco Technology, Inc.Server load balancing using IP option field approach to identify route to selected server
ATE374493T1 (en)*2002-03-292007-10-15Global Dataguard Inc ADAPTIVE BEHAVIORAL INTRUSION DETECTION
EP1420559A1 (en)*2002-11-132004-05-19Thomson Licensing S.A.Method and device for supporting a 6to4 tunneling protocol across a network address translation mechanism
US7340483B1 (en)2003-05-022008-03-04Microsoft CorporationSystem and method of copying a media resource
US7577743B2 (en)*2003-08-012009-08-18Sentillion, Inc.Methods and apparatus for performing context management in a networked environment
US20050053063A1 (en)*2003-09-042005-03-10Sajeev MadhavanAutomatic provisioning of network address translation data
US20050076141A1 (en)*2003-09-192005-04-07Williams Aidan MichaelUse of an autoconfigured namespace for automatic protocol proxying
US20050144286A1 (en)*2003-12-082005-06-30Oliver SzuHome portal router
JP2005210380A (en)2004-01-222005-08-04Nippon Telegr & Teleph Corp <Ntt> Peer-to-peer communication method and communication system
US20110100005A1 (en)*2009-10-302011-05-05Sampson Glenn AWater reclamation in a concentrated solar power-enabled power plant

Patent Citations (126)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6138153A (en)1994-02-142000-10-24Computer Associates Think, Inc.System for software distribution in a digital computer network
US6300863B1 (en)1994-11-152001-10-09Absolute Software CorporationMethod and apparatus to monitor and locate an electronic device using a secured intelligent agent via a global network
US6269392B1 (en)1994-11-152001-07-31Christian CotichiniMethod and apparatus to monitor and locate an electronic device using a secured intelligent agent
US6244758B1 (en)1994-11-152001-06-12Absolute Software Corp.Apparatus and method for monitoring electronic devices via a global network
US20050044544A1 (en)1996-04-182005-02-24Microsoft CorporationMethods and systems for obtaining computer software via a network
EP0804012B1 (en)1996-04-232007-07-18Nokia CorporationMultimedia terminal and method for realising multimedia reception
US20050273779A1 (en)1996-06-072005-12-08William ChengAutomatic updating of diverse software products on multiple client computer systems
US6052780A (en)1996-09-122000-04-18Open Security Solutions, LlcComputer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US7580919B1 (en)*1997-03-102009-08-25Sonicwall, Inc.Query interface to policy server
US7272625B1 (en)*1997-03-102007-09-18Sonicwall, Inc.Generalized policy server
US6128279A (en)1997-10-062000-10-03Web Balance, Inc.System for balancing loads among network servers
US6779030B1 (en)1997-10-062004-08-17Worldcom, Inc.Intelligent network
US6081601A (en)1998-01-082000-06-27Nokia Telecommunications OyMethod of implementing connection security in a wireless network
US6701437B1 (en)*1998-04-172004-03-02Vpnet Technologies, Inc.Method and apparatus for processing communications in a virtual private network
WO1999057866A1 (en)1998-05-041999-11-11Auric Web SystemsUser specific automatic data redirection system
US6772350B1 (en)1998-05-152004-08-03E.Piphany, Inc.System and method for controlling access to resources in a distributed environment
US6321334B1 (en)1998-07-152001-11-20Microsoft CorporationAdministering permissions associated with a security zone in a computer system security model
US7127493B1 (en)1998-08-202006-10-24Gautier Taylor SOptimizing server delivery of content by selective inclusion of optional data based on optimization criteria
US7822829B2 (en)1998-09-112010-10-26Rpx-Lv Acquisition LlcMethod for interfacing scanned product information with a source for the product over a global network
US6151631A (en)1998-10-152000-11-21Liquid Audio Inc.Territorial determination of remote computer location in a wide area network for conditional delivery of digitized products
US7401354B2 (en)1999-01-292008-07-15International Business Machines CorporationSystem and method for network address translation integration with IP Security
US7107614B1 (en)1999-01-292006-09-12International Business Machines CorporationSystem and method for network address translation integration with IP security
US6199099B1 (en)1999-03-052001-03-06Ac Properties B.V.System, method and article of manufacture for a mobile communication network utilizing a distributed communication network
US6081900A (en)1999-03-162000-06-27Novell, Inc.Secure intranet access
US6691232B1 (en)1999-08-052004-02-10Sun Microsystems, Inc.Security architecture with environment sensitive credential sufficiency evaluation
US6874028B1 (en)1999-10-252005-03-29Microsoft CorporationSystem and method for unified registration information collection
US6594704B1 (en)1999-12-152003-07-15Quarry TechnologiesMethod of managing and using multiple virtual private networks in a router with a single routing table
US20010052007A1 (en)2000-01-212001-12-13Nec CorporationDNS server filter
US6880005B1 (en)*2000-03-312005-04-12Intel CorporationManaging policy rules in a network
US6631416B2 (en)*2000-04-122003-10-07Openreach Inc.Methods and systems for enabling a tunnel between two computers on a network
US20020053031A1 (en)2000-04-122002-05-02Samuel BendinelliMethods and systems for hairpins in virtual networks
US20020099937A1 (en)2000-04-122002-07-25Mark TuomenoksaMethods and systems for using names in virtual networks
US6920502B2 (en)2000-04-132005-07-19Netilla Networks, Inc.Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US6675206B1 (en)2000-04-142004-01-06International Business Machines CorporationMethod and apparatus for generating replies to address resolution protocol requests for virtual IP addresses
US7000121B2 (en)2000-06-152006-02-14Fujitsu Services LimitedComputer systems, in particular virtual private networks
US20020065938A1 (en)2000-06-232002-05-30Jungck Peder J.Edge adapter architecture apparatus and method
US7624142B2 (en)2000-06-232009-11-24Cloudshield Technologies, Inc.System and method for processing packets according to user specified rules governed by a syntax
US20040153533A1 (en)2000-07-132004-08-05Lewis Lundy M.Method and apparatus for a comprehensive network management system
US20040015725A1 (en)2000-08-072004-01-22Dan BonehClient-side inspection and processing of secure content
US6996631B1 (en)2000-08-172006-02-07International Business Machines CorporationSystem having a single IP address associated with communication protocol stacks in a cluster of processing systems
US20020026576A1 (en)2000-08-182002-02-28Hewlett-Packard CompanyApparatus and method for establishing trust
US20030196121A1 (en)2000-08-282003-10-16Contentguard Holdings, Inc.Method and apparatus for automatically deploy security components in a content distribution system
US20030196091A1 (en)2000-08-282003-10-16Contentguard Holdings, Inc.Method and apparatus for validating security components through a request for content
US7099955B1 (en)2000-10-192006-08-29International Business Machines CorporationEnd node partitioning using LMC for a system area network
WO2002037799A3 (en)2000-11-032003-03-13Univ NebraskaLoad balancing method and system
US7447782B2 (en)2000-12-182008-11-04Sun Microsystems, Inc.Community access control in a multi-community node
US20020078215A1 (en)*2000-12-182002-06-20Tahan Thomas E.Community access control in a multi-community node
US6760330B2 (en)*2000-12-182004-07-06Sun Microsystems, Inc.Community separation control in a multi-community node
US20020167965A1 (en)2001-01-182002-11-14James BeasleyLink context mobility method and system for providing such mobility, such as a system employing short range frequency hopping spread spectrum wireless protocols
US20020103903A1 (en)2001-01-312002-08-01Bruton David AroMethods, systems and computer program products for selectively allowing users of a multi-user system access to network resources
US20020112052A1 (en)2001-02-132002-08-15Peter BrittinghamRemote computer capabilities querying and certification
US7092987B2 (en)2001-02-132006-08-15Educational Testing ServiceRemote computer capabilities querying and certification
US20040015961A1 (en)2001-03-192004-01-22International Business Machines CorporationMethod and apparatus for automatic prerequisite verification and installation of software
US20020143946A1 (en)2001-03-282002-10-03Daniel CrossonSoftware based internet protocol address selection method and system
US20020198984A1 (en)2001-05-092002-12-26Guy GoldsteinTransaction breakdown feature to facilitate analysis of end user performance of a server system
US7073093B2 (en)2001-05-152006-07-04Hewlett-Packard Development Company, L.P.Helpdesk system and method
WO2002099571A3 (en)2001-06-012003-03-27Fujitsu Network Comm IncSystem and method for topology constrained routing policy provisioning
US6957274B2 (en)2001-06-272005-10-18Microsoft CorporationSystem adds additional new routes and default routes to a routing table to allow concurrent access to two different network connections
US6873988B2 (en)2001-07-062005-03-29Check Point Software Technologies, Inc.System and methods providing anti-virus cooperative enforcement
US7017162B2 (en)2001-07-102006-03-21Microsoft CorporationApplication program interface for network software platform
US7131141B1 (en)*2001-07-272006-10-31At&T Corp.Method and apparatus for securely connecting a plurality of trust-group networks, a protected resource network and an untrusted network
US20030051042A1 (en)*2001-09-132003-03-13International Business Machines CorporationLoad balancing method and system for allocation of service requests on a network
US7093024B2 (en)2001-09-272006-08-15International Business Machines CorporationEnd node partitioning using virtualization
US20030074472A1 (en)2001-10-162003-04-17Lucco Steven E.Relsolving virtual network names
EP1308822A2 (en)2001-10-302003-05-07Asgent, Inc.Method and apparatus for ascertaining the status of an information system
US20030229613A1 (en)2001-12-202003-12-11Shawn ZarghamSystem and method for managing interconnect carrier routing
US7644151B2 (en)2002-01-312010-01-05Lancope, Inc.Network service zone locking
US20050076139A1 (en)2002-03-292005-04-07Kabushiki Kaisha ToshibaNetwork system using name server with pseudo host name and pseudo IP address generation function
US20030191944A1 (en)2002-04-042003-10-09Rothrock Lewis V.Method of providing adaptive security
US7222172B2 (en)2002-04-262007-05-22Hitachi, Ltd.Storage system having virtualized resource
US7289519B1 (en)2002-05-012007-10-30Cisco Technology, Inc.Methods and apparatus for processing content requests using domain name service
US20030210791A1 (en)2002-05-072003-11-13Binder Garritt C.Key management
US20040003084A1 (en)2002-05-212004-01-01Malik Dale W.Network resource management system
US20030233401A1 (en)2002-06-142003-12-18Dean Christopher JamesSystem and method for retrieving information from disparate information sources and integrating the information in accordance with a domain model
US20040215823A1 (en)2002-06-282004-10-28Kleinfelter Kevin P.System and method for reducing DNS lookup traffic in a computer data network
JP2004064182A (en)2002-07-252004-02-26Nippon Telegr & Teleph Corp <Ntt> Private network connection method and gateway control device
US7461147B1 (en)2002-08-262008-12-02Netapp. Inc.Node selection within a network based on policy
US20040042605A1 (en)2002-08-272004-03-04Tom EvslinCall Routing system and method
US6850943B2 (en)2002-10-182005-02-01Check Point Software Technologies, Inc.Security system and methodology for providing indirect access control
US20040078471A1 (en)2002-10-182004-04-22Collatus Corporation, A Delaware CorportionApparatus, method, and computer program product for building virtual networks
US7574738B2 (en)2002-11-062009-08-11At&T Intellectual Property Ii, L.P.Virtual private network crossovers based on certificates
US7283544B2 (en)2002-12-052007-10-16Hewlett-Packard Development Company, L.P.Automatic network device route management
US20040148439A1 (en)2003-01-142004-07-29Motorola, Inc.Apparatus and method for peer to peer network connectivty
US20040165592A1 (en)*2003-02-212004-08-26Sbc Properties, L.P.Extended virtual user-to-network interface with ATM network
US7822839B1 (en)2003-05-062010-10-26F5 Networks, Inc.Method and system for accessing network services
US7760701B2 (en)2003-05-062010-07-20Cisco Technology, Inc.Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet
US20040223491A1 (en)2003-05-062004-11-11Levy-Abegnoli Eric M.Arrangement in a router for distributing a routing rule used to generate routes based on a pattern of a received packet
US20040249919A1 (en)2003-06-042004-12-09Dirk MattheisSystem and method for remote systems management and reporting
US7373660B1 (en)2003-08-262008-05-13Cisco Technology, Inc.Methods and apparatus to distribute policy information
US20050083955A1 (en)2003-09-292005-04-21Guichard James N.Methods and apparatus to support routing of information
US7493380B2 (en)2003-12-022009-02-17International Business Machines CorporationMethod for determining load balancing weights using application instance topology information
US20050120095A1 (en)2003-12-022005-06-02International Business Machines CorporationApparatus and method for determining load balancing weights using application instance statistical information
US8005983B2 (en)2003-12-102011-08-23Aventail LlcRule-based routing to resources through a network
US7827590B2 (en)2003-12-102010-11-02Aventail LlcControlling access to a set of resources in a network
US20050144481A1 (en)2003-12-102005-06-30Chris HopenEnd point control
US20150052248A1 (en)2003-12-102015-02-19Sonicwall, Inc.Rule-based routing to resources through a network
US20080162698A1 (en)*2003-12-102008-07-03Chirs HopenRule-Based Routing to Resources through a Network
US20080162726A1 (en)2003-12-102008-07-03Paul Lawrence HooverSmart Tunneling to Resources in a Remote Network
US20080148364A1 (en)2003-12-102008-06-19Chris HopenEnd Point Control
US20080134302A1 (en)2003-12-102008-06-05Chris HopenEnd Point Control
US20100024008A1 (en)2003-12-102010-01-28Chris HopenManaging Resource Allocations
US20100036955A1 (en)*2003-12-102010-02-11Chris HopenCreating Rules For Routing Resource Access Requests
US7698388B2 (en)2003-12-102010-04-13Aventail LlcSecure access to remote resources over a network
US20100121943A1 (en)2003-12-102010-05-13Paul Lawrence HooverSecure Access to Remote Resources Over a Network
US20060143703A1 (en)2003-12-102006-06-29Chris HopenRule-based routing to resources through a network
US7770222B2 (en)2003-12-102010-08-03Aventail LlcCreating an interrogation manifest request
US7779469B2 (en)2003-12-102010-08-17Aventail LlcProvisioning an operating environment of a remote computer
US20060161970A1 (en)2003-12-102006-07-20Chris HopenEnd point control
US20140123225A1 (en)2003-12-102014-05-01Adventail LLCRemote access to resources over a network
US8661158B2 (en)2003-12-102014-02-25Aventail LlcSmart tunneling to resources in a network
US20100333169A1 (en)2003-12-102010-12-30Chris HopenClassifying an Operating Environment of a Remote Computer
US8615796B2 (en)2003-12-102013-12-24Aventail LlcManaging resource allocations
US8613041B2 (en)*2003-12-102013-12-17Aventail LlcCreating rules for routing resource access requests
US20110167475A1 (en)2003-12-102011-07-07Paul Lawrence HooverSecure Access to Remote Resources Over a Network
US8590032B2 (en)2003-12-102013-11-19Aventail LlcRule-based routing to resources through a network
US20070061887A1 (en)2003-12-102007-03-15Aventail CorporationSmart tunneling to resources in a network
US8090827B2 (en)2003-12-102012-01-03Aventail LlcSecure access to remote resources over a network
US8255973B2 (en)2003-12-102012-08-28Chris HopenProvisioning remote computers for accessing resources
US8301769B2 (en)2003-12-102012-10-30Aventail LlcClassifying an operating environment of a remote computer
US20110167101A1 (en)2004-06-242011-07-07Chris HopenEnd Point Control
US8601550B2 (en)2004-06-242013-12-03Aventail LlcRemote access to resources over a network
JP2006013732A (en)2004-06-242006-01-12Hitachi Ltd Routing apparatus and information processing apparatus authentication method
US7870294B2 (en)2004-09-302011-01-11Citrix Systems, Inc.Method and apparatus for providing policy-based document control
US7865603B2 (en)2004-09-302011-01-04Citrix Systems, Inc.Method and apparatus for assigning access control levels in providing access to networked content files
WO2006044820A3 (en)2004-10-142006-06-29Aventail CorpRule-based routing to resources through a network
US20060271544A1 (en)2005-05-272006-11-30International Business Machines CorporationMethods and apparatus for selective workload off-loading across multiple data centers

Non-Patent Citations (48)

* Cited by examiner, † Cited by third party
Title
"Microsoft® Computer Dictionary," Fifth Edition, Microsoft Press, May 1, 2002, 2 pages.
Canter, Sheryl "Kill Internet Ads with HOSTS and PAC Files," Online! Mar. 30, 2004, retrieved from the internet URL: http://web.archive.org/web20040426140542/http://www.windowsdevcenter.com/pub/a/windows/2004/03/30/hosts.html, retrieved Jan. 24, 2006.
Cisco et al., "Release Notes for Cisco Cache Engine, Version 2.0.3," Dec. 1999, pp. 1-11.
International Search Report and Written Opinion for PCT/US2005/037292 mailed Apr. 7, 2006.
Kritzner, Ulrich "Objektrferenz-Das Navigator-Objekt," Javascript-Tutorial, Online!, Mar. 31, 2002, XP 002331683 retrieved from http://web/archive.org/web/2002033104028/http://js-tut.aardon.de/js-tut/anhangA/navigator.html.
Napier, Duncan "Setting up a VPN Gateway," Linux Journal, vol. 2002, Issue 93, Specialized Systems Consultants, Inc., Jan. 2002, 11 pages.
NN9603183. "Security for Routing Based on Link State Algorithms." IBM Technical Disclosure Bulletin. Mar. 1996. US. vol. 39, Issue 3, pp. 183-190.
Papadimitratos, Panagiotis et al. "Securing the Internet Routing Infrastructure." IEEE Communications Magazine. Oct. 2002. IEEE Press. 60-68.
Ragunath, Satish et al., "Measurement Based Characterization and Provisioning of IP VPNs," Proceedings of the 4th ACM SIGCOMM Conference on Internet Measurement, ACM Press, Oct. 2004, 342-55.
U.S. Appl. No. 11/009,692 Final Office Action mailed Dec. 2, 2008.
U.S. Appl. No. 11/009,692 Office Action mailed Aug. 29, 2008.
U.S. Appl. No. 11/251,087 Final Office Action mailed Mar. 3, 2010.
U.S. Appl. No. 11/251,087 Office Action mailed Aug. 20, 2009.
U.S. Appl. No. 11/251,087 Office Action mailed Jul. 20, 2010.
U.S. Appl. No. 11/251,592 Final Office Action mailed Dec. 6, 2011.
U.S. Appl. No. 11/251,592 Final Office Action mailed Nov. 3, 2009.
U.S. Appl. No. 11/251,592 Final Office Action mailed Nov. 9, 2010.
U.S. Appl. No. 11/251,592 Office Action mailed Apr. 13, 2011.
U.S. Appl. No. 11/251,592 Office Action mailed Apr. 29, 2009.
U.S. Appl. No. 11/251,592 Office Action mailed Jul. 20, 2010.
U.S. Appl. No. 11/371,348 Final Office Action mailed Feb. 22, 2013.
U.S. Appl. No. 11/371,348 Final Office Action mailed Jun. 6, 2011.
U.S. Appl. No. 11/371,348 Final Office Action mailed Mar. 24, 2010.
U.S. Appl. No. 11/371,348 Office Action mailed Nov. 30, 2010.
U.S. Appl. No. 11/371,348 Office Action mailed Sep. 21, 2012.
U.S. Appl. No. 11/371,348 Office Action mailed Sep. 25, 2009.
U.S. Appl. No. 11/927,286 Office Action mailed Nov. 17, 2009.
U.S. Appl. No. 11/927,310 Office Action mailed Feb. 5, 2010.
U.S. Appl. No. 11/972,272 Final Office Action mailed May 12, 2010.
U.S. Appl. No. 11/972,272 Office Action mailed Sep. 29, 2009.
U.S. Appl. No. 12/512,884 Final Office Action mailed Aug. 3, 2011.
U.S. Appl. No. 12/512,884 Office Action mailed Jan. 19, 2011.
U.S. Appl. No. 12/512,891 Final Office Action mailed Aug. 18, 2011.
U.S. Appl. No. 12/512,891 Office Action mailed Mar. 1, 2011.
U.S. Appl. No. 12/690,018 Office Action mailed Feb. 9, 2011.
U.S. Appl. No. 12/821,060 Final Office Action mailed Mar. 12, 2012.
U.S. Appl. No. 12/821,060 Office Action mailed Oct. 27, 2011.
U.S. Appl. No. 12/938,330 Final Office Action mailed Feb. 1, 2013.
U.S. Appl. No. 12/938,330 Office Action mailed Jun. 27, 2011.
U.S. Appl. No. 13/038,340 Final Office Action mailed Dec. 17, 2013.
U.S. Appl. No. 13/038,340 Final Office Action mailed Jul. 25, 2013.
U.S. Appl. No. 13/038,340 Office Action mailed Dec. 5, 2012.
U.S. Appl. No. 13/038,340 Office Action mailed Jun. 2, 2015.
U.S. Appl. No. 13/038,340 Office Action mailed Mar. 14, 2013.
U.S. Appl. No. 13/038,340 Office Action mailed Sep. 6, 2013.
U.S. Appl. No. 14/058,215 Final Office Action mailed Aug. 26, 2015.
U.S. Appl. No. 14/058,215 Office Action mailed Feb. 5, 2015.
U.S. Appl. No. 14/477,767 Office Action mailed Mar. 17, 2015.

Cited By (21)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10135827B2 (en)2003-12-102018-11-20Sonicwall Inc.Secure access to remote resources over a network
US9300670B2 (en)2003-12-102016-03-29Aventail LlcRemote access to resources over a network
US9397927B2 (en)2003-12-102016-07-19Aventail LlcRule-based routing to resources through a network
US9407456B2 (en)2003-12-102016-08-02Aventail LlcSecure access to remote resources over a network
US9628489B2 (en)2003-12-102017-04-18Sonicwall Inc.Remote access to resources over a network
US9906534B2 (en)2003-12-102018-02-27Sonicwall Inc.Remote access to resources over a network
US10003576B2 (en)2003-12-102018-06-19Sonicwall Inc.Rule-based routing to resources through a network
US10313350B2 (en)2003-12-102019-06-04Sonicwall Inc.Remote access to resources over a network
US20160188621A1 (en)*2014-12-312016-06-30Netapp, Inc.Centralized management center for managing storage services
US9804929B2 (en)*2014-12-312017-10-31Netapp, Inc.Centralized management center for managing storage services
US10387263B2 (en)2014-12-312019-08-20Netapp, Inc.Centralized management center for managing storage services
US9740568B2 (en)2014-12-312017-08-22Netapp, Inc.Centralized graphical user interface and associated methods and systems for a centralized management center for managing storage services in a networked storage environment
US10496488B2 (en)2014-12-312019-12-03Netapp, Inc.Methods and systems for clone management
US11165885B2 (en)2016-03-312021-11-02Alibaba Group Holding LimitedRouting method and device
US10298543B2 (en)*2016-12-122019-05-21Verisign, Inc.Real-time association of a policy-based firewall with a dynamic DNS hostname
US11140235B1 (en)2020-09-112021-10-05metacluster lt, UABDynamic optimization of request parameters for proxy server
US10965770B1 (en)2020-09-112021-03-30Metacluster It, UabDynamic optimization of request parameters for proxy server
US11343342B2 (en)2020-09-112022-05-24metacluster lt, UABDynamic optimization of request parameters for proxy server
US11470174B2 (en)2020-09-112022-10-11metacluster lt, UABDynamic optimization of request parameters for proxy server
US11456987B1 (en)*2021-05-072022-09-27State Farm Mutual Automobile Insurance CompanySystems and methods for automatic internet protocol address management
US12113769B2 (en)2021-05-072024-10-08State Farm Mutual Automobile Insurance CompanySystems and methods for automatic internet protocol address management

Also Published As

Publication numberPublication date
US9397927B2 (en)2016-07-19
US8005983B2 (en)2011-08-23
US8613041B2 (en)2013-12-17
US10003576B2 (en)2018-06-19
US20160294778A1 (en)2016-10-06
US20100024008A1 (en)2010-01-28
US8590032B2 (en)2013-11-19
US8615796B2 (en)2013-12-24
US20060143703A1 (en)2006-06-29
US20140053237A1 (en)2014-02-20
US20080162698A1 (en)2008-07-03
US20100036955A1 (en)2010-02-11
US20150052248A1 (en)2015-02-19

Similar Documents

PublicationPublication DateTitle
US10003576B2 (en)Rule-based routing to resources through a network
WO2006044820A2 (en)Rule-based routing to resources through a network
US10135827B2 (en)Secure access to remote resources over a network
EP1998506B1 (en)Method for controlling the connection of a virtual network
US9037738B2 (en)Web-based security and filtering system for inbound/outbound communications with proxy chaining
US7533409B2 (en)Methods and systems for firewalling virtual private networks
EP3557822A1 (en)Fully qualified domain name-based traffic control for virtual private network access control
JP2008507929A (en) Method and system for securing remote access to a private network
CN102197400A (en)Network location determination for direct access networks
US7173933B1 (en)System and method for providing source awareness in a network environment
US20050160160A1 (en)Method and system for unified session control of multiple management servers on network appliances
US7844731B1 (en)Systems and methods for address spacing in a firewall cluster
JP3575369B2 (en) Access routing method and access providing system
WO2006096875A1 (en)Smart tunneling to resources in a remote network
SnyderNetScreen, Nokia top the growing field of products that target simplified secure remote access.
JP2002185537A (en)Method for connecting networks
KR20090000069A (en) Record medium recording method of e-mail address processing and program to execute it

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0930

Effective date:20140321

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT, TEXAS

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032810/0206

Effective date:20140321

Owner name:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NORTH CAROLINA

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0887

Effective date:20140321

Owner name:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0887

Effective date:20140321

Owner name:BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0930

Effective date:20140321

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS

Free format text:SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032810/0206

Effective date:20140321

ASAssignment

Owner name:AVENTAIL LLC, CALIFORNIA

Free format text:MERGER;ASSIGNOR:AVENTAIL CORPORATION;REEL/FRAME:033633/0369

Effective date:20071211

Owner name:AVENTAIL CORPORATION, WASHINGTON

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOPEN, CHRIS;SAUVE, BRYAN;HOOVER, PAUL;AND OTHERS;SIGNING DATES FROM 20060210 TO 20060302;REEL/FRAME:033633/0160

STCFInformation on status: patent grant

Free format text:PATENTED CASE

ASAssignment

Owner name:SECUREWORKS, INC., GEORGIA

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

Owner name:DELL PRODUCTS L.P., TEXAS

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

Owner name:DELL SOFTWARE INC., CALIFORNIA

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

Owner name:COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

Owner name:FORCE10 NETWORKS, INC., CALIFORNIA

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

Owner name:CREDANT TECHNOLOGIES, INC., TEXAS

Free format text:RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date:20160907

ASAssignment

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA

Free format text:SECURITY AGREEMENT;ASSIGNORS:AVENTAIL LLC;DELL PRODUCTS, L.P.;DELL SOFTWARE INC.;REEL/FRAME:040030/0187

Effective date:20160907

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS

Free format text:SECURITY AGREEMENT;ASSIGNORS:AVENTAIL LLC;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;REEL/FRAME:040039/0642

Effective date:20160907

Owner name:COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:DELL PRODUCTS L.P., TEXAS

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:FORCE10 NETWORKS, INC., CALIFORNIA

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:CREDANT TECHNOLOGIES, INC., TEXAS

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:SECUREWORKS, INC., GEORGIA

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:DELL SOFTWARE INC., CALIFORNIA

Free format text:RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date:20160907

Owner name:DELL PRODUCTS L.P., TEXAS

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:SECUREWORKS, INC., GEORGIA

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:DELL SOFTWARE INC., CALIFORNIA

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:FORCE10 NETWORKS, INC., CALIFORNIA

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:CREDANT TECHNOLOGIES, INC., TEXAS

Free format text:RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date:20160907

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT

Free format text:SECURITY AGREEMENT;ASSIGNORS:AVENTAIL LLC;DELL PRODUCTS, L.P.;DELL SOFTWARE INC.;REEL/FRAME:040030/0187

Effective date:20160907

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A

Free format text:SECURITY AGREEMENT;ASSIGNORS:AVENTAIL LLC;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;REEL/FRAME:040039/0642

Effective date:20160907

ASAssignment

Owner name:DELL PRODUCTS L.P., TEXAS

Free format text:RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:040521/0016

Effective date:20161031

Owner name:DELL SOFTWARE INC., CALIFORNIA

Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:040521/0467

Effective date:20161031

Owner name:AVENTAIL LLC, CALIFORNIA

Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:040521/0467

Effective date:20161031

Owner name:DELL SOFTWARE INC., CALIFORNIA

Free format text:RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:040521/0016

Effective date:20161031

Owner name:DELL PRODUCTS, L.P., TEXAS

Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:040521/0467

Effective date:20161031

Owner name:AVENTAIL LLC, CALIFORNIA

Free format text:RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:040521/0016

Effective date:20161031

ASAssignment

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text:FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DELL SOFTWARE INC.;REEL/FRAME:040581/0850

Effective date:20161031

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT

Free format text:FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DELL SOFTWARE INC.;REEL/FRAME:040581/0850

Effective date:20161031

ASAssignment

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text:SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DELL SOFTWARE INC.;REEL/FRAME:040587/0624

Effective date:20161031

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT

Free format text:SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:DELL SOFTWARE INC.;REEL/FRAME:040587/0624

Effective date:20161031

ASAssignment

Owner name:SONICWALL US HOLDINGS, INC., CALIFORNIA

Free format text:INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:AVENTAIL LLC;REEL/FRAME:041072/0235

Effective date:20161230

ASAssignment

Owner name:SONICWALL US HOLDINGS INC., CALIFORNIA

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041072 FRAME: 235. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT;ASSIGNOR:AVENTAIL LLC;REEL/FRAME:042245/0523

Effective date:20161230

ASAssignment

Owner name:QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.), CALIFORNIA

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:044811/0598

Effective date:20171114

Owner name:QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.), CA

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:044811/0598

Effective date:20171114

Owner name:AVENTAIL LLC, CALIFORNIA

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:044811/0598

Effective date:20171114

ASAssignment

Owner name:QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.), CALIFORNIA

Free format text:RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT;REEL/FRAME:046211/0735

Effective date:20180518

Owner name:AVENTAIL LLC, CALIFORNIA

Free format text:RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT;REEL/FRAME:046211/0735

Effective date:20180518

Owner name:QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.), CA

Free format text:RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT;REEL/FRAME:046211/0735

Effective date:20180518

ASAssignment

Owner name:UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT, CONNECTICUT

Free format text:SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:SONICWALL US HOLDINGS INC.;REEL/FRAME:046321/0393

Effective date:20180518

Owner name:UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT, CONNECTICUT

Free format text:FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:SONICWALL US HOLDINGS INC.;REEL/FRAME:046321/0414

Effective date:20180518

Owner name:UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT, CONN

Free format text:SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:SONICWALL US HOLDINGS INC.;REEL/FRAME:046321/0393

Effective date:20180518

Owner name:UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT, CONN

Free format text:FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:SONICWALL US HOLDINGS INC.;REEL/FRAME:046321/0414

Effective date:20180518

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:4

FEPPFee payment procedure

Free format text:MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPSLapse for failure to pay maintenance fees

Free format text:PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCHInformation on status: patent discontinuation

Free format text:PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FPLapsed due to failure to pay maintenance fee

Effective date:20231124

ASAssignment

Owner name:SONICWALL US HOLDINGS INC., CALIFORNIA

Free format text:RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393;ASSIGNOR:UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT;REEL/FRAME:071625/0887

Effective date:20250613


[8]ページ先頭

©2009-2025 Movatter.jp