• Keine Ergebnisse gefunden

CSI FUNCTIONS

Im Dokument Cartridge Syste·m (Seite 133-138)

• CSI Architecture

• Communications Methodology

• CSI Initiation

• Message Processing

• Error petection and Recovery

• Tennination

CSI FUNCTIONS

The CSI essentially functions as an asynchronous communications switchboard for the ACSLM. It receives input from both the ACSLM and an SSI via the Network Interface (NI). This input consists of Storage Server request and response packets.

CSI Functions CSI Processes

CLIENT APPLICATION

~~

Working together with the client system SSls, the CSI provides a programmatic interface to the Storage Server that allows client applications to request remote tape service by executing librmy

commands in a location-independent manner. The only restrictions on client application architecture are:

Communications protocol. The client application must use a predefmed communications protocol to send requests and receive responses.

The Storage Server command set. The client application must format library requests according to the ACSLM command structures. It also must be able to interpret ACSLM responses.

See Chapter 3 and Chapter 4 for these formats.

Figure 5-1 is a diagram of how library requests and responses are passed between a client application and the Storage Server.

STORAGE SERVER

~~

NI

RESPONSE .... ... RESPONSE

SSI

~.

CSI

r---REQUEST

REQUEST --..

. .. ..

29053 A

Figure 5-1. Overview of the Client System Interface

CSI Processes CSI Architecture

CSI ARCHITECTURE

Overview

OSI Model

The CSI communicates with the client system SSls on a peer-to-peer basis, using a client-server model. The CSI conforms to the OSI layering model for peer-to-peer communications.

Within the client-server model, the CSI is the server, while the SSls are clients. Following is a summary of request and response

processing perfonned by the CSI and the SSls.

A client application sends a Storage Server request through its SSI communications layer to a CSI server on the network. The SSI uses XDR library functions to encode, or serialize, the request into a host-independent data format, and then perfonns RPC calls to send the request across the network.

The CSI passively listens on the network for requests. It uses RPC functions to receive requests, uses XDR functions to deserialize them from host-independent to host-dependent fonnat, and then passes them to the ACSLM.

After the ACSLM perfonns the designated function it issues one or more request responses·, routing them back to the client through the CSI. The CSI keeps track of the routing pertaining to a particular request. When the CSI receives a response from the ACSLM, it matches the response to a particular client SSI and establishes the routing (address) from internal tables. Then the CSI uses an XDR function to serialize the response, and executes an RPC callback to send the response across the network to the SSI.

Meanwhile, the SSI passively listens for responses to its requests. It uses RPC calls to retrieve the responses from the network, uses XDR functions to deserialize them, and then passes them up to the client application.

See Chapter 1: ACS Overview for a summary of the Open Systems Interface (OSI) model.

In the overall Storage Server software communications model, the CSI represents the following two OSI layers:

• Layer 6 - Presentation Layer

• Layer 5 - Session Layer

CSI Architecture

Almost all CSI programming represents Presentation Layer

functionality. Presentation Layer programming focuses on the following:

• Storage of SSI return addresses

• Packet conversion, using XDR translation services

• Network output queueing

• Duplicate packet detection

Session Layer communications programming focuses on making system calls to detect and multiplex module interprocess

communications (IPC) and network connections. Session Layer network functionality is accomplished through calls to Sun Microsystems Remote Procedure Call (RPC) functions.

Transport Layer (Layer 4) functionality is accomplished through

UDP/IP or TCP/IP, or both running concurrently. This layer of software is transparent to the programmer, as it is supported entirely by RPC and the SunOS implementation of sockets. No TCP or UDP

programming is needed.

STORAGE SERVER MODEL CLIENT SYSTEMS ACS STORAGE SERVER STORAGE

CLIENT SERVER

USER INTERFACE

4~ ~~ ACS SYSTEM ADMIN ? ACSSA

~---

-

I-

-

I--

- - - - ---

---CLIENT APPLICATION ACS LIBRARY

? ACSLM

CSI Processes Communications Methodology

COMMUNICATIONS METHODOLOGY Overview

The standard client-server architecture is based on synchronous communications. Essentially, this means that the client issues a request and then blocks until it receives an acknowledge that the requested operation has been perfonned.

The CSl's communications methodology uses asynchronous communications at the Applications Layer and synchronous

communications at the Session Layer. The CSI receives an arbitrary number of requests from an arbitrary number of SSIs. After the ACSLM processes the requests, it returns one or more responses to the appropriate SS!. As a result, the CSI cannot block indefinitely to complete a network transmission because at any given moment it may have another task to perfonn, such as servicing new NI RPC

connections, SSI Storage Server requests, or ACSLM responses.

There are several RPC methodologies for asynchronous

communications. The CSI and SSI use the callback model. In this model, the requestor includes in its requests a return address where responses are to be sent. In the case of the Storage Server, the SSI includes its return address in the CS I _HEADER portion of the request;

the CSI theh sends responses to that address. See Chapter 7: CSI Data Structures for the fonnat and content of the CSI HEADER structure.

In order to employ the asynchronous model, Storage Server requests employ an application-level protocol made up of groups of discrete, synchronous transactions. Within this protocol, the CSI and the SSI must immediately acknowledge all messages, and they must be able to match responses to a particular request. A request is a distinct

synchronous transaction, and a response is a separate distinct

synchronous transaction. All RPC calls are immediately acknowledged and carry no response data.

The asynchronous nature of the model is accomplished through the high-level RPC protocol employed by the CSI and the SSIs. A Storage Server request from an SSI initiates a series of synchronous

transactions which lead to the completion of an entire Storage Server operation. After the SSI initiates the request, it is free to perfonn other work, if so designed. After the CSI sends a request or response to the appropriate destination, it is free to perfonn other work. The entire storage server operation is complete when the SSI receives a/inal response from the CS!.

Communications Methodology CSI Processes

Interprocess Communications

CSI - ACSLM and CSI - ACSSA communications are accomplished through BSD datagram sockets.

The CSI, ACSLM, and ACSSA each create and maintain a single, named input socket used to receive messages from the other processes. This simplifies initialization and error recovery in each process. These sockets are defined at initiation.

Im Dokument Cartridge Syste·m (Seite 133-138)