The present invention generally relates to an apparatus and method for executing communication protocol conversions and, in particular, relates to such an apparatus and method whereby conversion from an external protocol to a uniform network protocol is efficiently executed.
In an effort to simplify what is frequently a rather complex design problem, most telecommunication systems are organized via the use of layers, or levels. Each layer is independently structured based on the services and functions provided by the adjacent layers. The number of layers in any given system or subsystem depends on the specific functions and services to be provided thereby. In addition, each layer is designed to communicate with adjacent layers via an interface. Generally, each layer provides certain clearly defined services or functions and, consequently, can be effectively designed fairly independent from the adjacent functions or services. Hence, the detailed implementation of the defined services and functions of any given layer are more simply designed. As one example, the first layer, or level, can be defined as the actual, i.e., physical, communication medium of the system, such as a coaxial cable, a printed circuit strip line, a microwave transmission network, or the like. In actually, most telecommunication systems include more than one of the above-mentioned communication media.
Each layer is usually provided with a unique set of rules that regulate and control data communication within that layer and define the parameters for all layers interfacing therewith. In fact, any particular layer may include a plurality of nested sets of communication rules whereby, for example, a predetermined one of different data communication medium is selected according to the data destination and the appropriate set of rules are enforced. In any data communication device, whether a communication terminal or a worldwide communication network, the functions and services of each layer, as well as the transfer of data between adjacent layers are frequently regulated, i.e. defined, by the operating system software. By definition, the totality of the rules and regulations governing communication with such a device, regardless of the number of internal or nested layers provided therewithin, is known as the communication protocol of that device.
However, in order for two devices, such as two different terminals, having different communication protocols to communicate with each other, a rather complex protocol conversion must be performed. Generally, in a communication network, this conversion can be executed in a number of different ways. In one conventional technique, a centralized processor having all necessary protocols stored therein, i.e. the communication protocol for each different type device, is included in the network. A centralized processor technique is frequently employed because of the magnitude of the memory required for storing all possible communication protocol conversion information for all protocols being used in any given network. In such an approach, data from a source device is first transferred to the centralized processor wherein the communication protocol conversion is executed. Thereafter, the data is transferred to the destination device having a communication protocol compatible therewith. However, as a consequence, all data entering such a network must pass through the centralized processor for executing the necessary communication protocol conversions and the transference of the data to the addressee. The data path through the central processor is thus traversed by all data entering the network, even if the transmitting and receiving peripherals have identical communication protocols. Understandably, this is inefficient, both because it is time consuming when no communication protocol conversion is necessary but also because the potential for data transfer errors increases as the network path length and transmit time therealong increases.
The most prevalent alternative scheme of executing communication protocol conversions between external peripheral devices operating under different protocols requires each subsystem of a network to execute the requisite communication protocol conversions. In such a scheme, each subsystem is provided with a dedicated subsystem processor containing all communication protocol conversion information for the protocols acceptable to the system. For example, if four different communication protocols are predesigned into a data communication network, each subsystem interconnected thereto must include a processor having the capacity, both in memory and actual processing capability, to convert between any combination of any two of those four protocols. Such conversions, of course, are in addition to the usual communication protocol conversion to the network protocol. In addition, similar to the central processing technique discussed above, all data entering, from either a peripheral or the network, a subsystem must pass through the subsystem processor. Thus, this technique is inefficient since the subsystem processor is a source of bottlenecking.
In addition to the above-mentioned drawbacks, the greatest and most expensive difficulty of either technique is the reprogramming required if a peripheral with yet another protocol is to be interconnected with the network. In fact, the expense of such reprogramming is often prohibitive, thus limiting such networks to interfacing with only specific types of peripherals. It is for just this reason that many data communication device manufactures emphasize the compatibility among their own products.
From the above it is apparent that an appparatus and a method for executing communication protocol conversions between different communication protocols associated with external devices is highly desirable in light of the plethora of different data communication devices presently available and anticipated for providing data communication services to a burgeoning market.