# US 10,313,450 B2 · Method for transparently connecting augmented network socket operations

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

- Number: US 10,313,450 B2
- Document ID: US10313450B2
- Status: Granted
- Kind: B2
- Application number: 15/227,502
- Filed: 2016-08-03
- Published: 2017-02-09
- Granted: 2019-06-04
- Earliest claimed: 2013-03-15
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Michael Andrew Raymond; Andy Warner
- Web page: https://patentgrep.com/patent/US10313450B2

## CPC

- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- G06F 9/544: {Buffers; Shared memory; Pipes}
- H04L 65/1069: Session establishment or de-establishment
- H04L 69/162: {involving adaptations of sockets based mechanisms (secure socket layer H04L63/168)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method at one or more computers having memory and one or more processors includes detecting establishment of a connection between a first process and a second process; determining whether an augmented communications service is available for the connection between the first process and second process; in accordance with a determination that the augmented communications service is available, configuring the connection between the first process and the second process to make use of the augmented communications service with no modification to the executable codes of the first process and the second process; and in accordance with a determination that the augmented communications service is not available, configuring the connection between the first process and the second process to make use of a non-augmented communications service.

## Claims

### Claim 1

A method for performing a communication service, the method comprising:
receiving a first connection request from a first resource;
receiving a first portion of data relating to the first connection request;
identifying that the first resource does not support augmented communications;
establishing the first communication session with the first resource by a second resource, wherein the second resource communicates with the first resource using program code located within kernel space at the second resource after the first communication session is established;
receiving a second connection request from a third resource;
receiving a first portion of data relating to the second connection request;
identifying that the third resource supports augmented communications; and
establishing the second communication session, wherein the second communication session is established between the second resource and the third resource, and the second resource communicates with the third resource using program code located within user space at the second resource.

### Claim 2 (depends on 1)

The method of claim 1, wherein the communications between the second resource and the third resource include inter-process communications according to the program code located within the user space at the second resource when the second resource is operating in an augmented communications mode.

### Claim 3 (depends on 2)

The method of claim 2, further comprising the second resource transitioning to a non-augmented communications mode, wherein the second resource executes program codeout of the kernel space when communicating with the third resource after transitioning to the non-augmented communications mode.

### Claim 4 (depends on 2)

The method of claim 2, wherein at least a portion of the user space program code is located in a shared memory space.

### Claim 5 (depends on 1)

The method of claim 1, wherein the identifying that the third resource supports augmented communications is based on a library process executing at the third resource that corresponds to a library process executing at the second SOUC.

### Claim 6 (depends on 5)

The method of claim 5, wherein the library process executing at the second resource sends at least a nonce to the third resource and the library process executing at the third resource sends the nonce to the second resource.

### Claim 7

A non-transitory computer readable storage medium having embodied thereon a program executable by a processor for performing a communication service, the method comprising:
receiving a first connection request from a first resource;
receiving a first portion of data relating to the first connection request;
identifying that the first resource does not support augmented communications;
establishing the first communication session with the first resource by a second resource, wherein the second resource communicates with the first resource using program code located within kernel space at the second resource after the first communication session is established;
receiving a second connection request from a third resource;
receiving a first portion of data relating to the second connection request;
identifying that the third resource supports augmented communications; and
establishing the second communication session, wherein the second communication session is established between the second resource and the third resource, and the second resource communicates with the third resource using program code located within user space at the second resource.

### Claim 8 (depends on 7)

The non-transitory computer readable storage medium of claim 7, wherein the communications between the second resource and the third resource include inter-process communications according to the program code located within the user space at the second resource when the second resource is operating in an augmented communications mode.

### Claim 9 (depends on 8)

The method of claim 8, the program further executable to transition to a non-augmented communications mode, wherein the second resource executes program code out of the kernel space when communicating with the third resource after transitioning to the non-augmented communications mode.

### Claim 10 (depends on 8)

The non-transitory computer readable storage medium of claim 8, wherein at least a portion of the user space program code is located in a shared memory space.

### Claim 11 (depends on 7)

The non-transitory computer readable storage medium of claim 7, wherein the identifying that the third resource supports augmented communications is based on a library process executing at the third resource that corresponds to a library process executing at the second resource.

### Claim 12 (depends on 11)

The non-transitory computer readable storage medium of claim 11, wherein the library process executing at the second resource sends at least a nonce to the third resource and the library process executing at the third resource sends the nonce to the second resource.

### Claim 13

A system for performing a communication service, the system comprising:
a first resource;
a second resource; and
a third resource, wherein each of the first resource and the second resource communicate over a computer network, and a processor at the second resource:
receives a first connection request from the first resource;
receives a first portion of data relating to the first connection request;
identifies that the first resource does not support augmented communications;
establishes the first communication session with the first resource;
communicates with the first resource using program code located within kernel space at the second resource after the first communication session is established;
receives a second connection request from a third resource;
receives a first portion of data relating to the second connection request;
identifies that the third resource supports augmented communications; and
establishes the second communication session, wherein the second communication session is established between the second resource and the third resource, and the second resource communicates with the third resource using program code located within user space at the second resource.

### Claim 14 (depends on 13)

The system of claim 13, wherein the communications between the second resource and the third resource include inter-process communications according to the program code located within the user space at the second resource when the second resource is operating in an augmented communications mode.

### Claim 15 (depends on 14)

The system of claim 14, further comprising the second resource transitioning to a non-augmented communications mode, wherein the second resource executes program code out of the kernel space when communicating with the third resource after transitioning to the non-augmented communications mode.

### Claim 16 (depends on 14)

The system of claim 14, wherein at least a portion of the user space program code is located in a shared memory space.

### Claim 17 (depends on 13)

The system of claim 13, wherein the identifying that the third resource supports augmented communications is based on a library process executing at the third resource that corresponds to a library process executing at the second SOUC.

### Claim 18 (depends on 17)

The system of claim 17, wherein the library process executing at the second resource sends at least a nonce to the third resource and the library process executing at the third resource sends the nonce to the second resource.
