← Back to Patent Explorer
US5903754A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic layered protocol stack

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-11-14
•
Granted: 1999-05-11
•
Expires: 2017-11-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Malcom E. Pearson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 19:25
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/40; H04L69/00; H04L69/30; H04L69/32; H04L69/321; H04L69/03; H04L69/18

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 303 words
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.
Claim 2
Dependent Claim 303 words
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.
Claim 3
Dependent Claim 47 words
A method as claimed in claim 1 wherein the step of reading the stack description file includes reading said protocol layer descriptions in a predetermined order and wherein the interface provided to the communications program is the protocol interface of a top layer in the protocol stack.
Claim 4
Dependent Claim 57 words
A method as claimed in claim 1 wherein the step of establishing each protocol layer includes the steps of creating an instance of a class and creating a protocol layer object from said instance of a class, said protocol layer object representing said protocol layer, whereby said protocol layer objects are connected to form said protocol stack.
Claim 5
Dependent Claim 53 words
A method as claimed in claim 3 wherein said step of establishing a protocol layer further includes the step of determining whether said protocol layer object is the required type for said stack protocol, whereby said step of establishing a protocol layer fails if said protocol layer object is not said required type.
Claim 6
Dependent Claim 62 words
A method as claimed in claim 3 wherein said step of connecting said another protocol layer to said previously established protocol layer includes the step of determining whether said interface that will be used for said connection meets the requirements of said protocol layer to which it will be connected, whereby said step of connecting fails if said requirements are not met.
Claim 7
Dependent Claim 42 words
A method as claimed in claim 1 wherein said steps of reading, establishing, connecting and providing are carried out by a stack builder, and wherein said method includes the step of executing a communication program, which, in turn, executes said stack builder.
Claim 8
Dependent Claim 272 words
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.
Claim 9
Dependent Claim 272 words
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.
Claim 10
Dependent Claim 41 words
A method as claimed in claim 7 wherein the step of reading the stack description file includes reading said protocol layer descriptions in a predetermined order and wherein the interface from a top protocol layer is provided to the communications program.
Claim 11
Dependent Claim 32 words
A method as claimed in claim 7, further including the step of modifying the stack description file prior to carrying out the other steps so that said resulting protocol stack is modified.
Claim 12
Dependent Claim 57 words
A method as claimed in claim 7 wherein the step of establishing each protocol layer includes the steps of creating an instance of a class and creating a protocol layer object from said instance of a class, said protocol layer object representing said protocol layer, whereby said protocol layer objects are connected to form said protocol stack.
Claim 13
Dependent Claim 276 words
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.
Claim 14
Dependent Claim 276 words
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.
Claim 15
Dependent Claim 51 words
A method as claimed in claim 11 wherein said step of creating a protocol object further includes the step of determining whether said protocol object is the required type for said stack protocol, whereby said step of establishing a protocol object fails if said protocol object is not said required type.
Claim 16
Dependent Claim 61 words
A method as claimed in claim 11 wherein said step of connecting said another protocol object to said previously established protocol object includes the step of determining whether said interface to be used for said connection meets the requirements of said protocol object to which it will be connected, whereby said step of connecting fails if said requirements are not met.
Claim 17
Independent Claim 220 words
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.
Claim 18
Independent Claim 220 words
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.
Claim 19
Dependent Claim 30 words
A method as claimed in claim 14 wherein said functional description file is modified prior to carrying out the steps of the method in order to modify the functional stack.
Claim 20
Dependent Claim 319 words
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.
Claim 21
Dependent Claim 319 words
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.
Claim 22
Dependent Claim 60 words
A protocol stack building system as claimed in claim 16, further including a set of dynamic link libraries, each library corresponding to a protocol layer description, and wherein said steps of establishing protocol layers create an instance of a class and an object from said instance for each protocol layer, whereby said objects are connected to form said protocol stack.
Claim 23
Dependent Claim 275 words
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.
Claim 24
Dependent Claim 275 words
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.
Claim 25
Dependent Claim 44 words
The computer-readable storage medium of claim 18 wherein the instructions for performing the step of reading the stack description file read said protocol layer descriptions in a predetermined order and wherein the interface from a top protocol layer is provided to the communications program.
Claim 26
Dependent Claim 57 words
The computer-readable storage medium of claim 18 wherein the instructions for performing the step of establishing each protocol layer create an instance of a class and create a protocol layer object from said instance of a class, said protocol layer object representing said protocol layer, whereby said protocol layer objects are connected to form said protocol stack.
Claim 27
Dependent Claim 62 words
The computer-readable storage medium of claim 18 wherein the instructions for performing said step of connecting said current protocol layer to said previously established protocol layer determine whether said interface that will be used for said connection meets the requirements of said protocol layer to which it will be connected, whereby said step of connecting fails if said requirements are not met.
Claim 28
Dependent Claim 53 words
The computer-readable storage medium of claim 20 wherein the instructions for performing said step of establishing a protocol layer further determine whether said protocol layer object is the required type for said stack protocol, whereby said step of establishing a protocol layer fails if said protocol layer object is not said required type.
Claim 29
Dependent Claim 263 words
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.
Claim 30
Dependent Claim 263 words
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.
Claim 31
Dependent Claim 50 words
The computer-readable storage medium of claim 23 wherein the instructions for performing said step of establishing a protocol object determine whether said protocol object is the required type for said stack protocol, whereby said step of establishing a protocol object fails if said protocol object is not said required type.
Claim 32
Dependent Claim 61 words
The computer-readable storage medium of claim 23 wherein the instructions for performing said step of connecting said current protocol object to said previously established protocol object determine whether said interface to be used for said connection meets the requirements of said protocol object to which it will be connected, whereby said step of connecting fails if said requirements are not met.

References Cited (Backward Citations)

US4991133A Cited
US5278834A Cited
US5339430A Cited
US5446736A Cited
US5448566A Cited
US5499343A Cited
US5515508A Cited
US5491800A Cited
US5509123A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-05-10 2002-11-09 2003-05-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-05-10 2006-11-09 2007-05-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-05-10 2010-11-09 2011-05-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag