Electrical computers and digital processing systems: interprogra – High level application control
Reexamination Certificate
1998-09-21
2004-10-19
Harvey, Jack B. (Department: 2142)
Electrical computers and digital processing systems: interprogra
High level application control
C719S321000, C719S328000
Reexamination Certificate
active
06807667
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to controlling communications in a computer network, and more specifically, relates to an application programming interface (API) for use in abstracting network traffic control components to application programs.
BACKGROUND OF THE INVENTION
Over time, the usefulness and benefits of stand alone computing devices, such as the ubiquitous personal computer, have been leveraged by allowing many of such computing devices to communicate with one another over a communications network. Network communication between computers allows many different kinds of applications to exist that are otherwise not possible with a stand-alone computer.
For communicating over a network, information that is to be transported from one computer to another is divided into a number of network communication packets. These network packets (also known simply as “packets”) will eventually be transported across the physical communications network. In the PC environment, transmission is handled by a network interface card residing in the personal computer. Throughout this application the PC environment will be assumed, though the discussion and application of the concepts apply to many different network computing environments as will be appreciated by those skilled in the art.
Delays due to network traffic had little impact on the quality of service for the first types of network applications; namely file transfer and messaging applications. Currently, multimedia applications have streaming data, such as successive sound or video, that is communicated from one computer to another. Streaming data typically refers to a continuous set of successive packets that, in order to be processed correctly at the receiving computer, must have certain guaranteed transmission characteristics. Streaming data must be processed at a certain rate, and that rate must be maintained over the network connection. Additionally, there is a limitation on the amount of variability between when successive packets are received. Should the rate and variability requirements not be met, packets will not be received and processed appropriately by the receiving computer and perceptible errors will occur. For example, a video frame may be lost or temporarily frozen if there is some sort of interruption in the stream of packets being processed.
In order to assure a certain quality of service, reservation of network bandwidth or other relevant resource is required. A number of different protocols have been developed, such as RSVP and ATM, for making bandwidth reservations on all nodes that would be in charge of carrying network communication packets between the source and destination nodes. In this manner, once the bandwidth reservations are made, the packets may be sent as part of a data stream, or packet flow, from the source node to the destination node with the assurance of a certain quality of service due to bandwidth reservations.
While these protocols generally work for their intended purpose, there are a number of disadvantages associated with their use. For example, owing to the lack of uniformity across the protocols, there exists no relatively simple manner by which traffic control parameters can be verified, queried, or set. Additionally, it is not desirable to have many different application programs attempting to communicate with one another so as to determine the necessary classifications and schedules to maintain quality of service for the various packets to be sent.
SUMMARY OF THE INVENTION
To overcome these deficiencies in the prior art, the present invention is generally directed to a method and system for abstracting the interface with network communication traffic control components. In this manner, a simple interface is provided that isolates applications from the complexity of the various traffic control configurations, remains consistent regardless of the underlying network media, and provides applications with the ability to easily verify, query and set traffic control parameters.
The invention consists of a traffic control interface which resides at the user level and acts to abstract the control of kernel level traffic control components to user level application programs. The traffic control interface accepts input from a client application and assigns an identification to the network traffic unit sent by the client. The client itself is a network traffic unit, as are any interfaces the client seeks to open, any flows the client wishes to add on those interfaces, and any filters the client wants to attach to those flows. Once the traffic control interface has identified the network traffic unit, it will send the appropriate message to the operating system, directing that the necessary tasks be performed by either a packet scheduler or a packet classifier. Those kernel level components can return through the operating system the results of the operations requested, and that return data will be received by the current invention and passed back to the client application.
Additional features, advantages and objects of the invention will be made apparent from the following detailed description of illustrative embodiments which proceeds with reference to the accompanying figures.
REFERENCES:
patent: 4768150 (1988-08-01), Chang et al.
patent: 5262539 (1993-11-01), Makosza et al.
patent: 5339413 (1994-08-01), Koval et al.
patent: 5414650 (1995-05-01), Hekhuis
patent: 5440740 (1995-08-01), Chen et al.
patent: 5446736 (1995-08-01), Gleeson et al.
patent: 5463624 (1995-10-01), Hogg et al.
patent: 5466736 (1995-11-01), Spowage et al.
patent: 5485460 (1996-01-01), Schrier et al.
patent: 5517622 (1996-05-01), Ivanoff et al.
patent: 5517635 (1996-05-01), Cross et al.
patent: 5517668 (1996-05-01), Szwerinski et al.
patent: 5521923 (1996-05-01), Willmann et al.
patent: 5539886 (1996-07-01), Aldred et al.
patent: 5553061 (1996-09-01), Waggener, Jr. et al.
patent: 5555264 (1996-09-01), Sallberg et al.
patent: 5627829 (1997-05-01), Gleeson et al.
patent: 5648965 (1997-07-01), Thadani et al.
patent: 5724513 (1998-03-01), Ben-Nun et al.
patent: 5752005 (1998-05-01), Jones
patent: 5761424 (1998-06-01), Adams et al.
patent: 5764894 (1998-06-01), Boucher et al.
patent: 5787430 (1998-07-01), Doeringer et al.
patent: 5790522 (1998-08-01), Fichou et al.
patent: 5796956 (1998-08-01), Jones
patent: 5797031 (1998-08-01), Shapiro et al.
patent: 5802307 (1998-09-01), Melo
patent: 5802511 (1998-09-01), Kouchi et al.
patent: 5806068 (1998-09-01), Shaw et al.
patent: 5815678 (1998-09-01), Hoffman et al.
patent: 5815707 (1998-09-01), Krause et al.
patent: 5819043 (1998-10-01), Baugher et al.
patent: 5822317 (1998-10-01), Shibata
patent: 5831606 (1998-11-01), Nakajima et al.
patent: 5831971 (1998-11-01), Bonomi et al.
patent: 5884037 (1999-03-01), Aras et al.
patent: 5889956 (1999-03-01), Hauser et al.
patent: 5903735 (1999-05-01), Kidder et al.
patent: 5913028 (1999-06-01), Wang et al.
patent: 5917822 (1999-06-01), Lyles et al.
patent: 5935218 (1999-08-01), Beyda et al.
patent: 5956721 (1999-09-01), Douceur et al.
patent: 5958010 (1999-09-01), Agarwal et al.
patent: 5974465 (1999-10-01), Wong
patent: 5983278 (1999-11-01), Chong et al.
patent: 5987522 (1999-11-01), Rijhsinghani
patent: 5996013 (1999-11-01), Delp et al.
patent: 5996020 (1999-11-01), Reed
patent: 6003086 (1999-12-01), Mitsutake et al.
patent: 6005866 (1999-12-01), Lincoln
patent: 6011775 (2000-01-01), Bonomi et al.
patent: 6021408 (2000-02-01), Ledain et al.
patent: 6031841 (2000-02-01), Woundy
patent: 6047323 (2000-04-01), Krause
patent: 6104868 (2000-08-01), Peters et al.
patent: 6185574 (2001-02-01), Howard et al.
patent: 6205149 (2001-03-01), Lemaire et al.
patent: 6233624 (2001-05-01), Hyder et al.
patent: 6243753 (2001-06-01), Machin et al.
patent: 6247061 (2001-06-01), Douceur et al.
patent: 6247067 (2001-06-01), Berliner et al.
patent: 6378004 (2002-04-01), Galloway et al.
patent: 6405145 (2002-06-01), Rust et al.
patent: 0 751 462 (1997-01-01), None
WMI: What it is . . . Why Driver writers should care, 1998 OSR Open Syste
Bar Ofer
Bernet Yoram
Eilebrecht Eric L.
Harvey Jack B.
Prieto Beatriz
LandOfFree
Method and system of an application program interface for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system of an application program interface for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system of an application program interface for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3275204