US5619647A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait
Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-09-30
•
Granted: 1997-04-08
•
Expires: 2014-09-30
Abstract
Abstract A system providing a multiple number of virtual channels in a computer system having a smaller number of physical channels. Multiple queues are provided that are mapped to channels. The mapping of the queues to the channels changes depending on the message traffic and priority of the queues. Queues of lower priority are preempted if a higher priority queue needs a channel.
Inventors
- 👤 Robert L. Jardine
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 14:46
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; H; H04; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L2012/5603; H04L2012/5609; H04L2012/5612; H04L2012/5614; H04L2012/5615; H04L2012/5616; H04L2012/5638; H04L2012/5646; H04L2012/5651
Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
362 words
A method for implementing virtual channels in a computer system, wherein the computer system includes a fixed number, m, of physical channels for transferring data with other computer systems, wherein the computer system further includes one or more programs executing in the computer system that send data over the physical channels, the method comprising the following steps executed by the processor, of: accepting transmission requests from the programs to send data over n virtual channels, where n is greater than m; for each transmission request, mapping dynamically said n virtual channels onto said m physical channels, wherein said step of mapping dynamically includes the sub-steps of: determining whether a specified one of said n virtual channels is currently mapped to one of said m physical channels; mapping said specified one of said n virtual channels to one of said m physical channels when said specified one of said n virtual channels is not currently so mapped; and sending data over one of said m physical channels via said specified one of said n virtual channels mapped thereto; assigning a priority ordering to each of said n virtual channels; wherein a physical channel is busy when it is mapped to a virtual channel and said physical channel is being used to send a transmission, said transmission comprising data; and wherein, when all m physical channels are busy, said step of mapping said specified one of said n virtual channels further includes the sub-steps of: comparing a priority of said specified one of said n virtual channels with a priority of each currently mapped virtual channel; if said specified one of said n virtual channels has a lower priority than each currently mapped virtual channel, then waiting until one of said m physical channels is no longer busy before mapping said specified virtual channel to one of said m physical channels instead; and if said specified channel has a higher priority than one or more of said currently mapped virtual channels, then preempting use of a physical channel by a lower-priority currently mapped virtual channel by interrupting a transmission on said physical channel and mapping said specified virtual channel to said physical channel instead.
Claim 2
Independent Claim
362 words
A method for implementing virtual channels in a computer system, wherein the computer system includes a fixed number, m, of physical channels for transferring data with other computer systems, wherein the computer system further includes one or more programs executing in the computer system that send data over the physical channels, the method comprising the following steps executed by the processor, of: accepting transmission requests from the programs to send data over n virtual channels, where n is greater than m; for each transmission request, mapping dynamically said n virtual channels onto said m physical channels, wherein said step of mapping dynamically includes the sub-steps of: determining whether a specified one of said n virtual channels is currently mapped to one of said m physical channels; mapping said specified one of said n virtual channels to one of said m physical channels when said specified one of said n virtual channels is not currently so mapped; and sending data over one of said m physical channels via said specified one of said n virtual channels mapped thereto; assigning a priority ordering to each of said n virtual channels; wherein a physical channel is busy when it is mapped to a virtual channel and said physical channel is being used to send a transmission, said transmission comprising data; and wherein, when all m physical channels are busy, said step of mapping said specified one of said n virtual channels further includes the sub-steps of: comparing a priority of said specified one of said n virtual channels with a priority of each currently mapped virtual channel; if said specified one of said n virtual channels has a lower priority than each currently mapped virtual channel, then waiting until one of said m physical channels is no longer busy before mapping said specified virtual channel to one of said m physical channels instead; and if said specified channel has a higher priority than one or more of said currently mapped virtual channels, then preempting use of a physical channel by a lower-priority currently mapped virtual channel by interrupting a transmission on said physical channel and mapping said specified virtual channel to said physical channel instead.
Claim 3
Dependent Claim
74 words
The method of claim 1, wherein transmitting data over a physical channel includes a process of packet switching; wherein each transmission includes data arranged in a plurality of data packets; and wherein said step of preempting use of said physical channel by said lower-priority currently mapped virtual channel includes a sub-step of waiting until a current data packet is transmitted over said lower-priority mapped virtual channel before preempting a transmission over said lower-priority channel.
Claim 4
Dependent Claim
78 words
The method of claim 1, wherein said step of preempting use of said physical channel by said lower-priority currently mapped virtual channel includes the substeps of: determining whether a transmission over said lower-priority currently mapped virtual channel is near completion; determining whether said transmission is making progress; and if said transmission is near completion and making progress, then waiting until said transmission is complete before preempting use of said physical channel by said lower-priority currently mapped virtual channel.
Claim 5
Dependent Claim
33 words
The method of claim 3, further comprising the steps of: if said transmission is not near completion, then interrupting said transmission; and if said transmission is not making progress, then interrupting said transmission.
Claim 6
Dependent Claim
50 words
The method of claim 3, wherein said step of determining whether said transmission over said lower-priority currently mapped virtual channel is making progress includes a sub-step of checking the amount of data in said transmission remaining to be sent, wherein said sub-step of checking is performed once every 10 milliseconds.
Claim 7
Dependent Claim
46 words
The method of claim 3, wherein said step of determining whether said transmission over said lower-priority currently mapped virtual channel is near completion includes a sub-step of determining whether the amount of data in said transmission remaining to be sent is less than a predetermined threshold.
References Cited (Backward Citations)
US3421150A
Cited
US3587060A
Cited
US3985962A
Cited
US3825902A
Cited
US4001784A
Cited
US4340776A
Cited
US4819229A
Cited
US4771418A
Cited
US4744077A
Cited
US4866703A
Cited
US4991169A
Cited
US5184348A
Cited
US5132966A
Cited
US5115430A
Cited
US5444703A
Cited
US5247675A
Cited
US5278828A
Cited
US5463629A
Cited
US5343473A
Cited
US5483530A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-04-07 | 2000-10-07 | 2001-04-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-04-07 | 2004-10-07 | 2005-04-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-04-07 | 2008-10-07 | 2009-04-08 | $7700.00 | Window Closed / Lapsed |