# US 9,438,638 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 9,438,638 B2
- Document ID: US9438638B2
- Status: Granted
- Kind: B2
- Application number: 13/843,810
- Filed: 2013-03-15
- Published: 2014-09-18
- Granted: 2016-09-06
- Earliest claimed: 2013-03-15
- Assignees: Silicon Graphics International Corp.
- Applicants: Silicon Graphics International Corp.
- Inventors: Michael Andrew Raymond; Andy Warner
- Web page: https://patentgrep.com/patent/US9438638B2

## 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, comprising:
at a computing system having memory and one or more processors:
generating a nonce associated with a port of the computing system;
receiving a connection request for the port from a particular computer, the connection request corresponding to a first process;
in response to receiving the connection request for the port, establishing a connection with the first process by sending both an acceptance and the nonce to the particular computer;
receiving data from the first process via the connection;
determining whether the received data includes the nonce;
in accordance with a determination that the received data includes the nonce, configuring the connection to make use of an augmented communications service with no modification to executable code of the first process; and
in accordance with a determination that the received data does not include the nonce, configuring the connection to make use of a non-augmented communications service.

### Claim 2 (depends on 1)

The method of claim 1, wherein the augmented communications service is transparent to the first process, and the non-augmented communications service is transparent to the first process.

### Claim 3 (depends on 1)

The method of claim 1, wherein the computing system is coupled to a shared memory space and the augmented communications service utilizes the shared memory space to facilitate augmented inter-process communications.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, prior to generating the nonce, determining that a second process is associated with the port of the computing system; and
wherein generating the nonce comprises generating the nonce in response to the determination that the second process is associated with the port of the computing system.

### Claim 5 (depends on 4)

The method of claim 4, wherein establishing the connection comprises establishing a connection between the first process and the second process.

### Claim 6 (depends on 4)

The method of claim 4, further comprising, in response to receiving the connection request for the port, generating the acceptance via the second process.

### Claim 7 (depends on 4)

The method of claim 4, further comprising sending second data from the second process to the particular computer via the connection.

### Claim 8 (depends on 7)

The method of claim 7, wherein the second data includes the nonce and the connection is configured to send the second data via the augmented communications service.

### Claim 9 (depends on 7)

The method of claim 7, wherein the second data does not include the nonce and the connection is configured to send the second data via a non-augmented communications service.

### Claim 10

A computing system, comprising:
one or more processors;
memory; and
one or more programs stored in the memory including instructions, executable by the one or more processors, to:
generate a nonce associated with a port of the computing system;
receive a connection request for the port from a particular computer, the connection request corresponding to a first process;
in response to receiving the connection request for the port, establish a connection with the first process by sending both an acceptance and the nonce to the particular computer;
receive data from the first process via the connection;
determine whether the received data includes the nonce;
in accordance with a determination that the received data includes the nonce, configure the connection to make use of an augmented communications service with no modification to executable code of the first process; and
in accordance with a determination that the received data does not include the nonce, configure the connection to make use of a non-augmented communications service.

### Claim 11 (depends on 10)

The computing system of claim 10, wherein the one or more programs further include instructions to, prior to generating the nonce, determine that a second process is associated with the port of the computing system; and wherein generating the nonce comprises generating the nonce in response to the determination that the second process is associated with the port of the computing system.

### Claim 12 (depends on 11)

The computing system of claim 11, wherein the one or more programs further include instructions to generate the acceptance via the second process in response to receiving the connection request for the port.

### Claim 13 (depends on 11)

The computing system of claim 11, wherein the one or more programs further include instructions to send second data from the second process to the particular computer via the connection.

### Claim 14 (depends on 13)

The computing system of claim 13, wherein the second data includes the nonce and the connection is configured to send the second data via the augmented communications service.

### Claim 15 (depends on 13)

The computing system of claim 13, wherein the second data does not include the nonce and the connection is configured to send the second data via a non-augmented communications service.

### Claim 16

A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more computers with one or more processors and memory, the one or more programs comprising instructions to:
generate a nonce associated with a port of the computing system;
receive a connection request for the port from a particular computer, the connection request corresponding to a first process;
in response to receiving the connection request for the port, establish a connection with the first process by sending both an acceptance and the nonce to the particular computer;
receive data from the first process via the connection;
determine whether the received data includes the nonce;
in accordance with a determination that the received data includes the nonce, configure the connection to make use of an augmented communications service with no modification to executable code of the first process; and
in accordance with a determination that the received data does not include the nonce, configure the connection to make use of a non-augmented communications service.

### Claim 17 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein the one or more programs further include instructions to, prior to generating the nonce, determine that a second process is associated with the port of the computing system; and wherein generating the nonce comprises generating the nonce in response to the determination that the second process is associated with the port of the computing system.

### Claim 18 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the one or more programs further include instructions to send second data from the second process to the particular computer via the connection.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the second data includes the nonce and the connection is configured to send the second data via the augmented communications service.

### Claim 20 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the second data does not include the nonce and the connection is configured to send the second data via a non-augmented communications service.
