Parameterized quality of service in a network
Abstract
A method for managing data transmission comprising making a bandwidth on a network resource available to at least one requestor for transmitting or receiving data according to a first request of a first type, the first type have a prescribed quality of service guarantee; transmitting first data in accordance with the first type to or from the at least one requestor on the network resource using a first portion of the bandwidth, if the first data are available to be transferred to or from the at least one requestor; transmitting second data according to a second request of a second type on the network resource to or from the at least one requestor or a second requestor, the second data transmitted without a quality of service guarantee using a second portion of the bandwidth, if the first portion of the prescribed bandwidth is less than the entire bandwidth.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for managing data transmission, comprising the steps of:
(a) making a prescribed bandwidth on a network resource available to at least one requestor for transmitting or receiving data according to a first request of a first request type, the first request type have a prescribed quality of service guarantee; (b) transmitting first data in accordance with the first request to or from the at least one requestor on the network resource, such transmission using a first portion of the prescribed bandwidth, if the first data are available to be transferred to or from the at least one requestor; (c) transmitting second data according to a second request of a second request type on the network resource to or from the at least one requestor or a second requestor, the second data transmitted without a quality of service guarantee, the transmission using a second portion of the prescribed bandwidth, if the first portion of the prescribed bandwidth is less than the entire prescribed bandwidth.
2 . The method of claim 1 , wherein:
the prescribed bandwidth is less than an entire bandwidth of the network resource; and the method further comprises transmitting the second data on the network resource to or from the at least one requestor or the second requestor in accordance with the second request, the second data transmitted without a quality of service guarantee using a remaining portion of the entire bandwidth of the network resource, if the prescribed bandwidth is not sufficient to transmit both the first data and the second data.
3 . The method of claim 2 , wherein the prescribed bandwidth includes from about 60% to about 80% of the entire bandwidth of the network resource.
4 . The method of claim 1 , wherein:
during step (b), the at least one requestor transmits or receives a variable bit rate data flow subject to a peak bandwidth on the network resource; and the second portion of the prescribed bandwidth includes an unused portion of the peak bandwidth of the first requestor.
5 . The method of claim 1 , wherein:
the at least one requestor includes a plurality of requestors transmitting or receiving variable bit rate data flows; and each request of the first request type has a respective peak bandwidth on the network resource; and the second portion of the prescribed bandwidth includes unused portions of the respective peak bandwidth of one or more of the requests of the first request type.
6 . The method of claim 5 , wherein:
a first requestor requests transmission of an amount of data exceeding the peak bandwidth of the first request during a transmission cycle; and a second requestor has an amount of data available for transmission that is less than the peak bandwidth of the second request during the same transmission cycle, and the first data transmitting step includes transmitting the amount of data exceeding the peak bandwidth of the first request during the transmission cycle on behalf of the first requestor.
7 . The method of claim 1 , further comprising:
assigning time slots within a cycle having a predetermined cycle duration to one or more of the group consisting of requests of the first request type and requests of the second request type, such that any request of the first request type, for which respective first data are available to be transferred, is assigned at least one of the time slots within the cycle; and assigning a time slot corresponding to any request of the first request type, for which respective first data are not available to be transferred, to at least one request of the second type within the cycle, wherein the first data transmitting step and second data transmitting step transmit data to or from each of the requestors that submits a request of the first and second request types to which at least one time slot in the cycle is assigned.
8 . The method of claim 7 , wherein each request of the first request type has a respective peak number of time slots per cycle, and the time slot assigning step includes assigning to each respective request of the first request type the respective peak number of time slots corresponding to that request, if data corresponding to that request are available for transfer within the cycle.
9 . The method of claim 7 , further comprising assigning any remaining time slots within the cycle to the at least one request of the second request type.
10 . The method of claim 9 , wherein:
the at least one request of the second request type includes a plurality of requests of the second request type, each request of the second request type has a respective priority, and any time slot within the cycle that is not assigned to a request of the first request type is assigned to a request of the second request type having the highest priority among the plurality of requests of the second request type with data available to be transmitted during the cycle.
11 . The method of claim 10 , wherein the priorities of the plurality of requests of the second type include:
a first priority level assigned to control traffic flows; a second priority level assigned to asynchronous streaming data flows; and a third priority level assigned to asynchronous data other than streaming data flows.
12 . The method of claim 1 , wherein the requestor that submits a request of the first request type transmits or receives a variable bit rate data flow, and the requestor that submits a request of the second request type transmits or receives an asynchronous data flow.
13 . The method of claim 1 , wherein the requestor that submits a request of the first request type transmits or receives a parameterized data flow, and the requestor that submits a request of the second request type transmits or receives a prioritized data flow.
14 . The method of claim 1 , wherein the first data transmission step and second data transmission step are performed over a coaxial network.
15 . A method of reporting a change in a network, comprising the steps of:
determining a change in a network; generating a first Layer 2 message in response to the change, the Layer 2 message indicating a change has occurred in the network; and transmitting the first Layer 2 message to a node connected to the network, wherein upon receiving the first Layer 2 message the node transmits a notification to an upper layer application.
16 . The method of claim 15 , wherein the step of determining a change in a coordinated network includes the steps of:
receiving a second Layer 2 message from one or more network nodes; comparing a value in the second Layer 2 message to a stored value; and determining that a network change has occurred, if the value in the second Layer 2 message does not equal the stored value.
17 . The method of claim 15 , wherein the change in the coordinated network is a loss of one of the network nodes.
18 . The method of claim 15 , wherein the change in the coordinated network is a decrease in a bandwidth of a resource in the network.
19 . The method of claim 15 , further including the step of:
receiving a second Layer 2 message in response to the first Layer 2 message, the second Layer 2 message requesting data concerning the first Layer 2 message.
20 . A method for managing data transmission in a shared network, comprising the steps of:
making a prescribed bandwidth on a shared network resource available to at least one requestor with a prescribed quality of service guarantee for a first time interval; transmitting data to or from the at least one requestor on the shared network resource during the first time interval; and releasing the shared network resource associated with the prescribed bandwidth at the expiration of the first time interval, if a request to make the prescribed bandwidth available for a second time interval is not received from the at least one requestor.
21 . The method of claim 20 , further including the step of:
continuing to make the prescribed bandwidth on the shared network resource available to the at least one requestor during the second time interval, if a request for a second time interval is received from the at least one requestor.
22 . The method of claim 21 , wherein the first time interval is different from the second time interval.
23 . The method of claim 22 , wherein the first time interval is approximately equal to the second time interval.
24 . The method of claim 21 , further comprising the step of:
releasing the network resource associated with the prescribed bandwidth, if a flow is not active for a predetermined third time interval.
25 . The method of claim 20 , wherein the shared network resource is a coaxial cable transmission network.
26 . The method of claim 20 , further comprising transmitting data to or from a second requestor on the shared network resource during the second time interval.
27 . A method of performing a network transaction at Layer 2 comprising the steps of:
receiving at a network coordinator a Layer 2 request to perform a network transaction from a first node; transmitting a first Layer 2 message from the network coordinator to at least one node connected to the network in response to the request; receiving, at the network coordinator, a response to the first Layer 2 message from at least one node connected to the network, the response including network resource allocation data; determining the capabilities of the network at the network coordinator based on the received response to the first Layer 2 message; and allocating network resources to perform the network transaction if the network coordinator determines there are sufficient network resources to perform the transaction.
28 . The method of claim 27 , wherein the first node transmits the request to perform a network transaction as a consequence of receiving a message from an upper-layer application.
29 . The method of claim 27 , wherein the first node transmits the request to perform a network transaction as a consequence of receiving a message from a second node.
30 . The method of claim 29 , wherein the second node is only connected to the first node through an upper layer application.
31 . The method of claim 29 , wherein the second node is bridged to the first node with a Layer-2 bridging technique.
32 . The method of claim 27 , wherein the determining step includes calculating the available bandwidth in the network.
33 . The method of claim 27 , wherein the determining step further includes calculating the amount of bandwidth required to perform the transaction.
34 . The method of claim 32 , wherein the total bandwidth on the network is divided into a first portion for data transmission having a quality of service guarantee and a second portion for data transmission without a quality of service guarantee.
35 . The method of claim 34 , wherein the first portion of bandwidth comprises about 60 to 80 percent of the total network bandwidth.
36 . The method of claim 34 , wherein the data transmitted on the second portion of the bandwidth includes at least one priority level.
37 . The method of claim 27 , wherein the allocating step includes transmitting a second message to at least one network node, the second message instructing the at least one node to allocate resources.
38 . The method of claim 27 , wherein the first node is any node connected to the network.
39 . The method of claim 27 , wherein the at least one node is an ingress node.
40 . The method of claim 39 , further comprising the step of:
determining the capabilities of the ingress node at the ingress node.
41 . The method of claim 27 , wherein the network transaction is creating a pQoS flow in the network, the method further comprising:
assigning the pQoS flow a unique flow identifier.
42 . The method of claim 41 , wherein the unique flow identifier is based in part on a destination address of the flow.
43 . The method of claim 42 , wherein the unique flow identifier is based in part on a priority value of the flow.
44 . A method comprising the steps of:
(a) providing a priority value and a destination Media Access Control (MAC) address of a network flow; (b) assigning an Organizationally Unique Identifier to a set of most significant bytes of a Flow Handle of a flow, the Flow Handle being in the form of a MAC address and used to identify a flow between a sending node and a receiving node at a network level; (c) assigning a number of the least significant bytes of a unicast IP address of the receiving node as the least significant bits of the Flow Handle; (d) creating a flow identifier at the network level by combining the priority value, the destination MAC address, and the Flow Handle; and (e) transmitting at least one network management message to a network node, wherein the network management message includes the Flow Handle.
45 . The method of claim 44 , further comprising the steps of:
(f) incrementing the Flow Handle by a predetermined value if the flow identifier is already used in the network; and (g) repeating step (f) until the flow identifier is unique in the network.
46 . A machine readable storage medium encoded with program code, wherein when the program code is executed by a processor, the processor performs a method comprising the steps of:
(a) making a prescribed bandwidth on a network resource available to at least one requestor for transmitting or receiving data according to a first request of a first request type, the first request type have a prescribed quality of service guarantee; (b) transmitting first data in accordance with the first request to or from the at least one requestor on the network resource, such transmission using a first portion of the prescribed bandwidth, if the first data are available to be transferred to or from the at least one requestor; (c) transmitting second data according to a second request of a second request type on the network resource to or from the at least one requestor or a second requestor, the second data transmitted without a quality of service guarantee, the transmission using a second portion of the prescribed bandwidth, if the first portion of the prescribed bandwidth is less than the entire prescribed bandwidth.
47 . The machine readable storage medium of claim 46 , wherein:
the prescribed bandwidth is less than an entire bandwidth of the network resource; and the method further comprises transmitting the second data on the network resource to or from the at least one requestor or the second requestor in accordance with the second request, the second data transmitted without a quality of service guarantee using a remaining portion of the entire bandwidth of the network resource, if the prescribed bandwidth is not sufficient to transmit both the first data and the second data.
48 . The machine readable storage medium of claim 47 , wherein the prescribed bandwidth includes from about 60% to about 80% of the entire bandwidth of the network resource.
49 . The machine readable storage medium of claim 46 , wherein:
during step (b), the at least one requestor transmits or receives a variable bit rate data flow subject to a peak bandwidth on the network resource; and the second portion of the prescribed bandwidth includes an unused portion of the peak bandwidth of the first requestor.
50 . A machine readable storage medium encoded with program code, wherein when the program code is executed by a processor, the processor performs a method comprising the steps of:
determining a change in a network; generating a first Layer 2 message in response to the change, the Layer 2 message indicating a change has occurred in the network; and transmitting the first Layer 2 message to a node connected to the network, wherein upon receiving the first Layer 2 message the node transmits a notification to an upper layer application.
51 . The machine readable storage medium of claim 50 , wherein the step of determining a change in a coordinated network includes the steps of:
receiving a second Layer 2 message from one or more network nodes; comparing a value in the second Layer 2 message to a stored value; and determining that a network change has occurred, if the value in the second Layer 2 message does not equal the stored value.
52 . The machine readable storage medium of claim 50 , wherein the change in the coordinated network is a loss of one of the network nodes.
53 . The machine readable storage medium of claim 50 , wherein the change in the coordinated network is a decrease in a bandwidth of a resource in the network.
54 . A machine readable storage medium encoded with program code, wherein when the program code is executed by a processor, the processor performs a method comprising the steps of:
making a prescribed bandwidth on a shared network resource available to at least one requestor with a prescribed quality of service guarantee for a first time interval; transmitting data to or from the at least one requestor on the shared network resource during the first time interval; and releasing the shared network resource associated with the prescribed bandwidth at the expiration of the first time interval, if a request to make the prescribed bandwidth available for a second time interval is not received from the at least one requestor.
55 . The machine readable storage medium of claim 54 , further comprising the step of:
continuing to make the prescribed bandwidth on the network resource available to the at least one requestor during the second time interval, if a request for a second time interval is received from the at least one requestor.
56 . The machine readable storage medium of claim 55 , wherein the first time interval is different from the second time interval.
57 . The machine readable storage medium of claim 55 further comprising the step of:
releasing the network resource associated with the prescribed bandwidth, if a flow is not active for a predetermined third time interval.
58 . A machine readable storage medium encoded with program code, wherein when the program code is executed by a processor, the processor performs a method comprising the steps of:
receiving at a network coordinator a Layer 2 request to perform a network transaction from a first node; transmitting a first Layer 2 message from the network coordinator to at least one node connected to the network in response to the request; receiving, at the network coordinator, a response to the first Layer 2 message from at least one node connected to the network, the response including network resource allocation data; determining the capabilities of the network at the network coordinator based on the received response to the first Layer 2 message; and allocating network resources to perform the network transaction if the network coordinator determines there are sufficient network resources to perform the transaction.
59 . The machine readable storage medium of claim 58 , wherein the first node transmits the request to perform a network transaction as a consequence of receiving a message from an upper-layer application.
60 . The machine readable storage medium of claim 58 , wherein the first node transmits the request to perform a network transaction as a consequence of receiving a message from a second node.
61 . The machine readable storage medium of claim 60 , wherein the second node is only connected to the first node through an upper layer application.
62 . A machine readable storage medium encoded with program code, wherein when the program code is executed by a processor, the processor performs a method comprising the steps of:
(a) providing a priority value and a destination Media Access Control (MAC) address of a network flow; (b) assigning an Organizationally Unique Identifier to a set of most significant bytes of a Flow Handle, the Flow Handle being in the form of a MAC address and used to identify a flow between a sending node and a receiving node at the network level; (c) assigning a number of the least significant bytes of a unicast IP address of the receiving node as the least significant bits of the Flow Handle; (d) creating a flow identifier at the network level by combining the priority value, the destination MAC address, and the Flow Handle; and (e) transmitting at least one network management message to a network node, wherein the network management message includes the Flow Handle.
63 . The machine readable storage medium of claim 62 , further comprising the steps of:
(f) incrementing the Flow Handle by a predetermined value if the flow identifier is already used in the network; and (g) repeating step (f) until the flow identifier is unique in the network.
64 . A system comprising:
a Network Coordinator node connected to a network, the Network Coordinator configured to make a prescribed bandwidth on a network resource available to at least one node for transmitting or receiving data according to a first request of a first request type, the first request type having a prescribed quality of service guarantee; the Network Coordinator being configured for connection to a first node via the network, such that the first node is configured to transmit or receive data in accordance with the first request, the transmission of data using a first portion of the prescribed bandwidth, if the first data are available to be transmitted to or from the first node, and the Network Coordinator is configured to make the network resource available to the first node to transfer or receive second data according to a second request of a second request type, the second data transmitted without a quality of service guarantee, the transmission of the second data using a second portion of the prescribed bandwidth, if the first portion of the prescribed bandwidth is less than the entire prescribed bandwidth.
65 . The system of claim 64 , wherein the prescribed bandwidth is from about 60% to about 80% of the entire bandwidth of the network resource.
66 . The system of claim 64 , wherein the first node is configured to transmit or receive a variable bit rate data flow.
67 . The system of claim 64 , wherein the Network Coordinator makes a prescribed bandwidth available to at least one node in response to receiving a Layer 2 message from a second network node, the second network node not transmitting or receiving the data.
68 . An apparatus comprising:
a first node including:
a physical interface for connection to a network, the physical interface configured to transmit and receive Layer 2 messages through the network, and
a Layer 2 interface configured to detect a change in the network,
wherein the first node is configured for generating and transmitting a Layer 2 message to a second node as a consequence of detecting a change in the network.
69 . The apparatus of claim 68 , wherein the first node is further configured to transmit a message to an upper layer application upon detecting a change in the network.
70 . A system comprising:
a Network Coordinator connected to a network, the Network Coordinator configured to make a prescribed bandwidth on a shared network resource available to at least one node with a prescribed quality of service guarantee for a first time interval; a first network node configured to transmit or receive data on the shared network resource during the first time interval; wherein the Network Coordinator is further configured to release the shared network resource associated with the prescribed bandwidth at the expiration of the first time interval, if a request to make the prescribed bandwidth available for a second time interval is not received from the first network node.
71 . The system of claim 70 , wherein the Network Coordinator is further configured to make the prescribed bandwidth on the shared network resource available to the first network node during the second time interval is received from the first network node.
72 . The system of claim 71 , wherein the first time interval is different from the second time interval.
73 . A system comprising:
one or more nodes connected to a network, the one or more nodes configured to transmit and receive messages through the network; and a Network Coordinator connected to the network, the Network Coordinator configured to determine the capabilities of the network including the capabilities of each of the one or more nodes in the network through Layer 2 messaging, the Network Coordinator further configured to allocate network resources to the one or more nodes to perform network transactions, if the Network Coordinator determines there are sufficient network resources through Layer 2 messaging.
74 . The system of claim 73 , wherein the Network Coordinator allocates resources for a data flow from a first network node to a second network node.
75 . The system of claim 74 , wherein the Network Coordinator allocates the resources for the data flow in response to receiving a Layer 2 message from a third network node.
76 . An apparatus comprising:
a physical interface for connection to a network, the physical interface configured to transmit and data flows through the network; and a Layer 2 interface configured to generate a flow identifier that is unique in the network, the flow identifier including a destination address of a destination node of the flow, a priority value of the flow, and a FlowHandle, wherein the FlowHandle is in the form of a Media Access Control address and is based in part on a unicast address of the destination node of the flow.
77 . The apparatus of claim 76 , wherein the Layer-2 interface is further configured to increment the FlowHandle by a predetermined value if the flow identifier is not unique in the network.Join the waitlist — get patent alerts
Track US2020099629A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.