Patents by Inventor Chris Koopmans
Chris Koopmans has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9692725Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.Type: GrantFiled: July 31, 2014Date of Patent: June 27, 2017Assignee: CITRIX SYSTEMS, INC.Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Patent number: 9621666Abstract: Systems and methods for reducing file sizes for files delivered over a network are disclosed. A method comprises receiving a first file comprising sequences of data; creating a hash table having entries corresponding to overlapping sequences of data; receiving a second file comprising sequences of data; comparing each of the sequences of data in the second file to the sequences of data in the hash table to determine sequences of data present in both the first and second files; and creating a third file comprising sequences of data from the second file and representations of locations and lengths of said sequences of data present in both the first and second files.Type: GrantFiled: July 31, 2014Date of Patent: April 11, 2017Assignee: CITRIX SYSTEMS, INC.Inventors: Henk Bots, Srikanth Devarajan, Saravana Annamalaisami, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Patent number: 9407608Abstract: An appliance and method for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute includes the step of establishing, by an appliance, a control connection with a client upon receiving a client request to establish a virtual private network connection with a network. The appliance transmits, via the control connection, a request to the client to evaluate at least one clause of a security string, the at least one clause including an expression associated with a client-side attribute. The client transmits, via the control connection, a response to the appliance comprising a result of evaluating the at least one clause by the client. The appliance assigns the client to an authorization group based on the result of evaluation of the at least one clause.Type: GrantFiled: July 31, 2014Date of Patent: August 2, 2016Assignee: CITRIX SYSTEMS, INC.Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni, Nicholas Stavrakos, Chris Koopmans
-
Patent number: 8949368Abstract: A system including a first user agent configured to transmit request data corresponding to a requested web page, wherein the request data includes a request data header, and an optimization server configured to receive the request data, to determine whether the request header data matches a classification of a grouping that identifies cached content data, wherein the grouping is configured based on similarities between a first content data and a second content data; and to transmit the cached content data to the user based on the determination.Type: GrantFiled: May 12, 2006Date of Patent: February 3, 2015Assignee: Citrix Systems, Inc.Inventors: Chris Koopmans, Kannan Parthasarathy, Nicholas Stavrokos
-
Publication number: 20150026567Abstract: Systems and methods for reducing file sizes for files delivered over a network are disclosed. A method comprises receiving a first file comprising sequences of data; creating a hash table having entries corresponding to overlapping sequences of data; receiving a second file comprising sequences of data; comparing each of the sequences of data in the second file to the sequences of data in the hash table to determine sequences of data present in both the first and second files; and creating a third file comprising sequences of data from the second file and representations of locations and lengths of said sequences of data present in both the first and second files.Type: ApplicationFiled: July 31, 2014Publication date: January 22, 2015Inventors: Henk Bots, Srikanth Devarajan, Saravana Annamalaisami, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Publication number: 20140344891Abstract: An appliance and method for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute includes the step of establishing, by an appliance, a control connection with a client upon receiving a client request to establish a virtual private network connection with a network. The appliance transmits, via the control connection, a request to the client to evaluate at least one clause of a security string, the at least one clause including an expression associated with a client-side attribute. The client transmits, via the control connection, a response to the appliance comprising a result of evaluating the at least one clause by the client. The appliance assigns the client to an authorization group based on the result of evaluation of the at least one clause.Type: ApplicationFiled: July 31, 2014Publication date: November 20, 2014Inventors: Amarnath Mullick, Charu Venkatraman, Shashi Nanjundaswamy, Junxiao He, Ajay Soni, Nicholas Stavrakos, Chris Koopmans
-
Publication number: 20140344345Abstract: Systems and methods are described for using a client agent operating in a virtual private network environment to intercept HTTP communications. Methods include: intercepting at the network layer, by a client agent executing on a client, an HTTP request from an application executing on the client; modifying the HTTP request; and transmitting, via a transport layer connection, the modified HTTP request to a server. Additional methods may comprise adding, removing, or modifying at least one cookie in the HTTP request. Still other methods may comprise modifying at least one name-value pair contained in the HTTP request. Corresponding systems are also described.Type: ApplicationFiled: July 31, 2014Publication date: November 20, 2014Inventors: Charu Venkatraman, Junxiao He, Ajay Soni, Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Patent number: 8856279Abstract: A method including communicating with a content server, wherein the communication includes transmitting request data to the content server and receiving first response data associated with the request data; identifying response object data within the first response data; determining whether the response object data is to be downloaded; querying the content server for second response data that corresponds to the response object data based on the determination; transmitting the first response data to a user agent; and storing the second response data, wherein the second response data can be provided to the user agent in a subsequent request.Type: GrantFiled: May 22, 2006Date of Patent: October 7, 2014Assignee: Citrix Systems Inc.Inventors: Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapiil Dakhane
-
Publication number: 20140067927Abstract: A system including a client device communicatively coupled to a first wireless network, wherein the client device has the ability to request a web page from a content server, and an optimization server is configured to receive network data associated with the characteristics of the first wireless network, to provide tuning settings based on the network data, to receive response data from the content server, and to transmit optimized response data to the client device, wherein the response data corresponds to a request for a web page from a client device and the optimized response data corresponds to the response data being altered based on the provided tuning settings.Type: ApplicationFiled: November 11, 2013Publication date: March 6, 2014Applicant: Citrix Systems, Inc.Inventors: Nicholas Stavrakos, Chris Koopmans
-
Patent number: 8583827Abstract: A system including a client device communicatively coupled to a first wireless network, wherein the client device has the ability to request a web page from a content server, and an optimization server is configured to receive network data associated with the characteristics of the first wireless network, to provide tuning settings based on the network data, to receive response data from the content server, and to transmit optimized response data to the client device, wherein the response data corresponds to a request for a web page from a client device and the optimized response data corresponds to the response data being altered based on the provided tuning settings.Type: GrantFiled: May 22, 2006Date of Patent: November 12, 2013Assignee: Citrix Systems, Inc.Inventors: Nicholas Stavrakos, Chris Koopmans
-
Patent number: 8521901Abstract: A computer-implemented method including providing, at a first device, a packet scheduler layer between a network layer and a transport layer; receiving, at the packet scheduler layer, one or more transmission control protocol (TCP) packets from a sending layer on the first device, wherein the sending layer is one of the network layer or the transport layer; smoothing delivery of at least one of the one or more TCP packets by delaying the delivery; and sending the one or more TCP packets to a receiving layer, wherein the receiving layer is one of the network layer or the transport layer that is not the sending layer.Type: GrantFiled: December 22, 2008Date of Patent: August 27, 2013Assignee: Citrix Systems, Inc.Inventors: Ashwani Wason, Nicholas J. Stavrakos, Kannan Parthasarathy, Chris Koopmans
-
Patent number: 8312172Abstract: A method and system for providing delta compression, the method includes receiving request data from a user agent, communicating with a content server, wherein the communication includes transmitting the request data to the content server and receiving response data associated with the request data, generating key data associated with the response data, wherein the generated key data represents block data of the response data, storing the generated key data and the block data, and transmitting the block data to the user agent.Type: GrantFiled: May 22, 2006Date of Patent: November 13, 2012Assignee: Bytemobile, Inc.Inventors: Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Patent number: 8312074Abstract: A system including a user agent configured to transmit request data to a content server, wherein the request data corresponds to a request for a web page; and an optimization server configured to receive a first response data corresponding to the request data from a content server, identify response object data within the first response data, query the content server for second response data that is associated with the identified response object data, and transmit optimized data to the user agent, wherein the contents of the optimized data can include the first response data and the second response data.Type: GrantFiled: May 22, 2006Date of Patent: November 13, 2012Assignee: Bytemobile, Inc.Inventors: Nicholas Stavrakos, Fred Koopmans, Chris Koopmans, Parikshit Ambatkar
-
Publication number: 20090172184Abstract: A computer-implemented method including providing, at a first device, a packet scheduler layer between a network layer and a transport layer; receiving, at the packet scheduler layer, one or more transmission control protocol (TCP) packets from a sending layer on the first device, wherein the sending layer is one of the network layer or the transport layer; smoothing delivery of at least one of the one or more TCP packets by delaying the delivery; and sending the one or more TCP packets to a receiving layer, wherein the receiving layer is one of the network layer or the transport layer that is not the sending layer.Type: ApplicationFiled: December 22, 2008Publication date: July 2, 2009Inventors: Ashwani Wason, Nicholas James Stavrakos, Kannan Parthasarathy, Chris Koopmans
-
Publication number: 20070266113Abstract: A system including a first user agent configured to transmit request data corresponding to a requested web page, wherein the request data includes a request data header, and an optimization server configured to receive the request data, to determine whether the request header data matches a classification of a grouping that identifies cached content data, wherein the grouping is configured based on similarities between a first content data and a second content data; and to transmit the cached content data to the user based on the determination.Type: ApplicationFiled: May 12, 2006Publication date: November 15, 2007Inventors: Chris Koopmans, Kannan Parthasarathy, Nicholas Stavrokos
-
Publication number: 20060271641Abstract: A method including communicating with a content server, wherein the communication includes transmitting request data to the content server and receiving first response data associated with the request data; identifying response object data within the first response data; determining whether the response object data is to be downloaded; querying the content server for second response data that corresponds to the response object data based on the determination; transmitting the first response data to a user agent; and storing the second response data, wherein the second response data can be provided to the user agent in a subsequent request.Type: ApplicationFiled: May 22, 2006Publication date: November 30, 2006Inventors: Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Publication number: 20060271559Abstract: A method and system for providing delta compression, the method includes receiving request data from a user agent, communicating with a content server, wherein the communication includes transmitting the request data to the content server and receiving response data associated with the request data, generating key data associated with the response data, wherein the generated key data represents block data of the response data, storing the generated key data and the block data, and transmitting the block data to the user agent.Type: ApplicationFiled: May 22, 2006Publication date: November 30, 2006Inventors: Nicholas Stavrakos, Jeff Monks, Fred Koopmans, Chris Koopmans, Kapil Dakhane
-
Publication number: 20060271642Abstract: A system including a user agent configured to transmit request data to a content server, wherein the request data corresponds to a request for a web page; and an optimization server configured to receive a first response data corresponding to the request data from a content server, identify response object data within the first response data, query the content server for second response data that is associated with the identified response object data, and transmit optimized data to the user agent, wherein the contents of the optimized data can include the first response data and the second response data.Type: ApplicationFiled: May 22, 2006Publication date: November 30, 2006Inventors: Nicholas Stavrakos, Fred Koopmans, Chris Koopmans, Parikshit Ambatkar
-
Publication number: 20060271652Abstract: A system including a client device communicatively coupled to a first wireless network, wherein the client device has the ability to request a web page from a content server, and an optimization server is configured to receive network data associated with the characteristics of the first wireless network, to provide tuning settings based on the network data, to receive response data from the content server, and to transmit optimized response data to the client device, wherein the response data corresponds to a request for a web page from a client device and the optimized response data corresponds to the response data being altered based on the provided tuning settings.Type: ApplicationFiled: May 22, 2006Publication date: November 30, 2006Inventors: Nicholas Stavrakos, Chris Koopmans
-
Publication number: 20030028606Abstract: A service module incorporated within the network infrastructure intercepts packets communicated between a client and a server to determine whether the connection corresponds to an email service. If so, the service module breaks the connection by terminating the connection with the client at the service module and opening a separate connection between the service module and the server. Packets communicated between the client and the server may then be redirected to an email compression application that monitors messages communicated between the client and the server and processes the messages in accordance with the state of the email session. For messages corresponding to connection establishment, user authentication and other protocol-specific messages, for example, the email compression application may be configured to forward the messages to the originally intended destination. Messages corresponding to an email message data, however, are buffered within the email compression application.Type: ApplicationFiled: March 11, 2002Publication date: February 6, 2003Inventors: Chris Koopmans, Constantine Polychronopoulos, Nicholas Stavrakos