US20020019234A1 - Resource controllers for use in a non-unitary service system - Google Patents
Resource controllers for use in a non-unitary service system Download PDFInfo
- Publication number
- US20020019234A1 US20020019234A1 US09/885,814 US88581401A US2002019234A1 US 20020019234 A1 US20020019234 A1 US 20020019234A1 US 88581401 A US88581401 A US 88581401A US 2002019234 A1 US2002019234 A1 US 2002019234A1
- Authority
- US
- United States
- Prior art keywords
- resource
- controller
- state
- pending
- connection request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/36—Statistical metering, e.g. recording occasions when traffic exceeds capacity of trunks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0062—Provisions for network management
- H04Q3/0091—Congestion or overload control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/12—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/14—Backbone network devices
Definitions
- the field of this invention pertains to telecommunications, including a telecommunications network that uses a primary circuit switched service in conjunction with other services.
- arriving connection requests i.e, calls
- arriving connection requests are immediately allocated a telephone line. That is, arriving connection requests are immediately served when a “server,” i.e., a connection path, is available; otherwise, the connection request is denied.
- server i.e., a connection path
- connection request arrivals at the switch can occur because, in order that a high utilization of the available server capacity is achieved, the service provider only provides enough connection resources to satisfy the average or lowest rate of call requests, thereby ensuring that upon termination of a call connection that is currently in progress, a new connection request is available to utilize the now available connection resource.
- the service time is usually significantly longer than the “inter-arrival time,” i.e., the time between connection request arrivals at the switch.
- the introduction of a secondary service is based on the notion that this secondary service has a significantly shorter service time than that of the primary service and, in addition, the secondary service time is comparable to or shorter than the arrival rates of the primary service connection requests.
- the secondary service should appear transparent to the users of the primary service because, although the unused system capacity is utilized by the secondary service, the connection resources used by the secondary service should be used and released before a blocking event, i.e., a primary service connection request denial, occurs.
- a blocking event i.e., a primary service connection request denial
- the present inventions provide a telecommunication system with a high utilization percentage and that handles a primary service and other services while maintaining a low primary service connection request blocking rate.
- the inventions comprise apparatus and methods for employing a controller in a network switch or router that enables the network to support a primary service and other services while minimizing the blocking rate of its primary service connection requests.
- a controller gives priority to the primary service connection requests, allocating each pending primary service connection request to an idle server before it allocates a secondary service connection request to an idle server.
- the controller determines to process a secondary service connection request, it first checks if the allocation of a server to the secondary service connection request will reduce a threshold of servers reserved for use by the primary service.
- the threshold of reserved servers is a number of servers maintained for the primary service's use. If the server allocation to the secondary service connection request will not reduce the threshold of reserved servers, the controller allocates an idle server to the secondary service connection request. If, however, the server allocation to the secondary service connection request will reduce the threshold of reserved servers, the controller denies a server allocation to the secondary service connection request, thereby blocking the secondary service connection request.
- a general object of the present inventions is to support a low primary service blocking rate on a network that handles both a primary and a secondary service.
- FIG. 1 is a block diagram of a typical known switch/router.
- FIG. 2 a is a graph of Erlang-B blocking curves for a 25 server system.
- FIG. 2 b is a graph of Erlang-B utilization curves for a 25 server system.
- FIG. 3 is a block diagram of a known dual service switch/router.
- FIG. 4 is a graph depicting a primary service blocking event for a dual service server system.
- FIG. 5 is a block diagram of a dual service network.
- FIG. 6 is a block diagram of a dual service server system that also supports random access signalling.
- FIG. 7 is a block diagram of a base station in a dual service network.
- FIG. 8 is a state diagram of a prior art server controller in a dual service network.
- FIG. 9 a is a graph depicting exemplary OTA resource utilization for a base station utilizing a prior art server controller.
- FIG. 9 b is a graph depicting exemplary primary and secondary service connection request blocking percentages at a base station utilizing a prior art server controller.
- FIG. 10 is a graph depicting exemplary inter call delays at a base station.
- FIG. 11 is a block diagram of a resource threshold controller in accordance with the present inventions employed in a dual service server system.
- FIG. 12 is a state diagram of a resource threshold controller in a dual service network.
- FIG. 13 a is a graph depicting exemplary resource utilization for a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 13 b is a graph depicting exemplary service connection request blocking percentages at a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 14 is a table depicting the results of varying the reserved headroom for a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 15 is a graph depicting exemplary resource utilization at a base station-based on a primary service's connection request arrival rate and a reserved headroom.
- FIG. 16 is a block diagram of a presently preferred probabilistic resource controller in accordance with the present inventions employed in a dual service server system.
- FIG. 17 is pseudo code for a “probability_of_N_terminating” subroutine employed in accordance with the present inventions.
- FIG. 18 is pseudo code for a “Resource_estimator” routine employed in accordance with the present inventions.
- FIG. 19 is a state diagram of a presently preferred probabilistic resource controller employed in a dual service server system.
- FIG. 20 are exemplary blocking table graphs for a base station with a heavy loading condition and with a light loading condition.
- connection request 102 is allocated a respective server 104 , i.e., connection path, by the switch controller 103 if a server 104 is available.
- a connection request 102 is allocated a respective server 104 , it becomes a connection in progress 105 . If a server 104 is not available, however, the switch controller 103 , denies the connection request 102 .
- the M/M/m nomenclature of an M/M/m server system 101 describes the characteristics of the server system 101 .
- the first upper case letter “M” comprises the nature of the arrival process, whereby “M” indicates poisson, and “G” indicates general.
- the second upper case letter “M” comprises the statistical distribution of the service time associated with the arriving server system connection requests, whereby “M” indicates exponential, “G” indicates general, and “D” indicates deterministic.
- the final, lower case letter “m” comprises the maximum number of servers 104 available in the switch controller 103 .
- Erlang-B blocking and utilization curves may be used to determine the utilization of the available capacity of servers 104 of the switch controller 103 , and the rate at which connection requests 102 are denied.
- FIG. 2 a depicts exemplary Erlang-B blocking curves 205 for a small, maximum twenty-five server, server system and
- FIG. 2 b depicts exemplary Erlang-B utilization curves 210 for a small server system also comprised of a maximum of twenty-five servers.
- the Erlang-B utilization curves 210 of FIG. 2 b reveal that server utilization can be arbitrarily close to one-hundred percent when the rate at which connection requests are placed with the respective switch controller is relatively high.
- the penalty paid for this situation is that the associated blocking rate of service connection requests becomes unacceptably high.
- known systems to ensure satisfactory subscriber service, generally ensure that the worst case chance of a connection request being denied, i.e., blocked, is approximately one-tenth to one percent. For an exemplary twenty-five server system, this corresponds to a forty to sixty percent average utilization of the available server capacity.
- a dual service switch/router 301 is comprised of a server controller 306 .
- a plurality of primary service connection requests 302 are received by the server controller 306 .
- the primary service is a circuit switched service, which may include voice, i.e., telephone, messages, and is generally characterized by relatively low connection request arrival rates and relatively long connection in progress service times.
- a primary service connection request 302 is allocated a respective server 304 by the server controller 306 if a server 304 is available, and it then becomes a connection in progress 305 . If a server 304 is not available, however, the server controller 306 blocks the primary service connection request 302 . In an alternative embodiment, the server controller 306 temporarily holds the primary service connection request 302 , i.e., holds the primary service connection request 302 for a specific, lifetime, time, in the event a server becomes available to service it, prior to making the decision to discard it because a server 304 is not available for it.
- a plurality of secondary service connection requests 303 are also received by the server controller 306 .
- the secondary service is a packet data service, which may consist of data messages, and is generally characterized by relatively high connection request arrival rates and relatively short connection in progress service times.
- a secondary service connection request 303 is allocated a respective server 304 by the server controller 306 if a server 304 is available and if there are no primary service connection requests 302 pending at the server controller 306 , As with a primary service connection request 302 , when a secondary service connection request 303 is allocated a respective server 304 , it becomes a connection in progress 305 .
- the server controller 306 blocks the secondary service connection request 303 .
- the server controller 306 temporarily holds the secondary service connection request 303 , i.e., holds the secondary service connection request 303 , for a specific, lifetime, time, in the event a server becomes available to service it, prior to making the decision to discard it because a server 304 is not available for it.
- a primary service consisting of voice
- a secondary service consisting of data
- a secondary service consisting of data
- the system receives one secondary service connection request 420 .
- the server controller allocates the unused server 412 to the secondary service connection request 420 .
- there are two primary service connections in progress 426 there are two primary service connections in progress 426 , three secondary service connections in progress 427 , and no idle servers remain.
- the system receives two primary service connection requests 450 and three secondary service connection requests 455 .
- the primary service connection requests are given priority, and thus, the respective server controller allocates each of the two primary service connection requests 450 an idle server.
- the server controller blocks the three secondary service connection requests 455 .
- there are three primary service connections in progress 465 there are three secondary service connections in progress 466 , and no idle servers remain.
- the system receives one primary service connection request 475 and four secondary service connection requests 480 . As there are no idle servers available, the system blocks the primary service connection request 475 and the four secondary service connection requests 480 . Thus, at time 485 , there remains three primary service connections in progress 490 , two secondary service connections in progress 491 , and no idle servers. If, however, the system did not support the secondary service, the primary service connection request 475 would have been allocated a server, as the two servers allocated to the two secondary service connections in progress 466 at time 460 and 491 at time 485 would be idle. Thus, the introduction of a secondary service into the system has resulted in a primary service connection request being blocked.
- a presently preferred embodiment of a: dual service server system in accordance with the present inventions is a network 501 of FIG. 5 which supports both a primary, circuit switched, service and a secondary, packet data, service.
- network 501 is a wireless network.
- Alternative network embodiments include wireline or wireless/wireline, including local area networks (“LAN”s) and wide area networks (“WAN”s).
- LAN local area networks
- WAN wide area networks
- the network 501 is comprised of a plurality of base stations 502 which communicate with a plurality of network subscribers 503 via an over-the-air communication link 545 , i.e., radio airwaves.
- Each base station 502 has a primary service interface (not shown) which connects the base station 502 to a base station controller 555 , via a communication link 506 .
- Each base station controller 555 is also linked, via a communication link 560 , to a circuit switched network 505 .
- the circuit switched network 505 may be a GSM network or a POTS network.
- the communication links 506 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line.
- the communication links 560 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line.
- Each base station 502 also has a secondary service interface (also not shown) which connects the base station 502 to a packet data network 508 , via a communication link 509 .
- each base station 502 may communicate with a base station controller 555 via a communication link 506 ; the respective base station controller 555 , in turn, communicates with the packet data network 508 via a communication link 550 .
- the communication links 509 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line.
- the communication links 550 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line.
- Each base station 502 utilizes four queues (also not shown) for maintaining pending primary and secondary service connection requests.
- a first queue is for subscriber-initiated primary service connection requests and a second queue is for primary service connection requests transmitted from the circuit switched network 505 .
- a third queue is for subscriber-initiated secondary service connection requests and a fourth queue is for secondary service connection requests transmitted from the packet data network 508 .
- Each base station 502 also receives random access signals, i.e., signalling connection requests, from the network's subscribers 503 , the signalling connection requests requesting subscriber access to the network 501 .
- Each base station 502 may have a fifth queue, or other memory storage allocation, for maintaining pending signalling connection requests at it.
- each base station 502 has thirty-two uplink/downlink “slot pairs,” (also not shown) which comprise the respective base station's 502 over-the-air (“OTA”) resource.
- a slot pair of a base station 502 is a server for communications between the base station 502 and a subscriber 503 .
- a server on a base station 502 is permanently reserved for the signalling connection requests received by the base station 502 ; this server can be, but does not have to be, the same base station server all the time.
- thirty-one servers on a base station 502 can support primary and secondary service connection requests.
- more than one server can be reserved for signalling connection requests and/or more than one server at one time, if available, can be allocated to signalling connections in progress.
- a respective base station 502 receives a plurality of subscriber-initiated primary service connection requests 605 , a plurality of network-initiated primary service connection requests 606 , a plurality of subscriber-initiated secondary service connection requests 607 , a plurality of network-initiated secondary service connection requests 608 and a plurality of signalling connection requests 609 .
- any connection request 605 , 606 , 607 , 608 or 609 is allocated a respective base station server 615 , the connection request becomes a connection in progress 620 .
- the arrival rates of the primary service connection requests 605 and 606 and the service times of the primary service connections in progress 620 at a respective base station 502 are generally, but not necessarily, identical, irrespective of the originating source, i.e., network-originated or subscriber-originated.
- the arrival rates of the secondary service connection requests 607 and 608 and the service times for the secondary service connections in progress 620 at a respective base station 502 may also be, but are not necessarily, identical, irrespective of the originating source.
- the connection request arrival rates and the connection in progress service times associated with each service, primary and secondary differ.
- the primary service is characterized by generally slower connection request arrival rates and longer connection in progress service times than the secondary service.
- a base station 502 of FIG. 6 is equipped with a prior art server controller 710 , which is responsible for managing the base station's OTA resource 715 .
- the server controller 710 of a respective base station is comprised of a server apportioner sub entity 720 and a server surveyor sub entity 725 , which are responsible for serving a primary service connection request in preference to a secondary service connection request, and for allocating at least one respective base station server for signalling connection requests.
- the server surveyor 725 examines the respective base station's OTA resource 715 and determines if one or more servers are idle, and thus, capable of supporting a connection request.
- each base station has thirty-two uplink/downlink slot pairs, i.e., servers, which comprise the base station's OTA resource 715 ; an exemplary sixteen of these thirty-two slot pairs 740 are illustrated, for both the respective base station's uplink and downlink.
- the server apportioner 720 examines four queues of pending primary and secondary connection requests, 730 , 731 , 732 and 733 , and a queue of random access signalling 735 , i.e., pending signalling connection requests, and allocates idle servers, i.e., slot pairs 740 which are not allocated to a connection in progress, to the pending connection requests in a prioritized manner.
- the server apportioner 720 allocates the signalling connection requests at least one server, and serves the primary service connection requests in preference to the secondary service connection requests.
- FIG. 8 illustrates a state diagram of a prior art server controller (not shown).
- the server controller is in an idle server state 801 if there are no connection requests pending at the respective base station. If one or more connection requests become pending, the server controller requests the resources of its respective server apportioner 820 , and makes an idle to request transition 830 , to the examine request state 802 .
- the server controller Upon the idle to request transition 830 , the server controller requests the services of its respective server surveyor 825 , and makes a request to resource transition 835 to an examine resource state 806 .
- the server surveyor 825 examines the OTA resource of the respective base station (not shown) and determines the pointers, or indices or addresses to all the possible servers that may currently be utilized to support a connection request, or alternatively, that the OTA resource is fully utilized, i.e., there are no available servers to allocate to a pending connection request, and, thus, a blocking condition exists.
- the server surveyor 825 then supplies this information to the server apportioner 820 , with the server controller making a resource to request transition 840 back to the examine request state 802 .
- the server apportioner 820 uses the information supplied by the server surveyor 825 to determine whether or not the server controller may allocate a respective base station server, or servers, to a pending connection request. If the server apportioner 820 determines that there are no connection requests pending at the respective base station, the sever controller makes a request to idle transition 845 to the idle server state 801 .
- the server controller determines that the server surveyor 825 has identified a blocking condition, the server controller also makes the request to idle transition 845 to the idle server state 801 .
- the server controller makes a request to signalling apportionment transition 855 to an apportion resource to signalling state 803 . If the server apportioner 820 determines that one or more primary service connection requests are pending and no signalling connection requests are pending at the respective base station, and that the server surveyor 825 has identified that there is an available base station server, then the server controller makes a request to voice apportionment transition 860 to an apportion resource to voice state 804 .
- the server controller makes a request to data apportionment transition 865 to an apportion resource to data state 805 .
- the server apportioner 820 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. If the lifetime, i.e., a specified time limit from when a connection request becomes pending at a respective base station, of the selected signalling connection request has not expired, the server apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by the server surveyor 825 , to it, and then the server controller makes a signalling apportionment to request transition 870 back to the examine request state 802 . If, however, the lifetime of the selected signalling connection request has expired, the server apportioner 820 discards it from its respective queue, and the server controller makes the signalling apportionment to request transition 870 back to the examine request state 802 .
- the server apportioner 820 discards it from its respective queue, and the server controller makes the signalling apportionment to request transition 870 back to the examine request
- the server apportioner 820 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. If the lifetime of the selected primary service connection request has not expired, the server apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by the server surveyor 825 , to it, and then the server controller makes a voice apportionment to request transition 875 back to the examine request state 802 . If, however, the lifetime of the selected primary service connection request has expired, the server apportioner 820 discards it from its respective queue, and the server controller makes the voice apportionment to request transition 875 back to the examine request state 802 .
- the server apportioner 820 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. If the lifetime of the selected secondary service connection request has not expired, the server apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by the server surveyor 825 , to it, and then the server controller makes a data apportionment to request transition 880 back to the examine request state 802 . If, however, the lifetime of the selected secondary service connection request has expired, the server apportioner 820 discards it from its respective queue, and the server controller makes the data apportionment to request transition 880 back to the examine request state 802 .
- An arrival rate of 1.0 corresponds to an aggregate primary service, i.e., circuit switched, arrival rate of one connection request every ten seconds and an aggregate secondary service, i.e., packet data, arrival rate of two connection requests per second.
- the arrival rate values of FIG. 9 a and FIG. 9 b are related to these base rates by a simple scaling factor.
- the average service times, i.e., connection in progress times, are one hundred and twenty seconds for the primary service and two seconds for the secondary service.
- An exemplary total OTA resource utilization 901 of a respective base station is an aggregate of the base station's network-originated and subscriber-originated primary service OTA resource utilization 902 , its network-originated secondary service OTA resource utilization 903 and its subscriber-originated secondary service OTA resource utilization 904 .
- the utilization curves of FIG. 9 a illustrate that subscriber-originated secondary service traffic is penalized in favor of network-originated secondary service traffic; i.e., as the arrival rates of connection requests increase, the respective base station OTA resource utilization by secondary service subscriber-originated traffic 904 decreases while the OTA resource utilization by secondary service network-originated traffic 903 increases.
- an exemplary blocking rate for primary service network-originated 910 and subscriber-originated 911 connection requests, as well as a blocking rate for secondary service network-originated 915 and subscriber-originated 916 connection requests are illustrated for a respective base station with a server controller 710 , as shown in FIG. 7.
- the subscriber-originated primary connection requests (curve 911 ) are blocked at a higher rate than the corresponding subscriber-originated secondary service connection requests (curve 916 )
- the network-originated primary connection requests (curve 910 ) are blocked at a higher rate than the corresponding network-originated secondary service connection requests (curve 915 ).
- the exemplary blocking curves 910 , 911 , 915 and 916 illustrate that the introduction of a secondary, i.e., packet data, service may significantly increase the chance that a primary, i.e., circuit switched, service connection request will be blocked. Therefore, despite the fact that a server controller 710 of FIG. 7 allocates a respective base station server to a pending primary service connection request in preference to a secondary service connection request, blocking of the primary service can still occur.
- FIG. 10 illustrates the fundamental problem; since there is a larger number of secondary service connection requests, i.e., secondary service connection arrivals, 1005 , and they occur more frequently than the primary service connection requests (arrivals) 1010 , the probability that the last available respective base station slot pair, i.e. server, will be allocated to a secondary service connection request exceeds the probability that it will be allocated to a primary service connection request and, as a consequence, the associated primary service blocking rate increases.
- a base station (not shown) is equipped with a resource threshold controller 1101 .
- the resource threshold controller 1101 implements a reserved headroom control rule used to prevent a secondary service connection request from being allocated a respective base station server if the base station OTA resource 1115 cannot support a predetermined number, i.e., a reserved headroom, of primary service connection requests that may arrive at the base station after a base station server is allocated to a secondary service connection request.
- the resource threshold controller 1101 is comprised of a resource distributor 1120 and a resource determiner 1125 .
- the resource threshold controller 1101 approach permits the rate of primary service blocking due to server allocation to secondary service connection requests to be controlled by pre-setting a reserved headroom of respective base station servers to be reserved for use by the primary service.
- the reserved headroom number of servers can be set by the service provider by an appropriate command to the base station. If the resource threshold controller 1101 determines that allocating a respective base station server to a pending secondary service connection request will cause the available number of idle servers to fall below the reserved headroom, it blocks the secondary service connection request.
- the reserved headroom is set so that the resource threshold controller 1101 maintains the maximum number of possible idle servers for primary service connection requests, than primary service blocking will not occur due to the secondary service because a secondary service connection request will never be allocated a server. However, in this situation, primary service blocking may still occur if the primary service connection request arrival rate is sufficiently high to overtax the respective base station's OTA resource 1115 , i.e., the base station's collective servers. Conversely, if the reserved headroom is set to zero, the reserved headroom control rule is effectively disabled, and the secondary service will block the primary service in the manner previously discussed, in particular, in reference to FIG. 4. Thus, a primary service blocking rate can be set by a service provider by judiciously setting the reserved headroom. Introduction of the reserved headroom control rule ensures that a specified number of base station servers are reserved for use by the primary service.
- FIG. 12 illustrates a state diagram of a resource threshold controller 1101 of FIG. 11.
- the resource threshold controller (not shown) is in an idle dominion state 1201 if there are no connection requests pending at the respective base station. If one or more connection requests become pending at the respective base station, the resource threshold controller requests the resources of its resource distributor 1215 , and makes an idle to check request transition 1225 to a check request state 1202 .
- the resource threshold controller Upon the idle to check request transition 1225 , the resource threshold controller requests the services of its resource determiner 1220 and makes a check request to check resource transition 1230 to a check resource state 1203 .
- the resource determiner 1220 examines the OTA resource of the respective base station and determines the current number of additional connection requests that can be supported, i.e., served, and the pointers, or indices or addresses to all the possible servers that may currently be utilized to support a connection request, or alternatively, that the OTA resource is fully utilized, i.e., there are no available servers to allocate to a pending connection request, and, thus, a blocking condition exists.
- the resource determiner 1220 then supplies this information to the resource distributor 1215 , with the resource threshold controller making a check resource to check request transition 1231 back to the check request state 1202 .
- the resource distributor 1215 uses the information supplied by the resource determiner 1220 to determine whether or not the resource threshold controller may allocate a respective base station server, or servers, to a pending connection request. If the resource distributor 1215 determines that there are no connection requests pending at the respective base station, the resource threshold controller makes a check request to idle transition 1226 to the idle dominion state 1201 . If the resource distributor 1215 determines that the resource determiner 1220 has identified a blocking condition exists, the resource threshold controller also makes the check request to idle transition 1226 to the idle dominion state 1201 .
- the resource distributor 1215 determines that one or more signalling connection requests are pending at the respective base station and that the resource determiner 1220 has identified that there is an available base station server, then the resource threshold controller makes a check request to signalling distribution transition 1235 to a distribute resource to signalling state 1204 .
- the resource distributor 1215 determines that one or more primary service connection requests are pending and no signalling connection requests are pending at the respective base station, and that the resource determiner 1220 has identified that there is an available base station server, then the resource threshold controller makes a check request to primary distribution transition 1236 to a distribute resource to primary service state 1205 .
- the resource distributor 1215 determines that one or more secondary service connection requests are pending and no signalling or primary service connection requests are pending at the respective base station, that the resource determinor 1220 has identified that there is an available base station server, and that allocation of a base station server to a secondary service connection request will not reduce a reserved headroom number of servers, then the resource threshold controller makes a check request to secondary distribution transition 1237 to a distribute resource to secondary service state 1206 .
- the resource distributor 1215 determines that one or more secondary service connection requests are pending and no signalling or primary service connection requests are pending at the respective base station, but, although the resource determiner 1220 has identified that there is a server available, it has also identified that allocation of a server to a secondary service connection request will reduce the reserved headroom number of servers, then the resource threshold controller blocks the pending secondary service connection request(s) and makes the check request to idle transition 1226 to the idle dominion state 1201 .
- the resource distributor 1215 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. If the lifetime of the selected signalling connection request has not expired, the resource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220 , to it, and then the resource threshold controller makes a signalling distribution to check request transition 1240 back to the check request state 1202 . If, however, the lifetime of the selected signalling connection request has expired, the resource distributor 1215 discards it from its respective queue and the resource threshold controller makes the signalling distribution to check request transition 1240 back to the check request state 1202 .
- the selected signalling connection request is the oldest pending signalling connection request at the respective base station. In an alternative embodiment, the selected signalling connection request is based on a priority scheme.
- the resource distributor 1215 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. If the lifetime of the selected primary service connection request has not expired, the resource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220 , to it, and then the resource threshold controller makes a primary distribution to check request transition 1241 back to the check request state 1202 . If, however, the lifetime of the selected primary service connection request has expired, the resource distributor 1215 discards it from its respective queue and the resource threshold controller makes the primary distribution to check request transition 1241 back to the check request state 1202 .
- the selected primary service connection request is the oldest pending primary service connection request at the respective base station. In an alternative embodiment, the selected primary service connection request is based on a priority scheme.
- the resource distributor 1215 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. If the lifetime of the selected secondary service connection request has not expired, the resource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220 , to it, and then the resource threshold controller makes a secondary distribution to check request transition 1242 back to the check request state 1202 . If, however, the lifetime of the selected secondary service connection request has expired, the resource distributor 1215 discards it from its respective queue and the resource threshold controller makes the secondary distribution to check request transition 1242 back to the check request state 1202 .
- the selected secondary service connection request is the oldest pending secondary service connection request at the respective base station. In an alternative embodiment, the selected secondary service connection request is based on a priority scheme.
- a total OTA resource utilization 1301 of a respective base station with a resource threshold controller 1101 as illustrated in FIG. 11, using an exemplary reserved headroom of four servers, is an aggregate of the base station's network-originated and subscriber-originated primary service OTA resource utilization 1302 and the base station's network-originated and subscriber-originated secondary service OTA resource utilization 1303 , which itself is an aggregate of the base station's network-originated secondary service OTA resource utilization 1304 and its subscriber-originated secondary service OTA resource utilization 1305 .
- the utilization curves 1302 and 1303 indicate that using a resource threshold controller, a respective base station server is allocated to a primary service connection request in preference to a secondary service connection request, and that as the primary service connection request arrival rate increases, the number of respective base station servers allocated to secondary service connection requests typically decreases.
- exemplary blocking rates for primary service network-originated and subscriber-originated connection requests 1320 for a base station with a resource threshold controller 1101 as illustrated in FIG. 11, using an exemplary reserved headroom of four servers, are lower than corresponding exemplary blocking rates for secondary service network-originated and subscriber-originated connection requests 1325 .
- the primary service utilization curve 1302 of FIG. 13 a and the primary service blocking rate curves 1320 of FIG. 13 b further illustrate that when primary service OTA resource utilization rates reach forty to sixty percent, the associated primary service connection request blocking rates are one-tenth to one percent. This infers that the secondary service has little or no impact upon the primary service, as these primary service connection request blocking rates are associated with an ideal operating point.
- FIG. 14 illustrates that by varying the reserved headroom for a respective base station using a resource threshold controller 1101 as illustrated in FIG. 11, while the respective primary and secondary service loads, i.e., connection request arrival rates and connection in progress service times, are held constant, the primary service blocking rate can be set to any desired level, at the expense, however, of increasing the secondary service blocking rate. Additionally, if the reserved headroom is made too large, ensuring that the primary service blocking rate is low, then the maximum possible utilization of the respective OTA resource, i.e., servers, by the secondary service is generally not achieved.
- the primary and secondary service loads i.e., connection request arrival rates and connection in progress service times
- the reserved headroom 1503 should be set low, thereby allowing the secondary service to maximize the OTA resource utilization 1502 of the respective base station.
- a low reserved headroom in this situation is generally permissible as the probability that multiple primary service connection requests will arrive at any one time is very low.
- the reserved headroom 1503 should also be set high, which minimizes the secondary service's OTA resource utilization 1502 of the respective base station, but ensures that a specified primary service blocking rate is maintained. It remains desirable, however, even with a high primary service connection request arrival rate, to correctly set the reserved headroom so that the secondary service can achieve a maximum OTA resource utilization 1502 of the respective base station.
- a base station uses a probabilistic resource controller 1601 comprised of four sub-entities for handling its respective base station's primary and secondary service connection requests and signalling connection requests, and for managing the base station's OTA resource 1607 .
- the probabilistic resource controller 1601 does not utilize a fixed, pre-determined reserved headroom number of servers; instead, it uses a probabilistic reserved headroom control rule wherein it re-assesses and updates an optimum reserved headroom to be utilized for the respective base station.
- the optimum reserved headroom is the number of respective base station servers reserved for primary service connection requests that ensures that the primary service blocking rate at a respective base station is maintained at a desired value, while still allowing the secondary service to maximize utilization of the base station's servers.
- the primary service blocking rate for a respective base station may be set by the service provider by an appropriate command to the base station.
- a first sub entity of the probabilistic resource controller 1601 is a resource monitor 1603 .
- the resource monitor 1603 has a first group of inputs 1606 comprised of the respective base station's four pending connection request queues 1617 for the primary and secondary services; i.e., a primary service network-originated pending connection request queue, a primary service subscriber-originated pending connection request queue, a secondary service network-originated pending connection request queue and a secondary service subscriber-originated pending connection request queue.
- the resource monitor 1603 has a second input 1614 comprising status information retrieved from the respective base station's OTA resource 1607 ; i.e., the base station's servers.
- the resource monitor 1603 examines the respective base station's primary and secondary service connection requests and determines their average arrival rates. In particular, the resource monitor 1603 estimates the primary service connection request arrival rate, ⁇ p , and the secondary service connection request arrival rate, ⁇ s ; i.e., the number of primary and secondary service connection requests received by the respective base station per second.
- the resource monitor 1603 also assesses the average service times of both the primary and secondary service connections in progress; i.e., the average time a respective server 1607 is utilized when a connection request for the service has been allocated a server 1607 .
- the resource monitor 1603 estimates the average primary service time, ⁇ p , and the average secondary service time, ⁇ s , for the respective base station.
- the resource monitor 1603 may monitor the respective OTA resource 1607 directly, via its input 1614 , utilizing an appropriate monitoring technique.
- the estimates of the parameter values derived by the resource monitor 1603 i.e., ⁇ p , ⁇ s, ⁇ p, and ⁇ s , which can be obtained from any accurate standard or available technique, comprise the resource monitor's output 1613 .
- a second sub entity of the probabilistic resource controller 1601 is a resource identifier 1605 .
- the resource identifier 1605 has a first input 1610 comprising status information from the respective base station's OTA resource 1607 .
- the resource identifier 1605 examines the respective base station's OTA resource 1607 and determines the number of current signalling, primary, ⁇ p , and secondary, ⁇ s , connections in progress (not shown).
- the numbers of connections in progress comprise the first output 1611 of the resource identifier 1605 .
- the resource identifier 1605 also determines if a respective base station server 1607 is currently available to support an additional connection request.
- the resource identifier 1605 further determines the exact pointers, or indices or addresses to them. If no respective servers 1607 are available, the resource identifier 1605 determines a blocking condition exists; i.e., no connection request can be served.
- the respective available server pointers, or indices or addresses, or a blocking condition status comprise the resource identifier's second output 1615 .
- a third sub entity of the probabilistic resource controller 1601 is a resource allocator 1602 .
- the resource allocator 1602 has a first group of inputs 1620 comprised of the respective base station's four pending connection request queues 1617 for the primary and secondary services, and a second input 1609 comprised of a signalling queue 1616 containing the pending signalling connection requests, i.e., random access signals (not shown), received by the respective base station.
- the resource allocator 1602 has a third input 1615 comprised of the respective resource identifier's output 1615 .
- the resource allocator's third input 1615 is the available server pointers, or indices or addresses, or the blocking condition status determined by the resource identifier 1605 .
- the resource allocator 1602 has a fourth input 1618 comprised of a respective resource estimator's output 1618 .
- the resource allocator's fourth input 1618 is the reserved headroom computed by a respective resource estimator 1604 .
- the resource allocator 1602 manages and allocates the respective base station's OTA resource 1607 .
- the resource allocator 1602 has an output 1608 to the OTA resource 1607 consisting of the allocation(s) of servers 1607 to the respective base station's connection request(s).
- the resource allocator 1602 ensures that the service provider's service priority policy is implemented, and that the overall utilization of the OTA resource 1607 is maximized.
- the resource allocator 1602 processes a pending signalling connection request in preference to either a pending primary or secondary service connection request, and processes a primary service connection request in preference to a pending secondary service connection request. Further, the resource allocator 1602 does not allocate a pending secondary service connection request an available base station server 1607 if the allocation will reduce the reserved headroom servers.
- the resource allocator 1602 also ensures equity of server allocations between network-originated and subscriber-originated connection requests for both the primary and secondary services.
- a fourth, and final, sub entity of the probabilistic resource controller 1601 is a resource estimator 1604 .
- the resource estimator 1604 has a first input 1613 corresponding to the respective resource monitor's output 1613 .
- the resource estimator's first input 1613 is the estimates of the parameter values ⁇ p , ⁇ s, ⁇ p, and ⁇ s derived by the resource monitor 1603 .
- the resource estimator 1604 has a second input 1611 corresponding to the respective resource identifier's output 1611 .
- the resource estimator's second input 1611 is the number of primary service connections in progress ⁇ p , the number of secondary service connections in progress ⁇ s and the number of signalling connections in progress on the respective base station, determined by the respective resource identifier 1605 .
- the resource estimator 1604 is responsible for computing an optimal reserved headroom to be used prior to the allocation of a base station server 1607 to a specific connection request.
- the reserved headroom computed by the resource estimator 1604 comprises its output 1618 to the resource allocator 1602 , and ensures that the resource allocator 1602 correctly allocates a respective server 1607 to a secondary service connection request, thereby, maximizing the OTA resource utilization, or, alternatively, correctly denies a secondary service server allocation, thereby maintaining the primary service blocking rate.
- the resource estimator 1604 of a respective base station calculates an optimum reserved headroom given a current system operating point.
- the system's operating point is specified by the parameters ⁇ p , ⁇ s, ⁇ p , ⁇ s , ⁇ p , and ⁇ s .
- the resource estimator 1604 also evaluates the probability that k primary service connections will terminate during the observation time interval t obs , given ⁇ p primary service connections in progress, drawn from an exponential process with an average service time ⁇ p .
- L is an arbitrarily large number.
- Equations two through five may be used to calculate the maximum number of connections in progress for the respective primary and secondary services that have a
- a potential primary service blocking condition exists if the expected number of primary service connection requests pending at a respective base station within a specific time interval exceeds the number of respective servers that are idle during the same time interval.
- the resource estimator 1604 can compute a primary service blocking event estimator, which is the probability that if N primary service connection requests were to become pending at a respective base station during some subsequent time interval, i.e., t obs , one or more would be blocked:
- the resource estimator 1604 determines that the probability of blocking, i.e., P(blocking), evaluated by equation seven exceeds a primary service blocking rate defined by the respective base station's service provider, then it may infer that the current level of available headroom is insufficient, and it should inform the respective resource allocator 1602 not to allocate a respective base station server 1607 to any secondary service connection requests at the time. Any pending secondary service connection requests at the base station will not be allocated a respective server until additional servers become available due to the termination of existing primary and secondary service connections in progress at the base station.
- P(blocking) probability of blocking
- the probabilistic resource controller 1601 As the primary service connection request arrival rate at a base station increases, or, as the average secondary service connection in progress service time at the base station increases, the corresponding probability that a pending secondary service connection request will be allocated a respective server decreases. Also with the probabilistic resource controller 1601 , as the number of secondary service connections in progress at a base station decreases, and the number of available respective base station servers decreases, the corresponding probability that a pending secondary service connection request will be allocated a respective server also decreases.
- the resource estimator 1604 of a respective probabilistic resource controller 1601 illustrated in FIG. 16 executes corresponding code instructions of a “probability_of_N_terminating” pseudo code subroutine 1701 to compute equations 6a or 6b above, to calculate the maximum number of primary or secondary service connections in progress at a respective base station with a ninety-five percent or greater chance of terminating in a specific time interval.
- the resource estimator 1604 of a respective probabilistic resource controller 1601 illustrated in FIG. 16 executes corresponding code instructions of a “Resource_estimator” pseudo code routine 1801 to compute equations one through eight above, to calculate a reserved headroom for a respective base station for a service provider defined primary service blocking rate corresponding to a “blocking_threshold” parameter 1802 .
- FIG. 19 illustrates a state diagram of a probabilistic resource controller 1601 (not shown) of FIG. 16.
- the probabilistic resource controller is in an idle controller state 1901 if there are no connection requests pending at the respective base station. If one or more connection requests become pending at the respective base station, the probabilistic resource controller makes an idle to examine OTA resource transition 1940 to an examine OTA resource state 1902 . Upon the idle to examine OTA resource transition 1940 , the probabilistic resource controller requests the services of its respective resource identifier 1915 .
- the estimate available OTA resource component 1925 of the resource identifier 1915 examines the current status of the respective base station's OTA resource and determines the number of servers available that could support a new connection in progress, the number of primary and secondary connections in progress, and the pointers, or indices or addresses, to all the possible server and server combinations that could currently support a new connection in progress.
- the probabilistic resource controller makes an examine OTA resource to examine connect request transition 1942 to an examine connection requests state 1903 . If, however, the estimate available OTA resource component 1925 determines that there are no respective base station servers currently available, the probabilistic resource controller declares that all the pending connection requests have encountered a blocking condition, i.e., none can be allocated a server at this time, and makes an examine OTA resource to idle transition 1941 to the idle controller state 1901 .
- the probabilistic resource controller Upon making the examine OTA resource to examine connect request transition 1942 , the probabilistic resource controller requests the services of its resource allocator 1910 to examine the respective base station's pending connection requests. The probabilistic resource controller first discards all connection requests from their respective queues for which the resource allocator 1910 has determined that the lifetime of the connection request has expired.
- the probabilistic resource controller makes an examine connect request to signalling allocation transition 1946 to an allocate OTA resource to signalling state 1905 . Otherwise, if the resource allocator 1910 determines that there is one or more pending primary service connection requests and no pending signalling connection requests at the respective base station, the probabilistic resource controller makes an examine connect request to primary allocation transition 1947 to an allocate OTA resource to primary service state 1906 .
- the probabilistic resource controller makes an examine connect request to examine headroom transition 1948 to an examine reserved headroom state 1904 . If, however, the resource allocator 1910 determines there are no pending connection requests at the respective base station, the probabilistic resource controller makes an examine connect request to idle transition 1945 to the idle controller state 1901 .
- the resource allocator 1910 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. The resource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by the estimate available OTA resource component 1925 of the respective resource identifier 1915 , to the selected signalling connection request, and the probabilistic resource controller then makes a signalling allocation to idle transition 1955 to the idle controller state 1901 .
- the selected signalling connection request is the oldest pending signalling connection request at the respective base station.
- the selected signalling connection request is based on a priority scheme.
- the resource allocator 1910 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. The resource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by the respective resource identifier 1915 , to the selected primary service connection request, and the probabilistic resource controller then makes a primary allocation to idle transition 1956 to the idle controller state 1901 .
- the selected primary service connection request is the oldest pending primary service connection request at the respective base station.
- the selected primary service connection request is based on a priority scheme.
- the probabilistic resource controller requests the services of its respective resource identifier 1915 , resource monitor 1930 and resource estimator 1920 .
- the estimate available OTA resource component 1925 of the resource identifier 1915 examines the current status of the respective base station's OTA resource and determines the number of servers available that could support a new connection in progress, the current numbers of primary, ⁇ p , and secondary, ⁇ s , service connections in progress, and the pointers, or indices or addresses, to all the possible server and server combinations that could currently support a new connection in progress.
- the estimate connection and service statistics component 1931 of the respective resource monitor 1930 monitors the arrival time of each new primary and secondary service connection request and the service time of each primary and secondary service connection in progress at the respective base station, and then computes an average arrival rate, ⁇ p and ⁇ s , and an average service time, ⁇ p and ⁇ s , for the respective primary and secondary services.
- the compute reserved headroom component 1921 of the respective resource estimator 1920 utilizes the parameter values derived by the estimate available OTA resource component 1925 (i.e., ⁇ p and ⁇ s ) and the estimate connection and service statistics component 1931 (i.e., ⁇ p , ⁇ s , ⁇ p and ⁇ s ) to compute an optimum reserved headroom to ensure a specified primary service blocking rate is not exceeded.
- the probabilistic resource controller makes an examine headroom to secondary allocation transition 1950 to an allocate OTA resource to secondary service state 1907 .
- the probabilistic resource controller blocks the pending secondary service connection request(s), i.e., denies a server allocation to the pending secondary service connection request(s), and makes an examine headroom to idle transition 1949 to the idle controller state 1901 .
- the resource allocator 1910 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. The resource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by the estimate available OTA resource component 1925 of the respective resource identifier 1915 , to the selected secondary service connection request, and the probabilistic resource controller then makes a secondary allocation to idle transition 1957 to the idle controller state 1901 .
- the selected secondary service connection request is the oldest pending secondary service connection request at the respective base station.
- the selected secondary service connection request is based on a priority scheme.
- shaded entries 2003 and 2004 of respective exemplary blocking tables 2001 , for heavy loading conditions at a base station, and 2002 , for light loading conditions at the base station illustrate the combinations of the numbers of primary service and secondary service connections in progress on the base station which will result in a potential primary service blocking condition. These combinations, thus, should be prevented from occurring by the base station's probabilistic resource controller.
- the arrival rates of the secondary service connection requests may be often relatively high; typically one to two requests per second may be received by the respective base station.
- the resultant computational burden that the resource estimator 1604 of a respective probabilistic resource controller 1601 , illustrated in FIG. 16, may experience can be alleviated if the underlying rate of change of the primary and secondary service arrival rates and service times is relatively slow.
- a tabulation estimator of a probabilistic tabulation resource controller computes the optimum reserved headroom for each possible combination of primary and secondary connections in progress, using equations one through eight, discussed above, and stores the results in a lookup table, i.e., a “blocking” table. This allows the probabilistic tabulation resource controller's respective tabulation allocator, upon processing a pending secondary service connection request, to immediately look up the desired information as a simple function of the current number of primary and secondary connections in progress, rather than waiting, as may be required of a resource allocator for its respective resource estimator to complete the necessary computations.
- the blocking table can be updated as a background task by the tabulation estimator, as the respective base station's traffic statistics, i.e., the primary and secondary services arrival rates and service times, change.
- the probabilistic tabulation resource controller is generally structured and functions in a similar manner to a probabilistic resource controller 1601 of FIG. 16.
- an adaptive resource controller monitors the true primary service blocking rate experienced by its respective base station and weights future decisions regarding its OTA resource allocations based on the P(blocking) estimate by the true primary service blocking rate.
- the responsibilities of an adaptive monitor of a respective adaptive resource controller are expanded from those duties of a resource monitor 1603 of a respective probabilistic resource controller 1601 , illustrated in FIG. 16, to also monitor and record the true blocking rate experienced by the primary service on the respective base station.
- blocking_threshold parameter 1802 of FIG. 18 utilized by the adaptive resource controller in determining whether or not to allocate a respective base station server to a secondary service connection request is decreased. Conversely, if the true primary service blocking rate is less than the service provider specified value, then the blocking_threshold parameter 1802 is increased.
- a simple proportional control loop may be utilized to implement the necessary adjustments to the blocking_threshold parameter 1802 ; the control loop, however, must have a long time constant to ensure stability in the adaptive resource controller's algorithm calculations. In particular, the estimation calculations of the true blocking rate and the subsequent updates to the blocking_threshold parameter 1802 should be performed after extended time periods; e.g., the time period between subsequent blocking_threshold parameter updates should be several hours.
- the adaptive resource controller is generally structured and functions in a similar manner to a probabilistic tabulation resource controller.
- historical data on the primary and secondary service arrival rates and service times and the primary service blocking rates at a respective base station collected from different times of the day, week, month, or other useful time frame may be used by the base station's adaptive resource controller in calculating the optimum reserved headroom for a combination of primary and secondary service connections in progress.
- each base station has a processor and associated memory for executing the instructions necessary to perform the above-described resource threshold controller, probabilistic resource controller, probabilistic tabulation resource controller and adaptive resource controller functions.
Abstract
Apparatus for controlling the blocking of a network-supported primary service by a network-supported secondary service sharing the same network router/switch.
A controller included in the network's switch/router operates by identifying for each secondary service connection request the likelihood chat if it is allocated a router/switch server, a subsequent primary service connection request will be blocked, i.e., denied a server allocation of its own. If the controller determines it is unlikely that allocating a secondary service connection request a server will cause a subsequent primary service connection request to be blocked, it allocates an idle server to a currently pending secondary service connection request at the router/switch. If, however, the controller determines that it is likely that allocating a secondary service connection request a server will cause a subsequent primary service connection request to be blocked, it blocks any pending secondary service connection requests at the router/switch from being allocated a server at that time.
Description
- The field of this invention pertains to telecommunications, including a telecommunications network that uses a primary circuit switched service in conjunction with other services.
- In an ideal telephone switch system, arriving connection requests, i.e, calls, are immediately allocated a telephone line. That is, arriving connection requests are immediately served when a “server,” i.e., a connection path, is available; otherwise, the connection request is denied.
- The utilization of a telephone switch system can be driven arbitrarily close to one-hundred percent (i.e., an ideal telephone switch system) when the rate at which connection requests are placed with the switch is equal to or greater than the duration of any one connection in progress at the switch. At first glance, this appears desirable, as the system is maintained full with revenue-bearing traffic. However, the penalty paid for such a scenario is that the associated “call blocking rate,” i.e., the connection request denial rate, can become unacceptably high. This can occur because, in order that a high utilization of the available server capacity is achieved, the service provider only provides enough connection resources to satisfy the average or lowest rate of call requests, thereby ensuring that upon termination of a call connection that is currently in progress, a new connection request is available to utilize the now available connection resource. The service time, however, is usually significantly longer than the “inter-arrival time,” i.e., the time between connection request arrivals at the switch. This high utilization situation is intrinsically unacceptable from a system user's perspective, as the high utilization means a correspondingly higher blocking rate, since if the inter-arrival time is greater than or equal to the service time, service requests will not be immediately serviced, resulting in the now all-to-familiar “all circuits are busy, please try your call again later” message. Generally, to ensure satisfactory customer service, service providers provide excess connection resources so that the worst case chance of a connection becoming denied is low, typically on the order of one-tenth of one percent to one percent. For an exemplary twenty-five server system, this corresponds to an average utilization of the available system capacity that ranges between forty to sixty percent, depending on the service time of the system's traffic.
- The observation that the average utilization of the available system capacity lies between forty to sixty percent for small server systems has provided motivation to seek methods of utilizing the “unused;” i.e., available, system capacity. This, in turn, has resulted in the introduction of a secondary packet data service that shares the same switch/router with the primary, i.e., circuit switched, service.
- The introduction of a secondary service is based on the notion that this secondary service has a significantly shorter service time than that of the primary service and, in addition, the secondary service time is comparable to or shorter than the arrival rates of the primary service connection requests. Under these conditions, the secondary service should appear transparent to the users of the primary service because, although the unused system capacity is utilized by the secondary service, the connection resources used by the secondary service should be used and released before a blocking event, i.e., a primary service connection request denial, occurs. However, in reality, this is only true in a few highly optimized scenarios and, in general, the introduction of a secondary service may cause the primary service blocking rate to increase.
- In an effort to reduce high blocking rates for the primary service, service providers have held primary service connection requests for a short period of time until a server becomes available to which they may be allocated, the short period of time preferably comparable to the time to service a secondary connection in progress. However, this solution is only completely successful if the average service time of the secondary service is sufficiently short that a primary service user will not perceive the waiting period required for a server to become available. Yet, if the maximum permitted waiting time for a dial tone for the primary service is less than the generally preferred maximum waiting time of a quarter of a second, the constraints upon the secondary service times become unduly severe, necessitating very short secondary service data packets.
- Thus, while the introduction of a secondary service may increase system utilization, it may also significantly increase the chance that a primary service connection request will be blocked. This undesirable characteristic may be inherent in the system even if the primary service connection requests are handled in a preferential manner.
- Thus, it would be advantageous to provide a telecommunications system with high utilization that handled both primary and secondary services while maintaining a low primary service blocking rate below the secondary service blocking rate.
- The present inventions provide a telecommunication system with a high utilization percentage and that handles a primary service and other services while maintaining a low primary service connection request blocking rate. The inventions comprise apparatus and methods for employing a controller in a network switch or router that enables the network to support a primary service and other services while minimizing the blocking rate of its primary service connection requests.
- In a preferred embodiment, a controller gives priority to the primary service connection requests, allocating each pending primary service connection request to an idle server before it allocates a secondary service connection request to an idle server. When the controller determines to process a secondary service connection request, it first checks if the allocation of a server to the secondary service connection request will reduce a threshold of servers reserved for use by the primary service. The threshold of reserved servers is a number of servers maintained for the primary service's use. If the server allocation to the secondary service connection request will not reduce the threshold of reserved servers, the controller allocates an idle server to the secondary service connection request. If, however, the server allocation to the secondary service connection request will reduce the threshold of reserved servers, the controller denies a server allocation to the secondary service connection request, thereby blocking the secondary service connection request.
- Thus, a general object of the present inventions is to support a low primary service blocking rate on a network that handles both a primary and a secondary service. Other and further objects, features, aspects and advantages of the present inventions will become better understood with the following detailed description of the accompanying drawings.
- FIG. 1 is a block diagram of a typical known switch/router.
- FIG. 2a is a graph of Erlang-B blocking curves for a 25 server system.
- FIG. 2b is a graph of Erlang-B utilization curves for a 25 server system.
- FIG. 3 is a block diagram of a known dual service switch/router.
- FIG. 4 is a graph depicting a primary service blocking event for a dual service server system.
- FIG. 5 is a block diagram of a dual service network.
- FIG. 6 is a block diagram of a dual service server system that also supports random access signalling.
- FIG. 7 is a block diagram of a base station in a dual service network.
- FIG. 8 is a state diagram of a prior art server controller in a dual service network.
- FIG. 9a is a graph depicting exemplary OTA resource utilization for a base station utilizing a prior art server controller.
- FIG. 9b is a graph depicting exemplary primary and secondary service connection request blocking percentages at a base station utilizing a prior art server controller.
- FIG. 10 is a graph depicting exemplary inter call delays at a base station.
- FIG. 11 is a block diagram of a resource threshold controller in accordance with the present inventions employed in a dual service server system.
- FIG. 12 is a state diagram of a resource threshold controller in a dual service network.
- FIG. 13a is a graph depicting exemplary resource utilization for a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 13b is a graph depicting exemplary service connection request blocking percentages at a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 14 is a table depicting the results of varying the reserved headroom for a base station utilizing a resource threshold controller in accordance with the present inventions.
- FIG. 15 is a graph depicting exemplary resource utilization at a base station-based on a primary service's connection request arrival rate and a reserved headroom.
- FIG. 16 is a block diagram of a presently preferred probabilistic resource controller in accordance with the present inventions employed in a dual service server system.
- FIG. 17 is pseudo code for a “probability_of_N_terminating” subroutine employed in accordance with the present inventions.
- FIG. 18 is pseudo code for a “Resource_estimator” routine employed in accordance with the present inventions.
- FIG. 19 is a state diagram of a presently preferred probabilistic resource controller employed in a dual service server system.
- FIG. 20 are exemplary blocking table graphs for a base station with a heavy loading condition and with a light loading condition.
- Referring to FIG. 1, a typical M/M/
m server system 101 is shown, wherein a plurality ofconnection requests 102 are received by aswitch controller 103. Aconnection request 102 is allocated arespective server 104, i.e., connection path, by theswitch controller 103 if aserver 104 is available. When aconnection request 102 is allocated arespective server 104, it becomes a connection inprogress 105. If aserver 104 is not available, however, theswitch controller 103, denies theconnection request 102. - The M/M/m nomenclature of an M/M/
m server system 101 describes the characteristics of theserver system 101. The first upper case letter “M” comprises the nature of the arrival process, whereby “M” indicates poisson, and “G” indicates general. The second upper case letter “M” comprises the statistical distribution of the service time associated with the arriving server system connection requests, whereby “M” indicates exponential, “G” indicates general, and “D” indicates deterministic. The final, lower case letter “m” comprises the maximum number ofservers 104 available in theswitch controller 103. - If the arrival rate of the connection requests102 are characterized by a poisson process and each respective connection in
progress 105 has a service time that is drawn from an exponential distribution, then Erlang-B blocking and utilization curves may be used to determine the utilization of the available capacity ofservers 104 of theswitch controller 103, and the rate at which connection requests 102 are denied. FIG. 2a depicts exemplary Erlang-B blocking curves 205 for a small, maximum twenty-five server, server system and FIG. 2b depicts exemplary Erlang-B utilization curves 210 for a small server system also comprised of a maximum of twenty-five servers. - The Erlang-B utilization curves210 of FIG. 2b reveal that server utilization can be arbitrarily close to one-hundred percent when the rate at which connection requests are placed with the respective switch controller is relatively high. The penalty paid for this situation, however, as seen with the Erlang-B blocking curves 205 of FIG. 2a, is that the associated blocking rate of service connection requests becomes unacceptably high. Thus, known systems, to ensure satisfactory subscriber service, generally ensure that the worst case chance of a connection request being denied, i.e., blocked, is approximately one-tenth to one percent. For an exemplary twenty-five server system, this corresponds to a forty to sixty percent average utilization of the available server capacity.
- Forty to sixty percent server utilization for small server systems provided the motivation to add a secondary packet data service to these server systems, the secondary service sharing the same switch/router with the primary circuit-switched service. Referring to FIG. 3, a dual service switch/
router 301 is comprised of aserver controller 306. A plurality of primary service connection requests 302 are received by theserver controller 306. The primary service is a circuit switched service, which may include voice, i.e., telephone, messages, and is generally characterized by relatively low connection request arrival rates and relatively long connection in progress service times. - A primary
service connection request 302 is allocated arespective server 304 by theserver controller 306 if aserver 304 is available, and it then becomes a connection inprogress 305. If aserver 304 is not available, however, theserver controller 306 blocks the primaryservice connection request 302. In an alternative embodiment, theserver controller 306 temporarily holds the primaryservice connection request 302, i.e., holds the primaryservice connection request 302 for a specific, lifetime, time, in the event a server becomes available to service it, prior to making the decision to discard it because aserver 304 is not available for it. - A plurality of secondary service connection requests303 are also received by the
server controller 306. The secondary service is a packet data service, which may consist of data messages, and is generally characterized by relatively high connection request arrival rates and relatively short connection in progress service times. A secondaryservice connection request 303 is allocated arespective server 304 by theserver controller 306 if aserver 304 is available and if there are no primary service connection requests 302 pending at theserver controller 306, As with a primaryservice connection request 302, when a secondaryservice connection request 303 is allocated arespective server 304, it becomes a connection inprogress 305. If, however, aserver 304 is not available, or there is at least one primary service connection request pending at theserver controller 306, theserver controller 306 blocks the secondaryservice connection request 303. In an alternative embodiment, theserver controller 306 temporarily holds the secondaryservice connection request 303, i.e., holds the secondaryservice connection request 303, for a specific, lifetime, time, in the event a server becomes available to service it, prior to making the decision to discard it because aserver 304 is not available for it. - Referring to FIG. 4, a primary service, consisting of voice, and a secondary service, consisting of data, are simultaneously served in an exemplary five-server system. At
time 405, there are two primary service connections inprogress 410, two secondary service connections inprogress 411, and one remaining “idle,” i.e., unused,server 412. During afirst time interval 415, the system receives one secondaryservice connection request 420. As there is oneunused server 412 and no primary service connection requests pending, the server controller allocates theunused server 412 to the secondaryservice connection request 420. Thus, attime 425, there are two primary service connections inprogress 426, three secondary service connections inprogress 427, and no idle servers remain. - During a
second time interval 430, one primary-service connection in progress and one secondary service connection in progress are terminated and no primary or secondary service connection requests are received by the system. Thus, attime 435, there is one primary service connection inprogress 440, two secondary service connections inprogress 441, and twoidle servers 442 remain. - During a
third time interval 445, the system receives two primary service connection requests 450 and three secondary service connection requests 455. The primary service connection requests are given priority, and thus, the respective server controller allocates each of the two primary service connection requests 450 an idle server. As there are a maximum of five servers in the system and all five are now allocated, the server controller blocks the three secondary service connection requests 455. Thus, attime 460, there are three primary service connections inprogress 465, two secondary service connections inprogress 466, and no idle servers remain. - During a final, fourth,
time interval 470, the system receives one primaryservice connection request 475 and four secondary service connection requests 480. As there are no idle servers available, the system blocks the primaryservice connection request 475 and the four secondary service connection requests 480. Thus, attime 485, there remains three primary service connections inprogress 490, two secondary service connections inprogress 491, and no idle servers. If, however, the system did not support the secondary service, the primaryservice connection request 475 would have been allocated a server, as the two servers allocated to the two secondary service connections inprogress 466 attime time 485 would be idle. Thus, the introduction of a secondary service into the system has resulted in a primary service connection request being blocked. - A presently preferred embodiment of a: dual service server system in accordance with the present inventions is a
network 501 of FIG. 5 which supports both a primary, circuit switched, service and a secondary, packet data, service. In a presently preferred embodiment,network 501 is a wireless network. Alternative network embodiments include wireline or wireless/wireline, including local area networks (“LAN”s) and wide area networks (“WAN”s). Additionally, there is no requirement that the network support only two services. For example, a tri-service server system base station could be used in a network supporting, e.g., voice, data, and video on demand. - The
network 501 is comprised of a plurality ofbase stations 502 which communicate with a plurality ofnetwork subscribers 503 via an over-the-air communication link 545, i.e., radio airwaves. Eachbase station 502 has a primary service interface (not shown) which connects thebase station 502 to a base station controller 555, via acommunication link 506. Each base station controller 555 is also linked, via acommunication link 560, to a circuit switchednetwork 505. The circuit switchednetwork 505 may be a GSM network or a POTS network. The communication links 506 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line. The communication links 560 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line. - Each
base station 502 also has a secondary service interface (also not shown) which connects thebase station 502 to apacket data network 508, via acommunication link 509. Alternatively, eachbase station 502 may communicate with a base station controller 555 via acommunication link 506; the respective base station controller 555, in turn, communicates with thepacket data network 508 via acommunication link 550. The communication links 509 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line. The communication links 550 may include a coaxial cable, a fiber optic cable, a digital radio link, or a telephone line. - Each
base station 502 utilizes four queues (also not shown) for maintaining pending primary and secondary service connection requests. A first queue is for subscriber-initiated primary service connection requests and a second queue is for primary service connection requests transmitted from the circuit switchednetwork 505. A third queue is for subscriber-initiated secondary service connection requests and a fourth queue is for secondary service connection requests transmitted from thepacket data network 508. - Each
base station 502 also receives random access signals, i.e., signalling connection requests, from the network'ssubscribers 503, the signalling connection requests requesting subscriber access to thenetwork 501. Eachbase station 502, then, may have a fifth queue, or other memory storage allocation, for maintaining pending signalling connection requests at it. - In a presently preferred embodiment, each
base station 502 has thirty-two uplink/downlink “slot pairs,” (also not shown) which comprise the respective base station's 502 over-the-air (“OTA”) resource. In particular, a slot pair of abase station 502 is a server for communications between thebase station 502 and asubscriber 503. A server on abase station 502 is permanently reserved for the signalling connection requests received by thebase station 502; this server can be, but does not have to be, the same base station server all the time. Thus, thirty-one servers on abase station 502 can support primary and secondary service connection requests. In alternative embodiments, more than one server can be reserved for signalling connection requests and/or more than one server at one time, if available, can be allocated to signalling connections in progress. - Referring to FIG. 6, a
respective base station 502 receives a plurality of subscriber-initiated primary service connection requests 605, a plurality of network-initiated primary service connection requests 606, a plurality of subscriber-initiated secondary service connection requests 607, a plurality of network-initiated secondary service connection requests 608 and a plurality of signalling connection requests 609. When anyconnection request base station server 615, the connection request becomes a connection inprogress 620. - The arrival rates of the primary service connection requests605 and 606 and the service times of the primary service connections in
progress 620 at arespective base station 502 are generally, but not necessarily, identical, irrespective of the originating source, i.e., network-originated or subscriber-originated. The arrival rates of the secondary service connection requests 607 and 608 and the service times for the secondary service connections inprogress 620 at arespective base station 502 may also be, but are not necessarily, identical, irrespective of the originating source. However, the connection request arrival rates and the connection in progress service times associated with each service, primary and secondary, differ. In particular, the primary service is characterized by generally slower connection request arrival rates and longer connection in progress service times than the secondary service. - Referring to FIG. 7, a
base station 502 of FIG. 6 is equipped with a priorart server controller 710, which is responsible for managing the base station'sOTA resource 715. In particular, theserver controller 710 of a respective base station is comprised of a serverapportioner sub entity 720 and a serversurveyor sub entity 725, which are responsible for serving a primary service connection request in preference to a secondary service connection request, and for allocating at least one respective base station server for signalling connection requests. Theserver surveyor 725 examines the respective base station'sOTA resource 715 and determines if one or more servers are idle, and thus, capable of supporting a connection request. In a presently preferred embodiment, each base station has thirty-two uplink/downlink slot pairs, i.e., servers, which comprise the base station'sOTA resource 715; an exemplary sixteen of these thirty-two slot pairs 740 are illustrated, for both the respective base station's uplink and downlink. Theserver apportioner 720 examines four queues of pending primary and secondary connection requests, 730, 731, 732 and 733, and a queue of random access signalling 735, i.e., pending signalling connection requests, and allocates idle servers, i.e., slot pairs 740 which are not allocated to a connection in progress, to the pending connection requests in a prioritized manner. In particular, theserver apportioner 720 allocates the signalling connection requests at least one server, and serves the primary service connection requests in preference to the secondary service connection requests. - FIG. 8 illustrates a state diagram of a prior art server controller (not shown). The server controller is in an
idle server state 801 if there are no connection requests pending at the respective base station. If one or more connection requests become pending, the server controller requests the resources of itsrespective server apportioner 820, and makes an idle to requesttransition 830, to the examinerequest state 802. - Upon the idle to request
transition 830, the server controller requests the services of itsrespective server surveyor 825, and makes a request toresource transition 835 to an examineresource state 806. In the examineresource state 806, theserver surveyor 825 examines the OTA resource of the respective base station (not shown) and determines the pointers, or indices or addresses to all the possible servers that may currently be utilized to support a connection request, or alternatively, that the OTA resource is fully utilized, i.e., there are no available servers to allocate to a pending connection request, and, thus, a blocking condition exists. Theserver surveyor 825 then supplies this information to theserver apportioner 820, with the server controller making a resource to requesttransition 840 back to the examinerequest state 802. - Upon the resource to request
transition 840, theserver apportioner 820 uses the information supplied by theserver surveyor 825 to determine whether or not the server controller may allocate a respective base station server, or servers, to a pending connection request. If theserver apportioner 820 determines that there are no connection requests pending at the respective base station, the sever controller makes a request toidle transition 845 to theidle server state 801. - If the
server apportioner 820 determines that theserver surveyor 825 has identified a blocking condition, the server controller also makes the request toidle transition 845 to theidle server state 801. - If the
server apportioner 820 determines that one or more signalling connection requests are pending at the respective base station and that theserver surveyor 825 has identified that there is an available base station server, then the server controller makes a request to signallingapportionment transition 855 to an apportion resource to signallingstate 803. If theserver apportioner 820 determines that one or more primary service connection requests are pending and no signalling connection requests are pending at the respective base station, and that theserver surveyor 825 has identified that there is an available base station server, then the server controller makes a request to voiceapportionment transition 860 to an apportion resource to voicestate 804. If theserver apportioner 820 determines that one or more secondary service connection requests are pending and no signalling connection requests or primary service connection requests are pending at the respective base station, and that theserver surveyor 825 has identified that there is an available base station server, then the server controller makes a request todata apportionment transition 865 to an apportion resource todata state 805. - In the apportion resource to signalling
state 803, theserver apportioner 820 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. If the lifetime, i.e., a specified time limit from when a connection request becomes pending at a respective base station, of the selected signalling connection request has not expired, theserver apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by theserver surveyor 825, to it, and then the server controller makes a signalling apportionment to requesttransition 870 back to the examinerequest state 802. If, however, the lifetime of the selected signalling connection request has expired, theserver apportioner 820 discards it from its respective queue, and the server controller makes the signalling apportionment to requesttransition 870 back to the examinerequest state 802. - In the apportion resource to-
voice state 804, theserver apportioner 820 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. If the lifetime of the selected primary service connection request has not expired, theserver apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by theserver surveyor 825, to it, and then the server controller makes a voice apportionment to requesttransition 875 back to the examinerequest state 802. If, however, the lifetime of the selected primary service connection request has expired, theserver apportioner 820 discards it from its respective queue, and the server controller makes the voice apportionment to requesttransition 875 back to the examinerequest state 802. - In the apportion resource to
data state 805, theserver apportioner 820 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. If the lifetime of the selected secondary service connection request has not expired, theserver apportioner 820 allocates a base station server, or servers, selected from the possible available server(s) identified by theserver surveyor 825, to it, and then the server controller makes a data apportionment to requesttransition 880 back to the examinerequest state 802. If, however, the lifetime of the selected secondary service connection request has expired, theserver apportioner 820 discards it from its respective queue, and the server controller makes the data apportionment to requesttransition 880 back to the examinerequest state 802. - Referring to FIG. 9a, an exemplary OTA resource utilization for a respective base station with a
server controller 710, as shown in FIG. 7, is illustrated. An arrival rate of 1.0 corresponds to an aggregate primary service, i.e., circuit switched, arrival rate of one connection request every ten seconds and an aggregate secondary service, i.e., packet data, arrival rate of two connection requests per second. (The arrival rate values of FIG. 9a and FIG. 9b are related to these base rates by a simple scaling factor.) The average service times, i.e., connection in progress times, are one hundred and twenty seconds for the primary service and two seconds for the secondary service. An exemplary totalOTA resource utilization 901 of a respective base station is an aggregate of the base station's network-originated and subscriber-originated primary serviceOTA resource utilization 902, its network-originated secondary serviceOTA resource utilization 903 and its subscriber-originated secondary service OTA resource utilization 904. The utilization curves of FIG. 9a illustrate that subscriber-originated secondary service traffic is penalized in favor of network-originated secondary service traffic; i.e., as the arrival rates of connection requests increase, the respective base station OTA resource utilization by secondary service subscriber-originated traffic 904 decreases while the OTA resource utilization by secondary service network-originatedtraffic 903 increases. - Referring to FIG. 9b, an exemplary blocking rate for primary service network-originated 910 and subscriber-originated 911 connection requests, as well as a blocking rate for secondary service network-originated 915 and subscriber-originated 916 connection requests are illustrated for a respective base station with a
server controller 710, as shown in FIG. 7. For all arrival rates above 0.8, the subscriber-originated primary connection requests (curve 911) are blocked at a higher rate than the corresponding subscriber-originated secondary service connection requests (curve 916), and the network-originated primary connection requests (curve 910) are blocked at a higher rate than the corresponding network-originated secondary service connection requests (curve 915). Thus, the exemplary blocking curves 910, 911, 915 and 916 illustrate that the introduction of a secondary, i.e., packet data, service may significantly increase the chance that a primary, i.e., circuit switched, service connection request will be blocked. Therefore, despite the fact that aserver controller 710 of FIG. 7 allocates a respective base station server to a pending primary service connection request in preference to a secondary service connection request, blocking of the primary service can still occur. - FIG. 10 illustrates the fundamental problem; since there is a larger number of secondary service connection requests, i.e., secondary service connection arrivals,1005, and they occur more frequently than the primary service connection requests (arrivals) 1010, the probability that the last available respective base station slot pair, i.e. server, will be allocated to a secondary service connection request exceeds the probability that it will be allocated to a primary service connection request and, as a consequence, the associated primary service blocking rate increases.
- Thus, referring to FIG. 11, in an embodiment of the present invention, a base station (not shown) is equipped with a
resource threshold controller 1101. Theresource threshold controller 1101 implements a reserved headroom control rule used to prevent a secondary service connection request from being allocated a respective base station server if the basestation OTA resource 1115 cannot support a predetermined number, i.e., a reserved headroom, of primary service connection requests that may arrive at the base station after a base station server is allocated to a secondary service connection request. - The
resource threshold controller 1101 is comprised of aresource distributor 1120 and aresource determiner 1125. Theresource threshold controller 1101 approach permits the rate of primary service blocking due to server allocation to secondary service connection requests to be controlled by pre-setting a reserved headroom of respective base station servers to be reserved for use by the primary service. In a preferred embodiment, the reserved headroom number of servers can be set by the service provider by an appropriate command to the base station. If theresource threshold controller 1101 determines that allocating a respective base station server to a pending secondary service connection request will cause the available number of idle servers to fall below the reserved headroom, it blocks the secondary service connection request. - If the reserved headroom is set so that the
resource threshold controller 1101 maintains the maximum number of possible idle servers for primary service connection requests, than primary service blocking will not occur due to the secondary service because a secondary service connection request will never be allocated a server. However, in this situation, primary service blocking may still occur if the primary service connection request arrival rate is sufficiently high to overtax the respective base station'sOTA resource 1115, i.e., the base station's collective servers. Conversely, if the reserved headroom is set to zero, the reserved headroom control rule is effectively disabled, and the secondary service will block the primary service in the manner previously discussed, in particular, in reference to FIG. 4. Thus, a primary service blocking rate can be set by a service provider by judiciously setting the reserved headroom. Introduction of the reserved headroom control rule ensures that a specified number of base station servers are reserved for use by the primary service. - FIG. 12 illustrates a state diagram of a
resource threshold controller 1101 of FIG. 11. The resource threshold controller (not shown) is in anidle dominion state 1201 if there are no connection requests pending at the respective base station. If one or more connection requests become pending at the respective base station, the resource threshold controller requests the resources of itsresource distributor 1215, and makes an idle to checkrequest transition 1225 to acheck request state 1202. - Upon the idle to check
request transition 1225, the resource threshold controller requests the services of its resource determiner 1220 and makes a check request to checkresource transition 1230 to acheck resource state 1203. In thecheck resource state 1203, the resource determiner 1220 examines the OTA resource of the respective base station and determines the current number of additional connection requests that can be supported, i.e., served, and the pointers, or indices or addresses to all the possible servers that may currently be utilized to support a connection request, or alternatively, that the OTA resource is fully utilized, i.e., there are no available servers to allocate to a pending connection request, and, thus, a blocking condition exists. The resource determiner 1220 then supplies this information to theresource distributor 1215, with the resource threshold controller making a check resource to checkrequest transition 1231 back to thecheck request state 1202. - Upon the check resource to check
request transition 1231, theresource distributor 1215 uses the information supplied by the resource determiner 1220 to determine whether or not the resource threshold controller may allocate a respective base station server, or servers, to a pending connection request. If theresource distributor 1215 determines that there are no connection requests pending at the respective base station, the resource threshold controller makes a check request toidle transition 1226 to theidle dominion state 1201. If theresource distributor 1215 determines that the resource determiner 1220 has identified a blocking condition exists, the resource threshold controller also makes the check request toidle transition 1226 to theidle dominion state 1201. - If the
resource distributor 1215 determines that one or more signalling connection requests are pending at the respective base station and that the resource determiner 1220 has identified that there is an available base station server, then the resource threshold controller makes a check request to signallingdistribution transition 1235 to a distribute resource to signallingstate 1204. - If the
resource distributor 1215 determines that one or more primary service connection requests are pending and no signalling connection requests are pending at the respective base station, and that the resource determiner 1220 has identified that there is an available base station server, then the resource threshold controller makes a check request to primary distribution transition 1236 to a distribute resource toprimary service state 1205. - If the
resource distributor 1215 determines that one or more secondary service connection requests are pending and no signalling or primary service connection requests are pending at the respective base station, that the resource determinor 1220 has identified that there is an available base station server, and that allocation of a base station server to a secondary service connection request will not reduce a reserved headroom number of servers, then the resource threshold controller makes a check request tosecondary distribution transition 1237 to a distribute resource tosecondary service state 1206. If, however, theresource distributor 1215 determines that one or more secondary service connection requests are pending and no signalling or primary service connection requests are pending at the respective base station, but, although the resource determiner 1220 has identified that there is a server available, it has also identified that allocation of a server to a secondary service connection request will reduce the reserved headroom number of servers, then the resource threshold controller blocks the pending secondary service connection request(s) and makes the check request toidle transition 1226 to theidle dominion state 1201. - In the distribute resource to signalling
state 1204, theresource distributor 1215 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. If the lifetime of the selected signalling connection request has not expired, theresource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220, to it, and then the resource threshold controller makes a signalling distribution to checkrequest transition 1240 back to thecheck request state 1202. If, however, the lifetime of the selected signalling connection request has expired, theresource distributor 1215 discards it from its respective queue and the resource threshold controller makes the signalling distribution to checkrequest transition 1240 back to thecheck request state 1202. In a first embodiment, the selected signalling connection request is the oldest pending signalling connection request at the respective base station. In an alternative embodiment, the selected signalling connection request is based on a priority scheme. - In the distribute resource to
primary service state 1205, theresource distributor 1215 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. If the lifetime of the selected primary service connection request has not expired, theresource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220, to it, and then the resource threshold controller makes a primary distribution to checkrequest transition 1241 back to thecheck request state 1202. If, however, the lifetime of the selected primary service connection request has expired, theresource distributor 1215 discards it from its respective queue and the resource threshold controller makes the primary distribution to checkrequest transition 1241 back to thecheck request state 1202. In a first embodiment, the selected primary service connection request is the oldest pending primary service connection request at the respective base station. In an alternative embodiment, the selected primary service connection request is based on a priority scheme. - In the distribute resource to
secondary service state 1206, theresource distributor 1215 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. If the lifetime of the selected secondary service connection request has not expired, theresource distributor 1215 allocates a base station server, or servers, selected from the possible available server(s) identified by the resource determiner 1220, to it, and then the resource threshold controller makes a secondary distribution to checkrequest transition 1242 back to thecheck request state 1202. If, however, the lifetime of the selected secondary service connection request has expired, theresource distributor 1215 discards it from its respective queue and the resource threshold controller makes the secondary distribution to checkrequest transition 1242 back to thecheck request state 1202. In a first embodiment, the selected secondary service connection request is the oldest pending secondary service connection request at the respective base station. In an alternative embodiment, the selected secondary service connection request is based on a priority scheme. - Referring to FIG. 13a, a total
OTA resource utilization 1301 of a respective base station with aresource threshold controller 1101 as illustrated in FIG. 11, using an exemplary reserved headroom of four servers, is an aggregate of the base station's network-originated and subscriber-originated primary serviceOTA resource utilization 1302 and the base station's network-originated and subscriber-originated secondary serviceOTA resource utilization 1303, which itself is an aggregate of the base station's network-originated secondary serviceOTA resource utilization 1304 and its subscriber-originated secondary serviceOTA resource utilization 1305. The utilization curves 1302 and 1303 indicate that using a resource threshold controller, a respective base station server is allocated to a primary service connection request in preference to a secondary service connection request, and that as the primary service connection request arrival rate increases, the number of respective base station servers allocated to secondary service connection requests typically decreases. - Referring to FIG. 13b, exemplary blocking rates for primary service network-originated and subscriber-originated
connection requests 1320 for a base station with aresource threshold controller 1101 as illustrated in FIG. 11, using an exemplary reserved headroom of four servers, are lower than corresponding exemplary blocking rates for secondary service network-originated and subscriber-originatedconnection requests 1325. - The primary
service utilization curve 1302 of FIG. 13a and the primary service blockingrate curves 1320 of FIG. 13b further illustrate that when primary service OTA resource utilization rates reach forty to sixty percent, the associated primary service connection request blocking rates are one-tenth to one percent. This infers that the secondary service has little or no impact upon the primary service, as these primary service connection request blocking rates are associated with an ideal operating point. - FIG. 14 illustrates that by varying the reserved headroom for a respective base station using a
resource threshold controller 1101 as illustrated in FIG. 11, while the respective primary and secondary service loads, i.e., connection request arrival rates and connection in progress service times, are held constant, the primary service blocking rate can be set to any desired level, at the expense, however, of increasing the secondary service blocking rate. Additionally, if the reserved headroom is made too large, ensuring that the primary service blocking rate is low, then the maximum possible utilization of the respective OTA resource, i.e., servers, by the secondary service is generally not achieved. The situation is exacerbated as the optimum choice of reserved headroom is typically correct for only a specific system loading condition; i.e., a specific number of connections in progress for each system-supported service, with a service-characteristic connection request arrival rate and connection in progress service time. - Referring to FIG. 15, if the primary service connection
request arrival rate 1501 at a respective base station is particularly low, then the reservedheadroom 1503 should be set low, thereby allowing the secondary service to maximize theOTA resource utilization 1502 of the respective base station. A low reserved headroom in this situation is generally permissible as the probability that multiple primary service connection requests will arrive at any one time is very low. Conversely, if the primary service connectionrequest arrival rate 1501 at a respective base station is relatively high, then the reservedheadroom 1503 should also be set high, which minimizes the secondary service'sOTA resource utilization 1502 of the respective base station, but ensures that a specified primary service blocking rate is maintained. It remains desirable, however, even with a high primary service connection request arrival rate, to correctly set the reserved headroom so that the secondary service can achieve a maximumOTA resource utilization 1502 of the respective base station. - Thus, referring to FIG. 16, in a presently preferred embodiment, a base station uses a
probabilistic resource controller 1601 comprised of four sub-entities for handling its respective base station's primary and secondary service connection requests and signalling connection requests, and for managing the base station'sOTA resource 1607. Theprobabilistic resource controller 1601 does not utilize a fixed, pre-determined reserved headroom number of servers; instead, it uses a probabilistic reserved headroom control rule wherein it re-assesses and updates an optimum reserved headroom to be utilized for the respective base station. The optimum reserved headroom is the number of respective base station servers reserved for primary service connection requests that ensures that the primary service blocking rate at a respective base station is maintained at a desired value, while still allowing the secondary service to maximize utilization of the base station's servers. In a presently preferred embodiment, the primary service blocking rate for a respective base station may be set by the service provider by an appropriate command to the base station. - A first sub entity of the
probabilistic resource controller 1601 is aresource monitor 1603. Theresource monitor 1603 has a first group ofinputs 1606 comprised of the respective base station's four pendingconnection request queues 1617 for the primary and secondary services; i.e., a primary service network-originated pending connection request queue, a primary service subscriber-originated pending connection request queue, a secondary service network-originated pending connection request queue and a secondary service subscriber-originated pending connection request queue. - The
resource monitor 1603 has asecond input 1614 comprising status information retrieved from the respective base station'sOTA resource 1607; i.e., the base station's servers. Theresource monitor 1603 examines the respective base station's primary and secondary service connection requests and determines their average arrival rates. In particular, theresource monitor 1603 estimates the primary service connection request arrival rate, λp, and the secondary service connection request arrival rate, λs; i.e., the number of primary and secondary service connection requests received by the respective base station per second. Theresource monitor 1603 also assesses the average service times of both the primary and secondary service connections in progress; i.e., the average time arespective server 1607 is utilized when a connection request for the service has been allocated aserver 1607. In particular, theresource monitor 1603 estimates the average primary service time, μp, and the average secondary service time, μs, for the respective base station. - To ensure that the statistics derived by the
resource monitor 1603 are accurate, it may monitor therespective OTA resource 1607 directly, via itsinput 1614, utilizing an appropriate monitoring technique. The estimates of the parameter values derived by theresource monitor 1603, i.e., λp, λs, μp, and μs, which can be obtained from any accurate standard or available technique, comprise the resource monitor'soutput 1613. - A second sub entity of the
probabilistic resource controller 1601 is aresource identifier 1605. Theresource identifier 1605 has afirst input 1610 comprising status information from the respective base station'sOTA resource 1607. Theresource identifier 1605 examines the respective base station'sOTA resource 1607 and determines the number of current signalling, primary, ηp, and secondary, ηs, connections in progress (not shown). The numbers of connections in progress comprise thefirst output 1611 of theresource identifier 1605. Theresource identifier 1605 also determines if a respectivebase station server 1607 is currently available to support an additional connection request. If one or morerespective servers 1607 are available, theresource identifier 1605 further determines the exact pointers, or indices or addresses to them. If norespective servers 1607 are available, theresource identifier 1605 determines a blocking condition exists; i.e., no connection request can be served. The respective available server pointers, or indices or addresses, or a blocking condition status comprise the resource identifier'ssecond output 1615. - A third sub entity of the
probabilistic resource controller 1601 is aresource allocator 1602. Theresource allocator 1602 has a first group ofinputs 1620 comprised of the respective base station's four pendingconnection request queues 1617 for the primary and secondary services, and asecond input 1609 comprised of asignalling queue 1616 containing the pending signalling connection requests, i.e., random access signals (not shown), received by the respective base station. Theresource allocator 1602 has athird input 1615 comprised of the respective resource identifier'soutput 1615. In particular, the resource allocator'sthird input 1615 is the available server pointers, or indices or addresses, or the blocking condition status determined by theresource identifier 1605. Theresource allocator 1602 has afourth input 1618 comprised of a respective resource estimator'soutput 1618. In particular, the resource allocator'sfourth input 1618 is the reserved headroom computed by arespective resource estimator 1604. Theresource allocator 1602 manages and allocates the respective base station'sOTA resource 1607. Thus, theresource allocator 1602 has anoutput 1608 to theOTA resource 1607 consisting of the allocation(s) ofservers 1607 to the respective base station's connection request(s). - The
resource allocator 1602 ensures that the service provider's service priority policy is implemented, and that the overall utilization of theOTA resource 1607 is maximized. In particular, theresource allocator 1602 processes a pending signalling connection request in preference to either a pending primary or secondary service connection request, and processes a primary service connection request in preference to a pending secondary service connection request. Further, theresource allocator 1602 does not allocate a pending secondary service connection request an availablebase station server 1607 if the allocation will reduce the reserved headroom servers. Theresource allocator 1602 also ensures equity of server allocations between network-originated and subscriber-originated connection requests for both the primary and secondary services. - A fourth, and final, sub entity of the
probabilistic resource controller 1601 is aresource estimator 1604. Theresource estimator 1604 has afirst input 1613 corresponding to the respective resource monitor'soutput 1613. In particular, the resource estimator'sfirst input 1613 is the estimates of the parameter values λp, λs, μp, and μs derived by theresource monitor 1603. Theresource estimator 1604 has asecond input 1611 corresponding to the respective resource identifier'soutput 1611. In particular, the resource estimator'ssecond input 1611 is the number of primary service connections in progress ηp, the number of secondary service connections in progress ηs and the number of signalling connections in progress on the respective base station, determined by therespective resource identifier 1605. Theresource estimator 1604 is responsible for computing an optimal reserved headroom to be used prior to the allocation of abase station server 1607 to a specific connection request. The reserved headroom computed by theresource estimator 1604 comprises itsoutput 1618 to theresource allocator 1602, and ensures that theresource allocator 1602 correctly allocates arespective server 1607 to a secondary service connection request, thereby, maximizing the OTA resource utilization, or, alternatively, correctly denies a secondary service server allocation, thereby maintaining the primary service blocking rate. - The
resource estimator 1604 of a respective base station calculates an optimum reserved headroom given a current system operating point. The system's operating point is specified by the parameters λp, λs, μp, μs, ηp, and ηs. Upon acquiring these parameter values from therespective resource identifier 1605 andresource monitor 1603, theresource estimator 1604 computes the probability that N primary service connection requests will arrive within an observation time tobs from the poisson arrival formula: - The
resource estimator 1604 also computes the probability that k secondary service connections in progress will terminate during the observation time interval tobs, given ηs secondary service connections in progress, drawn from an exponential process with an average service time μs. This probability is expressed in the equation: - and L is an arbitrarily large number.
- In a similar manner, the
resource estimator 1604 also evaluates the probability that k primary service connections will terminate during the observation time interval tobs, given ηp primary service connections in progress, drawn from an exponential process with an average service time μp. This probability is expressed in the equation: - and L is an arbitrarily large number.
- The above-specified equations one through five assume that the respective primary and secondary service times are exponentially distributed in length and that the respective primary and secondary service arrival rates are poisson-distributed.
-
- A potential primary service blocking condition exists if the expected number of primary service connection requests pending at a respective base station within a specific time interval exceeds the number of respective servers that are idle during the same time interval. Using equations one through six above, the
resource estimator 1604 can compute a primary service blocking event estimator, which is the probability that if N primary service connection requests were to become pending at a respective base station during some subsequent time interval, i.e., tobs, one or more would be blocked: - where
- f(P arrival(N,t obs),No avail slots)=0 (No avail slots>i) Eqn 8a
- f(P arrival(N,t obs),No avail slots)=P arrival(N,t obs) (No avail slots<i) Eqn 8b
- No avail slots(ηp,ηs)=No empty slots+N terminate95(ηp)+N terminate95(ηs) Eqn 8c
- If the
resource estimator 1604 determines that the probability of blocking, i.e., P(blocking), evaluated by equation seven exceeds a primary service blocking rate defined by the respective base station's service provider, then it may infer that the current level of available headroom is insufficient, and it should inform therespective resource allocator 1602 not to allocate a respectivebase station server 1607 to any secondary service connection requests at the time. Any pending secondary service connection requests at the base station will not be allocated a respective server until additional servers become available due to the termination of existing primary and secondary service connections in progress at the base station. - With the
probabilistic resource controller 1601, as the primary service connection request arrival rate at a base station increases, or, as the average secondary service connection in progress service time at the base station increases, the corresponding probability that a pending secondary service connection request will be allocated a respective server decreases. Also with theprobabilistic resource controller 1601, as the number of secondary service connections in progress at a base station decreases, and the number of available respective base station servers decreases, the corresponding probability that a pending secondary service connection request will be allocated a respective server also decreases. - In a presently preferred embodiment, referring to FIG. 17, the
resource estimator 1604 of a respectiveprobabilistic resource controller 1601 illustrated in FIG. 16 executes corresponding code instructions of a “probability_of_N_terminating”pseudo code subroutine 1701 to compute equations 6a or 6b above, to calculate the maximum number of primary or secondary service connections in progress at a respective base station with a ninety-five percent or greater chance of terminating in a specific time interval. - In a presently preferred embodiment, referring to FIG. 18, the
resource estimator 1604 of a respectiveprobabilistic resource controller 1601 illustrated in FIG. 16 executes corresponding code instructions of a “Resource_estimator”pseudo code routine 1801 to compute equations one through eight above, to calculate a reserved headroom for a respective base station for a service provider defined primary service blocking rate corresponding to a “blocking_threshold”parameter 1802. - FIG. 19 illustrates a state diagram of a probabilistic resource controller1601 (not shown) of FIG. 16. The probabilistic resource controller is in an
idle controller state 1901 if there are no connection requests pending at the respective base station. If one or more connection requests become pending at the respective base station, the probabilistic resource controller makes an idle to examineOTA resource transition 1940 to an examineOTA resource state 1902. Upon the idle to examineOTA resource transition 1940, the probabilistic resource controller requests the services of itsrespective resource identifier 1915. The estimate availableOTA resource component 1925 of theresource identifier 1915 examines the current status of the respective base station's OTA resource and determines the number of servers available that could support a new connection in progress, the number of primary and secondary connections in progress, and the pointers, or indices or addresses, to all the possible server and server combinations that could currently support a new connection in progress. - If the estimate available
OTA resource component 1925 identifies one or more respective base station servers that are available, the probabilistic resource controller makes an examine OTA resource to examine connect request transition 1942 to an examineconnection requests state 1903. If, however, the estimate availableOTA resource component 1925 determines that there are no respective base station servers currently available, the probabilistic resource controller declares that all the pending connection requests have encountered a blocking condition, i.e., none can be allocated a server at this time, and makes an examine OTA resource toidle transition 1941 to theidle controller state 1901. - Upon making the examine OTA resource to examine connect request transition1942, the probabilistic resource controller requests the services of its
resource allocator 1910 to examine the respective base station's pending connection requests. The probabilistic resource controller first discards all connection requests from their respective queues for which theresource allocator 1910 has determined that the lifetime of the connection request has expired. - Then, if the
resource allocator 1910 determines that there is one or more pending signalling connection requests at the respective base station, the probabilistic resource controller makes an examine connect request to signallingallocation transition 1946 to an allocate OTA resource to signallingstate 1905. Otherwise, if theresource allocator 1910 determines that there is one or more pending primary service connection requests and no pending signalling connection requests at the respective base station, the probabilistic resource controller makes an examine connect request toprimary allocation transition 1947 to an allocate OTA resource toprimary service state 1906. Otherwise, if theresource allocator 1910 determines that there is one or more pending secondary service connection requests and no pending signalling or primary service connection requests at the respective base station, the probabilistic resource controller makes an examine connect request to examineheadroom transition 1948 to an examinereserved headroom state 1904. If, however, theresource allocator 1910 determines there are no pending connection requests at the respective base station, the probabilistic resource controller makes an examine connect request toidle transition 1945 to theidle controller state 1901. - In the allocate OTA resource to signalling
state 1905, theresource allocator 1910 examines all the pending signalling connection requests at the respective base station and selects a signalling connection request to be served. Theresource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by the estimate availableOTA resource component 1925 of therespective resource identifier 1915, to the selected signalling connection request, and the probabilistic resource controller then makes a signalling allocation toidle transition 1955 to theidle controller state 1901. In a first embodiment, the selected signalling connection request is the oldest pending signalling connection request at the respective base station. In an alternative embodiment, the selected signalling connection request is based on a priority scheme. - In the allocate OTA resource to
primary service state 1906, theresource allocator 1910 examines all the pending primary service connection requests at the respective base station and selects a primary service connection request to be served. Theresource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by therespective resource identifier 1915, to the selected primary service connection request, and the probabilistic resource controller then makes a primary allocation toidle transition 1956 to theidle controller state 1901. In a first embodiment, the selected primary service connection request is the oldest pending primary service connection request at the respective base station. In an alternative embodiment, the selected primary service connection request is based on a priority scheme. - In the examine
reserved headroom state 1904, the probabilistic resource controller requests the services of itsrespective resource identifier 1915,resource monitor 1930 andresource estimator 1920. The estimate availableOTA resource component 1925 of theresource identifier 1915 examines the current status of the respective base station's OTA resource and determines the number of servers available that could support a new connection in progress, the current numbers of primary, ηp, and secondary, ηs, service connections in progress, and the pointers, or indices or addresses, to all the possible server and server combinations that could currently support a new connection in progress. The estimate connection andservice statistics component 1931 of the respective resource monitor 1930 monitors the arrival time of each new primary and secondary service connection request and the service time of each primary and secondary service connection in progress at the respective base station, and then computes an average arrival rate, λp and λs, and an average service time, μp and μs, for the respective primary and secondary services. The compute reservedheadroom component 1921 of therespective resource estimator 1920 utilizes the parameter values derived by the estimate available OTA resource component 1925 (i.e., ηp and ηs) and the estimate connection and service statistics component 1931 (i.e., λp, λs, μp and μs) to compute an optimum reserved headroom to ensure a specified primary service blocking rate is not exceeded. - In the examine
reserved headroom state 1904, if theresource allocator 1910 determines that therespective resource estimator 1920 has identified that an allocation of a respective base station server to a secondary service connection request will not reduce the reserved headroom servers, then the probabilistic resource controller makes an examine headroom tosecondary allocation transition 1950 to an allocate OTA resource tosecondary service state 1907. If, however, theresource allocator 1910 determines that therespective resource estimator 1920 has identified that an allocation of a respective base station server to a secondary service connection request will reduce the reserved headroom servers, then the probabilistic resource controller blocks the pending secondary service connection request(s), i.e., denies a server allocation to the pending secondary service connection request(s), and makes an examine headroom toidle transition 1949 to theidle controller state 1901. - In the allocate OTA resource to
secondary service state 1907, theresource allocator 1910 examines all the pending secondary service connection requests at the respective base station and selects a secondary service connection request to be served. Theresource allocator 1910 then allocates a server, or servers, selected from the possible available server(s) identified by the estimate availableOTA resource component 1925 of therespective resource identifier 1915, to the selected secondary service connection request, and the probabilistic resource controller then makes a secondary allocation toidle transition 1957 to theidle controller state 1901. In a first embodiment, the selected secondary service connection request is the oldest pending secondary service connection request at the respective base station. In an alternative embodiment, the selected secondary service connection request is based on a priority scheme. - Referring to FIG. 20, shaded
entries - In practice, the arrival rates of the secondary service connection requests may be often relatively high; typically one to two requests per second may be received by the respective base station. The resultant computational burden that the
resource estimator 1604 of a respectiveprobabilistic resource controller 1601, illustrated in FIG. 16, may experience can be alleviated if the underlying rate of change of the primary and secondary service arrival rates and service times is relatively slow. - Thus, in a more presently preferred embodiment, for a specific base station operating point, a tabulation estimator of a probabilistic tabulation resource controller computes the optimum reserved headroom for each possible combination of primary and secondary connections in progress, using equations one through eight, discussed above, and stores the results in a lookup table, i.e., a “blocking” table. This allows the probabilistic tabulation resource controller's respective tabulation allocator, upon processing a pending secondary service connection request, to immediately look up the desired information as a simple function of the current number of primary and secondary connections in progress, rather than waiting, as may be required of a resource allocator for its respective resource estimator to complete the necessary computations. The blocking table can be updated as a background task by the tabulation estimator, as the respective base station's traffic statistics, i.e., the primary and secondary services arrival rates and service times, change. In all other aspects, the probabilistic tabulation resource controller is generally structured and functions in a similar manner to a
probabilistic resource controller 1601 of FIG. 16. - The arrival rates and service times of the primary and secondary services of a dual service network may not exhibit ideal poisson and exponential distributions. Consequently, the above-defined estimator P(blocking) of equation seven may be either optimistic or pessimistic. Thus, in a most presently preferred embodiment, an adaptive resource controller monitors the true primary service blocking rate experienced by its respective base station and weights future decisions regarding its OTA resource allocations based on the P(blocking) estimate by the true primary service blocking rate. In particular, the responsibilities of an adaptive monitor of a respective adaptive resource controller are expanded from those duties of a
resource monitor 1603 of a respectiveprobabilistic resource controller 1601, illustrated in FIG. 16, to also monitor and record the true blocking rate experienced by the primary service on the respective base station. - If the true primary service blocking rate is higher than the blocking rate specified by the service provider, then the blocking threshold, i.e, “blocking_threshold”
parameter 1802 of FIG. 18 utilized by the adaptive resource controller in determining whether or not to allocate a respective base station server to a secondary service connection request is decreased. Conversely, if the true primary service blocking rate is less than the service provider specified value, then theblocking_threshold parameter 1802 is increased. A simple proportional control loop may be utilized to implement the necessary adjustments to theblocking_threshold parameter 1802; the control loop, however, must have a long time constant to ensure stability in the adaptive resource controller's algorithm calculations. In particular, the estimation calculations of the true blocking rate and the subsequent updates to theblocking_threshold parameter 1802 should be performed after extended time periods; e.g., the time period between subsequent blocking_threshold parameter updates should be several hours. - In a presently preferred embodiment, in all other aspects, the adaptive resource controller is generally structured and functions in a similar manner to a probabilistic tabulation resource controller.
- In another embodiment, historical data on the primary and secondary service arrival rates and service times and the primary service blocking rates at a respective base station collected from different times of the day, week, month, or other useful time frame, may be used by the base station's adaptive resource controller in calculating the optimum reserved headroom for a combination of primary and secondary service connections in progress.
- In a presently preferred embodiment, each base station has a processor and associated memory for executing the instructions necessary to perform the above-described resource threshold controller, probabilistic resource controller, probabilistic tabulation resource controller and adaptive resource controller functions.
- While preferred embodiments are disclosed herein, many variations are possible which remain within the spirit and scope of the invention. Such variations would become clear to one of ordinary skill in the art after inspection of the specification, drawings and claims herein. The invention therefore is not to be restricted except by the scope of the appended claims.
Claims (20)
1. A machine readable medium comprising a computer program, said computer program comprising code to accomplish:
allocating a resource for a secondary service connection if the number of resources available after said allocation is equal to or greater than a threshold, and
not allocating a resource for a secondary service connection if the number of resources available after said allocation will be less than said threshold.
2. The computer program of claim 1 , wherein said threshold is a fixed predetermined value.
3. The computer program of claim 1 , wherein said threshold is a variable value.
4. The computer program of claim 1 , further comprising code to accomplish adaptively controlling the value of said threshold.
5. The computer program of claim 4 , wherein a value of said threshold maximizes the allocation of resources in response to primary service connection requests and minimizes the number of secondary service connections requests for which a resource is not allocated.
6. The computer program of claim 4 , wherein a value of said threshold is determined by the number of primary service connections allocated a resource and the number of secondary service connections allocated a resource.
7. The computer program of claim 4 , further comprising code to accomplish:
monitoring the rate at which primary service connection requests are not allocated a resource;
decreasing the value of said threshold if said rate is less than a set rate; and
increasing the value of said threshold if said rate is greater than said set rate.
8. The computer program of claim 7 , wherein said set rate is determined by an operator input.
9. The computer program of claim 4 , further comprising code to accomplish accessing a table in a database to determine whether to allocate a resource for a secondary service connection, said table comprising a plurality of entries, each said entry representing a value of said threshold.
10. The computer program of claim 9 , further comprising code to accomplish updating said entries of said table.
11. A resource controller, said resource controller comprising:
a resource identifier, said resource identifier comprising an input, said input comprising a first set of status information from a hardware interface, said resource identifier comprising a first output and a second output;
a resource monitor, said resource monitor comprising a first input, said first input comprising a plurality of queues, said resource monitor comprising a second input, said second input comprising a second set of status information from said hardware interface, said resource monitor comprising an output;
a resource estimator, said resource estimator comprising a first input, said first input comprising said first output of said resource identifier, said resource estimator comprising a second input, said second input comprising said output of said resource monitor, said resource estimator comprising an output; and
a resource allocator, said resource allocator comprising a first input, said first input comprising said plurality of queues, said resource allocator comprising a second input, said second input comprising said output of said resource estimator, said resource allocator comprising a third input, said third input comprising said second output of said resource identifier, said resource allocator comprising an output, said output comprising control information for said hardware interface.
12. The resource controller of claim 11 , wherein said resource identifier further comprises:
determining the number of primary service connections in progress;
determining the number of secondary service connections in progress; and
determining a parameter value to address a resource of said hardware interface that is not allocated, if there is a resource of said hardware interface that is not allocated.
13. The resource controller of claim 12 , wherein said resource monitor further comprises:
computing an average arrival rate of primary service connection requests;
computing an average arrival rate of secondary service connection requests;
assessing an average time that a primary service connection in progress is allocated a resource; and
assessing an average time that a secondary service connection in progress is allocated a resource.
14. The resource controller of claim 13 , wherein said resource estimator further comprises computing a threshold value.
15. The resource controller of claim 14 , wherein said resource allocator further comprises:
allocating a resource for a secondary service connection if the number of resources available after said allocation is equal to or greater than said threshold value, and
not allocating a resource for a secondary service connection if the number of resources available after said allocation will be less than said threshold value.
16. The resource controller of claim 15 wherein said resource estimator is a tabulation estimator comprising:
computing a threshold value for each possible combination of primary service connections in progress and secondary service connections in progress, and,
storing each said threshold value in an appropriate table entry.
17. The resource controller of claim 16 , wherein said resource monitor is an adaptive monitor comprising monitoring the rate at which primary service connection requests are not allocated a resource.
18. A probabilistic resource controller, said probabilistic resource controller comprising:
an idle controller state, said probabilistic resource controller transitioning to said idle controller state when there are no pending connection requests;
an examine OTA resource state, said probabilistic resource controller transitioning to said examine OTA resource state from said idle controller state upon a pending connection request, said probabilistic resource controller transitioning from said examine OTA resource state to said idle controller state if there are no resources available to allocate to said pending connection request;
an examine connection requests state, said probabilistic resource controller transitioning to said examine connection requests state from said examine OTA resource state if there is a resource available to allocate to said pending connection request, said probabilistic resource controller transitioning from said examine connection requests state to said idle controller state if there are no pending connection requests;
an allocate OTA resource to primary service state, said probabilistic resource controller transitioning to said allocate OTA resource to primary service state from said examine connection requests state if said pending connection request is a pending primary service connection request, said probabilistic resource controller transitioning from said allocate OTA resource to primary service state to said idle controller state when said probabilistic resource controller allocates a resource in response to said pending primary service connection request;
an examine reserved headroom state, said probabilistic resource controller transitioning to said examine reserved headroom state from said examine connection requests state if said pending connection request is a pending secondary service connection request, said probabilistic resource controller transitioning from said examine reserved headroom state to said idle controller state if an allocation of a resource in response to said pending secondary service connection request will result in the number of available resources falling below a threshold value; and
an allocate OTA resource to secondary service state, said probabilistic resource controller transitioning to said allocate OTA resource to secondary service state from said examine reserved headroom state if said allocation of a resource in response to said pending secondary service connection request will not result in the number of available resources falling below said threshold value, said probabilistic resource controller transitioning from said allocate OTA resource to secondary service state to said idle controller state when said probabilistic resource controller allocates a resource in response to said pending secondary service connection request.
19. The probabilistic resource controller of claim 18 further comprising an allocate OTA resource to signalling state, said probabilistic resource controller transitioning to said allocate OTA resource to signalling state from said examine connection requests state if said pending connection request is a pending signalling connection request, said probabilistic resource controller transitioning from said allocate OTA resource to signalling state to said idle controller state when said probabilistic resource controller allocates a resource in response to said pending signalling connection request.
20. The probabilistic resource controller of claim 19 , further comprising:
said probabilistic resource controller transitioning to said allocate OTA resource to primary service state from said examine connection requests state if said pending connection request is a pending primary service connection request and there are no pending signalling connection requests, and,
said probabilistic resource controller transitioning to said examine reserved headroom state from said examine connection requests state if said pending connection request is a pending secondary service connection request and there are no pending signalling connection requests and there are no pending primary service connection requests.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/885,814 US20020019234A1 (en) | 1997-07-01 | 2001-06-19 | Resource controllers for use in a non-unitary service system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/886,853 US6282424B1 (en) | 1997-07-01 | 1997-07-01 | Resource controllers for use in a non-unitary service system |
US09/885,814 US20020019234A1 (en) | 1997-07-01 | 2001-06-19 | Resource controllers for use in a non-unitary service system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/886,853 Continuation US6282424B1 (en) | 1997-07-01 | 1997-07-01 | Resource controllers for use in a non-unitary service system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020019234A1 true US20020019234A1 (en) | 2002-02-14 |
Family
ID=25389921
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/886,853 Expired - Fee Related US6282424B1 (en) | 1997-07-01 | 1997-07-01 | Resource controllers for use in a non-unitary service system |
US09/885,814 Abandoned US20020019234A1 (en) | 1997-07-01 | 2001-06-19 | Resource controllers for use in a non-unitary service system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/886,853 Expired - Fee Related US6282424B1 (en) | 1997-07-01 | 1997-07-01 | Resource controllers for use in a non-unitary service system |
Country Status (7)
Country | Link |
---|---|
US (2) | US6282424B1 (en) |
EP (1) | EP1025727A4 (en) |
JP (1) | JP2002508135A (en) |
KR (1) | KR20010020608A (en) |
CN (1) | CN1269109A (en) |
AU (1) | AU8268698A (en) |
WO (1) | WO1999002000A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020181419A1 (en) * | 2001-06-01 | 2002-12-05 | Tao Zhang | Method for handoff in multimedia wireless networks |
WO2004053643A3 (en) * | 2002-12-05 | 2004-10-28 | Winphoria Networks Inc | System and method of call admission control in a wireless network background |
US20050065790A1 (en) * | 2003-09-23 | 2005-03-24 | Sherif Yacoub | System and method using multiple automated speech recognition engines |
US20050238040A1 (en) * | 1998-09-18 | 2005-10-27 | Harris Corporation | Distributed trunking mechanism for VHF networking |
US20080125168A1 (en) * | 2002-01-31 | 2008-05-29 | Qualcomm Incorporated | Timing transitions between wireless communication systems |
US20100098013A1 (en) * | 2008-10-20 | 2010-04-22 | Koninklijke Kpn N.V. | Method and System for Service Dependent Resource Allocation |
US20100169444A1 (en) * | 2007-07-11 | 2010-07-01 | International Business Machines Corporation | Method, system and program product for assigning a responder to a requester in a collaborative environment |
US20110047271A1 (en) * | 2006-03-27 | 2011-02-24 | Thales | Method and system for allocating resources |
US20130262678A1 (en) * | 2012-03-05 | 2013-10-03 | Accenture Global Services Limited | Differentiated service-based graceful degradation layer |
US20130346969A1 (en) * | 2012-06-21 | 2013-12-26 | Vmware, Inc. | Opportunistically Proactive Resource Management Using Spare Capacity |
US20150356453A1 (en) * | 2013-03-28 | 2015-12-10 | Linkedln Corporation | Connection invitation ordering |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI108391B (en) * | 1998-10-27 | 2002-01-15 | Nokia Corp | Position service in a packet radio |
US6754714B1 (en) * | 1999-10-05 | 2004-06-22 | Cisco Technology, Inc. | Multilink point-to-point protocol network access server channel allocation method and apparatus |
US6470003B1 (en) * | 1999-12-07 | 2002-10-22 | Motorola, Inc. | Method and apparatus in a two-way radio messaging unit for limiting a total transmission duration within a sliding time window |
US6898425B1 (en) * | 1999-12-16 | 2005-05-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method in a communication network |
US6757257B1 (en) * | 2000-04-26 | 2004-06-29 | Ericsson Inc. | Traffic based dimensioning method for determining the throughput of an edge router in a data network |
GB2372175B (en) * | 2001-02-13 | 2004-06-23 | Vodafone Ltd | Provision of services via a mobile telecommunications network |
US20030050070A1 (en) * | 2001-03-14 | 2003-03-13 | Alex Mashinsky | Method and system for dynamic spectrum allocation and management |
AU2002254215A1 (en) * | 2001-03-14 | 2002-09-24 | Mashinsky | A method and system for dynamic spectrum allocation and management |
US6941378B2 (en) * | 2001-07-03 | 2005-09-06 | Hewlett-Packard Development Company, L.P. | Method for assigning a streaming media session to a server in fixed and mobile streaming media systems |
US20060160543A1 (en) * | 2002-03-14 | 2006-07-20 | Alex Mashinsky | Method and system for dynamic spectrum allocation and management |
EP1738607B1 (en) * | 2004-04-19 | 2007-07-11 | Telecom Italia S.p.A. | Method and system for service allocation in communication networks, related network and computer program product therefor |
US7650406B2 (en) * | 2006-04-26 | 2010-01-19 | Microsoft Corporation | Termination of a security association between devices |
CN101155346B (en) * | 2006-09-27 | 2012-11-07 | 华为技术有限公司 | Method and base station for terminal moving in multicast broadcasting system |
WO2008090414A2 (en) * | 2006-10-16 | 2008-07-31 | Bridgewater Systems Corp. | Systems and methods for subscriber-centric dynamic spectrum management |
US9282151B2 (en) * | 2008-09-11 | 2016-03-08 | International Business Machines Corporation | Flow control in a distributed environment |
US20130067093A1 (en) * | 2010-03-16 | 2013-03-14 | Optimi Corporation | Determining Essential Resources in a Wireless Network |
US10412662B2 (en) * | 2014-04-24 | 2019-09-10 | Telefonaktiebolget Lm Ericsson (Publ) | Normalized access barring |
CN106598737A (en) | 2016-12-13 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Method and device for implementing hardware resource allocation |
CN108206856B (en) * | 2017-09-30 | 2021-11-30 | 中兴通讯股份有限公司 | Information feedback method and device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355516A (en) * | 1990-09-28 | 1994-10-11 | Motorola, Inc. | Method for reducing superfluous channel allocation in a cellular radiotelephone communication system |
US5224099A (en) * | 1991-05-17 | 1993-06-29 | Stratacom, Inc. | Circuitry and method for fair queuing and servicing cell traffic using hopcounts and traffic classes |
US5363427A (en) | 1992-02-26 | 1994-11-08 | Motorola, Inc. | Telephone resource allocation method in a communication system |
CA2104753C (en) * | 1992-10-29 | 1999-02-16 | Kotikalapudi Sriram | Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks |
US5355616A (en) | 1993-11-01 | 1994-10-18 | Parker Michael H | Fishing lure |
US5570355A (en) * | 1994-11-17 | 1996-10-29 | Lucent Technologies Inc. | Method and apparatus enabling synchronous transfer mode and packet mode access for multiple services on a broadband communication network |
US5579372A (en) | 1994-12-12 | 1996-11-26 | Telefonaktiebolaget Lm Ericsson | Flow control method for short message service - busy subscriber |
US5802456A (en) | 1996-02-16 | 1998-09-01 | Motorola, Inc. | Method and apparatus to mitigate interference caused by an overlay communication system |
-
1997
- 1997-07-01 US US08/886,853 patent/US6282424B1/en not_active Expired - Fee Related
-
1998
- 1998-06-25 WO PCT/US1998/013354 patent/WO1999002000A1/en not_active Application Discontinuation
- 1998-06-25 CN CN98808680A patent/CN1269109A/en active Pending
- 1998-06-25 AU AU82686/98A patent/AU8268698A/en not_active Abandoned
- 1998-06-25 KR KR1019997012622A patent/KR20010020608A/en not_active Application Discontinuation
- 1998-06-25 EP EP98932902A patent/EP1025727A4/en not_active Withdrawn
- 1998-06-25 JP JP50725399A patent/JP2002508135A/en not_active Abandoned
-
2001
- 2001-06-19 US US09/885,814 patent/US20020019234A1/en not_active Abandoned
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050238040A1 (en) * | 1998-09-18 | 2005-10-27 | Harris Corporation | Distributed trunking mechanism for VHF networking |
US7933286B2 (en) * | 1998-09-18 | 2011-04-26 | Harris Corporation | Distributed trunking mechanism for VHF networking |
US20020181419A1 (en) * | 2001-06-01 | 2002-12-05 | Tao Zhang | Method for handoff in multimedia wireless networks |
US20080125168A1 (en) * | 2002-01-31 | 2008-05-29 | Qualcomm Incorporated | Timing transitions between wireless communication systems |
US7773992B2 (en) * | 2002-01-31 | 2010-08-10 | Qualcomm Incorporated | Timing transitions between wireless communication systems |
WO2004053643A3 (en) * | 2002-12-05 | 2004-10-28 | Winphoria Networks Inc | System and method of call admission control in a wireless network background |
US20050065790A1 (en) * | 2003-09-23 | 2005-03-24 | Sherif Yacoub | System and method using multiple automated speech recognition engines |
US7917364B2 (en) * | 2003-09-23 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | System and method using multiple automated speech recognition engines |
US20110047271A1 (en) * | 2006-03-27 | 2011-02-24 | Thales | Method and system for allocating resources |
US8443048B2 (en) | 2007-07-11 | 2013-05-14 | International Business Machines Corporation | Method, system and program product for assigning a responder to a requester in a collaborative environment |
US20100169444A1 (en) * | 2007-07-11 | 2010-07-01 | International Business Machines Corporation | Method, system and program product for assigning a responder to a requester in a collaborative environment |
US8266227B2 (en) * | 2007-07-11 | 2012-09-11 | International Business Machines Corporation | Method, system and program product for assigning a responder to a requester in a collaborative environment |
US20100098013A1 (en) * | 2008-10-20 | 2010-04-22 | Koninklijke Kpn N.V. | Method and System for Service Dependent Resource Allocation |
US20130262678A1 (en) * | 2012-03-05 | 2013-10-03 | Accenture Global Services Limited | Differentiated service-based graceful degradation layer |
US20150244563A1 (en) * | 2012-03-05 | 2015-08-27 | Accenture Global Services Limited | Differentiated service-based graceful degradation error |
US9195511B2 (en) * | 2012-03-05 | 2015-11-24 | Accenture Global Services Limited | Differentiated service-based graceful degradation layer |
US10110425B2 (en) * | 2012-03-05 | 2018-10-23 | Accenture Global Services Limited | Differentiated service-based graceful degradation layer |
US20130346969A1 (en) * | 2012-06-21 | 2013-12-26 | Vmware, Inc. | Opportunistically Proactive Resource Management Using Spare Capacity |
US8930948B2 (en) * | 2012-06-21 | 2015-01-06 | Vmware, Inc. | Opportunistically proactive resource management using spare capacity |
US20150356453A1 (en) * | 2013-03-28 | 2015-12-10 | Linkedln Corporation | Connection invitation ordering |
US9661090B2 (en) * | 2013-03-28 | 2017-05-23 | Linkedin Corporation | Connection invitation ordering |
US10116756B2 (en) | 2013-03-28 | 2018-10-30 | Microsoft Technology Licensing, Llc | Techniques to facilitate recommendations for non-member connections |
Also Published As
Publication number | Publication date |
---|---|
US6282424B1 (en) | 2001-08-28 |
JP2002508135A (en) | 2002-03-12 |
EP1025727A1 (en) | 2000-08-09 |
AU8268698A (en) | 1999-01-25 |
KR20010020608A (en) | 2001-03-15 |
WO1999002000A1 (en) | 1999-01-14 |
WO1999002000A8 (en) | 1999-04-15 |
EP1025727A4 (en) | 2002-03-20 |
CN1269109A (en) | 2000-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6282424B1 (en) | Resource controllers for use in a non-unitary service system | |
US5966372A (en) | Methods for resource control in a non-unitary service system | |
CN1126384C (en) | Method for an admission control function for a wireless data network | |
US6229795B1 (en) | System for allocating resources in a communication system | |
CA2320693C (en) | Method for controlling data flow associated with a communications node | |
US6484145B1 (en) | Priority access channel reservation | |
US8908610B2 (en) | Associated systems and methods for providing data services using idle cell resources | |
JP3924536B2 (en) | Evaluation method of network for mobile communication equipment | |
US7193992B2 (en) | Method of radio resource management for integrated voice and data CDMA networks | |
JP3042267B2 (en) | Adaptive call connection regulation control apparatus and method | |
AU2018224194B2 (en) | System and method for adaptively tracking and allocating capacity in a broadly-dispersed wireless network | |
WO2000030385A1 (en) | Determining subscriber demands on a communications system | |
US20040032828A1 (en) | Service management in cellular networks | |
US7139830B2 (en) | Communication apparatus and congestion regulation control method | |
US7376738B2 (en) | Method of dynamically allocating usage of a shared resource | |
US5878026A (en) | Resource sharing for book-ahead and instantaneous-request calls | |
KR100330419B1 (en) | Admission Control Based on Cell Load in CDMA System | |
JP2001086056A (en) | Congestion factor identification control method in mobile communication network, and storage medium | |
JP3456406B2 (en) | Traffic distribution method and traffic distribution value calculation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |