Browse Prior Art Database

Method & Apparatus for Software Simulation of ISC Channels in a POSIX environment

IP.com Disclosure Number: IPCOM000124241D
Original Publication Date: 2005-Apr-12
Included in the Prior Art Database: 2005-Apr-12
Document File: 1 page(s) / 41K

Publishing Venue

IBM

Abstract

It is often useful to be able to test software against ideal-hardware simulations, but no such mechanism exists for the Inter-System Channel (ISC) transport. We have created a means of simulating the ISC commands and transactions, enabling rapid application development, higher reliability, availability, serviceability (RAS), and greater static code path testability.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 61% of the total text.

Page 1 of 1

Method & Apparatus for Software Simulation of ISC Channels in a POSIX environment

Disclosed is a method of software simulation of ISC (Inter-System Channel) in a Portable Operating System Interface (POSIX) environment. Further reference is made to [1] US Patent 5574945 and [2] 5706432. The disclosed solution extends the two prior solutions to provide new functionality.

Simulated in the software are the key commands and structures relating to ISC, using POSIX IPC (inter-process communication) to allow multiple processes to communicate as sender/receiver pairs. One can thus fully simulate ISC transactions, error conditions, and vector notifications. This effectively decouples the software from the hardware.

This is used to allow the Coupling Facility to run in an all-software environment for RAS testing, error injection, and feature extension. This has made the application under test extremely portable, and has allowed us to simulate execution of the Coupling Facility in many completely different environments.

Shared memory is used for IPC in the simulation for convenience of moving large blocks of data as well as because it is a straightforward method for allocating ~4 gigabytes of contiguous memory dynamically. Large blocks are then sub-allocated, divided into simulated link buffers, vector state tables, and various information blocks during program initialization. All standard access commands are implemented via a stubbed interface layer. This layer is completel...