# US 8,751,603 B2 · Exploiting cluster awareness infrastructure through internet socket based applications

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

- Number: US 8,751,603 B2
- Document ID: US8751603B2
- Status: Granted
- Kind: B2
- Application number: 13/245,281
- Filed: 2011-09-26
- Published: 2013-03-28
- Granted: 2014-06-10
- Earliest claimed: 2011-09-26
- Assignees: International Business Machines Corporation
- Applicants: Rajeev Mishra; Lance W. Russell; Sivakumar Krishnasamy; Krishnan Uma
- Inventors: Rajeev Mishra; Lance W. Russell; Sivakumar Krishnasamy; Krishnan Uma
- Web page: https://patentgrep.com/patent/US8751603B2

## CPC

- H04L 69/321: Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
- H04L 69/085: specially adapted for interworking of IP-based networks with other networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided are techniques related generally to computer communication and, more specifically, to techniques that provide legacy applications with access to a cluster infrastructure. A pseudo interface layer provides applications with internet protocol (IP) family sockets access to cluster awareness protocols in a manner that may be transparent to both the application and the cluster awareness layer of a kernel.

## Claims

### Claim 1

An apparatus, comprising:
a processor;
a computer readable storage medium coupled to the processor;
a cluster specific interface device connected to a plurality of communication channels, each channel corresponding to an underlying hardware;
a pseudo interface device without an underlying communication hardware coupled to the cluster specific interface device; and
logic, stored on the computer readable medium and executed on the processor, for:
configuring the pseudo interface device with an interact protocol (IP) address;
generating a first communication link between an application and the pseudo interlace device, wherein the first communication link is bound to the IP address;
receiving at the pseudo interface device an application packet from the application on the first communication link;
generating a cluster interface packet by converting the application packet to a protocol corresponding to the cluster specific interface device;
generating a hardware specific packet corresponding to a particular one of the underlying hardware based upon the cluster interface packet; and
transmitting the cluster interface packet via the cluster interface device to the particular hardware via the corresponding communication channel.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the protocol of the application packet is a different type of protocol than a protocol associated with the corresponding communication channel.

### Claim 3 (depends on 1)

The apparatus of claim 1, the logic further comprising logic for:
receiving at the cluster specific interface device an incoming packet on a particular channel of the channels corresponding to the underlying hardware;
associating the incoming packet to the first communication link;
generating an application packet by converting the incoming packet into a protocol associated with the first communication link; a
delivering the application packet via the first communication link.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the first communication link is an internet protocol (IP) family socket.

### Claim 5 (depends on 1)

The apparatus of claim 1 wherein each of the underlying communication hardware is one of:
a physical disk;
an Ethernet;
an infiniBand;
a fiber channel; and
a storage network.

### Claim 6

A computer programming product, comprising:
a non-transitory computer-readable storage medium having computer readable code stored thereon, said computer-readable code which when loaded onto a processor and executed performs the following:
providing a cluster specific interface device connected to a plurality of communication channels, each channel corresponding to an underlying hardware;
coupling the cluster specific interface device to a pseudo interface device without an underlying communication hardware;
configuring the pseudo interface device with an internet protocol (IP) address:
generating a first communication link between an application and the pseudo interface device, wherein the first communication link is bound to the IP address;
receiving at the pseudo interface device an application packet from the application on the first communication link;
generating a cluster interface packet by converting the application packet to a protocol corresponding to the cluster specific interface device;
generating a hardware specific packet corresponding to a particular one of the underlying hardware based upon the cluster interface packet: and
transmitting the cluster interface packet via the cluster interface device to the particular hardware via the corresponding communication channel.

### Claim 7 (depends on 6)

The computer programming product of claim 6, wherein the protocol of the application packet is a different type of protocol than a protocol associated with the corresponding communication channel.

### Claim 8 (depends on 6)

The computer programming product of claim 6, the logic further comprising logic for:
receiving at the cluster specific interface device an incoming packet on a particular channel of the channels corresponding to the underlying hardware;
associating the incomming packet to the first communication link;
generating an application packet by converting the incoming packet into a protocol associated the first communication link; and
delivering the application packet via the first communication link.

### Claim 9 (depends on 6)

The computer programming product of claim 6, wherein the first communication is an interact protocol (IP) family socket.

### Claim 10 (depends on 6)

The computer programming product of claim 6, wherein each of the underlying communication hardware is one of:
a physical disk;
an Ethernet;
an infiniBand;
a fiber channel; and
a storage network.

### Claim 11

An operating system kernel, comprising:
a non-transitory computer readable storage medium;
a pseudo interface device without an underlying communication hardware coupled to the cluster specific interface device; and
logic, stored on the computer readable medium for execution on a processor, for:
coupling the pseudo interface device to a cluster specific interface device connected to a plurality of communication channels, each channel corresponding to an underlying hardware;
configuring the pseudo interface device with an internet protocol (IP) address;
generating a first communication link between an application and the pseudo interface device, wherein the first communication link is bound to the IP address;
receiving at the pseudo interface device an application packet from the application on the first communication link;
generating a cluster interface packet by converting the application packet to a protocol corresponding to the cluster specific interface device;
generating a hardware specific packet corresponding to a particular one of the underlying hardware based upon the cluster interface packet; and
transmitting the cluster interface packet via the cluster interface device to the particular hardware via the corresponding communication channel.

### Claim 12 (depends on 11)

The operating system kernel of claim 11, wherein the protocol of the application packet is a different type of protocol than a protocol associated with the corresponding communication channel.

### Claim 13 (depends on 11)

The operating system kernel of claim 11, the logic further comprising logic for:
receiving at the cluster specific interface device an incoming packet on a particular channel of the channels corresponding to the underlying hardware;
associating the incoming packet to the first communication link;
generating an application packet by converting the incoming packet into a protocol associated with the first communication link; and
delivering the application packet via the first communication link.

### Claim 14 (depends on 11)

The operating system kernel of claim 11, wherein the first communication link is an internet protocol (IP) family socket.

### Claim 15 (depends on 11)

The operating system kernel of claim 11, wherein each of the underlying commnication hardware is one of:
a physical disk;
an Ethernet;
an infiniBand;
a fiber channel; and
a storage network.

### Claim 16

A computer operating system kernel, comprising:
a non-transitory computer readable storage medium;
a pseudo interface device without an underlying communication hardware coupled to the cluster specific interface device; and
logic, stored on the computer readable medium for execution on a processor, for:
coupling the pseudo interface device to a cluster specific interface device connected to a plurality of communication channels, each channel corresponding, to an underlying hardware;
configuring the pseudo interface device with an internet protocol (IP) address;
generating a first communication link between an application and the pseudo interface device, wherein the first communication link is bound to the IP address;
receiving at the pseudo interface device an application packet from the application on the first communication link;
generating a cluster interface packet by converting the application packet to a protocol corresponding to the cluster specific interface device;
generating a hardware specific packet corresponding to a particular one of the underlying hardware based upon the cluster interface packet; and
transmitting the cluster interface packet via the cluster interface device to the particular hardware via the corresponding communication channel.

### Claim 17 (depends on 16)

The computer operating, system kernel of claim 16, wherein the protocol of the application packet is a different type of protocol than a protocol associated with the corresponding communication channel.

### Claim 18 (depends on 16)

The computer operating system kernel of claim 16, the logic further comprising logic for:
receiving at the cluster specific interface device an incoming packet on a particular channel of the channels corresponding to the underlying hardware;
associating the incoming packet to the first communication link;
generating an application packet by converting the incoming packet into a protocol associated with the first communication link; and
delivering the application packet via the first communication link.

### Claim 19 (depends on 16)

The computer operating system kernel of claim 16, wherein the first communication link is an internet protocol (IP) family socket.

### Claim 20 (depends on 16)

The computer operating system kernel of claim 16, wherein each of the underlying communication hardware is one of:
a physical disk;
an Ethernet;
an infiniBand;
a fiber channel; and
a storage network.
