Dynamic layered protocol stack
First Claim
1. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a method for constructing the protocol stack using a stack builder comprising the steps of:
- (a) providing a stack description file comprising a plurality of individual protocol layer descriptions, one for each protocol layer that is to be included in the protocol stack, so that the plurality of individual protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed;
(b) reading a first protocol layer description from said stack description file;
(c) establishing a first protocol layer, having a protocol layer interface, in the protocol stack that corresponds to said first protocol layer description read from said stack description file;
(d) with the stack builder, for each remaining protocol layer description in said stack description file, performing at least the steps of;
(i) reading another protocol layer description from said stack description file;
(ii) establishing another protocol layer, having a protocol layer interface, in the protocol stack that corresponds to said another protocol layer description read from said stack description file; and
(iii) connecting said another protocol layer to a previously established protocol layer using a protocol interface from said previously established protocol layer in order to form a plurality of interconnected protocol layers that together form the protocol stack; and
(e) after all layers of the protocol stack have been established and interconnected, then providing an interface from one of said protocol layers to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method and system for dynamically building a protocol stack for use by a communication program to establish a data transfer protocol. The method of creating the protocol stack first establishes a set of protocol layer descriptions. One protocol layer description is used to establish an initial protocol layer that has a protocol interface. For each other protocol layer description, a current protocol layer having an interface is established using the protocol layer description, and the current protocol layer is connected to a previously established protocol layer using one of the interfaces from the previously established protocol layer. In this manner, the protocol layers are connected in pairs. These connected protocol layers make up a protocol stack. Finally, the method provides the interface from a protocol layer, e.g., the top layer, to the communication program. When the communication program prepares data for transmission, the methods of the protocol stack are invoked against the data by invoking the interface provided to the communication program. In this manner, the data is processed by each layer of the protocol stack in turn as the protocol layers pass the data via the interfaces. The protocol stack is readily modifiable by modifying the protocol layer descriptions and rebuilding the protocol stack.
103 Citations
25 Claims
-
1. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a method for constructing the protocol stack using a stack builder comprising the steps of:
-
(a) providing a stack description file comprising a plurality of individual protocol layer descriptions, one for each protocol layer that is to be included in the protocol stack, so that the plurality of individual protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed; (b) reading a first protocol layer description from said stack description file; (c) establishing a first protocol layer, having a protocol layer interface, in the protocol stack that corresponds to said first protocol layer description read from said stack description file; (d) with the stack builder, for each remaining protocol layer description in said stack description file, performing at least the steps of; (i) reading another protocol layer description from said stack description file; (ii) establishing another protocol layer, having a protocol layer interface, in the protocol stack that corresponds to said another protocol layer description read from said stack description file; and (iii) connecting said another protocol layer to a previously established protocol layer using a protocol interface from said previously established protocol layer in order to form a plurality of interconnected protocol layers that together form the protocol stack; and (e) after all layers of the protocol stack have been established and interconnected, then providing an interface from one of said protocol layers to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a method for constructing the protocol stack using a stack builder comprising the steps of:
-
(a) creating a stack description file having a plurality of protocol layer descriptions, each describing a protocol layer that is to be included in the protocol stack, so that the plurality of protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed; (b) obtaining a first protocol layer description from said stack description file; (c) establishing a first protocol layer, having a protocol interface, in the protocol stack that corresponds to said first protocol layer description using the stack builder; (d) with the stack builder, for each remaining protocol layer description in said stack description file; (i) obtaining said protocol layer description from said stack description file; (ii) establishing a current protocol layer, having a protocol interface, that corresponds to said protocol layer description read from said stack description file; and (iii) connecting said current protocol layer to a previously established protocol layer using a protocol interface from said previously established protocol layer in order to form a plurality of interconnected protocol layers that together form the protocol stack; and (e) providing an interface from a protocol layer to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack. - View Dependent Claims (8, 9, 10)
-
-
11. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a method for constructing the protocol stack using a stack builder comprising the steps performed under the control of the stack builder of:
-
(a) providing a stack description file comprising a plurality of individual protocol layer descriptions, one for each protocol layer that is to be included in the protocol stack, so that the plurality of individual protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed; (b) reading a first protocol layer description from said stack description file; (c) creating a first protocol object, having a protocol interface, that corresponds to said first protocol layer description read from said stack description file; (d) for each remaining protocol layer description in said stack description file, performing at least the steps of; (i) reading another protocol layer description from said stack description file; (ii) creating another protocol object, having a protocol interface, that corresponds to said another protocol layer description; and (iii) connecting said another protocol object to a previously created protocol object using a protocol interface from one of said protocol objects in order to form a plurality of interconnected protocol objects that together form the protocol stack; and (e) providing an interface from a protocol object to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack. - View Dependent Claims (12, 13)
-
-
14. A method for building a functional stack for use by a host program that includes a stack builder for building a stack of functional layers, the method including the steps performed by the stack builder of
(a) reading a first functional layer description from a functional description file, said functional description file including a set of functional layer descriptions, one for each layer that is to be included in the functional stack, so that the set of functional layer descriptions together define which functional layers will be included in the functional stack when it is constructed; -
(b) establishing an initial functional layer that corresponds to said first functional layer description, said initial functional layer having a functional interface; (c) for each remaining functional layer description in said functional description file; (i) reading said functional layer description from said functional description file; (ii) establishing a current functional layer corresponding to said functional layer description, said functional layer having an interface; and (iii) connecting said current functional layer to a previously established functional layer using an interface from one of said functional layers, such that said connected functional layers make up a functional stack; and (d) providing an interface from a functional layer to the host program, whereby the host program uses said interface to invoke the processes of said functional stack. - View Dependent Claims (15)
-
-
16. A protocol stack building system for creating a protocol stack implementing a communications protocol, said protocol stack having a plurality if individual layers that together provide protocol functions that make up the communications protocol and that can be accessed by a communication program to communicate to a second communication program using the protocol implemented by the protocol stack, the protocol stack building system being implemented in a computer system having a memory component and a processor, the protocol stack building system including:
-
(a) a stack description file stored in memory, the stack description file including a plurality of protocol layer descriptions, each defining a protocol layer that is to be included in the protocol stack, so that the plurality of protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is created; (b) a stack builder in the communication program that is executed by the processor in order to create the protocol stack defined in said stack description file, said stack builder including means for; (i) accessing a first protocol layer description stored in said stack description file; (ii) establishing a first protocol layer, having a protocol interface, in the protocol stack that corresponds to said first protocol layer description from the stack description file; and (iii) for each remaining protocol layer description in said stack description file; (1) accessing another protocol layer description stored in said stack description file; (2) establishing another protocol layer, having a protocol interface, in the protocol stack that corresponds to said another protocol layer description from the stack description file; and (3) connecting the another protocol layer to a previously established protocol layer using a protocol interface from said previously established protocol layer in order to form a plurality of interconnected protocol layers that together form the protocol stack that can be accessed by the communication program using an interface of one of said protocol layers. - View Dependent Claims (17)
-
-
18. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a computer-readable storage medium holding instructions for directing the computer system to perform a method for constructing the protocol stack using a stack builder, said method including the steps performed under the control of the stack builder of:
-
(a) reading a first protocol layer description from a stack description file, said stack description file including a plurality of protocol layer descriptions, one for each protocol layer that is to be included in the protocol stack, so that the plurality of protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed; (b) establishing an initial protocol layer that corresponds to said first protocol layer description, said initial protocol layer having a protocol interface; (c) for each remaining protocol layer description in said stack description file; (i) reading said protocol layer description from said stack description file; (ii) establishing a current protocol layer corresponding to said protocol layer description, said current protocol layer having an interface; and (iii) connecting said current protocol layer to a previously established protocol layer using an interface from said previously established protocol layer, thereby creating a protocol stack from said protocol layers; and (d) providing an interface from one of said protocol layers to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack. - View Dependent Claims (19, 20, 21, 22)
-
-
23. In a computer system having a communications program that receives or sends messages to a second communications program running on a second computer system through a multi-layer protocol stack where individual layers of the protocol stack together provide the protocol functions that enable communications between the communications programs, a computer-readable storage medium holding instructions for performing a method for constructing the protocol stack using a stack builder, the method including the steps performed under the control of the stack builder of:
-
(a) reading a first protocol layer description from a stack description file, said stack description file including a plurality of protocol layer descriptions, one for each protocol layer that is to be included in the protocol stack, so that the plurality of protocol layer descriptions together define which protocol layers will be included in the protocol stack when it is constructed; (b) creating an initial protocol object, having a protocol interface, that corresponds to said first protocol layer description; (c) creating a protocol stack by performing at least the following steps for each remaining protocol layer description in said stack description file; (i) reading said protocol layer description from said stack description file; (ii) creating a current protocol object, having a protocol interface, corresponding to said protocol layer description; and (iii) connecting said current protocol object to a previously established protocol object using an interface from one of said protocol objects; and (d) providing an interface from a protocol object to the communication program so that the communication program uses said interface to access the protocol functions provided by the protocol stack. - View Dependent Claims (24, 25)
-
Specification