Browse Prior Art Database

Intra-Cluster Communications through cluster-wide bound sockets and cluster-wide FIFOs

IP.com Disclosure Number: IPCOM000016071D
Original Publication Date: 2002-Jul-12
Included in the Prior Art Database: 2003-Jun-21
Document File: 4 page(s) / 53K

Publishing Venue

IBM

Abstract

Disclosed is a method to bind UNIX domain sockets and FIFOs to a cluster wide namespace involving a managing cluster facility. The Problem Many business applications use Unix Domain Sockets and Named Pipes (FIFOs) for Inter-Process-Communication. They usually cannot run in a distributed manner through a network because the sockets of these communication methods are bound to the local system. Two obstacles are currently precluding running the threads of such an application in a distributed manner in a cluster environment: the namespace of these sockets is bound to the local node and the data to be transmitted is bound to the node holding the instance of the socket. IP sockets, as an alternate approach for Inter-Process-Communications, solve these problems but, due to their extensive dislocality, using them goes along with significant overhead in processing and disadvantages related to security. The Solution

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 4

  Intra-Cluster Communications through cluster-wide bound sockets and cluster-wide FIFOs

Disclosed is a method to bind UNIX domain sockets and FIFOs to a cluster wide namespace involving a managing cluster facility.

The Problem

Many business applications use Unix Domain Sockets and Named Pipes (FIFOs) for Inter-Process-Communication. They usually cannot run in a distributed manner through a network because the sockets of these communication methods are bound to the local system. Two obstacles are currently precluding running the threads of such an application in a distributed manner in a cluster environment: the namespace of these sockets is bound to the local node and the data to be transmitted is bound to the node holding the instance of the socket. IP sockets, as an alternate approach for Inter-Process-Communications, solve these problems but, due to their extensive dislocality, using them goes along with significant overhead in processing and disadvantages related to security.

The Solution

Disclosed is a variation of UNIX-sockets and FIFOs, which avoid the disadvantages of the IP approach. It can be separated into two components: First, binding Unix Domain Sockets and FIFOs to a namespace extending through all nodes of the cluster instead of only the local one, the first obstacle is removed as sockets from different cluster nodes are enabled to coexist on any node and hence no longer preclude a distributed instance of the socket, which is the prerequisite for unbinding the data to be transmitted from a sole node. Second, a method is proposed to establish a 'distributed identity' for these types of communications sockets. This is one prerequisite for at-run-time migration of I/O bound processes including their communication sockets inside the cluster for the purpose of failover, load balancing and others.

For solving the first issue of namespace conflicts, it can be assumed that as a prerequisite of communicating between processes from different session IDs in the Unix Domain, sockets have to be bound to a name in the filesystem. We use a special naming convention for addressing these socket, e.g. an extra special character preceding the filename or a directory which is available cluster-wide. Subsequently these sockets are enabled to be accessed by all nodes....