|Publication number||US5634006 A|
|Application number||US 08/540,923|
|Publication date||May 27, 1997|
|Filing date||Oct 11, 1995|
|Priority date||Aug 17, 1992|
|Also published as||CA2095755A1, CA2095755C, DE69318081D1, DE69318081T2, EP0583965A2, EP0583965A3, EP0583965B1|
|Publication number||08540923, 540923, US 5634006 A, US 5634006A, US-A-5634006, US5634006 A, US5634006A|
|Inventors||Mark J. Baugher, John K. Bigler, Mark R. Simpson|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (21), Non-Patent Citations (28), Referenced by (172), Classifications (26), Legal Events (7)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This is a continuation of application Ser. No. 07/930,587 filed Aug. 17, 1992, now abandoned.
The present invention relates to data processing systems, and in particular to managing priority for a communication network.
It is known for self-contained computer workstations to be interconnected by a digital network. One advantage of such a network is that users of individual workstations can communicate with one another over the network, for example by means of a typed note, a data file or a program file transmitted to another user. More recently, users have increasingly requested desktop conferencing, remote presentations and other multimedia applications between networked users. However, multimedia applications require high bandwidth communication links between distributed computing systems with minimal communication delay, maximum throughput, and instantaneous burst communication capability. The requirements of multimedia applications make scheduling the appropriate resources difficult.
IBM Technical Disclosure Bulletin (TDB), number 4b, September, 1991, pp. 416-417, Inter-client Resource Usage in Distributed Client Server Presentation Manager System, discloses a distributed client-server presentation system. In such a system, resources, such as cut and paste clipboard, the keyboard, the mouse, etc., are managed across a number of client systems each connected to a display server. The resources are managed by providing generic server functions, neutral to any specific client policies. The Server provides inter-client resource support by managing named "logical resources." Clients use these resources to assign global ownership. For example, assuming a client system, a "FOCUS" resource is created and ownership is acquired by client nodes which require a focus window to receive keyboard input events. The Client requests a resource by name and can request exclusive or shared access. Data can also be associated with a logical resource.
Another IBM TDB, Apr. 4, 1989, p. 349, Managing Serial Use Resources in a Distributed Data Processing System Using an Insertion Ring, discloses a technique which insures that users of serial facilities in a distributed data processing system are properly sequenced. U.S. Pat. No. 5,031,089; Dynamic Resource Allocation Scheme for Distributed Heterogeneous Computer Systems; discloses a similar system for a plurality of networked computer nodes to reallocate system resources for optimized job performance. U.S. Pat. No. 4,747,130; Resource Allocation In Distributed Control Systems; discloses a similar scheduling system for a distributed process control system.
U.S. Pat. No. 4,953,159; Audiographics Conferencing Arrangement; discloses a system for allowing conferees to exchange displayed text and/or graphics stored locally in their respective data terminals. The conferees may change the displayed text and/or graphics and such changes are automatically distributed to the other data terminals so that all of the conferees view the same information.
U.S. Pat. No. 4,389,720; Distributed Digital Conferencing System; discloses a time division communication system for combining those samples going to a particular station forming a conference with combinations of selected time slot samples into a conference sum unique to the station.
Resource reservation must occur at all layers of what is known as the Open Systems Interconnect (OSI) model. At the network layer, a circuit may need to be reserved, for a particular time, through a plurality of intermediate network computer nodes. At the lower layers, the system must ensure that a particular resource managed by the layer can be reserved. At the Medium Access Control (MAC) layer of Fiber Distributed Data Interface (FDDI), a Synchronous FDDI standard of the FDDI Station Manager SMT7.1 describes how a FDDI workstation can communicate bandwidth reservation needs to a plurality of workstations connected to a FDDI ring, and how the negotiated Token holding time and Token Rotation Time can be negotiated by the stations to either grant or deny the bandwidth request of a particular station.
No such standard exists for an IEEE or IBM Token Ring, but there is an architected priority mechanism in the Token Ring and the Token Bus whereby a station on the ting with a high (non-zero) priority frame to send can indicate this in the access control (AC) field of a passing frame, provided that the value of the access field is less than the priority at which the station desires to initialize the AC. When a station sending the frame releases the token, it releases the token at the priority of the AC field, and eventually sets it back to its original priority as specified in the IEEE 802.5 medium access control protocol. The IEEE 802.5 standard and the IBM 802.5 implementation merely specifies the protocol for increasing and decreasing priority, but each station is unconstrained in its use of priority beyond this protocol.
U.S. Pat. No. 5,029,164 describes a network (source to destination) bandwidth reservation algorithm including messages exchanged between source, intermediate and destination nodes. Internet Requests For Comments (RFC) #1190, Experimental Internet Stream Protocol describes a message exchange protocol across a network; like U.S. Pat. No. 5,029,164, RFC 1190 describes message exchanges between a source, destination, and intermediate nodes. But does not solve the specific problems of reserving bandwidth on networks that have shared access and an architected priority mechanism such as the Token Ring.
U.S. Pat. No. 4,587,651 discloses bandwidth reservation on a ring having two network loops, but a slotted, time division multiplexed scheme is used that is unsuitable for asynchronous rings and buses that have architected priority mechanisms for bandwidth reservation, and which lack the necessary physical network clocking required by TDM schemes.
U.S. Pat. No. 5,050,161 describes a scheduling system in source, destination and intermediate computer network nodes which can provide throughput, delay and delay jitter (variation in delay) guarantee. But this patent requires that all packets having a certain quality of service guarantees be assigned a time slot which is unique to the station (it is not TDM, time division multiplexed) and transmitted at the start of the time slot. This scheme requires that connections be identified and is thus not suitable for the medium access control layer which does not recognize connections; it does not contain arbitration among a plurality of computer network nodes sharing a common transmission medium, such as a Token Ring, and it does not specify how priority can be used to implement bandwidth reservation on a shared transmission medium.
Prior to this invention, no means existed for allowing Token Ring priority to guarantee bandwidth and delay times.
According to the present invention there is provided a data processing system for regulating access to a communication network.
These and other objects of the present invention are accomplished by the operation of a component that can be implemented in hardware logic or software. The component regulates access to the priority queue or transmit channel that is attached to the shared medium local area network section. All access to the priority queue or transmit channel must pass through this component, thus subjecting all communication transactions to rejection or tracking by the component. The component allocates a frame size based on the information to be transmitted and the priority to assure the transmission will be completed in line with the quality of service required.
The component monitors the rate and size of messages to assure that an application's actual throughput does not exceed its negotiated throughput. The component, moreover, is capable of operating in correction mode where throughput and frame size violations are prevented and reported. Alternatively, the component operates in detection mode where violations are recorded and reported to an application.
FIG. 1 is a block diagram showing the configuration of a typical workstation in accordance with the subject invention;
FIG. 2 is a schematic diagram of a data processing system including three workstations interconnected by a network in accordance with the subject invention;
FIG. 3 is an illustration of the Medium Access Control (MAC) frame format in accordance with the subject invention;
FIGS. 4A-D are illustrations of priority reservation occurring on a token ring in accordance with the subject invention;
FIG. 5 illustrates the Open Systems Interconnect (OSI) systems management structure of a Management Information Base (MIB) in accordance with the subject invention;
FIG. 6 illustrates the relationship of Open Systems Interconnect (OSI) management procedures, agent processes and managed object operations in accordance with the subject invention;
FIG. 7 is a block diagram in accordance with the subject invention; and
FIG. 8 is a flow chart detailing the logic in accordance with the subject invention.
Refer now to FIG. 1, which illustrates a typical hardware configuration of a workstation with a central processing unit 10, such as a conventional microprocessor, and a number of other units interconnected via a system bus 12. The workstation shown in FIG. 1 includes a random access memory (RAM) 14, read only memory (ROM) 16, an I/O adapter 18 for connecting peripheral devices such as disk units 20 to the bus, a user interface adapter 22 for connecting a keyboard 24, a mouse 26, a loudspeaker 28, a microphone 32, and/or other user interface devices such as a touch screen device (not shown) to the bus, a communication adapter 34 for connecting the workstation to a data processing network and a display adapter 36 for connecting the bus to a display device 38.
Although FIG. 1 shows a typical `intelligent` workstation, a workstation may in fact be a dumb terminal with only a limited processing capability, under the control of a host processor. This is made clear in connection with FIG. 2.
FIG. 2 illustrates a data processing system comprising a number of workstations (here, three workstations 200, 220 and 230) interconnected via a pair of data networks 210 and 240 so as to permit communication between the workstations. It is assumed that the data processing system shown in FIG. 2 is of a type which permits concurrent real time communication between the users. The network operates according to a conventional network protocol, such as the token ring protocol described in Token Ring Network Architecture Reference, SC30-3374, IBM 1989 incorporated by reference in its entirety.
FIG. 2 shows just one possible hardware configuration for a data processing network. Other configurations are possible. For example, the data processing system could be based upon a star network, or based upon a host processor connected to a plurality of dumb terminals, or based upon a plurality of remote processors connected by a communication network. The networks could also be based upon the telephone network, an ISDN network or any other `dial up` networks. The workstations could be located within a single workspace, or within a local area (eg in a building), or could be remote from one another. An excellent source of detailed technical planning information for configuring a network of workstations in accordance with the invention is the IBM Extended Services For OS/2 Example Scenarios Manual (1991). The document is incorporated by reference in its entirety.
Multimedia computing is the processing of various media such as video, waveform audio, musical instrument digital interface (MIDI) streams, animation, graphics and text. Media processing includes the capture, authoring (editing) and playback of media streams as well as other data processing applications. Multimedia documents which are stored on some non-volatile medium, such as a disk, are referred to as recorded multimedia applications. There are also live multimedia applications in which two or more people communicate with each other at the same time using a computer. Live multimedia applications are normally conducted across space and time indicating that live multimedia is inherently distributed. Even recorded multimedia applications require distributed file system services to share large volumes of stored media such as video disk, audio information or computer generated images. Thus, it is critical that a scheduling and coordination solution for multimedia applications include support for a distributed environment.
To reduce their design complexity, most networks are organized as a series of layers, each one built upon its predecessor as described in Computer Networks, Tannenbaum, Andrew S., Prentice Hall (1988). The number of layers, the name of each layer, the contents of each layer, and the function of each layer differ from network to network. However, in each network, the purpose of the layers is to offer certain services to the higher layers, shielding those layers from the details of how the offered services are actually implemented. The purpose, function and details of each of the layers and their interaction is set forth in Tannenbaum's book and familiar to communication programmers the world over.
The transport layer accepts data from the session layer, splits it up into smaller units and passes the units to the network layer to ensure that the pieces all arrive at the other end. Details of the transport layer and how it fits into the OSI architecture are shown in FIG. 1-8 of Tannenbaum's book and described in the surrounding pages. ISO/IEC JTC 1/SC 21 Information Retrieval, Transfer and Management for OSI Secretariat: U.S.A. (ANSI) (3294), BASIC REFERENCE MODEL--Management Framework, (7498-4) and Management Information Model (3324) ISO 1989 are various technical standards documents incorporated in their entirety by reference that detail networking architecture.
One way of looking at the transport layer is to regard its primary function as enhancing the Quality of Service (QOS) provided by the network layer. If the subject invention's network reservation service is functioning properly, then the transport service has an easy task. However, if the network service deteriorates, then the transport layer has to intervene to shore up communication services and avoid impact to the network users.
QOS can be characterized by a number of specific parameters. The OSI transport service allows a user to specify preferred, acceptable, and unacceptable values for these parameters when a connection is made. Some of the parameters also apply to connectionless transport. The transport layer examines the parameters, and depending on the kind of network services available to it, determine whether the transport layer can provide the necessary service. QOS parameters are:
The amount of elapsed time between a transport connection being requested and confirmation being received by the user. As with all parameters dealing with delay, the shorter the delay, the better.
The probability of a connection not being established within the maximum establishment delay time. Network congestion, lack of table space, and other internal problems affects this value.
Measures the number of bytes of user data transferred per second as measured over a recent time interval. The throughput is measured separately for each direction.
Measures the time between a message being sent by the transport user on the source machine and its being received by the transport user on the destination machine.
Measures the number of lost or garbled messages as a fraction of the total sent in the sampling period. In theory, the residual error rate should be equal to zero, since it is the job of the transport layer to hide all network layer errors.
Measures how well the transport service is living up to its assigned tasks. When a transport connection is established, a given level of throughput, transit delay, and residual error are agreed upon. The transfer failure probability gives the fraction of times that these agreed upon goals were not met during some time period.
The amount of time elapsing between a transport user initiating a release of a connection, and the actual release happening at the end.
The fraction of connection release attempts that did not complete within the agreed upon connection release delay interval.
Provides a way for the transport user to specify interest in having the transport layer provide protection against unauthorized third parties reading or changing transmitted information.
Provides a way for a transport user to indicate that some of its connections are more important than other ones. The subject invention is designed to generate priority for application such as multimedia.
Gives the probability of the transport layer spontaneously terminating a connection due to internal problems or congestion.
The QOS parameters are specified by a transport application when a connection is requested. Both the desired, minimum and maximum acceptable values are given. In some cases the transport layer immediately recognizes that the values are not achievable. When this occurs, the communication attempt fails and an appropriate exception is noted.
In other cases, the transport layer knows that it cannot achieve the desired goal, but it can achieve a lower, but still acceptable rate. The lower rate, minimum acceptable rate, and maximum acceptable rate are sent to the remote machine requesting the establishment of a connection. If the remote machine cannot handle the proposed value, but can handle a value above the minimum or below the maximum, then it may lower the parameter to its value. If it cannot handle any value above a minimum, then it rejects the connection attempt. Then, the originating transport application is informed of whether the connection was established or rejected.
This process is called open negotiation. Once the options have been negotiated, they remain that way through the life of the connection. The OSI Transport Service Definition (ISO 8072) does not specify the QOS parameter values. These are normally agreed upon by the carrier and the customer. A T-Connect request is employed to initialize communication and the QOS is specified as part of this transaction. Details on the transport primitives are found in the aforementioned reference which is incorporated herein by reference.
Electronic meetings that are held across a distributed system require computer and network resources be reserved hours or days in advance. An advanced reservation system is needed to invoke the OSI services to perform a QOS reservation for a certain hour of a certain day for a fixed duration of time. The invention stores the requirements for a particular session including the QOS parameters, time of the connection, day of the connection, duration of the connection and various applications that must be connected in a file on each of the connected user's computers 200, 220 and 230 of FIG. 2. The file is stored in non-volatile memory to avoid problems with power outs.
A scheduled connection is necessary since hours or days may elapse between when an electronic meeting is scheduled and when the network and computer resources must be reserved. A persistent connection must be established since a fault may occur during the time that the electronic meeting is scheduled. The transport application, transport service, computer workstation(s) or network could stop and be restated many times during the interim. A transient fault should not impair a future connection so long as all resources are operational when data transfers are scheduled to begin. The invention stores all necessary state information for a connection in a non-volatile medium as described earlier and employs recovery logic to reinitiate communication should a problem occur. In addition to recovery, scheduling and notification must occur.
Below the transport and network layers are the link or MAC layers in the OSI and IEEE 802 reference models. Some MAC protocols, such as synchronous FDDI, provide guarantees for throughput, delay and delay variation to applications. Other MACs, such as the token ring and token bus have architected priority mechanisms which can support quality of service guarantees (throughput, delay, etc.) when the subject invention is employed.
The crux of priority assurance on a shared transmission medium, such as a ring or bus, is in communicating the state of the shared medium to any and all stations connected to the shared medium. One possible embodiment is to avoid the need for such communication of bandwidth management information, and simply partition the bandwidth among stations on the ring or bus: one station may, for example, have dedicated use of 1.2 megabits per second, and another may have 5 megabits per second: In this scheme, if a station is not using its maximum allowable bandwidth, no other station can. This potential disuse of available bandwidth is the drawback of the static, bandwidth partitioning approach.
If bandwidth is to be dynamically allocated and deallocated in such a way that if one station is not using the bandwidth, another station may attempt to reserve it, then some means is needed whereby each station can determine when to permit a new connection requiring a bandwidth allocation, and a means for letting other stations know about the allocation of shared medium bandwidth and the subsequent deallocation when the connection is terminated. The International Standards Organization's (ISO) Open Systems Interconnection (OSI) Model for Systems Management permits applications employing systems management facilities to define "Management Information Base", or MIB, objects which resemble static programming language variables or database elements. The MIB objects in the OSI model, and products based upon this model support operations such as SET, which sets the value of the MIB object, the GET operation retrieves the value of the MIB object and a third operation called THRESHOLD which results in a process being notified whenever a MIB object is SET and the resulting value exceeds the THRESHOLD value. Operations on a MIB object can be "atomic" meaning that one process may GET and SET the object as a single operation thereby serializing access to the object for the duration of the operations. Such serialization is needed when there are multiple stations that may concurrently attempt to update the object, and this is usually the case on shared media networks such as the token ring or token bus.
Priority assurance is a critical factor to assure QOS. Priority assurance is enabled by the operation of a component that can be implemented in hardware logic or software. The component regulates access to the priority queue or transmit channel that is attached to the shared medium local area network section. All access to the priority queue or transmit channel must pass through this component, thus subjecting all communication transactions to rejection or tracking by the component.
The component offers at least three functions to all users of the priority queue or transmit channel: Bandwidth allocation accepts a quality of service vector that includes throughput over some interval (e.g., bits per second), bandwidth deallocation accepts the QOS vector and release resources that have been allocated, and priority transmission in which a packet or frame that is identified as having a priority reservation is accepted and transmitted. In each of the three cases, the operation may fail for a number of standard reasons:
(a) If there is not enough bandwidth available on the shared medium, or if the station in question has reached its total allocation, then the bandwidth allocation request may fail;
(b) the bandwidth deallocation request may fail if the request attempts to exceed the total amount that has been reserved, or is otherwise erroneous; and
(c) the transmit may fail if the sender's rate of sending packets (frames) is greater than the rate negotiated during the bandwidth allocation request, or the packet (frame) size exceeds an allowable maximum.
Among the key features of the invention is a bandwidth Management Information Base (MIB). The MIB contains throughput and delay objects that are read (GET) or written to (SET) by one or more stations. The delay MIB object is based on the number of stations on the ring currently sending priority frames (determined statically through configuration or dynamically using a systems management MIB object called current-- number-- of-- priority-- stations), and a MIB object named maximum-- frame-- size.
The station's bandwidth manager component initializes a routing control (RC) field of Medium Access Control (MAC) frames to maximum-- frame-- size. Since this field is employed by other components, such as bridges, to constrain the maximum frame size, the bandwidth manager will only change the AC to a lower value, as opposed to a higher value, prior to passing a frame to a MAC application. Upon receiving a frame, zero priority or non-zero priority, the bandwidth manager checks to see if its length exceeds maximum-- frame-- size. If it does, the bandwidth manager interrogates another MIB object correction-- mode; if correction-- mode is set to one, the frame will be rejected, the sending process notified, and the MIB object maximum-- frame-- size-- exceeded is incremented by one; if correction-- mode is not set to one, then the frame will be transmitted normally after maximum-- frame-- size-- exceeded is incremented. The user may optionally apply a threshold value to any counter, such as the maximum-- frame-- size-- exceeded counter, and be notified when the counter exceeds a threshold value.
The bandwidth manager also inspects the priority field (AC in the Token Ring) of the frame and if it is high-priority (greater than zero in the Token Ring case), then the bandwidth manager verifies the sender is within its negotiated rate. There may be multiple senders in the same workstation sending frames out of the same network device to the same shared transmission media. Thus, the bandwidth manager keeps MIB objects for each such application (e.g., NetBIOS, TCP/IP, IPX/SPX), and ensures that each application stays within its negotiated rate and does not send beyond its rate and thereby potentially degrade the performance of other applications in the workstation or in some other workstation on the shared medium (e.g., Token Ring).
An application increases its bandwidth allotment via a bandwidth manager command allocate-bandwidth which, when successful, results in that application's rate increasing by the requested amount, averaged or maximum over a negotiated time interval. An application is able to decrease its bandwidth allotment using the bandwidth manager command, deallocate-bandwidth, which results in the application's rate being decreased by the released amount. An embodiment of the bandwidth manager's bandwidth allocator component (i.e., subnetwork bandwidth management component) can be as simple as a preconfigured value that is set prior to the station's insertion on the LAN and unchanging. More powerful tools such as OSI systems management can be used by the bandwidth allocator so that no special configuration of reserved bandwidth is needed, and a station's bandwidth can be dynamically increased using SET and GET operations and OSI systems management protocol, called Common Management Information Protocol (CMIP).
As discussed above, FIG. 2 illustrates several workstations connected to a shared transmission media, which in this figure is a ring such as the IBM or IEEE 802.5 Token Ring. Each station must obey an access protocol to ensure orderly transmission and reception of medium access control (MAC) frames.
FIG. 3 illustrates the fields of the Token Ring frame. The AC field 300 is the access control where a workstation may set a value in the passing frame in order to reserve the token when it is released by the sending station after its frame traverses the ring exactly once. Access priority is not the same as message priority within a node. The priority of a token or frame is indicated in the first three bits of the access control field. Any reservation for a different priority is indicated in the last three bits of the same field. A ring station uses the reservation bits to request that a token originated on the ring be at the requested priority.
A ring station can transmit a frame at a given priority using any available token with a priority less than or equal to that of the frame. If an appropriate token is not available, the ring station may reserve a token of the required priority in a passing token or frame as follows:
if another ring station has reserved an equal or higher priority, then the ring station cannot make a reservation in the frame or token.
if the reservation bits have not been set, or if they have been set to a lower priority than that required by the ring station, it sets the reservation bits to its required priority.
The starting delimiter (SD) 302 is a single byte indicative of the starting delimiter of the transmitted communication buffer. All valid frames and tokens start with this byte. FC 304 is the frame control field, ED 340 is the ending delimiter, and FS 350 is the frame status field. The destination address 310 is the address for delivery of the communication buffer. The source address 320 is the originating address of the communication buffer. The information field 326 is included for optional delivery information or other communication information. The frame check sequence 326 covers the frame control field, the destination and source addresses, the optional routing information field, the information field and the frame check sequence.
FIGS. 4A-D illustrates the reservation process on a Token Ring in accordance with the subject invention. A station may reserve a future token at a certain priority, and the token priority can be increased and reset to its original value. Moreover, the use of priority by individual stations for transmitting frames is unconstrained. If all stations transmitted all frames at a given priority, there would be no change in the functioning of the ring. And if access to priority transmission is not regulated, there will be no way to guarantee a certain throughput rate, nor bound the amount of time it will take for a station having a priority frame to gain access to the ring.
FIG. 5 is a block diagram of OSI system management. Management of bandwidth on a shared transmission medium, such as the IBM Token Ring, can be considered as a systems management function. The layer of interest is OSI layer 2 500, called the "Link Layer" in OSI parlance and the MAC, or medium access control layer by the IEEE. The Management Information Base of interest includes a throughput object for each user of the MAC, this object's name is "negotiated-- rate" and a second throughput object for each MAC user called "actual-- rate". Similarly, there is a time interval object called time-- interval, and there is a last time the clock was read for each application called last-- time. Access to the system clock is also assumed, though the system clock is not part of the MIB. Other objects that can be included in the MIB are correction-- mode, maximum-- priority-- frame-- size, maximum-- frame-- size as well as rate-- exceeded, and frame-- size-- exceeded counters.
FIG. 6 illustrates a MIB 600 and the agents which act upon it. A bandwidth allocation services, such as NetBIOS or TCP/IP might employ bandwidth allocation services. These operations include capability to read (GET) and update (SET) the bandwidth management MIB objects. These objects are implemented through a systems management product, such as Simple Network Management Protocol or an OSI CMIP-based protocol.
FIG. 7 shows a typical component block diagram found in IBM OS/2 and DOS as well as Microsoft DOS/Windows workstations. The NDIS 700 interface is the Network Driver Interface Specification which is an industry-standard MAC interface. The "Vectoring" component 710 is interposed between the device driver and the protocol "stack" of the device: vectoring is the practice of permitting several products to run over a device which was only designed to support a single product.
The present invention utilizes the vectoring component (called "protman.os2" in OS/2 implementations) as a point through which all transmitted frames must pass en-route to the network device. This component can be used to set maximum frame sizes in the RC field of the MAC frame in the IEEE 802.5 embodiment, and this component inspects the length field of each transmitted frame to determine compliance with the previously-set maximum rate. All priority frames pass through this component, and they are recognizable in the Token Ring embodiment by the value of the AC field of the MAC frame.
FIG. 8 is a flow chart that specifies the logic of the "Vectoring and Bandwidth Management" component showed in FIG. 7. The component receives transmission frames as shown in input block 800, checks the length of all frames as depicted in decision block 810, increments a MIB object count when the length exceeds the maximum as shown in decision block 812 and output block 814, and optionally rejects the frame when the length exceeds the maximum-- frame-- size MIB object as shown in decision block 810. Also shown in the flow of FIG. 8, priority frames are metered to ensure that the sending application, a protocol product such as NetBIOS, is not incorrectly exceeding its negotiated rate of flow as shown in decision block 830. The "protocol-- id" field of NDIS is used for associating a particular MIB with a particular application. A simple metering algorithm is used to ensure that a particular application is within its negotiated rate, and this ensures that the QOS of other applications in the workstation or in other workstations on the ring will not be "robbed" of bandwidth by a poorly behaved or erroneous process. In the present embodiment, the negotiated rate is taken to be a maximum, but a negotiated-- average-- rate can also be used. In every case, the MIB objects of a particular application are undefined until that application registers with NDIS and obtains a protocol-- id. When this occurs, the MIB object counters are set to zero as is the throughput count as shown in function block 842.
Delay statistics are determined based on the maximum-- frame-- size MIB object (there may be maximum-- data-- frame-- size for non-priority traffic and maximum-- priority-- frame-- size for the priority traffic). Also configured or maintained dynamically is the data-- station-- count and priority-- station-- count which, together with the maximum frame sizes, can be employed to estimate worst case delay.
While the invention has been described in terms of a preferred embodiment in a specific system environment, those skilled in the art recognize that the invention can be practiced, with modification, in other and different hardware and software environments within the spirit and scope of the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4389720 *||Apr 23, 1981||Jun 21, 1983||Bell Telephone Laboratories, Incorporated||Distributed digital conferencing system|
|US4404557 *||Mar 5, 1982||Sep 13, 1983||Burroughs Corporation||Timed token ring with multiple priorities|
|US4587651 *||May 4, 1983||May 6, 1986||Cxc Corporation||Distributed variable bandwidth switch for voice, data, and image communications|
|US4747130 *||Dec 17, 1985||May 24, 1988||American Telephone And Telegraph Company, At&T Bell Laboratories||Resource allocation in distributed control systems|
|US4771391 *||Jul 21, 1986||Sep 13, 1988||International Business Machines Corporation||Adaptive packet length traffic control in a local area network|
|US4825434 *||Sep 10, 1987||Apr 25, 1989||Gte Laboratories Incorporated||Variable bandwidth control system|
|US4864562 *||Dec 17, 1987||Sep 5, 1989||Mitsubishi Denki Kabushiki Kaisha||Sub-rate multi-media data transmission control system|
|US4905231 *||May 3, 1988||Feb 27, 1990||American Telephone And Telegraph Company, At&T Bell Laboratories||Multi-media virtual circuit|
|US4914650 *||Dec 6, 1988||Apr 3, 1990||American Telephone And Telegraph Company||Bandwidth allocation and congestion control scheme for an integrated voice and data network|
|US4953159 *||Jan 3, 1989||Aug 28, 1990||American Telephone And Telegraph Company||Audiographics conferencing arrangement|
|US4980886 *||Nov 3, 1988||Dec 25, 1990||Sprint International Communications Corporation||Communication system utilizing dynamically slotted information|
|US4998248 *||May 25, 1989||Mar 5, 1991||Hitachi, Ltd.||Integrated services digital network (ISDN) system and multimedia data connection method in same system|
|US5008926 *||Jul 17, 1986||Apr 16, 1991||Efrat Future Technology Ltd.||Message management system|
|US5029164 *||Apr 13, 1990||Jul 2, 1991||Digital Equipment Corporation||Congestion avoidance in high-speed network carrying bursty traffic|
|US5031089 *||Dec 30, 1988||Jul 9, 1991||United States Of America As Represented By The Administrator, National Aeronautics And Space Administration||Dynamic resource allocation scheme for distributed heterogeneous computer systems|
|US5050161 *||Dec 4, 1989||Sep 17, 1991||Bell Communications Research, Inc.||Congestion management based on multiple framing strategy|
|US5115430 *||Sep 24, 1990||May 19, 1992||At&T Bell Laboratories||Fair access of multi-priority traffic to distributed-queue dual-bus networks|
|US5121383 *||Nov 16, 1990||Jun 9, 1992||Bell Communications Research, Inc.||Duration limited statistical multiplexing in packet networks|
|US5164938 *||Mar 28, 1991||Nov 17, 1992||Sprint International Communications Corp.||Bandwidth seizing in integrated services networks|
|US5193090 *||Jul 14, 1989||Mar 9, 1993||Janusz Filipiak||Access protection and priority control in distributed queueing|
|US5245605 *||Oct 4, 1991||Sep 14, 1993||International Business Machines Corporation||Integration of synchronous and asynchronous traffic on rings|
|1||"Token-Ring Newtork", Architecture Reference, IBM, Third Edition, Sep. 1989.|
|2||Aicardi et al. "Optimization of Capacity Allocation Among Users and Services in Integrated Networks", Communication, 1990 IEEE International Conf. 1990.|
|3||*||Aicardi et al. Optimization of Capacity Allocation Among Users and Services in Integrated Networks , Communication, 1990 IEEE International Conf. 1990.|
|4||Business Communications Review, Apr. 1992, "Can Fractional T3 Make it to the Marketplace?", pp. 45-50.|
|5||*||Business Communications Review, Apr. 1992, Can Fractional T3 Make it to the Marketplace , pp. 45 50.|
|6||IBM Technical Disclosure Bulletin, vol. 31, No. 11, Apr. 1989, p. 349, "Managing Serial Use Resources in a Distributed Data Processing System Using an Insertion Ring".|
|7||*||IBM Technical Disclosure Bulletin, vol. 31, No. 11, Apr. 1989, p. 349, Managing Serial Use Resources in a Distributed Data Processing System Using an Insertion Ring .|
|8||*||IBM Technical Disclosure Bulletin, vol. 34, No. 4B, Sep., 1991, pp. 416 417, Inter Client Resource Usage in Distributed Client Server Presentation Manager System .|
|9||IBM Technical Disclosure Bulletin, vol. 34, No. 4B, Sep., 1991, pp. 416-417, "Inter-Client Resource Usage in Distributed Client-Server Presentation Manager System".|
|10||*||ISO/IEC JTC 1/SC 21 N 3294, Jan., 1989; Project: JTC188.8.131.52 DP 10041: Information Processing Systems Open Systems Interconnection Systems Management Overview .|
|11||ISO/IEC JTC 1/SC 21 N 3294, Jan., 1989; Project: JTC184.108.40.206--"DP 10041: Information Processing Systems--Open Systems Interconnection--Systems Management Overview".|
|12||*||ISO/IEC JTC 1/SC 21 N 3312, Jan., 1989; Project: JTC1.21.28 Information Processing Systems Open Systems Interconnection Systems Management Fault Management Working Document .|
|13||ISO/IEC JTC 1/SC 21 N 3312, Jan., 1989; Project: JTC1.21.28--"Information Processing Systems--Open Systems Interconnection--Systems Management--Fault Management Working Document".|
|14||*||ISO/IEC JTC 1/SC 21 N 3324, Jan. 1989; Project: JTC1.21.28 Working Draft For Structure of Management Information Part 1: Management Information Model .|
|15||ISO/IEC JTC 1/SC 21 N 3324, Jan. 1989; Project: JTC1.21.28--"Working Draft For Structure of Management Information--Part 1: Management Information Model".|
|16||*||ISO/IEC JTC 1/SC 21/N 3313, Jan. 18, 1989; Project: JTC1.21.28 Information Processing Open System Interconnection Performance Management Working Document .|
|17||ISO/IEC JTC 1/SC 21/N 3313, Jan. 18, 1989; Project: JTC1.21.28--"Information Processing--Open System Interconnection--Performance Management Working Document".|
|18||*||ISO/IEC JTC 1/SC 21/N 3314, Dec. 1988; Project: 97.21.28 Information Processing Open Systems Interconnection Accounting Management Working Document .|
|19||ISO/IEC JTC 1/SC 21/N 3314, Dec. 1988; Project: 97.21.28--"Information Processing--Open Systems Interconnection Accounting Management Working Document".|
|20||*||ISO/IEC JTC 1/SC 21/WG4 N 3311, Jan. 16, 1989; Project: 97.21.28 Information Processing Open System Interconnection Working Draft of the Configuration Management Overview , Gordon S. Little, Editor.|
|21||ISO/IEC JTC 1/SC 21/WG4 N 3311, Jan. 16, 1989; Project: 97.21.28--"Information Processing--Open System Interconnection--Working Draft of the Configuration Management Overview", Gordon S. Little, Editor.|
|22||*||ISO/IEC JTC1/SC21 N 3302, Jan. 1989; Project: JTC1.21.28 Information Processing Systems Open Systems Interconnection Structure of Management Information Part 3: Definitions of Management Attributes .|
|23||ISO/IEC JTC1/SC21 N 3302, Jan. 1989; Project: JTC1.21.28--"Information Processing Systems--Open Systems Interconnection--Structure of Management Information--Part 3: Definitions of Management Attributes".|
|24||*||ISO/IEC/DIS 7498 4, Jan. 21, 1988; Information Processing Systems Open Systems Interconnection Basic Reference Model Part 4: Management Framework .|
|25||ISO/IEC/DIS 7498-4, Jan. 21, 1988; "Information Processing Systems--Open Systems Interconnection--Basic Reference Model--Part 4: Management Framework".|
|26||*||ISO/JTC1/SC21 N 3437, Feb. 10, 1989; Project: 97.21.14 Information Processing Open Systems Interconnection Management Information Services SMI Part 4: Guidelines for the Definition of Managed Objects .|
|27||ISO/JTC1/SC21 N 3437, Feb. 10, 1989; Project: 97.21.14--"Information Processing--Open Systems Interconnection--Management Information Services--SMI Part 4: Guidelines for the Definition of Managed Objects".|
|28||*||Token Ring Newtork , Architecture Reference, IBM, Third Edition, Sep. 1989.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US5754830 *||Apr 1, 1996||May 19, 1998||Openconnect Systems, Incorporated||Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation|
|US5787258 *||May 10, 1996||Jul 28, 1998||General Signal Corporation||Life safety system having a panel network with message priority|
|US5983274 *||May 8, 1997||Nov 9, 1999||Microsoft Corporation||Creation and use of control information associated with packetized network data by protocol drivers and device drivers|
|US5991302 *||Apr 10, 1997||Nov 23, 1999||Cisco Technology, Inc.||Technique for maintaining prioritization of data transferred among heterogeneous nodes of a computer network|
|US6014384 *||Oct 27, 1997||Jan 11, 2000||Ascom Tech Ag||Method for controlling data traffic in an ATM network|
|US6046985 *||Apr 9, 1997||Apr 4, 2000||International Business Machines Corporation||Communication system with exchange of capability information|
|US6050898 *||May 14, 1997||Apr 18, 2000||Vr-1, Inc.||Initiating and scaling massive concurrent data transaction|
|US6065062 *||Dec 10, 1997||May 16, 2000||Cisco Systems, Inc.||Backup peer pool for a routed computer network|
|US6115751 *||Apr 10, 1997||Sep 5, 2000||Cisco Technology, Inc.||Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network|
|US6128668 *||Nov 7, 1997||Oct 3, 2000||International Business Machines Corporation||Selective transformation of multimedia objects|
|US6154743 *||Jun 16, 1998||Nov 28, 2000||Cisco Technology, Inc.||Technique for accessing heterogeneous directory services in an APPN environment|
|US6163699 *||Sep 15, 1997||Dec 19, 2000||Ramot University Authority For Applied Research And Industrial Development Ltd.||Adaptive threshold scheme for tracking and paging mobile users|
|US6175554||Apr 28, 1998||Jan 16, 2001||Samsung Electronics Co., Ltd.||Asynchronous transfer mode (ATM) traffic control apparatus and control method for handling a wide variety of ATM services|
|US6185598||Feb 10, 1998||Feb 6, 2001||Digital Island, Inc.||Optimized network resource location|
|US6205415||Oct 30, 1998||Mar 20, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with file transfer|
|US6205416||Jan 14, 1999||Mar 20, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with direct OS/390 host interface|
|US6205417 *||Apr 27, 1999||Mar 20, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with direct As/400 host interface|
|US6205484 *||Jul 8, 1998||Mar 20, 2001||Telefonaktiebolaget Lm Ericsson||Controlling access to resources in a connectionless network using a ticket message containing reserved network resource allocation information|
|US6216101||Oct 30, 1998||Apr 10, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with client token authentication|
|US6229799 *||Sep 30, 1996||May 8, 2001||Canon Kabushiki Kaisha||Methods, devices and systems for sharing a transmission medium, and a transmission method, communication devices and communication systems implementing these|
|US6233541||Apr 29, 1998||May 15, 2001||Openconnect Systems Incorporated||Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation|
|US6233542||Oct 30, 1998||May 15, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with response time monitoring|
|US6233543||Oct 30, 1998||May 15, 2001||Openconnect Systems Incorporated||Server and terminal emulator for persistent connection to a legacy host system with printer emulation|
|US6304911 *||Jun 25, 1997||Oct 16, 2001||Advanced Micro Devices, Inc.||Information packet reception indicator for reducing the utilization of a host system processor unit|
|US6390922 *||Feb 23, 2000||May 21, 2002||Circadence Corporation||Initiating and scaling massive concurrent data transactions|
|US6405257||Aug 27, 1998||Jun 11, 2002||Verizon Laboratories Inc.||Method and system for burst congestion control in an internet protocol network|
|US6418196 *||Apr 5, 2000||Jul 9, 2002||Telefonaktiebolaget Lm Ericsson (Publ)||Method and system in telecommunications system|
|US6452935 *||Nov 25, 1998||Sep 17, 2002||Sony Corporation||Stream allocation in home networks|
|US6570849||Oct 15, 1999||May 27, 2003||Tropic Networks Inc.||TDM-quality voice over packet|
|US6604128 *||Oct 23, 2001||Aug 5, 2003||Siebel Systems, Inc.||Method and system for distributing objects over a network|
|US6654807||Dec 6, 2001||Nov 25, 2003||Cable & Wireless Internet Services, Inc.||Internet content delivery network|
|US6671724||Mar 21, 2000||Dec 30, 2003||Centrisoft Corporation||Software, systems and methods for managing a distributed network|
|US6742046 *||May 29, 1998||May 25, 2004||Canon Kabushiki Kaisha||Network system and terminal apparatus|
|US6791979||May 19, 2000||Sep 14, 2004||Cisco Technology, Inc.||Mechanism for conveying data prioritization information among heterogeneous nodes of a computer network|
|US6816503 *||Apr 20, 1999||Nov 9, 2004||Honda Giken Kogyo Kabushiki Kaisha||Network system having at least one data processor capable of transmitting at least one message more than other data processors|
|US6874032||Nov 15, 2001||Mar 29, 2005||Verizon Laboratories Inc.||Method and system for burst congestion control in an internet protocol network|
|US6907002 *||Dec 29, 2000||Jun 14, 2005||Nortel Networks Limited||Burst switching in a high capacity network|
|US7054935||Mar 13, 2002||May 30, 2006||Savvis Communications Corporation||Internet content delivery network|
|US7061917 *||Aug 27, 1999||Jun 13, 2006||Alcatel||Method for transporting data, a related data transmitting element and a data receiving element|
|US7072938||Mar 21, 2003||Jul 4, 2006||Siebel Systems, Inc.||Method and system for distributing objects over a network|
|US7088738||Oct 30, 2000||Aug 8, 2006||Lucent Technologies Inc.||Dynamic fragmentation of information|
|US7191273 *||Oct 11, 2004||Mar 13, 2007||Sonics, Inc.||Method and apparatus for scheduling a resource to meet quality-of-service restrictions|
|US7212551 *||Nov 13, 2001||May 1, 2007||Nortel Networks Limited||Time-coordination in a burst-switching network|
|US7222196 *||Dec 22, 2003||May 22, 2007||Nokia Corporation||Apparatus, and associated method, for facilitating communication of packet data in a packet radio communication system using interactions between mid-stack and upper-level layers|
|US7260635||Feb 18, 2003||Aug 21, 2007||Centrisoft Corporation||Software, systems and methods for managing a distributed network|
|US7325142 *||Dec 3, 2002||Jan 29, 2008||Nec Corporation||IP network and admission control method used therefor|
|US7373644||Oct 2, 2001||May 13, 2008||Level 3 Communications, Llc||Automated server replication|
|US7433943 *||Dec 20, 2001||Oct 7, 2008||Packeteer, Inc.||Volume-based network management scheme|
|US7571438 *||Jul 18, 2001||Aug 4, 2009||Microsoft Corporation||Method and system for resource management with independent real-time applications on a common set of machines|
|US7596088||Jan 24, 2006||Sep 29, 2009||Corrigent Systems Ltd.||Route selection with bandwidth sharing optimization over rings|
|US7606909 *||Feb 20, 2002||Oct 20, 2009||Michael Ely||Method and apparatus for a business contact center|
|US7665069||Oct 31, 2003||Feb 16, 2010||Sonics, Inc.||Method and apparatus for establishing a quality of service model|
|US7746778 *||Dec 12, 2006||Jun 29, 2010||Intel Corporation||Resource based data rate control|
|US7822871||Sep 30, 2002||Oct 26, 2010||Level 3 Communications, Llc||Configurable adaptive global traffic control and management|
|US7830795 *||May 13, 2009||Nov 9, 2010||Cisco Technology, Inc.||Method and apparatus for a self-correcting bandwidth request/grant protocol in a wireless communication system|
|US7860964||Oct 26, 2007||Dec 28, 2010||Level 3 Communications, Llc||Policy-based content delivery network selection|
|US7945693||Oct 31, 2007||May 17, 2011||Level 3 Communications, Llc||Controlling subscriber information rates in a content delivery network|
|US7949779||Oct 31, 2007||May 24, 2011||Level 3 Communications, Llc||Controlling subscriber information rates in a content delivery network|
|US7953888||Jul 30, 2003||May 31, 2011||Level 3 Communications, Llc||On-demand overlay routing for computer-based communication networks|
|US7974202||May 6, 2005||Jul 5, 2011||Corrigent Systems, Ltd.||Tunnel provisioning with link aggregation|
|US8027298||Dec 23, 2009||Sep 27, 2011||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8060613||Oct 31, 2007||Nov 15, 2011||Level 3 Communications, Llc||Resource invalidation in a content delivery network|
|US8107499 *||Jun 21, 2007||Jan 31, 2012||Cisco Technology, Inc.||Speed negotiation for multi-speed communication devices|
|US8189514||Jun 29, 2005||May 29, 2012||Wi-Lan, Inc.||Method and apparatus for allocating bandwidth in a wireless communication system|
|US8243663||May 13, 2008||Aug 14, 2012||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8249014||Aug 4, 2011||Aug 21, 2012||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8249051||May 13, 2008||Aug 21, 2012||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8281035||May 26, 2006||Oct 2, 2012||Level 3 Communications, Llc||Optimized network resource location|
|US8291046||May 30, 2007||Oct 16, 2012||Level 3 Communications, Llc||Shared content delivery infrastructure with rendezvous based on load balancing and network conditions|
|US8296396||Oct 31, 2007||Oct 23, 2012||Level 3 Communications, Llc||Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions|
|US8315640||Dec 23, 2009||Nov 20, 2012||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8427953||May 31, 2011||Apr 23, 2013||Corrigent Systems Ltd.||Tunnel provisioning with link aggregation and hashing|
|US8457061||Oct 11, 2011||Jun 4, 2013||Wi-Lan||Method and system for adaptively obtaining bandwidth allocation requests|
|US8457145||Jun 1, 2012||Jun 4, 2013||Wi-Lan, Inc.||Method and apparatus for bandwidth request/grant protocols in a wireless communication system|
|US8462723||Apr 18, 2011||Jun 11, 2013||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8462761||Oct 13, 2011||Jun 11, 2013||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8462809||Feb 12, 2009||Jun 11, 2013||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8462810||Feb 12, 2009||Jun 11, 2013||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8468245||May 30, 2007||Jun 18, 2013||Level 3 Communications, Llc||Delivering resources to clients in a distributed computing environment|
|US8473613||May 16, 2011||Jun 25, 2013||Level 3 Communications, Llc||Transparent redirection of resource requests|
|US8478903||Feb 23, 2005||Jul 2, 2013||Level 3 Communications, Llc||Shared content delivery infrastructure|
|US8490107||Aug 8, 2011||Jul 16, 2013||Arm Limited||Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels|
|US8504992||Feb 16, 2010||Aug 6, 2013||Sonics, Inc.||Method and apparatus for establishing a quality of service model|
|US8537682||May 26, 2011||Sep 17, 2013||Orckit-Corrigent Ltd.||Tunnel provisioning with link aggregation|
|US8543901||Nov 1, 1999||Sep 24, 2013||Level 3 Communications, Llc||Verification of content stored in a network|
|US8572208||May 30, 2007||Oct 29, 2013||Level 3 Communications, Llc||Shared content delivery infrastructure|
|US8572210||Oct 31, 2007||Oct 29, 2013||Level 3 Communications, Llc||Shared content delivery infrastructure and method of generating a web page|
|US8595478||Nov 19, 2007||Nov 26, 2013||AlterWAN Inc.||Wide area network with high quality of service|
|US8599697||May 30, 2011||Dec 3, 2013||Level 3 Communications, Llc||Overlay network|
|US8612649||Dec 17, 2010||Dec 17, 2013||At&T Intellectual Property I, L.P.||Validation of priority queue processing|
|US8615020||Oct 13, 2011||Dec 24, 2013||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8645517||Dec 24, 2010||Feb 4, 2014||Level 3 Communications, Llc||Policy-based content delivery network selection|
|US8654664||Apr 18, 2011||Feb 18, 2014||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8665898||Jan 28, 2010||Mar 4, 2014||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US8683076||May 30, 2007||Mar 25, 2014||Level 3 Communications, Llc||Method of generating a web page|
|US8787924||Oct 11, 2012||Jul 22, 2014||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8868397||Jan 12, 2007||Oct 21, 2014||Sonics, Inc.||Transaction co-validation across abstraction layers|
|US8903440||Sep 15, 2010||Dec 2, 2014||Qualcomm Incorporated||Distributed hierarchical scheduling in an ad hoc network|
|US8924466||Oct 30, 2007||Dec 30, 2014||Level 3 Communications, Llc||Server handoff in content delivery network|
|US8929905||Dec 23, 2013||Jan 6, 2015||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US8930538||Mar 21, 2009||Jan 6, 2015||Level 3 Communications, Llc||Handling long-tail content in a content delivery network (CDN)|
|US9015471||Sep 10, 2013||Apr 21, 2015||Alterwan, Inc.||Inter-autonomous networking involving multiple service providers|
|US9021112||Mar 18, 2008||Apr 28, 2015||Level 3 Communications, Llc||Content request routing and load balancing for content distribution networks|
|US9072101||Jun 26, 2012||Jun 30, 2015||Qualcomm Incorporated||High speed media access control and direct link protocol|
|US9087036||Aug 11, 2005||Jul 21, 2015||Sonics, Inc.||Methods and apparatuses for time annotated transaction level modeling|
|US9137087||Jun 18, 2013||Sep 15, 2015||Qualcomm Incorporated||High speed media access control|
|US9167036||Feb 14, 2002||Oct 20, 2015||Level 3 Communications, Llc||Managed object replication and delivery|
|US9198194||Apr 5, 2012||Nov 24, 2015||Qualcomm Incorporated||Scheduling with reverse direction grant in wireless communication systems|
|US9203636||Oct 31, 2007||Dec 1, 2015||Level 3 Communications, Llc||Distributing requests across multiple content delivery networks based on subscriber policy|
|US9226308||Oct 9, 2012||Dec 29, 2015||Qualcomm Incorporated||Method, apparatus, and system for medium access control|
|US9338227||Mar 14, 2008||May 10, 2016||Level 3 Communications, Llc||Automated management of content servers based on change in demand|
|US9351300||May 23, 2013||May 24, 2016||Wi-Lan, Inc.||Method and apparatus for bandwidth request/grant protocols in a wireless communication system|
|US9402250||Jun 12, 2015||Jul 26, 2016||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9414368||Oct 24, 2014||Aug 9, 2016||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9420573||Oct 24, 2014||Aug 16, 2016||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9420574||Jun 12, 2015||Aug 16, 2016||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9497743||Jun 12, 2015||Nov 15, 2016||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9525620||Feb 2, 2015||Dec 20, 2016||Alterwan, Inc.||Private tunnel usage to create wide area network backbone over the internet|
|US9590899||Aug 25, 2015||Mar 7, 2017||Orckit Ip, Llc||Tunnel provisioning with link aggregation|
|US9591639||May 23, 2013||Mar 7, 2017||Wi-Lan, Inc.||Method and apparatus for bandwidth request/grant protocols in a wireless communication system|
|US9603129||Jan 31, 2014||Mar 21, 2017||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9603145||May 20, 2016||Mar 21, 2017||Wi-Lan, Inc.||Method and apparatus for bandwidth request/grant protocols in a wireless communication system|
|US9648600||Jun 12, 2015||May 9, 2017||Wi-Lan, Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US9667534||Feb 4, 2015||May 30, 2017||Alterwan, Inc.||VPN usage to create wide area network backbone over the internet|
|US9749228||Jan 26, 2017||Aug 29, 2017||Orckit Ip, Llc||Tunnel provisioning with link aggregation|
|US9762692||Sep 13, 2010||Sep 12, 2017||Level 3 Communications, Llc||Handling long-tail content in a content delivery network (CDN)|
|US9814026||Jul 22, 2014||Nov 7, 2017||Wi-Lan Inc.||Methods and systems for transmission of multiple modulated signals over wireless networks|
|US20020007389 *||Jul 18, 2001||Jan 17, 2002||Microsoft Corporation||Method and system for resource management with independent real-time applications on a common set of machines|
|US20020085491 *||Dec 29, 2000||Jul 4, 2002||Notrel Networks Limited||Burst switching in a high capacity network|
|US20030135600 *||Dec 3, 2002||Jul 17, 2003||Nec Corporation||IP network and admission control method used therefor|
|US20030187921 *||Mar 21, 2003||Oct 2, 2003||Siebel Systems, Inc.||Method and system for distributing objects over a network|
|US20040153545 *||Feb 18, 2003||Aug 5, 2004||Pandya Suketu J.||Software, systems and methods for managing a distributed network|
|US20050086404 *||Oct 11, 2004||Apr 21, 2005||Wolf-Dietrich Weber||Method and apparatus for scheduling a resource to meet quality-of-service restrictions|
|US20050096970 *||Oct 31, 2003||May 5, 2005||Wolf-Dietrich Weber||Method and apparatus for establishing a quality of service model|
|US20050147123 *||Dec 22, 2003||Jul 7, 2005||Sarvesh Asthana||Apparatus, and associated method, for facilitating communication of packet data in a packet radio communication system|
|US20050198334 *||Feb 23, 2005||Sep 8, 2005||Farber David A.||Optimized network resource location|
|US20060002336 *||Jun 29, 2005||Jan 5, 2006||Stanwood Kenneth L||Method and apparatus for allocating bandwidth in a wireless communication system|
|US20060251074 *||May 6, 2005||Nov 9, 2006||Corrigent Systems Ltd.||Tunnel provisioning with link aggregation|
|US20070171832 *||Jan 24, 2006||Jul 26, 2007||Corrigent Systems Ltd.||Route selection with bandwidth sharing optimization over rings|
|US20070174463 *||Mar 8, 2007||Jul 26, 2007||Level 3 Communications, Llc||Managed object replication and delivery|
|US20070233705 *||May 30, 2007||Oct 4, 2007||Level 3 Communications, Llc||Method of generating a web page|
|US20070233706 *||May 30, 2007||Oct 4, 2007||Level 3 Communications, Llc||Shared content delivery infrastructure with rendezvous based on load balancing and network conditions|
|US20070233846 *||May 30, 2007||Oct 4, 2007||Level 3 Communications, Llc||Delivering resources to clients in a distributed computing environment|
|US20070233884 *||May 30, 2007||Oct 4, 2007||Level 3 Communications, Llc||Shared content delivery infrastructure|
|US20070268821 *||May 17, 2006||Nov 22, 2007||Corrigent Systems, Ltd.||Rpr representation in ospf-te|
|US20080104268 *||Oct 31, 2007||May 1, 2008||Level 3 Communications, Llc||Controlling Subscriber information rates in a content delivery network|
|US20080120085 *||Jan 12, 2007||May 22, 2008||Herve Jacques Alexanian||Transaction co-validation across abstraction layers|
|US20080137534 *||Dec 12, 2006||Jun 12, 2008||Murali Chilukoor||Resource based data rate control|
|US20080140800 *||Oct 31, 2007||Jun 12, 2008||Level 3 Communications, Llc||Shared content delivery infrastructure & method of generating a web page|
|US20080215735 *||Oct 31, 2007||Sep 4, 2008||Level 3 Communications, Llc||Resource invalidation in a content delivery network|
|US20080219254 *||Nov 19, 2007||Sep 11, 2008||Alterwan, Inc.||Wide area network using internet with high quality of service|
|US20080232342 *||May 13, 2008||Sep 25, 2008||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US20080317069 *||Jun 21, 2007||Dec 25, 2008||Cisco Technology, Inc.||Speed negotiation for multi-speed communication devices|
|US20090041589 *||Mar 8, 2006||Feb 12, 2009||Knorr-Bremse Systeme Fur Schienenfahrzeuge Gmbh||Oil-Injected Compressor with a Temperature Switch|
|US20090168802 *||Feb 12, 2009||Jul 2, 2009||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US20090175235 *||Feb 12, 2009||Jul 9, 2009||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US20090207795 *||Feb 12, 2009||Aug 20, 2009||Wi-Lan, Inc.||Method and system for adaptively obtaining bandwidth allocation requests|
|US20090219879 *||Mar 31, 2009||Sep 3, 2009||Wi-Lan, Inc.||Method and apparatus for bandwidth request/grant protocols in a wireless communication system|
|US20090225776 *||May 13, 2009||Sep 10, 2009||Ofer Zimmerman||Method and apparatus for a self-correcting bandwidth request/grant protocol in a wireless communication system|
|US20100150093 *||Dec 23, 2009||Jun 17, 2010||Wi-Lan, Inc.||Methods and Systems for Transmission of Multiple Modulated Signals Over Wireless Networks|
|US20100150094 *||Dec 23, 2009||Jun 17, 2010||Wi-Lan, Inc.||Methods and Systems for Transmission of Multiple Modulated Signals Over Wireless Networks|
|US20100157928 *||Jan 28, 2010||Jun 24, 2010||Wi-Lan, Inc.||Method and System For Adaptively Obtaining Bandwidth Allocation Requests|
|US20100211935 *||Feb 16, 2010||Aug 19, 2010||Sonics, Inc.||Method and apparatus for establishing a quality of service model|
|US20110219120 *||May 16, 2011||Sep 8, 2011||Level 3 Communications, Llc||Transparent Redirection Of Resource Requests|
|US20110223952 *||Sep 15, 2010||Sep 15, 2011||Qualcomm Incorporated||Distributed hierarchical scheduling in an ad hoc network|
|US20130070715 *||Nov 15, 2012||Mar 21, 2013||Qualcomm Incorporated||Method and apparatus for an ad-hoc wireless communications system|
|EP1202508A1 *||May 14, 2001||May 2, 2002||Lucent Technologies Inc.||Dynamic fragmentation of information|
|EP1242884A1 *||Jun 14, 2000||Sep 25, 2002||Centricity, Inc.||Software, systems and methods for managing a distributed network|
|EP1242884A4 *||Jun 14, 2000||Jan 2, 2003||Centricity Inc||Software, systems and methods for managing a distributed network|
|WO1997037303A1 *||Mar 28, 1997||Oct 9, 1997||Openconnect Systems Incorporated||Web/emulator server and web browser terminal emulator for persistent connection to a legacy host system operation|
|WO2000013093A1 *||Aug 27, 1999||Mar 9, 2000||Gte Laboratories Incorporated||Method and system for burst congestion control in an internet protocol network|
|WO2000031971A1 *||Nov 5, 1999||Jun 2, 2000||Sony Electronics, Inc.||Stream allocation|
|U.S. Classification||709/228, 370/455, 709/224, 370/229|
|International Classification||H04L29/06, G06F13/00, H04L12/433, H04L29/08, H04L12/56|
|Cooperative Classification||H04L69/326, H04L69/24, H04L47/36, H04L2012/5645, H04L12/433, H04L2012/5636, H04L2012/5632, H04L47/10, H04L47/13, H04L29/06, H04L47/20|
|European Classification||H04L47/20, H04L47/13, H04L47/10, H04L47/36, H04L12/433, H04L29/06|
|Sep 18, 2000||FPAY||Fee payment|
Year of fee payment: 4
|Dec 15, 2004||REMI||Maintenance fee reminder mailed|
|Jan 24, 2005||FPAY||Fee payment|
Year of fee payment: 8
|Jan 24, 2005||SULP||Surcharge for late payment|
Year of fee payment: 7
|Dec 1, 2008||REMI||Maintenance fee reminder mailed|
|May 27, 2009||LAPS||Lapse for failure to pay maintenance fees|
|Jul 14, 2009||FP||Expired due to failure to pay maintenance fee|
Effective date: 20090527