# US 10,313,349 B2 · Service request modification

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,349 B2
- Document ID: US10313349B2
- Status: Granted
- Kind: B2
- Application number: 15/327,430
- Filed: 2014-07-31
- Published: 2017-06-29
- Granted: 2019-06-04
- Earliest claimed: 2014-07-31
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Robert Raymond Neal-Joslin
- Web page: https://patentgrep.com/patent/US10313349B2

## CPC

- H04L 63/10: {for controlling access to devices or network resources}
- H04L 12/6418: {Hybrid transport}
- H04L 63/02: {for separating internal from external traffic, e.g. firewalls}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04L 63/166: {at the transport layer}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Example implementations relate to providing a web service. For example, an implementation includes a gateway to receive client certificate information from the client computing device and to determine a trust state of the client computing device based on the client certificate information. The gateway is also to receive a service request from the client computing device and to modify the service request. The implementation also includes a web service logic layer to receive the modified service request including the trust state and to determine a level of service associated with the client computing device based on the modified service request.

## Claims

### Claim 1

An apparatus comprising:
a processor; and
a non-transitory computer-readable storage medium comprising instructions executable by the processor to implement a gateway to:
establish a connection with a client computing device via a cryptographic protocol;
receive client certificate information from the client computing device;
receive a service request from the client computing device via the connection; and
generate a modified service request based on the service request and including the received client certificate information or a fingerprint of the client certificate information; and
wherein the computer-readable storage medium comprises instructions executable by the processor to implement a web service logic layer to:
receive the modified service request;
determine a level of service associated with the client computing device, from among a plurality of different levels of service, based on the client certificate information or the fingerprint of the client certificate information included in the modified service request; and
provide a web service to the client computing device with the level of service determined based on the client certificate information or the fingerprint of the client certificate information included in the modified service request.

### Claim 2 (depends on 1)

The apparatus of claim 1, further comprising:
wherein the computer-readable storage medium comprises instructions executable by the processor to implement a firewall connected to the gateway to:
receive a connection request from the client computing device; and
forward the connection request to the gateway in response to a determination that the connection request matches a forwarding criterion; and
wherein the computer-readable storage medium comprises instructions executable by the processor to implement a web service interface layer connected to the gateway to:
receive the modified service request;
convert the modified service request from a first format to a second format; and
forward the converted modified service request to the web service logic layer.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the instructions executable to implement the gateway comprise instructions executable to:
establish the connection via a first network port;
establish a second connection with the web service interface layer via a second network port; and
forward the modified service request to the web service interface layer via the second connection.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the instructions executable to implement the gateway comprise instructions executable to:
determine a trust state of the client computing device based on the client certificate information.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the instructions executable to implement the gateway comprise instructions executable to modify the service request, including inserting the trust state and one of the client certificate information or the client fingerprint into the service request, to generate the modified service request.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the instructions to implement the web service logic layer comprise instructions executable to, when the trust state indicates that the client computing device is a trusted service requester, provide a first level of service to the client computing device, and when the trust state indicates that the client computing device is an untrusted service requester, provide a second level of service to the client computing device that is different from the first level of service.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the cryptographic protocol comprises at least one of a transport layer security protocol or a secure sockets layer protocol.

### Claim 8

A method comprising:
receiving, at a gateway of a computing device, client certificate information from a client computing device;
receiving a service request from the client computing device;
modifying the service request, including inserting the client certificate information or a fingerprint of the client certificate information into the service request;
forwarding the modified service request to a web service logic layer of the computing device;
determining, at the web service logic layer, a level of service associated with the client computing device, from among a plurality of different levels of service, based on the client certificate information or the fingerprint of the client certificate information included in the modified service request; and
provide a web service to the client computing device with the level of service determined based on the client certificate information or the fingerprint of the client certificate information included in the modified service request.

### Claim 9 (depends on 8)

The method of claim 8, wherein modifying the service request further includes removing a first cookie in a hypertext transfer protocol (HTTP) header portion of the service request that contains the same name as a second cookie used by the gateway.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
establishing, at the gateway, a first connection with the client computing device via a first network port; and
establishing, at the gateway, a second connection with the web service logic layer via a second network port, wherein the modified service request is forwarded via the second connection.

### Claim 11 (depends on 8)

The method of claim 8, wherein the level of service is determined via a known trusted service requester information database.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
determining a trust state of the client computing device based on the client certificate information.

### Claim 13 (depends on 12)

The method of claim 12, wherein modifying the service request further comprises:
inserting the trust state and into the service request.

### Claim 14

A non-transitory computer-readable storage medium comprising instructions that when executed by a processor of a computing device cause the computing device to:
receive, at a gateway of the computing device, client certificate information from a client computing device;
receive a service request from the client computing device;
modify the service request, including inserting the client certificate information or a fingerprint of the client certificate information into the service request;
forward the modified service request to a web service logic layer of the computing device;
provide, via the web service logic layer, a first level of service to the client computing device in response to a first determination by the web service logic layer based on the client certificate information or the fingerprint of the client certificate information included in the modified service request; and
provide, via the web service logic layer, a second level of service to the client computing device in response to a second determination by the web service logic layer based on the client certificate information or the fingerprint of the client certificate information included in the modified service request.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the second level of service corresponds to requesting a user name and a password from the client computing device to authenticate the client computing device.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the second level of service corresponds to a reduced level of service as compared to the first level of service.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the client certificate information includes a copy of a client certificate of the client computing device, a copy of a certificate authority certificate that signed the client certificate, or a combination thereof.

### Claim 18 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first level of service is determined via a known trusted service requester information database.

### Claim 19 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the instructions comprise instructions executable to:
determine a trust state of the client computing device based on the client certificate information.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the instructions to modifying the service request comprise instructions to:
insert the trust state and into the service request.
