Masters Theses

Date of Award

5-1994

Degree Type

Thesis

Degree Name

Master of Science

Major

Computer Science

Major Professor

William J. McClain

Committee Members

Tom Dunigan, Sara Jordan, David Straight

Abstract

This research focused on the concept of "open systems" and the influence that the movement toward open systems is having on network programming and vice versa. Background research focused on the most widely-accepted "open" networking protocols: the Transport Control Protocol/ Internet Protocol (TCP/IP) and the Open Systems Interconnection protocol (OSI). Within those protocol suites, connection-oriented transport protocols in particular were researched and compared to provide a better understanding of the interoperability issues involved. Achieving application transport independence, rather than transport commonality, was the central focus of the study. The initial premise of the research was: if transport independence could be gained through flexible software, then the push toward adopting one or two common transport protocols to usher in open systems might become less important. At the very least, the use of transport independent Application Programming Interfaces (APIS) could significantly aid in the transition to a more open computing environment.

The APIs evaluated for possible use in a transport-independent environment were: the Open Network Computing (ONC) Remote Procedure Call (RPC) from Sun Microsystems; the Distributed Computing Environment (DCE) RPC from the Open Software Foundation (OSF); and the Transport Level Interface (TLI) from Sun. Experimental evaluation of the performance of the ONC RPC and the TLI interfaces was completed for comparison purposes. To accomplish this task, blocks of data of increasing size were requested by client software and sent by the server to the client. The packet data information was captured and evaluated. At smaller message sizes (from 1 to 4 KB) there was very little difference in performance (although RPC transfers required more packets). As the message size increased, however, there was a significant gain in efficiency by the TLI API, making it appear a better choice from a performance standpoint for larger messages. The DCE API was available on only one machine, making network performance analysis of that API impossible.

The ease of development of programs to accomplish the same task (file transfer) was assessed using the ONC RPC, DCE RPC, and TLI interfaces. The ONC RPC interface subjectively appeared to be the simplest to learn and implement. The TLI interface required much more program code development for establishing and breaking client/server connections. The extensive use of pointers in the data transfer made the DCE software seem more difficult than it actually was, a fact which could easily hinder its use.

Several conclusions were drawn from this research: (1) none of the interfaces studied were found on a large number of disparate platforms, making limited their use to develop applications which were not dependent on a particular transport; (2) the upgrade of the software on one host may make it incompatible with lower versions of software on other host machines; (3) learning to program using the APIs is not a trivial task; (4) lack of availability of network usage tools leaves programmers essentially "programming in a vacuum" and precludes code optimization; (5) obstacles in getting the software installed and operable appeared routinely throughout the research; (6) the number of variables that have to be synchronized to keep a distributed software environment useable are great; (7) claims of "transport independence" regarding a particular API generally mean the ability to employ more than one transport protocol from a single protocol suite (generally TCP/IP); and (8) OSI protocol support is in the early development stages for both the ONC RPC and DCE RPCAPIS.

While the importance of API technology in the development of client/server applications cannot be overlooked, no single API is available which can be used to achieve true transport-level independence over platforms. a broad base of disparate computing platforms.

Files over 3MB may be slow to open. For best results, right-click and select "save as..."

Share

COinS