Multiplex communications – Communication techniques for information carried in plural... – Adaptive
Reexamination Certificate
1998-09-08
2004-03-23
Sam, Phirin (Department: 2661)
Multiplex communications
Communication techniques for information carried in plural...
Adaptive
C370S393000
Reexamination Certificate
active
06711178
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to computer networks and, more specifically, to a system and method for transferring multiple data types within a single operation in a computer network.
BACKGROUND OF THE INVENTION
Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links. The entities are typically software programs executing on hardware computer platforms, such as nodes; in particular, communication software executing on the nodes correlate and manage data communication with other nodes. The nodes typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol consists of a set of rules defining how the nodes interact with each other. Collectively, these hardware and software components comprise a communications network and their interconnections are defined by an underlying architecture.
Modem communications network architectures are typically organized as a series of hardware and software levels or “layers” within each node that interact to format data for transfer over the network. Predetermined services are performed on the data as it passes through each layer and the layers communicate with each other by means of the predefined protocols. The lower layers of these architectures are typically implemented in hardware and firmware, whereas the higher layers are generally implemented in the form of software running on the nodes attached to the network. Examples of such communications architectures include the the Internet communications architecture and the Systems Network Architecture (SNA) developed by International Business Machines (IBM) Corporation.
SNA is a mainframe-oriented network architecture that includes services generally similar to those defined in the Internet communications architecture. An SNA network consists of nodes and links, wherein the nodes are network components containing protocol implementations and the links are transmission facilities that carry data between two nodes configured to operate a data link control procedure. Examples of such nodes include a host mainframe computer, a control unit and an input/output (I/O) device that is provides a user interface to the network. In one embodiment of the SNA network, the control unit and I/O device may be combined within a node, such as a workstation, and in another embodiment, the control unit may be independent of the workstation and include a router to enable routing of data through the network to destination nodes, such as computers and/or workstations functioning as end stations.
The host is typically connected to the control unit through a high-performance communication subsystem called a mainframe channel. The channel comprises a plurality of components including an intelligent processor (i.e., channel CPU) that manages the protocol over a communications link and controls transfer of data between host (main memory) storage and I/O devices directly attached to the control unit. To that end, a channel may use one or more channel paths as the actual links between a host and the control unit. Channel paths include physical transmission links between the channel and control unit; examples of channel paths include bus-and-tag and enterprise system connection (ESCON) channel paths. Moreover, each I/O device is represented by a subchannel. A subchannel is similar to a virtual circuit in that it provides information about the associated I/O device and its attachment to the channel.
To transfer data in connection with an I/O operation, the channel CPU executes channel command words (CCWs) once started by a start subchannel operation. The start subchannel command is issued by the host CPU to instruct the channel CPU as to the location of a channel program; this command also specifies the subchannel on which the channel program should execute. The software entity within the host mainframe that creates the channel program is a Tranmission Control Protocol/ Internet Protocol (TCP/IP) process, which is schematically illustrated as layers of a typical Internet communications protocol stack. Protocol stacks and the TCP/IP reference model are well-known and are, for example, described in
Computer Networks
by Andrew S. Tanenbaum, printed by Prentice Hall PTR, Upper Saddle River, N.J., 1996.
The channel program consists of a collection of CCWs; the CCWs are the actual I/O commands (read, write, status, etc) that cause information to flow between the host and an I/O device. The control unit interprets these CCWs and adapts them to fit the characteristics of different I/O devices. Upon issuing a start subchannel operation, the host CPU is released to pursue other processing while the channel organizes the data referenced by the channel program and synchronizes its transfer between the I/O device and main memory.
Communication between a channel and control unit is typically governed by various protocols; a protocol originally developed by IBM Corporation for improving the efficiency of data communication between a host computer and a control unit is the common link access to workstation (CLA W) protocol. CLAW is a mainframe channel protocol that is not used with medium access control addressing and, thus, is generally used to send IP packets (in IP datagram mode) or TCP-socketed traffic, such as socket requests and responses (in IP socket offload mode).
A socket is essentially an interface between an application layer and transport layer of a protocol stack that enables the transport layer to identify which process it must communicate with in the application layer. For example, a socket interfaces to a TCP/IP protocol stack via a set of application programming interfaces (API) consisting of a plurality of entry points into that stack. Applications that require TCP/IP connectivity typically utilize the socket API to interface into the TCP/IP stack. For a connection-oriented protocol such as TCP, the socket may be considered a session; however, for a connectionless protocol such as IP datagram using the User Datagram Protocol (UDP), the socket is an entity/handle that the networking software (protocol stack) uses to uniquely identify an application layer end point, typically through the use of port numbers. The socket offload protocol provides such a socket interface.
In a CLAW environment, the control unit is coupled to a CLAW device, which is a software entity executing on a node, such as a workstation; in many CLAW implementations, the control unit and workstation are combined within the control unit. Data communication takes place over a channel via the exchange of data packets between the control unit and host. The CLAW protocol achieves data communication efficiency, in part, by avoiding host CPU interrupts during I/O channel operations through the continuous execution of channel programs over two subchannels: one for write operations and one for read operations.
Two CLAW devices are typically spawn within the control unit to interface with the host mainframe: one process (the write device) that controls write operations over the write subchannel and the other process (the read device) that controls read operations over the read subchannel. Data received from the network is typically provided to the read device and data arriving from the channel interrupt routine is provided to the write device. The host generally does not have corresponding processes for these two devices; rather it has control block structures that are specific to each device and that contain state information about the status of the devices.
Logical links are defined in CCWs for read and write operations to establish multiple logical connections within each subchannel directed to different applications executing on the host and control unit. In fact, a main goal of the CLAW protocol is to enable efficient switching among applications specified by the logical links to facilitate data transfers to appropriate outbound interfaces (e.g., FDDI or Ethernet). Accordingly, the logic
Drummond Mark C.
Hiller Dean
O'Gorman Robert
Cesari and McKenna LLP
Cisco Technology Inc.
Sam Phirin
LandOfFree
Enhanced claw packing protocol does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Enhanced claw packing protocol, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Enhanced claw packing protocol will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3235553