Patents by Inventor John Graham Cumming

John Graham Cumming 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).

  • Publication number: 20210089328
    Abstract: A compute server receives a request from a client device that triggers execution of a third-party code piece. The compute server is one of multiple compute servers that are part of a distributed cloud computing network. The request may be an HTTP request and directed to a zone. A single process at the compute server executes the third-party code piece in an isolated execution environment. The single process is also executing other third-party code pieces in other isolated execution environments respectively. A response is generated to the request based at least in part on the executed third-party code piece, and the generated response is transmitted to the client device.
    Type: Application
    Filed: December 7, 2020
    Publication date: March 25, 2021
    Inventors: Kenton Taylor Varda, Zachary Aaron Bloom, Marek Przemyslaw Majkowski, Ingvar Stepanyan, Kyle Kloepper, Dane Orion Knecht, John Graham-Cumming, Dani Grant
  • Publication number: 20210014204
    Abstract: A first server receives a set of cryptographic parameters from a second server. The set of cryptographic parameters is received from the second server as part of a secure session establishment between a client device and the second server. The first server accesses a private key that is not stored on the second server. The first server signs the set of cryptographic parameters using the private key. The first server transmits the signed set of cryptographic parameters to the second server. The first server receives, from the second server, a request to generate a premaster secret using a value generated by the second server that is included in the request and generates the premaster secret. The first server transmits the premaster secret to the second server for use in the secure session establishment between the client device and the second server.
    Type: Application
    Filed: September 29, 2020
    Publication date: January 14, 2021
    Inventors: Sébastien Andreas Henry Pahl, Matthieu Philippe François Tourne, Piotr Sikora, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming, Lee Hahn Holloway, Albertus Strasheim
  • Patent number: 10893031
    Abstract: A server receives a request from a client to establish a secure session. The server analyzes the request to determine a set of one or more properties of the request. The server selects, based at least in part on the determined set of properties, one of multiple certificates for a hostname of the server, where each of the certificates is signed using a different signature and hash algorithm pair. The server returns the selected certificate to the client.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: January 12, 2021
    Assignee: CLOUDFLARE, INC.
    Inventors: Nicholas Thomas Sullivan, Lee Hahn Holloway, Piotr Sikora, Ryan Lackey, John Graham-Cumming, Dane Orion Knecht, Patrick Donahue, Zi Lin
  • Publication number: 20200413112
    Abstract: A server in a content delivery network (CDN) receives a request for a web page of a domain handled by an origin server. The server retrieves the web page and the web page references a video. The server retrieves a file that indicates a list of locations of the domain in which segments of the video are located. The server fetches at least an initial portion of the segments. The server receives a request for the video. The server transmits to the requester at least the initial portion of the segments. The server receives a subsequent request of a different portion of the segments. The server transmits a response to the requester that instructs the requester to transmit the request for the different portion of segments to a second server in the CDN.
    Type: Application
    Filed: September 14, 2020
    Publication date: December 31, 2020
    Inventors: Dane Orion Knecht, Igor Postelnik, Oliver Yu, John Graham-Cumming, Dani Grant, Nitin Rao
  • Patent number: 10880390
    Abstract: A near end point of presence (PoP) of a cloud proxy service receives, from a client device, a request for a network resource. A far end PoP from a plurality of PoPs of the cloud proxy service is identified. Responsive to determining that a version of the network resource is stored in the near end PoP, a request for the network resource is transmitted to the far end PoP with a version identifier that identifies that version. The far end PoP receives, from the near end PoP, a response that includes difference(s) between the version of the network resource stored in the near end PoP with a most current version of the network resource. The response does not include the entire network resource. The near end PoP applies the specified difference(s) to the version that it has stored to generate an updated version of the network resource, and transmits it to the client device.
    Type: Grant
    Filed: July 2, 2018
    Date of Patent: December 29, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Dane Orion Knecht, John Graham-Cumming, Matthew Browning Prince
  • Patent number: 10860340
    Abstract: A compute server receives a request from a client device that triggers execution of a code piece. The compute server is one of multiple compute servers that are part of a distributed cloud computing network. The request is directed to a zone. A single process at the compute server executes the code piece in an isolated execution environment. The single process is also executing other code pieces in other isolated execution environments respectively. A response is generated to the request based at least in part on the executed code piece, and the generated response is transmitted to the client device.
    Type: Grant
    Filed: June 24, 2019
    Date of Patent: December 8, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Kenton Taylor Varda, Zachary Aaron Bloom, Marek Przemyslaw Majkowski, Ingvar Stepanyan, Kyle Kloepper, Dane Orion Knecht, John Graham-Cumming, Dani Grant
  • Publication number: 20200374297
    Abstract: An edge server receives a plurality of requests from a client network application for actions to be performed on a resource that is hosted at an origin server. The edge server determines request attributes of the requests and associates the request attributes with a session identifying the client network application. The edge server generates a confidence value for the client network application based at least on the determined request attributes of the plurality of requests and computed session metrics of the session. When the confidence value indicates that the client network application is malicious, the edge server performs one or more mitigation actions.
    Type: Application
    Filed: May 20, 2019
    Publication date: November 26, 2020
    Inventors: Maciej BILAS, John GRAHAM-CUMMING, Marek MAJKOWSKI
  • Patent number: 10798203
    Abstract: A method and computing device for delta compression techniques for reducing network resource transmission size are described. A first request for a network resource is received. The requested network resource is retrieved. A first response including the network resource is transmitted to the near end network optimizer. The retrieved network resource is stored as a first version of the network resource regardless of a directive that a cached version of the network resource is not to be used to respond to future HTTP requests for that network resource without successful revalidation with an origin server. A second request for the network resource is received. A most current version of the network resource is retrieved. A set of differences between the first version and the most current version of the network resource are determined. The set of differences are transmitted to the near end network optimizer.
    Type: Grant
    Filed: June 17, 2019
    Date of Patent: October 6, 2020
    Assignee: CLOUDFLARE, INC.
    Inventor: John Graham-Cumming
  • Patent number: 10791099
    Abstract: A first server receives a set of cryptographic parameters from a second server. The set of cryptographic parameters is received from the second server as part of a secure session establishment between a client device and the second server. The first server accesses a private key that is not stored on the second server. The first server signs the set of cryptographic parameters using the private key. The first server transmits the signed set of cryptographic parameters to the second server. The first server receives, from the second server, a request to generate a premaster secret using a value generated by the second server that is included in the request and generates the premaster secret. The first server transmits the premaster secret to the second server for use in the secure session establishment between the client device and the second server.
    Type: Grant
    Filed: October 12, 2018
    Date of Patent: September 29, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Sébastien Andreas Henry Pahl, Matthieu Philippe François Tourne, Piotr Sikora, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming, Lee Hahn Holloway, Albertus Strasheim
  • Patent number: 10785198
    Abstract: A server establishes a secure session with a client device where a private key used in the handshake when establishing the secure session is stored in a different server. During the handshake procedure, the server receives a premaster secret that has been encrypted using a public key bound with a domain for which the client device is attempting to establish a secure session with. The server transmits the encrypted premaster secret to another server for decryption. The server receives the decrypted premaster secret and continues with the handshake procedure including generating a master secret from the decrypted premaster secret and generating one or more session keys that are used in the secure session for encrypting and decrypting communication between the client device and the server.
    Type: Grant
    Filed: November 12, 2018
    Date of Patent: September 22, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Sébastien Andreas Henry Pahl, Matthieu Philippe François Tourne, Piotr Sikora, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming, Lee Hahn Holloway, Albertus Strasheim
  • Patent number: 10779015
    Abstract: A server in a content delivery network (CDN) receives a request for a web page of a domain handled by an origin server. The server retrieves the web page and the web page references a video. The server retrieves a file that indicates a list of locations of the domain in which segments of the video are located. The server fetches at least an initial portion of the segments. The server receives a request for the video. The server transmits to the requester at least the initial portion of the segments. The server receives a subsequent request of a different portion of the segments. The server transmits a response to the requester that instructs the requester to transmit the request for the different portion of segments to a second server in the CDN.
    Type: Grant
    Filed: October 5, 2017
    Date of Patent: September 15, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Dane Orion Knecht, Igor Postelnik, Oliver Yu, John Graham-Cumming, Dani Grant, Nitin Rao
  • Publication number: 20200287867
    Abstract: An edge server of a distributed edge compute and routing service receives a tunnel connection request from a tunnel client residing on an origin server, that requests a tunnel be established between the edge server and the tunnel client. The request identifies the hostname that is to be tunneled. An IP address is assigned for the tunnel. DNS record(s) are added or changed that associate the hostname with the assigned IP address. Routing rules are installed in the edge servers of the distributed edge compute and routing service to reach the edge server for the tunneled hostname. The edge server receives a request for a resource of the tunneled hostname from another edge server that received the request from a client, where the other edge server is not connected to the origin server. The request is transmitted from the edge server to the origin server over the tunnel.
    Type: Application
    Filed: May 26, 2020
    Publication date: September 10, 2020
    Inventors: Dane Orion KNECHT, John GRAHAM-CUMMING, Dani GRANT, Christopher Philip BRANCH, Tom PASEKA
  • Publication number: 20200280452
    Abstract: A server establishes a secure session with a client device where a private key used in the handshake when establishing the secure session is stored in a different server. During the handshake procedure, the server receives a premaster secret that has been encrypted using a public key bound with a domain for which the client device is attempting to establish a secure session with. The server transmits the encrypted premaster secret to the different server for decryption along with other information necessary to compute a master secret. The different server decrypts the encrypted premaster secret, generates the master secret, and transmits the master secret to the server. The server receives the master secret and continues with the handshake procedure including generating one or more session keys that are used in the secure session for encrypting and decrypting communication between the client device and the server.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 3, 2020
    Inventors: Sébastien Andreas Henry Pahl, Matthieu Philippe François Tourne, Piotr Sikora, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming, Lee Hahn Holloway, Nicholas Thomas Sullivan, Albertus Strasheim
  • Patent number: 10666613
    Abstract: An edge server of a distributed edge compute and routing service receives a tunnel connection request from a tunnel client residing on an origin server, that requests a tunnel be established between the edge server and the tunnel client. The request identifies the hostname that is to be tunneled. An IP address is assigned for the tunnel. DNS record(s) are added or changed that associate the hostname with the assigned IP address. Routing rules are installed in the edge servers of the distributed edge compute and routing service to reach the edge server for the tunneled hostname. The edge server receives a request for a resource of the tunneled hostname from another edge server that received the request from a client, where the other edge server is not connected to the origin server. The request is transmitted from the edge server to the origin server over the tunnel.
    Type: Grant
    Filed: October 15, 2018
    Date of Patent: May 26, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Dane Orion Knecht, John Graham-Cumming, Dani Grant, Christopher Philip Branch, Tom Paseka
  • Publication number: 20200140392
    Abstract: The present application relates to certain substituted imidazole compounds, pharmaceutical compositions containing them, and methods of using them, including methods for treating pain, musculoskeletal inflammation, neuroinflammatory disorders, airway inflammation, itch, dermatitis, colitis and related conditions.
    Type: Application
    Filed: December 27, 2019
    Publication date: May 7, 2020
    Inventors: John Graham Cumming, Frank Xinhe Wu, Karl Henrik Edman, Hongming Chen, Dean Gordon Brown, Roland Werner Burli, Shawn Donald Johnstone, Giles Albert Brown, Benjamin Gerald Tehan, Barry John Teobald, Miles Stuart Congreve
  • Publication number: 20200142711
    Abstract: A compute server receives a request from a client device that triggers execution of a code piece. The compute server is one of multiple compute servers that are part of a distributed cloud computing network. The request is directed to a zone. A single process at the compute server executes the code piece in an isolated execution environment. The single process is also executing other code pieces in other isolated execution environments respectively. A response is generated to the request based at least in part on the executed code piece, and the generated response is transmitted to the client device.
    Type: Application
    Filed: June 24, 2019
    Publication date: May 7, 2020
    Inventors: Kenton Taylor Varda, Zachary Aaron Bloom, Marek Przemyslaw Majkowski, Ingvar Stepanyan, Kyle Kloepper, Dane Orion Knecht, John Graham-Cumming, Dani Grant
  • Patent number: 10594496
    Abstract: A server establishes a secure session with a client device where a private key used in the handshake when establishing the secure session is stored in a different server. During the handshake procedure, the server receives a premaster secret that has been encrypted using a public key bound with a domain for which the client device is attempting to establish a secure session with. The server transmits the encrypted premaster secret to the different server for decryption along with other information necessary to compute a master secret. The different server decrypts the encrypted premaster secret, generates the master secret, and transmits the master secret to the server. The server receives the master secret and continues with the handshake procedure including generating one or more session keys that are used in the secure session for encrypting and decrypting communication between the client device and the server.
    Type: Grant
    Filed: June 26, 2018
    Date of Patent: March 17, 2020
    Assignee: CLOUDFLARE, INC.
    Inventors: Sébastien Andreas Henry Pahl, Matthieu Philippe François Tourne, Piotr Sikora, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming, Lee Hahn Holloway, Nicholas Thomas Sullivan, Albertus Strasheim
  • Patent number: 10550089
    Abstract: The present application relates to certain substituted imidazole and triazole compounds, pharmaceutical compositions containing them, and methods of using them, including methods for treating pain, musculoskeletal inflammation, neuroinflammatory disorders, airway inflammation, itch, dermatitis, colitis and related conditions. The compounds are of Formula (I) where X is N or CH, Z and Y are N or C (but both not N) and R1-R3 are as defined herein.
    Type: Grant
    Filed: May 11, 2017
    Date of Patent: February 4, 2020
    Assignee: Heptares Therapeutics Limited
    Inventors: John Graham Cumming, Frank Xinhe Wu, Karl Henrik Edman, Hongming Chen, Dean Gordon Brown, Roland Werner Burli, Shawn Donald Johnstone, Giles Albert Brown, Benjamin Gerald Tehan, Barry John Teobald, Miles Stuart Congreve
  • Publication number: 20190334855
    Abstract: A DNS name server manages CNAME records. The server receives a query for a first Address record for a fully qualified domain name from a requester. The server determines that the fully qualified domain name has a CNAME record, where the fully qualified domain name is a root domain. The server traverses a chain according to the CNAME record to locate a second Address record that includes an IP address. The server generates a response to the query that includes a third Address record for the fully qualified domain name that includes at least the IP address of the located second Address record. The server transmits the generated response to the requester.
    Type: Application
    Filed: July 8, 2019
    Publication date: October 31, 2019
    Inventors: Lee Hahn Holloway, Ray Raymond Bejjani, Dane Orion Knecht, Matthew Browning Prince, John Graham-Cumming
  • Publication number: 20190319919
    Abstract: An edge server of a distributed edge compute and routing service receives a tunnel connection request from a tunnel client residing on an origin server, that requests a tunnel be established between the edge server and the tunnel client. The request identifies the hostname that is to be tunneled. An IP address is assigned for the tunnel. DNS record(s) are added or changed that associate the hostname with the assigned IP address. Routing rules are installed in the edge servers of the distributed edge compute and routing service to reach the edge server for the tunneled hostname. The edge server receives a request for a resource of the tunneled hostname from another edge server that received the request from a client, where the other edge server is not connected to the origin server. The request is transmitted from the edge server to the origin server over the tunnel.
    Type: Application
    Filed: October 15, 2018
    Publication date: October 17, 2019
    Inventors: Dane Orion KNECHT, John GRAHAM-CUMMING, Dani GRANT, Christopher Philip BRANCH, Tom PASEKA