Patent ID: 8015406

Claim:
A method of creating an OSI Network Layer 3 virtual private network connecting a client system to a server using an HTTP/S tunnel comprising the steps of: generating an HTTP/S-GET request in said client system, said HTTP/S-GET request containing authentication credentials and other tunnel settings specific to said client system; sending said HTTP/S-GET request from said client system to an input/output module on said server using SSL; authenticating said authentication credentials; initiating a persistent HTTP connection from said server to establish an HTTP connection type server PUSH stream to said client system; creating a send IP packet on said client system addressed to a remote site, encapsulating said send IP packet to form an HTTP packet, encapsulating said HTTP packet in SSL to form an HTTP/S-POST packet, and sending said HTTP/S-POST packet to said server; receiving said HTTPS-POST packet at said server and validating said HTTP/S-POST packet as a authentic SSL packet from said client system; extracting said send IP packet from said HTTP/S-POST packet; injecting said send IP packet into said server's OS networking stack for routing to its intended remote site; receiving at said server a receive IP packet from said remote site addressed to said client system; placing said receive IP packet into a queue on said server; removing said receive IP packet from said queue, encapsulating said reply IP packet within an HTTP packet, and encapsulating said HTTP packet within SSL to form an HTTP/S packet; streaming said HTTP/S packet to said client system over said server PUSH stream; receiving said HTTP/S packet on said client system and extracting said receive IP packet.