![]() METHOD AND SYSTEM FOR ALLOCATION OF INPUT ROUTE BANDWIDTH SUPPORTING MULTIPLE TRAFFIC PRIORITIES IN
专利摘要:
method and system for allocating inbound route bandwidth supporting multiple traffic priorities in a satellite network. The present invention relates to a method for allocating inbound route bandwidth supporting multiple traffic priorities on a satellite network including generating a backlog report, transmitting the backlog report to a route group manager input, receiving a bandwidth allocation from the input route group manager, and serving priority queues and transmitting data to a satellite based on the input route group manager's bandwidth allocation. 公开号:BR102012030289B1 申请号:R102012030289-6 申请日:2012-11-28 公开日:2022-01-04 发明作者:Robert Torres;John Border;Pat Stevens;Jun Xu 申请人:Hughes Network Systems, Llc; IPC主号:
专利说明:
background [001] In the backward direction in a satellite network, multiple very small aperture terminals (VSATs) can share an inbound access circuit station with a certain amount of bandwidth when transmitting data. Since VSAT traffic has different priorities, and VSATs can have different service plans, different types of data traffic can be regulated differently to match quality of service (QoS) requirements. Additionally, due to limited bandwidth, an inbound route to the access loop station may be congested during certain periods of time. Without proper traffic regulation, low-priority traffic can block high-priority traffic, causing poor QoS. [002] Several things can be considered when allocating bandwidth for inbound route traffic. Bandwidth can be allocated based on actual demand for efficient spectrum usage. A VSAT can report its backlog to obtain bandwidth on a return channel for transmitting data. Some classes of traffic, for example interactive traffic, may need to be given higher priority than other traffic, such as sequencing and volume traffic, when granting bandwidth, but should not be able to completely block lower priority traffic. . Different VSATs may have different service plans. When the network is congested, a VSAT may experience degraded QoS, for example, reduced rate of service or higher latency. Fairness criteria may require that the reduced service fee be proportionate to the VSAT service plan. A VSAT may be able to fill the entire channel at a scheduled time in order to transmit large bursts. A large burst can have a relatively smaller percentage of overhead information. Brief Summary [003] It is an object of the present invention to provide a method and system for allocating input wheel bandwidth supporting multiple traffic priorities in a satellite network. [004] In accordance with one aspect of the present invention, a method for allocating bandwidth in route supporting multiple traffic priorities in a satellite network includes generating and reporting backlog, transmitting the backlog report to a data manager. inbound route group, receiving a bandwidth allocation from the inbound route group manager, and serving priority queues and transmitting data to a satellite based on the bandwidth allocation from the manager of inbound route group. [005] Additional objects, advantages and novelty features of the invention are set forth in part in the description which follows and in part will become apparent to those skilled in the art upon appreciation of the foregoing or may be learned by practice of the invention. The objects and advantages of the invention can be realized and obtained by means of the instruments and combinations particularly highlighted in the appended claims. Brief Summary of Drawings [006] Figure 1 shows an illustrative satellite communications system for allocating input route bandwidth; [007] Figure 2 presents an illustrative procedure for allocating input wheel bandwidth; [008] Figure 3 presents an illustrative procedure to calculate a backlog in a VSAT; [009] Figure 4 presents an illustrative procedure to calculate the bandwidth allocation; [0010] Figure 5 presents an illustrative procedure for allocating bandwidth in a priority level; and [0011] Figure 6 presents an illustrative procedure for allocating bandwidth at a VSAT level. Detailed Description [0012] Figure 1 presents an illustrative satellite communications system for allocating input route bandwidth. The satellite communications system may include a satellite earth station, or access circuit 101, a Very Small Aperture Terminal (VSAT) population 102, a satellite 103, the Internet 104, IP access circuits 105, and a terminal. RF 106. The satellite communication system may be a shared access network. [0013] Access circuit 101 may be connected to the VSATs in the VSAT population 102 via satellite 103. Access circuit 101 may be large-antenna, high-capacity earth stations with connectivity to terrestrial telecommunications infrastructure. Access circuit 101 may be connected to RF terminal (RFT) 106. RFT 106 may include an antenna, electronics and connectivity to allow communications access to satellite 103. RFT 106 may be the physical equipment responsible for sending and receiving signals to and from satellite 103, and may provide an air interface to access circuit 101. [0014] Access circuit 101 may include an Incoming Route Group Manager (IGM) 113. The IGM 113 may be a bandwidth controller running bandwidth allocation algorithms. The IGM 113 can assign bandwidth to the VSATs in the VSAT population 102 in the form of ingress route and ingress route groups, based in part on a request from the VSATs for bandwidth. [0015] Power connections 107 may carry data between the access circuit 101 and the satellite 103, and may include a forward uplink 108 for transmitting data from the access circuit 101 to the satellite 103, and a return downlink 109 for transmission data from satellite 103 to access circuit 101. User links 110 may carry data between satellite 103 and VSAT population 102, and may include return uplink 111 for transmitting data from a VSAT to satellite 103, and a forward downlink 112 for transmitting data from the satellite 103 to a VSAT. Forward uplink 108 and forward downlink 112 can form an outgoing route, and return uplink 111 and return downlink 109 can form an inbound route. An inbound route can be a carrier on a specified frequency divided into multiple partitions in which the IGM 113 can designate one, for Time Division Multiplexing, or several for Spread Code Division Multiplexing, VSATs for bandwidth utilization. unproblematic way. An ingress route group can be configured for ingress routes or similar physical layer characteristics in which IGM 113 balances the assignment of VSATs with requests for bandwidth. [0016] The population of VSAT 102 may include a number of VSATs or Mobile Satellite Terminals, which may be used by end users to access the satellite communications system. A VSAT may include a remote satellite antenna for receiving RF signals from and transmitting RF signals to satellite 103, a satellite modem and other equipment to manage the sending and receiving of data, and one or more remote hosts. which may be computer systems or other electronic devices capable of performing network communications at a location remote from the access circuit 101. For example, a VSAT may be used in a home or place of business to provide access to the Internet 104. [0017] Satellite 103 may be any communications satellite suitable for connecting hub 101 to remote hosts 116. For example, satellites 103 may have a simple bent-tube geostationary satellite design that can accommodate innovations and variations in parameters. transmission, operating in the Ka band. Satellite 103 can utilize local beams and frequency and polarization reuse to maximize total system capacity. Signals passing through satellite 103 in the forward direction, towards the VSATs, may be based on the DVB S.2 standard (ETSI EM 302 307) using signal constellations up to and including at least 16-APSK. The signals that must pass through satellite 103 in the return direction, in the direction of the hubs, can be based on the IPoS standard (ETSI TS 102 354). Other suitable signal types can also be used in either direction, including, for example, higher data rate variations than DVB S.2. [0018] Access circuit 101 may include IP105 access circuits. The IP access circuits 105 can be the input part of the local network in the access circuit 101. The data outside the access circuit 101 can enter the access circuit 101 through the IP access circuits 105. The IP access circuits 105 may include a spoofer, which may acknowledge TCP traffic sent to access circuit 101. Access circuit 101 may be connected to Internet 104 via IP access circuits 105. TCP traffic from Internet 104 may enter the access circuit 101 through IP access circuits 105. Remote terminals connected to VSATs in the VSAT population 102 can connect to the Internet 104 through satellite 103 and access circuit 101. [0019] Multiple IP access circuits 105 can be connected to one access circuit 101, sharing the bandwidth of the RFT 106. On each IP access circuit 105, real-time (RT) and non-real-time (NRT) traffic flows ) can be classified into different priorities. These traffic streams can be processed and multiplexed before being sent to priority queues on access circuit 101. RF traffic can go directly to the RT priority queue on access circuit 101, while NRT traffic streams can be served based on their priority and volume. Data can be additionally packaged into DVB-S2 code blocks and stored in a code block store before transmission. [0020] Data from the Internet 104 destined for a VSAT in the VSAT population 102 may be in the form of TCP packets, although the data may also be UDP packets or any other suitable IP packet, and may enter the access circuit 101 in a of the IP access circuits 105, where the spoofer can send the TCP acknowledgment back to the sender of the TCP packets. TCP packets may be processed and multiplexed by access circuit 101 along with TCP packets from other IP access circuits 105, where IP access circuits 105 may or may not have the same service capabilities and relative priorities. TCP packets can then be transmitted to satellite 103 on forward uplink 108 using the air interface provided by RFT 106. Satellite 103 can then transmit TCP packets to VSAT using forward downlink 112. This may be the route about to leave. Similarly, TCP packets can enter a VSAT inlet in the VSAT population 102, be processed by the VSAT 102, and transmitted to satellite 103 via the VSAT air interface on the return uplink 111. Satellite 103 can then send TCP packets to access circuit 101 using return downlink 109. This may be the inbound route. [0021] Figure 2 presents an illustrative procedure for allocating input route bandwidth. At block 201, a VSAT can calculate a backlog. A VSAT in the VSAT population 102 may calculate a backlog of data waiting to be transmitted to the access circuit 101. A separate backlog may be calculated for each data priority level. The backlog calculation can take both network layer and connection layer traffic information into account. The backlog can be calculated in bytes. The periods in which the backlog is calculated and reported, or reporting period, may vary. Long reporting periods can result in additional VSAT latency, while shorter reporting periods can result in additional overhead. Different VSATs in the VSAT 102 population may calculate backlog asynchronously, and may use different reporting periods. The backlog calculation can include aggregated data for each priority in both tier 2 (L2) and tier 3 (L3) queues. [0022] Figure 3 presents an illustrative procedure to calculate a backlog in a VSAT. There can be M classes of data arriving at the VSAT for transmission, and each of the M classes can have multiple streams. For example, TCP data can include four streams at different levels of priority, Conversational, Interactive, Sequencing, and Volume, with priorities of 1, 2, 3, and 4, respectively. In L2, there may be a queue with a limited size for each priority class. The data flow from L3 to L2 can be based on the occupation situation of the L2 store. If the store in L2 is less full than a threshold amount, data can be dequeued from L3 to L2, otherwise, data can be kept in L3. [0023] In L3, there can be three types of sources with an inbound traffic, for example, spoofed TCP flows, IP Connection Layer Trusted (IPLR) flows, and non-spoofed TCP flows and non-TCP data flows, and each stream can have data at different priority levels, such as, for example, the four TCP priority levels. IPLR may be a protocol for retransmitting IP protocol data units between a VSAT and an IP access circuit 105 upon packet loss detection and may be used for selected flows of transport protocols without a retransmission mechanism such as UDP and ICMP, where reliable packet delivery may be more important than latency. Data in a spoofed TCP stream can be placed on a TCP spoofing queue before being multiplexed into the Performance Improvement Proxy Framework Protocol (PBP) queue. The TCP spoofing queue can be part of a TCP spoofing core (TSK), which can be a Transport Layer Performance Improvement Proxy (PEP) as defined by IETF RFC3135. The TCP spoofing queue can be a queue in which data for a TCP stream that is in the process of having its performance improved can be queued before transmission through PBP. PBP can be a protocol between a VSAT and the IP access circuit 105 that can reliably distribute multiplexed packets from one or more TCP spoofing queues on the TSK that require the same class of service. There can be multiple TCP streams for a single priority. The spoofed TCP flow can be the only flow with an individual queue. IPLR data and non-spoofed sources can be multiplexed directly into L3. Each traffic type can include three priority classes. Traffic of different types and from different sources can be multiplexed into L2 priority queues before transmission. [0024] In block 301, the volume of data in the L3 queues can be calculated. Ni can be the number of flows in class i, i = 1,...,M, qij can be the length of the TCP spoofing queue for class i and flow j, i= 1,...,M, j = 1,...,Ni. where k =1, can represent spoofed traffic. can be the aggregated IPLR queue length and unspoofed traffic, respectively, i = 1,...,M. Unspoofed and IPLR traffic can be multiplexed across PBP queues, and for each priority. QPBP,i can be the PBP queue size for priorityi. For each priority class i, i = 1,...,M, the volume of data, in bits or bytes, in L3 can be calculated according to: [0025] The total data volume in the L3 queues can be calculated according to: [0026] In block 302, a maximum flow from L3 to L3 can be calculated, Xi, i = 1,...,M can be a PBP window size for each data class. To can be the backlog reporting period, and an RTT TRTT time can be input route frames or ms. Rplan can be a bit/ms or bits/frame rate plan. The maximum amount of data that can flow from L3 to L2 for priority i can be calculated according to [0027] In block 303, the volume of data in the L2 queues can be calculated. V(i)L2 can be the amount of data for class i, i = 1,...,M, in an L2 queue. The total data volume in the L2 queues can be calculated according to: [0028] In block 304, a consolidated backlog can be calculated. Ta can be an average fairness period for resource allocation and can have a default value of 4 input route frames, which can be based on the relationship between the duration of an IPOS frame, which can be 45 ms. and propagation delay from a VSAT to satellite 103 to access circuit 101. The average fairness period may allow allocation of input route partition to cover more than one frame so that larger burst sizes can be applied The reported backlog consolidating L2 and L3 traffic and taking into account the rate plan for priority i, i = 1, 2, ..., M can be expressed as: where TR > max (Ta, To) and can be configurable. If there is a sufficient amount of traffic and the reported backlog is governed by TR, Ta = 4 frames, T0 is set between 8 to 16 frames and a load balance period is on the order of 32 frames, it may be reasonable to set TR between 8 and 16, although To can be reduced to 1 frame. The IGM 113 can assign more than the service charge if there is additional bandwidth. [0029] At block 305, a backlog vector can be formed. The general backlog report in vector form can be [0030] A backlog for conversational traffic may not be calculated, as conversational traffic can be handled separately from interactive, sequencing and volume traffic. [0031] In block 202, the VSAT can report the backlog to an IGM. For example, after a VSAT in the VSAT population 102 calculates a backlog as in block 201, a backlog report, for example in the form of an AReport, can be transmitted to the IGM 113. The VSAT can perform the backlog periodically and "as needed", so that when there is a significant change in the backlog, for example, in the priority level 1 class data, VSAT can send a request immediately after the change. The "as needed" report can be restricted to priority level 1 class data, and only when the change exceeds, for example, half of the L2 queue threshold in the positive direction on the L2 queue. [0032] In block 203, an IGM can receive a backlog report. The backlog calculation in the VSAT can be used to create an IGM 113 bandwidth request. By processing the backlog reports from VSATs in the VSAT population 102, the IGM 113 may be able to give a VSAT time partitions layer (PHY) for transmitting data in a future frame as a result of bandwidth allocation. Backlog reports may be received periodically, or "as needed" due to significant changes to a VSAT backlog at priority level 1. [0033] In block 204, an IGM can calculate bandwidth allocations. The IGM 113 can use the VSAT backlog reports, total available bandwidth on the access circuit 101, on the per-frame partitions, and predefined weights and priority to calculate the overall bandwidth allocations for each VSAT in the VSAT population 102 IGM 113 can maintain virtual queues by requeuing new backlog reports and dequeuing allocated partitions in order to reproduce VSAT queuing behaviors. The IGM 113 can calculate a partition allocation for each priority, which can be used to manage the virtual queues of the next frame, in addition to the overall allocation of an individual VSAT, which can be broadcast to VSAT. [0034] According to the total available bandwidth, in number of partitions/frame, and predefined priority weights, the IGM 113 can calculate the bandwidth allocation at the priority level and then at a VSAT level. An income cap for each VSAT based on a nominal service plan fee for each VSAT may be imposed. Fairness control through one or a few periods can be applied to both the priority level and income threshold partition designation. Fairness control may impose weight or yield limits over a period of several frames. Proportional justice scheduling based on the service plan can be used in partition assignment at the VSAT level, with an average period of a few frames. [0035] Figure 4 presents an illustrative procedure for calculating the bandwidth allocation. At block 401, the backlog report can be converted to partitions. After receiving a backlog report from a VSAT, the IGM 113 can perform a conversion on the amount of bandwidth requested in the backlog report from bytes to partitions, as the IGM 113 can allocate the bandwidth in the form of partitions physical layer. Reported backlogs can be partitioned based on the respective modulation and encoding (MODCOD) scheme for a specific VSAT. Both the IGM 113 and the VSAT can know the MODCOD applied to the VSAT. [0036] TRTT can be the round trip time in the frame. The IGM 113 can receive a backlog report from a VSAT at time t. The backlog report can be B(bits)i(t) = [bi1(t)bi2(t)bi3(t)] in bits, i = 1,...,N, where N is the total number of VSATs on the entry route. Mi can be a modulation parameter, in bits per symbol, and Ci can be an encoding parameter for VSAT i. No can be a number of symbols in a PHY partition. The total number of partitions required for the backlog reported at time t, in frames, can be calculated as: [0037] Bi(t) = [bii(t)bi2(t)bi3(t)], in partitions, can represent the requested partitions in the backlog reported at time t. Due to round-trip time delay (RTT), the received backlog Bi(t) at IGM 113 may actually be the backlog observed by the VSAT at time t-0.5*TRTT. [0038] In block 402, bandwidth can be allocated at priority level. At the priority level, aggregated backlog traffic can be calculated for each priority. There may be a predefined weight associated with each priority, which may reflect the relative importance of ensuring QoS, for example, as measured by latency, for traffic of that priority. For example, a normalized weight [0.5 0.3 0.2] assigned to interactive, sequencing and volume traffic might indicate that half of the available bandwidth should go to the interactive class due to available traffic, even if the traffic mix of the three classes is different from the normalized weights. Similarly, an absolute weight, for example a weight of 1, may require assigning up to all available bandwidth to that traffic class. Using the relative weights between traffic priorities, sufficient bandwidth can be guaranteed for important traffic classes, while avoiding a total lack of bandwidth for lower-priority traffic. [0039] Bandwidth allocation fairness at priority level can be managed according to the respective weights. Justice can be per frame or across multiple frames. Fairness across multiple frames can allow more bandwidth to be assigned at a time, resulting in latency and possibly less overhead. A fair period can be L frames, a weight for the highest priority class can be w, and the total available bandwidth can be G partitions/frame. Fairness across multiple frames allows the assignment of L^G partitions in a burst, or continuously, according to the available backlog. [0040] Figure 5 presents an illustrative procedure for allocating bandwidth in a priority level. Priority level bandwidth allocation can utilize two circuits running on the IGM 113. The first circuit can assign bandwidth based on weights and backlogs. The second circuit can designate the bandwidth remaining after the first circuit from absolute high to low priorities. If there is still bandwidth remaining after both circuits, for example because the backlogs are not large, the bandwidth remaining can be equally assigned to each priority as over-allocations. [0041] In block 501, budgets can be calculated for each priority class. For both circuits, t = 1, 2,..., can be the frame index for the time in progress. Budget(1)=min[Round(w1*G), G], Budget(2)=min[round(w2*G), max(0, G-Budget(1)], and Budget(3) =Max [0,G-Budget(1)-Budget(2)], where Budget(j), j = 1, 2, 3 can represent interactive, sequencing, and volume classes. W=[w1, w2, w3 ] can be preassigned weights for interactive, sequencing, and volume classes, respectively. Transport (t, j), j = 1, 2, 3 can be the carrier bandwidth at time t. If t = 1, Carryover(t,i) can be equal to 0, otherwise if 2 < t < L, Otherwise [0042] In block 502, the available bandwidth can be determined. At any time t, for the first circuit, the circuit can first check the amount of available bandwidth. If the first circuit is assigning bandwidth for interactive traffic, j = 1, and Available_BW_Looop1(1,j)=G, where Available_BW_Loop1(i,j) can be the bandwidth available on the first circuit. This may indicate that the full bandwidth is currently available. If j=2, indicating sequencing traffic, Available_BW_Loop1(1,j)=Max [0, G-Allocation-BW_Loop1(1,1)]. The amount of bandwidth available on the first circuit can be the amount left after previous bandwidth allocations by the first circuit for interactive traffic, or, if this amount is negative, 0. If j=3, indicating that the first circuit is assigning bandwidth for volume traffic, Available_BW_Loop1(1,j)=Max [0, G-Allocation_BW_Loop1(1,1)-Allocation_BW_Loop1(1,2)]. The amount of bandwidth available on the first circuit can be the amount left after previous bandwidth allocations by the first circuit for interactive traffic and sequencing traffic, or, if this amount is negative, 0. [0043] In block 503, bandwidth can be allocated to a priority class. After determining how much bandwidth is available, the first circuit can allocate bandwidth to a class of traffic. Max(i,j) can be the maximum allocation at time t. Max(1,j)=Carryover(t,j)+Budget(1,j). Allocation_BW_Loop1(1,j)=min[Backlog(1,j), Max(1,j), Availa-ble_BW_Loop1(1,j)], where Allocation_BW_Loop(1,j) can be the bandwidth allocated on the Circuit 1, in partitions and Backlog(1,j) can be the aggregated traffic load in each priority class, in partitions, for example, as received by IGM 113 in the backlog reports. The first circuit can allocate priority class j to whatever is the smallest amount of bandwidth, the amount of priority class backlog, the carryover plus the budgeted amount for the priority class, or the available bandwidth. remaining. [0044] After a bandwidth allocation has been calculated by the first circuit for priority class j, the first circuit can determine if there are any unused resources. Unused(t,j)=Budget(1,j)-Allocation_BW_Loop1(1,j), where Unused(t,j) can be unused resources at time t. If a priority class receives less bandwidth than was budgeted for for that priority class, the difference can be considered unused bandwidth. [0045] The first circuit can then determine how much backlog is left for a priority class j, based on the bandwidth allocation. BL_remaining_Loop1(1,j)=Backlog(1,j)-Allocation_BW_Loop1(1,j) where BL_remaining_Loop1(i,j) can be the remaining backlog for priority class j, which can equal the total backlog for priority class priority j minus the amount of back-klog that was allocated to priority class j by the first circuit. [0046] In block 504, if there is any remaining bandwidth or if there are any remaining priority classes that have not received bandwidth, this can be determined. The first circuit can run for all available priority classes, for example, priority class j, j=1, 2, 3, while there is bandwidth remaining, going back to block 502. After the first circuit has finished running allocate bandwidth to all priority classes or run out of bandwidth, a second circuit allocates the remaining bandwidth between priority classes, as in block 505. [0047] In block 505, the amount of available bandwidth can be determined. The second circuit can determine how much bandwidth is available. If j=1, indicating interactive traffic, Available_BW_Loop2(1,j) = Available_BW_Loop1(1,3)-Allocation_BW_Loop1(1,3), where Available_BW_Loop2(i,j) can be the amount of bandwidth available to the class of priority j in the second circuit. The amount of bandwidth available for interactive traffic on the second circuit can be the amount of bandwidth that was available for allocation to volume traffic on the first circuit minus the amount of bandwidth on the first circuit allocated for traffic from volume. If j=2, indicating sequencing traffic. Availa-ble_BW_Loop2(1,j)=Available_BW_Loop2(1,1)-Allocation_BW_Loop2(1,1). The bandwidth available for sequencing traffic on the second circuit can be the amount of bandwidth that was available for interactive traffic minus the amount of bandwidth that the second circuit has allocated for interactive traffic. If j=3, indicating volume traffic Available_BW_Looop2(1,j)=Available_BW_Loop2(1,2)-Allocation_BW_Loop2(1,2). The amount of bandwidth available on volume traffic can be the amount of bandwidth that was available for sequencing traffic on the second circuit minus the amount of bandwidth allocated for sequencing traffic on the second circuit. [0048] In block 506, bandwidth can be allocated to all priority classes absolutely, from high priority to low priority. After determining the amount of available bandwidth, the second circuit can allocate the bandwidth to different priority classes. For each priority class j, Alolocation_BW_Loop2(1,j)=Min[BL_remaining_Loop1(1,j), Available_BW_Loop2(1,j)]. A priority class can be allocated whatever the smallest amount, the amount of backlog that was left after the first loop, BL_remaining_Loop1(1,j), or the amount of bandwidth was available to be assigned to that class of priority. priority with determined by the second circuit. That is, if the remaining backlog for a priority class is less than the total amount of available bandwidth, the priority class can be given enough bandwidth to take care of the backlog. After allocating bandwidth for a priority class, the second circuit can update the remaining backlog for that priority class.BL_remaining_Loop2(1,j)=BL_remaining_Loop1(1,j)-Allocation_BW_Loop2(1,j). The remaining backlog for a priority class can be reduced by the amount of bandwidth allocated to the priority class by the second circuit. [0049] After the first and second circuits have received bandwidth, there may still be bandwidth remaining. The remaining bandwidth can be used for the ALOHA channels or distributed additionally as a TDM resource for the priority classes, for example by simple Round Robin, by equitably dividing the bandwidth between the priority classes. Leftover=G- sum(Allocation_BW_Loop1(1,j)+Allocation_BW_Loop2(1,j)), j = 1, 2, 3. The remaining bandwidth can be the total bandwidth minus the bandwidth assigned by both first circuit and second circuit for all available priority classes. [0050] If the rest is for TDM, the bandwidth allocated for each priority class can be determined according to Priority Bandwidth Allocation j = Allocation_BW_Loop1(1,j)+Allocation_BW_Loop2(1,j)+ 1/3*Leftover, assigning each priority class an equal share of the remaining bandwidth. [0051] In block 403, bandwidth can be allocated at VSAT level. Bandwidth allocation at the VSAT level can assign bandwidth with a specific amount of partitions for each priority type to a VSAT. Bandwidth allocations can specify the number of partitions to use when dequeuing a connection layer priority queue in VSAT. To reproduce connection layer queues in VSAT, the IGM 113 can manage temporally updated virtual queues. The IGM 113 can control the maximum performance of a VSAT according to the respective VSAT service plan. In the case of congestion, the IGM 113 can regulate the performance from the VSATs proportional to the VSATs service plans. [0052] The IGM 113 can use proportional justice programming to allocate bandwidth. A service plan for VSAT i can be Ai and the base plan can be A0 on per-frame partitions, i = , 2, ... The plan ratio can be Ai/A0. The average throughput for VSAT i can be Si and the instant designation can be Ri, in per-frame partitions. The exponential moving average (EMA) for yield at time t can be expressed as where a can be a smoothing factor determining the time constant equivalent to the filter. If the programming period is T, then the EMA time constant T can be can be equivalent to the time constant T®4 when T = 1 frame. [0053] A yield vector can be S(t) = [S1(t),S2(t),...,SN(t)], and an allocation rate vector can be R(t)=[ R1(t), R2(t),...,RN(t)], where N is the number of VSATs. A programmer, for example the IGM 113, can sort the ratio, Si/Ai, in each frame t, and assign the partitions of the frame to a VSAT with the lowest ratio. If there are any partitions remaining, the partitions can then be assigned to the VSAT with the second lowest ratio, and so on, greedy filling continuing if necessary. Once the partitions are designated, the programmer can update the above average yield formula as in equation (8). [0054] Service plane can be converted from bits/frame to partition/frame based on the reported MODCOD of the individual VSAT or nominal MODCOD. [0055] Figure 6 presents an illustrative procedure for allocating bandwidth at a VSAT level. At block 601, a rate, backlog and throughput plan can be determined for each VSAT. Each VSAT served by access circuit 101 can be identified by a user ID and an associated plan rate, Plan_rate_terminal(i), i = 1,...,N, where i can be the VSAT and N can be the total number of VSATs. The frame index for the time in progress can be t. For all VSATs 1=1,...,N, Bud-get_Terminal(i)=Plan_rate_terminal(i), where Budget_Terminal(i) can be the budget for a VSAT, and can be set equal to the VSATs plan rate. If this is the first frame, t=1, then Carryover_Terminal(t,i)=0 for all VSATs, where Carryover_Terminal(t,i) can be the number of transport partitions for all terminal traffic i at time t. Otherwise, if this is not the first frame, if 2 < t < K, where K is the period for yield limitations, and can be, for example, equal to 4, then Car-ryover_Terminal (t,i) = Transport partitions for a VSAT can be the total number of unused partitions for VSAT from t-1 frames. If t ³K, then Carryover_Terminal(t,i) Transport partitions for a VSAT can be the total number of unused VSAT partitions from previous K frames. [0056] The IGM 113 can determine the exponential moving average (EMA) for the overall yield for each of the VSATs. If es-se is the first frame, t=1, then EMA_throughput(t,i)=0, where EMA_throughput(t,i) is the exponential moving average for the overall throughput for VSAT i and time t. In this first frame, all VSATs can have an EMA for throughput of 0. In subsequent frames, EMA_throughput(t,i)=a*Allocation_BW_Terminal(t-1,j)+(1- a)*EMA_throughput(t-1 ,j), where a is a factor with a default value of 0.22, and can be between 0.2 and 0.25. The EMA yield of a VSAT in the current frame can be a function of the amount of bandwidth allocated to the VSAT by IGM 113 in the previous frame and the EMA yield of the VSAT in the previous frame. [0057] At any time t, the IGM 113 can update the virtual queues for each priority class of each VSAT. The IGM 113 may need to update the virtual queues to mirror the priority queues in the VSATs. A VSAT can report its backlog in a period less than, equal to or greater than the RTT time. Due to the non-trivial RTT in the connection between the satellite 103, the VSAT population 102, and the circuit 101, to avoid multiple reservations or over-allocation, RTT can be taken into account when performing bandwidth allocation. After a VSAT reports its backlog, it will collect an RTT time for the VSAT to receive the bandwidth allocation granted from the IGM 113. Thus, in determining the backlog in the virtual queue at IGM 113, it may be necessary if subtract the allocated bandwidth in the most recent RTT. [0058] At the beginning of a t-frame, if IGM 113 receives a backlog report from a VSAT, Priority Virtual Queue Size j(t) (j=1, 2, 3)=Max[0, newly reported backlog to priority j - sum (allocation to priority j in the most recent RTT of that endpoint)]. The virtual queue size in IGM 113 for each priority class can be set to whichever is greater, 0, or the backlog just reported for that priority class from the VSAT minus the bandwidth allocation from the IGM 113 for the VSAT in the most recently sent bandwidth allocation. If IGM 113 does not receive a VSAT backlog report at the beginning of the frame, t, then the Priority Virtual Queue Size j(t) Priority Virtual Queue Size j (t-1), the virtual queue size remains same as in the previous picture. In this way, the IGM 113 can manage the virtual queues that mirror the priority queues in the VSATs. [0059] For example, for interactive, sequencing and volume priority classes, if IGM 113 receives the backlog report from a terminal at time t,Backlog_VQ_intv(t,i)=Max [0,Reported_Backlog_intv(t) ,i)-sum(Allocation_BW_intv(t,i)in the most recent RTT)], Backlog_VQ_stream(t,i)=Max [0, Reported_Backlog_stream(t,i)-sum(Allocation_BW_stream(t,i) in the most recent RTT)], eBacklog_VQ_bulk(t,i)=Max [0,Reported_Backlog_bulk(t,i)-sum(Allocation_BW_bulk(t,i) in the most recent RTT)], where Backlog_VQ_intv(t,i), Backlog_VQ_stream(t, i) and Backlog_VQ_bulk(t,i) can be the backlog in the virtual queue for interactive, sequencing and volume priority classes, respectively, at terminal i and at time t. The backlogs in the virtual queue for each priority class can be updated to reflect the reported backlog minus the bandwidth most recently allocated to the backlog. [0060] If IGM 113 does not receive a backlog report, then Backlog_VQ_intv(t,i)=Backlog_VQ_intv(t-1,i), Backlog_VQ_stream(t,i)=Backlog_VQ_stream(t-1,i); Backlog_VQ_bulk(t,i)=Backlog_VQ_bulk(t-1,i). [0061] The backlogs on the virtual queues in the current frame are considered equal to the backlogs on the virtual queues in the previous frame. [0062] In block 602, a rank ratio can be determined for the VSATs. The IGM 113 can, after updating the virtual queues, calculate the aggregate amount of traffic for each priority for all endpoints and calculate the bandwidth allocation at the priority level, as described in block 402. Then , IGM 113 can calculate Max_Terminal(t,i)=Carryover_Terminal(t,i)+Budget_Terminal(i), i=1,...,N, where Max_Terminal(t,i) can be a bandwidth allocation maximum allowed for all VSAT traffic i at time t. The maximum allocation for a VSAT can be the sum of the carryover for the VSAT and the budget for the VSAT, based on VSAT plan rates. An EMA yield ratio of VSAT i at time t to the plan rate of VSATs can be calculated as Ra-tio(t,i)=EMA_throughput(t,i)/Plan_rate_terminal(i), i=1,... , No. Once the ratio has been calculated for each VSAT i at time t, VSATs can be sorted on Ratio(t,i) in ascending order, which can result in a new index for VSATs, j=1,...,N. The VSAT for which j=1 may have the smallest ratio. [0063] In block 603, bandwidth can be allocated for each priority class in each of the VSATs in rank ratio order. Bandwidth can then be allocated based on the sorted list Ratio(t,j), which can allow a VSAT to retain the entire frame of the incoming route. The sorted list Ratio(t,j) can apply to each priority class. For interactive traffic, the available bandwidth for interactive traffic across all endpoints, Available_BW_intv, can be obtained from the priority-level bandwidth allocation for interactive traffic, Available_BW(1,1) as in block 402. Available_BW(1,1) may be the sum of the bandwidth allocated for interactive traffic by the first circuit, the second circuit, and any designated portion of the remaining bandwidth. The IGM 113 can set Available_BW_intv- Available_BW(1,1). [0064] For each VSAT j in the Ratio(t,j) ranking list, if there is a bandwidth available for interactive traffic, e.g. all bandwidth has not been assigned to the VSATs previously in the Ratio ranking list (t,j), then Max_intv(t,j)=Max_Terminal(t,j), where Max_intv(t,j) can be the maximum allocation for interactive traffic for VSAT j at time t, and Allocation_BW_intv(t ,j)=min[Max-intv(t,j), Backlog_VQ_intv(t,j)], where Allocation_BW_intv(t,j) can be the bandwidth allocation for interactive traffic in VSAT j at time t . Interactive traffic in VSAT j can receive any amount of bandwidth whichever is less, the maximum amount of VSAT can be allocated, or the amount needed to take care of the backlog in the interactive queue in VSAT, as represented by the virtual queue in IGM 113 If there is a minimum burst size, for example three partitions, it can be applied here. After allocating bandwidth for each VSAT j, the amount of bandwidth available for interactive traffic can be updated by subtracting just the allocated amount. If all the bandwidth for interactive traffic is used up before all VSATs have received bandwidth, the remaining VSATs can receive zero bandwidth for interactive traffic. [0065] Once IGM 113 has allocated bandwidth to all VSATs for interactive traffic, a residual bandwidth can be calculated, Residual_BW_intv=Available_BW(1,1)-sum(Allocation_BW_intv(t,i)) . Residual bandwidth may be bandwidth that has been allocated to interactive traffic, for example, in block 402, but has not been allocated to any specific VSAT for use in transmitting interactive traffic. This can occur when, for example, there are very small backlogs of interactive traffic in the VSATs. This residual bandwidth can be added to the bandwidth allocated for the sequencing traffic, Available_BW_stream=Available_BW(1,2)+Residual_BW_intv, where Available_BW(1,2) can be obtained from the bandwidth allocation Priority level bandwidth for the sequencing traffic as in block 402. Available_BW(1,2) can be the sum of the bandwidth allocated to the sequencing traffic by the first circuit, the second circuit, and any designated portion of the bandwidth. remaining band. [0066] For each VSAT j in the Ratio(t,j) ranking list, if there is bandwidth available for the sequencing traffic, for example, all bandwidth has not been assigned to the previous VSATs in the Ratio( ranking list) t,j), then Max_stream(t,j)=Max [0, Max_Terminal (t,j)-Allocation_BW_intv(t,j)]. The maximum amount of bandwidth that can be allocated for sequencing traffic for VSAT j at time t, Max_stream(t,j), can be whichever is greater, 0, or the maximum bandwidth allocation will allow for VSAT minus the bandwidth that has already been allocated to VSAT j for interactive traffic. Bandwidth can then be allocated to VSAT according to Allocation_BW_stream(t,j) = min [Max_stream(t,j), Backlog_VQ_stream(t,j)], where Backlog_VQ_stream(t,j) can be the backlog in the virtual queue for sequencing traffic to VSAT j as maintained in IGM 113. The amount of bandwidth assigned to VSAT j for sequencing traffic can be whichever is less, the maximum allowable bandwidth allocation for VSAT j , or the amount of bandwidth needed to take care of the sequencing traffic backlog for VSAT j. If there is a minimum burst size, three partitions, the same can be applied here. After allocating bandwidth for each VSAT j, the amount of bandwidth available for sequencing traffic can be updated by subtracting just the allocated amount. If all bandwidth for sequencing traffic is used before all VSATs have received bandwidth, the remaining VSATs can receive zero bandwidth for sequencing traffic. [0067] Since the IGM 113 has allocated the bandwidth to all VSATs for sequencing traffic, a residual bandwidth can be calculated, Residual_BW_stream = Available_BW_stream-sum(Allocation_BW_stream(t,i)). Residual bandwidth can be the bandwidth that has been allocated to the sequencing traffic, for example, the sequencing traffic allocation of block 402 and the bandwidth remaining after the interactive traffic bandwidth allocation. for the VSATs, and has not been allocated to any VSAT for use in forwarding sequencing traffic. This can occur when, for example, there are very small backlogs of sequencing traffic in the VSATs. This residual bandwidth can be added to the bandwidth allocated for volume traffic, Availa-ble_BW_bulk=Available_BW(1,3)+Residual_BW_stream, where Availa-ble_BW(1,3), can be obtained from allocation of Priority level bandwidth for volume traffic as in block 402. Available_BW(1,3) can be the sum of the bandwidth allocated to volume traffic by the first circuit, the second circuit, and any designated portion of the bandwidth remaining bandwidth. [0068] For each VSAT j in the Ratio ranking list (t,j), if there is bandwidth available for volume traffic, e.g. all bandwidth has not been assigned to VSATs earlier in the Ratio ranking list (t,j), then Max_bulk(t,j)=Max [0, Max_Terminal(t,j)-Allocation_BW_intv(t,j)-Allocation_BW_stream(t,j)]. The maximum amount of bandwidth that can be allocated for bulk traffic for VSAT j at time t, Max_bulk(t,j), can be whichever is greater, 0, or the maximum allowable bandwidth allocation for VSAT minus the bandwidth that has already been allocated to VSAT j for interactive traffic and sequencing traffic. Bandwidth can then be allocated to VSAT according to Allocation_VW_bulk(t,j) = min [Max_bulk(t,j), Backlog_VQ_bulk(t,j)], where Backlog_VQ_bulk(t,j) can be the backlog in the queue for volume traffic to VSAT j as maintained in IGM 113. The amount of bandwidth assigned to VSAT j for volume traffic can be whichever is less, the maximum allocation of volume bandwidth allowed to VSAT j , or the amount of bandwidth needed to backlog volume traffic to VSAT j. If there is a minimum burst size, for example three partitions, the same can be applied here. After allocating bandwidth for each VSAT j, the amount of bandwidth available for volume traffic can be updated by subtracting just the allocated amount. If all the bandwidth for volume traffic is used up before all VSATs have received bandwidth, the remaining VSATs can receive zero bandwidth for volume traffic. Any VSAT that is not scheduled can also be allocated zero bandwidth for the corresponding classes. [0069] The total bandwidth allocated to each VSAT by the IGM can be calculated as Allocation_BW_Terminal(t,i) = Alloca-tion_BW_intv(t,i)+Allocation_BW_stream(t,i)+Allocation_BW_bulk(t,i), i=1 ,...,N. The bandwidth allocated to a VSAT i at time t may be the sum of the interactive bandwidth, sequencing bandwidth, and volume bandwidth allocation to VSAT i at time t. The total bandwidth allocation can be used to determine if there are any unused resources, Unused_Terminal(t,i)=Budget_Terminal(i)-Allocation_BW_Terminal(t,i), i=1,...,N, where Unused_Terminal (t,i) may be the unused resource by VSAT i at time t. Unused resources can be the difference between the amount of bandwidth that was budgeted for a VSAT and the amount of bandwidth that was actually allocated to the VSAT. [0070] Virtual queues maintained by IGM 113 for each VSAT can be updated using bandwidth allocations. Each VSAT can have a virtual queue on IGM 113 for each available priority class, for example, for interactive, sequencing, and volume priority classes. IGM 113 can update virtual queues according to Backlog_VQ_intv(t,i)=Max [0, Backlog_VQ_intv(t,i)- Allocation_BW_intv(t,i)], i=1,...,N, Backlog_VQ_stream(t ,i)=Max [0, Backlog_VQ_stream(t,i)-Allocation_BW_stream(t,i)], i=1,...,N, and [0071] Backlog_VQ_bulk(t,i)=Max [0, Backlog_VQ_bulk(t,i)-Allocation_BW_bulk(t,i)], i=1,...,N. For each VSAT i, the interactive, sequencing, and volume virtual queue backlogs can be reduced by the amount of bandwidth newly allocated to that VSAT for interactive, sequencing, and volume traffic respectively. [0072] In block 604, the remaining bandwidth can be allocated. The IGM 113 can determine if there is any bandwidth remaining after bandwidth has been allocated to all VSATs. At the end of the endpoint-level bandwidth allocation by the IGM 113, there may be bandwidth remaining that is not assigned due to zero backlog in the virtual queue, or endpoint throughput limitations. [0073] Leftover_BW=G-sum(Allocation_BW_Terminals(t,i)), i =1,...,N, where Leftover_BW can be the bandwidth remaining on the partitions. The bandwidth remaining may be the difference between the total amount of bandwidth available on the access circuit 101 and the bandwidth that the IGM 113 has already allocated to the VSATs. If there is no bandwidth left, Leftover_BW==0, then the bandwidth allocation may end. Otherwise, if there is bandwidth remaining, Leftover_BW>0, the IGM 113 can allocate the remaining bandwidth to VSATs. [0074] To allocate the remaining bandwidth, the IGM 113 can first determine how much backlog is in the virtual queues for VSATs. [0075] Leftover_VQ=Sum(Backlog_VW_intv(t,i)+Backlog_VQ_stream(t,i)+Backlog_VQ_bulk(t,i)), i=1,...,N. Leftover_VQ can be the total of all backlogs in virtual queues across all traffic classes and VSATs. If there is no backlog remaining, Leftover_VQ==0, then since backlog reporting allows a VSAT to report a sufficient amount of backlog on both L2 and L3, and sequencing and volume traffic are less sensitive to delay, the remaining bandwidth, Leftover_BW, can be allocated for other uses, such as Aloha channels. Otherwise, if there is backlog remaining in the virtual queues, Leftover_VQ>0, IGM 113 can proceed to allocate the remaining bandwidth to the VSATs. If the bandwidth remaining is due to endpoint throughput constraints, and there is backlog remaining in the virtual queues, throughput limits can be temporarily broken to allow full spectrum utilization. [0076] IGM 113 can assign remaining bandwidth, Leftover_BW, from high to low priorities through the VSATs until the remaining bandwidth or remaining backlog runs out. The bandwidth allocated to a priority class can be limited by the L2 queue for VSAT. If there is a minimum burst size, such as, for example, three partitions, the same can apply. If the remaining backlog runs out before the remaining bandwidth, then the remaining bandwidth can be allocated to Aloha. Once the remaining bandwidth has all been allocated, or the remaining backlog has run out, bandwidth allocations for VSATs can be updated for each priority class and for the whole. Allocation_BW_intv(t,i), Allocation_BW_stream(t,i), Allocation_BW_bulk(t,i) for each VSAT i can be incremented by the amount of bandwidth remaining assigned to the respective priority classes for VSAT i, and Allocation_BW_Terminal( t,i) can be incremented to reflect the overall increase in bandwidth allocated across all priority classes for VSAT i. The IGM 113 can also update the virtual queues by subtracting the remaining bandwidth allocated to each VSAT and priority class from the virtual queues for the priority classes across all VSATs. [0077] IGM 113 may also impose income restrictions on VSATs. A flat rate in terms of megabits per second can be equivalent to Rmax(k) partitions/frame per user plane k, k=1, 2, 3. Throughput limitations can be managed on every frame or every few frames depending on of the period of justice. A throttling period can be set for M frames with a default value of M=4. Fairness can be managed similarly to weighted bandwidth management. [0078] In block 205, the IGM 113 may transmit bandwidth allocations to the VSATs. For example, after calculating the bandwidth allocations for VSATs in the VSAT population 102, as in Figure 4, the IGM 113 can transmit the bandwidth allocations for VSATs via satellite 103. [0079] In block 206, the VSATs may receive the bandwidth allocation from the IGM 113. The bandwidth allocation received by the VSATs may include a general allocation for each VSAT, provided, for example, in the partitions. While the IGM 113 can allocate bandwidth for each priority of each VSAT for a future frame, for best downlink spectrum utilization, the IGM 113 can only generate an overall bandwidth allocation for each VSAT. The overall bandwidth allocation may be broadcast by the access circuit 101 and received by the VSATs after, for example, half an RTT time. [0080] In block 207, VSATs can perform queue maintenance using bandwidth allocations received from IGM 113. VSATs can use bandwidth allocated by IGM 113 to serve their priority queues, transmitting priority class traffic for access circuit 101 via satellite 103 based on bandwidth allocations for each type of traffic. After receiving the bandwidth allocation command, the backlog situation in the VSAT may vary due to traffic dynamics. Assuming that the channel condition beyond the modulation and encoding scheme in the VSAT persists, the VSAT can apply bandwidth allocation to the current backlog based on the same priority weights applied to IGM 113, which can allow traffic from high priority assumes some bandwidth that would be used by lower priority traffic if high priority had an increased backlog. This can result in improved latency performance for high-priority classes, at the expense of violating the IGM 113 bandwidth allocation. The IGM 113 can automatically correct on the follow-up bandwidth allocations by reading new backlog reports from the VSAT. [0081] In a t frame, the partitions allocated to VSAT from IGM 113 can be C(t). The number of information bits per partition can be b0. Wi can be the weight and v(i)L2(t) can be the updated queue length for traffic class i, respectively, i = 1,...,M. M can be the number of priorities with an illustrative value of 3, for example for the interactive, sequencing and volume traffic classes. [0082] In L2, VSAT can serve priority queues for interactive traffic by allocating partitions according to Si(t)=min[v(1)L2(t)/bo, WrC(t)], where Si(t) can be the number of partitions allocated by VSAT for interactive traffic. The number of partitions allocated for interactive traffic can be less than the number of partitions needed to empty the priority queue of all interactive traffic, and the maximum proportion of the total interactive traffic of available partitions can be assigned according to the weighting . [0083] VSAT can serve priority queues for desequencing traffic by allocating partitions according to S2(t)=min[V(2)L2(t)/bo, W2<(t)], where S2( t) can be the number of partitions allocated by the VSAT for sequencing traffic. The number of partitions allocated for sequencing traffic can be less than the number of partitions needed to empty the priority queue of all sequencing traffic, and the maximum proportion of the total sequencing traffic available partitions can be designated as according to weighting. [0084] The VSAT can serve the priority queues for the traffic it devolutes by allocating partitions according to S3(t)=min[V(3)L2(t)/bo, W3<(t)], where S3( t) can be the number of partitions allocated by VSAT for volume traffic. The number of partitions allocated for volume traffic can be less than the number of partitions needed to empty the priority queue of all volume traffic, and the maximum proportion of volume traffic of total available partitions can be designated as according to weighting. [0085] Δs(t) can be the difference between the total number of partitions in the bandwidth allocated to the VSAT by the IGM 113 and the sum of the partitions granted by the VSAT for interactive, sequencing and volume traffic. If Δs(t) is greater than 0, Δs(t)=C(t)-S1(t)-S2(t)-S3(t) > 0, there may still be partitions available to be allocated by VSAT. VSAT can allocate Δs(t) partitions across available traffic priorities absolutely until all partitions are used or there is no more traffic in the L2 priority queues. [0086] After receiving the allocated bandwidth from the IGM 113, and allocating the bandwidth between the L2 queues, the VSAT can dequeue the L2 to PHY packets for transmission to the satellite 103. The L2 stores can be designed with limited sizes, but can have a sufficient amount of data for L2 transmission without requiring data to be pulled from L3 queues before transmission. After the data has been dequeued from the L2 queues, the VSAT can perform network layer queue service to the L3 queues, pulling the data into the L2 queues from the L3 queues. [0087] The amount of data pulled from L3 to L2 may depend on available L2 occupancy. Every time L2 dequeue is terminated, the difference between the queue threshold and the existing queue length on the L2 queues can be calculated, which can determine how much data can be pulled into the L2 queues from the L3 queues. . [0088] L2 may have storage limits for each priority queue. Queue size can be configurable and determined based on plan rate or inbound route capacity. Whenever the queue length is less than a threshold, data in L3 queues can flow from L3 to L2. Such queuing operations can be continuous and can be independent of the L2 queue service. [0089] There can be M priority classes, eg 3 priority classes, interactive, sequencing and volume, and multiple streams in each class. The number of information bits per partition can be b0, and can be based on current MODCOD settings. V(i)L2,Max and V(i)L2(t) can be the storage limit and instantaneous queue length at time t for class i, respectively, i = 1,...,M. [0090] The L2 queue size limit can be determined based on the plan rate and justice period applied to both the IGM 113 and the VSAT. A reasonable queue size at L2 can benefit PBP operation. The fairness period can be K frames, which can be 4 by default. The plan rate can be Rplan in bit/frame. The store size for each priority can be [0091] The default value for a can be 2, which can allow the IGM 112 to allocate additional bandwidth when the plan limit is reached. The L2 queue threshold can be rounded to be expressed in units of L2 packets. [0092] Ui(t), in bits or bytes, i = 1,...,M, can be the amount of data moving from L3 to L2 at a given time t. VSAT can serve L3 queues, for interactive traffic, having the amount of data as U1(t)=min[V(1)L3(t), V(1)L2,Max-V(1)L2(t) -1)], subject to a PBP window size for interactive traffic. The updated queue length for class 1, interactive traffic, can be V(1)L2(t)=V(1)L2(t-1)+U1(t). [0093] For sequencing traffic, the amount of data flowing can be U2(t)=min[V(2)L3(t), V(2)L2,Max-V(2)L2(t-1) )], subject to a PBP window size for sequencing traffic. The updated queue length for class 2, sequencing traffic, can be V(2)L2(t)=V(2)L2(t-1)+U2(t). [0094] For volume traffic, the amount of data flowing can be U3(t)=min[V(3)L3(t), V(3)L2, Max-V(3)L2(t-1) ], subject to a PBP window size for volume traffic. The updated queue length for volume traffic can be V(3)L2(t)=V(3)L2(t-1)+U3(t). [0095] The padding of Ui(t), i = 1,...,M from L3 to L2 can follow a Round Robin equal data scheme if there are multiple streams. Since L3 to L2 data can be from PBP queues, which can be IPLR and spoofed multiplexed traffic, or from multiplexed queues of unspoofed traffic, weights based on flow numbers can be applied by removing PBP queue or non-spoofed queues. [0096] For example, at the highest priority level, e.g. level 1 for interactive traffic, there may be m1 and k1 spoofed flows, including IPLR, and non-spoofed flows, respectively, the amount of dequeuing may be for PBP-I queue and for the priority 1 unspoofed multiplexing queue. [0097] As used herein, a "computer" or "computer system" may be, for example, and without limitation, alone or in combination, a personal computer (PC), a server-based computer, a main, server, microcomputer, minicomputer, laptop, personal data assistant (PDA), cell phone, pager, processor, including wired and wireless varieties thereof, and/or any other computerized device capable of being configured for receiving, storing and/or data processing for standalone applications and/or through a networked medium or media. Examples of communication media that may be employed include, without limitation, wireless data networks, wired networks, and/or a variety of networked media. [0098] Computers and computer systems described herein may include operationally associated computer-readable media such as memory for storing software applications used in obtaining, processing, storing and/or communicating data. It can be appreciated that such memory may be internal, external, remote or local with respect to your computer or operationally associated computer system. Memory may also include any media for storing software or other instructions including, for example and without limitation, a hard disk, an optical disk, a floppy disk, DVD, compact disk, memory stick, ROM (read-only memory), RAM (random access memory), PROM (programmable ROM), EEPROM (erasable extended PROM), and/or other computer readable media. [0099] In general, computer readable media may include any medium capable of being a carrier for an electronic signal representative of data stored, communicated or processed in accordance with embodiments of the present invention. Where applicable, the method steps described here may be embodied or executed as instructions stored on computer-readable media or media. [00100] It should be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant to a clear understanding of the present invention, while eliminating other elements for the sake of clarity. Those skilled in the art will recognize, however, that these and other elements may be desirable. However, since such elements are well known in the art, and since they do not facilitate a better understanding of the present invention, a discussion of such elements is not provided here. It should be appreciated that the figures are presented for illustrative purposes and not as construction drawings. The omitted details and modifications or alternative embodiments are within the scope of those skilled in the art. [00101] It can be appreciated that, in certain aspects of the present invention, a single component may be substituted for multiple components, and multiple components may be substituted for a single component, to provide an element or structure or to perform a certain function or functions. . Except where such a substitution would not be operative to practice certain embodiments of the present invention, such a substitution is considered to be within the scope of the present invention. [00102] The examples presented here are intended to illustrate potential and specific implementations of the present invention. It can be appreciated that the examples are primarily intended to serve the purpose of illustrating the invention to those skilled in the art. The diagrams presented here are provided by way of example. There are many variations to these diagrams or the operations described here without departing from the spirit of the invention. For example, in certain cases, method steps or operations may be performed or performed in a different order, or operations may be added, deleted, or modified. [00103] Additionally, while particular embodiments of the invention have been described herein for purposes of illustrating the invention and not for purposes of limiting the same, it will be appreciated by those skilled in the art that numerous variations in the details, materials and arrangement of elements, steps, structures and/or parts can be performed within the principles and scope of the invention without departing from the invention as described in the following claims.
权利要求:
Claims (27) [0001] 1. Method for allocating input route bandwidth supporting multiple traffic priorities in a satellite network characterized in that it comprises the steps of: generating a backlog report; transmitting the backlog report to a manager route group; receiving a bandwidth allocation from the incoming route group manager; and the priority queuing service and data transmission to a satellite (103) based on bandwidth allocation from the inbound route group manager, wherein the priority queuing service comprises: bandwidth from the allocation of bandwidth to a plurality of tier 2 queues based on a backlog of tier 2 queues and a weight for each of the tier 2 queues; the transmission of data from the tier 2 queues to the satellite (103) according to the bandwidth allocated to each of the tier 2 queues; determining an occupancy rate of the plurality of tier 2 queues; calculating an amount of data to transfer from a plurality from tier 3 queues to the plurality of tier 2 queues based on the occupancy rate of the plurality of tier 2 queues and a backlog on the plurality of tier 3; and transferring the calculated amount of data from the tier 3 queues to the tier 2 queues. [0002] 2. Method, according to claim 1, characterized by the fact that the backlog report generation comprises: the calculation of a volume of data in the level 2 queues; and the calculation of a volume of data in the level 3 queues. [0003] 3. Method according to claim 1, characterized in that the backlog report comprises a backlog of data for a plurality of traffic priorities. [0004] 4. Method, according to claim 2, characterized by the fact that the calculation of the volume of data in the level 3 queues is done according to: [0005] 5. Method, according to claim 2, characterized by the fact that the calculation of the volume of data in the level 2 queues is done according to: [0006] 6. Method according to claim 2, characterized in that the level 2 queues comprise a plurality of priority queues, where each priority queue comprises data traffic of a different priority level. [0007] 7. Method according to claim 6, characterized in that there is a priority queue for interactive traffic, a priority queue for volume traffic, and a priority queue for sequencing traffic. [0008] Method according to claim 2, characterized in that the level 3 queues comprise a plurality of unspoofed priority queues, a plurality of IPLR priority queues, a plurality of TCP spoof priority queues, a plurality of of TCP spoofing queues, and a plurality of PBP priority queues. [0009] 9. Incoming route bandwidth allocation method supporting multiple traffic priorities in a satellite network (103) characterized in that it comprises: receiving backlog reports from a plurality of VSATs; calculating an allocation of bandwidth for each of the VSATs in the plurality of VSATs; and transmitting the bandwidth allocation to each of the plurality of VSATs; wherein calculating bandwidth allocations comprises: calculating a bandwidth allocation at a priority level across all VSATs; and calculating a bandwidth allocation for each VSAT based on the priority level bandwidth allocation, where calculating a priority level bandwidth allocation comprises: determining a budget for each among the plurality of priority classes across a plurality of frames, where the priority classes are ordered from a higher priority class to a lower priority class, and where the budget for a priority class is calculated based on in a weight for the priority class and an amount of bandwidth left from a total available amount of bandwidth after calculating a budget for all higher priority classes; the bandwidth allocation for each one of the priority classes, from the highest priority class to the lowest priority class, where the bandwidth allocated to a priority class is based on the bandwidth remaining available bandwidth of the total available amount of bandwidth after allocating bandwidth to all higher priority classes, the budget for the priority class, a reported backlog for the priority class, and a transport from the priority class. unused bandwidth previously budgeted for the priority class; and the allocation of additional bandwidth for each of the priority classes, from the highest priority class to the lowest priority class, where the additional bandwidth for a priority class is any bandwidth not assigned to a higher priority class up to the amount of bandwidth needed to free the backlog for the priority class. [0010] 10. Incoming route bandwidth allocation method supporting multiple traffic priorities in a satellite network (103) characterized in that it comprises: receiving backlog reports from a plurality of VSATs; calculating a bandwidth allocation for each of the VSATs in the plurality of VSATs; and transmitting the bandwidth allocation to each of the plurality of VSATs; wherein computing bandwidth allocations comprises: computing a bandwidth allocation at a priority level across all VSATs; and calculating a bandwidth allocation for each VSAT based on the priority level bandwidth allocation, where the bandwidth allocation calculation for each VSAT based on the priority level bandwidth allocation comprises: updating the virtual queues to mirror a backlog reported in the priority queues in the VSATs; calculating a bandwidth allocation for each priority level in each VSAT using proportional justice scheduling based on the virtual queues, a ratio throughput to service plan for each of the VSATs, and the bandwidth allocation at the priority level; and calculating a bandwidth allocation for each VSAT based on the bandwidth allocation for each priority level for each VSAT and a remaining bandwidth allocation. [0011] 11. Method according to claim 10, characterized in that bandwidth is allocated for each priority level in each VSAT from the highest priority level to the lowest priority level and from a VSAT with the lowest yield to service plan ratio for a VSAT with the highest yield to service plan ratio. [0012] 12. System for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: a satellite (103); a VSAT population (102) comprising VSATs, where each VSAT is configured to send data to and receive data from an access circuit (101) via satellite (103), generate a backlog report, receive a bandwidth allocation from an inbound route group manager, serve priority queues in VSAT using bandwidth allocation; and transmit data to the satellite (103) based on bandwidth allocation; an access circuit (101) comprising an inbound route group manager, the access circuit (101) configured to receive VSAT population data ( 102) via satellites (103), receive backlog reports from the VSAT population, and allocate bandwidth to the VSATs in the VSAT population (102) with the inbound route group manager, and send the bandwidth allocation to the VSAT population (102) via satellite (103), wherein the VSATs are configured to serve priority queues by allocating bandwidth from the bandwidth allocation to a plurality of level 2 queues based on a backlog of the tier 2 queues and a weight for each of the tier 2 queues, and the transmission of data from the tier 2 queues to the satellite (103) according to the bandwidth allocated to each of the tier queues 2, determining a plurality occupancy rate of tier 2 queues, calculating an amount of data to transfer from a plurality of tier 3 queues to the plurality of tier 2 queues based on the occupancy rate of the plurality of tier 2 queues and a backlog on the plurality of tier 3 and transferring the calculated amount of data from tier 3 queues to tier 2 queues. [0013] 13. System, according to claim 12, characterized by the fact that the VSATs are configured to generate the backlog report by calculating a volume of data in the level 2 queues and calculating a volume of data in the level queues 3. [0014] 14. System, according to claim 13, characterized by the fact that the VSATs are configured to calculate the volume of data in the level 3 queues according to: [0015] 15. System according to claim 13, characterized in that the VSATs are configured to calculate the volume of data in the level 2 queues according to: [0016] 16. System according to claim 13, characterized in that the level 2 queues comprise a plurality of priority queues, where each priority queue comprises data traffic of a different priority level. [0017] 17. System, according to claim 16, characterized by the fact that there is a priority queue for interactive traffic, a priority queue for volume traffic and a priority queue for sequencing traffic. [0018] 18. System according to claim 13, characterized in that the level 3 queues comprise a plurality of unspoofed priority queues, a plurality of IPLR priority queues, a plurality of TCP spoof priority queues , a plurality of TCP spoofing priority queues, and a plurality of PBP priority queues. [0019] 19. System according to claim 12, characterized in that the backlog report comprises a backlog of data for a plurality of traffic priorities. [0020] 20. System according to claim 12, characterized in that the access circuit (101) is configured to calculate bandwidth allocations with the inbound route group manager by calculating a bandwidth allocation bandwidth allocation at a priority level across all VSATs, and calculating a bandwidth allocation for each VSAT based on the bandwidth allocation at the priority level. [0021] 21. System for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: a satellite (103); a VSAT population (102) comprising VSATs, where each VSAT is configured to send data to and receive data from an access circuit (101) via satellite (103), generate a backlog report, receive a bandwidth allocation from an inbound route group manager, serve priority queues in VSAT using bandwidth allocation; and transmitting data to the satellite (103) based on the bandwidth allocation; and an access circuit (101) comprising the inbound route group manager, the access circuit (101) configured to receive VSAT population data (102) via satellites (103), receive VSAT population backlog reports, and allocate bandwidth to the VSATs in the VSAT population (102) with the inbound route group manager, and send the bandwidth allocation to the VSAT population (102) via the satellite (103); wherein the access (101) is configured to calculate bandwidth allocations with the inbound route group manager by calculating a bandwidth allocation at a priority level across all VSATs, and calculating a bandwidth allocation bandwidth for each VSAT based on priority-level bandwidth allocation; where the inbound route group manager is configured to calculate a priority-level bandwidth allocation by determining a budget via one plurality of frames for each of a plurality of priority classes, where the priority classes are ordered from a higher priority class to a lower priority class, and where the budget for a priority class is calculated based on weights for the priority class and an amount of bandwidth remaining out of a total available amount of bandwidth after calculating a budget for all higher priority classes, allocating bandwidth to each of priority classes, from the highest priority class to the lowest priority class, where the bandwidth allocated to a priority class is based on the available bandwidth left out of the total available amount of bandwidth after allocating bandwidth to all higher priority classes, the budget for the priority class, a backlog reported to the class if priority, and a carryover of the unused bandwidth previously budgeted for the priority class, and allocating the additional bandwidth to each of the priority classes, from the highest priority class to the highest priority class low, where the additional bandwidth for a priority class is any bandwidth not assigned to a higher priority class up to the amount of bandwidth needed to free the backlog for the priority class. [0022] 22. System for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: a satellite (103); a VSAT population (102) comprising VSATs, where each VSAT is configured to send data to and receive data from an access circuit via satellite (103), generate a back-klog report, receive a bandwidth allocation from an inbound route group manager, serve priority queues on the VSAT using bandwidth allocation; and transmitting data to the satellite (103) based on the bandwidth allocation; and an access circuit (101) comprising the inbound route group manager, the access circuit (101) configured to receive VSAT population data (102) via satellites, receive VSAT population backlog reports (102), and allocate bandwidth to the VSATs in the VSAT population with the inbound route group manager, and send the bandwidth allocation to the VSAT population (102) through the satellite (103); wherein the access circuit (101) ) is configured to calculate bandwidth allocations with the inbound route group manager by calculating a bandwidth allocation at a priority level across all VSATs, and calculating a bandwidth allocation for each VSAT based on priority level bandwidth allocation; ewhere the inbound route group manager is additionally configured to calculate the bandwidth allocation for each VSAT based on the priority level bandwidth allocation which comprises updating the virtual queues to mirror a backlog reported on the queues of priority on the VSATs, calculate a bandwidth allocation for each priority level on each VSAT using proportional justice scheduling based on the virtual queues, a throughput to service plan ratio for each of the VSATs, and the bandwidth allocation bandwidth allocation at the priority level, and calculating a bandwidth allocation for each VSAT based on the bandwidth allocation for each priority level for each VSAT and an allocation of the remaining bandwidth. [0023] 23. System according to claim 22, characterized in that bandwidth is allocated for each priority level in each VSAT from the highest priority level to a lower priority level and from a VSAT with the lowest yield to service plan ratio to a VSAT with the highest yield to service plan ratio. [0024] 24. Method for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: generating a backlog report; transmitting the backlog report to a group manager route; receiving a bandwidth allocation from the inbound route group manager; servicing priority queues and transmitting data to a satellite (103) based on the bandwidth allocation to from the inbound route group manager, where generating the backup report comprises: calculating a volume of data in the level 2 queues; and the calculation of a volume of data in the level 3 queues, where the calculation of the volume of data in the level 3 queues is done according to: [0025] 25. Method for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: generating a backlog report; transmitting the backlog report to a group manager route; receiving a bandwidth allocation from the inbound route group manager; servicing priority queues and transmitting data to a satellite (103) based on the bandwidth allocation to from the inbound route group manager, where generating the backup report comprises: calculating a volume of data in the level 2 queues; and calculating a volume of data in the level 3 queues; wherein the level 3 queues comprise a plurality of unspoofed priority queues, a plurality of IPLR priority queues, a plurality of TCP spoof priority queues, a plurality of TCP spoofing queues, and a plurality of PBP priority queues. [0026] 26. System for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: a satellite (103); a VSAT population (102) comprising VSATs, where each VSAT is configured to send data to and receive data from an access circuit (101) via satellite (103), generate a backlog report, receive a bandwidth allocation from an inbound route group manager, serve priority queues in VSAT using bandwidth allocation; and transmitting data to the satellite (103) based on the bandwidth allocation; and an access circuit (101) comprising an inbound route group manager, the access circuit (101) configured to receive VSAT population data (102) via satellites, receive VSAT population backlog reports (102), and allocate bandwidth to the VSATs in the VSAT population (102) with the inbound route group manager, and send the bandwidth allocation to the VSAT population (102) through the satellite (103), where the VSATs are configured to generate the backlog report by calculating a volume of data in the tier 2 queues and calculating a volume of data in the tier 3 queues; where the VSATs are configured to calculate the volume of data in the tier 3 queues accordingly with: [0027] 27. System for allocating input route bandwidth supporting multiple traffic priorities in a satellite network, characterized in that it comprises: a satellite (103); a VSAT population (102) comprising VSATs, where each VSAT is configured to send data to and receive data from an access circuit (101) via satellite (103), generate a backlog report, receive a bandwidth allocation from an inbound route group manager, serve priority queues in VSAT using bandwidth allocation; and transmitting data to the satellite (103) based on the bandwidth allocation; and an access circuit (101) comprising an inbound route group manager, the access circuit (101) configured to receive VSAT population data (102) via satellites, receive VSAT population backlog reports, and allocate bandwidth. bandwidth to the VSATs in the VSAT population (102) with the inbound route group manager, and send the bandwidth allocation to the VSAT population (102) through the satellite, where the VSATs are configured to generate the backlog by calculating a volume of data in the tier 2 queues and calculating a volume of data in the tier 3 queues; wherein the level 3 queues comprise a plurality of non-spoofed priority queues, a plurality of IPLR priority queues, a plurality of TCP spoof priority queues, a plurality of TCP spoofing priority queues, and a plurality of PBP priority queues .
类似技术:
公开号 | 公开日 | 专利标题 BR102012030289B1|2022-01-04|METHOD AND SYSTEM FOR ALLOCATION OF INPUT ROUTE BANDWIDTH SUPPORTING MULTIPLE TRAFFIC PRIORITIES IN A SATELLITE NETWORK US8929217B2|2015-01-06|Method and system for traffic management and resource allocation on a shared access network US10700771B2|2020-06-30|Bandwidth management across logical groupings of access points in a shared access broadband network US20200328804A1|2020-10-15|Dynamic bandwidth management with spectrum efficiency for logically grouped terminals in a broadband satellite network US20170187641A1|2017-06-29|Scheduler, sender, receiver, network node and methods thereof US6744767B1|2004-06-01|Method and apparatus for provisioning and monitoring internet protocol quality of service US6937580B2|2005-08-30|Apportioning bandwidth capacity in communication switching systems EP1411685A2|2004-04-21|Quality in wireless packet communication US9042355B2|2015-05-26|Quality of service | for satellite communications network US11153786B2|2021-10-19|System and method for bandwidth profile based allocation and management of a time-varying topology network US20200169513A1|2020-05-28|Fabric control protocol for data center networks with packet spraying over multiple alternate data paths US20050259689A1|2005-11-24|Providing soft bandwidth guarantees using elastic TCP-based tunnels WO2002098047A2|2002-12-05|System and method for providing optimum bandwidth utilization KR20120055947A|2012-06-01|Method and apparatus for providing Susbscriber-aware per flow Kim2015|On guaranteeing the quality of service of conformant traffic in excess bandwidth allocation for shared access networks EP2667554B1|2020-08-26|Hierarchal maximum information rate enforcement Park et al.2015|Two-step scheduling scheme to support fairness and QoS in DVB-S2 system KR20190020952A|2019-03-05|Effective bandwidth calculating device for assure the QoS of real-time voice in Geostationary Orbit Satellite and method of resource allocation thereof CN113162789A|2021-07-23|Method, device, equipment, system and storage medium for adjusting service level Carvalho et al.2013|PACE your network: Fair and controllable multi-tenant data center networks Hamalainen et al.2004|Adaptive tuning of scheduling parameters. Fidler et al.2003|Multi-class applications for parallel usage of a guaranteed rate and a scavenger service Lee et al.2005|Efficient scheduling schemes for real-time traffic in wireless networks Kithinji et al.0|A Survey of Packets Scheduling Congestion Control Algorithms in Internet Protocol Storage Area Networks Pikrammenos et al.2000|Performance evaluation of diffserv driven HFC system
同族专利:
公开号 | 公开日 EP2600538B1|2016-07-20| EP2600538A2|2013-06-05| US20130136004A1|2013-05-30| EP2600538A3|2015-01-14| US8687493B2|2014-04-01| BR102012030289A2|2016-04-26|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 IL146263D0|2000-03-10|2002-07-25|Hughes Electronics Corp|Apparatus and method for efficient tdma bandwidth allocation for tcp/ip satellite-based networks| US6961539B2|2001-08-09|2005-11-01|Hughes Electronics Corporation|Low latency handling of transmission control protocol messages in a broadband satellite communications system| ITBA20030039A1|2003-08-29|2005-02-28|Grieco Luigi Alfredo|RATE-BASED CONGESTION CONTROL OF THE ENTERING TRAFFIC| US9240834B2|2005-03-22|2016-01-19|Hughes Network Systems, Llc|Method and apparatus for providing open loop bandwidth allocation| AT553552T|2006-10-03|2012-04-15|Viasat Inc|NETWORK / VOLUME TRANSFER PREASSEMBLY OF UPSTREAM RESOURCES IN A SATELLITE COMMUNICATION SYSTEM| EP1950893A1|2007-01-24|2008-07-30|Siemens Aktiengesellschaft|Method and system for allocating bandwidth|US9231843B2|2012-11-29|2016-01-05|International Business Machines Corporation|Estimating available bandwith in cellular networks| JP6095362B2|2012-12-27|2017-03-15|古野電気株式会社|Satellite communication device and satellite communication system| EP3132640B1|2014-04-14|2018-07-04|Hughes Network Systems, LLC|Apparatus and method for a bandwidth allocation approach in a shared bandwidth communications system| US10866742B1|2014-08-04|2020-12-15|Nexgen Storage, Inc.|Archiving storage volume snapshots| US10700772B2|2014-09-08|2020-06-30|Hughes Network Systems, Llc|Dynamic bandwidth management with spectrum efficiency for logically grouped terminals in a broadband satellite network| US10110300B2|2014-09-08|2018-10-23|Hughes Network Systems, Llc|Bandwidth management across logical groupings of access points in a shared access broadband network| US9853717B2|2015-05-31|2017-12-26|Hughes Network Systems, L.L.C.|Half-duplex communications for a very small aperture terminaloperating on a continuous stream| US20160352544A1|2015-05-31|2016-12-01|Hughes Network Systems, Llc|Synchronization timing in a split location hub| US10374966B2|2016-04-28|2019-08-06|Hughes Network Systems, Llc|Scheduling prioritized traffic in a scrambled coded multiple accesssystem| US10142860B2|2016-06-14|2018-11-27|Hughes Network Systems, Llc|Automated network diagnostic techniques| US10243801B2|2016-06-30|2019-03-26|Hughes Networking Systems, LLC|Method and system for distributive flow control and bandwidth management in a network| US10454804B2|2016-11-07|2019-10-22|Hughes Network Systems, Llc|Application characterization using transport protocol analysis| US10631195B2|2017-06-16|2020-04-21|Hughes Network Systems, Llc|Buffer status report trigger enhancement in a long term evolution and satellite communication system| CN109218193A|2018-11-29|2019-01-15|上海微小卫星工程中心|A kind of method of routing congestion in inhibition satellite network| CN110932769A|2019-11-12|2020-03-27|南京衡尔姮网络科技有限公司|Multichannel satellite bandwidth dynamic allocation method| US11218422B2|2019-12-28|2022-01-04|Hughes Network Systems, Llc|System and method of traffic-based classification of IoT devices and dynamic allocation of link resources to IoT devices|
法律状态:
2016-04-26| B03A| Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]| 2018-12-04| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-04-28| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2021-10-26| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2022-01-04| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 28/11/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/306,181|US8687493B2|2011-11-29|2011-11-29|Method and system for inroute bandwidth allocation supporting multiple traffic priorities in a satellite network| US13/306,181|2011-11-29| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|