WO1998010307A1 - Location of a mobile station - Google Patents

Location of a mobile station

Info

Publication number
WO1998010307A1
WO1998010307A1 PCT/US1997/015892 US9715892W WO9810307A1 WO 1998010307 A1 WO1998010307 A1 WO 1998010307A1 US 9715892 W US9715892 W US 9715892W WO 9810307 A1 WO9810307 A1 WO 9810307A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
location
bcation
thε
station
loαtion
Prior art date
Application number
PCT/US1997/015892
Other languages
French (fr)
Other versions
WO1998010307A8 (en )
Inventor
Dennis Jay Dupray
Charles L. Karr
Original Assignee
Dennis Jay Dupray
Karr Charles L
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/022Means for monitoring or calibrating
    • G01S1/026Means for monitoring or calibrating of associated receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/022Means for monitoring or calibrating
    • G01S1/028Simulation means, e.g. of beacon signals therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0045Transmission from base station to mobile station
    • G01S5/0054Transmission from base station to mobile station of actual mobile position, i.e. position calculation on base station
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/021Calibration, monitoring or correction
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves by comparing measured values with pre-stored measured or simulated values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning solutions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0278Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves involving statistical or probabilistic considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/001Transmission of position information to remote stations
    • G01S2205/006Transmission of position information to remote stations for emergency situations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/001Transmission of position information to remote stations
    • G01S2205/008Transmission of position information to remote stations using a mobile telephone network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/06Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements

Abstract

A location system is disclosed for commercial wireless telecommunication infrastructures. The system is an end-to-end solution having one or more location centers for outputting requested locations of commercially available handsets or mobile stations (MS) based on, e.g., CDMA, AMPS, NAMPS or TDMA communication standards, for processing both local MS location requests and more global MS location requests via, e.g., Internet communication between a distributed network of location centers. The system uses a plurality of MS locating technologies including those based on: (1) two-way TOA and TDOA; (2) pattern recognition; (3) distributed antenna provisioning; and (4) supplemental information from various types of very low cost non-infrastructure base stations for communicating via a typical commercial wireless base station infrastructure or a public telephone switch network.

Description

LOCATION OF A MOBILE STATION

FIELD OF THE INVENTION The present invention is directed generally to a system and method for locating people or objects, and in particular, to a system and method for locating a wireless mobile station using a plurality of simultaneously activated mobile station location estimators.

BACKGROUND OF THE INVENTION

Introduction Wireless communications systems are becoming increasingly important worldwide. Wireless cellular telecommunications systems are rapidly replacing conventional wire-based telecommunications systems in many applications. Cellular radio telephone networks ("CRT"), and specialized mobile radio and mobile data radio networks are examples. The general principles of wireless cellular telephony have been described variously, for example in U. S. Patent 5,295,180 to Vendetti, et al, which is incorporated herein by reference. There is great interest in using existing infrastructures for wireless communication systems for locating people and/or objects in a cost effective manner. Such a capability would be invaluable in a variety of situations, especially in emergency or crime situations. Due to the substantial benefits of such a location system, several attempts have been made to design and implement such a system.

Systems have been proposed that rely upon signal strength and trilateralization techniques to permit location include those disclosed in U.S. Patents 4,818,998 and 4,908,629 to Apsell et al. ("the Apsell patents") and 4,891,650 to Sheffer ("the Sheffer patent"). However, these systems have drawbacks that include high expense in that special purpose electronics are required. Furthermore, the systems are generally only effective in line-of-sight conditions, such as rural settings. Radio wave surface reflections, refractions and ground clutter cause significant distortion, in determining the location of a signal source in most geographical areas that are more than sparsely populated. Moreover, these drawbacks are particularly exacerbated in dense urban canyon (city) areas, where errors and/or conflicts in location measurements can result in substantial inaccuracies.

Another example of a location system using time of arrival and trianguiation for location are satellite-based systems, such as the military and commercial versions of the Global Positioning Satellite system ("GPS"). GPS can provide accurate position determination (i.e., about 100 meters error for the commercial version of GPS) from a time-based signal received simultaneously from at least three satellites. A ground-based GPS receiver at or near the object to be located determines the difference between the time at which each satellite transmits a time signal and the time at which the signal is received and, based on the time differentials, determines the object's location. However, the GPS is impractical in many applications. The signal power levels from the satellites are low and the GPS receiver requires a clear, line-of-sight path to at least three satellites above a horizon of about 60 degrees for effective operation. Accordingly, inclement weather conditions, such as clouds, terrain features, such as hills and trees, and buildings restrict the ability of the GPS receiver to determine its position. Furthermore, the initial GPS signal detection process for a GPS receiver is relatively long (i.e., several minutes) for determining the receiver's position. Such delays are unacceptable in many applications such as, for example, emergency response and vehicle tracking.

Differential GPS, or DGPS systems offer correction schemes to account for time synchronization drift. Such correction schemes include the transmission of correction signals over a two-way radio link or broadcast via FM radio station subcarriers. These systems have been found to be awkward and have met with limited success.

Additionally, GPS-based location systems have been attempted in which the received GPS signals are transmitted to a central data center for performing location calculations. Such systems have also met with limited success. In brief, each of the various GPS embodiments have the same fundamental problems of limited reception of the satellite signals and added expense and complexity of the electronics required for an inexpensive location mobile station or handset for detecting and receiving the GPS signals from the satellites.

Radio Propagation Background The behavior of a mobile radio signal in the general environment is unique and complicated. Efforts to perform correlations between radio signals and distance between a base station and a mobile station are similarly complex. Repeated attempts to solve this problem in the past have been met with only marginal success. Factors include terrain undulations, fixed and variable clutter, atmospheric conditions, internal radio characteristics of cellular and PCS systems, such as frequencies, antenna configurations, modulation schemes, diversity methods, and the physical geometries of direct, refracted and reflected waves between the base stations and the mobile. Noise, such as man-made externally sources (e.g., auto ignitions) and radio system co-channel and adjacent channel interference also affect radio reception and related performance measurements, such as the analog carrier-to- interference ratio (C/l), or digital eπergy-per-bit Noise density ratio (Eb/No) and are particular to various points in time and space domains.

RF Propagation in Free Space

Before discussing real world correlations between signals and distance, it is useful to review the theoretical premise, that of radio energy path loss across a pure isotropic vacuum propagation channel, and its dependencies within and among various communications channel types. Fig. I illustrates a definition of channel types arising in communications: Over the last forty years various mathematical expressions have been developed to assist the radio mobile cell designer in establishing the proper balance between base station capital investment and the quality of the radio link, typically using radio energy field- strength, usually measured in microvolts/meter, or decibels.

First consider Hata's single ray model. A simplified radio channel can be described as: G, = LP + F + L, + Lm + Lb- Gt + Gr (Equation I)

where G, = system gain in decibels

Lp= free space path loss in dB,

F = fade margin in dB,

Lf = transmission line loss from coaxials used to connect radio to antenna, in dB,

Lm= miscellaneous losses such as minor antenna misalignment, coaxial corrosion, increase in the receiver noise figure due to aging, in dB, Lb= branching loss due to filter and circulator used to combine or split transmitter and receiver signals in a single antenna Gt= gain of transmitting antenna Gr= gain of receiving antenna

Free space path loss Lp as discussed in Mobile Communications Design Fundamentals, William C r. Lee, 2nd, Ed across the propagation channel is a function of distanced, frequency f (for f values < I GHz, such as the 890-950 mHz cellular band):

(equation 2)

Figure imgf000005_0001

where Porrecejved p0wer in free space fy = transmitting power c = speed of light,

The difference between two received signal powers in free space,

Δ, = (dB) (equation 3)

Figure imgf000005_0002
indicates that the free propagation path loss is 20 dB per decade. Frequencies between I GHz and 2GHz experience increased values in the exponent, ranging from 2 to 4, or 20 to 40 dB/decade, which would be predicted for the new PCS 1.8 - 1.9 GHz band.

This suggests that the free propagation path loss is 20 dB per decade. However, frequencies between I GHz and 2 GHz experience increased values in the exponent, ranging from 2 to 4, or 20 to 40 dB/decade, which would be prediαed for the new PCS 1.8 - 1.9 GHz band. One consequence from a location perspective is that the effective range of values for higher exponents is an increased at higher frequencies, thus providing improved granularity of ranging correlation.

Environmental Clutter and RF Propagation Effects

Actual data collected in real-world environments uncovered huge variations with respect to the free space path loss equation, giving rise to the creation of many empirical formulas for radio signal coverage prediction. Clutter, either fixed or stationary in geometric relation to the propagation of the radio signals, causes a shadow effect of blocking that perturbs the free space loss effect. Perhaps the best known model set that characterizes the average path loss is Hata's, "Empirical Formula for Propagation Loss in Land Mobile Radio", M. Hata, IEEE Transactions VT-29, pp.317-325, August 1980, three pathloss models, based on Okumura's measurements in and around Tokyo, "Field Strength and its Variability in VHF and UHF Land Mobile Service", Y. Okumura, et al, Review of the Electrical Communications laboratory, Vol 16, pp 825-873, Sept. - Oct. 1968.

The typical urban Hata model for Lp was defined as lp = Lhu:

LHu = 69.55 + 26.16 log( ) - 13.82 log(Aβ5 ) - a{hκιs ) + ((44.9 - 6.55 log(HβΛ. ) log( d)[dB )

(Equation 4)

where Liju = path loss, Ηata urban nBS — base station antenna height nMS= mobile station antenna height d = distance BS-MS in km

2(nMS is a correction factor for small and medium sized cities, found to be: 1 log(/ - 0.7) MS - 1.56 log( - 0.8) = a ^ )

(Equation 5)

For large cities the correction factor was found to be:

Figure imgf000007_0001

(Equation 6) assuming f is equal to or greater than 400 mHz.

The typical suburban model correction was found to be:

Lu = L„u - 5.4[dB] (Equation 7)

Figure imgf000007_0002

The typical rural model modified the urban formula differently, as seen below:

LHrurai = LHu " 4 78 (lo8 2 + 18-331oβ f " 40 94 t"dBl (Equation 8)

20

Although the Hata model was found to be useful for generalized RF wave prediction in frequencies under I GHz in certain suburban and rural settings, as either the frequency and/or clutter increased, predictability decreased. In current practice, however, field technicians often have to make a guess for dense urban an suburban areas (applying whatever model seems best), then installing a base stations and begin taking manual measurements. Coverage problems can take up to a year to resolve.

Relating Received Signal Strength to Location

Having previously established a relationship between d and Pcr, reference equation 2 above: d represents the distance between the mobile station (MS) and the base station (BS); Por represents the received power in free space) for a given set of unchanging environmental conditions, it may be possible to dynamically measure Por and then determine d.

In 1991, Ui. Patent 5,055,851 to Sheffer taught that if three or more relationships have been established in a triangular space of three or more base stations (BSs) with a location database constructed having data related to possible mobile station (MS) locations, then arculatioπ calculations may be performed, which use three distinct Por measurements to determine an X,Y, two dimensional location, which can then be projected onto an area map. The triangulation calculation is based on the fact that the approximate distance of the mobile station (MS) from any base station (BS) cell can be calculated based on the received signal strength. Sheffer acknowledges that terrain variations affect accuracy, although as noted above, Sheffer's disclosure does not account for a sufficient number of variables, such as fixed and variable location shadow fading, which are typical in dense urban areas with moving traffic.

Most field research before about 1988 has focused on characterizing (with the objective of RF coverage prediction) the RF propagation channel (i.e., electromagnetic radio waves) using a single-ray model, although standard fit errors in regressions proved dismal (e.g., 40-80 dB). Later, multi-ray models were proposed, and much later, certain behaviors were studied with radio and digital channels. In 1981, Vogler proposed that radio waves at higher frequencies could be modeled using optics principles. In 1988 Walfisch and Bertoni applied optical methods to develop a two-ray model, which when compared to certain highly specific, controlled field data, provided extremely good regression fit standard errors of within 1.2 dB.

In the Bertoni two ray model it was assumed that most cities would consist of a core of high-rise buildings surrounded by a much larger area having buildings of uniform height spread over regions comprising many square blocks, with street grids organizing buildings into rows that are nearly parallel. Rays penetrating buildings then emanating outside a building were neglected. Fig.2 provides a basis for the variables.

After a lengthy analysis it was concluded that path loss was a function of three factors: (I) the path loss between antennas in free space; (2) the reduction of rooftop wave fields due to settling; and (3) the effect of diffraction of the rooftop fields down to ground level. The last two factors were summarily termed Lex> gjven Dv:

R L „ = 57.1 + A + log(/ ) + Λ - (( 1 8 l og(H )) - 1 8 log 1 - (Equation 9)

\ 1 H

The influence of building geometry is contained in A:

= 51og [( ^ 2] - 91ogd + 201og { tan [2 ( h - HMS) ] _1 }

(Equation 10)

However, a substantial difficulty with the two-ray model in practice is that it requires a substantial amount of data regarding building dimensions, geometries, street widths, antenna gain characteristics for every possible ray path, etc. Additionally, it requires an inordinate amount of computational resources and such a model is not easily updated or maintained.

Unfortunately, in practice clutter geometries and building heights arc random. Moreover, data of sufficient detail has been extremely difficult to acquire, and regression standard fit errors are poor; i.e„ in the general case, these errors were found to be 40- 60 dB. Thus the two-ray model approach, although sometimes providing an improvement over single ray techniques, still did not predict Rf signal characteristics in the general case to level of accuracy desired (< lOdB). Work by Greenstein has since developed from the perspective of measurement-based regression models, as opposed to the previous approach of predicting-ftrst, then performing measurement comparisons. Apparently yielding to the fact that low-power, low antenna (e.g., 12-25 feet above ground) height PCS microcell coverage was insufficient in urban buildings, Greenstein, et al, authored "Performance Evaluations for Urban Line-of-sight Microcells Using a Multi-ray Propagation Model", in IEEE Globecom Proceedings, 12/91. This paper proposed the idea of formulating regressions based on field measurements using small PCS microcells in a lineal microcell geometry (i.e., geometries in which there is always a line-of-sight (LOS) path between a subscriber's mobile and its current microsite).

Additionally, Greenstein studied the communication channels variable Bit-Error-Rate (BER) in a spatial domain, which was a departure from previous research that limited field measurements to the RF propagation channel signal strength alone. However, Greenstein based his finding on two suspicious assumptions: I) he assumed that distance correlation estimates were identical for uplink and downlink transmission paths; and 2) modulation techniques would be transparent in terms of improved distance correlation conclusions. Although some data held very correlations, other data and environments produced poor results. Accordingly, his results appear unreliable for use in general location context.

In 1993 Greenstein, et al, authored "A Measurement-Based Model for Predicting Coverage Areas of Urban Microcells", in the IEEE Journal On Seleαed Areas in Communications, Vol. 11, No.7, 9/93. Greenstein reported a generic measurement-based model of RF attenuation in terms of constant-value contours surrounding a given low-power, low antenna microcell environment in a dense, rectilinear neighborhood, such as New York City. However, these contours were for the cellular frequency band. In this case, LOS and non-LOS clutter were considered for a given microcell site. A result of this analysis was that RF propagation losses (or attenuations), when cell antenna heights were relatively low, provided attenuation contours resembling a spline plane curve depicted as an asteroid, aligned with major street grid patterns. Further, Greenstein found that convex diamond-shaped RF propagation loss contours were a common occurrence in field measurements in a rectilinear urban area. The special plane curve asteroid is represented by the formula xM + yM = rw. However, these results alone have not been sufficiently robust and general to accurately locate an MS, due to the variable nature of urban clutter spatial arrangements..

At Telesis Technology in 1994 Howard Xia, et al, authored "Microcellular Propagation Characteristics for Personal Communications in Urban and Suburban Environments", in IEEE Transaαions of Vehicular Technology, Vol.43, No.3, 8/94, which performed measurements specifically in the PCS 1.8 to 1.9 GHz frequency band. Xia found corresponding but more variable outcome results in San Francisco, Oakland (urban) and the Sunset and Mission Districts (suburban).

Summary of Factors Affecting RF Propagation

The physical radio propagation channel perturbs signal strength, frequency (causing rate changes, phase delay, signal to noise ratios (e.g., C/l for the analog case, or l , RF energy per bit, over average noise density ratio for the digital case) and Doppler-shift. Signal strength is usually characterized by: Free Space Path Loss (Lp) Slow fading loss or margin (L,|OT)

Fast fading loss or margin (LfjlI)

Loss due to slow fading includes shadowing due to clutter blockage (sometimes included in Lp). Fast fading is composed of multipath reflections which cause: I) delay spread; 2) random phase shift or Rayleigh fading; and 3) random frequency modulation due to different Doppler shifts on different paths.

Summing the path loss and the two fading margin loss components from the above yields a total path loss of:

Hotal = L + Ljlow + Hut

Referring to Fig.3, the figure illustrates key components of a typical cellular and PCS power budget design process. The cell designer increases the transmitted power Pτx by the shadow fading margin L,.ow which is usually chosen to be within the I -2 percεntile of the slow fading probability density funαion (PDF) to minimize the probability of unsatisfactorily low received power level Pu at the receiver. The P^ level must have enough signal to noise energy level (e.g., 10 dB) to overcome the receiver's internal noise level (e.g., -llβdBm in the case of cellular 0.9 GHz), for a minimum voice quality standard. Thus in the example P^ must never be below -108 dBm, in order to maintain the quality standard. Additionally the short term fast signal fading due to multipath propagation is taken into account by deploying fast fading margin L^,, which is typically also chosen to be a few percentiles of the fast fading distribution. The I to 2 percentiles compliment other network blockage guidelines. For example the cell base station traffic loading capacity and network transport facilities are usually designed for a I -2 percentile blockage fartor as well. However, in the worst-case scenario both fading margins are simultaneously exceeded, thus causing a fading margin overload. In Roy , Steele's, text, Mobile Radio Communications, IEEE Press, 1992, estimates for a GSM system operating in the 1.8

GHz band with a transmitter antenna height of 6.4m and an MS receiver antenna height of 2m, and assumptions regarding total path loss, transmitter power would be calculated as follows:

Table I: GSM Power Budget Example

Figure imgf000011_0001

Steele's sample size in a specific urban London area of 80,000 LOS measurements and data reduαion found a slow fading variance of

σ = 7dB

assuming lognormal slow fading PDF and allowing for a 1.4% slow fading margin overload, thus

slow 2σ = 14dB

The fast fading margin was determined to be:

Lfast = 7dB

In contrast, Xia's measurements in urban and suburban California at 1.8 GHz uncovered flat-land shadow fades on the order of 25-30 dB when the mobile station (MS) receiver was traveling from LOS to non-LOS geometries. In hilly terrain fades of + 5 to -50 dB were experienced. Thus it is evident that attempts to correlate signal strength with MS ranging distance suggest that error ranges could not be expected to improve below 14 dB, with a high side of 25 to 50 dB. Based on 20 to 40 dB per decade. Corresponding error ranges for the distance variable would then be on the order of 900 feet to several thousand feet, depending upon the particular environmental topology and the transmitter and receiver geometries. SUMMARY OF THE INVENTION

OBJECTS OF THE INVENTION

It is an objective of the present invention to provide a system and method for to wireless telecommunication systems for accurately locating people and/or objeαs in a cost effective manner. Additionally, it is an objective of the present invention to provide such location capabilities using the measurements from wireless signals communicated between mobile stations and a network of base stations, wherein the same communication standard or protocol is utilized for location as is used by the network of base stations for providing wireless communications with mobile stations for other purposes such as voice communication and/or visual communication (such as text paging, graphical or video communications). Related objectives for the present invention include providing a system and method that: (I.I) can be readily incorporated into existing commercial wireless telephony systems with few, if any, modifications of a typical telephony wireless infrastruαure;

(1.2) can use the native electronics of typical commercially available telephony wireless mobile stations (e.g., handsets) as location devices; (I J) can be used for effectively locating people and/or objeαs wherein there are few (if any) line-of-sight wireless receivers for receiving location signals from a mobile station (herein also denoted MS);

(1.4) can be used not only for decreasing location determining difficulties due to multipath phenomena but in faα uses such multipath for providing more accurate location estimates;

(1.5) can be used for integrating a wide variety of location techniques in a straight-forward manner; and

(1.6) can substantially automatically adapt and/or (re)train and/or ( recalibrate itself according to changes in the environment and/or terrain of a geographical area where the present invention is utilized.

Yet another objective is to provide a low cost location system and method, adaptable to wireless telephony systems, for using simultaneously a plurality of location techniques for synergistically increasing MS location accuracy and consistency. In particular, at least some of the following MS location techniques can be utilized by various embodiments of the present invention: (2.1) time-of-arrival wireless signal processing techniques; (2.2) time-difference-of-arrival wireless signal processing techniques;

(23) adaptive wireless signal processing techniques having, for example, learning capabilities and including, for instance, artificial neural net and genetic algorithm processing;

(2.4) signal processing techniques for matching MS location signals with wireless signal characteristics of known areas;

(2.5) confliα resolution techniques for resolving conflicts in hypotheses for MS location estimates; (2.6) enhancement of MS location estimates through the use of both heuristics and historical data associating MS wireless signal characteristics with known locations and/or environmental conditions. Yet another objective is to provide location estimates in terms of time veαors, which can be used to establish motion, speed, and an extrapolated next location in cases where the MS signal subsequently becomes unavailable.

DEFINITIONS The following definitions are provided for convenience. In general, the definitions here are also defined elsewhere in this document as well.

(3.1) The term "wireless" herein is, in general, an abbreviation for "digital wireless", and in particular, "wireless" refers to digital radio signaling using one of standard digital protocols such as CDMA, NAMPS, AMPS, TDMA and GSM, as one skilled in the art will understand. (3.2) As used herein, the term "mobile station" (equivalently, MS) refers to a wireless device that is at least a transmitting device, and in most cases is also a wireless receiving device, such as a portable radio telephony handset. Note that in some contexts herein instead or in addition to MS, the following terms are also used: "personal station" (PS), and "location unit" (LU). In general, these terms may be considered synonymous. However, the later two terms may be used when referring to reduced functionality communication devices in comparison to a typical digital wireless mobile telephone. (33) The term, "infrastructure", denotes the network of telephony communication services, and more particularly, that portion of such a network that receives and processes wireless communications with wireless mobile stations. In particular, this infrastruαure includes telephony wireless base stations (BS) such as those for radio mobile communication systems based on CDMA, AMPS, NAMPS, TDMA, and GSM wherein the base stations provide a network of cooperative communication channels with an air interface with the MS, and a conventional telecommunications interface with a Mobile Switch Center (MSC). Thus, an MS user within an area serviced by the base stations may be provided with wireless communication throughout the area by user transparent communication transfers (i.e., "handoffs") between the user's MS and these base stations in order to maintain effective telephony service. The mobile switch center (MSC) provides communications and control connectivity among base stations and the public telephone network. (3.4) The phrase, "composite wireless signal characteristic values" denotes the result of aggregating and filtering a colleαion of measurements of wireless signal samples, wherein these samples are obtained from the wireless communication between an MS to be located and the base station infrastructure (e.g., a plurality of networked base stations). However, other phrases are also used herein to denote this colleαion of derived characteristic values depending on the context and the likely orientation of the reader. For example, when viewing these values from a wireless signal processing perspective of radio engineering, as in the descriptions of the subsequent Detailed Description sections concerned with the aspeαs of the present invention for receiving MS signal measurements from the base station infrastructure, the phrase typically used is: "RF signal measurements". Alternatively, from a data processing perspective, the phrases: "location signature cluster" and "location signal data" are used to describe signal charaαeristic values between the MS and the plurality of infrastruαure base stations substantially simultaneously detecting MS transmissions. Moreover, since the location communications between an MS and the base station infrastruαure typically include simultaneous communications with more than one base station, a related useful notion is that of a "location signature" which is the composite wireless signal

II charaαeristic values for signal samples between an MS to be located and a single base station. Also, in some contexts, the phrases: "signal charaαeristic values" or "signal charaαeristic data" are used when either or both a location signature(s) and/or a location signature cluster(s) are intended.

SUMMARY DISCUSSION

The present invention relates to a wireless mobile station location system. In particular, such a wireless mobile station location system may be decomposed into: (i) a first low level wireless signal processing subsystem for receiving, organizing and conditioning low level wireless signal measurements from a network of base stations cooperatively linked for providing wireless communications with mobile stations (MSs); and (ii) a second high level signal processing subsystem for performing high level data processing for providing most likelihood location estimates for mobile stations.

More precisely, the present invention is a novel signal processor that includes at least the functionality for the high signal processing subsystem mentioned hereinabove. Accordingly, assuming an appropriate ensemble of wireless signal measurements charaαerizing the wireless signal communications between a particular MS and a networked wireless base station infrastructure have been received and appropriately filtered of noise and transitory values (such as by an embodiment of the low level signal processing subsystem disclosed in a upending PCT patent application titled, "Wireless Location Using A Plurality of Commercial Network Infrastructures," by F. W. LeBlanc, and the present applicant(s); this copending patent application being herein incorporated by reference), the present invention uses the output from such a low level signal processing system for determining a most likely location estimate of an MS.

That is, once the following steps are appropriately performed (e.g., by the LeBlanc copending application): (4.1) receiving signal data measurements corresponding to wireless communications between an MS to be located

(herein also denoted the "target MS") and a wireless telephony infrastruαure;

(4.2) organizing and processing the signal data measurements received from a given target MS and surrounding BSs so that composite wireless signal charaαeristic values may be obtained from which target MS location estimates may be subsequently derived. In particular, the signal data measurements are ensembles of samples from the wireless signals received from the target MS by the base station infrastruαure, wherein these samples are subsequently filtered using analog and digital speαral filtering, the present invention accomplishes the objectives mentioned above by the following steps:

(4.3) providing the composite signal characteristic values to one or more MS location hypothesizing computational models (also denoted herein as "first order models" and also "location estimating models"), wherein each such model subsequently determines one or more initial estimates of the location of the target MS based on, for example, the signal processing techniques 2.1 through 2.3 above. Moreover, each of the models output MS location estimates having substantially identical data struαures (each such data structure denoted a "location hypothesis"). Additionally, each location hypothesis may also includes a confidence value indicating the likelihood or probability that the target MS whose location is desired resides in a corresponding location estimate for the target MS; (4.4) adjusting or modifying location hypotheses output by the models according to, for example, 2.4 through 2.6 above so that the adjusted location hypotheses provide better target MS location estimates. In particular, such adjustments are performed on both the target MS location estimates of the location hypotheses as well as their corresponding confidences; and (4.4) subsequently computing a "most likely" target MS location estimate for outputting to a location requesting application such as 911 emergency, the fire or police departments, taxi services, etc. Note that in computing the most likely target MS location estimate a plurality of location hypotheses may be taken into account. In faα, it is an important aspeα of the present invention that the most likely MS location estimate is determined by computationally forming a composite MS location estimate utilizing such a plurality of location hypotheses so that, for example, location estimate similarities between location hypotheses can be effectively utilized.

Referring now to (4.3) above, the filtered and aggregated wireless signal charaαeristic values are provided to a number of location hypothesizing models (denoted Fiπt Order Models, or FOMs), each of which yields a location estimate or location hypothesis related to the location of the target MS. In particular, there are location hypotheses for both providing estimates of where the target MS likely to be and where the target MS is not likely to be. Moreover, it is an aspeα of the present invention that confidence values of the location hypotheses are provided as a continuous range of real numbers from, e.g., -I to I, wherein the most unlikely areas for locating the target MS are given a confidence value of -I, and the most likely areas for locating the target MS are given a confidence value of I. That is, confidence values that are larger indicate a higher likelihood that the target MS is in the corresponding MS estimated area, wherein I indicates that the target MS is absolutely NOT in the estimated area, 0 indicates a substantially neutral or unknown likelihood of the target MS being in the corresponding estimated area, and I indicates that the target MS is absolutely within the corresponding estimated area.

Referring to (4.4) above, it is an aspeα of the present invention to provide location hypothesis enhancing and evaluation techniques that can adjust target MS location estimates according to historical MS location data and/or adjust the confidence values of location hypotheses according to how consistent the corresponding target MS location estimate is: (a) with historical MS signal charaαeristic values, (b) with various physical constraints, and (c) with various heuristics. In particular, the following capabilities are provided by the present invention:

(5.1) a capability for enhancing the accuracy of an initial location hypothesis, H, generated by a fiπt order model, FOMH, by using H as, essentially, a query or index into an historical data base (denoted herein as the location signature data base), wherein this data base includes: (a) a plurality of previously obtained location signature clusters (i.e., composite wireless signal characteristic values) such that for each such cluster there is an associated actual or verified MS locations where an MS communicated with the base station infrastruαure for locating the MS, and (b) previous MS location hypothesis estimates from FOMH derived from each of the location signature clusters stored according to (a); (5.2) a capability for analyzing composite signal charaαeristic values of wireless communications between the target MS and the base station infrastructure, wherein such values are compared with composite signal characteristics values of known MS locations (these latter values being archived in the location signature data base). In one instance, the composite signal charaαeristic values used to generate various location hypotheses for the target MS are compared against wireless signal data of known MS locations stored in the location signature data base for determining the reliability of the location hypothesizing models for particular geographic areas and/or environmental conditions; (53) a capability for reasoning about the likeliness of a location hypothesis wherein this reasoning capability uses heuristics and constraints based on physics and physical properties of the location geography;

(5.4) an hypothesis generating capability for generating new location hypotheses from previous hypotheses. As also mentioned above in (23), the present invention utilizes adaptive signal processing techniques. One particularly important utilization of such techniques includes the automatic tuning of the present invention so that, e.g., such tuning can be applied to adjusting the values of location processing system parameteπ that affect the processing performed by the present invention. For example, such system parameters as those used for determining the size of a geographical area to be specified when retrieving location signal data of known MS locations from the historical (location signature) data base can substantially affect the location processing. In particular, a system parameter specifying a minimum size for such a geographical area may, if too large, cause unnecessary inaccuracies in locating an MS. Accordingly, to accomplish a tuning of such system parameters, an adaptation engine is included in the present invention for automatically adjusting or tuning parameteπ used by the present invention. Note that in one embodiment, the adaptation engine is based on genetic algorithm techniques.

A novel aspeα of the present invention relies on the discovery that in many areas where MS location services are desired, the wireless signal measurements obtained from communications between the target MS and the base station infrastructure are extensive enough to provide sufficiently unique or peculiar values so that the pattern of values alone may identify the location of the target MS. Further, assuming a sufficient amount of such location identifying pattern information is captured in the composite wireless signal charaαeristic values for a target MS, and that there is a technique for matching such wireless signal patterns to geographical locations, then a FOM based on this technique may generate a reasonably accurate target MS location estimate. Moreover, if the present invention (e.g., the location signature data base) has captured sufficient wireless signal data from location communications between MSs and the base station infrastructure wherein the locations of the MSs are also verified and captured, then this captured data (e.g., location signatures) can be used to train or calibrate such models to associate the location of a target MS with the distinαive signal characteristics between the target MS and one or more base stations. Accordingly, the present invention includes one or more FOMs that may be generally denoted as classification models wherein such FOMs are trained or calibrated to associate particular composite wireless signal characteristic values with a geographical location where a target MS could likely generate the wireless signal samples from which the composite wireless signal charaαeristic values are derived. Further, the present invention includes the capability for training (calibrating) and retraining (recalibrating) such classification FOMs to automatically maintain the accuracy of these models even though substantial changes to the radio coverage area may occur, such as the construction of a new high rise building or seasonal variations (due to, for example, foliage variations).

Note that such classification FOMs that are trained or calibrated to identify target MS locations by the wireless signal patterns produced constitute a particularly novel aspect of the present invention. It is well known in the wireless telephony art that the phenomenon of signal multipath and shadow fading rendeπ most analytical location computational techniques such as time-of- arrival (TOA) or time-differeπce-of-arrival (TDOA) substantially useless in urban areas and particularly in dense urban areas. However, this same multipath phenomenon also may produce substantially distinct or peculiar signal measurement patterns, wherein such a pattern coincides with a relatively small geographical area. Thus, the present invention utilizes multipath as an advantage for increasing accuracy where for previous location systems multipath has been a source of substantial inaccuracies. Moreover, it is worthwhile to note that the utilization of classification FOMs in high multipath environments is especially advantageous in that high multipath environments are typically densely populated. Thus, since such environments are also capable of yielding a greater density of MS location signal data from MSs whose attual locations can be obtained, there can be a substantial amount of training or calibration data captured by the present invention for training or calibrating such classification FOMs and for progressively improving the MS location accuracy of such models. Moreover, since it is also a related aspeα of the present invention to include a plurality stationary, low cost, low power "location deteαion base stations" (LBS), each having both restriαed range MS deteαion capabilities and a built-in MS, a grid of such LBSs can be utilized for providing location signal data (from the built-in MS) for ( retraining or (re)calibratiπg such classification FOMs.

In one embodiment of the present invention, one or more classification FOMs may each include a learning module such as an artificial neural network (ANN) for associating target MS location signal data with a target MS location estimate. Additionally, one or more classification FOMs may be statistical prediction models based on such statistical techniques as, for example, principle decomposition, partial least squares, or other regression techniques.

It is a further aspect of the present invention that the peπonal communication system (PCS) infrastructures currently being developed by telecommunication providers offer an appropriate localized infrastructure base upon which to build various pεπonal location systems (PLS) employing the present invention and/or utilizing the techniques disclosed herein. In particular, the present invention is especially suitable for the location of people and/or objeαs using code division multiple access (CDMA) wireless infrastructures, although other wireless infrastruαures, such as, time division multiple access (TDMA) infrastructures and GSM are also contemplated. Note that CDMA personal communications systems are described in the Telephone industries Association standard IS-95, for frequencies below I GHz, and in the Wideband Spread- Spectrum Digital Cellular System Dual-Mode Mobile Station-Base Station Compatibility Standard, for frequencies in the 1.8-1.9 GHz frequency bands, both of which are incorporated herein by reference. Furthermore, CDMA general principles have also been described, for example, in U. S. Patent 5,109390, to Gilhausen, et al, and CDMA Network Engineering Handbook by Qualcomm, Inc., each of which is also incorporated herein by reference.

Notwithstanding the above mentioned CDMA references, a brief introduction of CDMA is given here. Briefly, CDMA is an electromagnetic signal modulation and multiple access scheme based on spread speαrum communication. Each CDMA signal corresponds to an unambiguous pseudorandom binary sequence for modulating the carrier signal throughout a predetermined speαrum of bandwidth frequencies. Transmissions of individual CDMA signals are seleαed by correlation processing of a pseudonoise waveform. In particular, the CDMA signals are separately detected in a receiver by using a correlator, which accepts only signal energy from the seleαed binary sequence and despreads its speαrum. Thus, when a fiπt CDMA signal is transmitted, the transmissions of unrelated CDMA signals correspond to pseudorandom sequences that do not match the fiπt signal. Therefore, these other signals contribute only to the noise and represent a self-interference generated by the personal communications system. As mentioned in (1.7) and in the discussion of classification FOMs above, the present invention can substantially automatically retrain and/or recalibrate itself to compensate for variations in wireless signal characteristics (e.g., multipath) due to environmental and/or topographic changes to a geographic area serviced by the present invention. For example, in one embodiment, the present invention optionally includes low cost, low power base stations, denoted location base stations (LBS) above, providing, for example, CDMA pilot channels to a very limited area about each such LBS. The location base stations may provide limited voice traffic capabilities, but each is capable of gathering sufficient wireless signal characteristics from an MS within the location base station's range to facilitate locating the MS. Thus, by positioning the location base stations at known locations in a geographic region such as, for instance, on street lamp poles and road signs, additional MS location accuracy can be obtained. That is, due to the low power signal output by such location base stations, for there to be signaling control communication (e.g., pilot signaling and other control signals) between a location base station and a target MS, the MS must be relatively near the location base station. Additionally, for each location base station not in communication with the target MS, it is likely that the MS is not near to this location base station. Thus, by utilizing information received from both location base stations in communication with the target MS and those that are not in communication with the target MS, the present invention can substantially narrow the possible geographic areas within which the target MS is likely to be. Further, by providing each location base station (LBS) with a co-located stationary wireless transceiver (denoted a built-in MS above) having similar functionality to an MS, the following advantages are provided:

(6.1) assuming that the co-located base station capabilities and the stationary transceiver of an LBS are such that the base station capabilities and the stationary transceiver communicate with one another, the stationary transceiver can be signaled by another compoπent(s) of the present invention to aαivate or deactivate its associated base station capability, thereby conserving power for the LBS that operate on a restriαed power such as solar electrical power; (62) the stationary transceiver of an LBS can be used for transferring target MS location information obtained by the LBS to a conventional telephony base station;

(63) since the location of each LBS is known and can be used in location processing, the present invention is able to (re)train and/or (re)calibrate itself in geographical areas having such LBSs. That is, by activating each LBS stationary transceiver so that there is signal communication between the stationaiγ transceiver and surrounding base stations within range, wireless signal charaαeristic values for the location of the stationary transceiver are obtained for each such base station. Accordingly, such characteristic values can then be associated with the known location of the stationary transceiver for training and/or calibrating various of the location processing modules of the present invention such as the classification FOMs discussed above. In particular, such training and/or calibrating may include:

(i) (re)training and/or (re)calibrating FOMs; (ii) adjusting the confidence value initially assigned to a location hypothesis according to how accurate the generating FOM is in estimating the location of the stationary transceiver using data obtained from wireless signal characteristics of signals between the stationary transceiver and base stations with which the stationary transceiver is capable of communicating; (iii) automatically updating the previously mentioned historical data base (i.e., the location signature data base), wherein the stored signal characteristic data for each stationary transceiver can be used for detecting environmental and/or topographical changes (e.g., a newly built high rise or other struαures capable of altering the multipath characteristics of a given geographical area); and

(iv) tuning of the location system parameters, wherein the steps of: (a) modifying various system parameteπ and (b) testing the performance of the modified location system on verified mobile station location data (including the stationary transceiver signal charaαeristic data), these steps being interleaved and repeatedly performed for obtaining better system location accuracy within useful time constraints.

It is also an aspect of the present invention to automatically ( recalibrate as in (63) above with signal characteristics from other known or verified locations. In one embodiment of the present invention, portable location verifying eleαronics are provided so that when such eleαronics are sufficiently near a located target MS, the eleαronics: (I) deteα the proximity of the target MS; (ii) determine a highly reliable measurement of the location of the target MS; (iii) provide this measurement to other location determining components of the present invention so that the location measurement can be associated and archived with related signal charaαeristic data received from the target MS at the location where the location measurement is performed. Thus, the use of such portable location verifying eleαronics allows the present invention to capture and utilize signal characteristic data from verified, substantially random locations for location system calibration as in (63) above. Moreover, it is important to note that such location verifying eleαronics can verify locations automatically wherein it is unnecessary for manual activation of a location verifying process. One embodiment of the present invention includes the location verifying eleαronics as a "mobile (location) base station" (MBS) that can be, for example, incorporated into a vehicle, such as an ambulance, police car, or taxi. Such a vehicle can travel to sites having a transmitting target MS, wherein such sites may be randomly located and the signal charaαeristic data from the transmitting target MS at such a location can consequently be archived with a verified location measurement performed at the site by the mobile location base station. Moreover, it is important to note that such a mobile location base station as its name implies also includes base station eleαronics for communicating with mobile stations, though not necessarily in the manner of a conventional infrastructure base station. In particular, a mobile location base station may only monitor signal characteristics, such as MS signal strength, from a target MS without transmitting signals to the target MS. Alternatively, a mobile location base station can periodically be in bi-directional communication with a target MS for determining a signal time-of-arrival (or time-difference-of- arrival) measurement between the mobile location base station and the target MS. Additionally, each such mobile location base station includes components for estimating the location of the mobile location base station, such mobile location base station location estimates being important when the mobile location base station is used for locating a target MS via, for example, time-of-arrival or time-difference-of-arrival measurements as one skilled in the art will appreciate. In particular, a mobile location base station can include: (7.1) a mobile station (MS) for both communicating with other components of the present invention (such as a location processing center included in the present invention);

(12) a GPS receiver for determining a location of the mobile location base station;

(73) a gyroscope and other dead reckoning devices; and (7.4) devices for operator manual entry of a mobile location base station location.

Furthermore, a mobile location base station includes modules for integrating or reconciling distinct mobile location base station location estimates that, for example, can be obtained using the components and devices of (7.1) through (7.4) above. That is, location estimates for the mobile location base station may be obtained from: GPS satellite data, mobile location base station data provided by the location processing center, dead reckoning data obtained from the mobile location base station vehicle dead reckoning devices, and location data manually input by an operator of thε mobile location base station.

The location estimating system of the present invention offers many advantages over existing location systems. The system of the present invention, for example, is readily adaptable to existing wireless communication systems and can accurately locate people and/or objeαs in a cost effective manner. In particular, the present invention requires few, if any, modifications to commercial wireless communication systems for implementation. Thus, existing personal communication system infrastruαure base stations and other components of, for example, commercial CDMA infrastruαures are readily adapted to the present invention. The present invention can be used to locate people and/or objeαs that are not in the line-of-sight of a wireless receiver or transmitter, can reduce the detrimental effects of multipath on the accuracy of the location estimate, can potentially locate people and/or objeαs located indoors as well as outdoors, and uses a number of wireless stationary transceivers for location. The present invention employs a number of distinctly different location computational models for location which provides a greater degree of accuracy, robustness and versatility than is possible with existing systems. For instance, the location models provided include not only the radius- radius/TOA and TDOA techniques but also adaptive artificial neural net techniques. Further, the present invention is able to adapt to the topography of an area in which location service is desired. The present invention is also able to adapt to environmental changes substantially as frequently as desired. Thus, the present invention is able to take into account changes in the location topography over time without extensive manual data manipulation. Moreover, the present invention can be utilized with varying amounts of signal measurement inputs. Thus, if a location estimate is desired in a very short time interval (e.g., less than approximately one to two seconds), then thε present location estimating system can be used with only as much signal measurement data as is possible to acquire during an initial portion of this time interval. Subsequently, after a greater amount of signal measurement data has been acquired, additional more accurate location estimates may be obtained. Note that this capability can be useful in the context of 911 emergency response in that a first quick course wireless mobile station location estimate can be used to route a 911 call from the mobile station to a 911 emergency response center that has responsibility for the area containing the mobile station and the 911 caller. Subsequently, once the 911 call has been routed according to this first quick location estimate, by continuing to receive additional wireless signal measurements, more reliable and accurate location estimates of the mobile station can be obtained. Moreover, there are numerous additional advantages of the system of the present invention when applied in CDMA communication systems. The location system of the present invention readily benefits from the distinct advantages of the CDMA spread speαrum scheme, namely, these advantages include the exploitation of radio frequency speαral efficiency and isolation by (a) monitoring voice activity, (b) management of two-way power control, (c) provisioning of advanced variable-rate modems and error correcting signal encoding, (d) inherent resistance to fading, (e) enhanced privacy, and (f) multiple "rake" digital data receivers and searcher receivers for correlation of signal multipaths. At a more general level, it is an aspect of the present invention to demonstrate the utilization of various novel computational paradigms such as:

(8.1) providing a multiple hypothesis computational architeαure (as illustrated best in Fig.8) wherein the hypotheses are: (8.1.1) generated by modular independent hypothesizing computational models;

(8.12) the models are embedded in the computational architeαure in a manner wherein thε architeαure allows for substantial amounts of application specific processing common or generic to a plurality of the models to be straightforwardly incorporated into the computational architeαure;

(8.13) the computational architeαure enhances the hypotheses generated by the models both according to past performance of the models and according to application specific constraints and heuristics without requiring feedback loops for adjusting the models; (8.1.4) the models are relatively easily integrated into, modified and extraαεd from thε computational architecture;

(82) providing a computational paradigm for enhancing an initial estimated solution to a problem by using this initial estimated solution as, effectively, a query or index into an historical data base of previous solution estimates and corresponding aαual solutions for deriving an enhanced solution estimatε based on past performance of the module that generated the initial estimated solution. Note that the multiple hypothesis architeαure provided herein is useful in implementing solutions in a wide range of applications. For example, the following additional applications are within the scope of the present invention: (9.1) document scanning applications for transforming physical documents in to electronic forms of the documents. Note that in many cases the scanning of certain documents (books, publications, etc.) may have a 20% charaαer recognition error rate. Thus, the novel computation architeαure of the presεπt invention can be utilized by (I) providing a plurality of document scanning models as the first order models, (ii) building a charaαer recognition data base for archiving a correspondence between charaαeristics of aαual printed charaαer variations and the intended characters (according to, for example, font types), and additionally archiving a correspondence of performance of each of the models on previously encountered aαual printed charaαer variations (note, this is analogous to the Signature Data Base of thε MS location application described herein), and (iii) determining any generic constraints and/or heuristics that are desirable to be satisfied by a plurality of the models. Accordingly, by comparing outputs from the first order document scanning models, a determination can be made as to whether further processing is desirable due to, for example, discrepancies between the output of the models. If further processing is desirable, then an embodiment of the multiple hypothesis architecture provided herein may be utilized to correα such discrepancies. Note that in comparing outputs from the first order document scanning models, these outputs may be compared at various granularities; e.g., charaαer, sentence, paragraph or page; (92) diagnosis and monitoring applications such as medical diagnosis/monitoring, communication network diagnosis/monitoring;

(93) robotics applications such as scene and/or objeα recognition;

(9.4) seismic and/or geologic signal processing applications such as for locating oil and gas deposits; (9.5) Additionally, note that this architeαure need not have all modules co-located. In particular, it is an additional aspeα of the present invention that various modules can bε remotely located from one another and communicate with one another via telecommunication transmissions such as telephony technologies and/or the Internet. Accordingly, the present invention is particularly adaptable to such distributed computing environments. For example, some number of the first order models may reside in remote locations and communicate their generated hypotheses via the internet. For instance, in weather predittion applications it is not uncommon for computational models to require large amounts of computational resources. Thus, such models running at various remote computational facilities can transfer weather prediαion hypotheses (e.g., the likely path of a hurricane) to a site that performs hypothesis adjustments according to: (i) past performance of the each model; (ii) particular constraints and/or heuristics, and subsequently outputs a most likely estimate for a particular weather condition. In an alternative embodiment of the present invention, the processing following the generation of location hypotheses

(each having an initial location estimate) by the first order models may be such that this processing can be provided on Internet user nodes and the first order models may reside at Internet server sites. In this configuration, an internet user may request hypothesεs from such remote first order models and perform the remaining processing at his/her node.

In other embodiments of the present invention, a fast, abeit less accurate location estimate may be initially performed for very time critical location applications where approximate location information may be required. For example, less than I second response for a mobile station location embodiment of the present invention may be desired for 911 emergency response location requests. Subsequεntly, once a relatively course location estimate has beεn provided, a more accurate most likely location estimate can be performed by repeating the location estimation processing a second time with, e.g., additional with measurements of wireless signals transmitted between a mobile station to be located and a network of base stations with which the mobile station is communicating, thus providing a second, more accurate location estimate of the mobile station.

Additionally, note that it is within the scope of the present invention to provide one or more central location development sites that may be networked to, for example, geographically dispersed location centεrs providing location services according to the present invention, wherein the FOMs may be accessed, substituted, enhanced or removed dynamically via network conneαions (via, e.g., the Internet) with a central location devεlopment site. Thus, a small but rapidly growing municipality in substantially flat low density area might initially be provided with access to, for example, two or three FOMs for generating location hypotheses in the municipality's relatively uncluttered radio signaling environment. However, as the population density increases and the radio signaling environment becomes cluttered by, for example, thermal noise and multipath, additional or alternative FOMs may be transferred via the network to the location center for the municipality. Notε that in some embodiments of the present invention, since there a lack of sequencing between the FOMs and subsequent processing of location hypothesεs, the FOMs can be incorporated into an expert system, if desired. For example, each FOM may be aαivated from an antecεdent of an expert system rule. Thus, the antecedent for such a rule can evaluate to TRUE if the FOM outputs a location hypothesis, and the consequent portion of such a rule may put the output location hypothesis on a list of location hypotheses occurring in a particular time window for subsequent processing by the location centεr. Alternatively, aαivation of the FOMs may be in the consequents of such expert system rules. That is, thε antecedent of such an expert system rule may determine if the conditions are appropriate for invoking the FOM(s) in the rule's consequent.

Of couπe, other software architeαures may also to used in implementing the processing of the location center without departing from scope of the present invention. In particular, object-oriented architeαures are also within the scope of the present invention. For example, the FOMs may be objeα methods on an MS location estimator objeα, wherein the estimator object receives substantially ail target MS location signal data output by the signal filtering subsystem. Alternatively, software bus architeαures are contemplated by the present invention, as one skilled in the art will undeπtand, wherein the software architeαure may be modular and facilitate parallel processing. Further features and advantages of thε present invεntion are provided by the figures and detailed description accompanying this invention summary.

BRIEF DESCRIPTION OF THE DRAWINGS

Fig. I illustrates various perspectives of radio propagation opportunities which may bε considered in addressing correlation with mobile to base station ranging.

Fig.2 shows aspeαs of the two-ray radio propagation model and the effects of urban clutter. Fig.3 provides a typical examplε of how the statistical power budgεt is calculated in design of a Commercial Mobile Radio

Service Provider network- Fig.4 illustrates an overall view of a wireless radio location network architecture, based on AIN principlεs. Fig.5 is a high lεvεl block diagram of an εmbodiment of the present invention for locating a mobile station (MS) within a radio coverage area for the present invention. Fig.6 is a high level block diagram of the location ceπtεr 142.

Fig.7 is a high level block diagram of the hypothesis evaluator for the location center. Fig.8 is a substantially comprehensive high level block diagram illustrating data and control flows between the components of the location centεr, as well thε functionality of the components.

Fig.9 is a high level data struαure diagram describing the fields of a location hypothesis objeα generated by the first order modεls 1224 of the location center.

Fig. 10 is a graphical illustration of the computation performed by the most likelihood estimator 1344 of the hypothesis evaluator.

Fig. 11 is a high level block diagram of the mobile base station (MBS).

Fig. 12 is a high level state transition diagram describing computational states the Mobile Base station enters during operation.

Fig. 13 is a high level diagram illustrating the data structural organization of the Mobile Base station capability for autonomously determining a most likely MBS location from a plurality of potentially confliαing MBS location estimating sources.

Fig. 14 shows one method of modεliπg CDMA delay spread measuremεnt ensemblεs and interfacing such signals to a typical artificial neural network based FOM. Fig. 15 illustrates the nature of RF "Dead Zones" , notch area, and the importance of including location data signatures from the back side of radiating elements.

Figs. 16a through 16c present a table providing a brief description of the attributes of the location signature data type stored in the location signature data base 1320.

Figs. 17a through 17c present a high level flowchart of the steps performed by function, "UPDATE LOC SIG DB," for updating location signatures in thε location signature data base 1320; note, this flowchart corresponds to the description of this funαion in APPENDIX C. Figs. 18a through 18b present a high level flowchart of the steps performεd by funαion, "REDUCEJJAD DB LOC SIGS," for updating location signatures in the location signature data base 1320; notε, this flowchart corresponds to the description of this fuπαion in APPENDIX C.

Figs. 19a through 19b present a high level flowchart of the steps performed by funαion, "INCREASE CONFIDENCE OF GOOD DBJOC SIGS," for updating location signatures in the location signature data base 1320; note, this flowchart corresponds to thε description of this funαion in APPENDIX C.

Figs.20a through 20d present a high level flowchart of the steps performed by funαion, "DETERMINE LOCATION SIGNATURE FIT RRORS," for updating location signatures in thε location signature data base 1320; note, this flowchart corresponds to thε description of this funαion in APPENDIX C. Fig.21 presents a high levεl flowchart of thε stεps performed by funαion, "ESTIMATE_L0C_5IG_FR0M_DB," for updating location signatures in the location signature data base 1320; note, this flowchart corresponds to the description of this funαion in APPENDIX C.

Figs.22a through 22b present a high level flowchart of the stεps performed by funαion, "GET_AREA_TO_SEARCH," for updating location signatures in the location signature data base 1320; note, this flowchart corresponds to the description of this funαioπ in APPENDIX C.

Figs.23a through 23b present a high levεl flowchart of thε stεps performed by funαion, "GET_DIFFERENCE_MEASUREMENT," for updating location signatures in thε location signature data base 1320; note, this flowchart corresponds to the description of this funαion in APPENDIX C.

Fig.24 is a high levεl illustration of context adjuster data struαures and thεir relationship to the radio coverage area for the present invention;

Figs.25a through 25b present a high level flowchart of the steps performed by the funαion, "CONTEXT ADJUSTER," used in the context adjuster 1326 for adjusting mobile station esti atεs provided by the first order models 1224; this flowchart corresponds to the description of this function in APPENDIX D.

Figs.26a through 26c present a high levεl flowchart of the steps performed by the funαion, "GET_ADJUSTED_LOC_HYP_LIST_F0R," used in the context adjuster 1326 for adjusting mobile station estimates provided by the first order models 1224; this flowchart corresponds to the description of this funαion in APPENDIX D.

Figs.27a through 27b present a high level flowchart of the steps performed by the funαion, "CONFIDENCE ADJUSTER," used in thε context adjuster 1326 for adjusting mobile station estimatεs providεd by the first order models 1224; this flowchart corresponds to the description of this function in APPENDIX D. Fig.28a and 28b presents a high level flowchart of the steps performed by the function,

"GET_C0MPOSITE_PREDICTION IAPPED_CLUSTER_DENS.TY," used in the context adjuster 1326 for adjusting mobile station estimatεs providεd by thε first order models 1224; this flowchart corresponds to the description of this funαion in APPENDIX D. Figs.29a through 29h present a high level flowchart of the steps performed by the funαion, "GET_PRED!CTION_MAPPED_CLUSTER_DENSITY_FOR," used in the context adjuster 1326 for adjusting mobile station estimates provided by thε fiπt ordεr models 1224; this flowchart corresponds to the description of this funαion in APPENDIX D.

Fig.30 illustrates the primary components of thε signal processing subsystem.

Fig.31 illustrates how automatic provisioning of mobile station information from multiple CMRS occuπ.

DETAILED DESCRIPTION

Detailed Description Introduction

Various digital wireless communication standards have beεn introducεd such as Advanced Mobile Phone Service (AMPS), Narrowband Advanced Mobile Phonε Service (NAMPS), code division multiple access (CDMA) and Time Division Multiple Access (TDMA) (e.g., Global Systems Mobile (GSM). These standards provide numerous enhancements for advancing the quality and communication capacity for wireless applications. Referring to CDMA, this standard is described in the Telephone Industries Association standard IS- 95, for frequencies below I GHz, and in J-STD-008, the Wideband Spread-Speαrum Digital Cellular System Dual-Mode Mobile Station-Base station Compatibility Standard, for frequencies in the 1.8 - 1.9 GHz frequency bands. Additionally, CDMA general principlεs havε been described, for example, in U.S. Patent 5,109390, Diversity Receiver in a CDMA Cellular Telephone System by Gilhousen. There are numerous advantages of such digital wireless technologies such as CDMA radio technology. For examplε, the CDMA spread speαrum scheme exploits radio frequency speαral efficiency and isolation by monitoring voice activity, managing two- way power control, provision of advanced variable-rate modems and error correcting signal design, and includes inherent resistance to fading, enhanced privacy, and provides for multiple "rake" digital data receivers and searcher receivers for correlation of multiple physical propagation paths, resεmbling maximum likelihood deteαion, as well as support for multiple base station communication with a mobile station, i.e., soft or softer hand-off capability. When coupled with a location center as described herein, substantial improvements in radio location can bε achieved. For example, the CDMA spread speαrum schεmε εxploits radio frequency speαral efficiency and isolation by monitoring voice aαivity, managing two-way power control, provision of advanced variable-rate modems and error correcting signal dεsign, and includεs inherent resistance to fading, enhanced privacy, and provides for multiple "rake" digital data receivers and searcher receivers for correlation of multiple physical propagation paths, resεmbling maximum likelihood deteαion, as well as support for multiple base station communication with a mobile station, i.e., soft hand-off capability. Moreover, this same advanced radio communication infrastruαure can also be used forenhancεd radio location. As a further example, thε capabilities of IS-41 and AIN already provide a broad-granularity of wireless location, as is necessary to, for examplε, properly direct a terminating call to an MS. Such information, originally intended for call processing usage, can be re-usεd in conjuπαion with thε location center described herein to provide wireless location in the large (i.e., to determine which country, state and city a particular MS is located) and wirelεss location in the small (i.e., which location, plus or minus a few hundred feet within one or more base stations a given MS is located).

Fig.4 is a high level diagram of a wireless digital radiolocation intelligent network architeαure for the present invention. Accordingly, this figure illustratεs the interconnections between the components, for example, of a typical PCS network configuration and various components that are specific to the present invention. In particular, as one skilled in the art will understand, a typical wireless (PCS) network includes:

(a) a (large) plurality of conventional wireless mobile stations (MSs) 140 for at least one of voice related communication, visual (e.g., text) related communication, and according to present invention, location related communication;

(b) a mobile switching center (MSC) 112; (c) a plurality of wireless cell sites in a radio coverage area 120, wherein each cell site includes an infrastruαure base station such as those labeled 122 (or variations thereof such as I22A - I22D). In particular, the base stations 122 denote the standard high traffic, fixed location base stations used for voice and data communication with a plurality of MSs 140, and, according to the present invention, also used for communication of information related to locating such MSs 140. Additionally, note that the base stations labeled 152 are more directly related to wireless location enablement. For example, as described in greater detail hereinbelow, the base stations 152 may be low cost, low functionality transponders that are used primarily in communicating MS location related information to the location center 142 (via base stations 122 and the MSC 112). Note that unless stated otherwise, the base stations 152 will be referred to hereinafter as "location base statioπ(s) 152" or simply "LBS(s) 152"); (d) a public switched tεlεphone network (PSTN) 124 (which may include signaling system links 106 having network control components such as: a service control point (SCP) 104 , one or more signaling transfer points (STPs) 110.

Added to this wireless network, the present invention provides the following additional components: (10.1) a location center 142 which is required for determining a location of a target MS 140 using signal charaαeristic values for this target MS;

(102) one or more mobile base stations 148 (MBS) which are optional, for physically traveling toward the target MS 140 or tracking the target MS;

(103) a plurality of location base stations 152 (LBS) which are optional, distributed within the radio coverage areas 120, each LBS 152 having a relatively small MS 140 detection area 154; Since location base stations can be located on potentially each floor of a multi-story building, the wireless location technology described herein can be used to perform location in terms of height as well as by latitude and longitude.

In operation, the MS 140 may utilize one of the wireless technologies, CDMA, TDMA, AMPS, NAMPS or GSM techniques for radio communication with: (a) one or more infrastruαure basε stations 122, (b) mobilε base statioπ(s) 148 , (c) an LBS 152.

Referring to Fig.4 again, additional detail is provided of typical base station coverage areas, sectorizatioπ, and high level components within a radio coverage area 120, including the MSC 112. Although base stations may be placed in any configuration, a typical deployment configuration is approximately in a cellular honeycomb pattern, although many practical tradeoffs exist, such as site availability, versus the requirement for maximal terrain coverage area. To illustrate, three such exemplary base stations (BSs) are I22A, I22B and I22C, each of which radiate referencing signals within their area of coverage 169 to facilitate mobile station (MS) 140 radio frequency connectivity, and various timing and synchronization functions. Note that some base stations may contain no setters 130 (ε.g. I22E), thus radiating and receiving signals in a 360 degree omnidirectional coverage area pattern, or the base station may contain "smart antennas" which have specialized coverage area patterns. However, the generally most frequent base stations 122 have threε seαor 130 coverage area patterns. For example, base station I22A includes sectors 130, additionally labeled a, b and c. Accordingly, each of thε sectors 130 radiate and receive signals in an approximate 120 degree arc, from an overhead view. As one skilled in the art will understand, aαual base station coverage areas 169 (stylistically represented by hexagons about the basε stations 122) generally are designed to overlap to some extent, thus ensuring seamless coverage in a geographical area. Control electronics within each base station 122 are used to communicate with a mobile stations 140. Information regarding thε coverage area for each sector 1 0, such as its range, area, and "holes" or areas of no coverage (within the radio coverage area 120), may be known and used by the location center 142 to facilitate location determination. Further, during communication with a mobile station 140, the identification of each base station 122 communicating with the MS 140 as well, as any seαor identification information, may be known and provided to the location center 142.

In the case of the base station types 122, 148, and 152 communication of location information, a base station or mobility controller 174 (BSC) controls, processes and provides an interface between originating and terminating telεphone calls from/to mobile station (MS) 140, and the mobilε switch center (MSC) 112. The MSC 122, on-the-othεr-hand, performs various administration funαions such as mobilε station 140 registration, authentication and the relaying of various system parametεrs, as oπε skilled in the art will undeπtand.

Thε base stations 122 may be coupled by various transport facilities 176 such as leased lines, frame relay, T-Carriεr links, optical fiber links or by microwave communication links.

When a mobile station 140 (such as a CDMA, AMPS, NAMPS mobile telephone) is powered on and in the idle state, it constantly monitors the pilot signal transmissions from each of the base stations 122 located at nearby cell sites. Since base station/sector coverage areas may often overlap, such ovεrlapping επables mobile stations 140 to deteα, and, in the case of certain wireless technologies, communicate simultaneously along both the forward and reverse paths, with multiple base stations 122 and/or seαors 130. In Fig.4 the constantly radiating pilot signals from base station seαors 130, such as seαors a, b and c of BS I22A, are detectable by mobile stations 140 within the coverage area 169 for BS I22A. That is, the mobile stations 140 scan for pilot channels, corresponding to a given base station/sεαor identifieπ (IDs) , for determining which coverage area 169 (i.e., cell) it is contained. This is performed by comparing signals strengths of pilot signals transmitted from these particular cell-sites.

The mobile station 140 then initiates a registration request with the MSC 112, via the base station controller 174. The MSC 112 determines whether or not the mobile station 140 is allowed to proceed with the registration procεss (εxcept in thε case of a 911 call, wherein no registration process is required). At this point calls may be originated from the mobile station 140 or calls or short message service messages can be received from the network. The MSC 112 communicatεs as appropriate, with a class 4Λ wireline telephony circuit switch or other central offices, connεαed to thε PSTN 124 network. Such central offices conneα to wireline terminals, such as telephonεs, or any communication device compatible with the line. The PSTN 124 may also provide conπeαions to long distance networks and other networks.

The MSC 112 may also utilize IS/41 data circuits or trunks connecting to signal transfer point 110, which in turn conneαs to a service control point 104, via Signaling System #7 (SS7) signaling links (e.g., trunks) for intelligent call processing, as one skilled in the art will understand. In the case of wireless AIN services such links are used for call routing instructions of calls interacting with the MSC 112 or any switch capable of providing service switching point functions, and the public switched telephone network (PSTN) 124, with possible termination back to the wireless network. Referring to Fig.4 again, the location center (LC) 142 interfaces with the MSC 112 either via dedicated transport facilities 178, using for example, any number of LAN/WAN technologies, such as Ethernet, fast Ethernet, frame relay, virtual privatε networks, etc., or via the PSTN 124. The LC 142 receives autonomous (e.g., unsolicited) command/rεsponsε mεssages regarding, for εxamplε: (a) thε statε of the wireless network of each service provider, (b) MS 140 and BS 122 radio frequency (RF) measurements, (c) any MBSs 148, (d) location applications requesting MS locations using the location center. Conversely, the LC 142 provides data and control information to each of the above components in (a) - (d). Additionally, the LC 142 may provide location information to an MS 140, via a BS 122. Moreover, in the case of the use of a mobile base station (MBS) 148, several communications paths may exist with the LC 142.

The MBS 148 aαs as a low cost, partially-funαioπal, moving base station, and is, in one embodimεnt, situated in a vehicle where an operator may engage in MS 140 searching and tracking aαivities. In providing these aαivities using CDMA, the MBS 148 provides a forward link pilot channel fora target MS 140, and subsequently receives unique BS pilot strength measurements from thε MS 140. The MBS 148 also includes a mobile station for data communication with the LC 142, via a BS 122. In particular, such data communication includes telemetering the geographic position of the MBS 148 as well as various RF measurements related to signals received from the target MS 140. In some embodiments, the MBS 148 may also utilize multiple-beam fixed antenna array elεmεnts and/or a movεable narrow beam antenna , such as a microwave dish 182. The antennas for such embodiments may have a known orientation in order to further deduce a radio location of the target MS 140 with respect to an estimated current location of the MBS 148. As will be describεd in more detail herein below, the MBS 148 may further contain a global positioning system (GPS), distance sensors, dead-reckoning eleαronics, as well as an on-board computing system and display devices for locating both the MBS 148 of itself as well as tracking and locating thε target MS 140. Thε computing and display provides a means for communicating the position of the target MS 140 on a map display to an operator of the MBS 148.

Each location base station (LBS) 152 is a low cost location device. Each such LBS 152 communicates with one or more of the infrastruαure base stations 122 using one or more wireless technology interface standards. In some embodiments, to provide such LBS's cost effectively, εach LBS 152 only partially or minimally supports thε air-interface standards of the one or more wireless technologiεs usεd in communicating with both the BSs 122 and the MSs 140. Each LBS 152, when put in service, is placed at a fixed location, such as at a traffic signal, lamp post, etc., and wherein the location of the LBS may be determined as accurately as, for example, the accuracy of the locations of the infrastruαure BSs 122. Assuming the wireless technology CDMA is used, each BS 122 uses a time offset of the pilot PN sequencε to identify a forward CDMA pilot channel. In one embodiment, each LBS 152 emits a unique, time-offset pilot PN sequence channel in accordance with the CDMA standard in the RF spectrum designated for BSs 122, such that the channel does not interfere with neighboring BSs 122 cell site channels, nor would it interfere with neighboring LBSs 152. However, as one skilled in the art will understand, time offsets, in CDMA chip sizes, may be re-used within a PCS system, thus providing efficient use of pilot time offset chips, thereby achieving speαrum efficiency. Each LBS 152 may also contain multiple wireless receivers in order to monitor transmissions from a target MS 140. Additionally, each LBS 152 contains mobile station 140 electronics, thereby allowing the LBS to both be controlled by the LC 142, and to transmit information to the LC 142, via at least one neighboring BS 122. As mεntionεd above, when the location of a particular target MS 140 is desired, thε LC 142 can request location information about the target MS 140 from, for instance, one or more aαivated LBSs 1 2 in a geographical area of interest. Accordingly, whenever the target MS 140 is in such an area, or is suspected of being in the area, either upon command from the LC 142, or in a substantially continuous fashion, the LBS's pilot channel appeaπ to the target MS 140 as a potential neighboring base station channel, and consequently, is placed, for example, in the CDMA neighboring set, or the CDMA remaining set, of the target MS 140 (as one familiar with the CDMA standards will uπdeπtand).

During the normal CDMA pilot search sequence of the mobile station initialization state (in the target MS), the target MS 140 will, if within range of such an aαivated LBS 152, deteα the LBS pilot presence during the CDMA pilot channel acquisition substate. Consequently, the target MS 140 performs RF measurements on the signal from εach dεteαεd LBS 152. Similarly, an aαivated LBS 152 can perform RF measurements on the wireless signals from the target MS 140. Accordingly, εach LBS 152 dεtεαing the target MS 140 may subsequently tεlεmεtεr back to the LC 142 measurement results related to signals from/to the target MS 140. Moreover, upon command, the target MS 140 will telemeter back to the LC 142 its own measurements of the deteαed LBSs 152, and consequently, this new location information, in conjunction with location related information received from the BSs 122, can be used to locate the target MS 140. it should be noted that an LBS 152 will normally deny hand-off requεsts, sincε typically the LBS does not require thε added complexity of handling voice or traffic bearer channels, although economics and peak traffic load conditions would dictate preference here. GPS timing information, needed by any CDMA base station, is εithεr achiεved via a thε inclusion of a local GPS receiver or via a telemetry process from a neighboring conventional BS 1 2, which contains a GPS receiver and timing information. Since energy requirements are minimal in such an LBS 152, (rechargεablε) batteries or solar cells may bε usεd to power the LBS. No expensive terrestrial transport link is typically required since two-way communication is provided by the included MS 140 (or an elεctronic variation thereof). Thus, LBSs 152 may be placed in numerous locations, such as:

(a) in dense urban canyon areas (e.g., where signal reception may be poor and/or very noisy);

(b) in remote areas (e.g., hiking, camping and skiing areas);

(c) along highways (e.g., for emergency as well as monitoring traffic flow), and their rest stations; or (d) in general, wherevεr more location precision is required than is obtainable using other wireless infrastruαion network components.

Location Center - Network Elements API Description

A location application programming interface 136 (Fig.4), or L-API, is required between the location center 142 (LC) and the mobile switch centεr (MSC) network elεmεnt type, in order to send and receivε various control, signals and data messages. The L- API should be implemented using a preferably high-capacity physical layer communications interface, such as IEEE standard 8023 (10 baseT Ethernet), although other physical layer interfaces could be used, such as fiber optic ATM, frame relay, etc. Two forms of API implementation are possible. In the first case the signals control and data messages are realized using the MSC 112 vendor's native operations messagεs inherent in the produα offering, without any special modifications. In the second casε thε L-API includes a full suite of commands and messaging content specifically optimized for wireless location purposes, which may require some, although minor development on the part of the MSC vendor.

Signal Processor Description

Referring to Fig.30, the signal processing subsystem receives control messages and signal measurements and transmits appropriate control messages to the wireless network via the location applications programming interface referenced earlier, for wireless location purposes. The signal processing subsystem additionally provides various signal idiπtification, conditioning and preprocessing fuπαions, including buffering, signal type classification, signal filtering, message control and routing funαions to the location estimate modules.

There can be several combinations of Delay SpreadΛignal Strength sets of measurements made available to the signal processing subsystem 20. In some cases the mobile station 140 (Fig. I) may be able to detεα up to three or four Pilot Channels representing three to four Base Stations, or as few as onε Pilot Channel, depending upon thε environment. Similarly, possibly more than one BS 122 can detect a mobilε station 140 transmitter signal, as evidεnced by the provision of cell diversity or soft hand-off in the CDMA standards, and the faα that multiplε CMRS' basε station equipment commonly will overlap coverage areas. For each mobile station 140 or BS 122 transmitted signal detected by a receiver group at a station, multiple delayed signals, or "fingers" may be detected and tracked resulting from multipath radio propagation conditions, from a given transmitter.

In typical spread speαrum diversity CDMA receiver dεsign, the "first" finger represents the most direct, or least delayed multipath signal. Sεcoπd or possibly third or fourth fingers may also be detected and tracked, assuming the mobile station contains a sufficient numbεr of data receivers. Although traditional TOA and TDOA methods would discard subsequent fingers related to the same transmitted finger, collection and use of thεsε additional values can prove useful to reduce location ambiguity, and are thus collected by the Signal Processing subsystem in the Location Centεr 142.

From the mobile receiver's peπpεαivε, a numbεr of combinations of measurements could be made available to the Location Center. Due to the disperse and near-random nature of CDMA radio signals and propagation characteristics, traditional TOA FDOA location methods have failed in the past, because thε number of signals received in different locations area different. In a particularly small urban area, say lεss than 500 square feet, the number of RF signals and there multipath components may vary by over 100 percent.

Due to the large capital outlay costs associated with providing three or more overlapping base station coveragε signals in every possible location, most practical digital PCS deployments result in fewer than three base station pilot channels being reportable in the majority of location areas, thus resulting in a larger, more amorphous location estimate. This consequεncε requires a family of location estimate location modules, each firing whenevεr suitable data has been presεπted to a model, thus providing a location estimate to a backeπd subsystem which resolves ambiguities.

In one embodiment of this invention using backend hypothesis resolution, by utilizing existing knowledge concerning base station coverage area boundaries (such as via the compilation a RF coveragε database - either via RF coverage area simulations or field tests), the location error space is decreased. Nεgativε logic Vεnn diagrams can be generated which deductively rule out certain location estimate hypothεsεs.

Although thε forward link mobilε station's received relative signal strength (RRSSBS) of detected nearby base station transmitter signals can be used directly by thε location εstimate modules, the CDMA base station's reverse link received relative signal strength (RRSSMS) of the deteαed mobile station transmitter signal must be modified prior to location estimate model use, since the mobile station transmitter power lεvεl changes nεarly continuously, and would thus render relative signal strength useless for location purposes.

One adjustment variable and one factor value are required by the signal processing subsystem in the CDMA air interface casε: I.) instantaneous relative power levεl in dBm (IRPL) of thε mobilε station transmitter, and 2.) thε mobile station Power Class. By adding the IRPL to the RRSSHS, a synthetic relative signal strength (SRSS ) of thε mobile station 140 signal deteαed at the BS 122 is derivεd, which can bε used by location estimate model analysis, as shown below:

SRSS = RRSSMS + IRPL (in dBm)

SRSSMSj a correαed indication of the effεαivε path loss in the revεπe direαion (mobile station to BS), is now comparable with RRSSB5 and can be used to provide a correlation with either distance or shadow fading because it now accounts for the chaπgε of thε mobile station transmitter's power level. The two signals RRSSBS and SRSSm can now be processεd in a variety of ways to achieve a more robust correlation with distance or shadow fading.

Although Rayleigh fading appears as a generally random noisε generator, essentially destroying the correlation value of either RRSSBS or SRSS measurements with distance individually, several mathematical operations or signal processing functions can bε performed on each measurement to derive a more robust relative signal strength value, overcoming the adverse Rayleigh fading effects. Examples include averaging, taking the strongest valuε and weighting the strongest value with a greater coefficient than the weaker value, then averaging the results. This signal processing technique takes advantage of the faα that although a Rayleigh fade may often exist in either the forward or reverse path, it is much less probable that a Rayleigh fade also exists in the reverse or forward path, respectively. A shadow fade howevεr, similiarly affεαs the signal strength in both paths.

At this point a CDMA radio signal direction-independent "net relative signal strength measurement" is derived which is used to establish a correlation with εithεr distance or shadow fading, or both. Although the ambiguity of either shadow fading or distance cannot be determined, other means can be used in conjunction, such as the fingers of the CDMA delay spread measurement, and any other TOA IDOA calculations from other geographical points. In the case of a mobile station with a certain amount of shadow fading between its BS 122 (Fig.2), the first finger of a CDMA delay spread signal is most likely to be a relatively shorter duration than the case where the mobilε station 140 and BS 122 are separated by a greater distance, since shadow fading does not materially affeα the arrival time delay of thε radio signal.

By performing a small modification in the control eleαronics of the CDMA base station and mobile station receiver circuitry, it is possible to provide the signal processing subsystem 20 (reference Fig.30) within the Location scenter 142 (Fig. I) with data that excεεd the one-to-onε CDMA delay-spread fingers to data receiver correspondence. Such additional information, in the form of additional CDMA fingers (additional multipath) and all associated detεαablε pilot channels, provides new information which is used to εnhance to accuracy of the Location Center's location estimate location εsti ate modules.

This enhancεd capability is provided via a control message, sent from the Location center 142 to the mobilε switch center 12, and then to the base station(s) in communication with, or in close proximity with, mobile stations 140 to be located. Two types of location measurement requεst control mεssagεs are needed: one to instruct a target mobile station 140 (i.e., the mobile station to be located) to telemeter its BS pilot channel measurements back to the primary BS 122 and from there to the mobile switch center 112 and then to the location system 42. The second control message is sent from the location system 42 to the mobile switch center 112, then to first the primary BS, instructing the primary BS' searcher receiver to output (i.e., return to thε initiating request mεssage source) the deteαed targεt mobilε station 140 transmitter CDMA pilot channel offset signal and their corresponding delay spread finger (peak) values and related relative signal strengths.

The control messages are implεmεnted in standard mobile station 140 and BS 122 CDMA receivers such that all data results from the search receiver and multiplexed results from the associated data receivers are available for transmission back to the Location Center 142. Appropriate value ranges are required regarding mobilε station 140 paramεters T_ADD„ T_DROP„ and the ranges and values for the Aαive, Neighboring and Remaining Pilot sets registεrs, held within the mobile station 140 memory. Further mobile station 140 receiver details have been discussed above.

In the normal case without any specific multiplexing means to provide location measurements, exactly how many CDMA pilot channεls and delay spread fiπgeπ can or should be measured vary according to the number of data receivers contained in each mobile station 140. As a guide, it is preferred that whenever RF charaαeristics permit, at least three pilot channels and the strongest fiπt three fingers, are collected and processed. From the BS 122 perspeαivε, it is preferred that the strongεst first four CDMA delay spread fingers and the mobile station power level be collected and sent to thε location systεm 42, for each of preferably three BSs 122 which can deteα the mobile station 140. A much larger combination of measurements is potentially feasible using the extended data collection capability of the CDMA receivers.

Fig.30 illustrates the components of the Signal Processing Subsystem. The main components consist of the input queuε(s) 7, signal classifier/filter 9, digital signaling processor 17, imaging filters 19, output queue(s) 21 , router/distributor 23, a signal processor database 26 and a signal processing controller 15.

Input quεuεs 7 are required in order to stage the rapid acceptancε of a significant amount of RF signal measurement data, used for either location estimate purposes or to accept autonomous location data. Each location request using fixed base stations may, in one embodiment, contain from I to 128 radio frequency measurements from the mobile station, which translates to approximately 61.44 kilobytes of signal measurement data to be collected within 10 seconds and 128 measurements from each of possibly four base stations, or 245.76 kilobytes for all base stations, for a total of approximately 640 signal measurements from the five sources, or 307.2 kilobytes to arrive per mobile station location request in 10 seconds. An input queue storage space is assigned at the moment a location request begins, in order to establish a formatted data structure in persistent store. Depending upon the urgency of the time required to render a location estimate, fewer or more signal measurement samples can be taken and stored in thε input queue(s) 7 accordingly.

The signal processing subsystem supports a variety of wireless network signaling measurement capabilities by deteαing thε capabilities of thε mobile and base station through messaging struαures provided bt thε location application programming interface. Detection is accomplished in the signal classifier 9 (Fig.30) by referencing a mobilε station database table within the signal processor database 26, which provides, given a mobile station identification numbεr, mobilε station revision code, other mobile station charaαersitics. Similiarly, a mobile switch center table 31 provides MSC charaαeristics and identifications to the signal classifier/filter 9. The signal classifier/filter adds additional message header information that further classifies the measurement data which allows the digital signal processor and image filter components to select the proper internal processing subcomponents to perform operations on the signal measurement data, for use by the location estimatε modules.

Rεgarding service control point messagεs autonomously receivεd from thε input quεue 7, the signal classifier/filter 9 detεmines via a signal processing database 26 query that the message is to be associated with a home base station module. Thus appropriate headεr information is added to the messagε, thus εnabling thε mεssage to pass through the digital signal processor 17 unaffected to the output queu 21, and then to the router/distributor 23. Thε router/distributor 23 then routes the message to the HBS fiπt order model. Those skilled in the art will understand that associating location requests from Home Base Station configurations require substantially less data: the mobile identification number and the associated wireline telephonε number transmission from the home location register are on the ordεr of lεss than 32 bytes. Consequentially the home base station message type could be routed without any digital signal processing. Output queue(s) 21 are required for similar reasons as input queues 7: relatively large amounts of data must be held in a specific format for further location processing by the location estimatε modulεs.

The router and distributor component 23 is responsible to direαing specific signal measurement data types and struαures to their appropriate modules. For example, thε HBS FOM has no use for digital filtering struαures, whereas the TDOA module would not be able to process an HBS response messagε. Thε controller 15 is responsible for staging thε movεmεnt of data among the signal processing subsystem 20 components input queue 7, digital signal processor 17, router/distributor 23 and the output quεue 21, and to initiate signal measurments within the wireless network, in response from an internet 168 location request message in Fig. I, via the location application programming interface.

In addition the controller 15 receives autonomous messages from the MSC , via the location applications programming interface (Fig. I) or L-API and the input queue 7, whenεvεra 9-1-1 wireless call is originated. The mobile switch center provides this autonomous notification to the location system as follows: By specifiying the appropriate mobile switch center opεrations and maintenance commands to surveil calls based on certain digits dialed such as 9-1-1, the location applications programming interface, in communications with the MSCs, receives an autonomous notification whenever a mobile station user dials 9-1-1. Specifically, a bi- dirεαional authorized communications port is configured, usually at the operations and maintenance subsystem of the MSCs, or with their associated network element manager system(s), with a data circuit, such as a DS-I, with the location applications programming interface in Fig. I . Next, the "call trace" capability of the mobile switch center is aαivated for the respeα'rve communications port. The exaα implementation of the vendor-specific man-machine or Open Systεms Interface (OSi) commands(s) and their associated data struαures generally vary among MSC vendors, howevεr thε trace funαion is generally available in various forms, and is required in ordεr to comply with Federal Bureau of Investigation authorities for wire tap purposes. After the appropriate surveillance commands are establishεd on thε MSC, such 9-1-1 call notifications mεssages containing thε mobilε station identification number (MIN) and, in phase I E9-I-I implementations, a psεudo-automatic number ideπtication (a.k.a. pANI) which provides an association with the primary base station in which the 9-1-1 caller is in communicaiton. In cases where the pANI is known from the onset, the signal processing subsystem avoids querying the MSC in question to determine the primary base station identification associated with the 9-1-1 mobile station caller.

After the signal processing controller 15 receives the fiπt mεssagε type, the autonomous notification message from the mobile switch center 112 to the location system 42, containing the mobile identification number and optionally the primary base station identification, the controller 15 quεries the base station table 13 in the signal processor database 26 to determine the status and availability of any neighboring base stations, including those base stations of other CMRS in the area. The definition of neighboring basε stations include not only thosε within a provisionable "hop" based on the cell design reuse fattor, but also includes, in the case of CDMA, results from remaining set information autonomously queried to mobile stations, with results stored in thε basε station tablε. Remaining set information indicates that mobile stations can deteα other base station (seαor) pilot channels which may exceεd thε "hop" distance, yet are nevertheless candidatε base stations (or seαors) for wireless location purposes. Although cellular and digital cell design may vary, "hop" distance is usually one or two cell coverage areas away from the primary base station's cell coverage area.

Having determined a likely set of base stations which may both deteα the mobile station's transmitter signal, as well as to determine the set of likely pilot channels (i.e., base stations and their associated physical antenna seαoπ) detectable by the mobile station in the area surrounding the primary base station (sector), the controller 15 initiates messages to both the mobile station and appropriate base stations (sectors) to perform signal measurements and to return the results of such measurements to the signal processing system regarding the mobile station to be located. This step may be accomplished via several interface means. In a fiπt case the controller 15 utilizes, for a given MSC, predetermined storage information in the MSC table 31 to determine which type of commands, such as man-machine or OSI commands are needed to request such signal measurements for a given MSC. The controller generates the mobile and base station signal measurement commands appropriate for the MSC and passes the commands via the input queue 7 and the locations application programming interface in Fig.l, to thε appropriatε MSC, using the authorizεd communications port mεntioned earliεr. In a second case the controller 15 communicates directly with base stations within having to interface directly with the MSC for signal measurement extraction.

Upon recεipt of the signal mεasurements, the signal classifier 9 in Fig.30 examines location application programming interface-provided message header information from the source of the location measurement (for example, from a fixed BS 122, a mobile station 140, a distributed antenna system 168 in Fig. I or messagε location data related to a home base station), providεd by the location applications programming interface (L-API) via the input queue 7 in Fig.30 and detεrminεs whεthεr or not dεvicε filters 17 or imagε filters 19 are needεd, and assesses a relative priority in processing, such as an emergency veπus a background location task, in terms of grouping like data associated with a given location request. In the case where multiple signal measurement requests are outstanding for various base stations, some of which may be associated with a different CMRS network, and additional signal classifier funαion includes sorting and associating the appropriate incoming signal measurements togethεr such that thε digital signal processor 17 processes related measurements in order to build ensemble data sets. Such ensembles allow for a variety of funαions such as averaging, outlier removal over a timeperiod, and related filtering funαions, and further prevent association errors from occuriπg in location εstimate processing. Another funαion of the signal classifier/low pass filter component 9 is to filter information that is not useable, or information that could introduce noise or the effeα of noise in the location estimatε modulεs. Consequently low pass matching filters are usεd to match the in-common signal processing components to the charaαeristics of the incoming signals. Low pass filters match: Mobile Station, basε station, CMRS and MSC charaαeristics, as wall as to classify Home Basε Station messages.

The signal processing subsystemcontains a basε station databasε table 13 (Fig.30) which captures the maximum number of CDMA delay spread fingers for a given base station.

The base station identification code, or CLLI or common language levεl identification code is useful in identifying or relating a human-labeled name descriptor to the Base Station. Latitude, Longitude and elεvation values are usεd by other subsystems in the location system for calibration and estimation purposes. As base stations and/or receiver charaαeristics are added, dεlεtεd, or changεd with respect to the network usεd for location purposes, this database table must be modified to reflett the current network configuration.

Just as an upgraded base station may detect additional CDMA delay spread signals, newer or modified mobile stations may deteα additional pilot channels or CDMA delay spread fingers. Additionally different makes and models of mobile stations may acquire improved receiver sensitivities, suggesting a greater coverage capability. The tablε below establishes the relationships among various mobile station equipmεnt suppliers and certain technical data relevant to this location invention. Although not strictly nεcεssary, The MIN can be populated in this table from the PCS Service Provider's Customer Care system during subscriber aαivation and fulfillment, and could be changed at deaαivation, or anytime the εnd-usεr changes mobile stations. Alternatively, since the MIN, manufaαurer, model number, and software revision levεl information is available during a telephone call, this information could extracted during the call, and the remaining fiεlds populated dynamically, based on manufacturer's' specifications information previously stored in the signal processing subsystem 20. Default values are used in cases where the MIN is not found, or where certain information must be estimated.

A low pass mobile station filter, contained within the signal classifier/low pass filter 9 of the signal processing subsystem 20, uses the above table data to perform the following functions: I) act as a low pass filter to adjust the nominal assumptions related to the maximum number of CDMA fingers, pilots detectable; and 2) to determine the transmit power class and the receiver thermal noise floor. Given the deteαed reverse path signal strength, the required value of SRSSMS a corrected indication of the effective path loss in thε reverse direαion (mobile station to BS), can be calculated based data contained within the mobile station table 11, stored in the signal processing database 26.

The effects of the maximum Number of CDMA fingers allowed and the maximum number of pilot channels allowed essentially form a low pass filter effeα, wherein the least common denominator of characteristics are used to filter the incoming RF signal measurements such that a one for one matching occurs. The effeα of the transmit power class and receivεr thεrmal πoisε floor valuεs is to normalize the charaαeristics of the incoming RF signals with respeα to those RF signals used.

The signal classifier/filter 20 is in communication with both the input queue 7 and the signal processing database 26. In the early stage of a location request the signal processing subsystem 142 in Fig.4, will receive the initiating location request from either an autonomous 9-1-1 notification messagε from a given MSC, or from a location application (for examplε, sεε Fig.36), for which mobilε station charaαeristics about the target mobile station 140 (Fig. I) is required. Referring to Fig. 30, a query is made from the signal processing controller 15 to the signal processning database 26, specifically the mobile station table 11, to determine if the mobile station charaαeristics associated with the MIN to be located is available in table 11, if the data exists then there is no need for the controller 15 to query the wireless network in order to determiπε thε mobile station charaαeristics, thus avoiding additional real-time processing which would otherwise be required across the air interface, in order to determine the mobile station MIN charaαeristics. The resulting mobile station information my be provided either via the signal processing database 26 or alternatively a query may be performed directly from the signal processing subsystem 20 to the MSC in order to determine the mobile station charaαeristics.

Referring now to Fig.31, a location application programming interface, L-API-CCS 139 to the appropriate CMRS customer care system provides thε mechanism to populate and update the mobile station table 11 within the database 26. The L-API-CCS 139 contains its own set of separate input and output queues or similar implementations and security controls to ensure that provisioning data is not sent to the incorrect CMRS, and that a given CMRS cannot access any other CMRS' data. The interface 1155a to the customer care system for CMRS-A 1150a provides an autonomous or periodic notification and response application layer protocol type, consisting of add, delete, change and verify message funαions in order to update the mobile station table 11 within the signal processing database 26, via the controller 15. A similar interface 1155b is used to εnablε provisioning updates to be received from CMRS-B customer care system 1150b.

Although the L-API-CCS application message set may be any protocol type which supports thε autonomous notification message with positive acknowledgment type, the Tl Ml .5 group within the American National Standards Institute has defined a good starting point in which the L-API-CCS could be implemεnted, using the robust OSI TMN X-interface at thε service management layer. The objeα model defined in Standards proposal number TIMI.5/96-22R9, Operations Administration, Maintenance, and Provisioning (OAM&P) - Model for Interface Across Jurisdiαional Boundaries to Support Eleαronic Accεss Service Ordering: Inquiry Funαion, can be extended to support thε L-API-CCS information elements as required and further discussed below. Other choices in which the L- API-CCS application message set may be implemented include ASCII, binary, or any encrypted message set encoding using the Internet protocols, such as TCP/IP, simple network management protocol, http, https, and email protocols. Referring to the digital signal processor (DSP) 17, in communication with thε signal classifier/LP filter 9, the DSP 17 provides a time series expansion method to convert non-HBS data from a format of an signal measure data ensemble of time-series based radio frequency data measurements, collected as discrete time-slice samples, to a threε dimεnsional matrix location data valuε image representation. Other techniques further filter the resultant imagε in ordεr to furnish a lεss noisy training and aαual data samplε to the location estimate modules.

After 128 samples (in one embodiment) of data are collected of the delay spread-relative signal strength RF data measurement sample: mobile station RX for BS-I and grouped into a quantization matrix, where rows constitutε relative signal strength intervals and columns define delay intervals. As each measurement row, column pair (which could be represented as a complex number or Cartesian point pair) is addεd to thεir rεspeαive values to generate a Z direαion of frequency of recurring measurement value pairs or a density recurrence funαion. By next applying a grid funαion to each x, y, and z value, a three- dimensional surface grid is generated, which represents a location data value or unique print of that 128-sample measurement. In the general case where a mobile station is located in an environment with varied clutter patterns, such as terrain undulations, unique man-made struαure geometries (thus creating varied multipath signal behaviors), such as a city or suburb, although the first CDMA delay spread finger may be the same value for a fixed distance between the mobile station and BS antennas, as the mobile station moves across such an arc, different finger-data are measured. In the right image for the defined BS antenna seαor, location classεs, or squares numbered one through sevεn, are shown across a particular range of line of position (LOP).

A traditional TOA/FDOA ranging method between a given BS and mobile station only provides a range along the arc, thus introducing ambiguity error. However a unique three dimensional image can be used in this method to specifically identify, with recurring probability, a particular unique location class along the same Line Of Position, as long as the multipath is unique by position but generally repeatable, thus establishing a method of not only ranging, but also of complete latitude, longitude location estimation in a Cartesian space. In other words, the unique shapε of the "mountain image" enables a correspondence to a given unique location class along a line of position, thereby eliminating traditional ambiguity error.

Although man-made external sources of interference, Rayleigh fades, adjacent and co-channel interference, and variable clutter, such as moving traffic introduce unprediαability (thus no "mountain image" would ever be exaαly alike), threε basic types of filtering methods can be used to reducε matching/comparison εrror from a training casε to a location request case: I.) select only the strongest signals from the forward path (BS to mobile station) and reverse path (mobile station to BS), 2.) Convolute the forward path 128 sample image with the reverse path 128 sample image, and 3.) process ail image samples through various digital image filters to discard noise components.

In one embodiment, convolution of forward and reverse images is performed to drive out noise. This is one embodiment that essentially nulls noise completely, even if strong and recurring, as long as that same noise charaαeristic does not occur in the opposite path.

The third embodiment or technique of processing CDMA delay spread profile images through various digital image filters, provides a resultant "image enhancement" in the sense of providing a more stable pattern recognition paradigm to the neural net location estimate model. For example, image histogram equalization can be usεd to rearrange thε images' intensity values, or density recurrence values, so that the image's cumulative histogram is approximately linear.

Other mεthods which can be used to compensate for a concentrated histogram include: I) Input Cropping, 2) Output Cropping and 3) Gamma Correction. Equalization and input cropping can provide particularly striking benefits to a CDMA delay spread profile image. Input cropping removes a large percentage of random signal charaαeristics that are non-recurring.

Other filters and/or filter combinations can be used to help distinguish between stationary and variable clutter affecting multipath signals. For example, it is desirable to reject multipath fingers associated with variable clutter, since over a period of a few minutes such fingers would not likely recur. Further filtering can bε used to remove recurring (at least during the sample period), and possibly strong but narrow "pencils" of RF energy. A narrow pencil image component could be represented by a near perfeα reflective surface, such as a nεarby metal panel truck stoppεd at a traffic light.

On thε othεr hand, stationary clutter objeαs, such as concrete and glass building surfaces, adsorb some radiation bεforε continuing with a reflected ray at some dεlay. Such stationary clutter-affected CDMA fingers are more likely to pass a 4X4 neighbor Median filter as well as a 40 to 50 percent Input Crop filter, and are thus more suited to neural net pattern recognition.. However when subjected to a 4X4 neighbor Median filter and 40 percent clipping, pencil-shaped fingers are deletεd. Othεr combinations inciudε, for εxa ple, a 50 percent cropping and 4X4 neighbor median filtering. Other filtering methods include custom linear filtering, adaptive (Weiner) filtering, and custom nonlinear filtering.

The DSP 17 may provide data emsemble results, such as extracting the shortest time delay with a detectable relative signal strength, to the router/distributor 23, or alternatively results may bε procεssed via one or more image filters 19, with subsequent transmission to thε router/distributor 23. The router/distributor 23 examines the processed message data from the DSP 17 and stores routing and distribution information in the message header. The router/distributor 23 then forwards the data messages to the output queue 21, for subsequent queuing then transmission to the appropriate location εstimator FOMs.

LOCATION CENTER HIGH LEVEL FUNCTIONALITY

At a very high level the location center 142 computes location estimates for a wireless Mobile Station 140 (denoted the "target MS" or "MS") by performing the following steps:

(23.1) receiving signal transmission charaαeristics of communications communicated between the target MS 140 and onε or more wireless infrastruαure basε stations 122;

(23.2) filtering the received signal transmission characteristics (by a signal processing subsystem 1220 illustrated in Fig.5) as needed so that target MS location data can be generated that is uniform and consistent with location data generated from other target MSs 140. In particular, such uniformity and consistency is both in terms of data structures and interpretation of signal charaαeristic values provided by thε MS location data; (233) inputting thε generated target MS location data to one or more MS location estimating models (denoted First order models or FOMs, and labeled collectively as 1224 in Fig.5), so that each such model may use the input target MS location data for generating a "location hypothesis" providing an estimatε of thε location of the target MS 140;

(23.4) providing the generated location hypothesεs to an hypothesis evaluation module (denoted the hypothesis evaluator 1228 in Fig.5):

(a) for adjusting at least one of the target MS location estimatεs of the generated location hypothesεs and related confidence values indicating the confidence given to each location estimate, wherein such adjusting uses archival information related to the accuracy of previously generated location hypothesεs,

(b) for εvaluating thε location hypothεses according to various heuristics related to, for example, the radio coveragε area 120 terrain, the laws of physics, charaαeristics of likely movemεnt of thε targεt MS 140; and

(c) for dεtεrmining a most likely location area for the target MS 140, wherein the measurement of confidencε associated with each input MS location area estimate is used for determining a "most likely location area"; and

(23.5) outputting a most likely target MS location estimatε to one or more applications 1232 (Fig.2.0) requesting an estimatε of the location of the target MS 140.

Location Hypothesis Data Representation

In ordεr to describe how the steps (23.1) through (23.5) are performed in the sections below, some introductory remarks related to the data denotεd abovε as location hypotheses will be helpful. Additionally, it will also be helpful to provide introductory remarks related to historical location data and the data base management programs associated therewith.

Foreach target MS location estimatε generated and utilized by the present invention, the location estimate is provided in a data struαure (or objeα class) denotεd as a "location hypothesis" (illustrated in Table LH-I). Although brief descriptions of the data fields for a location hypothesis is provided in the Table LH-I, many fields require additional explanation. Accordingly, location hypothesis data fields are further described as noted below.

Table LH-I

Figure imgf000041_0001
area est Location Area Estimate of the target MS 140 provided by thε FOM. This area εstimatε will bε used whenevεr "image area" below is NULL.

valid area Boolean indicating thε validity of "area_est" (one of "pt est" and "area est" must be valid).

adjust Boolean (true if adjustments to the fields of this location hypothesis are to be performed in the Context adjuster Modulε).

pt_covεring Rεference to a substantially minimal area (e.g., mesh cell) covering of "pt_est". Note, since this MS 140 may be substantially on a cell boundary, this covεring may, in somε cases, include more than one cell.

image area Rεference to a substantially minimal area (e.g., mesh cell) covering of "pt_covering" (seε detailed description of the funαion, "coπfidencε adjustεr"). Note that if this field is not NULL, then this is the target MS location estimate used by the location center 142 instead of area est

extrapolatioπ_area Refεrεncε to (if non-NULL) an extrapolated MS target estimate area provided by the location extrapolator submodule 1432 of the hypothesis analyzer 1332. That is, this field, if non-NULL, is an extrapolation of the "image area" field if it εxists, otherwise this field is an extrapolation of the "area est" field. Note other extrapolation fields may also bε provided depending on the embodiment of the present invention, such as an extrapolation of the "pt covεring".

confidence A real value in the range [-1.0, 4- 1.0] indicating a likelihood that the target MS 140 is in (or out) of a particular area. If positive: if "image_arεa" εxists, then this is a measure of the likelihood that the target MS 140 is within the area represented by "image area", or if "image area" has not bεen computed (ε.g., "adjust" is FALSE), thεn "arεa st" must be valid and this is a measure of the likelihood that the target MS 140 is within thε area represented by "area est". If negative, then "area est" must be valid and this is a measure of the likelihood that the targεt MS 140 is NOT in the area represented by "area est". If it is zero (near zero), then the likelihood is unknown.

OrigiπaNϊmestamp Date and time that the location signature cluster (defined hereinbelow) for this location hypothesis was received by the signal processing subsystem 1220.

Active Timestamp Run-time field providing the time to which this location hypothesis has had its MS location

Figure imgf000043_0001

As can be seen in the Table LH-I , each location hypothesis data struαure includes at least one measurement, denoted hereinafter as a confidence value (or simply confidence), that is a measurement of the percεivεd likelihood that an MS location estimate in the location hypothesis is an accurate location estimate of the target MS 140. Since such confidence values are an important aspeα of the present invention, much of the description and use of such confidence values are dεscribεd below; however, a brief description is provided here. Each such confidence value is in the range -1.0 to 1.0, wherein the larger the value, the greater the perceived likelihood that the target MS 140 is in (or at) a corresponding MS location estimate of the location hypothesis to which the confidencε valuε applies. As an aside, note that a location hypothesis may have more than onε MS location estimate (as will be discussed in detail below) and the confidence value will typically only correspond or apply to one of the MS location estimates in the location hypothesis. Further, values for the confidence value field may be interpreted as: (a) -1.0 may be interpreted to mean that the target MS 140 is NOT in such a corresponding MS area estimatε of thε location hypothesis area, (b) 0 may be interpreted to mean that it is unknown as to the likelihood of whether the MS 140 in the corresponding MS area estimatε, and (c) + 1.0 may bε interpreted to mean that the MS 140 is perceived to positively be in the corresponding MS area estimatε.

Additionally, πotε that it is within the scope of the present invention that the location hypothesis data struαure may also include other related "pεrcεption" mεasurements related to a likelihood of the target MS 140 bεing in a particular MS location area estimate. For example, it is within the scope of the present invention to also utilize measurements such as, (a) "sufficiency factors" for indicating the likelihood that an MS location estimate of a location hypothesis is sufficient for locating the target MS 140; (b) "necessity factors" for indicating the necessity that the target MS be in an particular area estimate. However, to more easily describe the present invention, a single confidencε field is used having the interpretation given above. Additionally, in utilizing location hypotheses in, for example, thε location evaluator 1228 as in (23.4) above, it is important to keεp in mind that each location hypothesis confidence value is a relative measurement. That is, for confidences, cf, and cf2, if cft < = cf2, then for a location hypotheses H, and H? having cf, and cf2, respectively, the target MS 140 is expεαεd to more likely reside in a target MS estimate of H2 than a target MS estimate of H.. Moreover, if an area, A, is such that it is included in a plurality of location hypothesis target MS estimates, then a confidence score, CS , can be assigned to A, wherein the confidence score for such an area is a funαion of the confidences (both positivε and nεgative) for all the location hypotheses whose (most pertinent) target MS location εstimates contain A. That is, in ordεr to determine a most likely target MS location area estimate for outputting from the location cεnter 1 2, a confidence score is det rminεd for areas within the location centεr service area. More particularly, if a funαion, T, is a funαion of the confidence(s) of location hypotheses, and f is a monotonic funαion in its parameteπ and f(cf,, cf2, cf3, ... , cfN) = CS4 for confidences cf| of location hypotheses H; i= l,2,...,N, with CS contained in the area estimate for H„ then is denoted a confidence score funαion. Accordingly, thεre are many εmbodiments for a confidencε score funαion f that may be utilized in computing confidencε scores with thε present invention; e.g.,

(a) f(cf„cf} cfN) = S cf, = CSΛ;

(b) f(cf„ cf2 cfN) = S cf; = CSA, n = 1, 3, 5, ...; (c) f(cf|, cfj, ... , cfN) = S (K, * cf,) — CSA , wherein K„ i - 1, 2, ... are positive system (tunable) constants (possibly dependent on environmental charaαeristics such as topography, time, date, traffic, weather, and/or the type of base station(s) 122 from which location signatures with the target MS 140 are being generated, etc.).

For the present description of the invention, the funαioπ f as defined in (c) immediately above is utilized. However, for obtaining a general understanding of thε present invention, the simpler confidence score funαion of (a) may be more useful. It is important to note, though, that it is within the scope of the present invention to use other functions for the confidence score funαion.

Coveragε Area: Area Types And Their Determination

The notion of "area type" as related to wireless signal transmission characteristics has been used in many investigations of radio signal transmission charaαeristics. Some invεstigators, whεn investigating such signal charaαeristics of areas have used somewhat naive area classifications such as urban, suburban, rural, εtc. However, it is desirable for the purposes of thε present invention to have a more operational definition of area types that is more closely associated with wireless signal transmission behaviors.

To describe embodiments of thε an area type scheme used in the present invention, some introductory remarks are first provided. Note that the wireless signal transmission behavior for an area depεnds on at least the following critεria:

(23.8.1) substantially invariant terrain characteristics (both natural and man-made) of the area; e.g., mountains, buildings, lakes, highways, bridges, building density;

(23.8.2) time varying environmental characteristics (both natural and man-made) of the area; e.g., foliage, traffic, weather, special events such as baseball games; (23.8.3) wireless communication components or infrastruαure in the area; e.g., the arrangement and signal communication characteristics of the base stations 122 in the area. Further, thε antenna charaαeristics at the base stations 122 may be important criteria. Accordingly, a description of wireless signal characteristics for determining area types could potentially include a charaαerization of wireless signaling attributes as they relate to each of the above criteria. Thus, an area type might be: hilly, treed, suburban, having no buildings above 50 feet, with base stations spaced apart by two miles. However, a categorization of area types is desired that is both more closely tied to the wireless signaling characteristics of the area, and is capable of bεing computed substantially automatically and repeatedly over time. Moreover, for a wireless location system, the primary wireless signaling charaαeristics for categorizing areas into at least minimally similar area types are: thεrmal noise and, more importantly, multipath characteristics (e.g., multipath fade and time delay).

Focusing for the moment on the multipath characteristics, it is believed that (23.8.1 ) and (23.8.3) immediately above are, in general, more important criteria for accurately locating an MS 140 than (23.8.2). That is, regarding (23.8.1), multipath tends to increase as the density of nearby vertical area changes increases. For example, multipath is particularly problematic where there is a high density of high rise buildings and/or where there are closely spaced geographic undulations. In both cases, the amount of change in vertical area per unit of area in a horizontal planε (for somε horizontal reference plane) may be high. Regarding (23.83), the greater the density of base stations 122, the less problematic multipath may become in locating an MS 140. Moreover, the arrangement of the base stations 122 in the radio coverage area 120 in Fig.4 may affeα the amount and severity of multipath.

Accordingly, it would be desirable to have a method and system for straightforwardly determining area type classifications related to multipath, and in particular, multipath due to (23.8.1) and (23.83). Thε prεsεπt invεntion provides such a determination by utilizing a novel notion of area typε, hereinafter denoted "transmission area type" (or, "(transmission) area type" when both a generic area type classification scheme and the transmission area type discussed hereinafter are intended) for classifying "similar" areas, wherein each transmission area type class or category is intended to describe an area having at lεast minimally similar wireless signal transmission charaαeristics. That is, the novel transmission area type scheme of the present invention is based on: (a) the terrain area classifications; e.g., the terrain of an area surrounding a target MS 140, (b) the configuration of base stations 122 in the radio coverage area 120, and (c) characterizations of the wireless signal transmission paths between a targεt MS 140 location and thε base stations 122.

In one embodimεnt of a method and system for dεtermining such (transmission) area type approximations, a partition (denoted hεreinafter as P0) is imposed upon the radio coverage area 120 for partitioning for radio coveragε area into subareas, wherein each subarea is an estimate of an area having included MS 140 locations that are likely to have is at least a minimal amount of similarity in their wireless signaling characteristics. To obtain the partition P0 of the radio coveragε area 120, thε following steps are performed:

(23.8.4.1) Partition the radio coveragε area 120 into subareas, wherein in each subarea is: (a) connected, (b) variations in the lengths of chords sectioning the subarea through the centroid of thε subarea are below a predetermined threshold, (c) the subarea has an area below a predetermined value, and (d) for most locations (e.g., within a first or second deviation) within the subarea whosε wireless signaling charaαeristics have been verified, it is likely (e.g., within a fiπt or sεcond deviation ) that an MS 140 at one of thesε locations will deteα (forward transmission path) and/or will be deteαed (reverse transmission path) by a same colleαion of base stations 122. For example, in a CDMA context, a first such colleαion may be (for the forward transmission path) the aαive set of base stations 122, or, thε union of thε aαive and candidate sεts, or, thε union of thε aαive, candidate and/or remaining sets of base stations 122 deteαed by "most" MSs 140 in . Additionally (or alternatively), a second such colleαion may be the base stations 122 that are expeαed to deteα MSs 140 at locations within the subarea. Of couπe, the union or intersection of the first and second colleαions is also within the scope of the present invention for partitioning the radio coverage area 120 according to (d) above. It is worth noting that it is believed that base station 122 power levels will be substantially constant. Howevεr, εvεn if this is not thε casε, one or more colleαions for (d) above may be determined empirically and/or by computationally simulating the power output of each basε station 122 at a predetermined levεl. Moreover, it is also worth mentioning that this step is relatively straightforward to implement using the data stored in the location signature data base 1320 (i.e., the verified location signature clusters discussed in detail hereinbεlow). Denote the resulting partition here as Pt. (23.8.42) Partition the radio coverage area 120 into subareas, wherein each subarea appears to have substantially homogeneous terrain charaαeristics. Note, this may be performed periodically substantially automatically by scanning radio coverage area images obtained from aerial or satellite imaging. For examplε, EarthWatch Inc. of Longmont, CO can provide geographic with 3 meter resolution from satellite imaging data. Denote the resulting partition here as P2. (23.8.43) Overlay both of the above partitions of the radio coverage area 120 to obtain new subareas that are intεπεαions of thε subareas from εach of thε above partitions. This new partition is P0 (i.e., P0 = P, intersεct Pj), and the subareas of it are denotεd as "P0 subareas". Now assuming P0 has bεεn obtained, the subareas of P0 are provided with a first classification or categorization as follows: (23.8.4.4) Determine an area type categorization scheme for the subareas of P,. For example, a subarea, A, of P,, may be categorizεd or labeled according to the number of base stations 122 in each of the collections used in (23.8.4.1 )(d) above for determining subareas of P,. Thus, in one such categorization schemε, εach category may correspond to a single number x (such as 3), wherein for a subarea, A, of this category, there is a group of x (e.g., three) base stations 122 that are expected to be detected by a most target MSs 140 in the area A. Other embodiments are also possible, such as a categorization scheme wherein each category may correspond to a triple: of numbers such as (5, 2, 1), wherein for a subarea A of this category, there is a common group of 5 base stations 122 with two-way signal detection expected with most locations (e.g., within a first or second deviation) within A, there are 2 base stations that are expected to be detected by a target MS 140 in A but these base stations can not detect the target MS, and there is one base station 122 that is expeαed to be able to deteα a target MS in A but not be deteαed. (23.8.4.5) Dεtεrmine an area type categorization scheme for the subareas of P2. Note that thε subareas of P2 may bε categorized according to their similarities. In one embodiment, such categories may be somewhat similar to thε naive area types mentioned above (e.g., dense urban, urban, suburban, rural, mountain, etc.). However, it is also an aspeα of the present invention that more precise categorizations may be used, such as a category for all areas having between 20,000 and 30,000 square feet of vertical area changε per 11,000 square feεt of horizontal area and also having a high traffic volume (such a category likely corresponding to a "moderately densε urban" area type).

(23.8.4.6) Categorize subareas of P0 with a categorization schemε dεnotεd the "P0 categorization," wherein for εach P0 subarea, A, of P0 a "P„ area type" is determined for A according to the following substep(s): (a) Categorize A by the two categories from (23.8.4.4) and (23.8.5) with which it is identified. Thus, A is categorized (in a corresponding P0 area type) both according to its terrain and the base station infrastructure configuration in the radio coverage area 120.

(23.8.4.7) For each P0 subarea, A, of P0 perform the following step(s):

(a) Determine a centroid, C(A), for A; (b) Determine an approximation to a wireless transmission path between C(A) and εach basε station 122 of a predetermined group of base stations expeαed to be in (one and/or two-way) signal communication with most target MS 140 locations in A. For example, one such approximation is a straight line between C(A) and each of thε basε stations 122 in the group. However, other such approximations are within the scope of the present invention, such as, a generally triangular shaped area as the transmission path, wherein a first vertex of this area is at the corresponding base station for thε transmission path, and thε sidεs of thε generally triangular shaped defining the first vertex have a smallest angle between them that allows A to be completely between thεse sides.

(c) For each base station 122, BS„ in the group entionεd in (b) above, create an empty list, BS,-list, and put on this list at least the P0 area types for the "significant" P0 subareas crossed by the transmission path betweεn C(A) and BS,. Note that "significant" P0 subareas may be definεd as, for example, the P0 subareas through which at least a minimal length of thε transmission path traverses. Alternatively, such "significant" P0 subareas may be defined as those Pα subareas that additionally are know or expeαed to generate substantial multipath.

(d) Assign as the transmission area typε for A as thε collection of BSrlists. Thus, any other P0 subarea having the same (or substantially similar) colleαion of lists of P0 area types will be viewed as having approximately thε samε radio transmission charaαeristics. Note that other transmission signal characteristics may be incorporated into the transmission area types. For example, thermal noise charaαeristics may be included by providing a third radio coveragε area 120 partition, P3, in addition to the partitions of P, and P2 generated in (23.8.4.1) and (23.8.42) respeαively. Moreover, the time varying charaαeristics of (23.82) may be incorporated in the transmission area type frame work by generating multiple veπions of the transmission area types such that the transmission area type for a given subarea of P0 may change depending on the combination of time varying environmental charaαeristics to bε considered in the transmission area types. For instance, to account for seasonality, four veπions of the partitions Pi and P2 may be generated, one for each of the seasons, and subsequently generate a (potentially) different partition P0 for each season. Further, the type and/or charaαeristics of base station 122 antennas may also be included in an εmbodiment of the transmission area type.

Accordingly, in onε embodiment of the present invention, whenever the term "area type" is used hereinbelow, transmission area types as described her inabovε are intended.

Location Information Data Bases And Data

Location Data Basεs Introduction

It is an aspeα of the present invention that MS location processing performed by the location center 142 should become increasingly better at locating a target MS 140 both by (a) building an increasingly more detailed model of the signal charaαeristics of locations in the serv e area for the present invention, and also (b) by providing capabilities for the location center processing to adapt to environmental changes. One way these aspects of the present invention are realized is by providing one or more data base anagemεnt systems and data bases for:

(a) storing and associating wireless MS signal characteristics with known locations of MSs 140 used in providing the signal characteristics. Such stored associations may not only provide an increasingly better model of the signal charaαeristics of the geography of the service area, but also provide an increasingly better model of more changeable signal charaαeristic affecting environmental factors such as wεather, seasons, and/or traffic patterns;

(b) adaptive!/ updating the signal characteristic data stored so that it reflects changes in the environment of the service area such as, for example, a new high rise building or a new highway.

Referring again to Fig.5 of the colleαive representation of these data bases is the location information data bases 1232. Included among these data bases is a data base for providing training and/or calibration data to one or more trainable/calibratable FOMs 1224, as well as an archival data base for archiving historical MS location information related to the performance of the FOMs. These data bases will be discussed as necessary hereinbelow. However, a further brief introduction to the archival data base is provided here. Accordingly, the term, "location signature data base" is usεd hereinafter to denote the archival data base and/or data base management system depending on the context of thε discussion. The location signature data base (shown in, for example, Fig.6 and labeled 1320) is a repository for wireless signal charaαeristic data derived from wireless signal communications between an MS 140 and one or more base stations 1 2, wherein the corresponding location of the MS 140 is known and also stored in the location signature data base 1320. More particularly, the location signature data base 1320 associates εach such known MS location with the wireless signal charaαeristic data derived from wireless signal communications between the MS 140 and one or more base stations 122 at this MS location. Accordingly, it is an aspeα of thε present invention to utilize such historical MS signal location data for enhancing the corrεαness and/or confidence of certain location hypotheses as will be described in detail in other sections below.

Data Representations for the Location Signature Data Base

There are four fundamental entity types (or objeα classes in an objeα oriented programming paradigm) utilized in the location signature data base 1320. Briefly, these data entities are described in the items (24.1) through (24.4) that follow:

(241) (verified) location signatures: Each such (verified) location signature describes the wireless signal characteristic measurements between a given base station (e.g., BS 122 or LBS 152) and an MS 140 at a (verified or known) location associated with the (verified) location signature. That is, a verified location signature corresponds to a location whose coordinates such as latitude-longitude coordinates are known, whilε simply a location signature may have a known or unknown location corresponding with it. Note that the term (verified) location signature is also denoted by the abbreviation, "(verified) loc sig" hereinbεlow;

(242) (verified) location signature clusters: Each such (verifiεd) location signature cluster includes a colleαion of (verified) location signatures corresponding to ali the location signatures between a target MS 140 at a (possibly verified) presumed substantially stationary location and each BS (e.g., 1 2 or 152) from which thε targεt MS 140 can deteα the BS's pilot channel gardless of thε classification of the BS in the target MS (i.e., for CDMA, regardless of whether a BS is in the MS's aαive, candidate or remaining basε station sets, as one skilled in the art will understand). Note that for simplicity here, it is presumed that each location signature cluster has a single fixed primary base station to which the target MS 140 synchronizes or obtains its timing;

(243) "composite location objects (or entities)": Each such entity is a more general entity than the verifiεd location signature cluster. An objeα of this type is a collection of (verified) location signatures that are associated with thε same MS 140 at substantially the same location at the same time and each such loc sig is associated with a different base station. Howevεr, there is no requirement that a loc sig from each BS 122 for which the MS 140 can deteα the BS's pilot channel is included in the "composite location objeα (or entity)"; and

(24.4) MS location estimation data that includes MS location estimates output by one or more MS location estimating fiπt order models 1224, such MS location estimate data is described in detail hereinbelow.

It is important to note that a loc sig is, in one embodiment, an instance of the data structure containing the signal characteristic measurements output by the signal filtering and normalizing subsystem also denoted as the signal processing subs/stem 1220 describing the signals between: (i) a specific base station 122 (BS) and (n) a mobile station 140 (MS), wherein the BS's location is known and the MS's location is assumed to be substantially constant (during a 2-5 second interval in one embodiment of the present invention), during communication with the MS 140 (or obtaining a single instance of loc sig data, although the MS location may or may not be known, further, for notational purposes, the BS 122 and the MS 140 for a loc sig hereinafter will be denoted the "BS associated with the loc sig", and the "MS associated with the loc sig" respectively. Moreover, the location of the MS 140 at the time the loc sig data is obtained will be denoted the "location associated with the loc sig" (this location possibly being unknown). In particular, for each (verified) loc sig includes the following:

(25.1) MS type: the make and model of the target MS 140 associated with a location signature instantiation; note that the type of MS 140 can also be derived from this entry; e.g., whether MS 140 is a handset MS, car-set MS, or an MS for location only. Notε as an aside, for at least CDMA, the type of MS 140 provides information as to the number of fingers that may be measured by the MS, as one skilled in the will appreciate. (252) BS id: an identification of the base station 122 (or, location base station 152) communicating with the target MS;

(253) MS Joe: a representation of a geographic location (e.g., latitude-longitude) or area representing a verifrcd/known MS location whεre signal charaαeristics between the associated (location) base station and MS 140 were received. That is, if the "verified Jlag" attribute (discussed below) is TRUE, then this attribute includes an estimated location of the target MS. If verified Jlag is FALSE, then this attribute has a value indicating "location unknown".

Note "MS Joe" may include the following two subfields: an area within which thε targεt MS is presumed to be, and a point location (e.g., a latitudε and longitude pair) whεre the target MS is presumed to be (in onε embodiment this is the centroid of the area);

(25.4) verified Jlag: a flag for determining whether the loc sig has been verified; i.e., thε valuε here is TRUE iff a location of MS Joe has beεn verified, FALSE otherwise. Note, if this field is TRUE (i.e., the loc sig is verified), then the basε station identified by

BS id is the current primary base station for thε target MS;

(25.5) confidence: a value indicating how consistent this loc sig is with othεr loc sigs in thε location signature data basε 1320; the value for this entry is in the range [0, 1] with 0 corresponding to the lowest (i.e., no) confidence and I corresponding to the highest confidencε. That is, the confidence faαor is used for determining how consistent the loc sig is with other "similar" verified loc sigs in thε location signature data basε 1320, wherein the greater the confidence value, the better the consistency with other loc sigs in the data base. Note that similarity in this context may be operationaiized by at least designating a geographic proximity of a loc sig in which to determine if it is similar to other loc sigs in this designated geographic proximity and/or area type (e.g, transmission area typε as elsewhere herein). Thus, environmental characteristics may also be used in determining similarities such as: similar time of occurrence (e.g., of day, and/or of month), similar wεathεr (ε.g., snowing, raining, εtc). Notε, these latter characteristics are different from the notion of geographic proximity since proximity may be only a distance measurement about a location. Notε also that a loc sig having a confidence faαor value below a predetermined threshold may not be used in evaluating MS location hypotheses generated by the FOMs 1224.

(25.6) timestamp: the time and date the loc sig was received by the associated base station of BS id;

(25.7) signal topography charaαeristics: In one embodimεnt, the signal topography charaαeristics retained can be represented as charaαeristics of at least a two-dimensional generated surface. That is, such a surface is generated by the signal processing subsystem 1220 from signal charaαeristics accumulated over (a relatively short) time interval. For example, in the two-dimensional surface case, the dimensions for the generated surface may be, for example, signal strength and time delay. That is, the accumulations over a brief time interval of signal charaαeristic measurements between the BS 122 and the MS 140 (associated with the loc sig) may be classified according to the two signal charaαeristic dimensions (e.g., signal strength and corresponding time delay). That is, by sampling thε signal charaαeristiα and classifying the samples according to a mesh of discrete cells or bins, wherein each cell correspondi to a different range of signal strengths and time delays a tally of the number of samples falling in the range of each cell can be maintained. Accordingly, for each cell, its corresponding tally may be interpreted as height of the cell, so that when the heights of all cells are considered, an undulating or mountainous surface is provided. In particular, for a cell mesh of appropriate fineness, the "mountainous surface", is believed to, under most circumstances, provide a contour that is substantially unique to the location of the target MS 140. Note that in one embodiment, thε signal samples are typically obtained throughout a predetermined signal sampling time interval of 2-5 seconds as is discussed elsewhere in this specification. In particular, the signal topography charaαeristics retained for a loc sig include certain topographical charaαeristiα of such a generated mountainous surface. For example, each loc sig may include: for each local maximum (of the loc sig surface) above a predetermined noise ceiling threshold, the (signal strength, time delay) coordinates of the cell of the local maximum and the corresponding height of thε local maximum. Additionally, certain gradients may also be included for charaαerizing the "steepness" of the surface mountains. Moreover, note that in some embodiments, a frequency may also be associated with each local maximum. Thus, thε data retained for each selected local maximum can include a quadruple of signal strength, time delay, height and frequency. Further note that the data types here may vary. However, for simplicity, in parts of thε description of loc sig processing related to the signal charaαeristiα here, it is assumed that the signal charaαeristic topography data struαure here is a vettoπ

(25.8) quality_obj: signal quality (or error) measurements, e.g., Eb/No values, as one skilled in the art will understand;

(25.9) πoise_ceiling: noise ceiling values used in the initial filtering of noise from the signal topography charaαeristiα as provided by the signal processing subsystem 1220;

(25.10) powerjevel: power levels of the base station (e.g 122 or 152) and MS 140 for the signal measurements; (25.11) timing error: an estimated (or maximum) timing error between the present (associated) BS (e.g., an infrastruαure base station 122 or a location base station 152) detecting the target MS 140 and the current primary BS 122 for the target MS 140. Note that if the BS 122 associated with the loc sig is the primary basε station, thεn the value here will be zero;

(25.12) cluster_ptπ a pointer to the location signature composite entity to which this loc sig belongs.

(25.13) repeatable: TRUE iff the loc sig is "repeatable" (as described hereinafter), FALSE otherwise. Note that each verified loc sig is designated as either "repeatable" or "random". A loc sig is repeatable if thε (vεrifiεd/known) location associated with the loc sig is such that signal charaαeristic measurements between the associated BS 122 and this MS can be either replaced at periodic time intervals, or updated substantially on dεmand by most recent signal characteristic measurements between the associated base station and the associated MS 140 (or a comparable MS) at the verified/known location. Repeatable loc sigs may be, for examplε, provided by stationary or fixed location MSs 140 (e.g., fixed location transceivers) distributed within certain areas of a geographical region serviced by the location center 142 for providing MS location estimates. That is, it is an aspeα of the present invention that each such stationary MS 140 can be contacted by the location center 142 (via the base stations of the wireless infrastruαure) at substantially any time for providing a new colleαion (Lε., cluster ) of wireless signal charaαeristics to be associated with the verified location for the transceiver. Alternatively, repeatable loc sigs may be obtained by, for example, obtaining location signal measurements manually from workεrs who regularly traverse a predetermined route through some portion of the radio coverage area; i.e, postal workers (as will be described in more detail hereinbelow).

A loc sig is random if the loc sig is not repeatable. Random loc sigs are obtained, for examplε, from verifying a previously unknown target MS location once the MS 140 has been located. Such verifications may be accomplished by, for example, a vehicle having one or more location vεrifying devices such as a GPS receiver and/or a manual location input capability becoming sufficiently close to the located targεt MS 140 so that the location of the vehicle may be associated with the wireless signal charaαeristics of the MS 140. Vehicles having such location deteαion devices may include: (a) vehicles that travel to locations that are primarily for another purpose than to verify loc sigs, e.g., police cars, a bulancεs, fire trucks, rescue units, couriεr services and taxis; and/or (b) vehidεs whose primary purpose is to verify loc sigs; e.g., location signal calibration vehicles. Additionally, vehicles having both wireless transceivers and location verifying devices may provide the location center 142 with random loc sigs. Note, a repeatable loc sig may become a random loc sig if an MS 140 at the location associated with the loc sig becomes undetectable such as, for examplε, whεn the

MS 140 is removed from its verifiεd location and therefore the loc sig forthe location can not be readily updated.

Additionally, note that at least in one embodiment of the signal topography charaαeristics (25.7) above, such a first surface may be generated for the (forward) signals from the base station 122 to the targεt MS 140 and a second such surface may be generated for (or alternatively, the first surface may be enhancεd by increasing its dimensionality with) the signals from the MS 140 to the base station 122 (denoted the reverse signals).

Additionally, in some embodiments the location hypothesis may include an estimated error as a measurement of perceived accuracy in addition to or as a substitute for the confidence field discussed hereinabove. Moreover, location hypotheses may also include a text field for providing a reason for the values of one or more of the location hypothesis fields. For example, this text field may provide a reason as to why thε confidence value is low, or provide an indication that the wireless signal measurements used had a low signal to noise ratio. Loc sigs have the following funαions or objeα methods associated therewith: (26.1) A "normalization" method for normalizing loc sig data according to the associated MS 140 and/or BS 122 signal processing and generating charaαeristics. That is, the signal processing subsystem 1220, one embodimεnt bεing described in the PCT patent application titled, "Wireless Location Using A Plurality of Commercial Network Infrastruαures," by F. W. LeBlanc and the present iπventor(s), providεs (mεthods for loc sig objects) for "normalizing" each toe sig so that variations in signal charaαeristiα resulting from variations in (for example) MS signal processing and generating characteristi of different types of MS's may be reduced. In particular, since wireless network designers are typically designing networks for effεαivε use of hand set MS's 140 having a substantially common minimum set of performance charaαeristics, the normalization methods provided here transform the loc sig data so that it appears as though the loc sig was provided by a common hand set MS 140. However, other methods may also be provided to "normalize" a loc sig so that it may be compared with loc sigs obtained from othεr types of MS's as well. Note that such normalization techniques include, for example, interpolating and extrapolating according to power levels so that loc sigs may bε nor alizεd to thε same power level for, c.g., comparison purposes.

Normalization for the BS 122 associated with a loc sig is similar to the normalization for MS signal processing and generating charaαeristics. Just as with the MS normalization, the signal processing subsystem 1220 provides a loc sig method for "normalizing" loc sigs according to base station signal processing and generating characteristics.

Note, however, loc sigs stored in the location signature data base 1320 are NOT "normalized" according to either MS or BS signal processing and generating charaαeristics. That is, "raw" values of the wireless signal charaαeristics are stored with each loc sig in the location signature data base 1320. (262) A εthod for determining the "area type" corresponding to the signal transmission charaαeristiα of the area(s) between thε associated

BS 122 and thε associated MS 140 location for thε loc sig. Notε, such an area type may be designated by, for examplε, the techniques for determining transmission area types as described hereinabove.

(263) Other methods are contemplated for determining additional environmental characteristics of the geographical area between the associated BS 122 and the associated MS 1 0 loαtion for the be sig; e.g., a noise value indicating the amount of noise likely in such an area.

Referring now to the composite location objects and verifiεd location signature clusters of (243) and (242) respectively, the following information is contained in these aggregation objects: (27.1.1) an identification of the BS 122 designated as the primary base station for communicating with the target MS 140;

(27.12) a reference to each loc sig in thε location signature data basε 1320 that is for the same MS loαtion at substantially the same time with the primary BS as identified in (27.1);

(27.13) an identification of each base station (e.g., 122 and 152) that an be detected by the MS 140 at the time the loαtion signal measurements are obtained. Note that in one embodiment, each composite ioαtion objeα includes a bit string having a corresponding bit for each base station, wherein a "I" for such a bit indiαtεs that the corresponding base station was identified by the MS, and a "0" indicates that the base station was not identified. In an alternative embodiment, additional loαtion signal mεasurements may also be included from other non-primary base stations. For example, the target MS 140 may communicate with other base stations than it's primary base station. However, since the timing for the MS 140 is typically derived from it's primary base station and since timing synchronization between basε stations is not exaα (e.g., in the casε of CDMA, timing variations may be plus or minus I microsecond)at least some of the loαtion signal measurements may be less reliable that the measurements from the primary base station, unless a forced hand-off technique is used to eliminate system timing errors among relevant base stations; (27.1.4) a completeness designation that indicates whether any loc sigs for the composite loαtion objeα have beεn removεd from (or invalidated in) the location signature data basε 1320.

Note, a verified composite location objeα is designated as "incomplete" if a loc sig initially referenced by the verifiεd composite loαtion objeα is deleted from the loαtion signature data base 1320 (ε.g., beαuse of a confidence that is too low). Further note that if ail loc sigs for a composite loαtion objeα are dεleted, then the composite objeα is also deleted from the loαtion signature data base 1320. Also notε that common fields between loc sigs referenced by the same composite loαtioπ objeα may be provided in the composite location objeα only (e.g., timesta p, etc.). Accordingly, a composite ioαtion objeα that is complete (i.e., not incomplete) is a verified loαtion signature cluster as described in

(242).

Location Center Architeαure Overview of Location Center Functional Components

Fig.5 presents a high level diagram of the loαtioπ center 142 and the loαtion engine 139 in the context of the infrastruαure for the entire ioαtion system of thε present invention.

It is important to note that the architeαure for the loαtion center 142 and the loαtion engine 139 provided by the present invention is designed for extensibility and flexibility so that MS 140 loαtion accuracy and reliability may bε εnhaπced as further loαtion data become available and as enhanced MS loαtion techniques become available. In addressing thε design goals of extensibility and flexibility, thε high level architeαure for generating and processing MS loαtioπ estimates may be considered as divided into the following high levεl functional groups described hereinbelow.

Low Level Wireless Signal Processing Subsystem for Receiving and Conditioning Wireless Signal Measurements

A first funαional group of loαtion engine 139 modules is for performing signal processing and filtering of MS loαtion signal data received from a conventional wireless (e.g., CDMA) infrastruαure, as discussed in the steps (23.1) and (232) above. This group is denotεd the signal processing subsystem 1220 herein. One embodiment of such a subsystem is described in the PQ patent appliαtion titled, "Wireless Loαtion Using A Plurality of Commercial Network Infrastruαures," by F. W. LeBlanc and the present iπventor(s)..

Initial Location Estimators: First Ordεr Models

A second functional group of loαtion engine 139 modules is for generating various target MS 140 loαtion initial estimates, as described in step (233). Accordingly, the modules here use input provided by the signal processing subsystem 1220. This second funαional group includes one or more signal analysis modules or models, each hereinafter denoted as a first order model 1224 (FOM), for generating loαtion hypotheses fora target MS 140 to be loαted. Note that it is intεndεd that each such FOM 1224 use a different technique for determining a loαtion area estimate for the target MS 140. A brief description of some types of first order models is provided immediately below. Note that Fig.8 illustrates another, more detail view of the loαtion system for the present invention. In particular, this figure illustrates some of the FOMs 1224 contemplated by the present invention, and additionally illustrates the primary communiαtions with other modules of the loαtion system for the present invention. However, it is important to note that the present invention is not limited to the FOMs 1224 shown and discussed herein. That is, it is a primary aspeα of the present invention to easily incorporate FOMs using othεr signal processing and/or computational loαtion estimating techniques than those presented herein. Further, note that each FOM type may have a plurality of its models incorporated into an embodiment of the present invention.

For example, (as will be described in further detail below), one such typε of model or FOM 1224 (hereinafter models of this type are referred to as "distance models") may be based on a range or distance computation and/or on a base station signal reception angle determination between the target MS 1 0 from each of one or more base stations. Basically, such distance models 1224 determine a loαtion εstimate of the target MS 140 by determining a distance offset from each of one or more base stations 122, possibly in a particular direαion from each (some of) the base stations, so that an interseαion of each area locus defined by the base station offsets may provide an estimate of the loαtion of the target MS. Distance model FOMs 1224 may compute such offsets based on: (a) signal timing measurements between the target mobile station 140 and one or more base stations 122; e.g.., timing measurements such as time difference of arrival (TDOA), or time of arrival (TOA). Note that both forward and reverse signal path timing measurements may be utilized;

(b) signal strength mεasurements (e.g., relative to power control settings of the MS 140 and/or one or more BS 122); and/or (c) signal anglε of arrival measurements, or ranges thereof, at one or more base stations 122 (such angles and/or angular ranges provided by, e.g., base station antenna seαors having angular ranges of 120° or 60°, or, so called "SMART antennas" with variable angular transmission ranges of 2° to 120°). Accordingly, a distance model may utilize trianguiation or trilateration to compute a loαtioπ hypothεsis having either an area loαtion or a point loαtion for an estimatε of the target MS 140. Additionally, in some embodiments loαtion hypothesis may include an estimated error Another typε of FOM 1224 is a statistically basεd first order model 1224, wherein a statistical technique, such as regression techniques (e.g., least squares, partial least squares, principle decomposition), or e.g., Bollenger Bands (e.g., for computing minimum and maximum base station offsets). In general, models of this type output location hypotheses determined by performing one or more statistical techniques or comparisons between the verified ioαtion signatures in ioαtion signature data base 1320, and the wireless signal measurements from a target MS. Models of this type are also referred to hereinafter as a "stochastic signal (first order) model" or a "stochastic FOM" or a "statistical model."

Still another type of FOM 1224 is an adaptive learning model, such as an artificial neural net or a genetic algorithm, wherein the FOM may be trained to recognize or associate εach of a plurality of locations with a corresponding set of signal charaαeristics for communiαtions between the target MS 140 (at the loαtion) and the base stations 122. Moreover, typically such a FOM is expeαed to accurately interpolate/extrapolate targεt MS 140 loαtion estimatεs from a set of signal charaαeristiα from an unknown target MS 1 0 loαtion. Models of this typε are also referred to hereinafter variously as "artificial nεural net modεls" or "nεural net models" or "trainable modεls" or "learning models." Note that a related type of FOM 1224 is based on pattern recognition. These FOMs an recognize patterns in the signal charaαeristiα of communiαtions betwεen the target MS 140 (at the loαtion) and the base stations 122 and thereby estimate a loαtioπ area of the target MS. However, such FOMs may not be trainable.

Yet another type of FOM 1224 an be based on a colleαion of dispersed low power, low cost fixed loαtion wireless transceivers (also denoted "loαtion base stations 152" hereinabove) that are provided for detecting a target MS 140 in areas where, e.g., there is insufficient base station 122 infrastruαure coverage for providing a desired level of MS 140 loαtion accuracy. For examplε, it may uneconomical to provide high traffic wireless voice coverage of a typical wireless base station 122 in a nature preserve or at a fair ground that is only populated a fεw days out of the year. However, if such low cost loαtion base stations 152 an be directed to activate and deactivate via the direαion of a FOM 1224 of the present type, then these location base stations n be used to both location a target MS 140 and also provide indications of where thε target MS is not. For example, if there are loαtion base stations 152 populating an area where the target MS 140 is presumed to be, then by aα'ivating these loαtion base stations 152, evidence may be obtained as to whether or not the target MS is aαually in the area; e.g., if the target MS 140 is deteαed by a location base station 152, then a corresponding loαtion hypothesis having a loαtion estimate corresponding to the coverage area of the loαtion base station may have a very high confidence value. Alternatively, if the target MS 140 is not detected by a loαtion base station 152, then a corresponding loαtion hypothesis having a loαtion estimate corresponding to the coverage area of the loαtion base station may have a very low confidence value. Models of this type are referred to hereinafter as "loαtion base station models."

Yet another type of FOM 1224 n be based on input from a mobile base station 148, wherein loαtioπ hypotheses may be generated from target MS 140 loαtion data received from the mobile base station 148. Still other types of FOM 1224 n be based on various techniques for recognizing wireless signal measurement patterns and associating particular patterns with loαtioπs in the coverage area 120. For example, artificial nεural networks or othεr learning models n used as the basis for various FOMs.

Note that the FOM types mentioned here as well as other FOM types are discussεd in detail hereinbelow. Moreover, it is important to keep in mind that a novel aspeα of the present invention is the simultaneous use or aαivation of a potentially large number of such first order models 1224, wherein such FOMs are not limited to those described herein. Thus, the present invention provides a framework for incorporating MS loαtioπ estimators to be subsequently provided as new FOMs in a straightforward manner. For example, a FOM 1224 based on wireless signal time delay measurements from a distributed antenna system for wireless communication may bε incorporated into thε present invention for bating a target MS 140 in an enclosed area serviced by the distributed antenna system. Accordingly, by using such a distributed antenna FOM, the present invention may determine the floor of a multi-story building from which a targεt MS is transmitting. Thus, MSs 140 an bε bated in three dimensions using such a distributed antenna FOM. Additionally, FOMs for detecting certain registration changes within, for example, a public switched telephone network n also bε used for bating a target MS 140. For example, for some MSs 140 there may be an associated or dediαted device for each such MS that allows the MS to funαion as a cordless phone to a line based telephone network when thε device deteαs that the MS is within signaling range. In onε usε of such a dεvicε (also denoted herein as a "home base station"), the device registers with a home location register of the public switched telephone network when there is a status change such as from not deteαing the corresponding MS to detεαiπg thε MS, or visa versa, as one skilled in the an will understand. Accordingly, by providing a FOM that accesses the MS status in the home loαtion register, the location engine 139 an determine whether the MS is within signaling range of the home base station or not, and generate loαtion hypotheses accordingly. Moreover, other FOMs based on, for example, chaos theory and/or fractal theory are also within the scope of the present invention.

It is important to notε the folbwing aspects of the present invention relating to FOMs 1224: (28.1) Each such first ordεr modεl 1224 may bε relativεly εasily incorporatεd into and/or removed from the present invention. For example, assuming that the signal processing subsystem 1220 provides uniform input to the FOMs, and there is a uniform FOM output interface, it is believed that a large majority (if not substantially all) viable MS loαtioπ estimation strategies may be accommodated. Thus, it is straightforward to add or delete such FOMs 1224. (282) Each such first order model 1224 may be relatively simple and still provide significant MS 140 bating functionality and predictability. For example, much of what is believed to be common or generic MS loαt n processing has been coalescεd into, for εxample: a loαtion hypothesis evaluation subsystem, denoted the hypotheses evaluator 1228 and described immediately betow. Thus, the present invention is modular and extensible such that, for example, (and importantly) different first order models 1224 may be utilized depending on the signal transmission charaαeristics of the geographic region serviced by an e bodimεnt of the present invention. Thus, a simple configuration of the present invention may have a small number of FOMs 1224 for a simple wireless signal environment (e.g., flat terrain, no urban αnyons and low population density). Alternatively, for complex wireless signal environments such as in cities like San Francisco, Tokyo or New York, a large number of FOMs 1224 may be simultaneously utilized for generating MS loαtbπ hypotheses.

An Iπtroduαioπ to an Evaluator for Location Hypotheses: Hypothesis Evaluator

A third funαional group of bαtion engine 139 modules evaluates location hypothesεs output by the first order modεls 1224 and thereby provides a "most likely" target MS loαtion estimatε. The modules for this funαional group are colleαirety denoted thε hypothεsis evaluator 1228.

Hypothesis Evaluator Introduction

A primary purpose of the hypothesis evaluator 1228 is to mitigate conflicts and ambiguities related to loαtion hypotheses output by thε first order models 1224 and thereby output a "most likely" estimate of an MS for which thεre is a request for it to bε bated. In providing this capability, there are various related embodiments of the hypothesis evaluator that are within thε scopε of thε presεnt invεntion. Sincε each loαtion hypothesis includεs both an MS loαtioπ area estimate and a corresponding confidence value indicating a perceived confidence or likelihood of the target MS being within the corresponding loαtion area estimate, there is a monoton relationship between MS loαtioπ area estimates and confidence values. That is, by increasing an MS loαtioπ area estimate, the corresponding confidence value may also be increased (in an extreme case, the loαtion area estimate could be the entire coveragε area 120 and thus the confidencε value may likely correspond to the highεst lεvel of certainty; i.e., + 1.0). Accordingly, given a target MS loαtion area estimate (of a loαtion hypothesis), an adjustment to its accuracy may be performed by adjusting the MS loαtion area estimatε and/or the corresponding confidence value. Thus, if the confidence value is, for examplε, excessively low then the area estimate may be increased as a technique for increasing the confidencε valuε. Alternatively, if the estimated area is excessively large, and there is flexibility in the corresponding confidence value, then the estimated area may be decreased and the confidence value also decreased. Thus, if at some point in the processing of a loαtion hypothesis, if the location hypothesis is judged to be more (less) accurate than initially determined, then (i) the confidence value of thε loαtbπ hypothεsis n be increased (decreased), and/or (ii) the MS loαtioπ area estimate an be decreased (increased).

In a first class of embodiments, the hypothesis evaluator 1228 evaluates loαtbn hypotheses and adjusts or modifies only their confidence values for MS loαtion area estimates and subsequently uses these MS loαtion estimatεs with the adjusted confidence values for determining a "most likely" MS bαtion estimate for outputting. Accordingly, the MS bαtion area estimates are not substantially modified. Alternatively, in a second class of embodimεnts for thε hypothesis evaluator 1228, MS bαtion area εstimates an bε adjustεd whilε confidεncε values remain substantially fixed. Of course, hybrids between the first two embodiments n also be provided. Note that the present embodiment provided herein adjusts both the areas and the confidence values.

More particularly, the hypothesis evaluator 1228 may perform any or most of the folbwing tasks: (30.1) it utilizes environmental information to improve and reconcile loαtion hypotheses supplied by the first order models 1224. A basic premise in this context is that the accuracy of the individual first order models may be affeαed by various environmental faαors such as, for example, the season of the year, the time of day, the weather conditions, the presence of buildings, base station failures, etc; (302) it enhances the accuracy of an initial loαtion hypothesis generated by an FOM by using the initial loαtion hypothesis as, essentially, a query or index into the location signature data base 1320 for obtaining a corresponding enhanced location hypothesis, wherein the enhanced location hypothesis has both an adjustεd target MS location area estimate and an adjusted confidence based on past performance of the FOM in the loαtioπ service surrounding the target MS location estimatε of the initial location hypothesis;

(303) it determines how well the associated signal charaαeristiα used for bating a target MS compare with particular vεrified be sigs stored in the loαtbn signature data base 1320 (see the location signature data base seαion for further discussion regarding this aspeα of the invention). That is, for a given bαtion hypothesis, verified be sigs (which were previously obtained from one or more verified locations of one or more MS's) are retrieved for an area corresponding to the bαtion area estimate of the bαtion hypothesis, and the signal charaαeristiα of these verifiεd be sigs are compared with the signal charaαeristiα used to generate the bαtion hypothesis for determining their similarities and subsequently an adjustment to the confidence of the loαtion hypothesis (and/or the size of the loαtion area estimate);

(30.4) the hypothesis evaluator 1228 determines if (or how well) such bαtbn hypotheses are consistent with well known physiαl constraints such as the laws of physics. For example, if the difference between a previous (most likely) loαtion estimate of a target MS and a locatbn estimate by a current bαtbn hypothesis requires the MS to:

(al ) move at an unreasonably high rate of speεd (e.g., 200 mph), or

(bl ) move at an unreasonably high rate of speed for an area (e.g., 80 mph in a corn patch), or

(cl) make unreasonably sharp velocity changes (e.g., from 60 mph in onε direction to 60 mph in the opposite direαion in 4 sεc), then the confidence in the current Loαtioπ Hypothesis is likely to be reduced.

Alternatively, if for εxa plε, thε difference between a previous loαtion estimate of a target MS and a current loαtion hypothesis indicates that the MS is:

(a2) moving at an appropriate velocity for the area being traversed, or (b2) moving along an established path (e.g., a freeway), then the confidence in the current loαtbn hypothesis may be increased.

(30.5) the hypothesis evaluator 1228 determines consistencies and inconsistencies between bαtion hypotheses obtained from different first order models. For example, if two such loαtion hypotheses, for substantially the same ti estamp, have estimated loαtbn areas where the targεt MS is likely to bε and thεsε areas substantially overlap, then the confidence in both such loαtion hypotheses may be increased. Additionally, note that a velocity of an MS may bε determined (via dεltas of successive bαtion hypotheses from one or more first order models) even when thεre is low confidence in the location estimates for the MS, since such deltas may, in some cases, be more reliable than the aαual target MS loαtion estimates;

(30.6) the hypothesis evaluator 1228 determines new (more accurate) location hypotheses from other locatbn hypotheses. For example, this module may generate new hypotheses from currently aαive ones by decomposing a bcation hypothesis having a target MS location estimatε intersecting two radically different area types. Additionally, this module may generate location hypothesεs indiαting areas of poor rεcεption; and (30.7) thε hypothesis evaluator 1228 determines and outputs a most likely loαtion hypothεsis for a targεt MS. Note that the hypothesis evaluator may aαomplish thε abovε tasks, (30.1 ) - (30.7), by empbying various data processing tools including, but not limited to, fuzzy mathe atiα, genetic algorithms, neural networks, expert systems and/or blackboard systems.

Notε that, as n be seen in Figs.6 and 7, the hypothesis evaluator 1228 includes the following four high lεvel modules for processing output loαtion hypotheses from the first order models 1224: a context adjuster 1326, a hypothesis analyzer 1332, an MS status repository 1338 and a most likelihood estimator 1334. These four modules are briefly described hereinbelow.

Context Adjuster Introduction. The context adjuster 1326 module εnhancεs both thε comparability and predictability of thε loαtbn hypotheses output by the first order models 1224. In particular, this module modifies loαtion hypotheses received from the FOMs 1224 so that thε resulting loαtioπ hypothesεs output by the context adjuster 1326 may be further processed uniformly and substantially without concern as to differences in accuracy between the first order models from which loαtion hypotheses originate. In providing this capability, the context adjuster 1326 may adjust or modify various fields of the input bαtion hypotheses. In particular, fields giving target MS 140 loαtbn estimates and/or confidence values for such estimates may be modified by the context adjuster 1326. Further, this module may determine those faαors that are perceived to impaα the perceived accuracy (ε.g., confidence) of the bαtbn hypotheses: (a) differently between FOMs, and/or (b) with substantial effect For instance, environmental charaαeristiα may be taken into account here, such as time of day, season, month, weather, geographiαl area αtεgorizations (e.g., dense urban, urban, suburban, rural, mountain, etc.), area subαtegorizatbns (e.g., heavily treed, hilly, high traffic area, etc). A detailed description of one embodiment of this module is provided in APPENDIX D hereinbelow. Note that, thε embodiment described herein is simplified for illustration purposes such that only the geographiαl area categorizations are utilized in adjusting (i.e., modifying) loαtion hypotheses. But, it is an important aspeα of the presεnt invention that various categorizations, such as those mentioned immediately above, may be usεd for adjusting the bαtion hypotheses. That is, categories such as, for example:

(a) urban, hilly, high traffic at 5pm, or

(b) rural, flat, heavy tree foliage density in summer may bε utilizεd as onε skilled in the art will understand from the descriptions contained hereinbelow.

Accordingly, the present invention is not limited to the faαors explicitly mentioned here. That is, it is an aspεα of the present invention to be extensible so that other environmental faαors of the coverage area 120 affecting the accuracy of loαtion hypotheses may also be incorporated into the context adjuster 1326.

It is also an important and novel aspeα of the context adjuster 1326 that the methods for adjusting bαtion hypotheses provided in this module may be generalized and thereby also utilized with multiple hypothesis computational architeαures related to various applications wherein a terrain, surface, volume or other "geometric" interpretation (e.g., a metric space of statistical samples) may be placed on a large body of stored application data for relating hypothesized data to verifiεd data. Moreover, it is important to note that varbus techniques for "visualizing data" may provide such a geometric interpretation. Thus, the methods herein may be utilized in applications such as: (a) sonar, radar, x-ray or infrared identification of objects such as occurs in robotic navigation, medial image analysis, geobgiαl, and radar imaging. More generally, the novel computational paradigm of the context adjuster 1326 may be utilized in a number of applications wherein there is a large body of archived information providing verifiεd or aαual appliαtion process data related to the past performance of the application process.

It is worth mentioning that the computational paradigm used in the context adjuster 1326 is a hybrid of a hypothesis adjuster and a data base query mechanism. For example, the context adjuster 1326 usεs an input (loαtbn) hypothεsis both as an hypothesis and as a data base query or index into the loαtbn signature data base 1320 for construαing a related but more accurate loαtion hypothesis. Accordingly, substantial advantages are provided by this hybrid architeαure, such as the following two advantages.

As a first advantage, the context adjuster 1326 reduces the likelihood that a feedback mechanism is necessary to the initial hypothesis generators (i.e., FOMs 1224) for periodically adjusting default evaluations of the goodness or confidence in the hypotheses generated. That is, since εach hypothεsis gεnεratεd is, in effect, an index into a data base or archive of vεrified appliαtion (ε.g., loαtion) data, thε context adjuster 1326, in turn, generates new corresponding hypotheses based on the aαual or verified data retrieved from an archival data base. Thus, as a result, this architeαure tends to separate the computations of the initial hypothεsis generators (e.g., the FOMs 1224 in the present MS bαtion appliαtion) from any further processing and thereby provide a more modular, maintainable and flexible computational system.

As a second advantage, the context adjuster 1326 tends to create hypotheses that are more accurate than the hypotheses generated by the initial hypotheses generators. That is, for each hypothεsis, H, providεd by onε of the initial hypothesis generators, G (e.g., a FOM 1224), a corresponding enhancεd hypothesis, provided by the context adjuster 1326, is generated by mapping the past performance of G into the archived verifiεd appliαtion data (as will bε discussεd in detail hereinbelow). In particular, the context adjuster hypothesis generation is based on the archived verifiεd (or known) performance application data that is related to both G and H. For εxamplε, in the present wireless loαtioπ appliαtbn, if a FOM 1224, G, substantially consistently generates, in a particular geographical area, location hypotheses that are biased approximately 1000 feet north of the aαual verified MS 140 loαtion, then the context adjuster 1326 n generate corresponding hypotheses without this bias. Thus, the context adjuster 1326 tends to filter out inaccuracies in the initially generated hypotheses. Therefore in a multiple hypothesis architeαure where typiαlly the generated hypothesεs may be evaluated and/or combined for providing a "most likely" result, it is beliεved that a plurality of relatively simple (and possibly inexaα) initial hypothesis generators may be used in conjunαioπ with the hybrid computational paradigm represented by the context adjuster 1326 for providing enhanced hypotheses with substantially greater accuracy.

Additionally, note that this hybrid paradigm appliεs to othεr domains that are not geographically based. For instance, this hybrid paradigm applies to many prediαion and/or diagnostic applications for which:

(a) the application data and the appliαtion are dependent on a number of parameters whose values charaαerize the range of outputs for the appliαtion. That is, there is a set of parameters, p,, pj, p3, ... , pN from which a parameter space p. x p2 x p3 x ... x pN is derived whose points charaαerize the aαual and estimated (or prediαed) outcomes. As examples, in the MS location system, p, = latitude and j = longitude; (b) there is historical data from whkh points for the parameter space, , x ft x p3 x ~ x pN n be obtained, wherein this data relates to (or indicates) the performance of the appliαtion, and the points obtained from this data are relatively dense in the space (at least around the likely future aαual outcomes that the appliαtion is expected to prediα or diagnose). For example, such historical data may associate the prediαed outcomes of the application with corresponding aαual outcomes; (c) there is a metric or distance-like evaluation f unαbn that an be applied to thε parameter spacε for indicating relative closeness or accuracy of points in the parameter space, wherein the evaluation funαion provides a measurement of closeness that is related to the actual performance of the appliαtion.

Notε that there are numerous appliαtioπs for which the above criteria are applicable. For instance, computer aided control of chemical processing plants are likely to satisfy the above criteria. Certain robotic applications may also satisfy this criteria. In faα, it is believed that a wide range of signal processing applications satisfy this criteria.

MS Status Repository Introduction

The MS status repository 1338 is a run-time storage manager for storing bαtbn hypothesεs from previous aαivations of thε bαtion εnginε 139 (as wεll as for storing thε output "most likely" targεt MS loαtbn estimate(s)) so that a targεt MS 140 may be tracked using target MS loαtion hypothesεs from prevbus loαtioπ επginε 139 aαivations to determine, for examplε, a movement of the target MS 140 between evaluations of the target MS loαtion.

Location Hypothesis Analyzer Introduction.

The bαtion hypothesis analyzer 1332, adjusts confidence values of the loαtion hypotheses, according to: (a) heuristics and/or statistical methods related to how well the signal charaαeristics for the generated target MS bαtioπ hypothesis matches with previously obtained signal charaαeristiα for verified MS locations. (b) heuristics related to how consistent thε bαtion hypothesis is with physiαl laws, and/or highly probable reasonableness conditions relating to the bαtion of the target MS and its movement charaαeristics. for example, such heuristics may utilize knowledge of the geographical terrain in which the MS is estimated to be, and/or, for instance, the MS velocity, acceleration or extrapolation of an MS position, velocity, or acceleration, (c) generation of additional loαtbn hypotheses whose MS locations are consistent with, for examplε, previous estimated bαtions for the target MS.

As shown in Figs.6 and 7, the hypothesis analyzer 1332 module receives (potentially) modified bαtion hypothesεs from thε context adjuster 1326 and performs additional loαtion hypothesis processing that is likely to be common and generic in analyzing most loαtbn hypotheses. More specifically, the hypothesis analyzer 1332 may adjust eithεr or both of the target MS 140 estimated bαtion and/or the confidence of a loαtion hypothesis. In brief, the hypothesis analyzer 1332 recεives target MS 140 bcation hypothesεs from the context analyzer 1336, and depending on the time stamps of newly received loαtbn hypotheses and any previous (i.e., oldεr) target MS locatbn hypotheses that may still be currently available to the hypothesis analyzer 1332, the hypothesis analyzer may: (a) update some of the older hypotheses by an extrapolation module, (b) utilize some of the old hypotheses as prevbus target MS estimates for usε in tracking the target MS 140, and/or

(c) if sufficiently old, then delete the older loαtion hypothesεs.

Note that both thε newly received bαtion hypothesεs and thε prevbus loαtion hypothesεs that are updated (i.e., extrapolated) and still remain in the hypothesis analyzer 1332 will be denotεd as "current bαtion hypotheses" or "currently aαive loαtion hypotheses". The modules within the location hypothesis analyzer 1332 usε varbus types of appliαtion specific knowledge likely substantially independent from the computations by the FOMs 1224 when providing the corresponding original loαtioπ hypotheses. That is, since it is aspeα of at least onε embodiment of the present inventbn that the FOMs 1224 bε relatively straightforward so that they may be εasily to modified as well as added or deleted, thε processing, for example, in thε hypothεsis analyzer 1332 (as with the context adjuster 1326) is intended to compensate, when necessary, for this straightforwardness by providing substantially generic MS bαtion processing αpabilities that an require a greater breadth of appliαtbn understanding related to wireless signal charaαeristiα of the coverage area 120.

Accordingly, the hypothesis analyzer 1332 may apply varbus heuristics that, for example, change the confidence in a loαtion hypothesis depending on how wεll the loαtion hypothesis (and/or a series of loαtion hypotheses from e.g., the same FOM 1224): (a) conforms with the laws of physics, (b) conforms with known charaαeristiα of location signature clusters in an area of the bcation hypothesis MS 140 estimatε, and (c) conforms with highly likely heuristic constraint knowledge, in particular, as illustrated best in Fig.7, the bαtion hypothesis analyzer 1332 may utilize at least one of a blackboard system and/or an expert system for applying various appliαtion specific heuristiα to the loαtion hypotheses output by the context adjuster 1326. More precisely, the loαtion hypothesis analyzer 1332 includes, in one embodiment, a blackboard manager for managing processes and data of a blackboard system. Additionally, note that in a second embodiment, where an expert system is utilized instead of a blackboard system, the location hypothεsis analyzer provides an expert system inference engine for the expert system. Note that additional detail on these aspens of the inventbn are provided hereinbelow. Additionally, note that the hypothesis analyzer 1332 may aαivate one or more extrapolation procedures to extrapolate target MS

140 loαtioπ hypotheses already processed. Thus, when one or more new bcation hypothesεs are suppliεd (by the context adjuster 1224) having a substantially more recent timestamp, the hypothesis analyzer may invoke an extrapolation module (i.e., loαtion extrapolator 1432, Fig.7) for adjusting any previous bcation hypotheses for the same target MS 140 that are still being used by the loαtbπ hypothesis analyzer so that all target MS bαtion hypotheses (for the same target MS) being concurrently analyzed are presumed to be for substantially the same time. Accordingly, such a prevbus bcation hypothesis that is, for example, 15 seconds older than a newfy supplied loαtbn hypothesis (from perhaps a different FOM 1224) may have both: (a) an MS bαtion estimate changed (e.g, to account for a movemεnt of the target MS), and (b) its confidence changed (e.g., to refleα a reduced confidence in the accuracy of the loαtbn hypothesis).

It is important to note that the architeαure of the present inventbn is such that the hypothesis analyzer 1332 has an extεnsiblε architecture. That is, additional loαtion hypothεsis analysis modules may bε εasily integrated into the hypothesis analyzer 1332 as further understanding regarding the behavior of wireless signals within the service area 120 becomes available. Conversely, some analysis modules may not be required in areas having relatively predictable signal patterns. Thus, in such service areas, such unnecessary modules may be εasily removed or not even developed..

Most Likelihood Estimator Introduction The most likelihood estimator 1344 is a module for determining a "most likely" loαtion estimatε for a targεt MS being bated by the loation eπginε 139. The most likelihood estimator 1344 receives a colleαion of aαive or relevant bαtion hypotheses from the hypothesis analyzer 1332 and uses thesε bαtion hypotheses to determine one or more most likely estimates for the target MS 140. Still referring to the hypothεsis evaluator 1228, it is important to note that not all the above mentioned modulεs are required in all embodiments of the present inventbn. In particular, for some coveragε areas 120, thε hypothεsis analyzer 1332 may be unnecessary. Accordingly, in such an embodiment, the enhanced loαtion hypothesis output by the context adjuster 1326 are providεd directly to the most likelihood estimator 1344.

Control and Output Gating Modules

A fourth funαional group of loαtioπ εnginε 139 modules is thε control and output gating modulεs which includes the bαtbn center control subsystem 1350, and the output gateway 1356. The loαtion control subsystem 1350 provides the highest lεvεl of control and monitoring of the data processing performed by the bαtion center 142. In particular, this subsystem performs the folbwing f unαbns:

(a) controls and monitors bαtion estimating processing for each target MS 140. Note that this includes high lεvel exception or error handling functions;

(b) receives and routes external information as necessary. For instance, this subsystem may receive (via, e.g, thε public telephone switching network and Internet 1362) such environmental information as increased signal noise in a particular service are due to increase traffic, a change in weather conditions, a basε station 122 (or othεr infrastruαure provisioning), chaπgε in operation status (e.g., operational to inaαive);

(c) receives and directs loαtion processing requests from othεr loαtion centers 142 (via, e.g., the Internet);

(d) performs accounting and billing procedures;

(e) interacts with loαtion center operators by, for example, receiving operator commands and providing output indicative of processing resources being utilized and malfunctions;

(f) provides access to output requirements for varbus applications requesting bαtion estimates. For examplε, an Internet loαtioπ request from a trucking company in Los Angelεs to a bαtion cεnter 142 in Denver may only want to know if a particular truck or driver is within thε Denver area. Alternatively, a bαl medial rescue unit is likely to request a precise a bαtion estimate as possible. Note that in Fig.6 (a) - (d) abovε are, at least at a high levεl, performed by utilizing the operator interface 1374.

Referring now to the output gateway 1356, this module routes target MS 140 bαtion estimates to the appropriate loαtbn application(s). For instance, upon receiving a loαtion estimatε from the most likelihood estimator 1344, the output gateway 1356 may determine that thε loαtion estimate is for an automobile being tracked by the police and therefore must be provided must be provided according to the particular protocol. System Tuning and Adaptation: The Adaptation Enginε

A fifth fuπαional group of loαtion engine 139 modules provides the ability to enhance the MS bating reliability and/or accuracy of the present invention by providing it with the capability to adapt to particular operating configurations, operating conditions and wireless signaling environments without performing intensive manual analysis of the performance of various embodimεnts of thε loαtion engine 139. That is, this f unαbnal group automatiαlly enhances the performance of the loαtion engine for bating MSs 140 within a particular coverage area 120 using at least one wireless network infrastruαure therein. More precisely, this funαional group allows the present invention to adapt by tuning or optimizing certain system parametεrs according to loαtioπ engine 1 9 bαtion estimate accuracy and reliability.

Thεre are a numbεr loαtion engine 139 system parameters whose values affeα bαtioπ estimation, and it is an aspeα of the present inventbn that the MS loαtion processing performed should become increasingly better at bating a target MS 140 not only through building an increasingly more detailed model of thε signal charaαeristiα of loαtion in the coverage area 120 such as discussed above regarding the loαtioπ signature data base 1320, but also by providing automated capabilities for the loαtion center processing to adapt by adjusting or "tuning" the values of such loαtion center system parameters.

Accordingly, the present invention includes a module, denoted herein as an "adaptation engine" 1382, that performs an optimization procedure on the loαtion center 142 system paramεters either periodically or concurrently with thε operation of the ioαtion center in estimating MS locations. That is, the adaptation enginε 1382 direαs the modifications of the system parameters so that the loαtbn engine 139 increases in overall accuracy in bating target MSs 140. In one embodiment, the adaptation engine 1382 includes an embodiment of a genetic algorithm as the mechanism for modifying the system paramεters. Genetic algorithms are basically search algorithms based on the mechanics of natural gεnεtiα. Thε genetic algorithm utilized herein is included in the form of pseudo code in APPENDIX B. Note that to apply this genεtic algorithm in thε context of the loαtion enginε 139 architeαure only a "coding scheme" and a "fitness funαion" are required as one skilled in thε art will appreciate. Moreover, it is also within the scopε of thε presεnt invention to use modified or different adaptive and/or tuning mechanisms. For further information regarding such adaptive mechanisms, the folbwing references are incorporated herein by reference: Goldberg, D. E. (1989). Genεtic algorithms for search, optimization, and machine learning. Reading, MA: Addison-Wesley Publishing Company; and Holland, j. H. (1975) Adaptation in natural and artificial systems. Ann Arbor, Ml: The University of Michigan Press.

Implementations of First Order Models Further descriptions of various first order models 1224 are provided in this sεction.

Distancε First Ordεr Models (TOA/TDOA)

As discussed in the Location Centεr Architecture Overview settion hεrεiπ above, distancε modεls determine a presumed direαion and/or distance that a target MS 140 is from one or more base stations 122. In some embodiments of distance models, the target MS bcation estimate(s) generated are obtained using radio signal analysis techniques that are quite general and therefore are not capable of taking into account the peculiarities of the topography of a particular radio coverage area. For example, substantially ail radio signal analysis techniques using conventional procedures (or formulas) are based on "signal characteristic measurements" such as:

(a) signal timing mεasurements (e.g., TOA and TDOA),

(b) signal strength measurements, and/or (c) signal angle of arrival measurements.

Furthermore, such signal analysis techni ues are likely predicated on certain very general assumptions that can not fully account for signal attenuation and multipath duε to a particular radio coverage area topography.

Taking CDMA or TDMA base station network as an example, each base station (BS) 122 is required to εmit a constant signal-strength pilot channel pseudo-noisε (PN) sequence on the forward linkchaπnεl identifiεd uniquely in the network by a pilot sequeπcε offsεt and frequεncy assignment. It is possiblε to usε thε pilot channεls of thε aαivε, candidate, neighboring and remaining sets, maintained in the target MS, for obtaining signal charaαeristic measurements (e.g., TOA and/or TDOA measurements) between the target MS 140 and the base stations in one or more of these sets.

Based on such signal charaαeristic measurements and the speεd of signal propagation, signal charaαeristic ranges or range differences related to the loαtioπ of the targεt MS 140 π be calculated. Using TOA and/or TDOA ranges as exemplary, thesε ranges can then be input to either the radius-radius multilateration or the time difference multilateration algorithms aiong with the known positions of the corresponding base stations 122 to thereby obtain one or more location estimatεs of thε targεt MS 140. For εxa ple, if there are, four base stations 122 in the active sεt, the target MS 140 may cooperate with each of the base stations in this set to provide signal arrival time measurements. Accordingly, each of the resulting four sets of three of thesε basε stations 122 may bε usεd to providε an εsti ate of the target MS 140 as one skilled in the art will understand. Thus, potentially (assuming the measurements for each set of threε basε stations yiεids a fεasibiε bcation solution) there are four estimates for the location of the target MS 140. Further, since such measurements and BS 122 positions can be sent eithεr to the network or the target MS 140, locatbn can be determined in eithεr entity.

Sincε many of the signal measurements utilized by embodiments of distance models are subject to signal attenuation and multipath due to a particular area topography. Many of thε sεts of basε stations from which targεt MS bcation estimates are desired may result in either no location estimate, or an inaccurate bcation εstimate.

Accordingly, some embodimεnts of distancε FOMs may attempt to mitigate such ambiguity or inaccuracies by, e.g., identifying discrepancies (or consistencies) between arrival time measurements and other measuremεπts (ε.g., signal strength), these discrepancies (or consistencies) may be used to filter out at least those signal mεasurements and/or generated location estimates that appear less accurate. In particular, such identifying may filtering can be performed by, for example, an expert system residing in the distance FOM.

A second approach for mitigating such ambiguity or confliαing MS location estimates is particularly novel in that each of the target MS location estimatεs is used to generate a location hypothesis regardless of its apparent accuracy. Accordingly, thesε bcation hypotheses are input to an alternative embodiment of the context adjuster 1326 that is substantially (but not identical to) the context adjuster as described in detail in APPENDIX D so that each location hypothesis may be adjusted to enhancε its accuracy. In contradistinction to the embodiment of the context adjuster 1326 of APPENDIX D, where each bcation hypothesis is adjusted according to past performance of its generating FOM 1224 in an area of the initial location estimate of the location hypothesis (the area, e.g., determined as a funαion of distance from this initial locatbn estimatε), this alternative embodiment adjusts each of the location hypotheses generated by a distance first order model according to a past performance of the model as applied to signal charaαeristic measurements from the same set of base stations 122 as were used in generating the bcation hypothesis. That is, instead of only using only an identification of the distance model (i.e., its FOMJD) to, for example, retriεvε archived location estimates generated by the model in an area of the location hypothesis' estimatε (whεn determining the model's past performance), the retrieval retrieves only the archived bcation estimatεs that are, in addition, derived from the signal characteristics measurεmεnt obtained from the same colleαion of base stations 122 as was used in generating the location hypothesis. Thus, the adjustment performed by this embodiment of the context adjuster 1326 adjusts according to the past performance of the distance model and the collection of base stations 122 used.

Coverage Area First Order Model

Radio coverage area of individual base stations 1 2 may be used to generate location εstimates of the target MS 140. Although a first order model 1224 based on this notion may be less accurate than other techniques, if a reasonably accurate RF coveragε area is known for each (or most) of the base stations 122, then such a FOM (denoted hereinafter as a "coverage area first order model" or simply "coverage area model") may be very reliable. To determine approximate maximum radio frequency (RF) location coverage areas, with respect to BSs 122, antennas and/or sector coveragε areas, for a given class (or classes) of (ε.g., CDMA or TDMA) mobiiε statbπ(s) 140, bcation covεrage should be based on an MS's ability to adequately detect the pilot channel, as opposed to adequate signal quality for purposes of carrying user-acceptable traffic in the voice channel. Note that more energy is necessary for traffic channel aαivity (typically on the order of at least -94 to -104 dBm recεived signal strength) to support voice, than energy needed to simply detect a pilot channel's presence for location purposes (typically a maximum weakest signal strength range of between -104 to -110 dBm), thus the "Location Coverage Area" will generally be a larger area than that of a typical "Voice Coveragε Area", although industry studiεs havε found some occurrences of "no-coverage" areas within a larger covered area. An example of a covεragε area including both a "dead zone", i.e., area of no coveragε, and a "notch" (of also no coverage) is shown in Fig. 15.

The approximate maximum RF coverage area for a given seαor of (more generally angular range about) a base station 122 may be represented as a set of points represεπting a polygonal area (potentially with, e.g., holes therein to account for dead zones and/or notchεs). Notε that if such polygonal RF covεragε area representations can be reliably determined and maintained over time (for one or more BS signal power level settings), then such representations can be used in providing a sεt theoretic or Venn diagram approach to estimating the location of a target MS 140. Coverage area first order models utilize such an approach. One e bodimεπt, a covεragε area modεl utilizεs both the dεteαioπ and non-detεαioπ of basε stations 122 by thε targεt MS 140 (conversely, of the MS by one or more base stations 122) to define an area whεre thε targεt MS 140 may likεly bε. A relatively straightforward application of this technique is to:

(a) find all areas of iπtεrseαion for base station RF coverage area representations, wherein: (i) the corresponding base stations are on-line for communicating with MSs 140; (ii) the Rf coverage area representations are deemed reliable for the power levels of the on-line base stations; (iii) the on-line base stations having reliable coveragε area representations can be deteαed by thε targεt MS; and (iv) εach interseαion must include a predetermined number of the reliable RF coverage area representations (e.g., 2 or 3); and

(b) obtain new locatbn estimatεs by subtracting from εach of thε areas of interseαion any of the reliable RF coverage area representations for base stations 122 that can not be deteαεd by thε target MS.

Accordingly, the new areas may be used to generate bcation hypotheses.

Location Base Station First Order Model

In the location base station (LBS) model (FOM 1224), a database is accessεd which contains εlettrical, radio propagation and coverage area charaαeristics of each of the bcation base stations in the radio coveragε area. The LBS model is an aαive model, in that it can probε or εxcitε one or more particular LBSs 152 in an area for which thε targεt MS 140 to bε located is suspeαed to be placed. Accordingly, the LBS model may recεive as input a most likely targεt MS 140 location estimate previously output by the loαtion engiπε 139 of thε present invεntion, and use this loαtion εstimatε to determine which (if any) LBSs 152 to activate and/or deaαivate for enhancing a subsequent location estimatε of the target MS. Moreover, the feedback from the activated LBSs 152 may be provided to other FOMs 1224, as appropriate, as well as to the LBS model. However, it is an important aspeα of the LBS model that when it receives such feedback, it may output loαtioπ hypotheses having relatively small target MS 140 location area estimates about thε active LBSs 152 and each such location hypothesis also has a high confidencε value indicative of the target MS 140 positively being in the corresponding bcation area estimate (e.g., a confidence value of .9 to + 1), or having a high confidence value indicative of the target MS 140 not being in the corresponding bcation area εstimate (i.e., a confidence value of -0.9 to -I). Note that in some embodiments of the LBS model, thεsε εmbodimεnts may havε functionality similar to that of the coveragε area first order model describεd above. Further note that for LBSs within a neighborhood of the target MS wherein there is a reasonable chance that with movement of the target MS may be detected by thεsε LBSs, such LBSs may be requested to periodically aαivate. (Note, that it is not assumed that such LBSs have an on-line external power source; e.g., some may be solar powered). Moreover, in the case where an LBS 152 includes sufficient elεttronics to carry voicε communication with thε target MS 140 and is the primary BS for the target MS (or alternatively, in the aαive or candidate set), then the LBS model will not deaαivate this particular LBS during its procedure of aαivating and deactivating various LBSs 152. Stochastic First Order Model

The stochastic first order models may use statistical prediαion techniques such as principle decomposition, partial least squares, partial least squares, or other regression techniques for predicting, for example, expeαed minimum and maximum distances of the target MS from one or more base stations 122, e.g, Bollεngεr Bands. Additionally, some embodiments may use Markov processes and Random Walks (prediαed incremental MS movement) for determining an expeαed area within which the target MS 140 is likely to be. That is, such a process measures the incremental time differences of each pilot as the MS moves for predicting a sizε of a location area estimate using past MS estimates such as the verifiεd location signatures in thε bcation signature data basε 1320.

Pattern Recognition and Adaptive First Order Models

It is a particularly important aspεα of thε presεnt invεntion to provide: (a) onε or more FOMs 1224 that generate target MS 140 location estimatεs by using pattern recognition or associativity techniques, and/or (b) one or more FOMs 1224 that are adaptivε or trainable so that such FOMs may generate increasingly more accurate target MS location estimatεs from additional training.

Statistically Basεd Pattern Recognition First Order Models

Regarding FOMs 1224 using pattern recognition or associativity techniques, thεre are many such techniques available. For examplε, there are statistically basεd systems such as "CART" (anacronym for Classification and Regression Trees) by ANGOSS Software International Limited of Toronto, Canada that may be usεd for automatiαlly for dεteαing or recognizing patterns in data that were uπprovidεd (and likely previously unknown). Accordingly, by imposing a relatively fine mesh or grid of cells of the radio coverage area, wherein each cell is entirely within a particular area type categorization such as the transmission area types (discussed in the section, "Coverage Area: Area Types And Their Determination" above), the verified location signature clusters within the cells of each area type may be analyzed for signal charaαeristic patterns. If such patterns are found, then they can be used to identify at least a likely area type in which a target MS is likely to be bated. That is, onε or more bcation hypotheses may be generated having target MS 140 location estimatεs that covεr an area having the likely area typε wherein the target MS 140 is located. Further note that such statistically based pattern recognition systems as "CART" iπcludε software code generators for generating expert system software embodiments for recognizing the patterns deteαed within a training set (ε.g., the verified location signature clusters).

Accordingly, although an embodimεnt of a FOM as dεscribεd here may not be excεεdiπgly accurate, it may be very reliable. Thus, since a fundamental aspect of the present invention is to use a plurality MS location techniques for generating location estimates and to analyze the generated estimates (likely after being adjusted) to deteα patterns of convergence or clustering among the estimates, even large MS location area estimates are useful. For example, it can be the case that four different and relatively large MS location estimatεs, εach having very high reliability, have an area of interseαion that is acceptably precise and inherits the very high reliability from each of the large MS location estimates from which the intersection area was derived. A similar statistically based FOM 1224 to the one abovε may be provided wherein the radio coverage area is dεcomposed substantially as above, but addition to using the signal charaαeristics for deteαing useful signal patterns, the specific identifications of the base station 122 providing the signal charaαeristics may also be used. Thus, assuming there is a sufficient density of verified location signature clusters in some of the mesh cells so that thε statistical pattern recognizer can detect patterns in the signal characteristic measurements, an expert system may be genεrated that outputs a targεt MS 140 bcation εstimate that may provide both a reliable and accurate location estimatε of a targεt MS 140.

Adaptive/Trainable First Order Models

Adaptive ! rainable First Ordεr Modεls

Thε tεr adaptivε is used to describε a data procεssing component that can modify its data processing behavior in rεsponsε to certain inputs that are used to change how subsequent inputs are processεd by the component. Accordingly, a data processing component may be "explicitly adaptive" by modifying its behavior according to the input of explicit instructions or control data that is input for changing the component's subsequent behavior in ways that are predictable and expεcted. That is, the input encodes explicit instructions that are known by a usεr of the component. Alternatively, a data processing component may be "implicitly adaptive" in that its behavior is modified by other than instructions or control data whose meaning is known by a user of the component. For example, such implicitly adaptive data processors may learn by training on εxamplεs, by substantially uπguidεd exploration of a solution space, or other data driven adaptive strategies such as statistically generated decision treεs. Accordingly, it is an aspeα of the present invention to utilize not only explicitly adaptive MS bcation estimators within FOMs 1224, but also implicitly adaptive MS location estimators. In particular, artificial neural networks (also denoted neural nets and ANNs herein) are usεd in some embodiments as implicitly adaptive MS location estimators within FOMs. Thus, in the seαions below, neural net architeαures and their application to locating an MS is described.

Artificial Neural Networks For MS Location

Artificial neural networks may bε particularly usεful in developing one or more first order models 1224 for bating an MS 140, siπcε, for example, ANNs can be trained for classifying and/or associativeiy pattern matching of various RF signal measurements such as the bcation signatures. That is, by training one or more artificial neural nets using RF signal measurements from verified loαtions so that RF signal transmissions charaαeristics indicative of particular locations are associated with their corresponding loαtions, such trained artificial nεural nets can be used to provide additional target MS 140 location hypotheses. Moreover, it is an aspeα of the present invention that the training of such artificial neural net based FOMs (ANN FOMs) is provided without manual intervention as will be discussed hereinbelow. Artificial Neural Networks That Converge on Near Optimal Solutions

It is as an aspect of the present invention to use an adaptive neural network architecture which has the ability to εxplore the parameter or matrix weight space corresponding to a ANN for determining new configurations of weights that reduce an objective or error function indicating the error in the output of the ANN over some aggregate set of input data ensembles. Accordingly, in one embodimεnt, a gεnetic algorithm is used to provide such an adaptation αpability. However, it is also within the scope of the present invention to use other adaptive techniques such as, for examplε, simulated aπnεaling, casαdε correlation with multistarts, gradient descent with multistarts, and trunαted Newton's method with multistarts, as one skilled in the art of neural network computing will understand.

Artificial Neural Networks as MS Location Estimators for First Ordεr Modεls Although there have bεεn substantial advances in artificial neural net computing in both hardware and software, it can be difficult to choose a particular ANN architeαure and appropriate training data for yielding high quality results. In choosing a ANN architeαure at least the following three criteria are chosen (either implicitly or explicitly):

(a) a learning paradigm: i.e., does the ANN require supervised training (i.e., being provided with indications of corrett and incorreα performance), unsupervised training, or a hybrid of both (sometimes referred to as reinforcement); (b) a colleαion of learning rules for indicating how to update the ANN;

(c) a learning algorithm for using the learning rules for adjusting the ANN weights. Furthermore, there are other implementation issues such as:

(d) how many layers a artificial neural net should have to effectively capture thε patterns embedded within thε training data. For examplε, thε benefits of using small ANN are many, less costly to implement, faster, and tend to generalize better because they avoid overfitting weights to training patterns. That is, in general, more unknown parameteπ

(weights) induce more local and global minima in thε error surface or space. However, the error surface of smaller nets can be very rugged and have few good solutions, making it difficult for a local minimization algorithm to find a good solution from a random starting point as one skilled in the art will understand;

(e) how many units or neurons to provide per layεr; (f) how largε should the training set be presented to provide effective generalization to non-training data

(g) what type of transfer funαions should be used.

However, the architecture of the present invention allows substantial flexibility in the implemεntation of ANN for FOMs 1224. In particular, thεrε is no nεεd to choose only one artificial neural net architeαure and/or implementation in that a plurality of ANNs may be accommodated by the architeαure of the location engine 139. Furthermore, it is important to keep in mind that it may not be necessary to train a ANN for a FOM as rigorously as is done in typical ANN applications since the accuracy and reliability in estimating the location of a targεt MS 140 with the present invention comes from synergistically utilizing a plurality of different MS location estimators, each of which may be undesirable in terms of accuracy and/or reliability in some areas, but when their estimates are synεrgistically usεd as in the locatbn engine 139, accurate and reliable location estimates π be attained. Accordingly, one embodiment of the present invention may have a plurality of moderately well trained ANNs having different neural net architeαures such as: multilayer perceptions, adaptive resonance theory models, and radial basis funαion networks.

Additionally, many of the above mentioned ANN architeαure and implemεntation dεcisioπs can be addressed substantially automatically by various commercial artificial neural net devebpmεnt systems such as: "NEUROGENETIC OPTIMIZER" by BioComp Systems, wherein genεtic algorithms are used to optimize and configure ANNs, and artificial nεural network hardware and software produtts by Accurate Automation Corporation of Chattanooga, Tεnnεssee, such as "ACCURATE AUTOMATION NEURAL NETWORK TOOLS.

Artificial Neural Network Input and Output

It is worthwhile to discuss the data representatbns for the inputs and outputs of a ANN used for generating MS location estimates. Regarding ANN input representations, recall that the signal procεssing subsystem 1220 may provide various RF signal mεasurements as input to an ANN (such as the RF signal measurements derived from verified bcation signatures in thε bcation signature data basε 1320). For εxample, a representation of a histogram of the frequency of occurrence of CDMA fingers in a time delay vs. signal strength 2-dimensional domain may be provided as input to such an ANN. In particular, a 2-dimensional grid of signal strength versus time delay bins may be provided so that received signal measuremεnts are slotted into an appropriate bin of the grid. In one embodiment, such a grid is a six by six array of bins such as illustrated in the left portion of Fig. 1 . That is, each of the signal strength and timε dεlay axises are partitioned into six ranges so that both thε signal strength and the time delay of RF signal measurements can be slotted into an appropriate range, thus determining the bin.

Notε that RF signal measurement data (i.e., location signatures) slotted into a grid of bins provides a convenient mechanism for classifying RF measurements recεived over timε so that when each new RF measurement data is assigned to its bin, a counter for the bin can be incremented. Thus in one embodimεnt, the RF measurements for each bin can be represented piαorially as a histogram. In any case, once the RF measurements have bεen slotted into a grid, various filters may be applied for filtering outliers and noise prior to inputting bin values to an ANN. Further, varbus amounts of data from such a grid may be provided to an ANN. In one embodimεnt, thε tally from εach bin is providεd to an ANN. Thus, as many as 108 valuεs could bε input to the ANN (two values defining each bin, and a tally for the bin). However, other representations are also possible. For instance, by ordering the bin tallies linearly, only 36 neεd bε providεd as ANN input. Alternatively, only representations of bins having the highεst tallies may be provided as ANN input. Thus, for example, if the highest 10 bins and their tallies were provided as ANN input, then only 20 inputs neεd be provided (i.e., 10 input pairs, each having a single bin identifier and a corresponding tally). in addition, note that the signal processing subsystem 1220 may also obtain thε identifications of othεr basε statbns 122 (152) for which their pilot channels can be dεtεαεd by thε target MS 140 (i.e., the forward path), or for which the base stations can deteα a signal from the target MS (i.e., the revεrse path). Thus, in order to effectively utilize substantially all pertinent bcation RF signal measurements (i.e., from location signature data derived from communications between the target MS 140 and the base station infrastruαure), a technique is provided wherein a plurality of ANNs may be aαivated using various portions of an εnse ble of loαtion signature data obtained. Howεvεr, before describing this tεchniquε, it is worthwhile to note that a naive strategy of providing input to a single ANN for locating target MSs throughout an area having a large number of base stations (e.g., 300) is likely to be undesirable. That is, given that εach base station (antenna sector) nearby the target MS is potentially able to provide the ANN with location signature data, thε ANN would have to be extremely large and therefore may require inordinate training and retraining. For examplε, sincε thεre may be approximately 30 to 60 ANN inputs per bcation signature, an ANN for an area having even twenty base stations 122 can require at least 600 input neurons, and potentially as many as 1,420 (i.e., 20 base stations with 70 inputs per base station and one input for every one of possibly 20 additional surrounding base stations in the radio coverage area 120 that might be able to deteα, or be detetted by, a target MS 140 in the area corresponding to the ANN). Accordingly, the technique described herein limits the numbεr of input neurons in each ANN construαed and generates a larger number of these smaller ANNs. That is, εach ANN is trainεd on loαtion signature data (or, more precisely, portions of locatbn signature clusters) in an area AANN (hereinafter also denoted the "net area"), whεrein each input neuron receives a unique input from either:

(Al) location signature data (e.g., signal strength/time delay bin tallies) corresponding to transmissions between an MS 140 and a relativεly small number of basε stations 122 in thε area AANN For instance, bcation signature data obtained from, for example, four base stations 122 (or antenna seαors) in thε area A NN., Notε, εach bcation signature data cluster includes fields describing the wireless communication devicεs used; e.g., (i) the make and model of the target MS; (ii) the current and maximum transmission power; (iii) the MS battery power (instantaneous or current); (iv) the base station (seαor) current powεr level; (v) the base station make and model and revision level; (vi) the air interface type and revision level (of, e.g., CDMA, TDMA or AMPS).

(A2) a discrete input corresponding to each base station 122 (or antenna sector 130) in a larger area containing AANN, wherein each such input hεr indicates whether the corresponding base station (seαor): (i) is on-line (i.e., capable of wireless communication with MSs) and at least its pilot channel signal is detected by the target MS 140, but the base station (sector) does not deteα the target MS; (ii) is on-line and the base station (seαor) detεαs a wireless transmission from the target MS, but the target MS does not deteα the base station (sector) pilot channel signal; (iii) is on-line and the base station (seαor) detects the target MS and the base station (seαor) is deteαed by the target MS; (iv) is on-line and the base station (seαor) does not deteα the target MS, the base station is not deteαed by the target MS; or (v) is off-line (i.e., incapable of wireless co muniαtion with one or more MSs). Notε that (i)-(v) are hereinafter refεrrεd to as the "deteαion states."

Thus, by generating an ANN for each of a plurality of net areas (potentially overlapping), a local environmental change in the wireless signal charaαeristics of one net area is unlikely to affeα more than a small number of adjacent or overlapping net areas. Accordingly, such local environmental changes can be reflected in that only the ANNs having net areas affected by the local change need to be retrained. Additionally, note that in cases where RF measurements from a target MS 140 are received across multiple net areas, multiple ANNs may be aαivated, thus providing multiple MS location estimatεs. Further, multiple ANNs may be aαivated when a location signature cluster is recεived for a target MS 140 and location signature cluster includes location signature data corresponding to wireless transmissions between the MS and, e.g., more base statbns (antenna seαors) than needed for the colleαion B described in the previous sεαion. That is, if εach collection B identifies four base stations 122 (antenna sectors), and a received bcation signature cluster includes location signature data corresponding to five base statbns (antenna sectors), then there may be up to five ANNs aαivated to each generate a loαtion estimate.

Moreover, for each of the smaller ANNs, it is likely that the πumbεr of input nεurons is on thε order of 330; (i.e., 70 inputs per each of four bcation signatures ( i.e., 35 inputs for the forward wireless communications and 35 for the reverse wireless communications), plus 40 additional discrete inputs for an appropriate area surrounding m, plus 10 inputs related typε of MS, power levels, etc. However, it is important to note that the number of base stations (or antenna seαors 130) having corresponding location signature data to be provided to such an ANN may vary. Thus, in some subareas of the coverage area 120, location signature data from five or more base stations (antenna sectors) may be used, whereas in other subareas three (or less) may be used. , Regarding the output from ANNs used in genεrating MS bcation εsti atεs, thεre are also numerous options. In one embodiment, two values corresponding to the latitude and longitude of the target MS are estimated. Alternatively, by applying a mesh to the coverage area 120, such ANN output may be in the form of a row value and a column value of a particular mesh cell (and its corresponding area) whεre the target MS is estimated to be. Note that the cell sizes of the mesh need not be of a particular shape nor of uniform size. However, simple non-oblong shapes are desirable. Moreover, such cells should be sized so that each cell has an area approximately the size of the maximum degree of locatbn precision desired. Thus, assuming square mesh cells, 250 to 350 feεt pεr cell side in an urban/suburban area, and 500 to 700 feεt per cell side in a rural area may be desirable.

Artificial Neural Network Training

The following are steps provide one embodimεnt for training a location estimating ANN according to the presεnt invεntion.

(a) Determine a collection, C, of clusters of RF signal measurements (i.e., locatbn signatures) such that each cluster is for RF transmissions between an MS 140 and a common sεt, B, of basε stations 122 (or antenna seαors 130) such the measurements are as described in (Al) above. In one embodiment, the colleαion C is determined by interrogating the loαtion signature data base 1320 for verifiεd bcation signature clusters stored therein having such a common set B of base stations (antenna seαors). Alternatively in another εmbodiment, note that the colleαion C may be determined from (i) the existing engineering and planning data from service providers who are planning wireless cell sites, or (ii) service provider test data obtainεd using mobilε test sεts, accεss probes or other RF field measuring devices. Note that such a colleαion B of base stations (antenna seαors) should only be created when thε set C of verified location signature clusters is of a sufficient size so that it is expected that the ANN can be effectively trained.

(b) Determine a colleαion of base stations (or antenna seαors 130), B', from the common set B, wherein B' is small (e.g., four or five). (c) Determine the area, A NN, to be associated with colleαion B' of basε stations (antenna seαors). In one embodiment, this area is seleαed by determining an area containing the set L of locations of all verified location signature clusters determinεd in step (a) having location signature data from each of the base stations (antenna seαors) in the colleαion B'. More prεcisεly, thε area, AANN, may be determined by providing a covering of the locations of L, such as, e.g., by cells of a mesh of appropriately fine mesh size so that each cell is of a size not substantially larger than the maximum MS loαtion accuracy desired.

(d) Determine an additional colleαion, b, of base stations that have been previously dεtεαεd (and/or are likely to be deteαed) by at least one MS in the area AANN.

(e) Train the ANN on input data related to: (i) signal charaαeristic measurements of signal transmissions between MSs 140 at verified locations in AAHN, and the base stations (antenna seαors) in the colleαion B', and (ii) discrete inputs of deteαion states from the base stations represented in the colleαion b. For examplε, train the ANN on input including: (i) data from verifiεd bcation signatures from each of the base stations (antenna seαors) in the colleαion B', wherein each location signature is part of a cluster in the colleαion C; (ii) a collection of discrete values corresponding to other base stations (antenna seαors) in the area b containing the area, AANN.

Regarding (d) immediately above, it is important to note that it is believed that less accuracy is required in training a ANN used for generating a location hypothesis (in a FOM 1224) for the present invention than in most applications of ANNs (or other trainable/adaptive components) since, in most circumstances, when signal measurements are provided for locating a target MS 140, the bcation enginε 139 will aαivat a plurality location hypothεsis generating modules (corresponding to one or more FOMs 1224) for substantially simultaneously genεrating a plurality of diffεrent bcation εstimatεs (i.e., hypotheses). Thus, instead of training each A N so that it is expeαed to be, e.g., 92% or higher in accuracy, it is believεd that synergies with MS bcation estimates from other bcation hypothesis genεrating compoπεnts will effectively compensate for any reduced accuracy in such a ANN (or any other location hypothesis genεrating component). Accordingly, it is believed that training time for such ANNs may be reduced without substantially impacting the MS locating performance of the bcation engine 139.

Finding Near-Optimal Location Estimating Artificial Neural Networks

In one traditional artificial neural network training process, a relatively tedious set of trial and error steps may be performed for configuring an ANN so that training produces effective learning. In particular, an ANN may require configuring parameters related to, for example, input data scaling, test/training set classification, deteαiπg and removing unnecessary input variable seleαion. Howεver, thε present inventbn reduces this tedium. That is, the present invention uses mechanisms such as genεtic algorithms or other mechanisms for avoiding non-optimal but locally appealing (i.e., local minimum) solutions, and locating near-optimal solutions instead, in particular, such mechanism may be used to adjust the matrix of weights for the ANNs so that very good, near optimal ANN configurations may be found efficiently. Furthermore, since the signal processing system 1220 uses various types of signal processing filters for filtering the RF measuremεnts received from transmissions between an MS 140 and one or more basε stations (antenna sectors 130), such mechanisms for finding near-optimal solutions may bε applied to selεctiπg appropriate filters as well. Accordingly, in oπε embodiment of the presεnt invention, such filters are paired with particular ANNs so that the location signature data suppliεd to εach ANN is filtered according to a corresponding "filter description" for the ANN, wherein the filter description specifies the filters to be used on location signature data prior to inputting this data to the ANN. In particular, the filter description can define a pipεlinε of filters having a sequence of filters wherein for each two consecutive filters, f ι and f2 (f, preceding f2), in a filter description, the output of f, flows as input to . Accordingly, by encoding such a filter description togεther with its corresponding ANN so that the encoding can be provided to a near optimal solution finding mechanism such as a genetic algorithm, it is believed that enhanced ANN locating performance can be obtained. That is, the combined genetic codes of the filter description and the ANN are manipulated by the genεtic algorithm in a sεarch for a satisfaαory solution (i.e., location εrror estimates within a desired range). This process and system provides a mechanism for optimizing not only the artificial neural network architeαure, but also identifying a near optimal match between the ANN and one or more signal processing filters. Accordingly, thε following filters may be used in a filter pipeline of a filter description: Sobel, median, mean, histogram normalization, input cropping, neighbor, Gaussion, Weiner filters. One embodiment for implementing the genetic evolving of filter description and ANN pairs is provided by thε following stεps that may automatiαlly performed without substantial manual effort:

1) Creatε an initial population of concatenated genotypes, or genetic representations for each pair of an artificial neural networks and corresponding filter description pair. Also, provide seed parameters which guide the scope and charaαerization of the artificial neural network architeαures, filter seleαion and paramεters, genetic parameters and system control parameters.

2) Preparε the input or training data, including, for examplε, any scaling and normalization of thε data.

3) Build phεπotypεs, or artificial neural network/filter description combinations based on the genotypes.

4) Train and test the artificial neural network/filter description phεnorypε combinations to determinε fitnεss; ε.g., determine an aggregate bcation error .measurement for each network/filter description pheπotype. 5) Compare the fitnesses and/or errors, and retain the best network/filter dεscription phεnotypes.

6) Selett the best networks/filter descriptions in the phenotype population (i.e., the combinations with small errors).

7) Repopulatε the population of genotypes for the artificial neural networks and the filter descriptions back to a predetermined size using the seleαεd phεnotypes.

8) Combine the artificial neural network genotypes and filter description genotypes thereby obtaining artificial neural network/filter combination genotypes.

9) Mate the combination genotypes by exchanging genes or charaαeristics/features of the network/ filter combinations.

10) If system parameter stopping criteria is not satisfied, return to step 3. Note that artificial neural network genotypes may be formεd by selecting various types of artificial neural network architeαures suited to funαion approximation, such as fast back propagation, as well as charaαerizing several varieties of candidate transfer/aαivation funαions, such as Tanh, logistic, linear, sigmoid and radial basis. Furthermore, ANNs having complex inputs may be seleαed (as determined by a filter type in thε signal procεssing subsystem 1220) for thε genotypes. Examples of genetic parameters include: (a) maximum population size (typical default: 300), (b) generation limit (typical default: 50), (c) selection criteria, such as a certain percentage to survive (typical default: 0.5) or roulette wheel, (d) population refilling, such as random or cloning (default), (e) mating criteria, such as tail swapping (default) or two cut swapping, (f) rate for a choice of mutation criterion, such as random exchangε (dεfault: 0 5) or sεαion reversal, (g) population size of the coπαtenated artificial neural network/ filter combinations, (h) use of statistical seeding on the initial population to bias the random initialization toward stronger first order relating variables, and (i) neural node influence faαors, e.g., input nodes and hidden nodes. Such paramεters can be used as weighting faαors that influences the degree the system optimizes for accuracy versus network compactness. For εxamplε, an input nodε faαor greater than 0 provides a means to reward artificial neural networks construαed that use fewer input variables (nodes). A reasonable default value is 0.1 for both input and hidden nodε faαors.

Examples of neural net/filter description system control parameters include: (a) accuracy of modeling parameters, such as relativε accuracy, R-squared, mean squared error, root mean squared error or average absolute error (default), and (b) stopping criteria parameters, such as generations run, elapsed time, best accuracy found and population convergεncε.

Loαting a Mobilε Station Using Artificial Nεural Networks

When using an artificial neural network for estimating a location of an MS 140, it is important that thε artificial nεural network bε provided with as much accurate RF signal measurεmεnt data regarding signal transmissions between thε target MS 140 and the base station infrastruαure as possible. In particular, assuming ANN inputs as described hereinabove, it is desirable to obtain the deteαion states of as many surrounding base stations as possible. Thus, whenever the bcation engine 139 is requested to locate a target MS 140 (and in particular in an emergεncy context such as an emεrgency 911 call), the location center 140 automatically transmits a request to the wirelεss infrastructure to which the target MS is assigned for instructing the MS to raise its transmission powεr to full power for a short period of time (e.g., 100 milliseconds in a base station infrastruαure configuration an optimized for such requests to 2 seconds in a non-optimized configuration). Note that the request for a change in the transmission power ievεl of the target MS has a further advantagε for bcation requests such as emergency 911 that are initiated from the MS itself in that a first εnsεmblε of RF signal measurements can be provided to the bcation επgine 139 at the initial 911 calling power level and then a second ensemble of RF signal measurements can be provided at a second higher transmission power levεl. Thus, in onε εmbodimεnt of the present invention, an artificial neural network can be trained not only on the bcation signature cluster dεrived from either the initial wireless 911 transmissbns or the full power transmissions, but also on the differences between these two transmissions. In particular, the difference in the deteαion states of the discrete ANN inputs betwεen the two transmission power levels may provide useful additional information for more accurately estimating a bcation of a target MS. It is important to note that when gathεring RF signal measurements from a wireless base station network for locating MSs, the network should not be overburdenεd with location related traffic. Accordingly, notε that nεtwork bcation data requests for data particularly useful for ANN based FOMs is generally confined to the requests to the base stations in the immediate area of a target MS 140 whose location is desired. For instance, both collections of basε stations B' and b discussεd in the context of training an ANN are also the same collections of base stations from which MS locatbn data would be requested. Thus, the wireless network MS loαtion data requests are data driven in that the base stations to queried for loαtioπ data (i.e., the collections B' and b) are determined by previous RF signal measurement characteristics recorded. Accordingly, the selection of the colleαions β* and b are adaptable to changes in the wireless enviroπmεntal charaαeristics of the coverage area 120.

LOCATION SIGNATURE DATA BASE Before proceeding with a description of other levels of the present inventbn as described in (24.1) through (24J) above, in this sεαion further detail is provided regarding the loαtion signature data base 1320. Note that a brief description of the loαtbπ signature data base was provided above indicating that this data base stores MS loαtion data from verifiεd and/or known loαtions (optionally with additional known environmental charaαeristic values) for use in enhancing current targεt MS loαtbn hypotheses and for comparing archived location data with loαtbn signal data obtained from a current target MS. However, the data base management system functionality incorporated into the loαtion signature data base 1320 is an important aspeα of the present invention, and is therefore described in this seαion. In particular, the data basε management functionality described herein addresses a number of difficulties encountered in maintaining a large archive of signal processing data such as MS signal location data. Some of these difficulties on be described as follows:

(a) in many signal processing contexts, in ordεr to εffεαivεly utilizε archived signal processing data for enhancing the performance of a related signal processing application, there must be an large amount of signal related data in the archive, and this data must be adequately maintained so that as archived signal data becomes less useful to the corresponding signal processing appliαtion (i.e., the data becomes "inapplicable") its impact on the appliαtion should be correspondingly reduced. Moreover, as archive data becomes substantially inapplicable, it should be filtered from the archive altogether. However, the sizε of the data in the archive makes it prohibitive for such a process to be performed manually, and there may be no simple or straightforward techπiquεs for automating such impaα reduαion or filtering processes for inapplicable signal data; (b) it is sometimes difficult to determine the archived data to use in comparing with newly obtained signal processing application data; and (c) it is sometimes difficult to determine a useful technique for comparing archived data with newly obtained signal procεssing appliαtion data. It is an aspeα of the present invention that thε data base management functionality of thε loαtion signature data base 1320 addresses each of the difficulties mentioned immediately above. For example, regarding (a), the loαtion signature data base is "self cleaning" in that by associating a confidence value with each loc sig in the data base and by reducing or increasing the confidences of archived verified be sigs according to how well their signal charaαeristic data compares with newly received verifiεd loαtion signature data, the location signature data base 1320 maintains a consistency with newly verified loc sigs. The following data base management functional descriptions describe some of the more noteworthy funαions of the loαtion signature data base 1320. Note that there are varbus ways that these funαions may be embodiεd. So as to not overburden the reader here, the dεtails for one embodimεnt is providεd in APPENDIX C. Figs. 16a through 16c presεnt a table providing a brief description of the attributes of the bαtion signature data type stored in the bcation signature data basε 1320.

LOCATION SIGNATURE PROGRAM DESCRIPTIONS

Thε following program updates the random loc sigs in the location signature data base 1320. In one embodiment, this program is invoked primarily by the Signal Processing Subsystem.

Updatε Location signature Database Program

Update_Loc_Sig_DB(newJoc_obj, selection_criteria, loc_sig pop) /* This program updatεs loc sigs in thε loαtion signature data basε 1320. That is, this program updates, for example, at least the location information for verified random be sigs residing in this data base. The general strategy here is to use information (i.e., "new_loc_obj") received from a newly verified location (that may not yet be entered into the location signature data basε) to assist in determining if the previously stored random verified loc sigs are still reasonably valid to use for: (29.1) estimating a bcation fora given colleαion (i.e., "bag") of wireless (e.g., CDMA) location related signal charaαeristics received from an MS, (192) training (for example) adaptive loαtion estimators (and location hypothesizing models), and (293) comparing with wireless signal characteristics used in generating an MS location hypothesis by one of the MS bcation hypothesizing models (denoted first Order Models, or, FOMs). More precisely, sincε it is assumεd that it is more likely that the newεst location information obtained is more indicative of the wireless (CDMA) signal charaαeristics within some area surrounding a newly verified loαtion than thε vεrifiεd loc sigs (bαtion signatures) previously entered into the Loαtion Signature data base, such verified loc sigs are compared for signal characteristic consistency with the newly verified location information (object) input here for determining whether some of these "older" data base verifiεd loc sigs still appropriately characterize their associated locatbn. In particular, comparisons are itεrativεly adε hεre betweεn εach (targεt) loc sig "near" "new_bc_obj" and a population of be sigs in thε locatbn signature data base 1320 (such population typically including the loc sig for "new_loc_obj) for.

(29.4) adjusting a confidence faαor of the targεt loc sig. Note that εach such confidεncε faαor is in the range [0, . j with 0 being the lowest and I being the highest. Further note that a confidence factor here can be raisεd as wεll as lowered depεnding on how well the target loc sig matches or is consistent with the population of loc sigs to which it is compared. Thus, the confidence in any particular verified loc sig, LS, can fluttuate with succεssivε invocations of this program if thε input to the successive invocations are with location information geographically "near" LS. (29.5) remove oldεr vεrified loc sigs from use whose confideneε value is below a predetermined threshold. Note, it is intendεd that such predetermined thresholds be substantially automatically adjustable by periodically testing various confidencε faαor thresholds in a spεcifiεd geographic area to determine how wεll the eligible data base e sigs (for different thresholds) perform in agreeing with a number of verified be sigs in a "loc sig test-bed", wherein the test bed may bε composed of, for examplε, repeatable loc sigs and recent random verifiεd loc sigs.

Note that this program may be invoked with a (verified Anown) random and/or repεatablε loc sig as input.

Furthermore, the target loc sigs to be updated may be selεctεd from a particular group of loc sigs such as the random loc sigs or the repeatable loc sigs, such selεαion bεing determined according to the input paramεtεr, "selεαion criteria" while the comparison population may be designated with the input parameter, "bc_sig_pop". For example, to update confidence faαors of certain random be sigs near "new_bc_obj", "selεαion_criteria" may be given a value indicating, "USEJANDOM OC IGS", and "bc_sig_pop" may be given a value indiαting, "USE_REPEATABLE_L0C_S1GS".

Thus, if in a given geographic area, the repεatablε loc sigs (from, e.g., stationary transceivers) in thε area havε rεcεntly bεen updated, then by successively providing "new_bc_obj" with a loc sig for εach of thεsε rεpεatable loc sigs, the stored random e sigs can have their confidences adjusted.

Alternatively, in onε embodiment of thε presεnt invεntion, thε presεnt funαion may bε usεd for determining when it is desirable to update repεatablε loc sigs in a particular area (instead of automatically and periodically updating such repεatablε loc sigs). For example, by adjusting the confidencε faαors on repεatable loc sigs here provides a mεthod fordεtermiπing when repeatable be sigs for a given area should bε updated. That is, for εxample, when the area's avεragε confidεnce faαor for the repεatable e sigs drops below a given (potentially high) threshold, then the MSs that provide the repeatable loc sigs can be requested to respond with new ioc sigs for updating the data base. Note, however, that the approach presented in this funαioπ assumes that the repeatable bcation information in the location signature data base

1320 is maintained with high confidencε by, for example, frequent data base updating. Thus, the random bcation signature data base verified location information may be effectively compared against the repeatable loc sigs in an area. INPUT: new_bc_obj: a data representation at least including a loc sig for an associated location about which Location Signature loc sigs are to have their confidences updated. selεαion_critεria: a data representation designating the be sigs to be seleαed to have their confidences updated (may be defaulted). The folbwing groups of be sigs may be selεctεd: "USE_RAND0M_L0C_SIGS" (this is thε default), USEJEPEATABLE OC IGS", "USE_ALL_LOC_SIGS". Note that each of these selections has values for the following values associated with it (although the values may be defaulted): (a) a confidence reduαion faαor for reducing loc sig confidences,

(b) a big error threshold for determining the errors above which are considered too big to ignore,

(c) a confidence increase faαor for increasing loc sig confidences,

(d) a small error threshold for determining the errors below which are considered too small (i.e., good) to ignore.

(e) a recent time for specifying a time period for indicating the be sigs here considered to be "recent". loc sig pop: a data representation of the type of loc sig population to which thε loc sigs to bε updated are compared. The folbwing values may be provided: (a) "USE ALL LOC SIGS IN DB", (b) "USE ONLY REPEATABLE LOC SIGS" (this is the default),

(c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY" However, environmental charaαeristics such as: weather, traffic, season are also contemplated.

Confidence Aging Program

Thε following program rεducεs thε confidεnce of verifiεd loc sigs in the location signature data base 1320 that are likely to bε no longεr accurate (i.e., in agreement with comparable loc sigs in the data base). If the confidence is reduced low enough, thεn such loc sigs are removed from the data base. Further, if for a bcation signature data basε verified bcation composite εntity (i.ε., a coliεαion of loc sigs for thε samε cation and timε), this εntity no longεr references any valid loc sigs, then it is also rεmovεd from thε data base. Note that this program is invoked by "Update_Loc_Sig_DB". reduce_bad_DB Joc_sigs(loc_sig_bag , error_rec_set, big_error_threshold confidence_reduction_factor, recent_time)

Inputs: bc_sig_bag: A collection or "bag" of loc sigs to be tested for determining if their confidences should be lowered and/or any of these loc sigs removed. error_rec_sεt: A sεt of εrror records (objeαs), denotεd "εrror_recs", providing information as to how much each loc sig in "bc_sig_bag" disagrees with comparable loc sigs in the data base. That is, there is a

"error rec" here for εach be sig in "loc sig bag". big_error_threshold: The error threshold above which the errors are considered too big to ignore. confιdence_reduαion_faαor: Thε faαor by which to reduce the confidence of loc sigs. recent_time: Time period beyond which loc sigs are no longer considered recent. Note that "recent" loc sigs (i.e., more recent than "recent ime") are not subjeα to the confidence reduαion and filtering of this actions of this function. Confidence Enhancement Program

The following program increases the confidence of verifiεd Location Signature loc sigs that are (seemingly) of higher accuracy (i.e., in agreεment with comparable loc sigs in the location signature data base 1320). Note that this program is invoked by "Update_Loc_Sig_DB". increase_confidence_of_good_DB_loc_sigs(nearby_loc_sig_bag, error_rec_set, small_error_threshold, confidence_increase_factor, recerιt_time); Inputs: loc_sig_bag: A colleαion or "bag" of to be tested for detεrmining if their confidences should be increasεd. error_rec_sεt: A sεt of εrror records (objeαs), denoted "error_recs", providing information as to how much each loc sig in "bc_sig_bag" disagrees with comparable loc sigs in the bcation signature data base. That is, there is a "εrror rec" hεre for εach loc sig in "loc sig bag". small_error threshold: The error threshold below which the errors are considered too small to ignore, confidence increase aαor: The factor by which to increase the confidencε of loc sigs. recent_time: Timε pεriod bεyond which loc sigs are no longer considered recent. Note that "recent" be sigs (i.e., more recent than "recεnt timε") are not subjeα to thε confidencε reduαion and filtering of this aαbns of this funαion.

Location Hypotheses Consistency Program

The following program deter inεs thε consistency of location hypothesεs with verified location information in thε location signature data base 1320. Note that in the one embodiment of the presεnt invention, this program is invoked primarily by a module denotεd thε historical locatbn reasoner 1424 described seαioπs hereinbelow. Moreover, the detailed description for this program is providεd with the description of the historical bcation reasoner hereinbelow for completeness.

DB Loc Sig Error Fit( ypothesis, measuredJoc_sig_bag, search_criteria)

/* This function determines how well the colleαion of loc sigs in "measured_!oc_sig_bag" fit with the loc sigs in the bcation signature data base 1320 wherein thε data basε loc sigs must satisfy thε criteria of thε input parameter "sεarch_criteria" and are relativεly close to the MS loαtion estimate of the locatbn hypothesis, "hypothesis".

Input: hypothesis: MS bcation hypothesis; measuredJoc_sig_bag: A collection of mεasurεd location signatures ("be sigs" for short) obtainεd from the MS

(the data struαure here is an aggregation such as an array or list). Note, it is assumed that there is at most one be sig here per Base Station in this colleαion. Additionally, note that the input data struαure here may be a loαtion signature cluster such as the "loc_sig_cluster" field of a location hypothesis (cf. Fig.9). Note that variations in input data structures may be accepted here by utilization of flag or tag bits as one skilled in the art will appreciate; search_critεria: Thε criteria for searching the verified bcation signature data base for various categories of loc sigs. The only limitation on the types of categories that may be provided here is that, to be useful, each category should have meaningful number of loc sigs in the location signature data base. Thε following catεgoriεs includεd hεrε are illustrative, but others are contemplated:

(a) "USE ALL LOC SIGS IN DB" (thε default),

(b) "USE ONLY REPEATABLE LOC SIGS",

(c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY". Further categoriεs of loc sigs close to the MS estimate of "hypothesis" contemplated are: all be sigs for the samε sεason and same time of day, all loc sigs during a specific weather condition (e.g., snowing) and at the same time of day, as well as other limitations for other environmεntal conditions such as traffic patterns. Note, if this parameter is NIL, then (a) is assumed. Returns: An error objeα (data type: "error_object") having: (a) an "error" field with a measurement of the error in the fit of the bcation signatures from the MS with verifiεd bcation signatures in the location signature data base 1320; and (b) a "confidence" field with a value indicating the perceived confideπcε that is to be given to the "error" value. */

Location Signature Comparison Program

The following program compares: (al) loc sigs that are containεd in (or dεrivεd from) the loc sigs in "target_bc_sig_bag" with (bl) loc sigs computed from verified loc sigs in the bcation signature data basε 1320. That is, each loc sig from (al) is compared with a corresponding e sig from (b) to obtain a measurement of the discrepancy between the two loc sigs. In particular, assuming each of the loc sigs for "target Joc_sig_bag" correspond to the same target MS bcation, wherein this location is "targetjoc", this program determines how well the loc sigs in "target bc_sig_bag" fit with a computed or estimated loc sig for the location, "targetjoc" that is derived from the verifiεd loc sigs in thε bcation signature data base 1320. Thus, this program may be used: (a2) for determining how well thε loc sigs in the bcation signature cluster for a target MS

("target loc_sig_bag") compares with loc sigs derived from verifiεd location signatures in thε location signature data base, and (b2) for determining how consistent a given colleαion of be sigs ("targetJoc_sig_bag") from the bcation signature data base is with other loc sigs in the bcation signature data base. Notε that in (b2) each of the one or more loc sigs in "target Joc_sig_bag" have an error computed here that can be used in determining if the be sig is becoming inapplicable for predicting target MS locations. Determine_Location_Signature_Fit_Errors(target_loc, target_loc_sig_bag, search_area, search_criteria, output_criteria) /* Input: targetjoc: An MS location or a location hypothesis for an MS. Note, this can be any of the folbwing: (a) An MS bcation hypothesis, in which αse, if thε hypothesis is inaccurate, then the loc sigs in "target Joc_sig_bag" are the location signature cluster from which this location hypothεsis was derived. Note that if this location is inaccurate, then

"target Joc_sig_bag" is unlikely to be similar to the comparable loc sigs derived from the loc sigs of thε locatbn signature data base close "targetjoc"; or

(b) A previously verifiεd MS cation, in which casε, thε loc sigs of "targεt loc sig bag" were the loc sigs mεasurements at the time they were vεrified. However, thesε loc sigs may or may not be accurate now. target loc sig bag: Measured bcation signatures ("loc sigs" for short) obtainεd from the MS (the data struαure here, bag, is an aggregation such as array or list). It is assumed that there is at least one be sig in the bag. Further, it is assumed that there is at most onε loc sig per Base Station; search area: The representation of the geographic area surrounding "targetjoc". This parameter is used for searching the Locatbn Signature data base for verifiεd loc sigs that correspond geographically to the location of an MS in "search_area; search_critεria: Thε criteria used in searching the bcation signature data base. Thε criteria may include the following:

(a) "USE ALL LOC SIGS IN DB",

(b) "USE ONLY REPEATABLE LOC SIGS",

(c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY". Howevεr, εnvironmεntal charaαeristics such as: weathεr, traffic, sεason are also contemplated. output_criteria: The criteria used in determining the error records to output in "error rec_bag". The criteria hεr may includε onε of:

(a) "OUTPUT ALL POSSIBLE ERROR ECS";

(b) "OUTPUT ERROR_RECS fOR INPUT LOC SIGS ONLY". Rεturns: error_rec_bag: A bag of error records or objeαs providing an indication of the similarity between each be sig in "target_loc_sig_bag" and an estimated loc sig computed for "targetjoc" from stored loc sigs in a surrounding area of "targetjoc". Thus, εach εrror rεcord/objeα in "error_rec_bag" provides a measuremεnt of how well a loc sig (i.e., wireless signal charaαeristics) in "targεt Joc_sig_bag" (for an associated BS and the MS at "targetjoc") correlates with an estimated loc sig between this BS and MS. Note that the estimated loc sigs are determined using verifiεd bcation signatures in thε Location Signature data basε. Note, each error record in "error_rec_bag" includes: (a) a BS ID indicating the base station to which the error record corresponds; and (b) a error measurement (> = 0), and (c) a confidencε valuε (in [0, 1]) indicating thε confidence to be placed in the error measurement. Computed Location Signature Program

The following program receives a colleαion of be sigs and computes a loc sig that is representative of thε loc sigs in thε coliεαion. That is, given a colleαion of loc sigs, "loc sig bag", wherein each loc sig is associated with the same predetermined Base

Station, this program uses these loc sigs to compute a representative or estimated loc sig associated with the prεdεtermined Base Station and associated with a predεtεrmiπed MS bcation, "locjor_estimatbn". Thus, if the loc sigs in "lo sig bag" are from the verifiεd be sigs of the location signature data base such that each of these loc sigs also has its associated MS bcation relatively cbse to "loc Jor_estimatbn", thεπ this program can compute and return a reasonable approximation of what a measured loc sig between an MS at "loc Jor_estimation" and the predetermined Base Station ought to be. This program is invoked by "Dεterminε_Location_Signature_Fit_Errors". estimateJoc_sig_from_DB(loc_for_estimation, loc_sig_bag)

Geographic Area Representation Program

The following program deter inεs and rεturns a representation of a geographic area about a bcation, "loc", wherein: (a) the geographic area has associated MS locations for an acceptablε numbεr (i.e., at least a determined minimal number) of verifiεd loc sigs from the location signature data base, and (b) the geographical area is not too big. However, if there are not enough loc sigs in even a largεst accεptablε sεarch area about "loc", then this largest search area is returned. "DB_Loc_Sig_Error_Fit" get_area_to_search(loc)

Location signature Comparison Program

This program compares two location signatures, "target_loc_sig" and "comparison_bc_sig", both associated with the same predεtεrminεd Base Station and thε samε predetermined MS bcation (or hypothesized bcation). This program determinεs a measure of the difference or error bεtwεen the two loc sigs relative to the variability of the verifiεd location signatures in a collection of loc sigs dεnotεd the "comparison_bc_sig_bag" obtained from the bcation signature data base. It is assumed that "targetjoc ig", "comparisonjoc ig" and the loc sigs in "comparison_loc_sig_bag" are all associated with the same base station. This program returns an error record (objeα), "error_rec", having an error or difference value and a confidence value for the error value. Note, the signal characteristics of "target loc sig" and thosε of "comparisonjocjig" are not assumed to be similarly normalized (e.g., via filters as per the filters of the Signal Procεssing Subsystem) prior to entering this funαion. It is further assumed that typically the input loc sigs satisfy the "search_criteria". This program is invoked by: the program, "Determine_Location_Signature_Fit Errors", described above. get_difference_measurement(targetJoc_sig, comparisonJoc_sig, comparison Joc_sig_bag, search_area, search_criteria) Input: targεt _loc_sig: Thε loc sig to which the "error rec" determined here is to be associated. comparison Joc_sig: The loc sig to compare with the "target Jocjig". Note, if "comparison Joc_sig" is NIL, then this parameter has a value that corresponds to a noise level of "target Jocjig". comparisonjOc sig bag: The universe of loc sigs to use in detεrmining an εrror measurement between "targetjocjig" and "comparison loc jig" . Note, the loc sigs in this aggregation include all loc sigs for the associated BS that are in the "search irea". sεarch trea: A representation of the geographiαl area surrounding the bcation for all input be sigs. This input is used for determining extra information about the search area in problematic circumstances, search riteria: The criteria usεd in searching the bcation signature data base. The criteria may include the following: (a) "USE ALL LOC SIGS IN DB",

(b) "USE ONLY REPEATABLE LOC SIGS",

(c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY

Howevεr, environmental charaαeristics such as: weather, traffic, season are also contemplated.

Detailed Description of the Hypothesis Evaluator Modules

Context Adjuster Embodiments

The context adjuster 1326 performs the first set of potentially many adjustments to at least the confidences of loαtioπ hypotheses, and in some important embodimεnts, both the confidεncεs and thε targεt MS loαtion εstimatεs provided by FOMs 1224 may bε adjustεd according to prevbus performances of the FOMs. More particularly, as mentioned above, the context adjuster adjusts confidences so that, assuming there is a sufficient density verified loαtion signature clusters captured in the location signature data base 1320, the resulting bαtion hypothesεs output by thε context adjuster 1326 may be further processed uniformly and substantially without concern as to differences in accuracy between the first order models from which loαtion hypotheses originate. Accordingly, the context adjuster adjusts loαtion hypotheses both to environmental faαors (e.g., terrain, traffic, time of day, etc, as described in 30.1 above), and to how predictable or consistent each first order model (FOM) has been at bating prevbus targεt MS's whosε loαtions wεre subsequently verified.

Of particular importance is the novel computational paradigm utilized herein. That is, if there is a sufficient density of prevbus verifiεd MS loαtioπ data stored in the location signature data base 1320, then the FOM loαtion hypotheses are used as an "indεx" into this data base (i.e., the bαtbn signature data base) for coπstruαing new target MS 140 ioαtion estimates. A more detailed discussion of this aspeα of the present inventbn is given hereinbelow. Accordingly, only a brief overview is provided here. Thus, since the loαtion signature data base 1320 stores previously αpturεd MS bαtion data including:

(a) clusters of MS loαtion signature signals (see the taαtion signature data base section for a discussion of these signals) and (b) a corresponding verified MS loαtbn, for each such cluster, from where the MS signals originated, the contεxt adjuster 1326 usεs newly created target MS loαtion hypotheses output by the FOM's as indexes or pointers into the bαtion signature data base for identifying other geographiαl areas where the target MS 140 is likely to be bated based on the verified MS loαtion data in the loαtioπ signature data base.

In particular, at least the folbwing two criteria are addressed by the context adjuster 1326: (32.1) Confidence values for bcation hypotheses are to be comparable regardless of first order models from which the loαtbπ hypothesεs originate. That is, the contεxt adjuster moderates or dampens confidence value assignment distinαions or variations between first order models so that the highεrthe confidence of a loαtion hypothesis, the more likely (or unlikely, if thε bcation hypothesis indiαtes an area estimate where the target MS is NOT) the target MS is perceived to bε in the εstimatεd area of the location hypothesis regardless of the First Order Model from which the bcation hypothesis was output;

(322) Confidence values for bcation hypothesεs may bε adjusted to account for current environmental charaαeristics such as month, day (weekday or weekεnd), timε of day, area type (urban, rural, etc.), traffic and/or weather when comparing how accurate the first order models have previously been in determining an MS location according to such environmental charaαeristics. For examplε, in one embodiment of the presεnt invention, such environmental characteristics are accounted for by utilizing a transmission area type scheme (as discussed in sεαion 5.9 abovε) whεn adjusting confidence values of bcation hypothesεs. Dεtails regarding the use of area types for adjusting the confidences of location hypotheses and provided hereinbelow, and in particular, in APPENDIX D. Note that in satisfying the above two criteria, the context adjuster 1326, at least in one embodimεnt, may usε heuristic (fuzzy logic) rules to adjust the confidence values of location hypotheses from the first order models. Additionally, the context adjuster may also satisfy the folbwing criteria:

(33.1) The context adjuster may adjust locatbn hypothesis confidences due to BS failure(s),

(33.2) Additionally in one embodiment, the context adjuster may have a calibration modε for at ieast onε of:

(a) calibrating the confidence values assigned by first order models to their location hypotheses outputs; (b) calibrating itself.

A first embodiment of the context adjuster is discussεd immediately hereinbelow and in APPENDIX D. Howevεr, the present invention also includes othεr εmbodimεnts of thε context adjuster. A second embodiment is also described in Appendix D so as to not overburdεn the reader and thereby chance losing perspeαive of thε overall invention.

A description of the high level funαioπs in an embodiment of the context adjuster 1326 follows. Details regarding the implementation of these funαions are provided in APPENDIX D. Also, many of the terms used hereinbelow are defined in APPENDIX D. Accordingly, the program descriptions in this seαion provide the reader with an overview of this first embodiment of the context adjuster 1326.

Contεxt adj ustε r( be typjist) This funαion adjusts the loαtion hypotheses on the list, "loc hyp list", so that the confidences of the bcation hypotheses are determined more by empirical data than default values from the First Order Models 1224. That is, for each input location hypothesis, its confidence (and an MS bcation area estimate) may be exclusively determined here if there are enough verified location signatures available withir and/or surrounding the location hypothesis estimate. This function creates a new list of location hypothesεs from thε input list, **loc_hyp_list", whεrεin thε bcation hypothesεs on the new list are modified versions of thosε on thε input list For εach bcation hypothεsis on the input list, one or more corresponding locatbn hypotheses will be on the output list. Such corresponding output bcation hypothεsεs will differ from their associated input location hypothesis by one or more of the following: (a) the "image trea" field (seε Fig. 9) may bε assignεd an area indicativε of whεre the target MS is estimated to bε, (b) if "i agε irea" is assigned, then the "confidence" field will be the confidence that the target MS is bcatεd in thε area for "image area", (c) if thεre are not sufficient "nearby" verifiεd location signature clusters in the loαtion signature data base 1320 to entirely rely on a computed confidence using such verified location signature dusters, then two location hypothεses (having reduced confidences) will be returned, one having a reduced computed confidence (for "image rea") using the verified clusters in the Location Signature data base, and one being substantially the same as the associated input location hypothesis except that the confidence (for the field "area st") is reduced to reflect the confidencε in its paired location hypothεsis having a computed confidence for "image_area". Note also, in some cases, the bcation hypothεsεs on the input list, may have no change to its confidence or the area to which the coπfidεnce applies. Get_adjusted_loc_hyp_list_for(loc_hyp)

This funαion rεturns a list (or more generally, an aggregation object) of one or more loαtion hypotheses related to the input location hypothesis, "locjiyp". In particular, the returned bcation hypotheses on the list are "adjusted" versions of "loc_hyp" in that both their target MS 140 bcation estimates, and confidencε placεd in such εstimates may be adjusted according to archival MS bcation information in thε location signature data basε 1320. Notε that thε steps herein are also provided in flowchart form in Figs.26a through 26c. RETURNS: loc_ hyp list This is a list of one or more bcation hypotheses related to the input "loc hyp". Each location hypothesis on "loc hyp list" will typically be substantially the same as the input "bc_hyp" excεpt that thεre may now bε a nεw targεt

MS estimate in the field, "image trea", and/or the confidence value may be changed to reflect information of verified loαtion signature clusters in the location signature data basε.

The funαion, "get_adjusted_loc_hyp_fist_for," and funαions called by this funαion presuppose a framework or paradigm that requires some discussion as well as the defining of some terms. Note that some of the terms defined hereinbelow are illustrated in Fig.243.

Define the term the "the cluster set" to be the set of all MS location point estimatεs (e.g., the values of the "pt est" field of the location hypothesis data type), for the present FOM, such that: (a) these estimates are within a predetermined corresponding area (e.g., the "loc hyp.pt coveriπg" being such a predetermined corresponding arεa, or more generally, this predεtεrmiπed corresponding area is dεterminεd as a funαion of the distance from an initial bcation estimate, e.g., "bc hyp.pt est", from the FOM), and

(b) these point estimates have verifiεd location signature clusters in the bcation signature data basε. Notε that thε predetermined corresponding area abovε will bε dεnotεd as thε "cluster set area".

Define thε term "image cluster set" (for a given First Order Model identified by "bc_hyp.FOM _ID") to mean the set of verified location signature clusters whose MS loαtion point estimates are in "thε cluster set".

Note that an area containing thε "imagε cluster set" will be denoted as the "image cluster set area" or simply thε "imagε area" in some contexts. Further note that thε "image cluster set area" will be a "small" area encompassing the "imagε cluster set". In one embodiment, the imagε cluster sεt arεa will be the smallest covering of cells from the mesh for the presεnt FOM that covεrs thε convex hull of thε imagε cluster set Note that preferably, each cell of each mesh for each FOM is substantially contained within a single (transmission) area type.

Thus, the present FOM provides the correspondences or mapping betwεεn elements of the cluster set and elemεnts of thε imagε clustεr sεt.

confidεnce_adjuster(FOM ID, imagε_area, image_ciustεrjet)

This function returns a confidencε valuε indicative of the target MS 140 being in the area for "imagε_area". Note that the steps for this funαion are provided in flowchart form in Figs.27a and 27b.

RETURNS: A confidencε value. This is a valuε indicative of the target MS being bated in the area represented by "image trea" (when it is assumed that for thε related "loc_hyp," the "cluster set area" is the "loc_hyp.pt overing" and "bc_hyp.FOM_ID" is "FOM ID").

The funαion, "coπfidencε_adjustεr," (and functions called by this funαion) presuppose a framework or paradigm that requires somε discussion as wεll as thε defining of terms. Define the term "mapped cluster density" to be the number of the verifiεd location signature clusters in an "image cluster set" per unit of area in thε "imagε cluster set area".

It is believed that the higher the "mapped cluster density", the greater the confidence can be had that a target MS aαually resides in thε "image clustεr set area" whεn an εstimatε for thε target MS (by the presεnt FOM) is in the corresponding "the cluster set". Thus, the mapped cluster density beco εs an important factor in dεtεrmining a confidεncε valuε for an estimated area of a target MS such as, for example, the area represented by "image irea". However, the mapped cluster density value requires modification before it can be utilized in the confidencε calculation. In particular, confidence values must be in the range [-1, 1] and a mapped cluster density does not havε this constraint. Thus, a "relativized mapped cluster density" for an estimated MS arεa is dεsirεd, whεrεin this relativized measuremεnt is in thε range [-1 , + 1], and in particular, for positive confidences in the range [0, 1]. Accordingly, to alleviate this difficulty, for the FOM dεfiπε the term "prediαion mapped cluster density" as a mapped cluster density value, MCD, for the FOM and image cluster set area wherein:

(i) MCD is sufficiently high so that it correlates (at least at a predetermined likelihood threshold level) with the actual target MS locatbn being in the "image cluster set area" when a FOM target MS location estimate is in the corresponding "cluster sεt area";

That is, for a cluster set area (e.g., "loc_hyp.p t ovεring") for thε presεnt FOM, if the image duster set area: has a mapped cluster density greater than the "prediαion mapped cluster density", then there is a high likelihood of the target MS being in the image cluster set area.

It is believεd that the prediction mapped cluster density will typically be dependent on one or more area types. In particular, it is assumed that for each area type, there is a likely range of prediction mapped cluster density values that is substantially uniform across the area type. Accordingly, as discussed in dεtail hereinbelow, to calculate a prεdiαion mappεd cluster density for a particular area type, an estimate is made of the correlation betwεεπ the mapped cluster densities of image areas (from cluster set areas) and the likelihood that if a verified MS bcation: (a) has a corresponding FOM MS estimate in the cluster set, and (b) is also in the particular area type, then the verified MS location is also in the imagε arεa. Thus, if an arεa is within a singlε area type, then such a "relativized mapped cluster density" measuremεnt for the area may be obtained by dividing the mapped clustεr dεnsity by thε prεdiαion mapped clustεr density and taking the smaller of: the resulting ratio and 1.0 as the value for the relativized mapped cluster dεnsity.

In some (perhaps most) cases, however, an area (e.g., an image cluster set area) may havε portions in a number of area types. Accordingly, a "composite prediction mappεd cluster density" may be computed, wherein, a weighted sum is computed of the prediαion mapped cluster densities for the portions of the area that is in each of the area types. That is, the weighting, for each of the single area type prediction mapped cluster densitiεs, is the fraαion of the total area that this area type is. Thus, a "relativized compositε mapped cluster density" for the area here may also be computed by dividing the mapped cluster density by the composite prediαion mappεd clustεr dεnsity and taking the smaller of: the resulting ratio and 1.0 as thε valuε for thε relativized composite mapped cluster density. Accordingly, note that as such a relativized (composite) mapped cluster density for an image cluster set area increases/decreases, it is assu εd that thε confidεncε of thε targεt MS bεing in thε image cluster set area should increase/decrease, respeαively.

get_composite_prediαion_mapped_clustεr lensity or_high_certainty(FOM_ID, image area); The present function deter iπεs a composite prediαion mappεd clustεr dεnsity by determining a composite prediαion mapped cluster density for the area represented by "image area" and for the First Order Model identified by "FOM JD". OUTPUT: composite mappεd lensity This is a record for thε composite prediαion mapped cluster density. In particular, there are with two fields: (i) a "value" field giving an approximation to the prediction mapped cluster density for the First Order Model having id, FOM _ID;

(ii) a "reliability" field giving an indication as to the reliability of the "value" field. The reliability field is in the range [0, 1] with 0 indicating that the "value" field is worthless and the larger the value the more assurance can be put in "value" with maximal assurance indicated when "reliability" is I.

get ^rεdiαion nappεd_cluster_densityJor(FOMj"D, area ype)

The presεnt funαion dεtεrminεs an approximation to a prediαion mapped cluster density, D, for an area type such that if an image cluster set area has a mapped cluster density > = D, then there is a high expεαation that thε targεt MS 140 is in the image cluster set area. Note that there are a number of εmbodiments that may bε utilizεd for this funαion. The steps herein are also provided in flowchart form in Figs.29a through 29h.

OUTPUT: prediαion napped luster iensity This is a value giving an approximation to the prediction mapped cluster density for thε First Order Modεl having identity, "FOM JD", and for the area type represented by

"area ypε" */

It is important to note that the computation here for thε prediαion mapped cluster density may be more intense than some other computations but the cluster densities computed here neεd not bε performed in real time target MS location processing. That is, the stεps of this function may be performed only periodically (e.g., once a weεk), for εach FOM and εach arεa typε thεreby precomputing thε output for this function. Accordingly, thε valuεs obtainεd here may be stored in a table that is accessed during real time target MS locatbn processing. However, for simplicity, only the periodically performed steps are presented here. Howevεr, one skilled in the art will understand that with sufficiently fast computational devices, some related variations of this funαion may be performed in real-time. In particular, instead of supplying area type as an input to this funαion, a particular area, A, may be providεd such as the image area for a cluster set area, or, the portion of such an image area in a particular area type. Accordingly, wherever "area Jype" is usεd in a statement of the embodiment of this funαion below, a comparable statement with "A" can be provided.

Location Hypothesis Analyzer Embodiment

Referring now to Fig.7, an embodiment of the Hypothesis Analyzer is illustrated. The control component is denoted the control module 1 00. Thus, this control module manages or controls access to the run time bcation hypothesis storagε area 1410. The control module 1400 and the run time loαtion hypothesis storage area 1410 may bε implemented as a blackboard system and/or an expert system. Accordingly, in the blackboard embodiment, , and the control module 1400 determines when new loαtion hypotheses may be entered onto the blackboard from other processes such as the context adjuster 1326 as well as when bcation hypotheses may be output to the most likelihood estimator 1344.

The folbwing is a briεf description of εach submodule included in the bαtion hypothesis analyzer 1332. (35.1) A control module 1400 for managing or controlling further processing of loαtion hypotheses received from the contεxt adjuster. This module controls all bcation hypothesis processing within the loαtion hypothesis analyzer as well as providing the input interface wkh the context adjuster. There are numerous embodiments that may be utilized for this module, including, but not limited to, expert systems and blackboard managers.

(352) A run-time loαtion hypothesis storage area 1410 for retaining loαtbn hypotheses during their processing by thε loαtion hypothεsεs analyzer. This on be, for example, an expert system faα basε or a blackboard. Notε that in some of thε discussion hereinbelow, for simplicity, this module is referred to as a "blackboard". Howevεr, h is not intended that such notation be a limitation on the present inventbn; Lε., thε term "blackboard" hereinafter will denote a run-time data repository for a data processing paradigm wherein the flow of control is substantially data-driven.

(353) An analytical reasoner module 1416 for determining if (or how well) loαtion hypotheses are consistent with well known physiαl or heuristic constraints as, e.g., mentioned in (30.4) above. Note that this module may be a daemon or expert system rule base. (35.4) An historical loαtion reasoner module 1424 for adjusting bαtion hypotheses' confidences according to how well the loαtion signature charaαeristics (i.e., loc sigs) associated with a loαtion hypothesis compare with "nearby" be sigs in the loαtion signature data base as iπdiαted in (302) above. Note that this module may also be a daemon or expert system rule base. (35.5) A loαtion extrapolator module 1432 for use in updating prevbus bαtion estimates for a target MS when a more recent loαtion hypothesis is provided to the bαtion hypothesis analyzer 1332. That is, assume that thε control modulε 1400 recεives a new loαtion hypothesis for a target MS for which there are also one or more prevbus bαtion hypotheses that eithεr havε bεεn recently processed

(i.e., they reside in the MS status repository 1338, as shown best in Fig.6), or are currently bεing procεssεd (i.ε., they reside in the runtime bcation hypothesis storage area 1410). Accordingly, if the aαive imεstamp (see Fig.9 regarding location hypothesis data fields) of the newly received taαtioπ hypothesis is sufficiently more recent than the aαive imestamp of one of these prevbus loαtion hypotheses, then an extrapolation may be performed by the loαtion extrapolator module 1432 on such prevbus loαtion hypotheses so that all target MS loαtion hypotheses being concurrently analyzed are presumed to include target MS locatbn estimatεs for substantially the same point in time. Thus, initial loαtion estimates generated by the FOMs using different wireless signal measurements, from different signal transmission time intervals, may havε their corresponding dependent loαtion hypothesεs utiiizεd simultaneously for determining a most likely targεt MS loαtion εstimate. Note that this modulε may also be daemon or expert system rule basε. (35.6) hypothesis genεrating modulε 1428 for gεnerating additional taαtion hypothεses aαording to, for example, MS location information not adequately utilized or modeled. Note, loαtion hypotheses may also be decomposed here if, for examplε it is determined that a locatbn hypothesis includes an MS area estimate that has subareas with radially different charaaeristics such as an MS area estimate that includes an uninhabited area and a densely populated area. Additionally, the hypothesis generating module 1428 may generate "poor reception" loαtbn hypothesεs that specify MS location areas of known poor reception that are "near" or interseα currently aαive bαtion hypotheses. Note, that these poor reception bαtion hypothesεs may bε specially tagged (e.g., with a distinαive FOM JD value or specific tag field) so that regardless of substantially any other loαtion hypothesis confidence value overlapping such a poor reception area, such an area will maintain a confidence value of "unknown" (i.e., zero). Note that substantially the only exception to this constraint is location hypotheses generated from mobile base statbns 148. Note that this module may also bε daεmon or expert system rule basε.

In thε blackboard system εmbodimεnt of the bαtion hypothesis analyzer, a blackboard system is the mechanism by which the last adjustments are performed on loαtioπ hypothesεs and by which additional loαtion hypotheses may be generated.. Briefly, a blackboard system an bε described as a particular class of software that typically includes at least three basic components. That is: (36.1) a data base called the "blackboard," whose stored information is commonly available to a collection of programming elements known as "daemons", wherein, in the presεnt invention, the blackboard includes information concerning the current status of the loαtbn hypothesεs bεing εvaluatεd to determine a "most likely" MS bαtion estimate. Note that this data base is provided by the run time loαtioπ hypothesis storage area 1410; (162) one or more aαive (and typically opportunistic) knowledge sources, denoted conventionally as "daemons," that create and modify the contents of the blackboard. The blackboard system employed requires only that the daemons have appliαtion knowledge specific to the MS loαtion problem addressed by the present invεntion. As shown in Fig.7, thε knowledge sources or daemons in thε hypothεsis analyzer include the analytical reasoner module 1416, the hypothesis generating module 1428, and the historical bαtion reasoner modulε 1416; (363) a control modulε that enables the realization of the behavior in a serial computing environment The control element orchestrates the flow of control betwεen the varbus daemons. This control module is provided by the control module

1400. Note that this blackboard system may be commercial, however, the knowledge sources, i.e., daemons, have been developed specifically for the present inventbn. For further information regarding such blackboard systems, the folbwing references are incorporated herein by reference: (a) Jagannathan, V., Dodh'iawala, R., & Baum, L S. (1989). Blackboard architectures and applications. Boston, MA: Harcourt Brace Jovanovich Publishers; (b) Engelmore, R., & Morgan, T. (1988). Blackboard systems. Reading, MA: Addison-Wesley Publishing Company. Alternatively, the control module 1400 and the run-time bαtion hypothesis storage area 1410 may be implemented as an expert system or as a fuzzy rule inferenciπg system, wherein the control module 1400 aαivates or "fires" rulεs related to thε knowledge domain (in the present case, rubs relating to the accuracy of MS loαtioπ hypothesis εstimatεs), and wherein the rules provide a computational embodiment of, for example, constraints and heuristics related to the accuracy of MS loαtioπ estimates. Thus, the control module 1400 for the present embodimεnt is also used for orchestrating, coordinating and controlling the aαivity of the individual rule bases of the loαtion hypothesis analyzer (e.g. as shown in Fig.7, the analytical reasoner module 1416, the hypothesis generating module 1428 , the historiαl bαtion reasoner module 1424, and the loαtion extrapolator module 1432). For further information regarding such expert systems, the folbwing reference is incorporated hεrein by reference: Waterman, D. A. (1970). A guide to expert systems. Reading, MA: Addison-Wesley Publishing Company. MS Status Repository Embodiment

The MS status repository 1338 is a run-time storage managεr for storing location hypotheses from previous activations of the loαtion engine 139 (as well as the output target MS bcation estimatε(s)) so that a targεt MS may be tracked using target MS loαtion hypothesεs from prevbus bcation engine 139 aαivations to determine, for example, a movement of the target MS betweεn evaluations of the target MS bcation. Thus, by retaining a moving window of previous location hypothεsεs used in evaluating positions of a target MS, measurements of the target MS's velocity, acceleration, and likely next position may be determined by the loαtioπ hypothesis analyzer 1332. Further, by providing accessibility to recεnt MS location hypotheses, thesε hypotheses may be used to resolve conflicts between hypotheses in a current aαivation for locating the target MS; e.g., MS paths may be stored here for use in extrapolating a new loαtion

Most Likelihood Estimator Embodiment

The most likelihood estimator 1344 is a module for determining a "most likely" location estimate for a target MS 140 being bated (e.g., as in (30.7) above). In one embodiment, the most likelihood estimator performs an integration or summing of all location hypothesis confidence values for any geographic region(s) of interest having at least one loαtion hypothesis that has bεεn provided to the most likelihood estimator, and wherein the loαtion hypothesis has a relatively (or sufficiently) high confidence. That is, the most likelihood estimator 1344 determines the area(s) within each such region having high coπfidεncεs (or confidences above a threshold) as the most likely target MS 140 loαtion estimates.

In one embodiment of the most likelihood estimator 1344, this module utilizεs an area mεsh, M, ovεr which to integrate, wherein the mesh cells of M are preferably smaller than the greatest loαtion accuracy desired. That is, each cell, c, of M is assigned a confidence value iπdiαting a likelihood that the target MS 140 is bated in c, wherein the confidence value for c is determined by the confidence valuεs of the targεt MS bαtion estimates provided to the most likelihood estimator 1344. Thus, to obtain the most likely loαtion determiπation(s) the following steps are performed:

(a) For each of the active location hypotheses output by, e.g., the hypothesis analyzer 1332 (alternatively, the context adjuster

1326), each corresponding MS loαtion area estimate, LAE, is provided with a smallest covering, C^, of cells c from M.

(b) Subsequently, each of the cells of C^ have their confidence values adjusted by adding to it the confidence value for LAE. Accordingly, if thε confidence of LEA is positive, then the cells of C^ have their confidences increased. Alternatively, if thε confidence of LEA is negative, then the cells of a have their confidences decreased.

(c) Given that the interval [-1.0, + I.OJ represents the range in confidence values, and that this range has been partitioned into intervals, Int, having lengths of, e.g., 0.05, foreach interval, Int, perform a cluster analysis funαion for clustering cells with confidences that are in Int. Thus, a topographiαl-type map may bε constructed from the resulting cell clusters, wherein higher confidence areas are analogous to representations of areas having higher elevations.

(d) Output a representation of the resulting clusters for each Int to the output gateway 1356 for determining the loαtion granularity and representation desired by each loαtion application 146 requesting the location of the target MS 140. Of course, variations in the above algorithm also within the scope of the presεnt invention. For example, some embodimεnts of thε most likεlihood estimator 1344 may:

(e) Perform special processing for areas designated as "poor reception" areas. For εxamplε, the most likεlihood εstimator 1 44 may be able to impose a confidence value of zero (i.e., meaning it is unknown as to whether the target MS is in the area) on each such poor reception area regardless of the loαtion estimate confidence values unless there is a loαtion hypothesis from a reliable and unanticipated source. That is, the mεsh cells of a poor reception area may have their confidences set to zero unless, e.g., there is a loαtbn hypothesis derived from target MS bαtion data provided by a mobile base station 148 that (a) is near the poor reception area, (b) able to deteα that the target MS 140 is in the poor reception area, and (c) can relay target MS loαtion data to the loαtion center 142. In such a αse, the confidence of the target MS loαtion estimate from the

MBS bαtioπ hypothesis may take precedence.

(f) Additionally, in some embodiments of the most likelihood estimator 1344, cells c of M that are "near" or adjacent to a covering

Qa may also have their confidences adjusted according to how near the celts c are to the covering. That is, thε assigning of confidεncεs to cεll meshes may be "fuzzified" in the terms of fuzzy logic so that the confidence value of each loαtion hypothesis utilized by thε most likεlihood εstimator 1344 is providεd with a weighting faαor depending on its proxity to the targεt MS loαtion estimate of the bcation hypothesis. More precisely, it is believed that "nearness," in the present context should be monotonic whh the "wideness" of the covering; i.e., as the extent of the covering increases (decreases) in a particular direαion, the cells c affeαed beyond the covering also increases (decreases). Furthermore, in some embodimεnts of thε most likelihood estimator 1344, the greater (lesser) the confidence in the LEA, the more (fewer) cells c beyond the covering have their confidencεs affeαed. To describe this technique in further detail, reference is made to fig. 10, wherein an area A is assumed to be a covering C^ having a confidencε denoted "conf '. Accordingly, to determine a confidence adjustment to add to a cell c not in A (and additionally, the centroid of A not being substantially identical with the centroid of c which could occur if A were donut shaped), thε following stεps may be performed: (i) Determine the centroid of A, denoted Cent(A). (ii) Determine the centroid of the cell c denoted Q.

(iii) Determine the extent of A along the line between Cent(A) and Q, denotεd L (iv) For a given type of probability dεnsity funαion, P(x), such as a Gaussian funαion, let T be the beginning portion of the funαion that lives on the x-axis interval [0, t], wherein P(t) - ABS(conf) = the absolute valuε of thε confidence of C^. (v) Stretch T along the x-axis so that the stretched funαion, denoted sT(x), has an x-axis support of [0, L/(l +e wωs )" IB)], where a is in range of 3.0 to 10.0; e.g., 5.0. Note that sT(x) is the function,

P(x * (I +,Ja< !iS<ton'>- 1)]) L), on this stretched extent. Further note that for confidences of + 1 and - 1 , the support of sT(x) is [0, L] and for confidences at (or near) zero this support. Further, thε term,

Figure imgf000094_0001
is monotoniαhy increasing with L and ABS(conf). (vi) Determine D = the minimum distance that Q is outside of A along the line between Ceπt(A) and Q. (vii) Determine the absolute value of the change in thε confidence of c as sT(D). (viii) Provide the valuε sT(D) with thε samε sign as conf, and provide the potentially sign changed value sT(D) as 5 the confidεncε of thε cell c.

Additionally, in some embodimεnts, thε most likelihood estimator 1344, upon receiving onε or more bαtion hypotheses from the hypothesis analyzer 1332, also performs some or all of the folbwing tasks:

(37.1) Filters out loαtion hypothεses having confidencε values near zero whenever such loαtion hypotheses are dee εd too unreliable to be utilized in determining a targεt MS bαtion estimate. For example, loαtion hypothesεs having confidence l o values in the range [-0.02, 0.02] may be filtered here;

(37.2) Determines the area of interest over which to perform the integration. In onε embodiment, this area is a convex hull including each of the MS area estimatεs from the received loαtbn hypothesεs (whεrein such loαtion hypotheses have not been removεd from consideration by the filtering process of (37.1)); (373) Detεrminεs, oncε the integration is performed, one or more colleαions of contiguous area mesh cells that may be deemed a 15 "most likely" MS taαtion estimate, wherein each such colleαion includes one or more area mesh cells having a high confidencε value.

Detailed Description of the Location Hypothεsis Analyzεr Submodulεs

Analytical Rεasoner Module

The analytical reasoner applies constraint or "sanity" checks to the target MS estimates of the taαtioπ hypothesεs residing in the Run-timε 20 Location Hypothεsis Storage Area for adjusting the associated confidence values accordingly. In one embodiment thesε sanity checks involve "path" information. That is, this modulε determiπεs if (or how well) loαtion hypothesεs are consistent with well known physiαl constraints such as the laws of physics, in an area in which the MS (associated with the bαtbn hypothesis) is estimated to be bated. For examplε, if thε difference between a previous (most likely) bαtbn estimatε of a target MS and an estimatε by a current loαtbn hypothesis requires the MS to: 25 (a) move at an unreasonably high rate of spεεd (ε.g, 200 mph), or

(b) moγε at an unreasonably high rate of speed for an area (e.g., 80 mph in a corn patch), or

(c) make unreasonably sharp velocity changes (e.g., from 60 mph in one direction to 60 mph in the opposite direαion in 4 sec), then the confidence in thε current hypothesis is reduced. Such path information may bε derived for each time series of loαtion hypothesεs resulting from thε FOMs by maintaining a window of prevbus loαtion hypotheses in the MS status repository 1338. Moreover, by additionally

30 retaining the "most likely" target MS locatbn estimates (output by the most likelihood estimator 1344), current loαtion hypotheses may be compared against such most likely MS location estimates. The folbwing path sanity checks are incorporated into the computations of this module. That is:

(I) do the prediαed MS paths generally follow a known transportation pathway (e.g., in the casε of a calculated speed of greater than 50 miles per hour are the target MS loαtion estimates within, for example, 1 miles of a pathway where such speed may be sustained); if so (not), then increase (decrease) the confidence of the loαtion hypothεsεs not satisfying this criterion; (2) are the speeds, velocities and accelerations, determined from the current and past target MS loαtion estimates, reasonable for the region (e.g., speeds should be less than 60 milεs pεr hour in a dεnse urban area at 9 am); if so (not), then increase (decrease) the confidencε of thosε that are (un)reasonablε; (3) are the loαtions, speeds, velocities and/or accelerations similar betwεen target MS tracks produced by different FOMs similar; decrease the confidence of the currently aαive loαtbn hypotheses that are indiαted as "outliers" by this criterion; (4) are the currently aαive loαtbn hypothesis target MS estimatεs consistent with prevbus prediαions of whεre the target MS is prediαed to bε from a previous (most likely) targεt MS estimate; if not, then decrease the confidencε of at least those loαtion hypothesis estimates that are substantially different from the corresponding prediαions. Note, however, that in some αses this may bε ovεr ruled. For example, if the prediαion is for an area for which there is Loαtion Base Station coverage, and no Loαtion Base Station covering the area subsequently reports communkating with the target MS, then the prediαions are incorreα and any current loαtbn hypothεsis from thε same FOM should not bε decreased here if it is outside of this Loαtbn

Basε Station coveragε area.

Notice from Fig.7 that the analytical reasoner can access bαtion hypothεsεs currently posted on the Run-time Loαtion Hypothεsis Storage Area. Additionally, it intεraαs with the Pathway Database which contains information concerning the loαtion of natural transportation pathways in the region (highways, rivers, etc.) and the Area Characteristics Database which contains information concerning, for examplε, reasonable velocities that an be expected in varbus regions (for instance, speeds of 80 mph would not be reasonably expeαed in dense urban areas). Note that both speed and direction n be important constraints; e.g., even though a speed might be appropriate for an area, such as 20 mph in a dense urban area, if the direαion indicated by a time series of related loαtion hypotheses is direαty through an εxtensivε building complεx having no through traffic routes, then a reduαbn in thε confidence of one or more of the loαtion hypothesεs may be appropriate.

One embodiment of the Analytical Reasonεr illustrating how such constraints may be implemented is provided in the folbwing sectbn. Note, however, that this embodimεnt analyzεs only loαtion hypotheses having a non-negative confidεncε value. Modulεs of an embodiment of thε analytical reasonεr module 1416 are providεd hereinbelow.

Path Comparison Module Thε path comparison module 1454 implements the folbwing strategy: the confidence of a particular bαtion hypothesis is be increased (decreased) if it is (not) prediαing a path that lies along a known transportation pathway (and the speed of the target MS is sufficiently high). For instance, if a time sεries of target MS loαtion hypotheses for a given FOM is prediαiπg a path of thε target MS that lies along an interstate highway, the confidencε of thε currently aαive loαtion hypothesis for this FOM should, in general, be increased. Thus, at a high level the folbwing stεps may bε performed:

(a) For each FOM having a currently aαive loαtion hypothesis in the Run-time Loαtion Hypothεsis Storage Area (also denoted

"blackboard"), determine a recent "path" obtained from a time series of loαtion hypothesεs for the FOM. This computation for the "path" is performed by stringing togethεr successive "center of area" (COA) or centroid values determined from the most pertinent target MS loαtion estimate in each bαtion hypothesis (recall that each loαtioπ hypothesis may have a plurality of target MS area estimates with one being thε most pertinent). The information is stored in, for example, a matrix of values wherein one dimension of the matrix identifies the FOM and the a second dimension of thε matrix represents a series of COA path values. Of course, some entries in thε matrix may be undefined. (b) Compare each path obtained in (a) against known transportation pathways in an arεa containing the path. A value, path_match(i), representing to what extent the path matches any known transportation pathway is computed. Such values are used later in a computation for adjusting the confidence of each corresponding currently aαive bαtbn hypothεsis.

Velocity/Acceleration Calculation Module

Thε velocity/acceleration calculation module 1458 computes velocity and/or acceleration estimates for the targεt MS 140 using currently aαive loαtion hypotheses and previous taαtion hypothesis estimates of the target MS. In one εmbodiment, for each FOM 1224 having a currently aαivε loαtbn hypothesis (with positive confidences) and a sufficient number of previous (reasonably recent) target MS bαtbπ hypotheses, a velocity and/or acceleration may be calculated. In an alternative embodiment, such a velocity and/or acceleration may bε calculated using thε currently aαive loαtion hypothεsεs and onε or more recent "most likεly" bαtions of the target MS output by the loαtbn enginε 139. If thε estimated velocity and/or acceleration corresponding to a currently aαivε location hypothεsis is reasonable for the region, then its confidεncε value may be incremented; if not, then its confidεncε may bε dεcremεnted. The algorithm may be summarized as folbws: (a) Approximate speed and/or acceleration εstimates for currently aαivε targεt MS bcation hypotheses may bε provided using path information related to the currently aαive bαtioπ hypotheses and prevbus target MS loαtion estimates in a manner similar to the description of the path comparison module 1454. Accordingly, a single confidence adjustment value may bε dεtεrminεd for each currently aαive loαtion hypothesis for indiαting the extent to which 'its corresponding velocity and/or acceleration αkulations are reasonable for its particular target MS bcation estimatε. This calculation is performed by retrieving information from the area charaαeristiα data base 1450 (e.g, Figs.6 and 7). Since each loαtbn hypothesis includes timestamp data indiαting when thε MS bαtion signals wεre received from thε targεt MS, the velocity and/or acceleration associated with a path for a currently aαivε loαtion hypothesis an be straightforwardly approximated. Accordingly, a confidencε adjustmεnt valuε, vεl_ok(i), indicating a likelihood that the velocity calculated for the i* currently active bαtioπ hypothesis (having adequate corresponding path information) may be appropriate is calculated using for the environmental charaαeristics of the loαtion hypothesis' target MS loαtion estimate. For example, thε area charaαeristics data base 1450 may include expected maximum velocities and/or accelerations for each area type and/or cell of a cell mesh of the covεragε area 120. Thus, velocities and/or accelerations above such maximum values may be indicative of anomalies in the MS location estimating process. Accordingly, in onε embodiment, the most recent loαtion hypotheses yielding such εxtre ε velocities and/or accelerations may have their confidence values decreased. For example, if the target MS loαtion estimate includes a portion of an interstate highway, then an appropriate velocity might correspond to a speed of up to 100 miles per hour, whereas if thε target MS locatbn estimatε includεs only rural dirt roads and tomato patches, thεn a likely speed might be no more than 30 miles per hour with an maximum speεd of 60 miles per hour

5 (assuming favorable environmental charaαeristiα such as weather). Note that a list of such environmental charaαeristics may include such faαors as: area type, time of day, season. Further note that more uπpredittablε environmental charaαeristiα such as traffic flow patterns, weather (e.g., clear, raining, snowing, εtc) may also bε included, values for these latter charaαeristiα coming from the environmental data base 1354 which receives and maintains information on such unpredictable charaαeristiα (e.g., Figs.6 and 7). Also notε tliat a similar confidεncε adjustmεnt value, acc ok(i), may be providεd for currently aαive loαtion hypotheses, l o wherein thε confidence adjustmεnt is related to the appropriateness of the acceleration εstimatε of thε targεt MS.

Attribute Comparison Module

Thε attribute comparison module 1462 compares attribute values for bαtion hypotheses generated from different FOMs, and determines if the confidence of certain of the currently aαive loαtion hypotheses should be increased due to a similarity in related values for the attribute.

15 That is, for an attribute A, an attribute value for A derivεd from a set Sf0H[|] of one or more loαtbn hypotheses generated by one FOM, FOM[l], is compared with anothεr attribute value for A derived from a set Sf0H2 of one or more loαtbπ hypotheses generated by a different FOM, F0M[2] for determining if these attribute values cluster (i.e., are sufficiently close to one another) so that a currently aαive loαtbn hypothεsis in Sf0M[|] and a currently aαive loαtion hypothεsis in Sf0Mpj should have their confidences increased. For example, the attribute may bε a "target MS path data" attribute, wherein a value for the attribute is an estimated target MS path derived from bαtion hypothesεs generated

20 by a fixed FOM over some (recent) time period. Alternativεly, the attribute might be, for example, one of a velocity and/or acceleration, wherein a value for the attribute is a vebcity and/or acceleration derived from loαtion hypotheses generated by a fixed FOM over some (recent) time period.

In a general context, the attribute comparison module 1462 operates according to the folbwing premise: (38.1) for each of two or more currently aαivε loαtion hypothεsεs (with, ε.g., positive confidences) if:

25 (a) each of thesε currently aαivε taαtion hypothεses, H, was initially generated by a corresponding different FOMH;

(b) for a given MS estimatε attribute and εach such currently aαive loαtion hypothesis, H, there is a corresponding value for the attribute (e.g., the attribute value might be an MS path εstimate, or alternatively an MS estimated vebcity, or an MS estimated acceleration), wherein the attribute value is derivεd without using a FOM different from FOMK, and;

(c) the derived attribute values cluster sufficiently well,

30 then each of these currently aαivε bαtion hypothεsεs, H, will havε thεir corresponding confidences increased.. That is, thesε confidences will be increased by a confidence adjustment value or delta.

Note that the phrase "cluster sufficiently well" above may have a numbεr of technical εmbodimεnts, including performing various clustεr analysis techniques wherein any clusters (according to some statistic) must satisfy a system set threshold for the members of the cluster being cbse εnough to onε anothεr. Furthεr, upon dεtεrmining thε (any) bαtion hypothεsεs satisfying (38.1), thεre are various techniques that may be usεd in dεtermining a change or delta in confidences to bε appliεd. For example, in one embodimεnt, an initial default confidencε delta that may bε utilized is: if "cf ' denotes the confidence of such a currently aαive loαtion hypothesis satisfying (38.1), then an increased confidence that still remains in thε interval [0, 1.0] may bε: cf + [(I - d)/(l + rf )] or, cf * [1.0 + cf n], n.= > 2, or, d * [a constant having a system tuned paramεter as a faαor] . That is, the confidencε deltas for thesε examples are: [(I -cf)/(l + cf)]2 (an additive dεlta), and, [1.0 + dn] (a multiplicative delta), and a constan Additionally, note that it is within the scope of the presεnt invention to also provide such confidεncε deltas (additive deltas or multiplicative dεltas) with faαors related to the number of such loαtion hypotheses in the cluster.

Moreover, note that it is an aspeα of thε presεnt invεntion to provide an adaptive mechanism (i.e., the adaptation engine 1382 shown in Figs.5, 6 and 8) for automatiαlly determining performance enhancing changes in confidence adjustmεnt values such as the confidence deltas for the present module. That is, such changes are determined by applying an adaptive mechanism, such as a genεtic algorithm, to a colleαion of "system paramεters" (including paramεters specifying confidence adjustment values as well as system paramεters of, for εxamplε, thε contεxt adjuster 1326) in ordεr to εnhancε performance of the present invention. More particularly, such an adaptive mechanism may repeatedly perform the folbwing steps: (a) modify such system parameters; (b) consequently aαivate an instantiation of the loαtbn engine 139 (having the modified system parameters) to process, as input a series of MS signal bαtion data that has beεn archived together with data corresponding to a verified MS bcation from which signal loαtion data was transmitted (e.g., such data as is stored in thε loαtbn signature data basε 1320); and (c) thεπ determine if the modifications to the system parameters enhancεd bαtion engine 139 performance in comparison to previous performancεs. Assuming this modulε adjusts confidences of currently active loαtion hypothesεs according to one or more of the attributes: target MS path data, targεt MS velocity, and target MS acceleration, the computation for this module may bε summarizεd in the following steps: (a) Determine if any of the currently aαive bαtion hypotheses satisfy the premise (38.1) for the attribute. Note that in making this determination, avεragε distances and average standard deviations for the paths (velocities and/or accelerations) corresponding to currently aαive location hypothesεs may be computed.. (b) For each currently aαivε loαtion hypothεsis (wherein "i" uniquely identifies the location hypothesis) seleαed to have its confidencε increased, a confidencε adjustmεnt valuε, path_similar(i) (alternatively, vεbchy_similar(i) and/or acce le ration_similar(i) ), is computed indiαting the extent to which the attribute value matches another attribute value bεing prediαed by another FOM. Notε that such confidence adjustment values are used later in the calculation of an aggregate confidence adjustment to particular currently aαive loαtion hypotheses.

Analytical Reasoner Controller

Given one or more currently aαivε locatbn hypothεsεs for the same target MS input to the analytical reasoner controller 1466, this controller activates, for each such input loαtbn hypothesis, the other submodules of thε analytical reasonεr module 1416 (dεnoted hereinafter as "adjustment submodules") with this loαtion hypothesis. Subsequently, the analytical reasoner controller 1466 receives an output confidence adjustment valuε computed by each adjustment submodule for adjusting the confidence of this loαtion hypothεsis. Notε that εach adjustmεnt submodulε determinεs:

(a) whether the adjustment submodulε may appropriately compute a confidence adjustment valuε for thε loαtion hypothεsis suppliεd by thε controllεr. (For εxamplε, in some cases thεre may not bε a sufficient number of loαtion hypotheses in a time series from a fixed FOM);

(b) if appropriate, then the adjustment submodule computes a non-zero confidencε adjustmεnt valuε that is returned to the analytical reasoner controller.

Subsequently, the controller uses thε output from thε adjustmεnt submodulεs to compute an aggregate confidencε adjustmεnt for thε corresponding loαtion hypothesis. In one particular embodimεnt of the presεnt invεntion, values for the eight types of confidencε adjustment values (described in sections abovε) are output to thε present controller for computing an aggregate confidence adjustment value for adjusting thε confidεncε of thε currently aαive loαtion hypothesis presemly being analyzed by the analytical reasoner module 1416. As an examplε of how such confidεncε adjustmεnt values may be utilized, assuming a currently aαive loαtioπ hypothesis is identified by "i", the outputs from thε abovε described adjustment submodules may be more fully described as: ρath_match(i) I if there are sufficient prevbus (and recent) bcation hypothesεs for the same target MS as "i" that have been generated by the same FOM that generated "i", and, the target MS location estimates provided by the bαtioπ hypothesis "i" and the prevbus loαtion hypotheses follow a known transportation pathway. 0 otherwise. vel_ok(i) I if thε velocity calculated for the ilh currently aαive bαtion hypothεsis (assuming adεquatε corresponding path information) is typical for the area (and thε current environmental charaαeristics) of this loαtbn hypothesis' target MS bαtion estimate; 02 if the vebcity calculated for the i' currently aαive loαtion hypothesis is near a maximum for the area (and thε current environmental charaαeristics) of this bαtion hypothesis' target MS loαtion estimate;. 0 if thε velocity calculated is above the maximum. aα_ok(i) I if the acceleration calculated for the ,1 currently aαive location hypothesis (assuming adequate corresponding path information) is typical for the area (and thε current environmental charaαeristics) of this bcation hypothesis' target MS loαtion estimate; 02 if thε acceleration calculated for the t currently aαive bαtion hypothεsis is nεar a maximum for the area (and the current environmental charatteristics) of this loαtion hypothεsis' targεt MS loαtioπ εstimate;. 0 if thε acceleration calculated is above the maximum. simiiar_path(i) I if the loαtion hypothesis "i" satisfies (38.1) for the target MS path data attribute; 0 otherwise. velocity_similar(i) I if thε loαtioπ hypothεsis "i" satisfies (38.1) for the target MS velocity attribute; 0 otherwise. acce te ratio n_si miiar (i) I if thε bαtion hypothεsis "i" satisHes (38.1) for thε target MS acceleration attribute; 0 otherwise. εxtrapolation_chk(i) I if the loαtion hypothesis "i" is "near" a previously prediαed MS bαtion for the target MS; 0 otherwise.

Additionally, for each of the above confidεnce adjustments, thεre is a corresponding locatbn eπginε 139 system sεtablε parameter whose value may be determined by repeated activation of the adaptation enginε 1382. Accordingly, for εach of the confidence adjustmεnt typεs, T, above, there is a corresponding system sεtable parameter, "alphaJT, that is tunable by thε adaptation εngiπε 1382. Accordingly, the folbwing high level program segment illustrates the aggregate confidencε adjustmεnt valuε computεd by thε Analytical Reasoner Controller.

target_MSJoc_hyps < — gεt al) currently aα'rvε loαtbn hypothεsεs, H, identifying the present target ; foreach currently aαive locatbn hypothesis, hyp(i), from target_MS_loc_hyps do

{ for εach of thε confidence adjustment submodules, CA, do aαivate CA with hyp(i) as input; now compute the aggregate confidεncε adjustment using thε output from the confidence adjustment submodulεs. */ aggregate_adjustment(i) <— alpha_path_match * path_match(i) + alpha_vεlochy * vel_ok(i) + alpha_path_similar * path_similar(i) + alpha_vεbcrty_simiiar * vεtacity_similar(i) + alpha_accε!εration_simiiar* acceleration_similar(i)

-I- alpha_extrapolatbn * extrapolatioπ_chk(i); hyp(i).confidence <— hyp(i).confidence + aggregate_adjustmεnt(i); }

Historical Location Reasoner

The historical loαtion reasoner modulε 1424 may bε, for example, a daemon or expert system rule base. The module adjusts the confidences of currently aαivε location hypothεsεs by using (from location signature data base 1320) historical signal data correlated with: (a) verified MS locations (e.g. tacations verified when emergency personnel co-locate with a target MS location), and (b) various environmental faαors to evaluate how consistent the location signature cluster for an input location hypothesis agrees with such historical signal data.

This reasonεr will increase/decrease thε confidence of a currently active location hypothesis depending on how well its associated loc sigs correlate with the loc sigs obtained from data in the location signature data base. Notε that thε εmbodimεnt hereinbelow is but one of many εmbodimεnts that may adjust thε confidεnce of currently aαive location hypothesεs appropriately. Accordingly, it is important to note other embodiments of the historical location reasonεr functionality are within the scope of the present invention as one skilled in the art will appreciate upon examining the techniques utilized within this specification. For examplε, calculations of a confidεnce adjustmεnt factor may be detεrminεd using Monte Carlo techniquεs as in the context adjuster 1326. Each such embodimεπt generates a measurement of at least one of the similarity and thε discrepancy between the signal charaαeristics of the verified loαtion signature clusters in thε location signature data basε and thε bcation signature clustεr for an input currently aαivε bcation hypothesis, "loc_hyp".

The embodiment hereinbelow provides one examplε of the funαionality that an be providεd by thε historical location rεasonεr 1424 (εithεr by aαivating thε following programs as a daemon or by transforming various program segments into the consequεπts of expert system rules). The prεsεnt εmbodimεnt gεnεratεs such a confidεncε adjustmεnt by thε folbwing stεps:

(a) comparing, foreach cell in a mesh covering of the most relεvaπt MS bcation estimate in "bc_hyp", the bcation signature cluster of thε "loc iyp" with thε verified bcation signature clusters in thε cell so that the folbwing are computed: (i) a discrepancy or error measurement is determined, and (ii) a corresponding measurεmεnt indicating a likεlihood or confidεncε of the discrepancy measuremεnt being relativεly accurate in comparison to othεr such error measurements; (b) computing an aggregate measurement of both the errors and the confidences determined in (a); and

(c) using the computed aggregate measurement of (b) to adjust the confidence of "bc_hyp".

The program illustrated in APPENDIX E provides a more detailed embodimεnt of the steps immediately above.

Location Extrapolator

The loαtion extrapolator 1432 works on the folbwing premise: if for a currently aαive locatbn hypothesis there is sufficient previous related information regarding estimates of the targεt MS (e.g., from the same FOM or from using a "most likely" prevbus target MS estimatε output by the loαtion engine 139), then an extrapolation may be performed for predicting future targεt MS loαtions that an be compared with new loαtion hypothesεs provided to the blackboard. Note that interpolation routines (e.g., conventional algorithms such as Lagrange or Newton polynomials) may be used to detεrminε an εquation that approximates a target MS path corresponding to a currently aαive location hypothesis.

Subsequεntly, such an extrapolation equation may be used to compute a future target MS loαtion. For further information regarding such interpolation schemes, thε following reference is incorporated herein by reference: Mathews, 1992, Numerical methods for mathεmatiα, sriεncε, and engineering. Englewood Cliffs, NJ: Prent ε Hall. Accordingly, if a new currently aα'rve location hypothesis (e.g., supplied by the context adjuster) is received by the blackboard, then the target MS loαtion estimate of the new location hypothesis may bε compared with the prediαed loαtbn. Consequently, a confidencε adjustment value n bε determined according to how well if the loαtion hypothesis "i" . That is, this confidencε adjustment value will be larger as the new MS estimate and thε predktεd estimate becomε closer together.

Note that in one embodiment of the present invεntion, such prediαions are basεd solely on previous target MS bαtion estimatεs output by loαtion enginε 139. Thus, in such an εmbodimεnt, substantially every currently aαive location hypothesis an be provided with a confidεncε adjustment value by this module once a sufficient number of prevbus targεt MS bcation estimates have been output Accordingly, a value, extrapolatioπ_chk(i), that represents how accurately thε new currently aαive loαtion hypothesis (identified here by "i") matches the prediαed bcation is determined.

Hypothesis Generating Module

The hypothesis generating module 1428 is used for genεrating additional loαtbn hypothεsεs according to, for εxamplε, MS loαtbn information not adεquately utilizεd or modεlεd. Note, loαtion hypothεses may also bε decomposed here if, for εxamplε it is determined that a loαtbn hypothεsis includes an MS area estimate that has subareas with radially different characteristics such as an arεa that includes an uninhabited area and a densely populated area. Additionally, the hypothesis genεrating module 1428 may generate "poor reception" loαtion hypothesεs that specify MS bαtion areas of known poor reception that are "near" or iπtεrsεα currently aαive bcation hypotheses. Note, that these poor reception location hypothεsεs may bε specially tagged (e.g., with a distinαive FOMJD value or specific tag field) so that regardless of substantially any other loαtbn hypothesis confidence value overlapping such a poor reception area, such an area will maintain a confidencε value of "unknown" (i.e., zero). Note that substantially the only excεption to this constraint is location hypothεses genεrated from mobilε base stations 148.

Mobile Basε Station Location Subsystem Description

Mobile Base Station Subsystem Introduction

Any collection of mobile eleαronics (denoted mobile bcation unit) that is able to both estimatε a location of a targεt MS 140 and communicate with thε base station network may be utilized by thε prεsεnt invεntion to more accurately locate the target MS. Such mobile location units may providε greater targεt MS loαtion accuracy by, for example, homing in on the target MS and by transmitting additional MS loαtion information to the bcation centεr 142. Thεre are a numbεr of embodiments for such a mobile location unit contemplated by the present invention. For examplε, in a minimal vεrsion, such the eleαronics of the mobile location unit may be little more than an onboard MS 140, a sεctored/direαional antenna and a controller for communicating between thε . Thus, the onboard MS is used to communicate with the location centεr 142 and possibly the target MS 140, while the antenna monitors signals for homing in on the target MS 140. In an enhanced version of the mobile locatbn unit, a GPS recεivεr may also bε incorporated so that thε location of thε mobilε location unit may bε dεtεr inεd and consequently an estimatε of thε location of thε targεt MS may also bε dεtεrminεd. Howεvεr, such a mobilε location unit is unlikely to be able to determinε substantially more than a direαion of the target MS 140 via the seαored/dirεctional antenna without furthεr basε station infrastruαure cooperation in, for example, determining the transmission power lεvel of the target MS or varying this power ievεl. Thus, if thε targεt MS or thε mobilε location unit lεavεs the coveragε arεa 120 or residεs in a poor communication arεa, it may bε difficult to accurately determine where thε target MS is located. Nonε-thε-lεss, such mobile bcation units may be sufficient for many situations, and in fact the present invention contemplates thεir usε. However, in cases where direct communication with the target MS is desired without constant contaα with the basε station infrastructure, thε present invention includes a mobile location unit that is also a scaled down version of a base station 122. Thus, given that such a mobile basε station or MBS 148 includes at least an onboard MS 140, a seαored/dirεαionai antenna, a GPS recεivεr, a scalεd down base station 122 and sufficient components (including a controller) for integrating thε capabilities of thesε dεvicεs, an επhaπcεd autonomous MS mobilε location systε can be providεd that can bε effectively used in, for examplε, emergency vehicles, air planes and boats. Accordingly, thε description that follows below describes an embodiment of an MBS 148 having the above mεntioned components and capabilities for use in a vehicle.

As a consequεncε of thε MBS 148 being mobile, there are fundamεntal diffεrεnces in the operation of an MBS in comparison to other types of BS's 122 (152). In particular, other types of base stations have fixεd locations that are precisely dεtεrminεd and known by the loαtion center, whereas a locatbn of an MBS 148 may bε known only approximately and thus may require rεpεated and frequent re-estimating. Secondly, other types of base stations have substantially fixed and stable communication with the bcation center (via possibly other BS's in thε casε of LBSs 152) and therefore although thesε BS's may be more reliable in their in their ability to communicate information related to the bcation of a targεt MS with the bcation centεr, accuracy can bε problεmatic in poor reception areas. Thus, MBS's may be used in areas (such as wilderness areas) where there may be no other means for reliably and cost effectively locating a target MS 140 (i.e., there may be insufficient fixed location BS's coverage in an area). Fig. 11 providεs a high lεvεl block diagram architecture of onε εmbodimeπt of the MBS loαtion subsystem 1508. , Accordingly, an MBS may include components for communicating with the fixed location BS network infrastructure and thε location cεntεr 142 via an on-board transceiver 1512 that is effectively an MS 140 integrated into the bcation subsystem 1508. Thus, if the MBS 148 travels through an area having poor infrastruαure signal covεragε, thεn thε MBS may not bε ablε to communicate reliably with the bcation center 142 (e.g., in rural or mountainous areas having reduced wirelεss telephony covεragε). So it is desirable that thε MBS 148 must bε capable of functioning substantially autonomously from the location center. In one embodiment, this implies that each MBS 148 must be capable of estimating both its own bcation as well as thε bcation of a targεt MS 140.

Additionally, many co mεrcial wirelεss tεlεphony technologies require all BS's in a nεtwork to be very accurately time synchronized both for transmitting MS voice communication as well as for other services such as MS bcation. Accordingly, the MBS 148 will also require such time synchronization. Howevεr, sincε an MBS 148 may not bε in constant communication with thε fixεd location BS nεtwork (and indεεd may bε off-line for substantial periods of time), on-board highly accurate timing devicε may be necessary, in one embodimεnt, sudi a dεvicε may be a commercially available ribidium oscillator 1520 as shown in Fig. I I.

Since the MBS 148 , includes a scaled down version of a BS 122 (denotεd 1522 in Fig. 11), it is capable of performing most typical BS 122 tasks, albeit on a reducεd scale. In particular, thε basε station portion of the MBS 148 can: (a) raise lower its pilot channεl signal strength,

(b) bε in a state of soft hand-off with an MS 140, and/or

(c) bε the primary BS 122 for an MS 140, and consεquently bε in voicε communication with thε targεt MS (via thε MBS operator tεlεphony interface 1524) if the MS supports voice commuπiαtion. further, the MBS 148 can, if it becomεs the primary base statbn communicating with the MS 140, request the MS to raise lower its power or, more generally, control the communication with the MS (via the base station components 1522). Howevεr, sincε thε MBS 148 will likely have substantially reduced teiεphony traffic capacity in comparison to a standard infrastruαurε basε station 122, notε that the pilot channεl for the MBS is preferably a nonstandard pilot channεl in that it should not be identiiiεd as a conventional tεlεphony traffic bεaring BS 122 by MS's sεeking normal telephony communication. Thus, a target MS 140 requesting to be located may, depending on its αpabiiities, either automatically configure itself to scan for certain predetermined MBS pilot channels, or be instruαed via thε fixεd bcation base station nεtwork (equivalently BS infrastruαurε) to scan for a cεrtain predεtεrmined MBS pilot channεl.

Moreover, the MBS 148 has an additional advantage in that it can substantially increasε the reliability of communication with a target MS 140 in comparison to the base statbn infrastruαure by being able to move toward or track thε target MS 140 evεn if this MS is in (or movεs into) a rεducεd infrastruαure basε station nεtwork covεrage area. Furthermore, an MBS 148 may preferably use a direαional or smart antenna 1526 to more accurately locate a direαion of signals from a target MS 140. Thus, the sweεping of such a smart antenna 1526 (physically or electronically) providεs direαional information regarding signals recεived from the target MS 140. That is, such direαional information is determined by the signal propagation delay of signals from the target MS 140 to the angular seαors of one of more direαional antennas 1526 on-board the MBS 148. Before proceεding to furthεr details of the MBS locatbn subsystem 1508, an examplε of the operation of an MBS 148 in the context of responding to a 911 emergency call is given. In particular, this εxamplε dεscribεs the high level computational states through which the MBS 148 transitions, thesε states also bεing illustrated in thε state transition diagram of Fig. 12. Notε that this figure illustrates the primary state transitions between thesε MBS 148 states, wherein the solid state transitions are indicativε of a typical "ideal" progression whεπ locating or tracking a targεt MS 140, and thε dashεd state transitions are the primary state reversions due, for εxa ple, to difficulties in locating the target MS 140.

Accordingly, initially the MBS 148 may bε in an inaα'rve state 1700, wherein the MBS bcation subsystem 1508 is effεαively available for voice or data communication with the fixεd location basε station nεtwork, but thε MS 140 locating capabilities of thε MBS are not aαive. From the iπaαive state 1700 the MBS (e.g., a police or rescue vehiclε) may εntεr an aαivε state 1704 once an MBS operator has logged onto thε MBS bcation subsystem of thε MBS, such logging bεing for authentication, verification and journaling of MBS 148 evεnts. In thε active state 1704, the MBS may be listed by a 911 emergency center and/or the location centεr 142 as eligible for service in responding to a 911 requεst. From this state, the MBS 148 may transition to a ready state 1708 signifying that the MBS is ready for usε in locating and/or intεrcεpting a targεt MS 140. That is, thε MBS 148 may transition to thε ready state 1708 by performing the folbwing steps: (la) Synchronizing the timing of the bcation subsystem 1508 with that of thε base station nεtwork infrastructure. In one εmbodimεnt, whεn requesting such time synchronization from the base station infrastruαure, the MBS 148 will be at a predetermined or well known bcation so that the MBS time synchronization may adjust for a known amount of signal propagation delay in the synchronization signal, (lb) Establishing the location of the MBS 148. In one εmbodimεnt, this may bε accomplished by, for example, an MBS operator identifying thε predetermined or well known bcation at which the MBS 148 is located.

(Ic) Communicating with, for εxamplε, the 911 emεrgεncy center via thε fixed location basε station infrastruαurε to identify the MBS 148 as in thε ready state.

Thus, whilε in thε ready state 1708, as the MBS 148 moves, it has its location repεatedly (re)-estimatεd via, for example, GPS signals, location center I42S location estimates from the base stations 122 (and 152), and an on-board deadreckoning subsystem 1527 having an MBS location εstimator according to thε programs dεscribεd hereinbelow. Howevεr, notε that thε accuracy of thε base station time synchronization (via thε ribidiu oscillator 1520) and the accuracy of the MBS 148 bαtion may neεd to both bε periodically recalibrated according to (la) and (lb) abovε.

Assuming a 911 signal is transmitted by a targεt MS 140, this signal is transmitted, via thε fixed bcation base station infrastructure, to thε 911 emergεncy center and the locatbn centεr 142, and assuming thε MBS 148 is in thε ready state 1708, if a corresponding 911 εmεrgεncy rεquεst is transmitted to thε MBS (via the base station infrastruαure) from the 911 emergεncy cεntεr or thε location centεr, thεn thε MBS may transition to a sεεk state 1712 by performing thε following steps:

(2a) Communicating with, for examplε, thε 911 εmεrgεπcy response center via the fixed bcation base station nεtwork to recεivε thε PN code for the target MS to be located (wherein this communication is performed using the MS-like transceiver 1512 and/or the MBS operator telephony interface 1524). (2b) Obtaining a most rεcεnt target MS location estimate from eithεr the 911 emergency centεr or the bcation centεr 142. (2c) Inputting by thε MBS opεrator an acknowlεdgmεnt of thε targεt MS to bε located, and transmitting this acknowledgment to the 911 emεrgεncy response centεr via the transceiver 1512.

Subsequεπtly, when the MBS 148 is in thε sεεk state 1712, thε MBS may commεπcε toward thε targεt MS location estimate provided. Note that it is likely that the MBS is not initially in direα signal contaα with the target MS. Accordingly, in the seek state 1712 the folbwing steps may be, for examplε, performed:

(3a) The loαtion centεr 142 or thε 911 emergεncy response center may inform the target MS, via the fixed bcation base station network, to lower its threshold for soft hand-off and at least periodically boost its bcation signal strength. Additionally, thε targεt MS may be informed to sαn for the pilot channel of thε MBS 148. (Note the aαions here are not, aαions performed by the MBS 148 in the "seek state"; howevεr, thεse aαions are given here for clarity and completeness.) (3b) Repεatεdly, as sufficiεnt nεw MS location information is available, the bcation centεr 142 providεs nεw MS location estimates to the MBS 1 8 via thε fixεd bcation base station network. (3c) The MBS repεatεdly providεs the MBS opεrator with nεw targεt MS location εstimates provided substantially by the location center via the fixed bcation base station network.

(3d) The BS 148 repeatedly attempts to dεtεα a signal from thε targεt MS using thε PN codε for the target MS. (3e) The MBS 148 repeatedly estimates its own location (as in other states as well), and receives MBS location estimatεs from thε location cεnter.

Assuming that the MBS 148 and target MS 140 deteα one another (which typically occurs when the two units are within .25 to 3 miles of one another), the MBS εntεrs a contaα state 1716 when the targεt MS 140 εntεrs a soft hand -off state with the MBS. Accordingly, in the contaα state 1716, the following steps are, for example, performed: (4a) The MBS 148 repeatedly estimatεs its own bcation.

(4b) Repeatedly, the location centεr 142 providεs nεw targεt MS 140 and MBS location εstimatεs to the MBS 148 via the fixed location base infrastruαure network.

(4c) Since the MBS 148 is at least in soft hand-off with the targεt MS 140, thε MBS an estimate the direαion and distance of thε targεt MS itself using, for εxamplε, deteαed target MS signal strength and TOA as well as using any recεnt location cεntεr targεt MS bcation εstimatεs. (4d) Thε MBS 148 repeatedly provides the MBS operator with new target MS bcation estimates provided using MS location estimates providεd by thε MBS itsεlf and by thε location center via the fixed bcation base station network.

When the target MS 140 deteαs that thε MBS pilot channel is sufficiently strong, the target MS may switch to using the MBS 148 as its primary base station. When this occurs, the MBS enters a control state 1720, wherein the following steps are, for example, performed: (5a) The MBS 148 repeatedly estimatεs its own loαtion.

(5b) Repeatedly, the location center 142 provides new target MS and MBS location estimatεs to the MBS 148 via the network of base stations 122 (152). (5c) The MBS 148 estimates the direαion and distancε of thε targεt MS 140 itself using, for example, deteαed target MS signal strength and TOA as wεll as using any recεnt bcation cεnter target MS location estimates.

(5d) The MBS 148 repeatedly providεs thε MBS operator with new target MS ioαtion estimates providεd using MS location εstimatεs providεd by thε MBS itsεlf and by thε locatbn center 142 via the fixεd location base station network. (5e) The MBS 148 becomes the primary base statbn for the targεt MS 140 and therefore controls at least the signal strength output by the target MS. Note, there can be more than one MBS 148 tracking or locating an MS 140. Thεre can also bε more than onε targεt MS 140 to bε tracked concurrently and each targεt MS bεing tracked may bε stationary or moving.

MBS Subsystεm Architεcture

An MBS 148 uses MS signal characteristic data for locating thε MS 140. Thε MBS 148 may usε such signal charaαeristic data to facilitate determining whεthεr a given signal from the MS is a "direα shot" or an multipath signal. That is, in oπε εmbodimεnt, thε MBS 148 attempts to determine or detect whether an MS signal transmission is received direαly, or whεthεr thε transmission has been reflected or deflected. For example, the MBS may determine whether the expeαed signal strength, and TOA agrεε in distancε estimates for thε MS signal transmissions. Notε, othεr signal characteristics may also be used, if there are sufficient eleαronics and processing available to the MBS 148; i.e., dεtermining signal phasε and/or polarity as othεr indications of receiving a "direα shot" from an MS 140. In one embodiment, the MBS 148 (Fig. II) includes an MBS controller 1533 for controlling thε bcation capabilities of the MBS

148. In particular, thε MBS controller 1533 initiates and controls the MBS state changes as described in Fig. 12 above. Additionally, the MBS controller 1533 also communiαtes with the locatbn controller 1535, wherein this latter controller controls MBS aαivities related to MBS location and target MS location; e.g., this performs the program, "mobile_basε_station_controller" described in APPENDIX A hereinbelow. The bcation controller 1535 recεivεs data input from an event generator 1537 for generating event records to be provided to the loαtion controller 1535. For examplε, records may bε generated from data input received from: (a) the vehiclε ovεmεnt dεtεαor 1539 indiαting that thε MBS 148 has movεd at least a predεtεrminεd amount and/or has changεd direαion by at iεast a predetermined aπglε, or (b) the MBS signal processing subsystem 1541 indicating that the additional signal measuremεnt data has bεεn received from eithεr thε bcation cεntεr 142 or the target MS 140. Note that the MBS signal processing subsystem 1541 , in one embodiment, is similar to the signal processing subsystem 1220 of the location center 142. may havε multiplε command schεdulers. In particular, a scheduler 1528 for commands related to communicating with the bcation center 142, a schedulεr 1530 for commands related to GPS communication (via GPS receiver 1531), a schedulεr 1529 for commands related to thε frequency and granularity of the reporting of MBS changes in direαion and/or position via the MBS dead reckoning subsystem 1527 (note that this schedulεr is potentially optional and that such commands may be provided direαly to the deadrεckoning εstimator 1544), and a scheduler 1532 for communicating with the targεt MS(s) 140 being located. Furthεr, it is assumεd that thεre is sufficiεnt hardware and/or software to appear to perform commands in different schedulers substantially concurrently. In order to display an MBS computed bcation of a target MS 140, a location of the MBS must be known or detεrmiπεd. Accordingly, εach MBS 148 has a plurality of MBS location εstimators (or hεreinafter also simply referred to as location estimators) for determining the bcation of the MBS. Each such bcation estimator computes MBS locatbn information such as MBS loαtion estimates, changes to MBS bcation estimates, or, an MBS location estimator may be an interface for buffering and/or translating a previously computed MBS loαtion estimate into an appropriate format. In particular, the MBS bcation module 1536, which determines the location of the MBS, may include thε following MBS bcation εstimators 1540 (also dεnotεd baseline location estimators):

(a) a GPS location estimator 1540a (not individually shown) for computing an MBS bcation estimate using GPS signals,

(b) a loαtion centεr location εstimator 1540b (not individually shown) for buffering and/or translating an MBS estimatε received from the location center 142,

(c) an MBS operator locatbn estimator 1540c (not individually shown) for buffering and/or translating manual MBS location entriεs received from an MBS location operator, and

(d) in some MBS embodiments, an LBS location εstimator I540d (not individually shown) for thε activating and dεactivating of LBS's 152. Note that, in high multipath areas and/or stationary base station marginal coveragε areas, such low cost location base statbns 152 (LBS) may be provided whose locations are fixed and accuratεly predetermined and whose signals are substantially only receivable within a relativεly small range (e.g., 2000 feεt), thε range potentially being variable. Thus, by communicating with the LBS's 152 direαly, the MBS 148 may be able to quickly usε thε locatbn information relating to the bcation base stations for determining its location by using signal charaαeristics obtained from the LBSs 152. Note that each of the MBS baseline location εstimators 1540, such as thosε abovε, providε an actual MBS locatbn rather than, for example, a change in an MBS bcation. Further note that it is an aspect of the present invention that additional MBS baselinε location estimators 1540 may be easily integrated into the MBS bcation subsystem 1508 as such baseline bcation estimators become available. For example, a baseline bcation estimator that receives MBS loαtion estimates from reflective codes providεd, for examplε, on streets or street signs can bε straightforwardly incorporated into the MBS locatbn subsystem 1508.

Additionally, note that a plurality of MBS location technologies and thεir corresponding MBS location estimators are utilized due to the faα that there is currently no single locatbn technology available that is both sufficiently fast, accurate and accessible in substantially all terrains to meεt the loαtbn nεεds of an MBS 148. For example, in many terrains GPS technologiεs may bε sufficiently accurate; howεvεr, GPS technologies: (a) may require a relatively longtime to provide an initial location estimatε (ε.g., greater than 2 minutes); (b) whεn GPS communication is disturbed, it may require an equally long time to provide a new location estimate; (c) clouds, buildings and/or mountains can prevent bcation estimates from being obtained; (d) in some cases signal reflections can substantially skew a location estimate. As another example, an MBS 148 may be able to use triangulation or trilateraiization technologies to obtain a location estimate; howevεr, this assumes that there is sufficient (fixed location) infrastructure BS coverage in the area the MBS is located. Further, it is well known that the multipath pheno εnon can substantially distort such location εstimatεs. Thus, for an MBS 148 to bε highly εffεαivε in variεd terrains, an MBS is provided with a plurality of loαtion technologies, each supplying an MBS location estimatε. In fact, much of the architeαure of the location engine 139 could be incorporated into an MBS 148. For example, in some embodimεnts of thε MBS 148, thε following FOMs 1224 may havε similar location modεls incorporatεd into the MBS:

(a) a variation of the distance FOM 1224 wherein TOA signals from communicating fixεd location BS's are received (via the MBS transceiver 1512) by the MBS and used for providing a bcation estimate;

(b) a variation of the artificial neural net based FOMs 1224 (or more generally a ioαtion learning or a classification model) may be used to provide MBS location estimatεs via, for εxamplε, learned associations between fixed location

BS signal charaαeristics and geographic locations;

(c) an LBS bcation FOM 1224 for providing an MBS with the ability to activate and deaαivatε LBS's to providε (positive)

MBS bcation εstimates as wεll as nεgativε MBS bcation regions (i.ε., regions where the MBS is unlikely to be since one or more LBS's are not deteαed by the MBS transceiver); (d) one or more MBS location reasoning agents and/or a locatbn estimate heuristic agents for resolving MBS bcation estimatε conflicts and providing greater MBS bcation estimatε accuracy. For εxamplε, modulεs similar to thε analytical rεasonεr modulε 1416 and thε historical locatbn rεasonεr modulε 1424. However, for those MBS location models requiring communication with the basε station infrastruαure, an alternative embodiment is to rely on the bcation center 142 to perform the computations for at least somε of these MBS FOM models. That is, since each of the MBS location models mentionεd immediately above require communication with the network of fixed location BS's 122 (152), it may be advantageous to transmit MBS bcation estimating data to the location center 142 as if the MBS were another MS 140 for the location center to locate, and thereby rely on the location estimation capabilities at the location center rather than duplicate such models in the MBS 148. The advantages of this approach are that:

(a) an MBS is likely to be able to use less expensive processing power and software than that of the location cεntεr; (b) an BS is likely to require substantially less memory, particularly for data bases, than that of the location centεr.

As will be discussed further below, in one embodimεnt of thε MBS 148, thεrε are confidεncε valuεs assigned to the locations output by the various location εstimators 1540. Thus, the confidence for a manual entry of location data by an MBS operator may be rated the highest and followed by the confidence for (any) GPS bcation data, followed by the confidencε for (any) location center location 1 2 estimates, followed by the confidεncε for (any) location εstimatεs using signal characteristic data from LBSs. However, such prioritization may vary depεnding on, for instancε, the radio coveragε area 120. In an onε εmbodimεnt of thε present invention, it is an aspect of the present invention that for MBS bcation data received from the GPS and locatbn center, their confidences may vary according to the area in which the MBS 148 resides. That is, if it is known that for a given area, there is a reasonable probability that a GPS signal may suffer multipath distortions and that the location center has in the past provided reliable location estimates, then the confidences for these two location sources may be reversed. In onε embodiment of thε present invεntion, MBS operators may be requested to occasionally manually enter the location of the MBS 148 when the MBS is stationary for determining and/or calibrating the accuracy of various MBS loαtion εstimators.

There is an additional important sourcε of location information for thε MBS 148 that is incorporated into an MBS vehicle (such as a police vehicle) that has no comparable fuπαbnality in the network of fixed bcation BS's. That is, thε MBS 148 may usε deadreckoning information provided by a deadreckoning MBS bcation estimator 1544 whereby the MBS may obtain MBS deadreckoning location change estimates. Accordingly, the deadreckoning MBS bcation estimator 1544 may use, for example, an onboard gyroscope 1550, a wheel rotation measurement devicε (ε.g., odometer) 1554, and optionally an accelεromεtεr (not shown). Thus, such a dεadrεckoπing MBS location εsti ator 1544 periodically providεs at lεast MBS distance and direαional data related to MBS move εnts from a most recent MBS bcation εstimate. More precisely, in the abseπcε of any othεr nεw MBS loαtion information, thε dεadrεckoning MBS bcation estimator 1544 outputs a seriεs of mεasurements, wherein each such measurement is an estimated change (or delta) in the position of the MBS 148 between a request input timestamp and a closest time prior to the timestamp, wherein a previous deadreckoning terminated. Thus, εach dεadrεckoning bcation changε estimate includes the folbwing fields:

(a) an "earliest timestamp" field for designating the start time when the dεadreckoning location change estimatε commεncεs mεasuring a changε in thε location of thε MBS;

(b) a "latest timεstamp" fiεld for designating the end time when the deadreckoning bcation change estimate stops measuring a change in the bcation of the MBS; and

(c) an MBS loαtion change veαor.

That is, the "latest timestamp" is the timestamp input with a request for deadreckoning bcation data, and thε "earliest timestamp" is the timεstamp of thε closεst timε, T, prior to thε latεst timεstamp, wherein a previous dεadrεckoniπg output has its a timεstamp at a time εqual to T.

Further, the frequency of such measur mεnts provided by the deadreckoning subsystem 1527 may be adaptively providεd depending on the velocity of the MBS 148 and/or the elapsed time since the most recent MBS locatbn update. Accordingly, the architeαure of at least some embodimεnts of thε MBS bcation subsystem 1508 must be such that it can utilize such deadreckoning information for estimating the loαtion of thε MBS 148.

In onε εmbodimεnt of thε MBS bcation subsystem 1508 dεscribεd in furthεr detail hereinbelow, the outputs from the deadreckoning MBS location estimator 1544 are used to synchronize MBS loαtion estimatεs from different MBS basεline bcation estimators. That is, since such a deadreckoning output may be requested for substantially any time from the deadreckoning MBS loαtion estimator, such an output can be requested for substantially the same point in time as the occurrence of the signals from which a new MBS baseline bcation estimatε is derived. Accordingly, such a deadreckoning output can be used to update othεr MBS location estimates not using the new MBS baseline bcation estimate.

It is assumed that the εrror with dεad reckoning increases with dεadrεckoning distancε. Accordingly, it is an aspεct of thε εmbodimεnt of thε MBS locatbn subsystem 1508 that whεn incrementally updating thε locatbn of the MBS 148 using deadreckoning and applying deadreckoning location changε estimates to a "most likely area" in which the MBS 148 is believed to be, this area is incrementally enlarged as well as shifted. The enlargement of the area is used to account for the inaccuracy in the deadreckoning capability. Note, however, that the deadreckoning MBS location estimator is periodically reset so that the error accumulation in its outputs can be decreased. In particular, such resetting occurs whεn thεre is a high probability that the location of the MBS is known. For example, the deadreckoning MBS location estimator may be resεt when an MBS operator manually enters an MBS location or verifies an MBS bcation, or a computed MBS bcation has sufficiently high confidence.

Thus, due to the MBS 148 having less accurate location information (both about itself and a target MS 140), and further that deadreckoning information must be utilized in maintaining MBS bcation εstimatεs, a first εmbodimεnt of thε MBS location subsystem architeαure is somewhat different from the location engine 139 architeαure. That is, the architeαure of this first embodiment is simpler than that of the architeαure of the loαtion εnginε 139. Howiver, it important to note that, at a high level, the architεαure of thε loαtion επginε 139 may also bε appliεd for providing a sεcond εmbodimεnt of thε MBS bcation subsystem 1508, as onε skillεd in thε art will appr ciatε after reflecting on the architeαures and procεssing providεd at an MBS 1 8. For example, an MBS bcation subsystem 1508 architeαure may be provided that has one or more first order models 1224 whose output is supplied to, for example, a blackboard or expert system for resolving MBS location estimatε confliαs, such an architeαure being analogous to one embodiment of the location enginε 139 architecture. Furthermore, it is also an important aspeα of thε presεπt invεntioπ that, at a high level, the MBS bcation subsystem architeαure may also be applied as an alternative architecture for the location engine 139. For example, in one embodimεnt of the loαtion enginε 139, εach of thε first ordεr modεls 1224 may providε its MS bcation hypothεsis outputs to a corresponding "location track," analogous to thε MBS location tracks described hereinbelow, and subsequently, a most likely MS current bcation estimatε may bε developed in a "current location track" (also describεd hereinbelow) using the most recent location estimates in other location tracks.

Further, note that thε idεas and mεthods discussεd here relating to MBS location εstimators 1540 and MBS location tracks, and, thε related programs hereinbelow are sufficiently general so that thesε idεas and mεthods may bε appliεd in a numbεr of contexts related to dεtermining the location of a devicε capablε of movεmεnt and wherein the location of the device must be maintained in real time. For example, the present ideas and methods may be used by a robot in a very cluttered environment (e.g., a warehouse), wherein the robot has access: (a) to a plurality of "robot bcation estimators" that may provide the robot with sporadic location information, and (b) to a deadreckoning bcation estimator.

Each MBS 148, additionally, has a loαtion display (denotεd the MBS operator visual user interface 1558 in Fig. I I) where area maps that may be displayed together with location data. In particular, MS location data may be displayed on this display as a nested colleαion of areas, each smaller πεstεd arεa bεing the most likely area within (any) encompassing area for locating a targεt MS 140. Notε that thε MBS controller algorithm below may bε adapted to receive location center 142 data for displaying the locations of other MBSs 148 as well as target MSs 140.

Further, the MBS 148 may constrain any bcation estimatεs to streets on a street map using the MBS bcation snap to street module 1562. For εxa ple, an estimated MBS location not on a street may bε "snapped to" a nearest street location. Note that a nearest streεt location dεterminer may usε "normal" orientations of vehicles on streets as a constraint on the nearest street location. Particularly, if an MBS 148 is moving at typical rates of speεd and acceleration, and without abrupt changes direαion. For example, if the deadreckoning MBS bcation estimator 1544 indicates that thε MBS 148 is moving in a northerly direαion, then the street snapped to should be a north-south running streεt. Moreover, the MBS bcation snap to street module 1562 may also be used to enhance target MS bcation εstimatεs whεn, for εxamplε, it is known or suspεαed that the target MS 140 is in a vehicle and the vehicle is moving at typical rates of speεd. Furthermore, the snap to streεt bcation module 1562 may also bε used in enhancing the location of a target MS 140 by eithεr thε MBS 148 or by thε locatbn εnginε 139. In particular, thε location εstimator 1344 or an additional modulε between thε location εstimator 1344 and thε output gateway 1356 may utilize an εmbodimεnt of thε snap to streεt location module 1562 to enhance the accuracy of target MS 140 bcation estimatεs that are known to bε in vεhiclεs. Notε that this may be especially useful in locating stolen vehiclεs that have embedded wireless bαtion transceivers (MSs 140), wherein appropriate wireless signal measurements απ be provided to thε location center 142.

MBS Data Struαure Rεmarks

Assuming thε εxistεncε of at least some of the locatbn estimators 1540 that were mentioned above, thε discussion here refers substantially to the data struαures and their organization as illustrated in Fig. 13.

The location estimates (or hypotheses) for an MBS 148 determining its own loαtion each have an εrror or rangε εstimate associated with thε MBS location estimate. That is, each such MBS location estimatε includεs a "most likεly MBS point locatbn" within a "most likely area". The "most likely MBS point location" is assumed herein to be the centroid of the "most likεly area." In one embodiment of the MBS location subsystem 1508, a nεstεd sεriεs of "most likεly areas" may be provided about a most likely MBS point bcation. However, to simplify the discussion herein each MBS location estimate is assumed to have a single "most likely area". One skilled in the art will understand how to provide such nested "most likεly arεas" from thε dεscription hεrεin. Additionally, it is assumεd that such "most likεly arεas" are not grossly oblong; i.ε., arεa cross seαioning lines through the centroid of the area do not have large differencεs in thεir lengths. For examplε, for any such "most likεly arεa", A, no two such cross seαioning lines of A may have lengths that vary by more than a factor of two.

Each MBS location estimatε also has a confidεncε associated therewith providing a measurement of the percεivεd accuracy of thε MBS being in the "most likely area" of the location estimate. A (MBS) "location track" is an data struαure (or objεct) having a quεuε of a prεdeterminεd lεngth for maintaining a temporal

(timεstamp) ordεring of "locatbn track entries" such as the loαtion track entriεs 1770a, 1770b, 1774a, 1774b, 1778a, 1778b, 1782a, 1782b, and 1786a (Fig. 13), wherein each such MBS locatbn track entry is an estimatε of the bcation of the MBS at a particular corresponding time.

There is an MBS loαtion track for storing MBS location entries obtained from MBS bcation estimation information from each of thε MBS basεlinε loαtion εstimators dεscribεd abovε (i.ε., a GPS bcation track 1750 for storing MBS bcation εstimatioπs obtainεd from thε GPS location εstimator 1540, a locatbn cεntεr location track 1754 for storing MBS bcation εstimatioπs obtained from the location estimator 1540 deriving its MBS bcation estimatεs from thε loαtion cεnter 142, an LBS bcation track 1758 for storing MBS location estimations obtained from thε bcation εstimator 1540 dεriving its MBS bcation εstimatεs from basε stations 122 and/or 152, and a manual locatbn track 1762 for MBS opεrator επtered MBS locations). Additionally, thεrε is one further bcation track, denotεd thε "current location track" 1766 whose bcation track entries may be derivεd from thε entries in the other location tracks (describεd further hereinbelow). Further, for each bcation track, there is a loαtion track head that is the head of the queuε for thε location track. The location track head is the most recεnt (and presumably the most accurate) MBS location estimate residing in the loαtion track. Thus, for the GPS bcation track 1750 has bcation track head 1770; the bcation center loαtion track 1754 has location track head 1774; the LBS bcation track 1758 has loαtioπ track head 1778; the manual locatbn track 1762 has location track head 1782; and the current location track 1766 has location track head 1786. Additionally, for notational conveniencε, for each loαtion track, the time seriεs of previous MBS bcation εsti ations (i.ε., bcation track επtriεs) in the location track will herein be denoted the "path for the bcation track." Such paths are typically thε lεngth of thε location track queue containing the path. Note that the length of each such queuε may bε dεtεrmined using at least thε folbwing considerations:

(i) In cεrtain circumstances (described hereinbelow), the location track entriεs are r movεd from thε hεad of the location track queuεs so that bcation adjustments may be made, in such a case, it may be advantageous for the length of such queuεs to be greater than the number of entriεs that are expeαεd to bε rεmovεd; (ii) In determining an MBS bcation estimate, it may be desirablε in somε εmbodimεnts to providε nεw location εstimatεs basεd on paths associated with prevbus MBS bcation estimates provided in the corresponding bcation track queuε. Also notε that it is within thε scope of the presεnt invention that the location track queue lengths may be a lεngth of one. Regarding bcation track entriεs, εach locatbn track entry includes: (a) a "derived location estimatε" for thε MBS that is dεrivεd using at lεast onε of:

(i) at lεast a most recent previous output from an MBS baseline location estimator 1540 (i.ε., the output being an

MBS location estimatε); (ii) deadreckoning output information from thε deadreckoning subsystem 1527. Further note that each output from an MBS bcation εstimator has a "type" field that is usεd for identifying thε MBS location estimator of the output.

(b) an "earliest timestamp" providing the time/date when the earliest MBS bcation information upon which the derivεd loαtion εstimate for thε MBS dεpeπds. Note this will typically be the timestamp of thε εarliεst MBS bcation εstimate (from an MBS baseline location estimator) that supplied MBS location information used in deriving the derivεd bcation εstimatε for thε MBS 148. (c) a "latest timestamp" providing the time/date whεn thε latest MBS location information upon which thε dεrived bcation estimate for the MBS depends. Note that earliest timestamp = latest timestamp only for so called "baseline entries" as defined hereinbelow. Further note that this attribute is the one used for maintaining the "temporal (timestamp) ordering" of location track entries. (d) A "dεadreckoning distance" indicating the total distance (ε.g., wheel turns or odometer diffεrεncε) sincε thε most recently prevbus baselinε εntry for thε corresponding MBS location estimator for the location track to which the bcation track entry is assigned. For each MBS location track, there are two categories of MBS location track entriεs that may be inserted into a MBS bcation track:

(a) "baselinε" εntries, wherein each such baselinε εntry includεs (depεπding on thε locatbn track) a bcation εstimatε for thε MBS 148 derived from: (i) a most recent previous output either from a corresponding MBS baseline bcation estimator, or (ii) from the baseiiπε entries of other location tracks (this latter case being thε for the "current" loαtion track); (b) "extrapolation" entries, wherein each such entry includes an MBS location estimatε that has bεen extrapolated from the (most recεπt) bcation track head for the location track (i.e., based on the track head whose "latest timεstamp" immεdiatεly precedes the latest timestamp of the extrapolation entry). Each such extrapolation entry is computed by using data from a related deadreckoning bcation change estimatε output from the deadreckoning MBS bcation estimator 1544. Each such deadreckoning bcation change estimatε includεs mεasurεmεnts related to changes or deltas in the bcation of the MBS 148. More precisely, for each loαtioπ track, each extrapolation entry is detεrminεd using: (i) a basεlinε entry, and (ii) a sεt of onε or more (i.e., all later occurring) dεad reckoning location chaπgε εstimatεs in increasing "latest timεstamp" ordεr. Notε that for notational convenience this set of one or more deadreckoning bcation change estimates will be denotεd the "deadreckoning location change estimatε sεt" associatεd with the extrapolation entry resulting from this set. (c) Note that for each bcation track head, it is either a baseline entry or an extrapolation entry. Further, for each extrapolation entry, there is a most recεnt basεlinε εntry, B, that is εarlier than the extrapolation entry and it is this B from which the extrapolation entry was extrapolated. This earliεr basεlinε entry, B, is hereinafter denotεd thε "basεlinε entry associated with the extrapolation entry." More generally, for each location track entry, T, there is a most recent previous baseline entry, B, associated with T, wherein if T is an extrapolation entry, then B is as defined above, else if T is a baseline entry itself, then T = B. Accordingly, note that for each extrapolation entry that is the head of a loαtion track, there is a most recent baseline entry associated with the extrapolation entry. Further, there are two categoriεs of loαtion tracks:

(a) "basεlinε location tracks," εach having basεline entries exclusively from a single predεter ined MBS baseline location estimator; and (b) a "current" MBS bcation track having entries that are computed or detεrmined as "most likely" MBS location estimates from entries in the other MBS loαtion tracks. MBS Location Estimating Strategy

In order to be able to properly compare thε track hεads to determine the most likely MBS loαtion estimatε it is an aspeα of thε present invεntion that thε track hεads of all location tracks include MBS location estimates that are for substantially the samε (latest) timεstamp. Howεvεr, the MBS locatbn information from εach MBS baseline bcation estimator is inherently substantially unprediαable and uπsynchronized. In faα, the only MBS bcation information that may be considered prediαble and controllable is the deadreckoning bcation change estimatεs from the deadreckoning MBS loαtbn estimator 1544 in that thesε εstimates may reliably be obtained whεnεvεr thεre is a que from thε bcation controller 1535 for thε most recent estimate in the change of the loαtion for the MBS 148. Consequεntly (referring to Fig. 13), synchronization records 1790 (having at least a 1790b portion, and in some casεs also having a 1790a portion) may bε providεd for updating εach bcation track with a nεw MBS bcation estimate as a new track head. In particular, each synchronization record includes a deadreckoning bcation change estimatε to bε usεd in updating all but at most one of the location track heads with a new MBS locatbn estimate by using a dεadrεckoning bcation changε estimate in conjunction with each MBS location estimate from an MBS baseline location estimator, the bcation track heads may be synchronized according to timestamp. More precisely, for εach MBS bcation εstimate, E, from an MBS baseline location estimator, the present invention also substantially simultaneously queriεs the deadreckoning MBS location estimator for a corresponding most recent change in the bcation of the MBS 148. Accordingly, E and the retrievεd MBS deadreckoning location change estimate, C, have substantially the same "latest timestamp". Thus, the bcation estimate E may be used to create a new baseline track head for the bcation track having the corresponding type for E, and C may be used to create a corresponding extrapolation entry as the head of each of the other location tracks. Accordingly, since for each MBS location estimate, E, there is a MBS deadreckoning bcation change estimate, C, having substantially the same "latest timestamp", E and C will be hereinafter referred as "paired." High levεl descriptions of an εmbodiment of the location funαions performed by an MBS 148 are provided in APPENDIX A hereinbelow.

APPENDIX A: MBS Function Embodiments

Mobile Base Station Controller Program

mobile_base_station_contr<>ller()

{ wait_for_inpυt_of_first_NBS_ioαtioιient\t); /* "event" is a record (object) with MBS bcation data */

WHILE (no MBS opεrator input to exit) DO

CASE OF (event): /* determine the type of "evεnt" and process it. */ MBS LOCATION DATA RECEIVED FROM GPS:

MBS LOCATION DATA RECEIVED FROM LBS:

MBS LOCATION DATA RECEIVED FROM ANY OTHER HIGHL Y RELIABLE MBS LOCATION SOURCES (EXCEPT LOCATION CENTER):

{ MBS_new_εst <—get_πew_HBS_lo atioπ_using_estimate(vnvιt);

/* Notε, whεnεver a new MBS bcation estimate is entered as a baseline estimate into the bαtion tracks, the other location tracks must be immediately updated with any deadreckoning location change estimates so that all location tracks are substantially updated at the same time. */ deadrεck_εst <---get_deadreckoniπg ocation_chaπge_estimate{w\λt)\ MBS curr est < - DETERMINE_MBS_LOCATION_ESTIMATE(MBS_nεw_est, deadrec est); if (MBS_curr_εst.coπfidεnce > a predetermined high confidence threshold) then et_ deadreckoπing_ HBS_ locatioπ_ estlmator(mnt);

/* deadreckoning starts over from here. */

/* Send MBS location information to the Location Center. */ if ( MBS has not moved sincε thε last MBS location εstimate of this type and is not now moving) then

{ configure the MBS on-board transceiver (e.g., MBS-MS) to immediately transmit bcation signals to the fixed loαtion BS network as if the MBS were an ordinary bcation device (MS);

communicate with the Location Center via the fixed bcation BS infrastruαure the following: (a) a "locate me" signal, (b) HBS_curr_est,

(c) MBS_nεw_εst and

(d) thε timεstamp for thε present evεnt.

Additionally, any bcation signal information between the MBS and the present target MS may be transmitted to the Location Center so that this information may also be used by the Location Center to provide better estimates of where the HBS is. furthεr, if thε MBS dεter ines that it is immediately adjacent to thε target MS and also that its own location estimate is highly reliable (e.g., a GPS estimate), then the MBS may also communicate this information to the Location Centεr so that thε Location Cεntεr can: (a) associate any target MS location signature cluster data with the fixed base statbn infrastruαure with the location provided by the MBS, and (b) insert this associated data into the bcation signature data base of the

Location Center as a verifiεd clustεr of "random loc sigs";

/* notε, this transmission prεfεrably continuεs (i.ε., repeats) for at least a predetermined length of time of sufficient length for the Signal Processing Subsystem to collect a sufficient signal charaαeristic sample size. V } elsε SCHEDULE an εvεnt (if nonε schεdulεd) to transmit to the Location Cεntεr the folbwing: (a) MBS_curr_est, and (b) thε GPS loαtion of thε MBS and thε timε of the GPS location estimatε;

/* Now update MBS display with new MBS loαtion; notε, MBS opεrator must request MBS locations on the MBS display; if not requested, thεn thε folbwing call doεs not do an update. */ update^ MBS_ operator_ display_ with_ HBS_ fΛ(MBS_curr_est);

}

SINCE LAST MBS LOCATION UPDATE

MBS HAS MOVED A THRESHOLD DISTANCE: { deadrεck_εst <--- get_deadrvdowπg_/oαt/on_c/ιaπge_emmate(mnt);

I* Obtain from MBS Dεad Reckoning Loαtion Estimator a new dεad reckoning MBS locatbn estimate having an estimatε as to thε MBS locatbn changε from thε loαtion of thε last MBS location providεd to thε MBS. */ MBS_curr est < - DETERM1NE_MBS_L0CAT!0N_ESTIMATE(NULL, dεadreck εst); /* this new MBS estimatε will bε used in new target MS estimatεs*/ υpdate_ MBS_ display_ with_ updated^ MBS_ to/iw(MBS_curr_85t);

SCHEDULE an εvεnt (if nonε schεdulεd) to rεquεst nεw GPS location data for MBS; SCHEDULE an εvεnt (if nonε scheduled) to request communication with Location Center (LC) related to new MBS loαtion data; SCHEDULE an event (if none scheduled) to requεst nεw LBS locatbn communiαtion between the MBS and any LBS's that can deteα thε MBS; I* Note, in some embodimεnts thε procεssing of MBS bcation data from LBS's may be performed automatically by the Location Center, wherein the Location Centεr uses signal characteristic data from the LBS's in determining an estimated location of the MBS. */ SCHEDULE an event (if none scheduled) to obtain new target MS signal charaαeristics from MS; /* i.e., may get a better target MS location estimate now. */ }

TIMER HAS EXPIRED SINCE LAST RELIABLE TARGET MS L OCATION INFORMATION OBTAINED: { SCHEDULE an evεnt (if none scheduled) to request bcation communication with the target MS, the event is at a very high priority; RESET timer for targεt MS bcation communication; /* Try to gεt targεt MS locatbn communication again within a predetermined time. Note, timer may dynamically determined according to the perceived vebcity of the target MS. */

}

LOCATION COMMUNICATION FROM TARGET MS RECEIVED: { MS_raw_sigπal_data < — et_MS_signal_characteristic_raw_data(viwt.)

I* Note, "MS_raw_signal_data" is an objeα having substantially the unfilterεd signal characteristic values for communications between the MBS and the target MS as well as timestamp information. */ Construct a messagε for sεnding to thε Location Cεnter, wherein the messagε includεs at least

"MS_raw_signal_data" and "MBS_curr_est" so that thε Location Cεntεr can also compute an estimated bcation for the target MS;

SCHEDULE an event (if none schedulεd) to requεst communication with Locatbn Cεntεr (LC) for sending the construαed message;

/* Note, this data does not ovεrwrite any previous data waiting to bε sεnt to thε LC. */

MS_signal_data < — get_ MS_ signal^ characteristic data(mnt)

I* Note, thε MS signal data obtainεd above is, in one embodiment, "raw" signal data. Howevεr, in a sεcond εmbodimεnt, this data is filtered substantiaiiy as in thε Locatbn Cεnter by the Signal Procεssing Subsystem. For simplicity of discussion here, it is assumed that each MBS includes at least a sαled down vεrsion of thε Signal Procεssing Subsystεm (see FIG. 11). */ MS_new_est <»-- DETERMINE_MS_MOST_RECENT_ESTIMATE^ \ curr εst, MS curr εst,

MS signaNata); 5 /* May usε forward and reverse TOA, TDOA, signal power, signal strength, and signal quality indicators. Note, "MS_curr_est" includes a timestamp of when the target MS signals wεre recε'rved.

*/ if (MS_nεw_εstcoπfιdencε > min_MS_confidεncε ) then

{ l o mark_ MS_ est_ as_ /rø/rø/τ(MS_nεw_est);

/* Note, it is assumed that this MS locatbn estimatε is "temporary" in thε sεnsε that it will be replaced by a corresponding MS location estimate received from the Locatbn Centεr that is based on the samε targεt MS raw signal data. That is, if the Location Centεr responds with a corresponding target MS bcation estimate, E, while "MS_new_est" is a valuε in a "moving window" of targεt MS 15 loαtion εstimatεs (as dεscribεd hereinbelow), then E will replace the value of "MS_new_εst". Note, thε moving window may dynamically vary in size according to, for examplε, a perceived velocity of the target MS and/or the MBS. */ MS_moving_window < — get_MS_moving_ windo wwt);

I* gεt moving window of locatbn εstimatεs for this target MS. */ 20 add_ HS_ estimate_ to_ HS_ location_ ιrø7</σιt<ιMS_nεw_εst, MS moving window);

/* Sincε any givεn singlε colleαion of measuremεnts related to locating the target MS may be potentially misleading, a "moving window" of bcation εstimates are used to form a "composite bcation estimate" of the target MS. This composite location estimate is based on some number of the 25 most recent bcation estimatεs determinεd. Such a composite bcation εsti atε may bε, for εxample, analogous to a moving average or some other wεighting of target MS location estimatεs. Thus, for example, for εach bcation estimate (i.e., at least onε MS bcation arεa, a most likεly singlε location, and, a confidence estimatε) a centroid type calculation may be performed to provide the composite taαtion estimate.*/ 30 MS_curr_est < — DETERMINE_MSJOaTIONJSTIMATB, nmmi tMm)-,

/* DETERMINE new target MS bcation estimate. Note this may an average location or a weighted averagε bcation. */ remove_scMu/ed_eyems{'i H lS mmi",mntm_\)y, I* REMOVE ANY OTHER EVENTS SCHEDULED FOR REQUESTING LOCATION COMMUNICATION FROM TARGET MS */

} else /* target MS location data received but it is not deemed to be reliable (e.g., too much multipath and/or inconsistent measurements, so SCHEDULE an εvεnt (if none scheduled) to requεst nεw bcation communication with the target MS, the event is at a high priority*/ add c ^^Λ/z/^^ rørj("TARGET_MS CHEDULE", event.MS_ID); υpdate_ MBS_ op tor_ display _ with_ MS_ w/fMS curr est);

/* The MBS display may use various colors to represent nested location areas overlayεd on an arεa map wherein, for εxamplε, 3 nεstεd arεas may be displayed on the map overlay: (a) a largest area having a relatively high probability that thε targεt MS is in thε area (ε.g., > 95%); (b) a smaller nestεd area having a bwεr probability that thε targεt MS is in this arεa (e.g., > 80%); and (c) a smallest area having the lowest probability that the target MS is in this area (e.g., >70%). Furthεr, a relativεly precise specific bcation is provided in the smallest area as the most likεly singlε location of the target MS. Note that in one embodimεπt, the colors for each region may dynamically change to providε an indication as to how high thεir reliability is; ε.g., no colored areas shown for reliabilities below, say, 40%; 40-50% is purple; 50-60% is blue; 60-70% is green; 70-80% is amber; 80-90% is white; and red denotes the most likely single loαtion of the target MS. Further note the threε nεstεd areas may collapse into one or two as the MBS gets closer to the target MS. Moreovεr, notε that thε collapsing of thεsε diffεrent areas may provide operators in the MBS with additional visual reassurance that the loαtion of the target MS is being determined with better accuracy.*/

/* Now RESET timer for target NS location communication to try to get target NS location communication again within a predetermined time. */ reset_ r/rø/("TARGET_MS_SCHEDULE", eventMSJD);

}

COMMUNICATION OF LOCATION DATA TO MBS FROM LOCATION CENTER: {

/* Note, target MS location data may be recεived from the Loαtion Centεr in thε seek state, contaα state and the control state. Such data may bε received in response to the HBS sending target MS bcation signal data to the Loαtion Center (as may be the case in the contaα and control states), or such data may be recεivεd from thε

Location Cεntεr regardless of any previously received target MS location sent by the MBS (as may be the case in the seεk, contaα and control statεs). */ if ( (the timestamp of the latest MBS location data sent to the Locatbn Center) < = (the timestamp returned by this Location Centεr communication idεntifying the MBS bcation data used by the Location Centεr for generating the MBS location data of the presεnt εvεnt) ) then /* use the LC location data since it is more recent than what is currently being used. */ {

MBS_new_est < — get_ Locatioπ_ Ceπter_ MBS_ e j/(event); dεadreck st < — et_ deadreckoning_ location_ change_ estimate(tnnt); MBS curr est < ----DETERMINE J4BS_L0CATI0N_ESTIMATE(MBS new εst, dεadreck εst); if (MBS_curr_εstconfidεncε > a predetermined high confidence threshold) then reset_ deadreckoning_ MBS_ location_ estimato im); update_ MBS_ operator_ display^ with_ MBS_ w/(MBS_curr_est);

} if ( (thε timεstamp of thε latest targεt MS location data sεnt to thε Locatbn Center) < = (the timestamp returned by this Location Centεr communication idεntifying the MS location data used by the Loαtion Centεr for gεnerating the target MS location estimatε of thε present event)) then /* use the MS location estimate from the LC since it is more recent than what is currently being used. */

{

MS_new_est < — get_ Location_ Center_ MS_ «/(evenf);

/* This information includes error or reliability estimatεs that may bε usεd in subsεquεnt attempts to detεrminε an MBS location εstimate when there is no communication with the LC and no exaα (GPS) loαtion can be obtained. That is, if the reliability of the target HS's bcation is dεεmεd highly reliable, thεn subsεquεnt lεss reliable locatbn estimates should be used only to the degree that more highly reliable estimates becomε lεss rεlεvant duε to the MBS moving to other locations. */ MS_moving_window <— get_MS_mov/ng_

Figure imgf000122_0001
I* gεt moving window of bcation εstimatεs for this targεt MS. */

if ( (the Location Cεnter targεt MS εstimate utilizεd the MS location signature data supplied by the MBS) then if (a corresponding targεt MS location εstimatε marked as "temporary" is stiil in the moving window) then /* It is assumed that this new target MS bcation data is still timely (note the target MS may be moving); so replacε the temporary εstimatε with the Location Centεr εstimatε. */ rεplacε the temporary target MS /ørøZΛrøestimate in the moving window with "MS_new_εst"; else /* there is no corresponding "temporary" target MS loαtion in the moving window; so this MS estimate must be too old; so don't use it. */ elsε /* thε Location Cεπtεr did not use the MS location data from the MBS evεπ though thε timεstamp of thε latest MS bcation data sεnt to thε Loαtion Cεnter is oldεr that thε MS bcation data used by the Location Center to generate the present target MS locatbn estimatε. Usε thε new MS location data anyway. Note there isn't a corresponding "temporary" target MS location in the moving window. */ add_ MS_ estimate_ to_ MS_ location_ w7</ø»(MS_new_εst);

} εlsε /* thε MS location εstimatε from thε LC is not more recent than the latest MS locatbn data sεnt to thε LC from thε MBS. */ if (a corresponding targεt MS location εstimatε marked as "temporary" is still in thε moving window) then /* It is assumed that this new target MS bcation data is still timely (note the target MS may be moving); so replace the temporary estimate with the Locatbn Centεr estimate. */ replace the temporary target MS /øα/Λrøestimate in thε moving window with "MS_nεw_εst"; εlsε /* thεre is no corresponding "temporary" target MS bcation in the moving window; so this MS estimatε must be too old; so don't use it. */ MS_curr_est <--- /l!r rW update_ MBS_ operator_ display_ with_ MS_ w/(MS_curr_est);

Figure imgf000123_0001
εvεntMSJD);

}

NO COMMUNICATION FROM LC: {

I* i.ε., too long a timε has εlapsεd since last communication from LC. */ SCHEDULE an event (if none scheduled) to requεst bcation data (MBS and/or targεt MS) from thε Location Cεntεr, thε event is at a high priority;

/ _t/rø/("LC_COMMUNICATION", event.MSJD);

}

REQUEST TO NO LONGER CONTINUE LOCATING THE PRESENT TARGET MS. { if (event not from operator) thεn request MBS operator verification; εlsε { REMOVE the current target MS from the list of MSs currently being located and/or tracked; SCHEDULE an evεnt (if nonε schεdulεd) to sεnd communication to thε Locatbn Cεntεr that thε current targεt MS is no longer bεing trackεd; PURGE MBS of all data related to current target MS except any exaα bcation data for the target MS that has not bεεn sεnt to thε Location Cεntεr for archival purposεs; } } REQUEST FROM LOCATION CENTER TO ADD ANOTHER TARGET MS TO THE LIST OF MSs

BEING TRACKED: {

/* assuming thε Location Cεntεr sεnds MBS bcation data for a nεw targεt MS to bate and/or track (e.g., at least a new MS ID and an initial MS bcation estimatε), add this nεw targεt MS to thε list of MSs to track. Notε the MBS will typically be or transitioning to in the seek state.*/ if (event not from operator) then request MBS operator verification; else { INITIALIZE MBS with data recεivεd from thε Location Cεntεr related to thε estimated location of the new target MS; /* e.g., initialize a new moving window for this new target MS; initialize MBS operator interface by graphically indicating where the new target MS is estimated to be. */

CONFIGURE MBS to respond to any signals received from the new targεt MS by requesting location data from the new target MS; INITIALIZE timer for communication from LC; /* A timer may be set per target MS on list. */

} }

REQUEST TO MANUALLY ENTER A LOCATION ESTIMATE FOR MBS (FROM AN MBS OPERATOR): {

I* Note, MBS could be moving or stationary. If stationary, then the estimatε for the bcation of the MBS is given high reliability and a small range (e.g., 20 feεt). If thε MBS is moving, then the estimatε for the location of the MBS is given high reliability but a wider range that may be depεndεπt on the speed of the MBS. In both cases, if the MBS operator indiαtes a low confidencε in the εstimatε, thεn the range is widened, or the operator can manually enter a range.*/ MS_new_est <--get_new_MBSJocation_est_from_opemtoι(mtiL\ I* The estimatε may bε obtainεd, for εxamplε, using a light pεπ on a displayed map */ if (operator supplies a confidence indication for the input MBS loαtion estimatε) thεn

MBS_nεw_εst.coπfidεncε < — get_ MBS_

Figure imgf000124_0001
else MBS_new_estconfidence < — I; /* This is thε highεst value for a confidencε. */ deadreck_est <---get_deadreckonmg_/oαt/oπ_c/ιange_estmate(mnt) MBS curr est <- DETERMINE_MBS_LOCATION_ESTIMATE(MBS new est, deadrεck εst ); if (MBS_curr_εstconfidεnce > a predetermined high confidence threshold) thεn met_ deadreckoπiπg_ MBS_ location_ estfnato (<mnt); update_ MBS_ operator_ display_ with_ NBS_ estifl BS curr εst);

/* Note, one reason an MBS operator might providε a manual MBS input is that the MBS might bε too inaccurate in its loαtion. Moreover, such inaccuracies in the MBS bcation estimatεs can cause the target MS to be estimated inaccurately, since target MS signal charaαeristic values may bε utilizεd by the MBS to estimatε the bcation of the target MS as an offsεt from whεre thε MBS is. Thus, if thεre are target MS estimates in the moving window of target MS location estimatεs that are relatively close to the location represented by "MBS curr est", then thesε select few MS loαtion estimates may be updated to reflect a more accurate MBS locatbn εstimate. */ MS moving wiπdow < — et_ MS_ moving_ window(mnt)\ if (MBS has not moved much since the receipt of some prevbus target MS bcation that is still being used to location the target MS) then

{

UPDATE those target MS bcation estimatεs in thε moving window according to thε πεw MBS bcation estimate here; MS_curr_est <-- DErERNINE_HSJO WNJSTINATB^_ms\^ tMw)-, update_ MBS_ operator^ display_ with_ MS_ ftf/(MS_curr_εst);

} } } /* end case statement */

Lower Level MBS Function Descriptions

I* PROCEDURE: DETERMINE_NBS_LOCATION_ESTIMATE REMARKS: it is assumεd that with increasing continuous dead reckoning without additional MBS bcation verification, the potential error in thε MBS locatbn increases. It is assumεd that εach MBS bcation estimate includes: (a) a most likely area estimate surrounding a central bcation and (b) a confidencε valuε of the MBS being in the bcation estimate. The confidence value for each MBS bcation estimate is a measuremεnt of thε likεlihood of thε MBS bcation εstimate bεing correα. More precisely, a confidence value for a new MBS bcation estimate is a measurement that is adjusted according to the following criteria:

(a) the confidencε valuε increases with the perceived accuracy of the new MBS location estimate (independent of any current MBS locatbn estimate used by the MBS),

(b) the confidence value decreases as the location discrepancy with the current MBS bcation increases,

(c) the confidencε value for the current MBS locatbn increases when the new bcation estimatε is contained in the current loαtion εstimate,

(d) the confidence value for the current MBS location decrease when the new bcation estimatε is not coπtainεd in the current bcation estimate, and

Therefore, the confidence value is an MBS location likelihood measurement which takes into account the history of previous MBS location estimates.

It is assumed that with each MBS bcation εstimatε supplied by the Location Center there is a default confidence value supplied which the MBS may change. */

DETERMINE_MBS_LOCATION_ESTIMATE(MBS__new_est, deadreck_est) /* Add the pair, "MBS_new_est" and "deadreck_est" to the location tracks and determine a new current MBS location estimate.

Input: MBS new est A new NBS baseline location estimate to use in determining the location of the NBS, but not a (deadreckoning) location change estimate deadreck est The deadreckoning location change estimate paired with "MBS_new_est". */

{ if (MBS_new_εst is not NULL) then /* the "deadreck est" is paired with "MBS new est" */

{ if (all MBS bcation tracks are empty) then

{ insert "MBS_new_εst" as thε head of the bcation track of type, "MBS_new_esttype"; insert "MBS_nεw_est" as the head of the current track; /* so now there is a "MBS curr est" MBS location estimatε to usε */ MBS_curr_εst < — get_curr_ j?j(MBS_new_εst.MSJD); /* from current location track */

} elsε /* thεrε is at least one non-empty location track in addition to the current locatbn track being nonempty*/

{ if (MBS_πew_εst is of typε MANUALJNTRY) thεn { /* MBS operator entered an MBS location estimate for the MBS; so must use it */

MBS_curr_est <— add_location_entry(MBS_new_εst,dεadreck_εst);

} εlsε/* "MBS_new_est" is not of type MANUAL_ENTRY */ if (thε MBS bcation track of typε, "MBS_nεw_εsttypε", is empty) then

{ I* some other location track is non-empty */

MBS_curr_est < — add_location_entry(MBS_nεw_εst, dcadreck εst);

} εlse /* "NBS_new_est.type" location track is non-empty and "MBS_new_est" is not of type MANUAL_ENTRY */

{ /* In the next statement determine if "MBS_new_est" is of at least minimal useful quality in comparison to any previous estimates of the same type; see program defn below */ continue_to_procεss_nεw_εst <-- FILTER(MBS_nεw_εst); if (coιιtinuε_to_procεss_nεw_εst) thεn /* "MBS_nεw_εst" is of sufficient quality to continue processing. */

{

MBS curr est <— add_location_entry(MBS new est, deadreck est); }/* end "MBS new est" not filtered out */ else /* "MBS_new_εst" is filtered out; do nothing */;

}/* end else */ }/* end etsε at least one non-empty location track */

} εlsε /* MBS_new_est is NULL; thus only a dεadreckoning output is to bε addεd to location tracks */ { εxtrapolation_entry <--- create_a/}_extrapo/atioβ_eιty_iro/π(di άrtά_tity, insen nto_every ocatioπ_tmcl^xtϊλ^ ^Λ ]ttη)-, /* including the "current location track" */ MBS curr est < — et_ cυrr_ fΛ(MBS_new_est.MS_ID); /* from current location track */ } RETURN(MBS_curr_est);

} END I* DETERMINE_MBS_LOCATION_ESTIMATE */

add Jocation_entry( BS_new_est, deadreck__est);

/* This funαion adds the basεlinε entry, "MBS_nεw_est" and its paired dεadreckoning loαtbn changε estimate, "deadreck est" to the loαtion tracks, including the "current location track". Note, however, that this funαion will roll back and rearrange loαtion entries, if necessary, so that the entries are in latest timεstamp ordεr. Returns: MBS curr est */ { if (there is a time series of one or more dead reckoning extrapolation entries in the locatbn track of type "MBS_new_esttype" wherein the extrapolation entries have a "latest timεstamp" more recent than the timestamp of "MBS_new_est") then { /* Note, this condition may occur in a number of ways; e.g., (a) an MBS location εstimatε recεivεd from thε Location Cεnter could be delayεd long εnough (e.g., 1-4 sec) because of transmission and processing time; (b) the estimation records output from the MBS baseline bcation estimators are not guaranteed to bε always presεnted to the bcation tracks in the temporal order they are created. */ roll back all (any) entriεs on all location tracks, including the "current" track, in "latest timestamp" descending order, until a baselinε entry, B, is at the head of a location track wherein B is a most recent entry having a "latest timestamp" prior to "MBS_nεw_est"; let "stack" be the stack of a bcation track entries rolled off the loαtion tracks, wherein an entry in the stack is either a baseline bcation entry and a paired deadreckoning location change estimatε, or, an unpaired dεadrεckoning bcation changε εstimatε associated with a NULL for the baseline bcation entry; insert "MBS_new_est" at thε hεad of the locatbn track of type "MBS_new_εsttype" as a new baselinε εntry; insert the extrapolation entry derivεd from "deadrεck_εst" in each of the other baseline location tracks excεpt thε current track;

/* It is important to note that "deadreck est" includes the values for the change in the MBS location substantially for the time period betwεεn thε timεstamp, T, of "MS_nεw_est" and thε timεstamp of thε closest deadreckoning output just before T. Further note that if there are any extrapolation entries that were rolled back above, then there /ϊan extrapolation entry, E, previously in the location tracks and wherein E has an earliest timestamp equal to thε latest timestamp of B abovε. Thus, all the previous extrapolation entries removed can be put back if E is modified as folbws: the HBS location change vector of E (denoted herein as E.delta) becomes E.delta - [location change veαor of "dεadrεck st"]. */ MBS curr est <— UPDATE_CURR_EST(MBS_new_est, deadrεck_est); if (thε extrapolation entry E exists) then /* i.e., "stack" is not empty */

{ modify the extrapolation entry E as per the comment above;

/* now fix things up by putting all the rolled off location entries back, including the "current location track" */ do until "stack" is empty

{ stack op <—

Figure imgf000129_0001

I* "stackjop" is either a basεlinε location entry and a paired deadreckoning location change estimatε, or, an unpaired dεadreckoning bcation change estimate associated with a NULL for the baseline location entry */

Figure imgf000129_0002
deadreck εst
Figure imgf000129_0003
MBS curr est <- DETERMINE J1BS_L0CATI0N_ESTIMATE(MBS_nxt_εst, dεadrεck_est);

} } } else /* there is no deadreckoning extrapolation entriεs in thε location track of typε "MBS_nεw_εsttypε" wherein the extrapolation εntriεs havε a "latest timεstamp" more recεnt than thε timεstamp of "MBS_nεw_εst". So just insert

"MBS_new_est" and "dεadreck_est".*/

{ insert "MBS_new_est" at the head of the location track of type "MBS_new_εsttypε" as a new baseline entry; insert the extrapolation entry derived from "deadreck_εst" in εach of the other location tracks excεpt the current track; MBS curr est < — UPDATE_CURR_EST(MBS_new_est, deadreck est); /* seε prog dεf'n bεbw */

}

RETURN (MBS curr est); } /* επd add_location_entry */

FILTER(MBS_ne _est)

I* This function determines whether "NBS_new_est" is of sufficient quality to insert into it's corresponding NBS location track. It is assumed that the location track of "MBS_new_est.type" is non-empty. Input: MBS_new_est A new MBS location estimate to use in determining the location of the NBS. Returns: FALSE if "MBS new est" was processed here (i.e., filtered out),

TRUE if processing with "MBS_new_est" may be continued . */ { continue_to_process_new_est <--TRUE; /* assumε "MBS_nεw_εst" will be good enough to use as an MBS location estimatε */ /* see if "NBS_new_est" can be filtered out. */ if (thε confidεncε in MBS_new_est < a predetermined function of the confιdence(s) of previous MBS locatbn estimates of type "MBS_new_εsttypε") /* e.g., the predetermined function here could bε any of a number of functions that provide a minimum threshold on what constitutes an acceptable confidence value for continued processing of "MBS_new_est". The folbwing is an example of one such predetεrminεd funαion: K* (confidεncε of "MBS new esttype" bcation track head) for some K, 0<K< = 1.0, wherein K varies with a relative frequency of estimates of type "MBS_new_εst.type" not filtered; e.g.., for a given window of prevbus MBS bcation εstimates of this typε, K= (numbεr of MBS loαtion εstimatεs of "MBS_new_esttype" not filterεd)/(the total number of estimates of this type in the window). Note, such filtering here may bε important for known areas where, for εxamplε, GPS signals may be potentially reflεαεd from an objeα (i.e., multipath), or, the Location Center provides an MBS loαtion estimate of very low confidencε. For simplicity, thε εmbodimεnt here discards any filtered location estimates. However, in an alternative embodiment, any such discarded location estimates may bε stored separately so that, for examplε, if no additional better MBS bcation estimates are recεived, thεn the filtered or discarded location estimates may be reexamined for possible use in providing a better subsequent MBS location estimate.*/ then continue_to_procεss_new_est < - FALSE; εlsε if (an area for "MBS_new_est" > a predetermined function of thε corresponding arεa(s) of entries in the bcation track of type "MBS_new_εst.typε") /* e.g., the predetermined function here could be any of a number of functions that provide a maximum threshold on what constitutes an acceptable area size for continuεd procεssing of "MBS_new_εst". Thε following are εxamples of such predetermined functions: (a) the identity function on the area of the head of the bcation track of type "MBS_new_εsttype"; or, (b) K*(thε area of thε hεad of thε bcation track of typε "MBS_new_εsttype"), for somε K, K> = 1.0, wherein for a given window of previous MBS location estimates of this type, K= (the total number of estimatεs in the window)/ (number of these bcation estimates not filtered); note, each extrapolation entry increases the area of the head; so areas of entries at the head of each bcation track typε grow in area as extrapolation entriεs are appliεd. */ then coπtiπue_to_process_new_est < - FALSE; RETURN(continue_to_process_new_est) }

UPDATE_CURR_EST(MBS_new_est, deadreck_est) /* This function updates the head of the "current" NBS location track whenever

"MBS_new_est" is perceived as being a more accurate estimate of the location of the MBS.

Input: NBS_new_est A new NBS location estimate to use in determining the location of the NBS deadreck_est The deadreckoning NBS location change estimate paired with

"NBS_πew_est". Returns a potentially updated "NBS_curr_est" */

{ if (MBS_new_est is of typε MANUAL NTRY) thεn { /* MBS operator entered an MBS location estimate for the MBS; so must use it */ insert "MBS_new_εst" as the head of the "current MBS bcation track" which is the bcation track indicating thε best current approximation of the location of the MBS;

} else /* "MBS_πew_εst" is not a manual εntry */ {

MBS curr est < — et_ curr_ «ϊ(MBS_new_est.MSJD); /* get the head of the "current locatbn track" */ adjusted curr est <—

Figure imgf000131_0001
, deadreck est);

./* The above funαion returns an objeα of thε samε typε as "MBS_curr_εst", but with thε most likely MBS point and area locations adjustεd by "deadreck est". Accordingly, this funαion performs the following computations:

(a) selects, AMK, the MBS location area εstimate of "MBS curr est" (ε.g., one of the "most likely" nested area(s) providεd by "MBS_curr_est" in one embodiment of the presεnt invεntion);

(b) appliεs thε dεadreckoning translation corresponding to "deadreck est" to AHBS to thereby translate it (and expand it to at least account for deadreckoning inaccuracies). */ if (rvasonab/y_close(MBSjneγtjεst, adjusted_curr_est, NBS_curr_est))

/* In one embodimεnt, thε funαion "reasonably_cbsε" here determines whethεr a most likεly MBS point bcation (i.e., centroid) of "MBS new est" is contained in the MBS estimated area of "adjusted curr est" Note that the reasoning for this constraint is that if "MBS curr est" wasaccurate, thεn any "most likely HBS point ioαtion" of a nεw MBS baseline estimate that is also accurate ought to be in the MBS estimated area of "adjusted curr est".

In a sεcond εmbodiment, the function "reasonably_cbse" determines whether the centroid (or most likely MBS point loαtion) of "MBS_new_εst" is close enough to "MBS curr est" so that no NBS movement constraints are (grossly) violated between the most likely point locations of "NBS_new_est" and "NBS_curr_est"; i.e., constraints on (dε)accεlεration, abruptness of direction change, vebcity change, max velocity for thε terrain. Note, such constraints are discussed in more detail in the section herein describing the "Analytical Reasonεr". Accordingly, it is an aspeα of the present invention to provide similar capabilities to that of the Analytical Reasoner as part of the

MBS, and in particular, as the funαionality of the "MBS LOCATION CONSTRAINT CHECKER" illustrated in Fig. I I. It is assumed hereinafter that the εmbodimεnt of thε function, "reasonably_cbsε", pεrformed here is a combination of both the first and second embodimεnts, whεrein thε constraints of both thε first and sεcond embodiments must be satisfied for the funαion to return TRUE. */ then if (thε confidence in NBS_new_est > = the confidence in NBS_curr_est) thεn

if (thε most likεly MBS area of MBS new est contains the most likely MBS area of "adjusted curr est" as computed above) thεn shrink MBS_nεw_εst uniformly about its cεntroid (i.ε., "most likεly MBS point location") until it is as small as possiblε and still contain thε MBS estimated area of "adjusted curr est". insert_into_location_ fracA("current", MBS new est);

/* Thε program invoked here inserts a bcation track entry corresponding to the second parameter into thε location track identified by the first paramεtεr (ε.g., "current"). It is important to note that the second parameter for this program may be either^ the following data struαures: a "locatbn track entry", or an

"MBS bcation estimatε" and the appropriate bcation track εntry or entries will be put on the loαtion track corresponding to the first parameter. The insertion is performed so that a "latest timestamp" order is maintained; i.e.,

(a) any extrapolation entriεs in thε loαtion track, whεrein thεsε εntries have a more recent "latest timestamp" than the ("earliest" or only) timestamp (depεnding on thε data structure) of the second parameter are removed, and (b) conceptually at lεast, thε ioαtioπ chaπgε εstimates output from thε deadreckoning MBS loαtion εstimator that correspond with the removed extrapolation entries are then reapplied in timestamp order to the head of the target bcation track. */

} εlse /* the centroid of "MBS_new_εst", is containεd in an arεa of "MBS_curr_εst", but thε confidence in

"NBS_new_est" < confidence in "NBS_curr_est" */

{ most_likεly_εst <-- dεtermine a "most likely MBS loαtion estimate" using the set S = {the MBS locatbn estimatε cεntroid(s) of any MBS location track heads contained in the MBS estimated area of "adjustεd_curr_εst", plus, the centroid of "MBS_new_εst"};

/* Notε, in the above statement, the "most likely MBS location estimate" may be determined using a number of different techniques depεπdiπg on what function(s) is usεd to εmbody the meaning of "most likely". In one εmbodimεnt, such a "most likεly" funαion is a funαion of thε confidence values of a predetermined population of measurεmεnts (ε.g., the seleαed bcation track heads in this αse) from which a "most likεly" mεasurement is dεtεrminεd (ε.g., computed or sεlεαεd). For examplε, in onε embodiment, a "most likely" funαion may include selecting a measurement having thε maximum confidεncε valuε from among thε population of measurements. In a sεcond εmbodimeπt, a "most likely" funαion may include a weighting of measurements (e.g., location track hεads) according to corresponding confidence values of the measurements. For example, in the present context (of MBS bcation track heads) the following steps provide an embodiment of a "most likely" funαion:

(a) determine a centroid of area foreach of the selεαεd track hεads (i.e., thε location track heads having a point bcation estimatε contained in the MBS estimated area of "adjusted curr est"); (b) determine the "most likely bcation MBS position" P as a weighted centroid of the centroids from step (a), wherein the weighting of each of the ceπtroids from (a) is providεd by thεir corresponding confidence values;

(c) output an area, A,, as the "most likely MBS bcation area", wherein the centroid of A, is P and A, is the largest area within the MBS estimated area of "adjusted_curr_est" satisfying this condition; and

(d) set a confidencε valuε for A, as thε average confidencε value of "MBS_new_est", "MBS curr est" and the selected bcation track head used. */ insert_ into_ location_ fracA("current", mostjikεly est) ;

} εlsε /* "NBS_new_est" is not reasonably close to "adjusted_curr_est" (i.e.,

"NBS_curr_est" with "deadreck_est" applied to it), so a conflict exists here; ε.g., (i) "MBS_new_est" is not a manual εntry, and (ii) "MBS_nεw_εst" doεs not have its cεntroid contained in the MBS estimated area of "adjusted_curr_εst", or, thεrε has been a movement constraint violation. Note that it is not advisable to just replacε "MBS curr est" with "new_εst_hεad" because:

(a) "MBS_new_est" may bε the MBS loαtion estimate that is least accurate, while the previous entries of the current bcation track havε bεεn accurate;

(b) thε "MBS_curr_εst" may bε basεd on a rεcεnt MBS operator manual entry which should not be overridden. */ {

MBS curr est < — resolve_conflicts(MBS_new_εst, adjusted_curr_εst, MBS curr est);

} } /* end else "MBS_new_est" not a manual entry */ if (MBS is a vehicle) and (not off road) then /* it is assumed that a vehicular MBS is on-road unless explicitly indicated otherwise by MBS operator. */

MBS_curr_est < — snap_to_best_fιt_ j? rø(MBS_curr_εst); /* snap to best street location according to location estimatε, velocity, and/or direαion of travel. Note, this is a translation of "MBS curr est". */ RETURN(MBS_curr_est) } I* END UPDATE(NBS_CϋRR_EST) */

resolve_conflicts(MBS_new_est, adjusted_curr_est, MBS_curr_est) /* There is a basic conflict here,

(i) "NBS_new_est" is not a manual entry, and

(ii) one of the following is true: "NBS_new_est" does not have its centroid contained in the area "adjusted_curr_est", or, using "MBS_new_est" implies an NBS movement constraint violation. Input: NBS_new_est The newest MBS bcation estimate record. adjusted_curr_est The version of "MBS_curr_εst" adjustεd by thε deadreckoning loαtion change estimate paired with "MBS new εst". NBS_curr_est Thε location track εntry that is thε hεad of thε "current" bcation track. Notε that "MBS_new_estconfidence" > "MBS_curr_est.cofidεncε". Output: An updated "NBS curr est". */

{ mark that a conflict has arisεn between "MBS_curr_est" and "MBS_nεw_εst"; if (thε MBS opεrator desires notifiαtion of MBS bcation estimatε conflicts) thεn notify the MBS operator of an HBS location estimatε conflict; if (the MBS operator has configured the MBS location systεm to ignore new estimates that are not "reasonably close" to adjusted_curr_est) or

(MBS curr est is based on a manual MBS operator location estimate, and thε MBS has movεd lεss than a predetermined distance (wheel turns) from where the manual estimate was provided) then RETURN(adjusted_curr_est); else /* not required to ignore "MBS_new_est", and there has been no recent manual estimate input*/

{ try to use "NBS_new_est" */ if ((NBS_new_est.confidence - adjusted_curr_est.confidence) > a large predetermined threshold) then /* Note, the confidence discrepancy is great enough so that "MBS_new_εst" should bε thε most rεcεnt baseline estimatε on current MBS location track. Note that the threshold here may be approximately 0.3, whεrein confidences are in the range [0, 1].*/ insert_into_location_ t acΛf'current", MBS new εst);

/* insert "MBS new est" into "current" locatbn track (as a basεline εntry) in "latest timestamp" order; i.e., remove any extrapolation entries with a more recent "latest timestamp" in this track, and reapply, in timestamp order, the bcation change estimates output from the deadreckoning MBS location estimator that correspond with the removεd extrapolation entries removεd; */ εlsε /* "NBS_new_est.confidence" is not substantially bigger than

"adjusted_curr_est.confidence"; so check to see if there are potentially NBS location system instabilities */ { /* check for instabilities */ if [ (there has beεn more than a determined fraction of coπfiicts between the "MBS curr est" and "MBS_new_est" within a predetermined number of most recεnt "MBS new est" instantiations) or (the path corresponding to the entriεs of the "current bcation track" of the MBS has recently violated MBS movemεnt constraints more than a predetermined fraction of the number of times there has been new instantiation of "MBS_curr_est", whεrein such movεmεnt constraints may bε (dε)accεleration constraints, abrupt changε in direction constraints, constraints relating to too high a vebcity for a terrain) or (there has been an MBS operator indication of lack of confidencε in the recεntly displayed MBS locatbn estimates)] thεn /* thε NBS location system is likely unstable and/or inaccurate; check to see if this condition has been addressed in the recent past. */ { /* fbc instability */ if (f ϊx_i nstabi I i ty_cou nte r εqual to 0) then /* no instabilities have been addressed here within the recent past; i.e., "fix_instability counter" has thε folbwing semantics: if it is 0, then no instabilities havε bεεn addressed here within the recent past; elsε if not 0, then a recent instability has beεn attemptεd to bε fixed here. Note, "fixjnstability counter" is dεcremented, if not zero, each time a new baselinε location εntry is inserted into its corresponding baseline location track. Thus, this counter providεs a "wait and sεε" strategy to dεtεrmiπε if a previous performancε of thε statεmεnts below mitigated the (any) MBS bcation system instability. */

{ most_likely_εst <-- determine a new "most likely MBS bcation estimate"; [30.1]

I* Note, a number of MBS bcation estimates may be generated and compared here for determining the "most_likely_est". For examplε, various wεightεd cεntroid MBS locatbn estimates may be determined by a clustering of location track head eπtriεs in various ways.

In a first εmbodimeπt for determining a value (objεα) for "mostjikely est", a "most likεly" funαion may bε performed, whεrein a weighting of bcation track hεads according to thεir corresponding confidence values is performed. For example, the following steps provide an embodiment of a "most likεly" funαion: (a) obtain a sεt S having: (i) a cεntroid of area for εach of thε track hεads having a corresponding arεa containεd in a determined area surrounding the point bcation of "adjusted_curr_est" (ε.g., thε MBS estimated area of "adjusted_curr_εst"), plus (ii) thε cεntroid of "MBS_new_est";

(b) dεtεrminε thε "most likεly loαtion MBS position" P as a weighted centroid of the centroids of the set S from step (a), wherein the weighting of εach of thε cεntroids from (a) is providεd by thεir corresponding confidεncε values;

(c) output an area, A, as the "most likεly MBS bcation area" wherein A has P as a centroid and A is a "small" area (e.g., a convex hull) containing the corresponding thε cεntroids of thε sεt S; and (d) set a confidence value for A as the averagε confidence value of the centroids of the set S. In a second embodiment, "most_likely_εst" may bε dεtermined by expanding (e.g., substantially uniformly in all direαions) thε MBS cation εstimate arεa of "MBS_nεw_εst" until thε resulting expanded area contains at least the most likely point location of "adjusted curr est" as its most likely HBS locatbn area. */ insei _into_location_track(uc\irnnt", oit_\M _iity, fixjnstability ^counter < — a predetermined number, C, corresponding to a number of baseiiπε επtriεs to be put on the baseiiπε bcation tracks until MBS location system instabilitiεs are to bε addressed again here; /* when this counter goes to zero and the MBS bcation system is unstable, then the above statements above will be performed again. Note, this counter must be reset to C (or higher) if a manual MBS estimate is entered. */

} } /* fix instability */ elsε /* The NBS location system has been reasonably stable, and

"MBS curr est.confidence" is not substantially bigger than

"adjusted_new_est.confidence" . */

most_likely_est < -- detεrminε a most likely MBS bcation estimate;

/* The determination in thε statεment above may be similar or substantially thε samε as the computation discussed in relation to statement [30.1] above. However, since there is both more stability in this case than in [30.1] and less confidence in "MBS new est", certain MBS movemεnt constraints may be more applicable here than in [30.1]. Accordingly, note that in any embodiment for determining "most_likεly_εst" here, reasonablε movemεnt constraints may also bε usεd such as: (a) unlεss indicated otherwise, an MBS vehiclε will bε assumεd to bε on a road, (b) a new MBS location estimatε should not imply that thε MBS had to travel faster than, for examplε, 120 mph or changε direαion too abruptly or changε velocity too abruptly or traverse a roadless region (e.g., corn field or river) at an inappropriate rate of speεd. Thus, oπcε a tεntativε MBS location εstimatε (ε.g., such as in the steps of the first embodiment of

[30.1]) for "mostJikely_εst" has bεen detεrminεd, such constraints may bε appliεd to thε tεntative estimate for determining whethεr it should bε pulled back toward the cεntroid of thε "MBS_curr_εst" in ordεr to satisfy thε movement constraints*/ insert_into_locatioπ_ fr«ιcA("current", mostjikεry εst); /* note, thε sεcond paramεtεr for this funαion may be eithεr of the following data struαures: a "loαtion track entry", or a "MBS locatbn estimate" and the appropriate loαtion track entry or entriεs will bε put on the loαtioπ track corresponding to the first parameter. */

} } /* check for instabilities */

MBS curr est <--^Ω//7^?jτ(MBS_new_εstMSJD);/* from current location track*/ } I* try to use "NBS_new_est" */ RETURN(MBS curr est) } /* END resolve_conflicts */

APPENDIX B: Pseudo code for a genetic algorithm

Pseudo code for a genetic algorithm

Genetic gorithm (*decode, *fitness_function, parms)

I* This program implements a genεtic algorithm for determining efficient values of paramεters for a sεarch problem. The current best values of thε parameteπ are received by the genεtic algorithm in a data struαure such as an array. If no such information is available, then the genetic algorithm receives random guessεs of thε paramεter values. This program also recεives as input a pointer to a decode function that provides the genεtic algorithm with information about how the parameters are represented by bit strings (see genetic algorithm referencεs). Thε program also receives a pointer to a fitnεss function,

"frtness_f unct'to ns", that provides thε genetic algorithm with information about how the quality of potential solutions should bε dεtermiπed. Thε program computes nεw, improved valuεs of parameters and replaces the old valuεs in the array "parms." */

//assume that each particular appliαtiσn will have a specific fitness funαion and decoding // scheme; otherwise, the procedure is thε samε εvεry time //generate the initial population //generate a random population of binary strings containing popsizε strings fori = I to popsizε for j = I to string_lεngth strmg(ij) = random(0,l) end loop on j end bop on i

// keep generating new populations until finished do until finished for i = I to popsize

//transform the binary strings into parametersfrom the problem at hand; requires problem // pecific function decode (striπg(i)) //evaluate each string evaluate (string(i)) end bop on i

//perform reproduction reproduce (populatbπ_of_strings) //perform crossover crossovεr (popubtbn_of_strings) //perform mutation mutate (population of strings) // evaluate the new population fori = I to popsizε

//transform the binary strings into parameters //from the problem at hand; requires problem //specific function decode (string(i))

//evaluate the fitness of each string evaluate (string(ij)) end loop on i if finished thεn report nεw results to the ailing routine else go back to tip of do-until loop

APPENDIX C: Location Database Maintenance Programs

DATA BASE PROGRANS FOR MAINTAINING THE LOCATION SIGNATURE DATA BASE

In thε algorithms bεlow, εxternal parameter values neεdεd are underlined. Note that in one embodimεnt of thε presεnt invention, such paramεters may bε adaptivεly tuned using, for examplε, a genetic algorithm.

EXTERNALLY INVOCABLE PROGRANS;

Update_Loc_Sig_DB(newJoc_obj, selection_criteria, loc_sig_pop)

/* This program updates loc sigs in the Location Signature data base. That is, this program updates, for examplε, at lεast thε loαtion information for vεrifiεd random loc sigs residing in this data basε. Notε that thε stεps herein are also provided in flowchart form in Fig. 17a through FIG. I7C.

Introductory Information Related to the Function, "Update_Loc_Sig_DB"

The general strategy here is to use information (i.e., "nεwjoc obj") rεcεivεd from a nεwly vεrifiεd bcation (that may not yεt be entered into thε Location Signature data basε) to assist in dεtermining if the previously stored random verified loc sigs are still reasonably valid to use for: (29.1) estimating a bcation for a given coliεαion (i.ε., "bag") of wirεlεss (e.g., CDHA) location related signal charaαeristics recεived from an HS, (29.2) training (for example) adaptive bcation estimators (and bcation hypothesizing models), and (29 J) comparing with wireless signal charaαeristics used in genεrating an HS location hypothεsis by one of the HS loαtioπ hypothesizing models (denoted First Ordεr Hodεls, or, FOHs). Hore precisely, since it is assumεd that it is more likely that the newest bcation information obtained is more indicative of the wireless (CDHA) signal charaαeristics within some area surrounding a newly verifiεd bcation than thε vεrified loc sigs (location signatures) previously entered into the Location Signature D6, such verified loc sigs are compared for signal charaαeristic consistency with the newly vεrifiεd location information (objεα) input here for dεtermining whεther some of thesε "oldεr" data basε vεrified loc sigs still appropriately charaαerize their associated bcation. In particular, comparisons are iterativεly madε here betweεn each (target) loc sig "near" "new_loc_obj" and a population of loc sigs in thε bcation signature data basε (such population typically including the loc sig for "newJoc_obj) for: (29.4) adjusting a confidence factor of the target loc sig. Note that each such confidence faαor is in the range [0, 1] with 0 being the lowest and I being the highest. Further note that a confidence faαor here can be raised as well as lowered depending on how well the target be sig matches or is consistent with thε population of loc sigs to which it is compared. Thus, the confidencε in any particular verified loc sig, LS, can fluctuate with successivε invocations of this program if the input to the successive invocations are with location information geographically "near" LS.

(29.5) remove older verifiεd be sigs from usε whosε confidεncε valuε is bεbw a predetermined threshold. Note, it is intended that such predetermined thresholds bε substantially automatiαlly adjustable by periodically tεsting various confidence factor thresholds in a specified geographic area to determine how well the eligible data base loc sigs (for different thresholds) perform in agreeing with a number of verifiεd loc sigs in a "be sig test-bed", wherein the test bed may be composed of, for examplε, repeatable loc sigs and recent random verified loc sigs. Note that this program may be invoked with a (verifiεdAπown) random and/or repeatable loc sig as input. Furthermore, the target loc sigs to be updated may be selected from a particular group of loc sigs such as the random loc sigs or the repεatable loc sigs, such selection being determined according to the input parameter, "selεction_critεria" whilε the comparison population may be designated with the input parameter, "loc_sig_pop". For example, to update confidence faαors of certain random loc sigs near "new_loc_obj", "sεlεαion_critεria" may bε givεn a value indicating, "USE ANDOM OC IGS", and "bc_sig_pop" may be given a value indicating, "USE EPEATABLE_ LOC IGS". Thus, if in a given geographic area, the repεatablε loc sigs (from, ε.g., stationary transceivers) in the area have recently beεn updated, thεn by succεssivεiy providing "nεw_loc_obj" with a loc sig for εach of thεsε rεpεatablε loc sigs, thε stored random loc sigs can havε thεir confidεncεs adjusted.

Alternatively, in one embodiment of the presεnt invεntion, thε present funαion may be used for determining when it is desirable to update repeatable loc sigs in a particular area (instead of automatically and periodically updating such repeatable loc sigs). For example, by adjusting the confidencε faαors on repεatablε loc sigs hεrε providεs a mεthod for dctεrmining whεn repeatable loc sigs for a given area should be updated. That is, for examplε, when the area's averagε confidence factor for the repeatable loc sigs drops below a given (potentially high) threshold, then the HSs that provide the repeatable loc sigs can be requestεd to respond with new loc sigs for updating the DB. Note, howevεr, that thε approach presented in this function assumes that the repeatable bcation information in the DB is maiπtainεd with high confidence by, for examplε, frequent DB updating. Thus, the random verified DB bcation information may be effectively compared against thε rεpεatablε be sigs in an area.

INPUT: new_loc_obj: a data representation at least including a loc sig for an associated location about which Location Signature loc sigs are to have their confidences updated. selection_criteria: a data representation designating the loc sigs to be seleαed to have their confidences updated (may be defaulted). The following groups of loc sigs may be selεctεd: "USE_RANDOM_LOC_SIGS" (this is thε dεfault), USE_REPEATABLE_LOC_SIGS", "USE_ALL_LOC_SIGS". Note that each of thesε selections has values for the folbwing values associated with it (although the values may be defaulted): (a) a confidencε reduαion factor for reducing loc sig confidences,

(b) a big error threshold for determining the errors above which are considered too big to ignore,

(c) a confidencε increase faαor for increasing loc sig confidences,

(d) a small error threshold for determining the errors below which are considered too small (i.ε., good) to ignore. (ε) a recent time for specifying a time period for indicating the loc sigs here considεrεd to be "recent". loc_sig_pop: a data representation of the type of loc sig population to which the loc sigs to be updated are compared. The folbwing values may be provided:

(a) "USE ALL LOC SIGS IN DB",

(b) "USE ONLY REPEATABLE LOC SIGS" (this is thε dεfault), (c) "USE ONLY LOC SIGS WITH SIHILAR TIME OF DAY"

Howevεr, εnvironmεntal charaαεristics such as: weathεr, traffic, sεason are also contemplated. */

/'Make sure "new_loc_obj" is in Location DB. */ if (NOT new_bc_obj.in_DB ) thεn /* this loαtion objeα is not in the Location Signature DB; note this can be determined by comparing the loαtion and times/datestamp with DB εntries */ DB_iπsert_πew_loc_sig_entries(mι o jii^; //stores loc sigs in Location Signature DB

/* Determine a geographical area surrounding the location associated with "new oc_obj" for adjusting the confidence factors of loc sigs having associated locations in this area. */

DB search areal < — get_coπβdeπce_adjυst_searcb_arva_ior_ϋβ_raπdo _/oc_s/gs(m ι oc_ob\.^ /* get the loc sigs to have their confidence factors adjusted. */

DB_tac_sigs < — get_all_DB_loc_sigs__foι^ α. \ xtλ\, seleαion_criteria); nearby_loc_sig_bag <— get loc sigs from "DB_loc_sigs" wherein for each loc sig the distance betwεεn thε bcation associated with "new_loc_obj.location" and thε verified bcation for the loc sig is closer than, for example, some standard deviation (such as the second standard deviation) of thesε distances for all loc sigs in "DB_bc_sigs";

/* For each "loc sig" having its confidence factor adjusted do */ foreach bc_sig[i] in nearbyJoc_sig_bag do //determine a confidencε forthese random loc sigs {

/* Determine a search area surrounding the location associated with "loc sig" V

Figure imgf000144_0001
/* Determine the error corresponding to how well "loc sig" fits with the portion of the inputted type of loc sig population that is also in the search area. */

BS <---^t_Af(bc g[ϊ]); mark_as_u/iaccessabk(\oc ig[\]); /* mark "bc_sig[i]B in the Loαtion Signature DB so that it isn't retrieved. */ DB_search_area2 <---get_confidence_adjust_search_area_for_DBJoc_sig^ wztvα^)

I* Get search area about "randjoc". Typically, the "newjoc_obj" would bε in this sεarch area */ loc sig bag < — create_/oc_sig_bag(\oc \g[\]); /* create a loc sig bag having a single loc sig, "loc_sig[i]"*/ output criteria < — get criteria to input to "Detεrmine_Location_Signature_Fit_Errors" indiαting that thε funαion should generate error records in the returned "error_rεc_bag" only for the single loc sig in "bc_sig_bag". That is, the output criteria is: "OUTPUT ERROR ECS FOR INPUT LOC SIGS

ONLY". εrror_rεc_bag[i] < — Determine JLocation_Signature_Fit_Errors(bc.locatbn, loc_sig_bag,

DB_search_area2, tac_sig_pop, output criteria); uπmark_makiπg_accessab/e(\o _ύg[\]); /* un ark "bc_sig[ij" in the Location Signature DB so that it can now be retrieved. */

} /* Reduce confidence factors of loc sigs: (a) that are nearby to the location associated with "newjloc obj", (b) that have big errors, and (c) that have not been recently updated/acquired. */ error_rec_set < — make_set_ιιπ/on_oi(trxor_ικ_bdLg[\] for all i);

I* Now modify confidences of loc sigs in DB and delεtε loc sigs with vεry low confidεncεs */ reduce_bad_DB_loc_sigs(nearby_loc_sig_bag,error_rec_sεt,seleαion_criteria.big_error_threshold, seieαion_criteria.confιdence_reduαion_faαor,sεlεαion_criteria.recent_time);

/* Increase confidence factors of loc sigs: (a) that are nearby to the location associated with "new oc_objf'f (b) that have small errors, and (c) that have not been recently updated/acquired. */ increase_confidence_of__good_DB_loc_sigs(nεarbyJoc_sig_bag, εrror_rec_set, seleαion_criteria.small_εrror_thrεshold, seleαion_criteria.confidencε_increasε_faαor, sεlεαion_critεria.recεnt_timε); END OF Update_Loc_Sig_DB

DB_Loc_Sig_Error_Fit(NS_loc_est, DB_search_area, measured_loc_sig_bag, search_criteria) f* This function dεtεrminεs how well the coliεαion of loc sigs in "mea$uredJoc_sig_bag" fit with thε loc sigs in thε loαtion signature data basε whεrein thε data basε loc sigs must satisfy thε criteria of the input parameter "search_criteria" and arε relativεly cbsε to the MS bcation estimatε of thε bαtion hypothesis, "hypothesis". Thus, in one embodimεnt of thε presεnt invεntion, thε present funαion may be invoked by, for example, the confidence adjuster module to adjust the confidence of a loαtion hypothesis. Input: hypothesis: MS bcation hypothesis; measured_loc_sig_bag: A colleαion of measured locatbn signatures ("loc sigs" for short) obtainεd from thε HS (thε data structure hεrε is an aggregation such as an array or list). Note, it is assumεd that thεre is at most one loc sig here per Base Statbn in this colleαion. Additionally, note that the input data struαure here may be a location signature cluster such as the "loc_sig_cluster" field of a bcation hypothesis (cf. Fig.9). Note that variations in input data struαures may be accepted here by utilization of flag or tag bits as one skilled in the art will appreciate; search_cιϊteria: The criteria for searching the verifiεd bcation signature data basε for various categories of loc sigs. The only limitation on the types of categories that may be provided here is that, to be useful, each category should havε meaningful number of loc sigs in the location signature data base. The folbwing categories included here are illustrative, but others are contemplated: (a) "USE ALL LOC SIGS IN DB" (the default), (b) "USE ONLY REPEATABLE LOC SIGS",

(c) "USE ONLY LOC SIGS WITH SIMILAR TIHE OF DAY". Further categories of loc sigs close to the MS estimatε of "hypothesis" contemplated are: all loc sigs for the same season and same time of day, all loc sigs during a specific weather condition (e.g., snowing) and at the same time of day, as well as other limitations for other environmεntal conditions such as traffic patterns. Note, if this paiametεr is NIL, thεn (a) is assumed.

Returns: An εrror objεα (data typε: "error_object") having: (a) an "error" field with a measurement of the error in the fit of the bcation signatures from the HS with verified bcation signatures in the Location Signature data base; and (b) a "confidence" field with a value indicating the perceived confidencε that is to bε given to the "error" value. */

if ("search criteria" is NIL) then $earch_criteria < - "USE ALL LOC SIGS IN DB";

/* determine a collection of error records wherein there is an error record for each BS that is associated with a loc sig in "measure_loc_sig_bag" and for each BS associated with a loc sig in a geographical area surrounding the hypothesis's location. */ output criteria < - "OUTPUT ALL POSSIBLE ERROR ECS";

/* The program invoked in the following statement is describεd in thε locatbn signature data base seαion. */ error rec bag < — Determine_Location_Signature_Fit_Errors(MSJoc_est, mεasured_bc_sig_bag,

DB_sεarch_area, search criteria, output_criteria); /* Notε, "error_rec_bag" has "εrror_rεc's" for εach BS having a loc sig in "DB_sεarch_area" as well as each BS having a loc sig in "measurεd_bc_sig_bag". */

/* determine which error records to ignore */ BS_errors_to_ignore_bag <—get_BS_error_recs_to_igπσre(ϊii_x2rά im, trr r_'κc_bzg,);

/* Our general strategy is that with enough BSs having: (a) loc sigs with the target MS, and (b) also having vεrified loαtions within an area about the MS bcation "MS Joc est", somε relatively large errors can be tolerated or ignored. For εxamplε, if thε MS bcation εstimatε, "MS_loc_εst", here is indeed an accurate estimatε of the MS's bcation and if an area surrounding "MS_bc_εst" has relatively homogenεous environmental charaαeristics and the area has an adεquate number of verified bcation signature clusters in the bcation signature data basε, thεn thεre will bε presumably εnough comparisons bεtween thε εasurεd MS loc sigs of "mεasurεd_bc_sig_bag" and thε εsti atεd loc sigs, based on verified MS locations in the DB (as determined in "Determiπε_Locatioπ_Signature_fit_Errors"), for providing "error rec bag" with enough small errors that thesε small εrrors provide adequatε evidence for "MS_loc_est" being accurate.

Accordingly, it is believed that, in most implementations of the present invention, only a relatively small number ofloc_sig comparisons need have small errors for there to be consistency between the loc sigs of "measured_loc_sig_bag" and the verified loc sigs in the location signature data base. That is, a few large errors are assumed, in general, to be less indicative of the MS location hypothesis being incorrect than small errors are indicative of accurate MS locations. Thus, if there were ten mεasured and estimated loc sig pairs, each associated with a different BS, then if four pairs have small errors, then that might be enough to have high confidencε in the HS loαtioπ hypothesis. However, note that this determination could depεnd on thε typεs of basε stations; e.g.., if five full-service base statbns had measured and verifiεd be sigs that match reasonably wεll but five bcation BSs in the search area are not detected by the MS (i.e., thε mεasured_bc_sig_bag has no loc sigs for thεse location BSs), then the confidence is lowered by the mismatches. Thus, for examplε, the largest x% of the errors in "error_rεc_bag" may bε ignored. Notε, that "x" may bε: (a) a systεm parameter that is tunablε using, for example, a genetic algorithm; and (b) "x" may be tuned separately for εach diffεrεnt set of environmental charaαeristics that appear most important to accurately accessing discrepancies or errors between loc sigs. Thus, for a first set of environmental charaαeristics corresponding to: rural, flat terrain, summer, 8 PM and clear weather, it may be the ease that no loc sig errors are ignored. Whεreas, for a second set of environmental charaαeristics corresponding to: dense urban, hilly, fall, 8 PM, heavy traffic, and snowing, all but the three smallest errors may be ignored. */

/* determine (and return) error object based on the remaining error records */ error_obj.measmt <— 0; // initializations error_obj.confidencε < — 0; for each εrror_rec[i] in (error_rec_bag - BS_errors_to_ignore_bag) do

{ error_obj.measmt <--- error_obj.measmt + (error_rec[i].error); error_obj.confidencε <— εrror_obj.confideπce + (error rec [i] .confidence);

} error_obj.mεasmt < — εrror_obj.mεasmt / SIZEOF(error_rec_bag - BS_εrrors_toJgπore_bag); εrror_obj.confidence <— error_obj.confidence /SIZEOF(error_rec_bag - BS_errors_to_ignore_bag); RETURN(εrror_obj); ENDOF DB_Loc_Sig_Error_Fit

INTERNAL PROGRANS: reduce_bad_DB_loc_sigs(ioc_sig_bag , error_rec_set, big_error_threshold confidence_redutfion_factor, recent_time)

I* This program reduces thε confidεncε of vεrified DB loc sigs that are (seemingly) no bnger accurate (i.ε., in agreεmεnt with comparablε loc sigs in thε DB). If the confidence is reduced low enough, then such loc sigs are removed from the DB. Further, if for a DB verifiεd bcation εntity (referencing a collection of loc sigs for the same loαtion and timε), this εntity no bngεr references any valid loc sigs, then it is also removed from the bcation signature data basε 1320. .Note that the steps herein are also provided in flowchart form in Figs.18a through 18b. Inputs: loc sig bag: The loc sigs to be tested for determining if their confidences should bε lowered and/or these loc sigs removεd. error_rec_set: The set of "error rεcs" providing information as to how much εach loc sig in "bc_sig_bag" disagrees with comparable loc sigs in the DB. That is, there is an "error rec" here foreach loc sig in "loc sig bag". big_error_threshold: The error threshold above which the errors are considered too big to ignore. confidence_reduction_f actor The faαor by which to reduce thε confidence of loc sigs. recent_time: Time period beyond which loc sigs are no longer considered recent. {/* get loc sigs from the Location DB having both big absolute and relative errors (in comparison to other DB nearby loc sigs) */ relatrvely_big_errors_bag < — et "error_recs" in "εrror_rεc_set" wherein each "error recerror" has a size larger than, for examplε, the second standard deviation from the mean (averagε) of such errors; big_errors_bag < — get "error_recs" in "rεlativεly_big_εrrors_bag" whεrein εach "εrror_rec.εrror" has a valuε largεr than "big εrror threshold"; DB_loc_sigs_w_big_εrrors < — gεt thε loc sigs for "error recs" in "big_εrrors_bag" wherein each loc sig gotten here is identifiεd by "εrror_rec.loc_sig_id"; /* get loc sigs from the Location DB that have been recently added or updated */ recent_bc_sigs < — get_receπt_loc_ j/ j(bc_sig_bag, recεnt timε); /* Note, thε function, "gεt_recεπt_loc_sigs" can havε various embodiments, including detεrmining thε rεcεnt location signatures by comparing thεir timε stamps (or othεr timε related measurements) with one or more threshold valuεs for classifying bcation signatures into a "recεnt" category returned hεre and an a category for "old" or updatable bcation signatures. Notε that thεsε catεgories can be detεrminεd by a (tunablε) systεm time threshold parameter(s) for dεtermining a value for the variable, "recent_time", and/or, by data driving this categorization by, e.g., classifying the bcation signatures according to a standard deviation, such as defining the "recent" category as those bcation signatures more recent than a second standard deviation of thε timestamps of the locatbn signatures in "bc_sig_bag". */

/* subtract the recent loc sigs from the loc sigs with big errors to get the bad ones

*/ bad_DB_loc_sigs <— (big_error_DBJoc_sigs) - (recent_bc_sigs);

/* lower the confidence of the bad loc sigs */ for εach bc_sig[i] in bad DBJoc sigs do loc_si [i] .confidence < — (loc_sig[i].coπfidencε) * (confidence_reduction_factor); /* for each bad loc sig, update it in the DB or remove it from use if its confidence is too low */

/* Now delete any be sigs from the DB whose confidences have becomε too low. */ foreach bc_sig[i] in bad DBJoc sigs do if (loc_sig [i] .confidence < min loc sig confidence) then

{

REMOVE JROM_ USE(\ c g[ϊ\);

/* update composite location objects to reflect a removal of a referenced loc sig*/ verifiεd_bc_εntity <— retrim_composite_location_entity_having w_i\g[ )',

I* This gεts all other (if any) loc sigs for the composite bcation object that were vεrifiεd at thε samε time as "loc_sig[ij". Note, thesε othεr loc sigs may not πεεd to bε deleted (i.e., their signal charaαeristics may have a high confidence); however, it must be noted in the DB, that for thε DB composite bcation entity having "be sigp]", this entity is no longer complete. Thus, this entity may not be useful as, ε.g., nεural nεt training data. */ mark "vεrifiεd_bc_εntity" as incomplete but keep track that a loc sig did exist for the BS associated with "bc_sig[i]"; if ("verified_tac_εntity" now references no be sigs) then REMOVE_fROM_l/SE(m\fκd_\ cjint tf);

}

Figure imgf000149_0001
II with its nεw confidence } ENDOF reduce_bad_DB_loc_sigs

increase_confidence__of_good_DB_loc_sigs(nearby_loc_sig_bag, error_rec_set, small_error_threshold, confidence_increase_factor, recent_time);

I* This program increases the confidence of verified DB loc sigs that are (seemingly) of higher accuracy (i.e., in agreεmεnt with comparablε be sigs in thε DB). Note that thε stεps hεrein are also provided in flowchart form in Figs.19a through 19b. Inputs: loc_sig_bag: The be sigs to be tested for determining if their confidences should be increased. error_rec_set: The set of "error_recs" providing information as to how much each loc sig in "bc_sig_bag" disagrees with comparable loc sigs in the DB. That is, ther is an "error rec" here for each loc sig in "loc s bag". small_error_threshold: The error threshold below which the errors are considered too small to ignore. confidence Jπcrease^factor: The factor by which to increase the confidence of be sigs. recent_time: Time period beyond which loc sigs are no longer considered recent. /* get loc sigs from the Location DB having both small absolute and relative errors (in comparison to other DB nearby loc sigs) */ relative!y_small_εrrors_bag < — gεt "εrror_recs" in "error_rεc_set" wherein each "error_rec.error" has a size smaller than, for example, the second standard deviation from the mean (averagε) of such εrrors; sma!!_errors_bag < — et "error ecs" in "relativεly_small_εrrors_bag" wherein each "error recerror" has a sizε smaller than "small_error_threshold";

DB_bc_sigs_w_small_errors < — get thε loc sigs for "εrror_recs" in "small εrrors bag" whεrein εach loc sig gottεn hεre is identified by "εrror rec.loc sigjd"; /* get loc sigs from the Location DB that have been recently added or updated */ recent_loc_sigs < —

Figure imgf000150_0001

/* subtract the recent loc sigs from the loc sigs with small errors to get the good ones */ good_DB_bc_sigs <— (small error DB Ioc sigs) - (recent_loc_sigs); /* for each good loc sig, update its confidence */ for εach bc_sig['t] in good_DBJoc_sigs do

{ loc_sig[i].confidεncε <— (loc_sig[i].confidεπcε) * (confidεncejncrease aαor); if (loc_sig[i] .confidence > 1.0) then bc_sig[i] <— 1.0; }

ENDOF increase_good_DB_loc_sigs

DATA BASE PROGRAMS FOR DETERMINING THE CONSISTENCY OF LOCATION HYPOTHESES WITH VERIFIED LOCATION INFORMATION IN THE LOCATION SIGNATURE DATA BASE

LOW LEVEL DATA BASE PROGRAMS FOR LOCATION SIGNATURE DATA BASE

/* The following program compares: (al) loc sigs that are contained in (or derived from) the loc sigs in "target_loc_sig_bag" with (bl) loc sigs computed from verified loc sigs in the bcation signature data base. That is, each loc sig from (al) is compared with a corresponding loc sig from (bl) to obtain a εasurε ent of the discrepancy between thε two loc sigs. In particular, assuming εach of the loc sigs for "target_bc_sig__bag" correspond to the same target HS location, wherein this bcation is "targetjoc", this program determinεs how well the loc sigs in "targεt_bc_sig_bag" fit with a computεd or estimated loc sig for the bcation, "targetjoc" that is derivεd from the verifiεd loc sigs in thε bcation signature data basε. Thus, this program may bε used: (a2) for determining how well the loc sigs in the bcation signature cluster for a target HS ("target Joc_sig_bag") compares with loc sigs derivεd from verified location signatures in the loαtion signature data base, and (b2) for determining how consistent a given colleαion of loc sigs ("target Joc_sig_b3g") from the bcation signature data base is with other loc sigs in the loαtion signature data base. Note that in (b2) each of the one or more loc sigs in "target Joc_sig_bag" have an error computed here that can bε used in determining if the loc sig is becoming inapplicable for predicting targεt MS loαtions Notε that thε stεps herein are also provided in flowchart form in Figs.20a through 20d.*/

Determine_Location_Signature_FitJΞrrors(targetJoc, target_loc_sig_bag, search_area, search_criteria, output_criteria)

/* Input: target oc: An MS bcation or a bcation hypothesis for a particular MS. Note, this can be any of the folbwing:

(a) An MS location hypothesis, in which case, the loc sigs in "target Joc_sig_bag" are included in a location signature cluster from which this location hypothεsis was derived. Note that if this bcation is inaccurate, then "targetJoc_sig_bag" is unlikely to bε similar to thε comparable loc sigs derived from the be sigs of the location signature data basε close "targetjoc"; or

(b) A previously verified MS location, in which case, the loc sigs of

"targεt loc sig bag" are previously vεrified loc sigs. Howevεr, these loc sigs may or may not be accurate now. target Joc_sigJjag: Measured bcation signatures ("loc sigs" for short) obtained from the particular MS (the data structure here, bag, is an aggregation such as array or list). Thε location signatures here may be verifiεd or unverified. However, it is assumed that there is at least one loc sig in the bag. Further, it is assumed that there is at most one loc sig per Base Station. It is also assumed that the present parameter includes a "type"

Field indicating whether the loc sigs here have been individually selected, or, whether this parameter references an entire (verified) loc sig cluster i.e., the type field may have a value of: "UNVERIFIED LOC SIG CLUSTER" or 'VERIFIED LOC SIG CLUSTER"; search_area: The representation of thε geographic area surrounding "targetjoc". This parameter is usεd for searching the Location Signature data base for vεrifiεd loc sigs that correspond geographically to the bcation of an MS in "search area"; search_criteria: The criteria used in searching the location signature data base. The criteria may include the following:

(a) "USE ALL LOC SIGS IN DB",

(b) "USE ONLY REPEATABLE LOC SIGS", (c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY".

However, environmental charaαeristiα such as: weathεr, traffic, sεason are also contemplated. output_criteria: The criteria used in determining the error records to output in "εrror_rec". Thε criteria here may include one of:

(a) "OUTPUT ALL POSSIBLE ERROR ECS"; (b) "OUTPUT ERRORJECS FOR INPUT LOC SIGS ONLY".

Returns: error_rec: A bag of error records or objects providing an indication of the similarity betwεεn εach loc sig in "targεt Joc_sig_bag" and an estimated be sig computed for "targetjoc" from stored loc sigs in a surrounding area of "targεtjoc". Thus, εach error record/object in "εrror ec" provides a measurement of how well a be sig (i.e., wireless signal charaαeristics) in "target Joc_sig_bag" (for an associated BS and the MS at "targetjoc") correlates with an estimated loc sig between this BS and MS. Note that thε εstimated loc sigs are determined using verifiεd bcation signatures in the Location Signature DB. Note, each error record in "error rec" includes: (a) a BS ID indicating the base station to which the error record corresponds; and (b) an error measurement (> = 0), and (c) a confidence value (in [0, 1]) indicating the confidence to be placed in the error measurement. Also note that since "error_rεc" is an aggregate data typε (which for many aggregatε identifiers in this specifiαtion are denoted by the suffix "_bag" on the identifier), it can be any one of a number data types even though it's members are accessed hereinbelow using array notation. */

/* get BS's associated with DB loc sigs in "search_area" that satisfy

"search__criteria" */

DBJoc_sig_bag < — retrieve_ ver/fϊed_loc_sigs(imώjim, sεarch_critεria); // gεt ail vεrifiεd appropriate location signatures residing in the Location Signature data basε.

// Notε, some loc sigs may be blocked from being retrieved. DB_BS_bag < — get_ -5Ji(DB_bc_sig_bag); // get all base stations associated with at least one locatbn // signature in DBJoc_sig_bag. Note, some of thesε BSs may bε low power "location //BSs". /* get BS's associated with loc sigs in "target_loc_sig_bag" */ target_BS_bag < — get_ ΛO(target_bc_sig_bag); // get all base stations associated with at least one //location signature in "target_loc_sig_bag".

/* determine the BS's for which error records are to be computed */ case of "output_criteria" including:

"OUTPUT ALL POSSIBLE ERROR_RECS": /* In this casε, it is desired to determine a collection or error records wherein there is an error record for each BS that is associated with a loc sig in "targetJoc_sig_bag" and for each BS associated with a loc in the "search area" satisfying "search_critεria". */ BS_bag <— (DB BS bag) union (targεt_BS_bag);

"OUTPUT ERRORJECS FOR INPUT LOC SIGS ONLY":

BS bag <--- targεt JS bag; endαse;" /* for each BS to have an error record computed, make sure there are two loc sigs to compare: one loc sig derived from the "BS_bag" loc sig data, and one from derived from the loc sigs in the Location Signature DB, wherein both loc sigs are associated with the location, "targetjoc". */ foreach BS[ϊJ in "BS bag" do { I* determine two (estimated) loc sigs at "targetjoc", one derivεd from "targεt_bc_sig_bag" (if possible) and one dεrivεd from Location Signature DB loc sigs (if possiblε) */ comparison Joc_sig ag [i] <— retrieve /erified_loc_sigs_foιi^\ , sεarch_area, search_critεria);

/* gεt all loc sigs for which BS[i] is associated and wherein the verified NS location is in "search_area" (which surrounds the location "targetjoc") and wherein the loc sigs satisfy "search_criteria". */

/* now determine if there are enough loc sigs in the "comparison Joc_sig_bag" to make it worthwhile to try to do a comparison. */ if ( (SIZEOf(comparisonJoc_sigJag[i])/(SIZEOf(search_area)) ) < min_threshold_ratio(area_type(sεarch_arεa)) ) then /* it is believed that there is not a dense enough number of verifiεd loc sigs to compute a composite loc sig associated with a hypothetical MS at "targetjoc". */ error_rec[i].error <— invalid; else /* there are enough loc sigs in "comparison_loc_sig_bag" to continue, and in particular, an estimated loc sig can be derived from the loc sigs in "comparison_ loc_ sig_ bag"; however, first see if a target loc sig can be determined; if so, then make the estimated loc sig (denoted "estimated_loc_sig[i]") . */

{ if (BS[i] is in targεt JS Jag) thεn

/* get a loc sig in "targεt JS bag" for BS[i]; assumε at most oπε loc sig per BS in "targεt Joe sig Jag" */ targεt_bc_sig[i] < — get_loc_ J#(BS[i], targεt loc sig bag); εlsε /* BS[i] is not in "target_BS_bag", accordingly this implies that we are in the process of attempting to output all possible error records for all BS's: (a) that havε previously been deteαed in the area of "search area" (satisfying "sεarch_critεria"), union, (b) that are associated with a loc sig in "targεt Joe g Jag". Notε, thε path hεre is performed when the MS at the bcation for "targetjoc" did not detect the BS[i], but BS[i] has previously bεεn dεtεαεd in this area. */ if (target lo sig bag.type = = "UNVERIFIED LOCSIG CLUSTER") thεn

/* can at least determinε if thε MS for thε cluster deteαed the BS[i]; i.e., whethεr BS[i] was in the set of BS's detected by the MS even though no loc sig was obtained for BS[i]. */ if (BS_onfy Jrøc7i?fl(targεt loc sig bag, BS[i]) ) thεn /* dεteαed but no loc sig */ εrror_rec[i].error < — invalid; /* can't dεtermine an error if this is all the information we have */ elsε /* BS[i] was not deteαed by the MS at "target Joc.bαtion", so the pilot channel for BS[i] was in the noise; make an artificial loc sig at the noise ceiling (alternatively, e.g., a mεan noise value) for the MS locatbn at "targεtjoc" */ target fo sϊg[i] <— get_noise_ceilingJoc_sig(ϊ&ψt_ hι); εlsε; /* do nothing; thεrε are no othεr types for "target Joe sig Jag.type" that are currently usεd whεn outputting all possible εrror records for BS's */ if (error_rec[i] .error NOT invalid) thεn

/* we have a "target bc_sig" for comparing, so get the derivεd loc sig εstimatε obtainεd from thε verified loc sigs in the locatbn signature data base. */ estimated Jocjgjf ] < — estimate Joc_sig rom_DB(target bc.bαtioπ, comparison be sig bagfj]); /* The above call funαion provides an estimated loc sig for the bcation of "targetjoc" and BS[i] using the verifiεd loc sigs of "comparison be sig Jagp]" */ }

/* for each BS whose error record has not been marked "invalid", both "target oc_sig" and "estimated_loc_sig" are now well-defined; so compute an error record related to the difference between "target_loc_sig" and "estimated_loc_sig". */ for each BS [i] in "BS Ja " with error_rεc[i].error not invalid do /* determine the error records for thesε base stations */

{ /* Notε, the "target Joe g" here is for an MS at or near the locatbn for the center of area for "targetjoc". */ error_rεc[i] < — get ifference_measurement(targεt bc_sig[i], estimated Joe sig [i], comparison loc_sigJag[i], sεarch_area, seareh_criteria);/* gεt a mεasuremεnt of thε difference between thesε two loc sigs. */ error_rec.loc_sigjd <— targεt Joc_sig[i].id; /* this is thε loc sig with which this εrror_rεc is associated */ error rec.comparison bc_sig id bag < — comparison Joc_sig bag[i];

} RETURN(εrror_rec);

ENDOF Determine ocation_Signature_Fit_Errors

estimateJoc_sig_from_DB(loc_for_estimation, loc__sig_bag)

/* This function uses the verified e sigs in "bc_sig_bag" to determine a single estimated (or "typical") loc sig derived from the loc sigs in the bag. Note, it is assumed that all loc sigs in the "bc_sig bag" are associated with the same BS 122 (denotεd thε BS associated with the "bc_sig Jag") and that the loαtions associated with these loc sigs are near "loc for estimation". Furthεr, notε that since the loc sigs are verified, the associated base station was the primary base station when the loc sig signal measurements were sampled. Thus, the measurεmεnts arε as precise as the infrastruαure allows. Note that the steps herein are also provided in flowchart form in Fig.21. Input: loc Jor_estimation A representation of a service area locatbn. be g Jag A colleαion of verified loc sigs, each associated with the same base station and each associated with a service area bcation presumably relatively nεar to thε bcation represented by "bejor stimation". */ est_bc_sig <— extrapolate interpolate a locatbn signature for the bcation at "locjor estimation" based on loc sigs in "loc gjag"; /* Note, "εst loc sig" includεs a loαtion signature and a confidεncε measure. The confidencε mεasure (in the range: [0, 1]) is based on: (a) the number of verifiεd loc sigs in thε sεarch arεa; (b) how wεll they surround the center bcation of the new Joe, and (c) the confidencε faαors of thε be sigs in "loc g Jag" (ε.g., use average confidence value). Note, for thε extrapolation/interpolation computation hεre, thεrε are many such extrapolation/interpolation mεthods available as one skilled in the art will appreciate. For examplε, in onε εmbodimεnt of an extrapolation/interpolation mεthod, the folbwing steps arε contemplated:

(39.1) Apply any pre-processing constraints that may alter any subsequently computed "est Joe g" values derived below). For examplε, if thε BS associated with "bc_sig Jag" is currently inactive "bcation BS" (i.e., "aαive" meaning the BS is on-line to process bcation information with an MS, "inaα'rve" meaning the not on-line), then, regardlεss of any valuεs that may bε dεtεrmined hereinbelow, a value or flag is set (for the signal topography characteristics) indicating "no signal" with a confidence value of I is provided. Further, additional preprocessing may bε performed when thε BS associatεd with "loc_sig Jag" is a bcation BS (LBS) since the constraint that a pilot channεl from such an LBS is likεly to bε only detectable within a relativεly small distancε from the BS (e.g., 1000 ft). For example, if the MS location, "locjor_εstimation", doεs not intεrsεα thε radius (or arεa contour) of such a bcation BS, then, again , a valuε or flag is sεt (for thε signal topography charaαeristics) indicating "outside of LBS area" with a confidencε value of I is providεd. Alternatively, if (a) a determined area, A, including the MS locatbn, "bcjor_estimation" (which may itsεlf be, and likely is, an area), intersects (b) the signal detectable area about the bcation BS, then (c) thε confidεnce faαor value may be dependent on the ratio of the area of the intersection to the minimum of the size of the area in which the LBS is detectable and the size of the area of "locjor_εstimation", as onε skilled in the art will appreciate.

Furthεr, it is noteworthy that such pre-processing constraints as performed in this step may be provided by a constraint processing expert system, wherein systεm paramεters used by such an expert system are tuned using the adaptation engine 1382.

(39.2) Assuming a value of "no signal" or "outside of LBS area" was not set above (since otherwise no further steps are performed here), for each of thε coordinates (records), C, of the signal topography charaαeristics in the be sig data struαure, generate a smooth surface, S(C), of minimal contour variation for the set of points { (x,y,z) such that (x,y) is a representation of a service area loαtion , and z is a valuε of C at the location (x,y) for somε loc sig in "loc_sig Jag" whεrein (x,y) is a point estimate (likely centroid) of thε loc sig}. Notε that a lεast squares tεchniquε, a partial lεast squares technique, or averaging on "nearby" (x,y,z) points may be used with points from the above set to generate other points on the surface S(C). Additionally, note that for at least some surfaces characterizing signal energy, the genεration procεss for such a surface may usε thε radio signal attenuation formulas for urban, suburban, and rural developed by M. Hata in IEEE Trans, VT-29, pgs.317-325, Aug. 1980, "Empirical Formula For Propagation Loss In Land Mobile Radio" (herein incorporated by referencε).

For εxamplε, Hata's formulas may bε used in: (39.2.1) Determining portions of the surfaces S(C) where there is a low density of verifiεd loc sigs in

"loc Jag". In particular, if thεrε is a very low density of verified loc sigs in "loc sigjag" for the service area surrounding the bcation of "loc for estimation", then by determining the area typε(s) (e.g., transmission area typε as dεscribεd hereinabove, assuming a .correspondence betwεεn the transmission area typεs and thε more coarsε grained categorization of : urban, suburban, and rural) between this bcation and the base station associated with "loc sig bag", and applying Hata's corresponding formula(s), a signal value z may be estimated according to these type(s) and their corresponding area εxtents betwεεπ thε MS and thε BS. Notε, however, that this option is considered lεss optimal to using thε vεrifiεd loc sigs of "loc_s'ιg Jag" for dεtermining thε valuεs of a surface S(C). Accordingly, a bwεr confidεncε vaiuε may bε assigπεd thε resulting composite loc sig (i.e., "est_bc_sig") dεtεrminεd in this manner; and relatedly, (39.2.2) Dεtεrminiπg a surface coordinate (xyoι zo) of S(C) when there are nearby verified loc sigs in "loc sig bag". For example, by using Hata's formulas, an estimated surface value z, at the location

(x0,y0) may be derivεd from estimating a value z; at (x0,y0) by adapting Nata's formula's to extrapolate/interpolate thε value Z; from a nearby location (Xj.y,) having a verified loc sig in "loc_sig Jag". Thus, one or more estimatεs Zj may be obtained used in deriving z0 as onε skillεd in statistics will appreciate. Note, this technique may be used when there is a moderately low density of verifiεd loc sigs in "bc_sig Jag" for thε service area surrounding the locatbn of

"bcJor_estimation". Howεvεr, sincε such techniques may be also considered less than optimal to using a higher density of verifiεd loc sigs of "loc g Jag" for determining the values of a surface S(C) via a least squares or partial least square techniquε, a lowεr confidεncε vaiuε may bε assignεd thε resulting composite loc sig (i.ε., "est bc_sig") dεtεrmiπεd in this mannεr. Furthεr, recall that thε valuεs, z, for εach loc sig are obtained from a composite of a plurality of signal measurements with an MS, and, that each value z is the most distinct value that stands out above the noise in measurεmεnts for this coordinate, C. So, for εxample in the CDMA case, for each of the coordinates C representing a finger of signal energy from or to some MS at a verifiεd bcation, it is bεiiεved that S(C) will be a smooth surface without undulations that are not intrinsic to the service area near "locjorjstimation". (393) For εach of thε coordinates, C, of thε signal topography charaαeristics, extrapolate/interpolate a C-coordiπate value on S(Q for an estimated point location of "loc Jor_estimation". Further note that to providε more accurate estimates, it is contemplated that Hata's threε geographic catεgoriεs and corresponding formulas may bε usεd in a fuzzy logic framεwork with adaptivε mεchanisms such as thε adaptation εnginε 1382 (for adaptivεfy determining the fuzzy logic classifications). Additionally, it is also within the scope of the presεnt invεntion to usε thε techniques of L. E. Vogler as presεntεd in "Thε

Attεnuation of Elεαromagnεtic Waves by Multiple Knife Edge Diffraction", US Dept of Commercε, NTIA nos, 81-86 (hεrein incorporated by rεference) in the presεnt context for estimating a loc sig betwεεn thε basε station associated with

"loc sig bag" and thε locatbn of "locjorjstimation". */

RETURN (est Jocjig ) ENDOF estimateJ"oc_sig_from_DB

get_area_to_search(loc) f* This function determinεs and returns a represεntation of a gεographic area about a bcation, "loc", wherein: (a) the geographic area has associated MS locations for an acceptablε πumbεr (i.e., at lεast a determiπεd minimal numbεr) of vεrifiεd loc sigs from thε bcation signature data basε, and (b) thε gεographical arεa is not too big. However, if thεre are not εnough loc sigs in εven a largεst acceptablε sεarch area about "be", then this largest search area is returned. Notε that thε stεps herein are also providεd in flowchart form in Figs.22a through 22b. */

{ bc_area_tyρe < — get_area_ type oή /*gεt thε area typε surrounding "loc"; note this may bε a vεαor of fuzzy valuεs associatεd with a central bcation of "loc", or, associated with an area having "loc".

*/ search_area

Figure imgf000158_0001
/* this is thε largεst area that will be used */ savεd _search_area < — search_area; // may nεεd it after "sεarch_area" has bεεn changεd sεarch_area_types <— get_area_ r/v earcl rea); //e.g., urban, rural, suburban, mountain, etc. loop until RETURN performed:

{ miπ_acceptable_πbrJoc_sigs <— 0; // initialization for each area ype in "search area ypεs" do { arεa_pεrcεnt <—get_perceπt_of_area_of^xn_ t^ , sεarch_arεa); f* get percεntagε of area having "area type" */ min_accεptablε_πbr Joc_sigs < — min_acceptable_nbr_bc_sigs +

[(gεt_min_accεptab(ε_vεrifed_bc_sig_densityjOr(area_typε)) * (SIZEOF(sεarch_area) * area percentt / 100)];

}

/* Now get all verified loc sigs from the bcation signature data basε whose associated MS location is in

"search_area". */ total_πbr Joc igs < — get_all_ verified^ DB_ loc_ j/ $εarch_area); if (min_accεptablε_nbr_bc_sigs > total_nbr bc_sigs) thεn f* not εnough loc sigs in "search_area"; so return "saved _search_arεa" */ RETU N(saved search area); εlsε /* there is at least enough loc sigs, so see if "search area" can be decreased */ { saved_search_area <— search_area; sεarch_area < — decrease search a/ea aboul at, sεarch irea);

} } } ENDOF get_area to_search

/* For procεssing various typεs of loc sigs, particular signal procεssing filters may be required. Accordingly, in one embodimεnt of thε presεnt invention, a "filter Jag" objεct class is providεd wherein various filters may be methods of this objeα (in object-oriεnted terminology) for transforming loc sig signal data so that it is comparable with othεr loc sig signal data from, for εxample, an MS of a different classification (e.g., different power classification). It is assumed here that such a "filter bag" object includes (or references) one or more filter objeαs that correspond to an input filter (from the Signal Filtering Subsystem 1220) so that, given a loαtion signature data object as input to the filter bag objeα,, each such filter objeα can output loc sig filtered data corresponding to the filter object's filter. Notε, such a filter Jag objeα may accept raw loc sig data and invoke a corresponding filter on the data. Furthεr, a filter bag objεα may reference filter objects having a wide range of filtering capabilities. For examplε, adjustmεnts to loc sig data according to signal strength may be desired for a particular loc sig comparison operator so that the operator can properly compare MS's of different powεr classes against one another. Thus, a filter may bε providεd that utilizes, for each BS, a corresponding signal strength change topography map (automatically genεrated and updated from thε vεrifiεd loc sigs in thε loαtion signature data basε 1320) yiεiding signal strength changes detected by the BS for vεrifiεd MS location's at various distances from the BS, in the radio coveragε area. Additionally, thεre may also be filters on raw signal be sig data such as quality charaαeristics so that loc sigs having different signal quality charaαeristics may be compared. */

get_difference_measurement(target_loc_sig, estimatedJoc_sig, comparison_loc_sig_bag, search_area, search_criteria)

/* Compare two bcation signatures betwεεn a BS and a particular MS location (εither a vεrifiεd or hypothesized location) for determining a measure of their differencε relative to the variability of thε vεrifiεd bcation signatures in thε

"comparison Joc_sig Jag" from thε bcation signature data basε 1320. Note, it is assumed that "target_loc_sig", "estimated_loc_sig" and the loc sigs in "comparison_loc_sig_bag" are all associated with the same BS 122. Moreovεr, it is assumεd that "targεt bc_sig"and "εstimatεd be sig" are wεll-dεfinεd non-NIL loc sigs, and additionally, that "comparisonJoc_sig bag" is non-NIL. This funαion returns an εrror record, "error_rec", having an error or differencε valuε and a confidεncε valuε for thε εrror valuε. Note, thε signal characteristics of "targεtJoc_sig" and thosε of "εstimatεd Joc_sig" are not assumεd to bε normalized as described in section (26.1) prior to entering this function so that variations in signal characteristics resulting from variations in (for example) MS signal processing and generating charaαeristics of different types of MS's may be reduced, as dεscribεd in the discussion of the loc sig data type hereinabove. It is further assumed that typically the input loc sigs satisfy the "search riteria". Notε that the steps herein are also provided in flowchart form in Figs. 23a through 23c.

target Joc_sig: The loc sig to which the "error_rec" dεtεrminεd hεre is to be associated. Note that this be sig is associatεd with a bcation denoted hereinbelow as the "particular location".

estimated Joc_sig: The loc sig to compare with the "target Jocjig", this be sig: (a) bεing for thε samε MS locatbn as "targεtjocjig", and (b) dεrivεd from vεrifiεd loc sigs in the bcation signature data base whεnεver possible. However, note that if this be sig is not derivεd from thε signal characteristics of loc sigs in the bcation signature data base, then this parameter provides a e sig that corresponds to a noise levεl at the particular MS bαtion. comparison Joc_sig_bag: The universe of loc sigs to use in determining an error measuremεnt bεtwεεn

"targεt Joe sig" and "estimated Joe ig" . Note, the loc sigs in this aggregation includε all loc sigs for thε associatεd Base Station 122 that are in the "search area" (which surrounds the particular MS bcation for "targetjoc jig") and satisfy the constraints of "search jriteria". It is assumed that there are sufficient loc sigs in this aggregation to perform at least a minimally effective variability measurement in the loc sigs herε. search_area: A representation of the geographical area surrounding the particular MS loαtion for all input loc sigs. This input is used for determining extra information about the search area in problematic circumstances. search riteria: The criteria used in searching the location signature data basε 1320. Thε criteria may include thε following:

(a) "USE ALL LOC SIGS IN DB",

(b) "USE ONLY REPEATABLE LOC SIGS",

(c) "USE ONLY LOC SIGS WITH SIMILAR TIME OF DAY

Howεver, environmental charaαeristics such as: weathεr, traffic, sεason are also contemplated. */

error <— 0; // initialization

/* get identifiers for the filters to be used on the input loc sigs */ filterjag <---

Figure imgf000160_0001

/* It is assumed hεre that each entry in "filterjag" identifies an input filter to be used in the context of determining a difference measurement betwεεn loc sigs. Note, if all be sigs to be used herε arε of thε same type, thεn it may bε that thεre is no neεd for filtering here. Accordingly, "filter bag" can be empty. Alternatively, there may bε one or more filter objeαs in "filterjag".*/ /* initializations */

/* for each filter, determine a difference measurement and confidence */ for each filter bj indicated in filter Jag do {

/* filter "target_ loc^sig", "estimated^ loc_ sig" and loc sigs in "comparison_ loc_ sig_ bag"; note, each fifter_obj can determine when it needs to be applied since each loc sig includes: (a) a description of the type (e.g., make and model) of the loc sig's associated MS, and (b) a filter flag(s) indicating filter s) that have been applied to the loc sig. */ targεt Joe jig < — filter tbj(targεt be jig); /* filter at least the signal topography characteristics */ estimated Joe jig < — filter j>bj(estimated be jig); /* filtεr at least the signal topography charaαeristics */ comparisonjocjigjag<— filter )bj(comparisonJocjig Jag); /* filtεr loc sigs hεre too */ }

/* determine a difference measurement and confidence for each signal topography characteristic coordinate */ for εach signal topography characteristic coordinate, C, of thε loc sig data typε do

{ variability nεas tval < — et_ variability_raπge[i, comparison Joe sig bag); /* This funαion providεs a rangε of thε variability of thε C-coordinatε. In onε embodiment this measurement is a range corresponding to a standard deviation. However, other variability measurement definitions are contemplated such as second, third or fourth standard dεviations. */ /* make sure there are enough variability measurements to determine the variability of values for this coordinate. */ if (SIZEOF(comparisonJoc jig Jag) < expected_BS_/oc_s/g_thresbofo{ιmά im, sεarch ritεria)) thεn /* use thε data here, but reduce the confidence in the variability measurement. Note that it is expeαed that this branch is performed only when "comparison Jocjig bag" is minimally big enough to use (since this is an assumption for performing this funαion), but not of sufficient sizε to havε full confidεncε in thε valuεs obtained. Note, a tunable system parameter may also be incorporated as a coefficient in the computation in the statement immediately below. In particular, such a tunable system parameter may be based on "search rεa" or more particularly, area types intersecting "search rea".*/ { variability jnεasmt conf εduction factor < — SIZEOF(comparison be jig Jag)/ expected_ BS_ loc_ sig_ threshold($Mώ_am, sεarch ritεria);

} εlsε /* Thεrε is a sufficiεnt numbεr of loc sigs in "comparison be jig Jag" so continuε */ { variability mεasmt conf εduαbnjaαor <— 1.0; //i.ε., don't red ucε confidεnce

}

/* Now determine the C-coord difference measurement between the

"target_loc_sig" and the "estimated_loc_sig" */ delta < — /rø(target Jocjig[C] - estimated Joe sig[C]); // get absolute valuε of thε difference if (delta > variability measmt.val) then

{ error < — error + (delta/variability_measmt.val);

} }/* end C-coord processing *'/

/* construct the error record and return it */ error ecerror <— error;

/* Get an average confidence value for the loc sigs in "comparison_loc_sig_bag" Note, we use this as the confidence of each loc sig coordinate below. */ average onfidεncε < — AVERA6E(\oz sig.confidεncε for locjig in "comparison Jocjig Jag"); εrror εcconfidεncε <— MIN(target Joe jig onfidεncε, εstimatεd locjig.confidεnce, (average confidence * variability nεasmt onf εduαionjaαor)); // presently not used RETURN(error rεc); ENDOF get_difference_measurement

APPENDIX D: Context Adjuster Embodiments

A description of the high level functions in a first embodiment of the Context Adjuster context_adjuster(loc_hypJist) /* This funαion adjusts thε bcation hypothεsεs on thε list, "loc_hyp_list", so that thε confidεncεs of thε bcation hypothεsεs are determined more by empirical data than default values from thε First Order Models 1224. That is, for each input location hypothesis, its confidence (and an MS location area estimate) may be exclusively determined here if there are enough verifiεd bcation signatures avaiiablε within and/or surrounding thε bcation hypothεsis estimate.

This funαion creates a new list of loαtioπ hypotheses from the input list, "locjypjist", wherein the bcation hypothesεs on thε nεw list arε modifiεd vεrsions of those on the input list. For each location hypothesis on the input list, one or more corresponding location hypothεsεs will bε on thε output list. Such corresponding output location hypothεses will differ from their associated input bcation hypothesis by one or more of the following: (a) the "image rea" field (seε Fig.9) may bε assignεd an arεa indicative of where the target MS is estimated to be, (b) if "image rea" is assigned, then the "confidence" field will be the confidence that the target MS is located in the area for "image rea", (c) if there are not sufficient "nearby" verified bcation signature clusters in the ioαtioπ signature data base to entirely rely on a computεd confidεncε using such vεrified bcation signature clusters, then two loαtion hypotheses (having reducεd confidεncεs) will bε returned, one having a reduced computed confidencε (for "imagε rea") using the vεrified clusters in the Location Signature DB, and onε bεing substantially thε samε as the associated input bcation hypothesis except that the confidencε (for thε fiεld "area st") is reducεd to reflect the confidencε in its paired location hypothesis having a computed confidence for "image rεa". Note also, in some cases, the bαtion hypothesεs on thε input list, may havε no change to its confidencε or thε area to which thε confidεncε appliεs. Note that the steps hεrein arε also providεd in flowchart form in Figs.25a and 25b. */

{ nεwjocjypjist <— create_new_empty_list§; for εach loc Jypfj] in loc_hyp_Iist do /* Notε, "i" is a First Ordεr Modεl 1224 indicator, indicating thε modεl that output

"hypjocfi]" */

{

/s? ? f7 e_ >z/i77_//j (1oc_hyp[i] , loc_hyp_Iist); if (NOT loc Jypfj] . adjust) thεn /* no adjustmεnts will bε madε to thε "arεa st" or thε "confidencε" fields since thε "adjust" field indiαtes that there is assurance that these other fields are correα; note that such designations indicating that no adjustment are presently contemplated are only for thε location hypothεses generated by the Home Base Statbn First Order Modεl, the Locatbn Base Station First Ordεr Modεl and the Mobil Basε Station First Ordεr Modεl. In particular, location hypothesεs from thε Ho ε Base Station model will have confidences of 1.0 indiαting with highest confidεncε that thε targεt MS is within thε arεa estimate for the bcation hypothesis. Alternatively, in the Location Base Station model, generated location hypotheses may have confidences of (substantially) + 1.0 (indicating that the target MS is absolutely in the area for "area st"), or, -1.0 (indicating that thε targεt MS is NOT in the area estimate for the generated loαtion hypothesis).*/ { be Jιyp[i].image_area < — NULL; // no adjustment, then no "image area" add o_list(πew_locJyp_list, bcjyp[i]);//add "be Jypfj]" to thε new list

} else /* the bcation hypothesis can (and will) be modified; in particular, an "image rεa" may be assigned, the

"confidencε" changεd to reflect a confidence in the target MS being in the "image rea". Additionally, in somε casεs, more than one bcation hypothesis may be genεrated from "loc Jypfj]". See the comments on FIG.9 and the comments for "get djusted Joe Jypjist Jor" for a description of the tεrms here. */

{ temp list < — get_ad justed Joc_hypJist Jor(loc_hyp[i]); new Joe Jypjist <— rø77.V/rø /kι(newJoc Jypjist, te pjist);

}

RETURN (new Joe Jypjist); }ENDOF

get_adjustedJoc_hypJist_for(loc_hyp)

/* This funαion returns a list (or more generally, an aggregation objeα) of one or more bcation hypothesεs related to the input bcation hypothesis, "loc_hyp". In particular, the returned locatbn hypothesεs on the list are "adjusted" versbns of "loc Jyp" in that both their target MS I'lO bcation estimates, and confidence placed in such estimates may be adjusted according to archival MS bαtion information in the loαtion signature data base 1320. Note that the steps herein are also providεd in flowchart form in Figs. 26a through 26c. RETURNS: loc_hyp_list This is a list of one or more location hypothesεs related to the input "loc hyp". Each location hypothesis on "loc Jypjist" will typically be substantially the same as the input "loc_hyp" except that there may now be a new target MS estimate in the field, "image rea", and/or the confidence value may be changed to reflect information of verified location signature clusters in the location signature data base. Introductory Information Related to the Function, "get adjusted loc iyp ist for" This function and functions called by this funαion presuppose a framework or paradigm that requires some discussion as well as the defining of some terms. Note that some of the terms definεd hereinbelow are illustrated in Fig.24.

Dεfinε thε term the "the cluster set" to be the set of all MS bcation point estimatεs (ε.g., thε values of thε "pt st" field of the bcation hypothesis data type), for the presεnt FOM, such that these estimatεs are within a predetermined corresponding area (e.g., "loc _hyp.pt ovεring" bεing this predetermined corresponding area) and thesε point εstimatεs have verified bcation signature clusters in the bcation signature data base.

Note that the predetermined corresponding area above will be denoted as the "cluster set area".

Define the term "image cluster set" (for a given First Order Model identifiεd by "locJyp.FOMJD") to mean the set of verifiεd location signature clusters whose MS location point estimatεs are in "thε clustεr set". Note that an area containing the "image cluster sεt" will bε dεnot d as the "image cluster set area" or simply the

"image area" in some contexts. Further note that the "image cluster set area" will be a "small" area encompassing the "imagε clustεr set". In one embodiment, the image cluster set area will be the smallest covering of cells from the mesh for the present FOM that covers the convex hull of thε image clustεr sεt. Note that preferably, each cell of each mesh for each FOM is substantially contained within a single (transmission) area type. Thus, the present FOM provides the correspondεncεs or mapping betweεn elements of the cluster set and elεmεnts of thε imagε cluster set. */

{ add o_list(loc Jypjist, loc Jyp); /* note the fields of " cjyp" may bε changed below, but add "loc Jyp" to the list,

" e Jypjist herε */ mεsh <— get_ce//_ nesh_for_πιodel(\oc ,'fpSOft_\ >y, I* get the mesh of geographic cells for the First Order Model for this locatbn hypothesis.*/ pt nin rea <—get_/n/n_area_surrounding_pt(\oc \yf), mesh); /* Get a minimal area about the MS location point,

"pt st" of "be Jypfj]" indicating a point bcation of the target MS. Note that eithεr the "pt jst" fiεtd must bε valid or the "area st" field of "loc Jypp]" must be valid. If only the latter field is valid, then the centroid of the "areajst" field is determined and assigned to the "pt st" field in the function called herε. Note that thε mεsh of thε modεl may bε usεful in determining an appropriately sized area. In particular, in one embodimεnt, if "loc _hyp.pt jst" is interior to a cell, C, of the mesh, then "pt nin rea" may correspond to C. Furthεr notε that in at lεast one εmbodimεnt, "pt nin rea" maybe dependent on the area typemtb'm which "loc Jyp.pt st" resides, since sparsely populated flat areas may be provided with larger valuεs for this identifier. Further, this funαion may provide values accoiding to an algorithm allowing periodic tuning or adjusting of the values output, via, e.g., a Monte Carlo simulation (more generally, a statistical simulation), a regression or a Gεπetic Algorithm. For the present discussion, assume: (i) a cell mesh per FOM 1224; (ii) each cell is contained in substantially a single (transmission) area typε; and (iii) "pt nin rea" represents an area of at least one cell. '/ area < — pt jnin rεa; // initialization ptjnax rεa <—get_ffm_area_swrotndmg_pt(\otJ,yp, mesh); /* Get the maximum area about "pt st" that is deεmed worthwhile for examining the behavior of the "loc Jyp.FOM JD" First Order Model (FOM) about "pt jst". Note that in at lεast oπε embodiment, this value of this identifier may also be dependent on the area type within which "loc Jyp.pt st" resides. Further, this function may provide values according to an algorithm allowing periodic tuning or adjusting of thε values output, via, e.g., a Monte Carlo simulation (more generally, a statistical simulation or regression) or a Genetic Algorithm. In some embodimεnts of the presεnt invention, the value detεrminεd hεrε may bε a relatively large proportion of thε entire radio coverage area region. However, the tuning process may be used to shrink this value for (for example) various area types as loαtion signature clusters for verifiεd MS location εstimatεs are accumulated in the bcation signature data base. */ min lusters < --- get_miπ_nbr_of Mter4\ot yp.ϊ0ll{_\[), mz); /* Forthε arεa, "arεa", gεt thε minimum numbεr

(" iπ lusters") of archived MS estimatεs, L, desired in generating a new target MS location estimate and a related confidencε, whεrein this minimum number is likely to provide a high probability that this new target MS locatbn estimate and a related confidence are meaningful enough to use in subsequent Loαtion Centεr procεssing for outputting a targεt MS bcation estimate. More precisely, this minimum number, "min lusters," is an estimatε of the archived MS bcation estimatεs, L, required to providε the above mentioned high probability wherein each L satisfies the folbwing conditions: (a) L is in the area for "area"; (b) L is archived in the bcation signature data base; (c) L has a corresponding verifiεd location signature cluster in the bcation signature data base; and (d) L is generated by the FOM identified by "loc JypJOM JD"). In one embodimεnt, "minjlusters" may be a constant; however, in another it may vary according to arεa typε and/or area size (of "area"), in some it may also vary according to the FOM indicated by "loc hyp.FOM JD". */ pt stjag

Figure imgf000166_0001
Get the MS location point estimates for this FOM wherein for each such estimate: (a) it corresponds to a verifiεd bcation signature cluster (that may or may not be near its corresponding εstimatε), and (b) each such MS estimate is in "pt nin rea". */ /* Now, if necessary, expand an area initially starting with "pt nin_area" until at least "minjlusters" are obtained, or, until the expanded area gets too big. */ while ((sizeof(pt_est_bag) < min lusters) and (sizeof(area) < = ptjna rεa) do { area < — increasefatti)', minjlusters <---get_mm_nbr_of_clusters(\oc ιy)JOtt_\\), arεa); //update for new "area" ptjstjag
Figure imgf000166_0002
} attach_ /ø(loc Jyp.pt ovεring, area); // Makε "arεa" thε "pt covεring" field

if (sizeof(pt st Jag) = = 0) thεn /* there aren't any other FOM MS estimates having corresponding verifiεd location signature clusters; so designate "be Jyp" as part of the second set as describεd above and return. *"/ { be Jyp.imagε rea < — NULL; // no image area for this loc_hyp; this indicates second set

RETURN(loc Jypjist);

} /* It is now assured that "ptjstjag" is non-empty and "area" is at least the size of a mesh cell. •/

/* Now determine "image trea" field for "loc yp" and a corresponding confidence value using the verified location signature clusters corresponding to the MS point estimates of "area" (equivalently, in "pt est ag"). */

/* There are various strategiεs that may bε usεd in determining confidences of the "image rea" of a location hypothesis. In particular, for the MS location estimatεs (gεnεrated by the FOM of loc Jiyp.FOM ID) having corresponding vεrified loαtion signature clustεrs (that may or may not bε in "area"), if the number of such MS bcation estimates in "area" is deemed sufficiently high (i.e., > = "min lusters" for "arεa"), then a confidence value can be computed for the "image rea" that is prediαive of the target MS being in "image rea". Accordingly, such a new confidencε is used to overwrite any previous confidencε value corresponding with the target MS estimate generated by the FOM. Thus, the initial estimate generated by the FOM is, in a sensε, an index or pointer into the archived bcation data of the bcation signature data base for obtaining a new target MS location estimate (i.e., "imagε rea") basεd on previous vεrifiεd MS locations and a nεw confidence value for this new estimatε. Alternatively, if the number of archived FOM MS estimatεs that are in "arεa," whεrεin εach such MS εstimate has a corresponding verified locatbn signature clusters (in "image area"), is dee εd too small to reliably usε for computing a new confideπcε valuε and consεquently ignoring the original target MS location estimate and confidencε gεnεratεd by the FOM, then strategies such as the folbwing may be implemεntεd.

(a) In one embodimεnt, a determination may be made as to whether there is an alterπativε arεa and corresponding "image rea" that is similar to "area" and its corresponding "image rea" (e.g., in area sizε and type), wherein a confidencε value for the "image area" of this alternative area can be reliably computεd duε to thεrε being a sufficient number of previous FOM MS estimates in the alternative area that have corresponding verified loαtion signature clusters (in the location signature data basε). Thus, in this εmbodiment, thε eonfidεncε of thε alternative "image rea" is assigned as the confidence for thε "imagε rea" for of "area". (b) In another embodimεnt, thε area represented by "pt max rea" may bε madε substantially idεntical with thε

MS location service region. So that in many casεs, thεrε will bε, as "arεa" increases, eventually be enough MS bcation estimates in the cluster set so that at least "minjlusters" will be obtained. Note, a drawback here is that "imagε area" may bε in become inordinately large and thus be of little use in determining a meaningful target MS location estimate. (c) In anothεr εmbodiment, denotεd hεrein as thε two tiεr strategy, both the original FOM MS bcation estimatε and confidεncε as wεll as thε "imagε rea" MS loαtion εstimatε and a confidence are used. That is, two bcation hypotheses are provided for the target MS bcation, one having the FOM MS location estimatε and one having the MS bcation estimate for "image rεa". Howevεr, thε coπfidencεs of εach of thεse location hypothesεs maybe reduced to reflect the resulting ambiguity of providing two different location hypothesεs dεrivεd from the same FOM MS estimate. Thus, the computations for determining the confidence of "image rea may be performed even though there are less than the minimally required archived FOM estimatεs nεarby to the original FOM target MS estimate. In this embodimεnt, a wεighting(s) may bε used to weight thε confidence valuεs as, for εxample, by a function of the size of the "image cluster sεt". For examplε, if an original confidence value from the FOM was 0.76 and "area" contained only two-thirds of the minimally acceptable number, "min lusters", then if the computation for a confidencε of thε corresponding "image area" yielded a new confidence of

0.43, then a confidencε for thε original FOM target MS estimate may be computed as [ 0.76 * (1/3)] wherεas a confidεncε for thε corresponding "imagε rea" may bε computεd as [0.43 * (2/3)]. Howεvεr, it is within the scope of the presεnt inventbn to use other computations for modifying the confidεncεs usεd hεre. For example, tunable system coefficients may also be applied to the above computed confidencεs. Additionally, note that some embodimεnts may require at least a minimal number of relevant verified bcation signature clusters in the bcation signature data base before a bcation hypothesis utilizes the "image rea" as a target MS bcation estimate.

Although an important aspeα of the presεnt invεntion is that it providεs increasingly more accurate MS location εstimatεs as additional vεrifiεd location signatures are obtainεd (i.e., added to the bcation signature data base), it may be thε casε that for somε areas thεre is substantially no pertinent verified bcation signature clustεrs in thε bcation signature data base (e.g., "imagε jrea" may be undefined). Accordingly, instead of using the original FOM genεrated location hypothεses in the same manner as the loαtion hypothesεs having targεt MS location estimates corresponding to "image reas" in subsequεnt MS bcation estimation processing, these two types of location hypothesεs may be procεssed separately. Thus, a strategy is provided, wherein two sets of (one or more) MS location estimates may result:

(i) one set having the bcation hypothesεs with meaningful "image areas" as their target MS locatbn εstimates and

(ii) a sεcond set having the location hypothεses with their confidence values corresponding to thε original FOM target MS estimates. Since the first of thesε sets is considered, in general, more reliable, the second set may used as a "tie breaker" for detεrmining which of a numbεr of possiblε MS bcation εstimatεs dεtεrminεd using thε first sεt to output by thε Location Cεntεr. Notε, howεvεr, if there are no bcation hypotheses in the first set, then the second set may be used to output a Location Centεr targεt

MS location εstimate. Further note that in determining confidences of this second set, the weighting of confidence values as described above is contemplated. .

The steps provided hereinafter reflect a "two tier" strategy as discussed in (c) above. */ /* The following factor is analogous to the 2 3's factor discussed in (c) above. */ cluster ratio Jaαor <— miπ{(sizεof(pt s tjag) / minjlusters), 1.0};

/* Now use "area" to obtain a new target MS location estimate and confidence based on archived verified loc sigs, but first determine whether "area" is too big to ignore the original target MS location estimate and confidence generated by the FOM . */ if (sizεof(area) > pt nax rεa) thεn f* create a loc_hyp that is essentially a dupliαte of thε originally input "loc Jyp" εxcεpt thε confidεncε is lowεrεd by "(1.0 - clustεr atio Jaαor)". Note that the original "locjyp" will have its confidencε computεd below. */ { nεw Joe Jyp < —

Figure imgf000169_0001
II get a copy of the "locjyp" new Joe Jiyp.imagε rea < — NULL; // no image area for this nεw ioc_hyp

/* Now modify the confidεncε of "loc_hyp"; notε, in thε onε εmbodimεnt, a systεm (i.ε., tunablε) paramεter may also bε usεd as a coefficient in modifying the confidence herε. */ new locjyp.confιdεncε < — πεwjocjyp.confidεnce * (1.0 - cluster atio Jaαor) ; addjoJist(loc hypJist, nεwjoc Jyp);

}

/* Now compute the "image irea" field and a confidence that the target MS is in

"image trea" */ image luster jεt <

Figure imgf000169_0002
Notε, this statement gets the verifiεd locatbn signature clusters for which the targεt MS point locatbn εstimatεs (for the First Order Model ideπtifiεd by

"loc Jyp.FOM JD") in "pt st Jag" arε approximations. Notε that the set of MS location point estimates reprεsεnted in "pt jst Jag" is defined as a " cluster sef hereinabove.*/ image jrea < —

Figure imgf000169_0003
Notε, in obtaining an area herε that contains thεsε verified bcation signature clusters, various embodimεnts arε contemplated. In a first embodiment, a (minimal) convex hull containing thesε clusters may bε provided here. In a second embodimεnt, a minimal covering of cells from the mesh for the FOM identified by "loc Jyp.FOM JD" may be used. In a third embodiment, a minimal covering of mesh cells may bε usεd to covεr thε convεx hull containing the clusters. It is assumed hereinbelow that the first embodimεnt is usεd. Notε, that this area is also denoted the "image cluster set are as is describεd hereinabovε. */ atøc _/O(bcJyp.image rea, image rea); /* Make "image jrea" the "image area" field of "locjyp". */ I* In the following step, determine a confidence value for the target MS bεing in the area for "image rea". */ confidence < — confidence ιdjuster(loc hyp.FOM_ID, imagejrea, image lustεr jet); /* In thε following stεp, reduce the value of confidence if and only if the number of MS point bcation estimatεs in "ptjstjag" is smaller than "min lusters" */ locJyp.confideπce <— confidence * cluster atiojactoπ RETURN(loc Jypjist); }ENθθf get_adjustedJoc_hyp 'ist_for

confidence ιdjuster(FOM_ID, image_area, image_clusteι_set)

/* This funαion returns a confidence value indicative of the target MS 140 being in the area for "image area". Note that the steps herein are also providεd in flowchart form in Figs.27a and 27b.

RETURNS: A confidence value. This is a valuε indiαtivε of the target MS being located in the area represented by "image rea" (when it is assumed that for thε related "locjyp," the "cluster set arεa" is thε

"loc_hyp.ρt overing" and "loc Jyp.FOM JD" is "FOMJD");

Introductory Information Related to the Function, "confidence idjuster" This function (and funαions called by this function) presuppose a framework or paradigm that requires some discussion as well as thε dεfining of tεrms. Define the term "mapped cluster density" to be the number of the verifiεd bcation signature clusters in an

"image cluster set" per unit of area in the "image cluster set area".

It is believed that the higher the "mapped cluster density", thε greater thε confidεncε can be had that a target MS actually rεsidεs in thε "imagε clustεr sεt area" when an estimate for the target MS (by thε prεsεnt FOM) is in the corresponding "the cluster set". Thus, the mappεd cluster density becomes an important faαor in determining a confidence value for an estimated area of a target MS such as, for example, the area represented by "image rea". However, the mapped cluster density value requires modification before it can be utilized in the confidence calculation. In particular, confidencε valuεs must bε in thε raπgε [-1, 1] and a mappεd uster dεnsity doεs not havε this constraint. Thus, a "relativized mapped cluster density" for an εstimatεd MS area is desired, wherein this relativized measurεmεnt is in thε rangε [-1, + 1], and in particular, for positive confidences in the range [0, 1]. Accordingly, to alleviate this difficulty, for the FOM define the term "prediction mapped cluster density" as a mapped cluster density value, MCD, for the FOM and imagε clustεr sεt area wherein:

(i) MCD is sufficiently high so that it correlates (at lεast at a predetermined likelihood threshold levεl) with thε aαual targεt MS location bεing in thε "imagε clustεr sεt arεa" whεn a FOM targεt MS bcation estimate is in the corresponding "cluster set area"; That is, for a cluster set area (ε.g., "loc _hyp.pt jovering") for the presεnt FOM, if thε imagε cluster sεt area: has a mapped cluster density greater than the "prediction mapped cluster density", then there is a high likelihood of thε target MS being in the image cluster set area. It is beliεvεd that thε prediction mapped cluster density will typically be depεndεnt on onε or more arεa typεs. In particular, it is assumεd that for εach arεa typε, thεrε is a likely rangε of prediαion mapped clustεr dεnsity valuεs that is substantially uniform across thε arεa typε. Accordingly, as discussεd in dεtail hereinbelow, to calculate a prediαion mappεd clustεr density for a particular area type, an estimatε is made of the correlation betweεn thε mapped cluster densities of image areas (from cluster set areas) and the likεlihood that if a vεrifiεd MS location: (a) has a corresponding FOM MS estimatε in the cluster set, and (b) is also in thε particular area type, thεn thε vεrifiεd MS location is also in thε image area.

Thus, if an arεa is within a single area type, then such a "relativized mapped cluster density" measuremεnt for thε area may bε obtained by dividing the mapped cluster density by thε prεdiαion mappεd cluster density and taking the smaller of: thε resulting ratio and 1.0 as the value for thε relativized mapped cluster density. In some (perhaps most) cases, howevεr, an arεa (e.g., an image cluster set area) may havε portions in a numbεr of area typεs. Accordingly, a "composite prediction mapped cluster density" may bε computed, wherein, a weighted sum is computed of the prediction mapped cluster dεnsitiεs for the portions of the area that is in each of the area types. That is, the weighting, for each of the single area type prediction mappεd clustεr dεnsities, is the fraαion of the total area that this area type is. Thus, a "relativized composite mapped cluster density" for the area here may also be computed by dividing the mapped cluster dεnsity by thε composite prediction mapped cluster density and taking the smaller of: the resulting ratio and 1.0 as the value for the relativized composite mappεd clustεr dεnsity.

Accordingly, notε that as such a relativized (composite) mapped cluster dεnsity for an imagε clustεr set area increases/decreases, it is assumεd that the confidencε of the target MS being in the image cluster set area should increase/decrease, respectively. */

prεdiαioπ nappεd cluster Jεnsity < — get_composite_prediction_mapped_cluster_density_with ^igh_certainty

(FOM JD, image rea); /* The function invoked above provides a "composite prediction cluster density" (i.e., clusters per unit area) that is usεd in dεtermining the confidencε that thε targεt MS is in "imagε jrea". That is, the composite prediαion mapped cluster density value provided herε is: high enough so that for a computed mapped cluster density greater than or equal to thε composite prediαion clustεr dεnsity , and the target MS FOM estimate is in the "cluster set area", there is a high expectation that the aαual target MS bcation is in the "image cluster set area" . */ max rea < — get_max_area_for_high_certaint) OWJl, imagejrea); /* Get an area size value wherein it is highly likely that for an area of size, "ma rea", surrounding "image rea", the aαual target MS is located therein. Note, that one skilled in the art will upon contemplation be able to derivε varbus embodiments of this function, some embodiments being similar to the steps described for embodying the function,

"gεt omposite jrediαbn jnapped luster εnsity vithjigh εrtainty" invokεd abovε; i.e., performing a Monte Carlo simulation. ivεn thε abovε two values, a positive confidεnce value for the area, "image rea", can be calculated based on empirical data.

There are various embodimεnts that may bε usεd to determine a confideπcε for the "image rea". In general, such a confidence should vary onotonically with (a) and (b) below; that is, the confidence should increase (decrease) with: (a) an increase (decrease) in the size of the area, particularly' the area is deemed close or relεvant to thε bcation of thε targεt MS; and (b) an increase (decrease) in the size of the image cluster set (i.e., the number of verified location signature clusters in the area that each have a bcation estimate, from the FOM identifiεd by "FOM JD", in thε "clustεr sεt" corresponding to thε "imagε lustεrjεt;" ε.g., thε "clustεr set" being a "loc _hyp.pt jovering"). As one skilled in the art will understand, there are many functions for providing confidences that vary monotonically with (a) and(b) above. In particular, for the cluster sεt area being "loc _hyp.pt ovεring", one might be inclined to usε thε (arεa) size of the image cluster area as the value for (a), and the (cardinality) size of the image cluster sεt as thε valuε for (b). Thεn, the folbwing term might be considered for computing the confidencε:

(sizεof(imagε clustεr sεt arεa) * (sizεof(image cluster set)) which, in the present context, is equal to (sizeoff'imagε rεa") * (sizεoffimagε lustεr sεt")).

Howεvεr, since confidεncεs are intended to be in the range [-1,1], a normalization is also desirable for the values corresponding to (a) and (b). Accordingly, in one embodiment, instead of using thε abovε values for (a) and (b), ratios are used. That is, assuming for a "relevant" area, A (ε.g., including an imagε clustεr set area of "loc_hyp.pt covering") that there is a vεry high confidence that the target MS is in A, the folbwing term may be usεd in place of the term, sizeof("imagε_area"), above: min { [sizeoff'imagεjrεa") / sizεof(A)], 1.0 }. [CAM]

Additionally, for thε condition (b) abovε, a similar normalization may bε provided. Accordingly, to provide this normalization, note that the term,

(sizeof(imagεjrea) * prediαbn mapped luster εnsity) [CAl.l.l] is anabgous to sizeof(A) in [CAM]. That is, the expression of [CAl.l.l] gives a threshold for the number of verifiεd location signature clusters that are likely to be neεdεd in ordεr to havε a high confidεπce or likelihood that the target MS is in the area represented by "imagejrea". Thus, the folbwing term may be used for the condition (b): min { (sizeof (image cluster set) /

[(sizεof(imagε rεa) * prεdiαion_mappεd_clustεr_dεnsity], 1.0} [CAI.2]

As an aside, note that siz8θf(image_clusterjet) /[sizeof(image area) * prεdiαbn mappεd cluster density] is equivalεnt to

[sizeof(image clusterjet) / sizeof(image jrea)] / (prediction_mapped_cluster_dεnsity) and this latter term may be interpreted as the ratio of: (i) the mapped cluster density for "imagejrea" to (ii) an approximation of a cluster density providing a high expectation that the target MS is contained in "imagejrea".

Note that the produα of [CAM] and [CAI.2] provide the above desired charaαeristics for calculating the confidencε. Howεver, there is no guarantee that the range of resulting valuεs from such produαs is consistent with thε interpretation that has bεεn placεd on (positive) confidence values; e.g., that a confideπcε of near 1.0 has a very high likelihood that the target MS is in the corresponding area. For εxample, it can be that this produα rareiy is greater than 0.8, εvεn in thε arεas of highεst coπfidεπcε. Accordingly, a "tuning" function is contεmplatεd which providεs an additional faαor for adjusting of thε confidεncε. This factor is, for εxamplε, a function of thε arεa typεs and thε sizε of εach arεa type in "imagejrea" . Moreover, such a tuning function may be dependent on a "tuning coefficiεnt" per area type. Thus, one such tuning funαion may be: number of area types min(S [tc, * sizeof(arεa typε, in "imagεjrεa") / sizεof ("imagε rεa")] , 1.0) ι = l

whεre tc, is a tuning coεfficiεnt (dεter inεd in background or off-liπε procεssing; ε.g., by a Gεnεtic Algorithm or Montε Carlo simulation or regression) for the area type indexed by "i".

Note that it is within the scope of the presεnt inventbn, that other tuning functions may also be used whose values may be depεndεπt on, for εxamplε, Montε Carlo techniques or Gεnεtic Algorithms. It is interesting to note that in the produα of [CAI.I] and [CAI.2], the "image rea" size cancels out. This appears to confliα with the description above of a desirable confidencε calculation. Howεvεr, the resulting (typical) computed value:

[sizeof(image_cluster_set)] / [maxjrea * prediαion_mapped_clustεr_density] [CAI3] is strongly depεndεnt on "image area" sincε "imagε lustεr jεt" is dεrivεd from "imagε jrea" and "prediction_mapped_clustεr_dεπsity" also dεpεnds on "imagεjrεa". Accordingly, it can be said that the produα [CAI. ] above for the confidencε does not depend on "raw" area size, but rather depεnds on a "relevant" area for locating the target

MS.

An embodiment of the confidence computation follows:

*/ area_ratb < — min((sizεof (imagε area) / max rea), 1.0); clustεr_dεπsity_ratio <— min( ((sizεoffimagε lusterjet) / [sizeof(imagε rea) * (prediαbn_mapped_clustεr_dεnsity)]), 1.0 ); tunablε oπstant < — get_coπfϊdence_tuniπg_constant(\mage_mή', II as discussed in the comment above confidence <— (tunable onstant) * (area atio) * (clustεr_dεnsity_ratio); //This is in thε rangε [0, 1] RETURN(confidence); } ENDOF confidence adjuster

get :omposite prediction τιapped luster_density_with ^igh ertainty (F0M_ID, image_area);

/* The presεnt function determines a composite prediαion mapped cluster density by determining a composite prediction mapped cluster density for the area represented by "imagejrea" and for the First Order Model identifiεd by "FOM ID". The steps herein are also provided in flowchart form in Fig.28.

OUTPUT: composite napped ensity This is a record for the composite prediαion mapped cluster dεnsity. in particular, thεrε are with two fields:

(i) a "value" field giving an approximation to the prediαion mapped cluster density for the First

Order Modεi having id, FOM ID;

(ii) a "reliability" field giving an indication as to the reliability of the "value" field. The reliability field is in the range [0, 1] with 0 indicating that the "value" field is worthless and the larger the value the more assurance can be put in "value" with maximal assurance indicated whεn "reliability" i l.*/

{

/* Determine a fraαion of the area of "imagejrea" contained in each area type (if there is only one, ε.g., dense urban or a particular transmission area type as discussεd in thε dεtailεd dεscription hereinabove, thεn thεrε would bε a fraαion having a valuε of I for this area type and a value of zero for all others). */ composite mappεd ensity < — 0; // initialization for each area ypε intersecting "imagejrea" do // "area Jype" may be taken from a list of area types . { /* determine a weighting for "area jype" as a fraction of its area in "imagεjrεa" */ intεrsεction <— intersec imigc_aπa, area_foι(zm_typή); weighting < — sizeof(iπtersεαbn) / sizεof(arεajmage);

/* Now compute a prediαion cluster dεnsity that highly correlates with predicting a bcation of thε target MS for this area type. Then provide this cluster density as a factor of a weighted sum of the prediαion cluster densities of each of the area types, wherein the weight for a particular area type's prediction cluster dεnsity is thε fraαion of thε total area of "imagε rea" that is designated this particular area type. Note that the following function call does not utilize information regarding the locatbn of "image rea". Accordingly, this function may accεss a prεcomputεd tablε giving predication mapped cluster densities for (FOM JD, area jype) pairs. Hov/ever, in alternative embodiments of the present invention, the prediction mapped cluster dεnsities may be computed specifically for the area of "image rea" intersect "area ype". */ prediction mapped density <— get_prediction_mapped luster fensityJor(FOM_ID, area_type); composite_mapped Jεnsity <— compositε nappεd εnsity +

( εighting * prεdittion_mappεd_dεπsity);

} RETURN(compositε mappεd dεnsity);

} ENDOF get_composite_prediction_mapped_cluster fensity_withJιigh_certainty

get_prediction ϊiapped lusteι* Jensity_for(FOM_ID, area ype)

/* Thε present funαion determines an approximation to a prediction mapped cluster density, D, for an area type such that if an image cluster set area has a mapped cluster density > = D, then there is a high expectation that the target NS 140 is in the image cluster set area. Note that there are a number of embodimεnts that may bε utilized for this funαion. The steps herein arε also provided in flowchart form in Figs.29a through 29h. OUTPUT: prediction jnapped_cluster iensity This is a value giving an approximation to the prediction mapped cluster density for the First Ordεr Modεl having identity, "FOM JD", and for the area typε represented by "areajypε" */ Introductory Information Related to the Function, "get_predication_mapped_cluster_densityJor"

It is important to note that the computation hεre for thε prediαion mappεd clustεr density may be more intense than somε othεr computations but the cluster densities computed here need not be performed in real time targεt MS bcation procεssing. That is, thε stεps of this funαion may be performed only periodically (e.g., once a week), for each FOM and each area type thereby precomputing the output for this funαion. Accordingly, the values obtained hεre may be stored in a table that is accessed during real time target MS location processing. However, for simplicity, only the periodically performed steps are presented here. Howevεr, onε skillεd in the art will understand that with sufficiently fast computational dεvices, some related variations of this funαion may be performed in real-time. In particular, instead of supplying arεa type as an input to this function, a particular area, A, may be provided such as the image area for a cluster set area, or, the portion of such an imagε arεa in a particular area type. Accordingly, wherever "area Jype" is used in a statement of the embodiment of this funαion below, a comparable statement with "A" can be provided.

{ mesh < — get_mes _Λv(FOM JD); /* get the mesh for this First Order Model; preferably each cell of "mesh" is substantially in a single area type. */ max_nbr simulations

Figure imgf000176_0001
area jypε); /* This funαion outputs a value of the maximum number of simulations to perform for estimating the prediction mapped cluster dεnsity. Note that the output here may always be the same value such as 100. */ πbrjimulationsjerformεd <— 0; // initialization whilε (πbr_simulations_performεd < = max brjimulatioπs) do // dεterminε a valuε for thε "avεragε mappεd cluster dεnsity" and a likεlihood of this valuε bεing predictive of an MS locatbn. */

{ representative_cel!_cluster et < — ιlfϊ?_ v? ?/3?jt' ?rar/V_ rι?/_^r/</j/It? ϊ_ &/(area_type, mesh); /* Note, each a ivatioπ of this funαion should provide a different set of cell clusters from a covering from "mesh" of an (sub)area of typε, "areajype". There should ideally be at least enough substantially different sεts of representative cell clusters so that there is a distinct sets of cell clusters for each simulation numbεr, j. Furthεr note that, in onε εmbodimεnt, εach of the "representative cell cluster sets" (as used here) may include at least a determined proportion of the number of cells distributed over the area typε. Moreovεr. εach cell cluster (within a representative cell cluster set) satisfies the following: A. Thε cell cluster is a minimal covering (from "mesh") of a non-empty area, A, of typε "area typε" ("A" being referred to herein as the associated area for thε cεll clustεr);

B. Thε cells of the cluster form a conneαed area; note this is not absolutely necεssary; howεvεr, it is preferred that the associated area "A" of "areajype" covered by the cell cluster have a "small" boundary with other area types since the "image jreas" computed below will be less likely to include large areas of othεr area typεs than "arεajypε;"

C. Thεre is at lεast a predetermined minimal number (> = I) of verifiεd bcation signature clusters from thε bcation signature data base whose locations are in the associated area "A".

D. The cell cluster has no cell in common with any other cell cluster output as an εntry in "rεprεsεntativε εll lustεrjεt" . */ if (representative el I lustεrjεt is NULL) thεn /* anothεr representative colleαion of cell clusters could not be found; so ceasε furthεr simulation processing here, calculate return valuεs and return */ break; // jump out of "simulation loop" else /* there is another representative colleαion of cell clusters to use as a simulation */

{ for each cell cluster, C, in "representative ell lusters" do /* determine an approximation to the predittiveness of the mappings bεtwεεn: (a) clustεr sεt areas wherein each cluster set area is an area around a (FOM JD) FOM estimate that has its corresponding vεrifiεd locatbn in "C," and (b) the corresponding image areas for these cluster set areas. Note, the bcation signature data base includes at least one (and preferably more) location signature clusters having verifiεd locations in each cell cluster C as per the comment at (C) above.

*/ raiidomjist <— raπdomly_select_

Figure imgf000177_0001
f* select one or more vεrified MS locations from C. */ mappεd εnsity jum < — 0; // initialization for εach verified bcation, "rand erif Joe", in "randomjist" do I* Let X denote the MS 140 estimatε by thε present FOM of the verifiεd loαtion signature clustεr of "rand εrif Joe"; let CS(X) denote the cluster sεt obtainεd from thε cluster sεt area (i.e., pt jrea) surrounding X; this loop dεtεrminεs whεthεr thε associatεd imagε arεa for thε set CS(X) - X, (i.e., the image area for CS(X) without "randjerif Joe") includes "rand erifjoc"; i.ε., try to predict the location area of "rand εrifjoc". */ { loc st < — get_ loc_ est_ /ø/(rand_vεrif Joe, FOM JD); /* get the FOM MS bcation estimatε for an MS actually located at "randjerifjoc". */ cluster jet < — get_/oc_ests_surroυnding(\κj!it, mεsh); /* εxpand about "locjst" until a minimal number of other bcation estimatεs from this FOM arε obtainεd that are different from

"loc st", or until a maximum area is rεachεd. Notε, "clustεr set" could be empty, but hopefully not. Also note that in one εmbodimεπt of the function here, thε following functions may bε invokεd: "gεt_min_area_surrounding," "gεt_max rεajurrounding" and "gεt min nbr of lusters" (as in "get djusted Joe Jypjist Jor", the second funαion of Appendix D): */ imagejet < — get_image_ ø/(clu5ter jεt); /* "imagε jet" could be empty, but hopefully not */ imagejrea <— get_image_area(ιm _Mt); /* get convex hull of "imagejet". Note, "imagejrea" could be an empty area, but hopefully not. */ if (randjerifjoc is in imagejrea) then /* this is one indication that the mapped cluster density: (sizeoφmage jet]/image_area) is sufficiently high to be predictive */ predictions <— predictions + I; if (image jεt is not empty) then

{ density < — sizeof(image jet) /sizeof (image rea); I* Get an approximation to thε mappεd duster density that results from "imagejet" and "imagejrea." Note, that thεrε is no guarantee that "imagejrea" is entirely within the area type of "area ype." Also notε, it is assumεd that as this mapped cluster density increasεs, it is more likely that "rndm erif Joe" is in "image rea". */ mapped ensityju <— appεd εnsityjum + dεnsity;

} } /* end loop for predicting bcation of a random MS verifiεd loαtion in cell cluster C. */ total_possible_prediαbns < — sizεof(random Jst); // Onε prεdiαion pεr elemεnt on list. /* Now gεt average mapped density for thε cεll clustεr C. */ avg mapped Jεnsity [C] <— mapped ensityjum /total_possible_prediαbns; /* Now gεt thε prediαion probability for thε cεll clustεr C. */ prediction ρrobabi!ity[C] < — prediαions / total_possible_prεdiαions;

} /* εnd bop ovεr cell clusters C in "represεntativε εl I lustεrs" */ nbrjimulations_performed <— nbrjimulatbns_pεrformεd + I;

} //εnd εlsε

/* It would be nice to use thε sεt of pairs (avg_mapped_density[C], prεdictbnjrobability [C]) for εxtrapolating a mappεd dεnsity valuε for thε area typε that gives a very high prediαion probability. Howεver, duε to the potentially small number of verifiεd MS locations in many cells (and cell clusters), the prediction probabilitiεs may providε a very small number of distinα values such as: 0, 1/2, and I. Thus, by averaging thesε pairs ovεr thε cεll clusters of

"representative ell lustεrs", thε coarsεnεss of thε prediαion probabilities may be accounted for. */ avg jnapped cluste Jεnsity[nbr jimulatioπs_ρerformed] < — avg_ of_ ce/l_ mapped_^ , 77J/ir/ vg_mappεd_dεnsity); avg_prεdittion_probability[nbr_simulations_pεrformεd] < — avg_ of_ cel/_predi(tion_probabi/ώes([>ttά ώonj)ωb \\V(y,

} I* εnd simulation loop */ /* Now dεtεrmine a measure as to how reliable the simulation was. Note that "reliability" computed in the next statement is in the range [0, 1]. */ reliability < — nbr _simulations_pεrformεd /max br simulations; if (reliability < systεm defined jpsilon) thεn /* simulation too unreliable; so use a default high value for

"predittion napped iuster dεnsity" */ prediαion mappεd luster density < — get dεfauit Jigh density alue Jor(area type); else /* simulation appears to be sufficiently reliable to use the entriεs of "avg_mappεd_cluster_density" and "avg prediction probabiHty" */

/* A more εasily discεrniblε pattern betwεεn mappεd cluster density and prεdiαion probability may be provided by the set of pairs:

S = {(avg_mapped luster εnsityfj], avg_prediαbn_probability[j])}, so that a mapped cluster density value having a high prediαion probability (ε.g., 0.95) may be extrapolated in the next statemεnt. Howεvεr, if it is determined (in the functbn) that the set S does not extrapolate well (duε to for example all ordered pairs of S being clustered in a relatively small region), then a "NULL" value is returned. */ prediαion mappεd luster density < — mapped_ cluster_ density_ f/rø/ a//i? vg_maρpεd_clu5ter_density, avg prεdiction probability, 0.95); if ( (predictbn_mapped lustεr eπsity = = NULL) then

I* set this value to a default "high" value for the present area typε*/ prediαioπ_mapped_clusterJeπsity<— et efaultjigh eπsity aluejor(areajype); else //So both "prediα n mappεd lustεr ensity" and it's reliability arε minimally OK.

/* Now take the "reliability" of the "prediαion_mappεd_clustεr Jεπsity" into account. Accordingly, as thε reliability decreases αn the prediαion mapped cluster density should bε increased. Howεvεr, there is a system defined upper limit on the value to which the prediction mapped cluster density may be increased. The next state εnt is one embodiment that takes all this into account. Of course other embodimεnts are also possible.

*/ prediαion mapped_clustεr εnsity<~ min {(prediction_mapped_cluster density / reliability), gct efaultJigh_deπsity alue_for(arεajypε)}; } //εnd else for simulation appearing reliable RETURN(predictϊon_mapped_clustεr density); }ENDOF get_prediction_mapped_cluster_densityJor

A Second Embodiment of the Context Adjuster.

Note that in this second embodimεnt of the Context Adjuster, it usεs various heuristics to increment/decrement thε confidεncε valuε of thε bαtion hypothεsεs coming from thε First Ordεr Modεls. Thεsε heuristics are implemented using fuzzy mathematics, wherein linguistic, fuzzy "if-then" rules embody the heuristiα. That is, each fuzzy rulε includes terms in both the "if" and the "then" portions that are substantially dεscribεd using natural laπguag — like terms to dεnot varbus parameter value classifications related to, but not equivalent to, probability density funαions. Further note that the Context Adjuster and/or the FOM's may be calibrated using the bcation information from LBSs (Le., fixεd location BS transceivers), via the Loαtion Base Station Model since such LBS's have well known and accurate predetermined locations. Regarding the heuristics of the present embodimεnt of thε context adjuster, the following is an exampiε of a fuzzy rule that might appεar in this embodiment of the Context Adjuster

If <the season is Fall> then <thc confidencε level of Distance Model is increased by 5%> .

In the above sample rule, "Distance Model" denotes a First Order Model utilized by the present invention. To apply this sample rule, the fuzzy system needs a concrete definition of the term "Fall." In traditional expert systems, the term Fall would be described by a particular set of months, for examplε, September through November, in which traditional set theory is applied. In traditional set theory, an entity, in this case a date, is eithεr in a sεt or it is not in a sεt, e.g. its degree of membership in a set is eithεr 0, indicating that thε entity is not in a particular set, or I , indiαting that thε εntity is in thε set. Howevεr, thε traditional sεt theory employed in expert systems does not lend itsεlf wεll to entities that fall on set boundaries. For examplε, a traditional εxpert system could take dramatiαlly different aαions for a date of August 31 than it could for a date of September I because August 1 might belong to the set "Summer" while the date September I might belong to the set "Fall." This is not a desirable behavior since it is extremely difficult if not impossible to determine such lines of demarcation so accurately. Howevεr, fuzzy mathεmatics altaws for the possibility of an entity belonging to multiple sets with varying degrees of confidence ranging from a minimum value of 0 (indicating that the confidencε thε εntity belongs to the particular set is minimum) to I (indicating that the confidencε thε εntity bεlongs to thε particular set is maximum). The "fuzzy boundaries" betwεεn the various sets are described by fuzzy mεmbεrship funαions which providε a membership funαion value for each value on the entire range of a variable. As a consequence of allowing entities to bebng to multiple sets simultaneously, the fuzzy rule base might havε more than onε rule that is applicable for any situation. Thus, the aαions prescribed by the individual rules are averaged via a weighting schemε whεre εach rule is implemented in proportion to its minimum confidence. For further information regarding such fuzzy heuristiα, the following references are incorporated herein by reference: (McNeil and Freibergεr, 1993; Cox, 1994; Klir and Folgεr, 1999; Zim εrman, 1991).

Thus, the rules defined in the fuzzy rule base in conjunction with the membership functions allow the heuristics for adjusting confidencε valuεs to be represented in a linguistic form more readily understood by humans than many other heuristic representations and thereby making it easier to maintain and modify the rules, The fuzzy rule base with its membership funαions an be thought of as an extension to a traditional expert system. Thus, since traditional expert systems are subsets of fuzzy systems, an alternative to a fuzzy rule base b a traditional expert system, and it is implicit that anywhere in the description of the current inventbn that a fuzzy rule base an be replaced with an expert system.

Also, these heuristics may evolve overtime by employing adaptive mechanisms including, but not limited to, genetic algorithms to adjust or tune varbus system values in accordance with past experiences and past perfor ancε of the Context Adjuster for increasing the accuracy of the adjustments made to loαtbn hypothεsis confidεncε values. For example, in the sample rule presented above:

If <the sεason is Fall> thεn <thε confidεncε level of Distance Model is increased by 5%> an adaptive mechanism or optimization routine an be usεd to adjust thε percent increase in the confidεncε lεvεl of the Distance Model. For examplε, by accessing the MS Status Repository, a genetic algorithm is αpable of adjusting thε fuzzy rules and mεmbe rship funαions such that the bαtion hypotheses are consistent with a majority of the verified MS loαtions. In this way, the Context Adjuster is able to empby a genetic algorithm to improve its performancε ovεr time. For further information regarding such adaptive mechanisms, thε following references are incorporated herein by reference: (Goldberg, 1989; Holland, 1975). For further informatbn regarding thε tuning of fuzzy systems using such adaptive mechanisms, the folbwing references are incorporatεd hεrein by reference: (Karr, 1991a, 1991b). In one embodimεnt, the Context Adjuster alters the confidence values of loαtion hypotheses according to one or more of the following environmental faαors: ( I ) the type of region (e.g., densε urban, urban, rural, εtc), (2) thε month of thε yεar, (3) the time of day, and (4) the operational status of base stations (e.g., on-line or off-line), as well as other environmental faαors that may substantially impaα the confidence placed in a loαtioπ hypothesis. Note that in this embodimεπt, each environmental faαor has an associated set of linguistic heuristics and associated membership functions that prescribe changes to be made to the confidencε valuεs of the input loαtion hypotheses. The context adjuster begins by receiving loαtioπ hypothεsεs and associatεd confidεncε levels from the First Order Models. The Context Adjuster takes this information and improves and refines it based on environmental information using the modules described below.

B.I COA Calculation Module

As mentionεd abovε each loαtion hypothesis provides an approximation to the MS positbn in the form of a geometric shape and an associated confidence value, a. Thε COA calculation modulε dεtεrminεs a center of area (COA) for each of the geometric shapes, if such a COA is not already provided in a bαtion hypothεsis. Thε COA Calculation Modulε receives the following informatbn from each First Order Model: (I ) a gεometriαl shape and (2) an associated confidεncε vaiuε, a. The COA calculation is made using traditional geometric computations (numerical algorithms are readily available). Thus, folbwing this step, each loαtion hypothesis includes a COA as a single point that is assumed to represent the most likely approximation of the loαtbn of the MS. The COA Calculation Module passes the following information to the fuzzifiαtbn module: (I) a geometrical shape associated with each first order model 1224, (2) an associatεd confidence value, and (3) an associated COA.

B.2 Fuzzification Module A fuzzifiαtion modulε receives thε following information from thε COA Calculation Modulε: (I) a geometrical shape associated with each First Order Model, (2) an associatεd confidεnce valuε, and (3) an associated COA. The Fuzzification Module uses this information to compute a membership funαion value (μ) for each of the M loαtion hypotheses received from the COA calculation module (whεre thε individual modεls are identifiεd with an i iπdεx) for εach of thε N environmental faαors (identified with a j index). In addition to the information received from the COA Calculation Module, the Fuzzifiαtion Module receives information from the Loαtioπ Centεr Supervisor. Thε fuzzifiαtion module uses current environmental information such as the current time of day, month of year, and information about thε base statbns on-line for communicating with the MS associated with a bαtion hypothesis currently being processed (this information may include, but is not limited to, the number of base statbns of a given type, e.g., loαtbn basε statbns, and regular basε stations, that havε a prevbus history of being detected in an area about thε COA for a bαtion hypothεsis). Thε basε station covεragε information is usεd to compute a percentage of base statbns reporting for each loαtbn hypothesis.

The fuzzifiαtion is achieved in the traditional fashion using fuzzy membership funαions for each environmental faαor as, for examplε, is described in the following references incorporated herein by reference: (McNeil and Freiberger, 1993; Cox, 1994; Klirand Folgεr, 1999; Zimmerman, 1991). Using thε geographical area types for illustration purposes herε, thε following procedure might be used in the Fuzzifiαtbn Module. Each value of COA for a loαtion hypothesis is used to compute membership funαion values (μ) for each of five types of areas: (I) dεnsε urban (μ U), (2) urban (μu), (3) suburban (μs), (4) rural plain (μu), and (5) rural mountains (μm). Thεsε membership funαion values provide the mechanism for representing degrees of membership in the area types, thesε area typεs being determined from an area map that has bεen sectioned off. In accordance with fuzzy theory, there may be geographical locations that include, for example, both dεnse urban and urban areas; dεnsε urban and rural planε arεas; dεnsε urban, urban, and rural plane areas, εtc. Thus for a particular MS loαtbn area estimate (dεscribεd by a COA), it may be both dense urban and urban at the same time. Thε resolution of any apparent coπfliα in applicable rules is later resolved in the Defuzzifiαtion Module using the fuzzy membership fuπαioπ values (μ) computed in the Fuzzification Module. Any particular value of a COA an land in more than one area type. For example, the COA may be in both densε urban and urban. Furthεr, in somε cases a loαtion hypothεsis for a particular Fiπt Ordεr Modεl i may have membership funαioπsμou', μ^μ μ^, andμRM' wherein they all potentially havε non-zεro values. Additionally, each geographical area is contoured. Note that the membership function contours allow for one distinα value of membership fuπαioπ to be determined for each COA loαtion (i.e., there will be distinα values of μ^', μ^μ^μ^, and ^' for any single COA value associated with a particular model i). For εxamplε, thε COA would have a deπsε urban membership funαion valuε.μβu', εqual to Oi. Similar contours would bε used to compute values of μ^μ^μ , and μ^'. Thus, for each COA, there now exists an ai ray or series of membership funαion values; there are K membεrship funαion valuεs (K = numbεr of descriptive terms for the specified environmental faαor) for each of M First Order Models. Each COA calculation has associated with it a definitive value forμou', μu l$ lw,, t and ^1. Taken collectively, the M loαtion hypotheses with membεrship funαion values for the K descriptive terms for the particular environmental faαor results in a membεrship funαion value matrix. Additionally, similar membership funαbn values are computed for each of the N environmental faαors, thereby resulting in a corresponding membership funαbn value matrix foreach of the N environmental faαors. The Fuzzifiαtion Module passes the N membership funαion value matrices described above to the Rule Base Module along with ali of thε informatbn it originally recεivεd from the COA Calculation Module. B3 Rule Base Module The Rule Basε Module receives from the Fuzzifiαtbn Module the folbwing information: (I) a geometrical shape associated with each first Order Model, (2) an associated confidencε value, (3) an associated COA, and (4) N membership funαion value matrices. The Rule Base Module uses this informatbn in a manner consistent with typical fuzzy rule bases to determine a set of aαive or applicable rules. Sample rules were provided in the general discussion of the Context Adjuster. Additionally, referencεs have beεn supplied that describe the necessary computations. Suffice it to say that thε Rule Basε Modulεs εmploy thε informatbn providεd by the Fuzzifiαtion Module to compute confidencε value adjustments for εach of thε m loαtion hypothεsεs. Associated with each coπfidencε value adjustment is a minimum membεrship funαion value contained in the membεrship function matrices computed in thε Fuzzifiαtion Modulε.

For εach loαtion hypothεsis, a simple inference enginε driving the rule base queries the performancε database to determine how well the loαtion hypotheses for the first Ordεr Model providing the current loαtion hypothεsis has performed in the past (for a geographic area surrounding thε MS location εstimatε of thε current bαtion hypothesis) under the presεnt environmental conditions. For example, the performance database is consulted to determine how well this particular First Ordεr Modεl has performed in the past in bating an MS for the given time of day, month of year, and area type. Note that the performancε value is a value betwεεn 0 and I wherein a value of 0 indicates that the model is a poor performer, while a value of I indicates that the model is always (or substantially always) accurate in dεtermining an MS loαtion under thε conditions (and in the area) being considered. Thesε performance valuεs are usεd to compute values that are attached to the current confidence of the current loαtion hypothesis; i.e., these performance values serve as the "then" sides of the fuzzy rules; the First Order Models that have been effective in the past have their confidencε levels incremented by large amounts whilε First Ordεr Models that have bεεn ineffective in the past have their confidencε levels incremented by small amounts. This informatbn is received from the Performancε

Databasε in thε form of an environmental faαor, a First Order Model number, and a performance value. Accordingly, an intermediate value for the adjustment of the confidencε value for the current loαtion hypothesis is computεd for εach environmental condition (used by Context Adjuster) basεd on thε pεrformancε value retrieved from the Performance Database. Each of these intermediate adjustment values are computed according to the folbwing equation which is applicable to arεa information:

adjustmeπtj' = Da' = performance_yaluej * DaREGI0N M"

where a is the confidencε valuε of a particular loαtioπ hypothεsis, performaπce_valuε is thε valuε obtainεd from thε Pεrformancε Database, u GioN is a system parameter that accounts for how important the information is being considered by the context adjuster. Furthermore, this parameter is initially provided by an opεrator in, for εxample, a system start-up configuratbn and a reasonable value for this parameter is believed to be in the range 0.05 to 0.1 , the subscript j represents a particular environmental faαor, and the superscript i represents a particular First Order Model. Howevεr, it is an important aspεtt of thε present invention that this value απ be repeatedly altered by an adaptive mechanism such as a geπεtic algorithm for improving thε MS bcation accuracy of thε present inventbn. In this way, and because thε rules are "written" using current pεrformance informatbn as stored in thε Pεrformancε Database, thε Rulε Module is dynamic and becomes more accurate with time.

The Rule Base Module passes t e matrix of adjustments to the Defuzzifiαtbn Module along with the membership funαion value matrices received from the Fuzzifiαtion Module. B.6 Defuzzification Module

The Defuzzification Module receives the matrix of adjustments and thε membership function valuε matrices from the Rule Base Module. The final adjustment to the First Order Model confidence values as computed by the Context Adjuster is computed according to:

Figure imgf000184_0001

such as, but not limited to, time of day, month of year, and base statbn coveragε, there are a number of system start-up configuration parameters that n be adjusted in attempts to improve system performance. Thesε adjustmεnts are, in effeα, adjustments computed depending on the previous performance values of each model under similar conditions as being currently considered. These adjustments are summed and forwarded to the blackboard. Thus, the Context Adjuster passes the following information to the blackboard: adjustments in confidεnce values for each of the First Order Models based on environmental faαors and COA values associated with each loαtion hypothesis. Summary The Context Adjuster uses environmental faαor informatbn and past performance informatbn for each of i First Order Models to compute adjustments to the current confidence values. It retrieves informatbn from the First Order Models, interacts with the Supervisor and the Performancε Database, and computes adjustments to the confidencε vaiuεs. Further, the Context Adjuster employs a genetic algorithm to improve the accuracy of its calculations. The algorithm for the Context Adjuster is included in algorithm BE.B below: Algorithm BE.B: Pseudocodε for the Context Adjuster. Context_Adjuster (geometries, alpha)

I* This program implεmεnts the Contεxt Adjuster. It recεives from the First Order Models geometric areas contained in a data struαure αlled geometries, and associated confidence values contained in an array αlled alpha. The program used environmental information to compute improved numerical values of the confidence values. It places the improved values in the array called alpha, destroying the previous values in the process. */

// pseudo code for the Context Adjuster

// assume input from each of i models includes a

//geographical area described by a number of points //and a confidence value alpha(i). alpha is such //that if it is 0.0 then the model is absolutely //sure that thε MS is not in the prescribed area; // if it is 1.0 then the model is absolutely // sure that thε MS is in thε prescribed area.

//calculate the center of area foreach of the i model areas fori = I to number_of_models αkulatε center of area // termed coa(i) from here on out // xtract information from the "outside world" or the environment find time_of_day find month_of_year find πumber_of_BS_available find number_of_BS_rεportiπg

// calculate peιτent_coverage of base stations pεrcεnt covεrage = 100.0 * (πuπιber_of_BS_reportiπg / numbεr_of_BS_availablε)

//use these j = 4 environmental factors to compute adjustments to the i confidence values //associated with the i models - alpha(i) fori = I to numbεr_of_modεls //loop on thε number of models forj = I to number_εnv_factors // loop on the number of environmental factors for k = I to number_of_fuzzy_classεs // loop on the numbεr of classes // used for each of the environmental //faαors //calculate mu values based on membership function definitions αlculate mu(i,j,k) values //go to the performance database and extract current performance information for each of the i

//models, in the k fuzzy classes, for the j environmental factors fetch performance(i,j,k)

//calculate the actual values for the right hand sides of die fuzzy rules

delta_alρha(i,j,k) = performancε(i,j,k) * delta_alpha_max(j) //dεrta_alpha_max(j) is a maximum amount εach environmental //faαor can alter the confidencε value; it is eventually //determined by a genεtic algorithm

//compute a weighted average; this is traditional fuzzy mathematics delta_alpha(ι,j,k) = sum[mu(i,j,k) * delta_alpha(ι,j,k)/sum[mu(i,j,k)]

end loop on k // number of fuzzy classes

//compute final delta_alpha values dεlta_alpha(ι) = sum[dεlta_alpha(ι,j)] end bop on j //number of environmental faαors alpha(i) + = delta_alpha(i) end loop on i //number of modεls

//send alpha values to blackboard send delta_alρha(ι) to blackboard

//see if it is time to interact with a genetic algorithm if (in_progress) thεn contmuε to calculate alpha adjustments else all the genetic algorithm to adjust alphajnax parameters and mu funαions

APPENDIX E: Historical Data Confidence Adjuster Program

Historical_data_confidence_adjuster(loc_hyp) f* This funαion adjusts the confidεnce of loαtioπ hypothesis, "locjiyp", according to how well its locatbn signature cluster fits with vεrifiεd loαtion signature clusters in the loαtion signature data basε. */

{ mesh <—get_ esh_ /ø/(loc_hyp.FOMJD); // each FOM has a mesh of the Loαtion Center serv e area covering < — get_ esh_ covering^ of_ MS_ estimate^ ø/(foc_hyp); /* get thε eεlls of "mεsh" that minimally cover thε most pertinent target MS estimate in "bc_hyp". */ total_ρer_unit_εrror < — 0; // initialization for εach cεll, C, of "covering" do f* detεrminε an εrror mεasurεmεnt bεtwεεn thε location signature clustεr of "loc_hyp" and thε vεrifiεd locatbn signature clusters in thε cεll */

{ centroid <— get_centroid$ error obj < — DB_Loc_Sig_Error_Fit(cεntroid, C, loc_hyp.loc_sig_clustεr, "USE ALL LOC SIGS IN

DB"); /*' Thε abovε funαion call computes an error object, "error_obj", providing a mεasure of how similar thε location signature clustεr for "bc_hyp" is with thε vεrified bcation signature clusters in thε bcation signature data basε, whεrein the verified bcation signature clusters are in the area represented by the cell, C. See APPENDIX C for details of this funαion. */ total_per_unit_error < — total_per_unit_εrror + [error_obj.εrror * εrror_obj.confidεπcε / sizeof(C)]; /* The above statement computes an "error per unit of cell area" term as: [error_obj.εrror * error_obj.confidεncε /sizeof(C)], wherein the error is the term: error_obj.εrror * εrror_obj.confidεncε. Subsεquεntly, this εrror pεr unit of cεll area term accumulated in "total relative εrror" */

} avg_per_unit_error <-- total_per_unit_error/nbr_cεlls_in(mesh);

/* Now gεt a tunable constant, "tuπable_constant", that has beεn dεter ined by the Adaptation Engine 1382 (shown in Figs. 5, 6 and 8), wherein "tunable_constant" may have been adapted to environmental charaαeristiα. */ tunable_constant

Figure imgf000187_0001
loc_hyp);

/* Now dεcrεmεnt thε confidence value of "loc_hyp" by an error amount that is scaled by "tunable_constant"

*/ loc_hyp.confidεncε <-- bc_hyp.confidεnce - [avg_per_unit_εrror * sizεof(covεring) * tunablε_constant]; RETURN(loc yp); }ENDOF Historical_data_confidence_adjuster

Claims

What is claimed is:
1. A method for locating wireless mobile stations using wirelεss signal mεasurεments of wireless signals transmitted betwεεn said wirelεss mobilε stations and a nεtwork of base stations, whεrεin said basε stations in thε nεtwork are cooperatively linked for providing wireless communications witli said wirelεss mobilε statbns, comprising: providing a plurality of mobilε statbn locatbn εstimators, wherein said locatbn estimators provide bcation estimates of said mobile stations when said loαtion estimators are supplied with loαtion information derivεd from wireless signal measurements of wireless signals transmitted between said mobile stations and the network of base stations; generating, by a first and a second of said bcation estimators, respeαively, first and sεcoπd diffεrent initial location εstimatεs of a particular onε of said wireless mobile stations, using loαtion information derivεd from wireless signal measuremεnts of wireless signals transmitted between said particular mobile station and the network of base statbns; dεtermining:
(a) fiπt confidεπcε data for a first bcation hypothesis of said particular mobile station, whεrein:
(i) said first bcation hypothesis provides one of: said first initial bcation estimatε from said first location εstimator, and a first succεssivε bcation εstimate of said particular mobilε station, said first successive loαtion estimate dεrivεd using said first initial location εstimatε, and (ii) said first confidεπce data is indicative of a likelihood of said particular mobilε station bεing at a location represented by said first location hypothesis; and
(b) second confidence data for a second bcation hypothesis of said particular mobilε statbn, whεrein: (i) said second bcation hypothesis provides one of: said second initial location estimate from said second loαtion estimator, and a second successive locatbn estimate of said particular mobile station, said second succεssivε bcation εstimatε dεrivεd using said sεcoπd initial loαtion εstimate, and (ii) said first confidεncε data is indicative of a likεlihood of said particular mobilε station bεiπg at a bcation represented by said first location hypothesis; deriving a most likelihood location estimatε of said particular mobilε station, said most likεly loαtion εstimatε bεing dεpendεnt on each of: said bcation estimatεs of said first and sεcond bcation hypothεsεs, and, valuεs of said first and sεcond confidεncε data.
2. A mεthod as claimεd in Claim I, whεrein said wireless signal measuremεnts are from wirelεss signals com uπiαtεd between said particular mobile station and said network of base stations using an identical communication standard as used when said network of base stations provide wireless communications with said particular mobile station for a purpose different from estimating a loαtioπ of said particular mobile station.
3. A mεthod as claimεd in Claim 2, whεrεin said diffεrent purposε is one of: providing voice communicatbn, and providing visual communication.
4. A method as claimed in Claim 2, wherein said communication standard is for onε of CDMA and TDMA.
5. A method as claimεd in Claim I, whεrein said wirεlεss signal inεasuremεnts are from wireless signals communicated betwεen said particular mobile station and said network of base stations using an communication protocol for providing wirelεss voicε communications bεtwεεn said nεtwork of basε stations and said particular mobilε station, έ. A mεthod as claimed in Claim I, wherein said wireless signal measuremεnts of wirεlεss signals communicated between said particular mobile station and said network of base stations are included in measurements capable of being detεr inεd for voicε communication with said particular mobile station.
7. A method as claimed in Claim I, wherein said wirelεss signal mεasurements include at least one of: (a) a measurement of a signal strength of wireless signals detected by said particular mobile station and transmitted by one of said base stations, and (b) a measurement of a signal time delay of wireless signals detected by said particular mobile statbn and transmitted by one of said basε stations.
8. A method as claimed in Claim I, wherein said step of providing includes: transmitting through a telεco munications nεtwork, said first bcation εstimator from a sourcε site to a site having said second bcation estimator; operabiy integrating said fiist locatbn estimator with said second bcation estimator for performing said steps of dεtermining and deriving.
9. A method as claimed in Claim 8, wherein said step of transmitting includes sending an encoding of said first location estimator using the Internet.
10. A mεthod as claimεd in Claim I , wherein said step of determining includes retriεving historical bcation data related to said fust initial locatbn estimatε and said sεcond initial bcation εstimatε, wherein said historical bcation data includεs: (al) location εstimatεs by said first location estimator for some of said mobilε statbns at a first plurality of locations, and data idεntifying said locations of said first plurality of locations; (bl) bcation εstimates by said second locatbn εstimator for some of said mobile stations at a second plurality of locations, and data identifying said locations of said second plurality of locations; wherein said first successivε bcation estimate is determined using said historical location data of (al), and said successive estimate is determined using said historical bcation data of (bl).
11. A method as claimed in Claim I, wherein said step of determining includes first selecting a first set of one or more location estimates of said mobile stations also output by said first bcation estimator, whεrein said one or more bcation estimatεs are determined according to, at least, a proximity of said one or more loαtion estimates to said first initial location estimate.
12. A method as claimed in Claim 11, wherein said step of first selecting includes selecting said first sεt according to a funαion of a distancε bεtwεen said first initial bcation εstimatε and at lεast onε of said location εstimates of said first set.
13. A method as claimed in Claim 11 , wherein each location estimate of said first set of bcation estimates has corresponding bcation data identifying a location of one of said mobile stations for which said bcation estimate estimates the mobile station's location, wherein the identified locatbn has beεn verifiεd.
14. A method as claimed in Claim I I, wherein said step of determining includes fiπt obtaining a first colleαion of onε or more previously identified loαtions, wherein each said previously identified loαtion:
(a) has a corresponding loαtion estimatε in said first sεt, said corresponding location estimate being for a corresponding one of said plurality of mobile stations, and (b) is approximately a location of the corresponding mobilε station when said bcation information, derivεd from wirelεss signal measurements of transmissions between thε corresponding mobile station and said network, was initially provided to said first bcation estimator for outputting said corresponding location estimate.
15. A method as claimed in Claim 14, wherein said step of determining includes fiπt αlculating said first successivε location εstimatε of said particular mobilε statbn from said first initial location εstimate using said onε or more previously identified locations. 16. A mεthod as claimed in Claim 15, wherein said step of first calculating includes determining said first successivε bcation estimate as a funαion of a convex hull of said one or more previously idεntiftεd locations.
17. A mεthod as claimεd in Claim 15, whεrein said step of determining includes fiπt computing a first value of said first confidence data for said particular mobile station being at a bαtion represented by said first successivε bcation εstimatε, whεrεin said fiπt value is a funαion of at least one of: (a) a value related to a density of said one or more previously identified locations for said first successivε bcation εstimatε, and (b) a value related to a size of an area for said first suceessivε loαtion estimate.
18. A method as claimed in Claim 17, wherein for said second successivε loαtbn estimate the folbwing steps are pεrformed:
(a) sεcoπd selecting a sεcond sεt of onε or more bcation εstimatεs of said mobilε stations output by said second location estimator, wherein said locatbn estimates of said second set are detεrminεd according to, at lεast, a proximity of said ioαtion εstimates in said second set to said second initial loαtion estimate; (b) second obtaining a second colleαion of one or more previously identified locations, each said previously identified location:
(i) having a corresponding bcation εstimate in said second set for a corresponding onε of said plurality of mobilε stations, (ii) is approximatεly a bcation of thε corresponding mobilε station when said location information, derived from wirelεss signal mεasurεments of transmissions betweεn the corresponding mobile station and said nεtwork, was initially providεd to said sεcond bcation εstimator for outputting said corresponding loαtion εstimatε; (c) second calculating said second successivε εstimate of said particular mobile station, wherein said second successive estimatε is a funαion of said onε or more previously known locations of said second colleαion; and (d) second computing a sεcond value of said second confidencε data for said particular mobilε station bεing at a bcation represented by said sεcond succεssivε locatbn εstimate, wherein said sεcond valuε is a funαion of at lεast onε of: (a) a valuε related to a density of said one or more previously identifiεd locations of said sεcond collection, and (b) a value related to a size of said second successivε location estimate.
19. A method as claimεd in Claim 11, whεrein said first eonfidεncε data includεs a data field for a value indicative of said particular mobile station being in an area, wherein said area is determined as a funαion of said first set of location estimates.
20. A method as claimεd in Claim I , whεrεin said first confidence data includes a data field for a value indicative of said particular mobile station not being in an area represented by said first location hypothesis.
21. A method as claimed in Claim I, wherein said first and second initial locatbn estimatεs are dεrivεd using bcation information obtainεd from a common collection of wireless signal measurements of wireless signals transmitted bεtwεen said particular mobilε station and the network of base stations.
22. A method as claimed in Claim I, wherein said step of genεrating includes first computing said first initial location estimate using said location information obtainεd from a first collection of said wirεlεss signal measuremεnts, and second computing said second initial bcation estimatε using said location information obtained from a sεcond collection of said wireless signal measurements different from said fiπt colleαion.
23. A method as claimεd in Claim 22, wherein said fiπt colleαion of said wireless signal measurεmεnts are for wireless signals transmitted bεtweεn said particular mobile station and the network of base statbns in a fiπt time interval, and said second colleαion of said wirelεss signal mεasurεments are for wirelεss signals transmitted betwεen said particular mobile station and the network of base stations in a second time interval, wherein said first time interval precedes said second time interval.
24. A method as claimed in Claim 23, wherein said step of determining includεs εxtrapolating said fiπt succεssivε location estimate using said first initial bcation estimate so that said first succεssivε bcation εstimate is expected to be for a time period approximately identical to said second time interval. 25. A mεthod as claimed in Claim I, further including: performing a first simulation for predicting a likelihood of said particular mobile statbn being at a bcation represented by said first location hypothesis, wherein said simulation uses associated pairs of loαtion representations, a first member of each pair including a location εstimatε obtainεd from said first bcation εstimator and a sεcond εmber of the pair including a represεntation of an aαual bcation of one of said mobile stations for which said first embεr is a location εstimatε; wherein said stεp of dεtεrmining usεs a result from said step of performing for determining said first confidencε data.
26. A mεthod as claimεd in Claim 25, further including: performing a second simulation for predicting a likelihood of said particular mobile station being at a bcation represented by said sεcond location hypothεsis, whεrεin said simulation usεs associatεd pairs of location representations, a first membεr of each pair including a bcation εstimate obtainεd from said sεcond bcation εstimator and a second mεmbεr of thε pair including a representation of an actual bcation of one of said mobile stations for which said first mεmbεr is a locatbn εstimate; wherein said step of determining uses a result from said step of performing for determining said second confidence data.
27. A method as claimed in Claim 25, wherein said first simulation is performed at a timε outsidε of a time interval for performing the steps of generating, dεtermining, and deriving.
28. A mεthod as claimεd in Claim 25, whεrein said first simulation includes a statistical simulation. 29. A method as claimed in Claim 25, wherein said first simulation includes a Monte Carlo simulation.
30. A method as claimed in Claim I, wherein at least said first and second location estimators each utilize a different one of thε folbwing:
(a) a pattern recognition location estimator for estimating a bcation of said particular mobile station by recognizing a pattern of charaαeristics of said bcation information; (b) a trainable bcation estimator for estimating a location of said particular mobile statbn by training said trainable estimator to learn an association between each loαtion of a plurality of geographical locations and corresponding instances of said bcation information related to thε wirelεss signal mεasuremεnts of wirεlεss transmissions with one of said mobile stations at the bcation; (c) a triangulation bcation estimator for estimating a bcation of said particular mobile station by triangulating on measurements of said bcation information, wherein said measurεmεnts are determinεd from thε wirelεss signal measuremεnts of wireless transmissions between said particular mobile statbn and at least three of the basε statbns of said nεtwork; (d) a statistical bcation εstimator for εstimating a loαtion of said particular mobilε station by applying a statistical regression techniquε;
(ε) a mobile base station estimator for estimating a bcation of said particular mobile statbn from locatbn information received from a mobile basε station detecting wirelεss transmissions of particular first mobilε station; (f) a covεragε area loαtion εstimator for εstimating a bcation of said particular mobile station by intersecting wireless coveragε areas corresponding to each of a plurality of the base stations of said network; (g) a πegativε logic location εstimator for εstimating where said particular mobile station is unlikely to be locatεd.
31. A mεthod as claimεd in Claim I, whεrein at least said first loαtion estimator includεs one of the folbwing:
(a) an artificial neural network for genεrating said fiπt initial loαtion estimate by training said artificial neural network to recogπizε a pattern of characteristics of said location informatbn associated with a bcation from where said particular mobile station is transmitting; (b) a distance estimator for genεrating said fiπt initial location estimate by determining one or more distances bεtwεen said particular mobile statbn and the base stations, wherein signal timing measur mεπts, obtainεd from said wireless signal measuremεnts of wirelεss transmissions betweεn said particular mobilε station and one or more basε stations of said nεtwork, are used for determining said one or more distances;
(c) a statistical estimator for genεrating said first initial location estimate by applying to said bcation information onε of thε following statistical techniques: principle decomposition, least squares, partial least squares, and Bollenger Bands.
32. A method as claimed in Claim 31, wherein said second bcation estimator includes a different one of said artificial neural network, said distance estimator, and said statistical estimator for genεrating said sεcond initial bcation εstimatε.
33. A mεthod as claimεd in Claim 18, whεrεin said distancε εstimator εstimates thε location of said particular mobile station by one of: a signal time of arrival and a signal time differencε of arrival. 34. A mεthod as claimεd in Claim I, whεrein said first location εstimator includεs an artificial nεural network, wherein said artificial neural network is one of: a multilayer perceptron, an adaptive resonance theory model, and radial basis funαion network. 35. A location system as claimed in Claim I, wherein said fiπt location estimator includes an artificial neural network with input neurons for receiving bcation information data related to wirelεss signal timε delay measurεmεnts of signal strength for wirεlεss transmissions bεtwεεn said particular mobile station and a first colleαion of basε stations from said nεtwork.
36. A mεthod as claimεd in Claim 35, whεrein for εach basε station in said first collection, said wirelεss transmissbns bεtwεεn thε base station and said particular mobile station are deteαed by onε of: the base station and said particular mobile station.
37. A method as claimed in Claim I, wherein said first estimator includes an artificial neural network with input neurons for recεiving data related to wireless transmissions between said particular mobile station and a set of one or more of said basε stations, whεrεin for each base station in said set, there is at least one said input neuron for recεiving onε or more valuεs indicativε of at lεast onε of thε folbwing conditions:
(a) thε base station is aαive for wireless communication with said particular mobile station and a pilot signal by the base station is detected by the particular mobile station;
(b) the base station is aαive for wirεlεss communication with said particular mobilε station and the base station detects wireless transmissions by said particular mobile station;
(c) the base station is aαive for wirelεss communication with said particular mobilε station and the base station does not deteα wireless transmissions by said particular mobile station;
(d) the base station is aαive for wireless communication with said particular mobile station and said particular mobile station does not deteα wirelεss transmissions by thε basε station; (e) the base station is not aαive for wireless communiαtion with said particular mobile station.
38. A method as claimed in Claim I, wherein said first and second bcation estimators are different artificial neural networks.
39. A mεthod as claimεd in Claim 38, wherein said first bcation estimator receivεs wireless signal time delay measurements of signal strength for wirelεss transmissions bεtwεεn said particular mobilε station and a first collection of base stations from said network, and said second location estimator recεives wireless signal time delay measuremεnts of signal strength for wirelεss transmissions bεtwεεn said particular mobilε station and a diffεrent sεcond collection of basε stations from said nεtwork wirelεss signal mεasuremεnts.
40. A mεthod as claimεd in Claim i, whεrεin said stεp of dεriviπg includes combining values of said first and second confidencε data whεn said first and second bcation hypothesεs havε bcation εstimatεs of said particular mobilε station that ovεrlap.
41. A mεthod as claimεd in Claim I, whεrein said stεp of dεriving includεs combining thε values related to: (a) a first likelihood measurement, of said first confidεncε data, for said particular mobile station being at a location represented by the first bcation hypothesis, and (b) a second likelihood measurεmεnt, of said sεcond confidεncε data, for said particular mobile station bεing at a bcation represented by the second location hypothesis.
42. A method as claimed in Claim 41, wherein said step of deriving includes: determining one or more subareas of a wireless coveragε area containing location εstimates of said first and sεcond location hypothεsεs; dεtεrmining, whεn said first and sεcond bcation hypotheses have bcation estimates that overlap in a first of said subareas, a third likelihood measurement for substantially all of said first subarea, wherein said third likelihood measurement is a funαion of said first and second likelihood measuremεnts.
43. A method as claimed in Claim 42, wherein said funαion includes an addition of terms having said first and second likelihood measuremεnts.
44. A mεthod as ciaimεd in Claim I, wherein said stεp of dεriving includεs 0, of said first confidence data, for said particular mobile station being at a location represented by the first bcation hypothesis; wherein said step of fuzzifying performs a function for distributing a decreased value of said first likelihood measurement to loαtions outside of a locatbn estimatε for said first locatbn hypothεsis.
45. A mεthod as claimεd in Claim 44, whεrein said funαion iπcludεs a sigmoid term.
46. A method as claimed in Claim I , further including an expert system for activating said first bcation estimator for outputting said first initial bcation estimate. 47. A method as claimed in Claim 46, wherein said first loαtioπ estimator is aαivatεd by onε of: an antεcεdent of an εxpert system rule, and a consequεnt of an εxpεrt systεm rulε.
48. A method as claimed in Claim I , further including a step of dεtεrminiπg whεthεr to modify onε of: said first bcation hypothεsis, and said first confidεnce data according to at least one of:
(a) an expeαed maximum vebcity of said first mobile station; (b) an expeαed maximum acceleration of said fiπt mobile statbn;
(c) a prediαed bcation of said first mobile station;
(d) an expeαed wirelεss signal characteristic of an arεa containing said fiπt loαtion hypothεsis; and
(e) an expεαεd vehiclε route.
49. A method as claimed in Claim 48, wherein said step of determining whεthεr to modify includεs activating one of an expert system, a fuzzy rule inferencing systεm and a blackboard daεmon.
50. A mεthod as claimεd in Claim I , furthεr including a step of storing historical mobile station location data for access during said step of determining, wherein said step of storing includes the folbwing substeps:
(a) storing, for each location of a plurality of mobilε station locations, a corresponding colleαion of wireless signal measurements of wirelεss signals transmitted bεtwεεn onε of said mobilε stations and thε basε stations of said network, wherein said one mobile station resides substantially at said bcation when said wireless signals are transmitted;
(b) storing, for εach bcation of said plurality of mobilε station locations, a corresponding set of location estimates, wherein for each of said mobilε station locatbn εstimators and εach said sεt of loαtion εstimatεs, thεre is a location εstimatε of said sεt that is generated by said mobile station bcation estimator; and (b) storing, for each of said stored location estimates, corresponding identification data for identifying a corresponding particular one of said locations of said plurality of mobile statbn locations, wherein said corresponding identification data accurately identifies said particular bcation.
51. A method as claimed in Claim 50, wherein for at least a fiπt of said corresponding collections of wireless signal measuremεnts, there is an associated confidence value used for indicating a consistency of the corresponding colleαion with other of said corresponding collections whose corresponding particular locations are within a detεrminεd proximity to thε corresponding particular loαtion for said first corresponding collection.
52. A method as claimed in Claim 51 further including a step of changing said associated confideπcε valuε whεπ there is a deviation betwεen said first corresponding collection deviates and said other corresponding colleαions by more than predetermined amount, wherein said deviation is determined using a statistical measurement of deviation.
53. A method as claimed in Claim 52, whεrεin said statistical mεasurεmεnt of deviation includes a standard deviation measurement.
54. A method as claimed in Claim 52 further including a means for prohibiting said first corresponding collection from use in said step of determining when said associated confidence value is outside of a predetermined range.
55. A bcation system for receiving mεasurε εnts of wirelεss signals transmitted between a plurality mobile statbns and a network of base stations, wherein said base stations in the network are cooperatively linked for providing wirelεss communication, thε improvεmεnt characterized by: a plurality of different locatbn estimators for estimating locations of said mobile stations, such that whεn said locatbn εstimatoπ are supplied with said measurements of wireless signals transmitted betwεεn oπε of thε mobilε stations and said nεtwork of basε stations, said bcation εstimators output corresponding initial location εstimates of a geographical location of said one mobile station; an archive for storing a plurality of data item collections, wherein for each bαtion of a plurality geographical locations, there is one of said data item colleαions having:
(al) a representation of the geographical location,
(a2) a set of said wireless signal measurements corresponding to one of said mobile stations transmitting from approximately the geographical location
(a3) for each location estimator of said plurality of bcation estimatoπ, a corresponding initial location εstimatε generated when said set of said wireless signal measur επts is suppliεd to said bcation εstimator; a mεans for constructing, for εach of said bcation εstimators, corresponding prediαion mεasuremεnts indicative of an historical accuracy of said bcation εstimator, wherein for each said prediαion measurεmεπt, thεrε is: (bl) a corresponding selεαεd group of said data itεm collections used in determining said prediction measurement,
(b2) a collection of mappings, wherein each said mapping is an association betwεεn: (i) onε of said corresponding mobiiε station initial location εstimatεs generated by said location estimator using said wirelεss measuremεnts of onε of said data itεm colleαions in said selected group, and (ii) the geographiαl location of the data item colleαion; a means for determining, for an identifiεd one of said mobile stations, a plurality of locatbn hypothesεs, whεrεin for each said locatbn hypothesis:
(cl) said bcation hypothεsis has a location εstimatε of said idεntified mobile station derived using at least one initial loαtion estimate, wherein said initial bcation estimatε is generated by one of said plurality of location estimatoπ, said one location estimator being supplied with signal measurements of wireless signal transmissions bεtwεεn said idεntified mobile station and said network of base stations, (c2) said loαtion hypothesis has a confidencε valuε usεd for indiαting a likεlihood of said idεntified mobile station being at a bcation represented by said bcation εstimatε for said bcation hypothesis, wherein one of said prediction measurεmεnts is used in detεrmining said confidεπce value; a most likely mobile station loαtion estimator for determining a most likely bcation εstimatε of said idεntifiεd mobilε station, said most likεly bcation εstimatε bεing dεrivεd using loαtion estimates and confidencε valuεs from bcation hypothεsεs of said plurality of said ioαtion hypotheses.
56. A method as claimed in Claim 55, wherein said measuremεnts arε for wirelεss signals transmittεd in a wirelεss signal protocol for voice communication betwεεn said idεntifiεd mobilε station and said network of basε stations.
57. A bcation systεm as claimεd in Claim 55, whεrεin said means for constructing includεs mεans for performing a mobile station loαtion simulation using said stored data item colleαions for detεrmining said prediαion mεasuremεnts.
58. A bcation system as claimed in Claim 55, wherein said means for determining includes a means for deriving the location εstimatε of onε of said location hypothεsεs using a timε sεriεs of loαtion εstimatεs for said identifiεd mobilε station. 59. A location systεm as claimεd in Claim 55, furthεr including: a storagε mεans for storing a population of representations for values of a colleαion of system parameters of said location system, wherein said parameteπ affect a performancε of said bcation system in bating mobilε stations; an adaptivε component for determining one or more of said representations whose valuεs of said collection of system parameteπ enhance at least one of: a reliability and an accuracy of said location system in locating said mobile stations; wherein said adaptive component uses said plurality of data item colleαions for providing, for each vεrsion of said location system determined by different ones of said representations:
(dl) wirelεss signal mεasurεmεnts from somε of said data itεm colleαions as input to said version, and (d2) for each of said data item collections used as input in (dl), said corresponding gεographical bcation for comparing with the corresponding most likεly bcation estimate location output by said vεπioπ. 60. A location systεm as claimεd in Claim 59, whεrein said adaptivε component includεs a gεnεtic algorithm embodiment.
61. A location system as claimed in Claim 55, wherein for at least a first and second of said plurality of location estimators, each of said first and second locatbn estimators includε onε of thε folbwing:
(εl) an artificial nεural nεtwork for usε in generating said corresponding initial bcation estimatεs, whεrein said artificial neural nεtwork is trained to recognize a pattern of charaαeristics of said signal measuremεnts associatεd with a bαtion from where one of said mobile stations is transmitting;
(ε2) a distance estimator for use in genεrating said corresponding initial location εstimatεs, wherein said distance estimator dεtεrmines one or more distancεs betweεn onε of said mobilε statbns and thε basε stations, and whεrεin signal timing mεasuremεnts, obtained from wirεlεss transmissions between said one mobilε station and onε or more of thε basε stations, are used for detεrmining said one or more distances; (e3) a statistical εstimator for use in genεrating said corresponding initial bcation estimates, wherein said statistical estimator utilizes a statistical regression technique for correlating charaαeristics of measurεmεnts of wirelεss signals transmitted bεtweεn onε of said mobilε stations and thε basε stations with a bcation for said one mobile station. 62. A method for locating a mobile station by recεiving wirelεss signal mεasurεmεnts of wirelεss signals transmittεd betweεn a plurality mobilε stations and a network of base stations, wherein said base stations in the network are cooperatively linked for providing wireless communication, thε improvεmεnt characterized by: providing a mobile station location estimator for estimating locations of said mobile stations, such that when said locatbn estimator is supplied with said measuremεnts of wirεlεss signals traπsmittεd between one of the mobile stations and said network of base stations, said location estimator genεratεs a initial loαtion εstimate of a geographical location of said one mobile station; storing a plurality of data item collections, wherein for each of a plurality of geographical locations, there is one of said data item colleαions having: (al) a representation of the geographical location, and (a2) a representation of measurements of wirebss signals transmittεd between oπε of said mobilε stations and thε basε stations whεπ said onε mobile station is approximately at thε gεographical location; determining, from said initial bcation estimate, a corresponding adjusted location estimate as a funαion of historical initial loαtion estimates generated by said mobile station bcation estimator whεπ suppiiεd with said signal measurements for representations of (a2) of said data item collections.
63. A method as claimed in Claim 62, wherein said step of determining includes thε steps of: generating additional initial loαtion estimates when said mobile station location estimator is supplied with said signal measurements for representations of (a2) for said data item colleαions; selecting said additional initial bcation estimates that are within a determined distance of said initial bcation estimatε; and deriving said corresponding adjusted location εstimatε using said gεographical bcation representations of (al) for data item colleαions of a particular set of said data item collections, wherein said additional initial bcation estimates seleαed in said step of selecting were geπεrat d from said signal mεasuremεnts for representations of (a2) for said data item collections of said particular set.
64. A method as claimed in Claim 62, wherein said geographical locations represented in (al) of said data item collections have beεn vεrifiεd.
65. A mεthod as claimεd in Claim 62, whεrεin for εach data item collection in a set of at least some of said data itεm collections, there is an associated confidence value used for indicating a consistency of the representation of (a2) for said data item colleαion with the representation of (a2) for other of said data item collections whose geographical location representations (al ) are within a determined maximum distance of said geographical bcation representation of (al) for said data item.
66. A method as claimed in Claim 65 further including: a step of decreasing a confidence of a first data item colleαion in said set relative to a confidence for other of said data item colleαions of said set, when there is a deviation between the measuremεnts of said rεprεsεntation (a2) for said data item collection, and the measurements of said representations (a2) for said other data item colleαions, by more than predetermined amount, wherein said deviation is determined using a statistiαl measurement of deviation.
67. A method as claimed in Claim 66, wherein said step of decreasing includes comparing a time related measurement for said fiπt data item collection with a value used for identifying said data itεm collections that have more recent representations (a2). 68. A mεthod as claimεd in Claim 66, wherein said step of decreasing includes computing said deviation by computing a statistical measurement of deviation.
69. A method as claimεd in Claim 68, whεrεin said statistical measurement includεs one of: a fiπt, a second and a third order standard deviation.
70. A method as claimed in Claim 66 further including a step of prohibiting said first data item colleαion from bεing used in said step of determining, when said confidencε for said first data item is outside of a predetermined range.
71. A method as claimed in Claim 62, wherein said mobile station bcation estimator aαivates an artificial neural network whεπ generating said initial locatbn εstimate.
72. A location systεm for receiving wirεlεss signal measurements of wirelεss signals transmittεd bεtwεεn a plurality mobilε stations and a nεtwork of basε stations, whεrein said base stations in the network are cooperatively linked for providing wirelεss communication, thε improvement charaαerizεd by: a onε or more locatbn estimators for estimating locations of said mobile stations, such that when said loαtion estimators are supplied with said measuremεnts of wireless signals transmitted betweεn onε of the mobile stations and said network of base stations, said one or morε loαtion εstimators generate initial loαtion estimates, wherein for a particular one of said mobilε stations at a particular gεographical loαtioπ, at lεast fiπt and sεcond initial location estimates are generated; a means for genεrating, for said first and second initial bcation εstimatεs, first and second adjusted location estimates respeαively, wherein:
(al) said first adjusted bcation estimatε has a corresponding confidencε valuε indicativε of a likεlihood of the particular geographical bcation being at a location represented by the first adjusted location εstimate, (a2) said first adjusted bαtion estimate is a funαion of other initial location estimatεs genεratεd by said location εstimator that generated said first initial location estimate,
(a3) said second adjusted location εstimatε has a corresponding confidence value indicative of a likelihood of thε particular geographical bcation being at a loαtion represented by the sεcoπd adjusted location εstimatε, and (a4) said sεcond adjustεd locatbn εstimate is a funαion of other initial loαtion εstimatεs generated by said bcation estimator that generated said second initial bcation estimate; a most likely estimator for determining a most likely bcation estimatε of the particular geographical bcation of the particular mobile station, said most likely bcation estimatε bεing dεrivεd using said first and sεcond adjustεd location estimates and their corresponding confidence valuεs.
73. A bcation system, as ciai εd in Claim 72 further including an archive for storing a plurality of data item colleαions for determining measuremεnts related to a past performance of said corresponding bcation estimator geπεrating said first initial location estimate, wherein said measurεmεnts arε usεd in for dεtermining said corresponding confidεnce vaiuε for said fiπt adjustεd location εstimatε, whεrεin for εach of a plurality geographical locations, thεre is a corresponding oπε of said data itεm colleαions having a representation of the geographiαl loαtion and a representation of measurement of wirelεss signals transmitted bεtwεεn said particular mobilε statbns and thε basε stations. 74. A location system, as claimεd in Claim 73, whεrεin said mεans for generating includes a means for constructing said measurements, wherein said measurements include values related to a predictiveness of a colleαion of mappings between: (a) a cluster of initial location estimates, determined by said corresponding bcation estimator, for one or more of thε mobile statbns at a plurality of gεographical locations, and (b) a corresponding representation of an aαual mobile station loαtion for each of the initial loαtion estimates in said cluster. 75. A location system, as claimed in Claim 74, whεreiπ said clustεr of initial location estimates are within a predεtεrminεd distance of said first initial ioαtion estimate.
76. A location system, as claimεd in Claim 74, whεrein said mεasuremεnts are dεpendent on a density of said corresponding representations of aαual mobile station locations for the initial locatbn estimatεs in said clustεr.
77. A location systεm, as claimed in Claim 74, wherein said measuremεnts are dεpεndent on a size of an area containing said mobile station locations of said corresponding representations of aαual mobile station locations for the initial bcation estimatεs in said cluster.
78. A location system, as claimεd in Claim 72, whεrein said corresponding confidεnce value for said first adjusted bcation estimatε indiαtes a likelihood of said particular mobile station being outside of an area for said fiπt adjustεd location εstimate.
79. A loαtion system, as claimed in Claim 72 further including a means for partitioning a wirεlεss covεragε arεa having said fiπt and second adjustεd locatbn εstimates into subareas, εach subarea having εxpεαεd similar measurements of wirelεss signals transmitted betweεn oπε of said mobilε stations in thε subarea and thε nεtwork of basε stations.
80. A bcation systεm, as claimεd in Claim 72, furthεr including a means for partitioning a wireless coveragε area into subareas, wherein each subarea has a corresponding area type characterized by wirelεss signal transmission charaαeristics betwεεn locations in said subarea and the base stations of said network. 81. A location system, as claimed in Claim 72, wherein said oπε or more mobile statbn location estimators include one or more of: a triangulation mobile station estimator, a trilateration mobile station estimator, a trainable mobile station estimator, a statistical mobile station estimator.
82. A loαtion systεm, as claimεd in Claim 81 , whεrein said triangulation mobile station εstimator triangulates using one of: a signal time of arrival, and a signal strength between the associated mobile station and each of three of said base stations. 83. A locatbn system for wirelεss mobilε stations, as ciaimεd in Claim 81 , whεrein said trilateration mobilε station εstimator trilaterates using a signal time difference of arrival betwεεn thε associatεd mobilε station and εach of three of said base stations.
84. A location system, as claimed in Claim 81 , wherein trainable mobile station estimator indudεs an artificial neural network.
85. A bαtion system, as claimed in Claim 72, wherein said one or more bcation estimators receives input from a mobile base station. 862 A bcation system, as claimed in Claim 72, wherein said means for generating includes a simulation means for detεrminiπg a predictiveness of said bcation εstimator that generates said first initial bcation estimate.
87. A location system, as claimed in Claim 86, wherein said simulation means includes a statistical simulation for predicting said confidence value said first adjusted loαtion estimatε. 88. A location systεm for wireless mobile stations, as claimed in Claim 87, wherein said statistical simulation includes a Monte Carlo simulation.
89. A bcation system, as claimed in Claim 72, wherein, for deriving said most likely bcation estimate, said most likely estimator uses a probability density function for fuzzifyiπg at lεast said confidεncε value for said first adjusted locatbn estimatε ovεr an area outsidε of said fiπt adjustεd bcation εstimate. 90. A bcation systεm, as claimεd in Claim 72, whεrein for a first coliεαion of cells of a cell mεsh for thε wireless coverage area, said most likely εstimator includεs mεans for dεtermining a likεlihood that said particular mobilε station is in εach cεll of said fiπt colleαion.
91. A bcation systεm for wireless mobile stations, as claimed in Claim 90, wherein boundaries between cells said cell mesh are substantially coincident with boundaries of a wirelεss signal area typε categorization. 92. A bcation system for recεiving wirelεss signal mεasurεmεnts of wirelεss signals transmitted between a plurality mobile stations and a network of base statbns, wherein said basε stations in thε nεtwork arε cooperatively linked for providing wireless communication, the improvemεnt characterized by: an archive for storing a plurality of data item collections, wherein for each loαtion of a plurality geographical locations, there is one of said data item colleαions having (a I) and (a2): (al ) a representation of the geographical location,
(a2) a set of said wireless signal measurements corresponding to one of said mobile stations transmitting from approximately the geographical loαtioπ a trainable bcation estimator for genεrating a gεographical bcation estimate of one of said mobile stations when said trainable estimator is supplied with said measurements of wireless signals transmittεd bεtwεεn oπε of said mobile stations and the network of base stations, wherein said trainable loαtioπ estimator learns by associating, for each of at least some of said data item colleαions, said geographical location representation (al) of the data item coliεαion with said sεt of said wireless signal measurements (a2) of the data item colleαion.
93. A loαtion system, as claimed in Claim 92, wherein said trainable loαtioπ estimator includes a pattern recognition componεnt for recognizing patterns in said wireless signal measurements (a2) for data item colleαions in an area of a wirelεss covεragε area, wherein said area is dεtεrminεd using said gεographical bcation representations (al) of said data item collections that have for each of their sets of said wirelεss signal mεasurεments (a2), wireless signal measurεmεnts from a samε group of said basε stations.
94. A loαtion system, as claimed in Claim 92, wherein said trainable bcation estimator includes an artificial neural network.
95. A method as claimed in Claim 94, further including a different trainable loαtioπ estimator utilizing a different artificial neural network for genεrating a different geographical location estimate of said one mobile station.
96. A method as claimed in Claim 94, wherein said artificial neural is one of: a multilayer pεrceptroπ, an adaptive resonance theory model, and radial basis funαion network.
97. A bcation system as claimed in Claim 92, whεrein said trainable bcation estimator utilizes an artificial neural network with input neurons for receiving wireless signal time delay measurεmεnts of signal strength as said mεasuremεnts of wirelεss signal transmissions betwεεn said onε mobilε station and a first colleαion of base statbns from said network.
98. A method as claimed in Claim 97, wherein for εach basε statbn in said first collection, said wireless transmissions between the base station and said one mobile station are detected by one of: the base station and said one mobile station.
99. A method as claimed in Claim 92, wherein said trainable bcation estimator utilizes an artificial neural network with input neurons for recεiviπg data related to wirεlεss transmissions bεtwεεn said onε mobilε station and a sεt of onε or morε of said basε stations, wherein for each basε station in said sεt, thεrε is at lεast onε said input neuron for recεiving one or more valuεs indiαtivε of at lεast onε of thε folbwing conditions:
(a) thε basε station is active for wirelεss communication with said onε mobilε station and a pilot signal by thε base station is dεtεctεd by thε onε mobilε station;
(b) thε basε station is aαivε for wireless communication with said one mobilε station and thε basε station detects wireless transmissions by said one mobilε station;
(c) thε basε station is aαivε for wirεlεss communication with said onε mobilε station and thε base station does not deteα wireless transmissions by said one mobile statbn;
(d) the base station is aαive for wirelεss communication with said onε mobile station and said one mobile station does not detett wireless transmissions by the base station; (e) the base station is not aαive for wirebss communiαtion with said onε mobilε station.
100. A bcation systεm, as claimed in Claim 92, wherein for at least some of said data itεm collεαions, εach data itεm coliεαion additionally includes at least some of the following:
(a) at least one of a makε and model of a particular mobile statbn used in obtaining said representation of (a2);
(b) an identification of at least one of said basε stations usεd in obtaining the representation of (a2); (c) a value indicative of whethεr the representation of (al) has been verified as an accurate geographical location εstimatε of thε particular mobile statbn; (de) a value indicative of how consistent the representation of (a2) is with the representations of (a2) for other of said data item colleαions;
(e) timestamp data indicative of approximately when the measuremεnts of wirelεss signals for the representation of (a2) were received by one: the network and said loαtion system;
(f) power level data related to one or more power iεvεls of said at lεast onε of said basε stations used in obtaining said measurεmεnts for thε representation of (a2) for thε data itεm collection;
(g) power levεl data related to thε powεr lεvεl of thε particular mobilε statbn whεn said wirelεss signals, for measurements of the representation of (a2) for the data item collection, were transmitted.
101. A location system for receiving wireless signal measuremεnts of wireless signals transmitted between a plurality mobile stations and a network of base stations, wherein said base stations in the network are cooperatively linked for providing wirelεss communiαtion, thε improvεment characterized by: a plurality of mobile station bcation estimatoπ for estimating locations of said mobile stations, such that when said bcation estimatoπ are supplied with said mεasurεments of wireless signals transmitted betwεen one of the mobile stations and said network of base stations, said bcation estimatoπ output corresponding initial locatbn estimatεs of a geographical loαtion of said one mobile station, wherein at least two of said mobile station loαtion estimators of said plurality of mobilε station loαtion εstimatoπ include a different onε of thε folbwing (a) through (I):
(a) a pattern recognition component for εstimating a bcation of said one mobile station from a pattern in thε wirelεss signal mεasurements of transmissions betwεεn thε nεtwork and said oπε mobilε station;
(b) a trainablε mobilε station bcation εstimating componεnt for εstimating a bcation of said onε mobilε station, whεrein said trainable mobile station bcation estimating component is capable of being trained to associate: (i) each bαtion of a plurality of geographical locations with (ii) corresponding measuremεnts of wireless signals transmitted betwεen a specified one of said mobilε statbns and the network, wherein said specified mobile statbn is approximately at the bcation;
(c) a triangulation component for estimating a bcation of said one mobile station, wherein said triangulation component utilizes said measuremεnts of wireless signals between said one mobile station and three of the base stations for triangulating a location estimate of said one mobile station;
(d) a statistical component utilizing a statistical regression techniquε for estimating a bcation of said one mobile station; (e) a mobilε basε station component for estimating a location of said one mobile station, wherein said mobile base station component utilizes bcation information received from a mobile base station that detects said one mobilε station; (f) a nεgative logic component for estimating an area of where said one mobile station is unlikely to be located; and a most likely estimator for detεrmining a most likεly location estimate of said one mobile station, said most likεly location estimate being a funαion of said plurality of location estimates.
102. A location system, as claimed in Claim 101, wherein at least one of said mobile statbn location estimators is aαivated by an expert system.
103 A location system, as claimεd in Claim 101 , wherein one or more of said mobile station location estimatoπ are capablε of bεing at least one of: added, replaced and delεted by Internet transmissions betwεεn said location system and a site remote from loαtion system.
104. A ioαtion system for receiving wirelεss signal mεasurεments of wireless signals transmittεd between a plurality mobile stations and a network of base stations, wherein said base stations in thε nεtwork are cooperatively linked for providing wireless communication, the improvemεnt charaαerized by: a mobiiε station bcation providing mεans for εstimating loαtions of said mobile stations, such that whεn said providing mεans is suppliεd with said mεasurements of wirelεss signals traπsmittεd bεtwεεn a particular onε of thε mobilε stations and said network of base stations, said providing means determines a first colleαion of one or more bcation estimatεs for said particular mobilε station; an expert system for aαivating expert system rules for one of: (a) modifying one of said bcation estimates of said fiπt colleαion, and (b) obtaining additional bcation estimates of the particular locatbn; a most likely estimator for determining a most likely location estimate of thε particular bcation, said most likεly locatbn εstimate being a function of one or more bcation estimates provided by said expert system.
105. A bcation system, as claimεd in Claim 104, whεrein said expert system includes expert systεm ru s for modifying a vaiuε indicating a confidεncε in said particular mobilε station being at a bcation represented by onε of said location εstimates
106. A mobiiε location systεm for locating wirεlεss mobilε stations that communicate with a plurality of networked base stations, comprising: a wireless transceiver mεans: (a) for at lεast dεtεαing a direction of wirelεss signals transmittεd from a wirelεss mobile station, and (b) for communicating with said networked base stations information related to a bcation of said wireless mobile station; a means for deteαing whεther a detected wireless signal from said mobile station has beεn oπε of: reflected and deflected; a means for estimating a bcation said mobile station by using wirelεss signals traπsmittεd from said mobilε station that are not deteαed by said means for deteαing as one of: reflected and deflected.
107. A mobile location system as claimed in Claim 106, wherein said means for deteαing includes a means for comparing: (a) a distance of said mobile station from said mobile bcation system using a signal strength of said wirelεss signals from said mobilε station, and (b) a distance of said mobile station from said mobile bcation system using a signal time delay measurement of wirelεss signal from said mobilε station.
108. A mobile loαtion system as claimed in Claim 106, further including one or more loαtion estimators for estimating a bcation of said mobile location system, whεrein said at lεast onε of said loαtion estimators uses wireless signals transmitted from one of: said networkεd basε statbns and a global positioning system.
109. A mobile location system as claimεd in Claim 108, further including a deadreckoning means for estimating a change in a loαtion of said mobile location system, wherein said deadreckoning means provides incremental updates to said one or more bcation εstimatεs of said mobile bcation system output by said at bast one loαtion estimator. 110. A mobile location system as claimed in Claim 106, wherein said wireless transceiver means includes one of a direαional antenna and a seαored antenna.
111. A mobiiε location systεm as claimεd in Claim 106, wherein said means for estimating includes a means for snapping an estimated bcation of said mobile station to a vehicle traffic route.
112. A method for locating a wirelεss mobile station, comprising: dεtεrmining onε or morε collεαions of oπε or morε loαtion hypothεses of a bcation of a particular mobilε station, whεrein, for each of said colleαions, said one or more bcation hypothεses of said coiiεαioπ are obtained using measurements of wireless signals transmitted betweεn said particular mobilε statbn and a nεtwork of basε stations, whεrein said wirelεss signals arε transmitted during a time interval different from any other time interval for transmitting wireless signals whose measurements are used for obtaining said bcation hypothεses for a different one of said coiiections, and whεrein εach said bcation hypothesis of each said colleαion provides access to the following attributes:
(a) an estimate of the bcation of said particular mobile station,
(b) time related data for detεrmining a measurement of time since the wireless signals, upon which said location εstimate of the location hypothesis, were transmitted, (c) a confidence providing a measurement of a likelihood that said particular mobilε station is at a bcation represented by said loαtion estimate attribute of said locatbn hypothesis; construαing one or more derivεd location hypothεsεs, whεrεin εach said dεrivεd locatbn hypothεsis also has said attributes (a) through (c), and whεrein at lεast one of said attributes, for each of said derivεd location hypothεsεs, is determined using said attributes of said bcation hypotheses of said collections; estimating a bcation of said particular mobile station using said one or more dεrivεd bcation hypothεsεs.
113. A mεthod as claimεd in Claim 112, whεrein said stεp of construαing iπcludεs dεriving a valuε for said loαtioπ εstimatε attribute of one of said derivεd loαtion hypothεsεs by using said loαtion εstimatε attributes of bcation hypothεsεs in said onε or more colleαions.
114. A method as claimed in Claim 113, whεrεin said dεriving iπcludεs εxtrapoiating said bcation εstimatε of said oπε dεrived loαtion hypothesis from said locatbn εstimate attributes of location hypotheses in said one or more colleαions.
115. A method as claimed in Claim 112, wherein said stεp of construαing includεs inserting said bcation hypothesεs of said collections into one of: an expert system faα base, and a blackboard run-time storagε.
116. A method for locating a wireless mobile station, comprising: providing at least a fiπt location estimator for estimating locations of a plurality of wireless mobile stations, wherein said first location estimator receives as input wirelεss signal measurements of wirelεss signals transmittεd bεtween said plurality mobile stations and a network of base stations, wherein for said network, said base stations in the network are cooperatively linked for providing wirelεss communication; storing a plurality of data item collections^ wherein for each of a plurality locations, there is one of said data item colleαions having: (a) a representation of the loαtion, and (b) said wireless signal measurements corresponding to onε of said mobilε stations transmitting from approximately the bcation; aαivating said first bcation estimator with said wireless signal measuremεnts of said data item collections for obtaining corresponding mobilε station bcation εstimatεs; constructing a first sεt of said mεasuremεnts for said first bcation εstimator, whεrein said fiπt set includes values relatεd to a predictiveness of a collection of mappings betwεεn: (a) said corresponding mobilε station bcation εstimatεs, and (b) for εach said corresponding mobilε statbn ioαtioπ εstimate, a corresponding verifiεd mobile station loαtion; generating, by said fiπt location estimator, a first initial location estimatε from wirebss signal measurements of wirebss signals from transmissions betwεεn a first of said mobilε stations and thε basε stations, whεrein a location of said first mobilε station is unknown; obtaining an adjusted loαtion εstimate of said first mobilε station, whεreiπ said adjusted location εstimatε is obtainεd by using a subcolleαion of said mappings in a neighborhood of said fiπt initial loαtion εstimate; dεtermining a confidencε value relatεd to a likεlihood of said first mobile station bεing at a locatbn represented by said adjusted bcation estimatε, whεrein said confidence is a funαion of at least one measurement in said fiπt set of measuremεnts.
117. A method as claimed in Claim 116, wherein said step of construαing includes simulating locating one of said mobile stations using said corresponding mobile station location estimatεs and said corresponding verifiεd mobilε station locations.
118. A mεthod as claimed in Claim 117, wherein said step of simulating includεs performing a Montε Carlo simulation.
119. A method for locating wirelεss mobiiε stations from mεasurεments of wireless signals transmitted between the mobile stations and a network of base stations, wherein for said network, said base statbns in the network are cooperatively linked for providing wirelεss communication, comprising: storing a plurality of data item collεαions, whεrein for εach of a plurality locations, thεre is onε of said data itεm collεαions having: (a) a representation of the bcation, and (b) said wireless signal measurεmεnts corresponding to onε of said mobilε stations transmitting from approximately the location, wherein said wirelεss signal mεasurements are acceptablε as input to a wireless mobile station loαtioπ system; determining a colleαion of parameters of said wireless mobile station location system that affect a performancε of said wirelεss mobilε station locatbn systεm in locating mobilε stations; providing a population of representations for values of said colleαion of parametεrs to an adaptation componεnt, whεrεin said adaptation componεnt: (a) generates, for said representations, configurations of said wireless mobile station location system, each said configuration corresponding to the values of one of said representations, and (b) detεrminεs, for εach of at lεast some of said configurations, a loαtion predicting performancε using said plurality of data items for providing wireless signal measurements as input and said representations of loαtioπs for comparing with mobile station location outputs by the configuration; determining a first of said configurations that an enhancεd performance of said wireless mobile station bcation system; using said first configuration for deriving a loαtioπ estimate of a first one said mobile station, wherein said fiπt configuration is provides with wireless signal measuremεnts of wireless signals from transmissions betweεn said first mobile station and the base stations, and wherein a location of said first mobilε station is unknown.
120. A mεthod as claimεd in Claim A9, whεrεin said adaptation componεnt includεs a gεnεtic algorithm εmbodimεnt.
121. A mεthod for locating a wirεiεss mobilε station, comprising: dεtεrmining a plurality of bcation εstimates of a mobile station, wherein: (a) said location estimates are derivεd from wireless signal measurements of wireless signals transmitted betwεen the mobile station and a network of base stations, wherein for said network, said base statbns in the network arε coopεrativεly linkεd for providing wirεlεss communication, (b) said location εstimatεs arε time ordered; obtaining an additional bcation estimatε of said mobile station using additional wireless signal measurements transmitted between said mobile station and the network of base stations; deriving at least one dεrived locatbn εstimatε of said mobilε station that is different from said plurality of loαtioπ estimates, said derivεd loαtion εstimatε obtaiπεd using onε or more mεasurements of a behavior of said time ordered location estimates; assigning a likelihood value that said mobilε statbn is at location represented by said additional bcation estimatε as a funαion of a distancε bεtwεεn said additional bcation and said dεrivεd loαtioπ εstimate.
122. A mεthod as claimεd in Claim 121, wherein said mεasurements determine at least one of: a speed of said mobile statbn, a direαion of said mobile station, a change in speed of said mobile station, and a changε in direαion of said mobilε station.
123. A method as claimed in Claim 121 further including a step of assigning a likelihood value to said derivεd loαtion estimate as a funαion of a characteristic of an environment of an area containing said plurality of location estimatεs, whεrεin said characteristic is expected to affeα the behavior of said time ordered bcation estimatεs.
124. A mεthod as claimεd in Claim 123, whεrein said charaαeristic is onε of: a traffic route, a waterway, an abrupt changε in elevation, a weathεr condition, a density of buildings having a predetermined height.
PCT/US1997/015892 1996-09-09 1997-09-08 Location of a mobile station WO1998010307A8 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US2585596 true 1996-09-09 1996-09-09
US60/025,855 1996-09-09
US4482197 true 1997-04-25 1997-04-25
US60/044,821 1997-04-25
US5659097 true 1997-08-20 1997-08-20
US60/056,590 1997-08-20

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
GB9905311A GB2337386B (en) 1996-09-09 1997-09-08 Location of a mobile station
AU4479697A AU4479697A (en) 1996-09-09 1997-09-08 Location of a mobile station
CA 2265875 CA2265875C (en) 1996-09-09 1997-09-08 Location of a mobile station
US09194367 US7764231B1 (en) 1996-09-09 1997-09-08 Wireless location using multiple mobile station location techniques
US09176587 US7274332B1 (en) 1996-09-09 1998-10-21 Multiple evaluators for evaluation of a purality of conditions
US09299115 US6249252B1 (en) 1996-09-09 1999-04-23 Wireless location using multiple location estimators
US09770838 US7525484B2 (en) 1996-09-09 2001-01-26 Gateway and hybrid solutions for wireless location
US10262413 US7298327B2 (en) 1996-09-09 2002-09-30 Geographic location using multiple location estimators
US11069441 US7812766B2 (en) 1996-09-09 2005-03-01 Locating a mobile station and applications therefor
US11464880 US7903029B2 (en) 1996-09-09 2006-08-16 Wireless location routing applications and architecture therefor
US11739097 US9237543B2 (en) 1996-09-09 2007-04-24 Wireless location using signal fingerprinting and other location estimators
US12014092 US8032153B2 (en) 1996-09-09 2008-01-14 Multiple location estimators for wireless location
US12786429 US9060341B2 (en) 1996-09-09 2010-05-24 System and method for hybriding wireless location techniques
US12861817 US8994591B2 (en) 1996-09-09 2010-08-23 Locating a mobile station and applications therefor
US13323221 US9134398B2 (en) 1996-09-09 2011-12-12 Wireless location using network centric location estimators
US13831674 US9277525B2 (en) 1996-09-09 2013-03-15 Wireless location using location estimators
US14854025 US20160139242A1 (en) 1996-09-09 2015-09-14 Mobile unit location using mobile units in proximity
US14993077 US20160309298A1 (en) 1996-09-09 2016-01-11 Pattern recognition for wireless location

Related Child Applications (12)

Application Number Title Priority Date Filing Date
US09194367 A-371-Of-International US7764231B1 (en) 1996-09-09 1997-09-08 Wireless location using multiple mobile station location techniques
US19436798 A-371-Of-International 1998-11-24 1998-11-24
US19436798 Continuation-In-Part 1998-11-24 1998-11-24
US09299115 Continuation-In-Part US6249252B1 (en) 1996-09-09 1999-04-23 Wireless location using multiple location estimators
US09770838 Continuation US7525484B2 (en) 1996-09-09 2001-01-26 Gateway and hybrid solutions for wireless location
US09820584 Continuation-In-Part US6952181B2 (en) 1996-09-09 2001-03-28 Locating a mobile station using a plurality of wireless networks and applications therefor
PCT/US2001/017957 Continuation-In-Part WO2001095642B1 (en) 2000-06-02 2001-06-04 A wireless location gateway and applications therefor
US10297449 Continuation-In-Part US7714778B2 (en) 1996-09-09 2001-06-04 Wireless location gateway and applications therefor
US10262413 Continuation US7298327B2 (en) 1996-09-09 2002-09-30 Geographic location using multiple location estimators
US11739097 Continuation US9237543B2 (en) 1996-09-09 2007-04-24 Wireless location using signal fingerprinting and other location estimators
US12014092 Continuation US8032153B2 (en) 1996-09-09 2008-01-14 Multiple location estimators for wireless location
US12786429 Continuation US9060341B2 (en) 1996-09-09 2010-05-24 System and method for hybriding wireless location techniques

Publications (2)

Publication Number Publication Date
WO1998010307A1 true true WO1998010307A1 (en) 1998-03-12
WO1998010307A8 true WO1998010307A8 (en) 1999-04-08

Family

ID=27362636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/015892 WO1998010307A8 (en) 1996-09-09 1997-09-08 Location of a mobile station

Country Status (4)

Country Link
US (8) US7764231B1 (en)
CA (1) CA2265875C (en)
GB (1) GB2337386B (en)
WO (1) WO1998010307A8 (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010296A2 (en) * 1998-08-12 2000-02-24 Sc-Wireless, Inc. Method and apparatus for network control in communications networks
EP1030531A1 (en) * 1999-02-17 2000-08-23 Lucent Technologies Inc. Method for combining multiple measurements to determine the position of a mobile transceiver
WO2000069199A1 (en) * 1999-05-05 2000-11-16 Nokia Corporation A method for positioning a mobile station
WO2000069198A1 (en) * 1999-05-06 2000-11-16 Cell-Loc Inc. Wireless location system
WO2001003462A1 (en) * 1999-07-06 2001-01-11 Nokia Corporation Location of a mobile station in a telecommunication system
US6266014B1 (en) 1998-10-09 2001-07-24 Cell-Loc Inc. Methods and apparatus to position a mobile receiver using downlink signals part IV
US6321092B1 (en) 1998-11-03 2001-11-20 Signal Soft Corporation Multiple input data management for wireless location-based applications
WO2002012912A2 (en) * 2000-08-08 2002-02-14 Enuvis, Inc. Methods and apparatus for dynamically determining location using a simplified client device
EP1253437A2 (en) * 2001-04-23 2002-10-30 Itt Manufacturing Enterprises, Inc. Method and apparatus for high-accuracy position location using search mode ranging techniques
WO2003010552A2 (en) 2001-07-24 2003-02-06 Koninklijke Philips Electronics N.V. Methods and apparatus for determining the position of a transmitter and a mobile communications device
WO2003013178A1 (en) * 2001-07-27 2003-02-13 Qualcomm Incorporated System and method of estimating earliest arrival of cdma forward link signals
EP1445970A1 (en) * 2003-02-05 2004-08-11 Cambridge Positioning Systems Limited A method and system for locating a mobile radio receiver in a radio system with multiple tranmitters
EP1480052A1 (en) * 2003-05-23 2004-11-24 Evolium S.A.S. Method of increasing the accuracy of geographical information of a mobile station of a radio communication system
US7176831B2 (en) 2002-02-15 2007-02-13 Selex Communications Limited Emitter location system
EP1782569A1 (en) * 2004-07-07 2007-05-09 Nariste Networks Pty Ltd Location-enabled security services in wireless network
US7228136B2 (en) 2000-12-29 2007-06-05 Ekahau Oy Location estimation in wireless telecommunication networks
EP1796419A1 (en) * 2005-12-07 2007-06-13 Ekahau Oy Location determination techniques in a wireless communication network
WO2007070345A2 (en) * 2005-12-09 2007-06-21 Honeywell International Inc. Method and apparatus for estimating the location of a signal transmitter
US7830250B2 (en) 2007-10-22 2010-11-09 Honeywell International Inc. Apparatus and method for location estimation using power supply voltage levels of signal transmitters
US7852205B2 (en) 2008-04-10 2010-12-14 Honeywell International Inc. System and method for calibration of radio frequency location sensors
WO2011045425A1 (en) * 2009-10-16 2011-04-21 Fraunhofer Gesellschaft Zur Förderung Der Angewandten Forschung E.V Concept of generating messages for updating a reference database
US7973669B2 (en) 2007-08-23 2011-07-05 Honeywell International Inc. Apparatus and method for wireless location sensing
US7982614B2 (en) 2008-08-18 2011-07-19 Honeywell International Inc. Method and apparatus for wireless asset tracking using asset tags with motion sensors
WO2012038779A1 (en) 2010-09-23 2012-03-29 Nokia Corporation Generation and use of coverage area models
EP2485546A1 (en) * 2011-02-03 2012-08-08 Realcell Limited System and method for locating a cellular communication device
EP2474834A3 (en) * 2011-01-11 2013-03-06 Nokia Corporation Provision of data usable in apparatus positioning
US8588688B2 (en) 2011-01-24 2013-11-19 Nokia Corporation Non-networked messaging
CN103718626A (en) * 2011-08-25 2014-04-09 英派尔科技开发有限公司 Location determination using radio frequency information
US8965284B2 (en) 2011-04-07 2015-02-24 Nokia Corporation Facilitating positioning through Bluetooth low energy wireless messaging
US9060341B2 (en) 1996-09-09 2015-06-16 Tracbeam, Llc System and method for hybriding wireless location techniques
US9078101B2 (en) 1999-09-24 2015-07-07 Dennis Dupray Geographically constrained network services
US9084215B2 (en) 2011-04-07 2015-07-14 Nokia Technologies Oy Transmitting positioning information via wireless communication
US9875492B2 (en) 2001-05-22 2018-01-23 Dennis J. Dupray Real estate transaction system

Families Citing this family (680)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
US9538493B2 (en) 2010-08-23 2017-01-03 Finetrak, Llc Locating a mobile station and applications therefor
US6236365B1 (en) 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US7903029B2 (en) * 1996-09-09 2011-03-08 Tracbeam Llc Wireless location routing applications and architecture therefor
US7714778B2 (en) 1997-08-20 2010-05-11 Tracbeam Llc Wireless location gateway and applications therefor
US9134398B2 (en) 1996-09-09 2015-09-15 Tracbeam Llc Wireless location using network centric location estimators
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
USRE46243E1 (en) 1997-02-10 2016-12-20 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
JP3872525B2 (en) 1997-06-04 2007-01-24 株式会社エヌ・ティ・ティ・ドコモ Mobile communication system, mobile station and diversity handover branch control method
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
US8082096B2 (en) 2001-05-22 2011-12-20 Tracbeam Llc Wireless location routing applications and architecture therefor
US8135413B2 (en) 1998-11-24 2012-03-13 Tracbeam Llc Platform and applications for wireless location and other complex services
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
US7167711B1 (en) * 1997-12-23 2007-01-23 Openwave Systems Inc. System and method for controlling financial transactions over a wireless network
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) * 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46387E1 (en) 1998-09-11 2017-05-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US7433695B2 (en) * 2002-11-18 2008-10-07 Polaris Wireless, Inc. Computationally-efficient estimation of the location of a wireless terminal based on pattern matching
US7734298B2 (en) * 1998-09-22 2010-06-08 Polaris Wireless, Inc. Estimating the location of a wireless terminal based on signal path impairment
US7899467B2 (en) * 1998-09-22 2011-03-01 Polaris Wireless, Inc. Estimating the location of a wireless terminal based on the traits of the multipath components of a signal
US6944465B2 (en) * 1998-09-22 2005-09-13 Polaris Wireless, Inc. Estimating the location of a mobile unit based on the elimination of improbable locations
JP2007316070A (en) * 2006-05-22 2007-12-06 Polaris Wireless Inc Method for predicting position of wireless terminal
US7188180B2 (en) 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US20060224752A1 (en) * 1999-05-03 2006-10-05 Parekh Sanjay M Determining geographic locations of private network Internet users
US7844729B1 (en) 1999-05-03 2010-11-30 Digital Envoy, Inc. Geo-intelligent traffic manager
US7685311B2 (en) 1999-05-03 2010-03-23 Digital Envoy, Inc. Geo-intelligent traffic reporter
US6757740B1 (en) 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US7760137B2 (en) 1999-06-18 2010-07-20 Pfizer, Inc. Portable position determining device
EP1200851B1 (en) * 1999-07-20 2010-01-27 Qualcom Incorporated Method for determining a change in a communication signal and using this information to improve sps signal reception and processing
US6889053B1 (en) * 1999-07-26 2005-05-03 Lucent Technologies Inc. Likelihood-based geolocation prediction algorithms for CDMA systems using pilot strength measurements
US7664492B1 (en) * 1999-07-27 2010-02-16 Cellco Partnership Network engineering in a wireless network
US7929978B2 (en) * 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6618594B1 (en) * 1999-09-20 2003-09-09 Ameritech Corporation Over the air user zone assignment for wireless telephony systems
US7904569B1 (en) * 1999-10-06 2011-03-08 Gelvin David C Method for remote access of vehicle components
FI19992236A (en) * 1999-10-15 2001-04-16 Nokia Networks Oy The position detection in a telecommunication network
JP3466125B2 (en) * 1999-11-17 2003-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション Mobile agent management apparatus and method
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US6912398B1 (en) * 2000-04-10 2005-06-28 David Domnitz Apparatus and method for delivering information to an individual based on location and/or time
US8078189B2 (en) * 2000-08-14 2011-12-13 Sirf Technology, Inc. System and method for providing location based services over a network
US7970411B2 (en) 2000-05-18 2011-06-28 Sirf Technology, Inc. Aided location communication system
US7949362B2 (en) 2000-05-18 2011-05-24 Sirf Technology, Inc. Satellite positioning aided communication system selection
US8060389B2 (en) 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US8489669B2 (en) * 2000-06-07 2013-07-16 Apple Inc. Mobile data processing system moving interest radius
US6456234B1 (en) 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US6799087B2 (en) * 2000-07-10 2004-09-28 Hrl Laboratories, Llc Method and apparatus for providing agent swarm dispersal and separation by directed movement
DE10039663C2 (en) * 2000-08-14 2002-06-13 Fraunhofer Ges Forschung Method and apparatus for reproducing information
GB0022634D0 (en) * 2000-09-15 2000-11-01 Koninkl Philips Electronics Nv Secondary station and method of operating the station
EP1350153B1 (en) * 2000-12-15 2012-07-11 Polycom, Inc. System and method for device co-location discrimination
US20030112978A1 (en) * 2001-12-17 2003-06-19 Jeffrey Rodman System and method for secured data transmission within a wireless communication system
US6671589B2 (en) * 2001-02-13 2003-12-30 William Holst Method and apparatus to support remote and automatically initiated data loading and data acquisition of airborne computers using a wireless spread spectrum aircraft data services link
US7333794B2 (en) * 2001-03-06 2008-02-19 At&T Mobility Ii Llc Real-time network analysis and performance management
CA2441512C (en) 2001-03-09 2010-06-29 Radianse, Inc. Location system and methods
JP3543773B2 (en) * 2001-03-14 2004-07-21 日本電気株式会社 Cellular system, a base station controller, a mobile station and a transmission power control method used in their
EP1384386B1 (en) 2001-04-03 2009-06-03 AT&T Mobility II, LLC Method and apparatus for mobile station location estimation
WO2002085057A1 (en) * 2001-04-06 2002-10-24 Nokia Corporation Location method and system
DE10118127A1 (en) * 2001-04-11 2002-10-17 Philips Corp Intellectual Pty A method of operating an automatic information system Industry
US6901264B2 (en) * 2001-04-25 2005-05-31 Makor Issues And Rights Ltd. Method and system for mobile station positioning in cellular communication networks
US8160020B2 (en) 2001-06-25 2012-04-17 Airvana Network Solutions, Inc. Radio network control
US8195187B2 (en) 2001-06-25 2012-06-05 Airvana Network Solutions, Inc. Radio network control
JP2004535744A (en) * 2001-07-16 2004-11-25 ウェーブマーケット・インコーポレーテッド System for providing based services - alert for the mobile station in a wireless communications network
JP2003075524A (en) * 2001-08-31 2003-03-12 Denso Corp Mobile communication terminal device, program and position server therefor
US8621077B2 (en) * 2001-09-21 2013-12-31 Mcafee, Inc. Distribution of security policies for small to medium-sized organizations
US7680497B2 (en) * 2001-09-25 2010-03-16 Qualcomm Incorporated Method and system for optimizing system-access and soft-handoff parameters based on location information
US8977284B2 (en) * 2001-10-04 2015-03-10 Traxcell Technologies, LLC Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same
JP4255378B2 (en) * 2001-10-09 2009-04-15 サーフ テクノロジー インコーポレイテッド Method and system for transmitting an image imparted with position information over a wireless network
US6771608B2 (en) 2001-11-05 2004-08-03 The Boeing Company Link tracking with a phased array antenna in a TDMA network
US7647422B2 (en) 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US7092378B1 (en) * 2001-12-10 2006-08-15 At & T Corp. System for utilizing a genetic algorithm to provide constraint-based routing of packets in a communication network
US20030114170A1 (en) * 2001-12-14 2003-06-19 Rick Roland R. Position determination system that uses a cellular communication system
US20030125045A1 (en) * 2001-12-27 2003-07-03 Riley Wyatt Thomas Creating and using base station almanac information in a wireless communication system having a position location capability
US6845241B2 (en) * 2002-01-07 2005-01-18 International Business Machines Corporation Relevance assessment for location information received from multiple sources
US6697628B1 (en) * 2002-03-01 2004-02-24 Nokia Corporation Apparatus, and associated method, for determining geographical positioning of a mobile station operable in a radio communication system
EP1488333B1 (en) * 2002-03-01 2010-10-06 Enterasys Networks, Inc. Location aware data network
US6947753B2 (en) * 2002-03-13 2005-09-20 Telefonaktiebolaget L M Ericsson (Publ) Determination of mobile station location
US7092690B2 (en) * 2002-03-13 2006-08-15 Gregory Zancewicz Genetic algorithm-based adaptive antenna array processing method and system
JP4199671B2 (en) * 2002-03-15 2008-12-17 富士通株式会社 Local search methods and local information retrieval apparatus
JP4051699B2 (en) * 2002-05-09 2008-02-27 日本電気株式会社 Gps enabled mobile phone
WO2003103323A1 (en) * 2002-05-31 2003-12-11 Telecom Italia S.P.A. Method for locating mobile terminals, system and components therefor
US20030224806A1 (en) * 2002-06-03 2003-12-04 Igal Hebron System and method for network data quality measurement
US7308276B2 (en) * 2002-06-04 2007-12-11 Symbol Technologies, Inc. Method for locating mobile units based on received signal strength ratio
US6889207B2 (en) * 2002-06-18 2005-05-03 Bellsouth Intellectual Property Corporation Content control in a device environment
US7016888B2 (en) 2002-06-18 2006-03-21 Bellsouth Intellectual Property Corporation Learning device interaction rules
US6795404B2 (en) 2002-06-18 2004-09-21 Bellsouth Intellectual Property Corporation Device for aggregating, translating, and disseminating communications within a multiple device environment
US7039698B2 (en) * 2002-06-18 2006-05-02 Bellsouth Intellectual Property Corporation Notification device interaction
US20030233660A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation Device interaction
JP2004023726A (en) * 2002-06-20 2004-01-22 Nec Corp Method, system and program for installing base station
US7711375B2 (en) * 2002-08-06 2010-05-04 Hang Liu Method and system for determining a location of a wireless transmitting device and guiding the search for the same
US6865395B2 (en) * 2002-08-08 2005-03-08 Qualcomm Inc. Area based position determination for terminals in a wireless network
JP4190828B2 (en) * 2002-08-21 2008-12-03 Necエレクトロニクス株式会社 Probe testing apparatus and method
JP2005539296A (en) * 2002-08-21 2005-12-22 ニール,ソロモン Multi - System and method and apparatus for self-configurable mobile robot agent of organized groups in the robot system
US20040044633A1 (en) * 2002-08-29 2004-03-04 Chen Thomas W. System and method for solving an optimization problem using a neural-network-based genetic algorithm technique
US7472135B2 (en) * 2002-10-18 2008-12-30 Nokia Corporation Method and system for recalling details regarding past events
US7050786B2 (en) * 2002-10-30 2006-05-23 Lockheed Martin Corporation Method and apparatus for locating a wireless device
US7050787B2 (en) * 2002-10-30 2006-05-23 Lockheed Martin Corporation Cooperative element location system
US8285825B1 (en) * 2002-11-13 2012-10-09 Novell, Inc. Method and system for managing network resources based on a dynamic quorum
JP2007316068A (en) * 2006-05-22 2007-12-06 Polaris Wireless Inc Method of estimating location of wireless terminal
GB0229544D0 (en) * 2002-12-18 2003-01-22 Dehghan Fatemeh S Wireless communications network simulation method
US20040132464A1 (en) * 2002-12-20 2004-07-08 Sami Poykko Location system
EP1294167A3 (en) * 2002-12-23 2003-07-30 Swissphone Telecom AG Method for emergency alarming, alarming system and emergency pager
US6690318B1 (en) * 2002-12-27 2004-02-10 General Atomics Cellular radar
US7224983B2 (en) * 2003-01-08 2007-05-29 Lucent Technologies Inc. Method and apparatus for geolocation estimates in wireless networks
US7480512B2 (en) * 2004-01-16 2009-01-20 Bones In Motion, Inc. Wireless device, program products and methods of using a wireless device to deliver services
US7130646B2 (en) 2003-02-14 2006-10-31 Atheros Communications, Inc. Positioning with wireless local area networks and WLAN-aided global positioning systems
US20060195885A1 (en) * 2003-03-04 2006-08-31 Koninklijke Philips Electronics N.V. Transmitter and receiver for determing locale
US9008870B2 (en) * 2003-03-14 2015-04-14 Aviation Communication & Surveillance Systems Llc Display for terrain avoidance
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US7189454B2 (en) * 2003-05-19 2007-03-13 Engelhard Corporation Carbon coated high luster materials
US7583818B2 (en) 2003-05-20 2009-09-01 Navteq North America, Llc Method and system for collecting traffic information using thermal sensing
US7395073B2 (en) * 2003-06-05 2008-07-01 Ntt Docomo Inc. Method and apparatus for location estimation using region of confidence filtering
US7313402B1 (en) * 2003-06-24 2007-12-25 Verizon Corporate Services Group Inc. System and method for evaluating accuracy of an automatic location identification system
US8483717B2 (en) 2003-06-27 2013-07-09 Qualcomm Incorporated Local area network assisted positioning
US8712428B2 (en) * 2003-07-19 2014-04-29 Polaris Wireless, Inc. Location estimation of wireless terminals through pattern matching of deduced signal strengths
US7123928B2 (en) * 2003-07-21 2006-10-17 Qualcomm Incorporated Method and apparatus for creating and using a base station almanac for position determination
KR20050011868A (en) * 2003-07-24 2005-01-31 유티스타콤코리아 유한회사 Device and method for tracking position of cellular phone using beacon in mobile communication system
US7293088B2 (en) * 2003-07-28 2007-11-06 Cisco Technology, Inc. Tag location, client location, and coverage hole location in a wireless network
US7283046B2 (en) 2003-08-01 2007-10-16 Spectrum Tracking Systems, Inc. Method and system for providing tracking services to locate an asset
US7562123B2 (en) * 2003-09-05 2009-07-14 Palo Alto Research Center Incorporated Systems and methods for distributed group formation and maintenance in geographically based networks
US7194275B2 (en) * 2003-10-02 2007-03-20 Telefonaktiebolaget Lm Ericsson (Publ) Position determination of mobile stations
JP2007522691A (en) * 2003-10-14 2007-08-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus and method for management information base table for accessing stores the medium detection time histogram measurements
US7904244B2 (en) * 2003-11-18 2011-03-08 Sarimo Technologies, LLC Determining a location or position using information from multiple location and positioning technologies and applications using such a determined location or position
US20050234735A1 (en) * 2003-11-26 2005-10-20 Williams Jim C Digital rights management using proximity testing
DE10356578A1 (en) * 2003-12-04 2005-07-07 Atlas Elektronik Gmbh A method for detecting locations
US7042391B2 (en) * 2003-12-12 2006-05-09 Xerox Corporation Mobile device and method for determining location of mobile device
US7541977B2 (en) * 2003-12-16 2009-06-02 Interdigital Technology Corporation Method and wireless communication system for locating wireless transmit/receive units
US7349702B2 (en) * 2003-12-18 2008-03-25 Graumann David L Self-evolving proximity sensor inclusion-exclusion zones
US8406341B2 (en) 2004-01-23 2013-03-26 The Nielsen Company (Us), Llc Variable encoding and detection apparatus and methods
US7272394B2 (en) * 2004-02-11 2007-09-18 Avaya Technology Corp. Location estimation of wireless terminals in a multi-story environment
WO2005086375A1 (en) * 2004-03-03 2005-09-15 Nec Corporation Positioning system, positioning method, and program thereof
KR100571837B1 (en) * 2004-03-05 2006-04-17 삼성전자주식회사 Method and apparatus for controlling navigation in automatic navigation vehicle
US7945945B2 (en) 2004-08-06 2011-05-17 Enterasys Networks, Inc. System and method for address block enhanced dynamic network policy management
US7793188B2 (en) * 2004-03-23 2010-09-07 The Regents Of The University Of California Apparatus and method for improving reliability of collected sensor data over a network
US7187327B2 (en) * 2004-04-01 2007-03-06 Itt Manufacturing Enterprises, Inc. Method and system for determining the position of an object
US6876325B1 (en) 2004-04-01 2005-04-05 Itt Manufacturing Enterprises, Inc. System and method for location-finding using communication signals
US7272495B2 (en) * 2004-04-01 2007-09-18 Itt Manufacturing Enterprises, Inc. System and method for inverse multilateration
US8654815B1 (en) 2004-04-02 2014-02-18 Rearden, Llc System and method for distributed antenna wireless communications
US9826537B2 (en) 2004-04-02 2017-11-21 Rearden, Llc System and method for managing inter-cluster handoff of clients which traverse multiple DIDO clusters
US9685997B2 (en) 2007-08-20 2017-06-20 Rearden, Llc Systems and methods to enhance spatial diversity in distributed-input distributed-output wireless systems
US9819403B2 (en) 2004-04-02 2017-11-14 Rearden, Llc System and method for managing handoff of a client between different distributed-input-distributed-output (DIDO) networks based on detected velocity of the client
US8170081B2 (en) 2004-04-02 2012-05-01 Rearden, LLC. System and method for adjusting DIDO interference cancellation based on signal strength measurements
US8989155B2 (en) * 2007-08-20 2015-03-24 Rearden, Llc Systems and methods for wireless backhaul in distributed-input distributed-output wireless systems
US9312929B2 (en) 2004-04-02 2016-04-12 Rearden, Llc System and methods to compensate for Doppler effects in multi-user (MU) multiple antenna systems (MAS)
US20110003607A1 (en) * 2004-04-02 2011-01-06 Antonio Forenza Interference management, handoff, power control and link adaptation in distributed-input distributed-output (DIDO) communication systems
US7359718B2 (en) * 2004-04-30 2008-04-15 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Location determination and location tracking in wireless networks
JP4458247B2 (en) * 2004-05-12 2010-04-28 日本電気株式会社 The radio base station apparatus setting system and a radio base station device setting method
GB0412260D0 (en) * 2004-06-02 2004-07-07 Ubisense Ltd Tag frequency control
WO2006017266A3 (en) * 2004-07-12 2006-05-04 Univ Rice William M System and method for localization over a wireless network
WO2006010774A1 (en) * 2004-07-30 2006-02-02 Path Intelligence Limited Monitoring the movement of mobile communication devices
USRE45264E1 (en) * 2004-08-31 2014-12-02 Visual Real Estate, Inc. Methods and apparatus for generating three-dimensional image data models
US20060058044A1 (en) * 2004-09-14 2006-03-16 Motorola, Inc. Mobile station repaging method and apparatus
EP1805918A4 (en) * 2004-09-27 2012-05-30 Nielsen Media Res Inc Methods and apparatus for using location information to manage spillover in an audience monitoring system
US7702338B2 (en) * 2004-09-29 2010-04-20 Qualcomm Incorporated Method for finding the location of a mobile terminal in a cellular radio system
WO2006040611A1 (en) * 2004-10-15 2006-04-20 Telecom Italia Spa Method and system for determining whether a terminal belong to a target space in a communication network, related network and computer program product
US8369264B2 (en) 2005-10-28 2013-02-05 Skyhook Wireless, Inc. Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources
US7493127B2 (en) 2005-02-22 2009-02-17 Skyhook Wireless, Inc. Continuous data optimization of new access points in positioning systems
EP2527859B1 (en) 2004-10-29 2016-04-20 Skyhook Wireless, Inc. Location beacon database and server, method of building location beacon database, and location based service using same
FI116996B (en) * 2004-11-02 2006-04-28 Nethawk Oyj A method for locating a mobile device, the mobile positioning system, the base station and the network element
KR101182900B1 (en) 2004-11-15 2012-09-13 나노트론 테크놀로지스 게엠바하 Symmetrical multipath method for determining the distance between two transceivers
US7881905B2 (en) * 2004-11-17 2011-02-01 Qualcomm Incorporated Method for ambiguity resolution in location determination
US8107609B2 (en) 2004-12-06 2012-01-31 Callwave, Inc. Methods and systems for telephony call-back processing
US7486943B2 (en) 2004-12-15 2009-02-03 Mlb Advanced Media, L.P. System and method for verifying access based on a determined geographic location of a subscriber of a service provided via a computer network
JP4607905B2 (en) * 2004-12-28 2011-01-05 味の素株式会社 Tag extractor, tag extraction method and a tag extraction program
KR100594086B1 (en) * 2005-01-04 2006-06-20 삼성전자주식회사 Adaptive pilot allocation method and apparatus for pilot-aided channel estimation system
US8041469B2 (en) * 2005-01-05 2011-10-18 GM Global Technology Operations LLC Determining relative spatial information between vehicles
EP1686552B1 (en) * 2005-01-26 2009-09-16 Alcatel Lucent Method for establishing an emergency call in a local area network, terminal, gateways and server for such a method
WO2007012084A3 (en) * 2005-07-19 2007-05-03 4Info Inc Intelligent mobile search client
WO2006092858A1 (en) * 2005-03-02 2006-09-08 Fujitsu Limited Position detecting system and rfid terminal
US20060217944A1 (en) * 2005-03-11 2006-09-28 Newfield Wireless, Inc. Methods for accurate use of finite dynamic range measurement data in radio path loss propagation model calibration
US7423580B2 (en) * 2005-03-14 2008-09-09 Invisitrack, Inc. Method and system of three-dimensional positional finding
US7751833B2 (en) * 2005-03-15 2010-07-06 Nextel Communications Inc. System and method for determining a base transceiver station location
US7796966B2 (en) * 2005-03-15 2010-09-14 Polaris Wireless, Inc. Estimating the location of a wireless terminal based on calibrated signal-strength measurements
WO2006099612A3 (en) * 2005-03-17 2008-09-18 Nielsen Media Res Inc Methods and apparatus for using audience member behavior information to determine compliance with audience measurement system usage requirements
CN101171529A (en) * 2005-03-18 2008-04-30 探索无线公司 Enhanced mobile location
EP1859293B1 (en) * 2005-03-18 2010-10-13 Seeker Wireless PTY Limited Enhanced mobile location method and system
US8924343B2 (en) * 2005-03-23 2014-12-30 International Business Machines Coporation Method and system for using confidence factors in forming a system
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
EP1872150B9 (en) * 2005-04-08 2013-04-10 WaveMarket, Inc. (d/b/a Location Labs) Mobile location
US20060247338A1 (en) * 2005-05-02 2006-11-02 General Electric Company Poly(arylene ether) compositions with improved ultraviolet light stability, and related articles
US8045998B2 (en) * 2005-06-08 2011-10-25 Cisco Technology, Inc. Method and system for communicating using position information
US8099504B2 (en) 2005-06-24 2012-01-17 Airvana Network Solutions, Inc. Preserving sessions in a wireless network
US20060291420A1 (en) * 2005-06-27 2006-12-28 Dennis Ng Network-initiated dormant handoffs
US7653400B2 (en) * 2005-06-28 2010-01-26 Research In Motion Limited Probabilistic location prediction for a mobile station
US8086232B2 (en) 2005-06-28 2011-12-27 Enterasys Networks, Inc. Time synchronized wireless method and operations
US8150932B2 (en) * 2005-06-30 2012-04-03 Nokia Corporation System and method for providing privacy protected navigation between mobile terminals
US8855107B1 (en) 2005-07-01 2014-10-07 Callwave Communications, Llc Methods and systems for call routing via a telephone number
US8560413B1 (en) * 2005-07-14 2013-10-15 John S. Quarterman Method and system for detecting distributed internet crime
US7969822B2 (en) * 2005-07-15 2011-06-28 Estate Of Albert R. Basilico System and method for extending GPS to divers and underwater vehicles
US7272074B2 (en) * 2005-07-15 2007-09-18 Basilico Albert R System and method for extending GPS to divers and underwater vehicles
US20070112739A1 (en) * 2005-07-19 2007-05-17 4Info, Inc. Intelligent mobile search client
US8295851B2 (en) 2005-08-03 2012-10-23 Michael Edward Finnegan Realtime, interactive and geographically defined computerized personal matching systems and methods
US8880047B2 (en) 2005-08-03 2014-11-04 Jeffrey C. Konicek Realtime, location-based cell phone enhancements, uses, and applications
US7633914B2 (en) * 2005-08-10 2009-12-15 Cisco Technology, Inc. Method and system for providing interoperable communications with location information
US7706339B2 (en) * 2005-08-10 2010-04-27 Cisco Technology, Inc. Method and system for communicating media based on location of media source
US7636339B2 (en) * 2005-08-10 2009-12-22 Cisco Technology, Inc. Method and system for automatic configuration of virtual talk groups based on location of media sources
US20070049203A1 (en) * 2005-08-29 2007-03-01 Dillon Matt J System and method for adjusting the coverage footprint of an antenna
US7869386B2 (en) * 2005-08-29 2011-01-11 Cisco Technology, Inc. Method and system for conveying media source location information
US8265650B2 (en) * 2005-09-01 2012-09-11 Radio Ip Software Inc. GPS data management module for use in location-based service systems
US9148907B2 (en) 2005-09-07 2015-09-29 The Invention Science Fund I, Llc Heading-dependent routing
US20070124395A1 (en) * 2005-09-22 2007-05-31 Stephen Edge Geography-based filtering of broadcasts
US7436799B2 (en) * 2005-09-30 2008-10-14 Lucent Technologies Inc. Method for minimizing expenditures associated with optimized backhaul networks
US7561884B2 (en) * 2005-09-30 2009-07-14 Meshnetworks, Inc. System and method for automated tracking of assets using location measurements and ad-hoc routing algorithms
US7751835B2 (en) * 2005-10-04 2010-07-06 Airvana, Inc. Non-circular paging areas
KR100648269B1 (en) * 2005-10-13 2006-11-14 (주)래디안트 Mobile communication device positioning system and method for enhancing position measurement by self learning algorithm
US7420944B2 (en) * 2005-10-14 2008-09-02 The Boeing Company Method of forming directional wireless networks using in-band channels
US20070087695A1 (en) * 2005-10-17 2007-04-19 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Mobile directional antenna
US7646712B2 (en) * 2005-10-17 2010-01-12 Searete Llc Using a signal route dependent on a node speed change prediction
US8125896B2 (en) * 2005-10-17 2012-02-28 The Invention Science Fund I, Llc Individualizing a connectivity-indicative mapping
US8495239B2 (en) * 2005-10-17 2013-07-23 The Invention Science Fund I, Llc Using a signal route dependent on a node speed change prediction
US7633427B2 (en) 2005-10-20 2009-12-15 Kinetx, Inc. Active imaging using satellite communication system
US7505947B2 (en) * 2005-10-20 2009-03-17 International Business Machines Corporation Computer controlled method using genetic algorithms to provide non-deterministic solutions to problems involving physical restraints
WO2007048177A1 (en) 2005-10-24 2007-05-03 Seeker Wireless Pty Limited Detection in mobile service maintenance
JP2007120973A (en) * 2005-10-25 2007-05-17 Denso Corp Application execution apparatus for mobile body
US7769105B1 (en) * 2005-11-03 2010-08-03 L-3 Communications, Corp. System and method for communicating low data rate information with a radar system
US20090298505A1 (en) * 2005-11-04 2009-12-03 Christopher Ridgway Drane Profile Based Communications Service
GB0523513D0 (en) * 2005-11-18 2005-12-28 Applied Generics Ltd Efficient location and tracking of mobile subscribers
US7639792B2 (en) 2005-11-23 2009-12-29 Att Knowledge Ventures, L.P. System and method for location management and emergency support for a voice over internet protocol device
US7904097B2 (en) 2005-12-07 2011-03-08 Ekahau Oy Location determination techniques
US20070132639A1 (en) * 2005-12-09 2007-06-14 Korneluk Jose E Method and apparatus for determining an approximate position of a satellite positioning receiver
US8094630B2 (en) 2005-12-16 2012-01-10 Airvana Network Solutions, Inc. Radio frequency dragging prevention
US8145221B2 (en) 2005-12-16 2012-03-27 Airvana Network Solutions, Inc. Radio network communication
US8619702B2 (en) 2005-12-16 2013-12-31 Ericsson Evdo Inc. Radio network control
US8055270B1 (en) 2005-12-23 2011-11-08 At&T Mobility Ii Llc System and method for providing location information for a mobile handset
US20090005061A1 (en) * 2005-12-30 2009-01-01 Trueposition, Inc. Location quality of service indicator
US8150421B2 (en) * 2005-12-30 2012-04-03 Trueposition, Inc. User plane uplink time difference of arrival (U-TDOA)
US20070155489A1 (en) * 2005-12-30 2007-07-05 Frederic Beckley Device and network enabled geo-fencing for area sensitive gaming enablement
US7525425B2 (en) 2006-01-20 2009-04-28 Perdiem Llc System and method for defining an event based on relationship between an object location and a user-defined zone
US20070178913A1 (en) * 2006-01-27 2007-08-02 Nokia Corporation Method, apparatus and computer program product for self-learning location method selection logic
CN101009928B (en) * 2006-01-27 2012-09-26 朗迅科技公司 A fuzzy logic scheduler for the radio resource management
US7848241B2 (en) * 2006-01-31 2010-12-07 Motorola Mobility, Inc. Method and apparatus for handoff control in mobile communications systems
US8085671B2 (en) * 2006-02-27 2011-12-27 Cisco Technology, Inc. Method and system for providing interoperable communications with congestion management
US8260338B2 (en) * 2006-02-28 2012-09-04 Cisco Technology, Inc. Method and system for providing interoperable communications with dynamic event area allocation
JP4999867B2 (en) * 2006-03-03 2012-08-15 ケイティーフリーテル カンパニー リミテッド Wireless network quality measuring method and system
US9088355B2 (en) 2006-03-24 2015-07-21 Arris Technology, Inc. Method and apparatus for determining the dynamic range of an optical link in an HFC network
KR100658152B1 (en) * 2006-03-27 2006-12-08 삼성전자주식회사 Mobile terminal and method for providing location information thereof
DE102006044293A1 (en) * 2006-03-31 2007-10-25 Siemens Ag Computerized method for mobile object localization, involves measuring characteristics of number of base stations using reference map, where base station characterizes field transmitted by base station at object
US9112746B2 (en) * 2006-04-05 2015-08-18 Cisco Technology, Inc. Method and system for managing virtual talk groups
US8140464B2 (en) * 2006-04-28 2012-03-20 Battelle Memorial Institute Hypothesis analysis methods, hypothesis analysis devices, and articles of manufacture
US7860070B2 (en) 2006-05-10 2010-12-28 Cisco Technology, Inc. Providing multiple virtual talk group communication sessions
US8968195B2 (en) 2006-05-12 2015-03-03 Bao Tran Health monitoring appliance
US8323189B2 (en) 2006-05-12 2012-12-04 Bao Tran Health monitoring appliance
US9060683B2 (en) 2006-05-12 2015-06-23 Bao Tran Mobile wireless appliance
US9865176B2 (en) 2012-12-07 2018-01-09 Koninklijke Philips N.V. Health monitoring system
US8151322B2 (en) 2006-05-16 2012-04-03 A10 Networks, Inc. Systems and methods for user access authentication based on network access point
US7539533B2 (en) 2006-05-16 2009-05-26 Bao Tran Mesh network monitoring appliance
US20070271079A1 (en) * 2006-05-17 2007-11-22 Kentaro Oguchi Simulator for Vehicle Radio Propagation Including Shadowing Effects
US7831270B2 (en) * 2006-05-18 2010-11-09 Cisco Technology, Inc. Providing virtual talk group communication sessions in accordance with endpoint resources
US7639634B2 (en) 2006-06-02 2009-12-29 Cisco Technology, Inc. Method and System for Joining a virtual talk group
DE102006027270A1 (en) * 2006-06-09 2007-12-13 Vodafone Holding Gmbh Local regulations of mobile terminals in a cellular network and uses thereof
US7733224B2 (en) * 2006-06-30 2010-06-08 Bao Tran Mesh network personal emergency response appliance
US7768963B2 (en) 2006-07-07 2010-08-03 Skyhook Wireless, Inc. System and method of improving sampling of WLAN packet information to improve estimates of Doppler frequency of a WLAN positioning device
US8085696B2 (en) 2006-07-14 2011-12-27 Airvana Networks Solutions, Inc. Dynamic modification of route update protocols
US8077701B2 (en) * 2006-07-20 2011-12-13 At&T Intellectual Property I, Lp Systems, methods, and apparatus to prioritize communications in IP multimedia subsystem networks
US8064875B2 (en) * 2006-08-04 2011-11-22 At&T Intellectual Property I, L.P. Methods and apparatus to update geographic location information associated with internet protocol devices for E-911 emergency services
US7706811B2 (en) * 2006-09-19 2010-04-27 Broadphone Llc Signal comparison-based location determining method
US7756193B2 (en) * 2006-09-21 2010-07-13 Broadcom Corporation Time divided pilot channel detection processing in WCDMA terminal having shared memory
US7616555B2 (en) * 2006-10-03 2009-11-10 Cisco Technology, Inc. Minimum variance location estimation in wireless networks
US7626969B2 (en) * 2006-10-04 2009-12-01 Cisco Technology, Inc. Relative location of a wireless node in a wireless network
US8548447B1 (en) 2006-10-06 2013-10-01 Callwave Communications, Llc Methods and systems for blocking unwanted telecommunications
US8103293B2 (en) * 2006-10-17 2012-01-24 Itt Manufacturing Enterprises, Inc. System and related circuits and methods for detecting and locating wireless communication device use within a geographical area or facility
US8570909B1 (en) 2006-10-17 2013-10-29 Cisco Technology, Inc. Method and system for providing an indication of a communication
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US7716378B2 (en) 2006-10-17 2010-05-11 A10 Networks, Inc. System and method to associate a private user identity with a public user identity
US8531995B2 (en) 2006-11-01 2013-09-10 At&T Intellectual Property I, L.P. Systems and methods for location management and emergency support for a voice over internet protocol device
US7856234B2 (en) 2006-11-07 2010-12-21 Skyhook Wireless, Inc. System and method for estimating positioning error within a WLAN-based positioning system
US8046001B2 (en) * 2006-11-17 2011-10-25 Yoram Shalmon Method of providing advertising to mobile units
US8294554B2 (en) * 2006-12-18 2012-10-23 Radiofy Llc RFID location systems and methods
US7742738B2 (en) * 2006-12-27 2010-06-22 Nortel Networks Limited Method and system for diversity using orthogonal frequency/division multiplexing
US8189460B2 (en) * 2006-12-28 2012-05-29 Cisco Technology, Inc. Method and system for providing congestion management within a virtual talk group
US8576068B2 (en) * 2006-12-29 2013-11-05 Honeywell International Inc. Method and system for uploading near-real-time messages to keypad of a security system
US8099084B2 (en) 2006-12-31 2012-01-17 Ektimisi Semiotics Holdings, Llc Method, system, and computer program product for creating smart services
US7647283B2 (en) * 2006-12-31 2010-01-12 Ektimisi Semiotics Holdings, Llc Method, system, and computer program product for adaptively learning user preferences for smart services
US7765173B2 (en) 2006-12-31 2010-07-27 Ektimisi Semiotics Holdings, Llc Method, system, and computer program product for delivering smart services
KR100800822B1 (en) * 2007-01-03 2008-02-04 삼성전자주식회사 Method for processing handover in bridge-based cellular ethernet network
US8798639B2 (en) 2007-01-17 2014-08-05 Qualcomm Incorporated Method and apparatus for using historic network information for determining approximate position
US7929800B2 (en) 2007-02-06 2011-04-19 Meadow William D Methods and apparatus for generating a continuum of image data
US8620257B2 (en) * 2007-02-20 2013-12-31 At&T Intellectual Property I, L.P. Systems and methods for location management and emergency support for a voice over internet protocol device
US7579990B2 (en) * 2007-02-26 2009-08-25 Oki Electric Industry Co., Ltd. Method and system for estimating the location of a wireless terminal from a received signal strength
US9247516B2 (en) * 2007-02-28 2016-01-26 Polaris Wireless, Inc. Estimating whether or not a wireless terminal is in a geographic zone using pattern classification
US8320933B2 (en) * 2007-02-28 2012-11-27 Polaris Wireless, Inc. Estimating whether or not a wireless terminal is in a zone using radio navigation
WO2008109948A1 (en) * 2007-03-13 2008-09-18 Seeker Wireless Pty Limited Enhanced zone determination
US8229458B2 (en) 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
KR100892241B1 (en) 2007-05-04 2009-04-09 한국전기연구원 Wireless position recognition system and method thereof
US8874159B2 (en) * 2007-05-10 2014-10-28 Cisco Technology, Inc. Method and system for handling dynamic incidents
JP4965329B2 (en) * 2007-05-10 2012-07-04 株式会社トプコン Positioning system, the receiving terminal and a positioning method
US8526341B2 (en) * 2007-05-17 2013-09-03 University Of Iowa Research Foundation Systems and methods for microwave tomography
US7941108B2 (en) * 2007-06-26 2011-05-10 Cisco Technology, Inc. Method and system for automatically identifying wireless signal quality of a region
US8090377B2 (en) * 2007-06-26 2012-01-03 Cisco Technology, Inc. Method and system for using signal quality information
US8175802B2 (en) 2007-06-28 2012-05-08 Apple Inc. Adaptive route guidance based on preferences
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
US8463238B2 (en) * 2007-06-28 2013-06-11 Apple Inc. Mobile device base station
US8332402B2 (en) 2007-06-28 2012-12-11 Apple Inc. Location based media items
US8180379B2 (en) * 2007-06-28 2012-05-15 Apple Inc. Synchronizing mobile and vehicle devices
US8762056B2 (en) 2007-06-28 2014-06-24 Apple Inc. Route reference
US8275352B2 (en) 2007-06-28 2012-09-25 Apple Inc. Location-based emergency information
US8290513B2 (en) 2007-06-28 2012-10-16 Apple Inc. Location-based services
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8108144B2 (en) 2007-06-28 2012-01-31 Apple Inc. Location based tracking
US8774825B2 (en) 2007-06-28 2014-07-08 Apple Inc. Integration of map services with user applications in a mobile device
US8311526B2 (en) * 2007-06-28 2012-11-13 Apple Inc. Location-based categorical information services
US8204684B2 (en) 2007-06-28 2012-06-19 Apple Inc. Adaptive mobile device navigation
US8385946B2 (en) 2007-06-28 2013-02-26 Apple Inc. Disfavored route progressions or locations
US20100054746A1 (en) 2007-07-24 2010-03-04 Eric Raymond Logan Multi-port accumulator for radio-over-fiber (RoF) wireless picocellular systems
US8702430B2 (en) 2007-08-17 2014-04-22 Adidas International Marketing B.V. Sports electronic training system, and applications thereof
US8360904B2 (en) 2007-08-17 2013-01-29 Adidas International Marketing Bv Sports electronic training system with sport ball, and applications thereof
US8221290B2 (en) 2007-08-17 2012-07-17 Adidas International Marketing B.V. Sports electronic training system with electronic gaming features, and applications thereof
US9277351B2 (en) * 2007-09-07 2016-03-01 International Business Machines Corporation Wireless transmission duration and location-based services
US20090066569A1 (en) * 2007-09-11 2009-03-12 Andrew James Simpson Hunter Animal tracking system
US8798613B2 (en) * 2007-09-17 2014-08-05 Wavemarket, Inc. Systems and method for triggering location based voice and/or data communications to or from mobile ratio terminals
US8127246B2 (en) 2007-10-01 2012-02-28 Apple Inc. Varying user interface element based on movement
US8280406B2 (en) * 2007-10-04 2012-10-02 Zos Communications, Llc Methods for sending location-based data
US8849183B2 (en) * 2007-10-05 2014-09-30 Qualcomm Incorporated Location and time based filtering of broadcast information
US8977294B2 (en) 2007-10-10 2015-03-10 Apple Inc. Securely locating a device
US8175459B2 (en) 2007-10-12 2012-05-08 Corning Cable Systems Llc Hybrid wireless/wired RoF transponder and hybrid RoF communication system using same
US8862582B2 (en) * 2007-11-15 2014-10-14 At&T Intellectual Property I, L.P. System and method of organizing images
US8902867B2 (en) 2007-11-16 2014-12-02 Qualcomm Incorporated Favoring access points in wireless communications
US9603062B2 (en) 2007-11-16 2017-03-21 Qualcomm Incorporated Classifying access points using pilot identifiers
US8848656B2 (en) 2007-11-16 2014-09-30 Qualcomm Incorporated Utilizing broadcast signals to convey restricted association information
US8737295B2 (en) * 2007-11-16 2014-05-27 Qualcomm Incorporated Sector identification using sector parameters signatures
US8737985B2 (en) * 2007-11-26 2014-05-27 Wavemarket, Inc. Methods and systems for zone creation and adaption
US20100020776A1 (en) * 2007-11-27 2010-01-28 Google Inc. Wireless network-based location approximation
US7991726B2 (en) * 2007-11-30 2011-08-02 Bank Of America Corporation Intrusion detection system alerts mechanism
US20090154605A1 (en) * 2007-12-12 2009-06-18 Motorola, Inc. System and method for performing direct maximum likelihood detection
US8843638B2 (en) 2007-12-13 2014-09-23 Ericsson Evdo Inc. Handing off active connections
US8644844B2 (en) 2007-12-20 2014-02-04 Corning Mobileaccess Ltd. Extending outdoor location based services and applications into enclosed areas
US8326682B2 (en) * 2007-12-31 2012-12-04 United States Cellular Corporation Applications of cluster analysis for cellular operators
US8452529B2 (en) 2008-01-10 2013-05-28 Apple Inc. Adaptive navigation system for estimating travel times
US8130680B1 (en) 2008-01-24 2012-03-06 L-3 Communications, Corp. Method for timing a pulsed communication system
US20090189810A1 (en) * 2008-01-24 2009-07-30 Broadcom Corporation Weighted aiding for positioning systems
US7978610B1 (en) 2008-01-24 2011-07-12 L-3 Communications Corp. Method for asynchronous transmission of communication data between periodically blanked terminals
US8290204B2 (en) * 2008-02-12 2012-10-16 Certusview Technologies, Llc Searchable electronic records of underground facility locate marking operations
US8207964B1 (en) * 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US8068850B1 (en) * 2008-03-04 2011-11-29 The United States Of America As Represented By The Director, National Security Agency Method of locating a transmitter
US20090227254A1 (en) * 2008-03-05 2009-09-10 West Corporation System and method for collecting information relating to a calling instrument
US20090227253A1 (en) * 2008-03-05 2009-09-10 West Corporation System and method for locating a dual-mode calling instrument in a plurality of networks
US8639267B2 (en) * 2008-03-14 2014-01-28 William J. Johnson System and method for location based exchanges of data facilitating distributed locational applications
US8314736B2 (en) * 2008-03-31 2012-11-20 Golba Llc Determining the position of a mobile device using the characteristics of received signals and a reference database
US8344949B2 (en) 2008-03-31 2013-01-01 Golba Llc Wireless positioning approach using time-delay of signals with a known transmission pattern
US8639270B2 (en) * 2010-08-06 2014-01-28 Golba Llc Method and system for device positioning utilizing distributed transceivers with array processing
US7800541B2 (en) 2008-03-31 2010-09-21 Golba Llc Methods and systems for determining the location of an electronic device
US9829560B2 (en) 2008-03-31 2017-11-28 Golba Llc Determining the position of a mobile device using the characteristics of received signals and a reference database
EP2269390A4 (en) * 2008-04-07 2012-04-04 Wavemarket Inc D B A Location Labs Location of wireless mobile terminals
US20090258656A1 (en) * 2008-04-13 2009-10-15 Yin Wang Method for Exchanging Location-Relevant Information Using a Mobile Device with an Interactive Map Display
GB2459479B8 (en) * 2008-04-23 2012-08-08 Bigger Than The Wheel Ltd Short range RF monitoring system
US20100049665A1 (en) * 2008-04-25 2010-02-25 Christopher Allan Ralph Basel adaptive segmentation heuristics
EP2272291A4 (en) * 2008-04-29 2014-09-10 Ericsson Telefon Ab L M Radio fingerprinting using e-utran measurements
EP2283386A4 (en) * 2008-05-05 2016-12-07 Exxonmobil Upstream Res Co Systems and methods for connectivity analysis using functional objects
US9250092B2 (en) 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8644843B2 (en) 2008-05-16 2014-02-04 Apple Inc. Location determination
US7941302B2 (en) * 2008-05-30 2011-05-10 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Enhanced channel simulator for efficient antenna evaluation
CN102119397A (en) * 2008-06-09 2011-07-06 佳售乐公司 Systems and methods facilitating mobile retail environments
US8155666B2 (en) 2008-06-16 2012-04-10 Skyhook Wireless, Inc. Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best cellular positioning system solution
KR101410603B1 (en) 2008-06-24 2014-06-20 애플 인크. System and method for supporting multi-user antenna beamforming in a cellular network
US8166159B2 (en) * 2008-06-27 2012-04-24 Samsung Electronics Co., Ltd. Creating dynamic signatures for virtual locations
US9288268B2 (en) 2008-06-30 2016-03-15 The Nielsen Company (Us), Llc Methods and apparatus to monitor shoppers in a retail environment
US8369867B2 (en) 2008-06-30 2013-02-05 Apple Inc. Location sharing
US9183535B2 (en) * 2008-07-30 2015-11-10 Aro, Inc. Social network model for semantic processing
US8588773B2 (en) 2008-08-04 2013-11-19 Qualcomm Incorporated System and method for cell search and selection in a wireless communication system
US8184038B2 (en) * 2008-08-20 2012-05-22 Qualcomm Incorporated Two-way ranging with inter-pulse transmission and reception
US8490205B2 (en) * 2008-08-26 2013-07-16 Pitney Bowes Inc. Method for protecting signatures stored in a database
US8359643B2 (en) 2008-09-18 2013-01-22 Apple Inc. Group formation using anonymous broadcast information
US8271189B2 (en) 2008-09-26 2012-09-18 Qualcomm Incorporated Enhanced database information for urban navigation
KR100975087B1 (en) 2008-10-07 2010-08-11 성균관대학교산학협력단 Method of sensor network localization using radiation pattern reconstruction
US8478228B2 (en) 2008-10-20 2013-07-02 Qualcomm Incorporated Mobile receiver with location services capability
US20100141432A1 (en) * 2008-10-20 2010-06-10 Binay Sugla Correcting and/or improving location information using object location history, topology, and/or other information
US8284652B2 (en) * 2008-10-28 2012-10-09 Qualcomm Incorporated Enhanced forward link transmission
US8923774B2 (en) * 2008-11-04 2014-12-30 Broadcom Corporation Management unit with local agent
US8152633B2 (en) * 2008-11-05 2012-04-10 Aspyr Media, Inc. Providing game content based on wireless signals
US8152635B2 (en) * 2008-11-05 2012-04-10 Aspyr Media, Inc. Providing network and game content based on wireless signals
EP2364568B1 (en) * 2008-11-06 2017-12-20 Wireless Future Technologies Inc. Wireless device location services
EP2364451B1 (en) * 2008-11-13 2013-01-09 Glopos FZC Method and system for refining accuracy of location positioning
US8554247B2 (en) * 2008-11-13 2013-10-08 Glopos Fzc Method and system for refining accuracy of location positioning
US8260320B2 (en) 2008-11-13 2012-09-04 Apple Inc. Location specific content
US20100130230A1 (en) * 2008-11-21 2010-05-27 Qualcomm Incorporated Beacon sectoring for position determination
US8892127B2 (en) * 2008-11-21 2014-11-18 Qualcomm Incorporated Wireless-based positioning adjustments using a motion sensor
US9645225B2 (en) * 2008-11-21 2017-05-09 Qualcomm Incorporated Network-centric determination of node processing delay
US20100135178A1 (en) 2008-11-21 2010-06-03 Qualcomm Incorporated Wireless position determination using adjusted round trip time measurements
US9125153B2 (en) * 2008-11-25 2015-09-01 Qualcomm Incorporated Method and apparatus for two-way ranging
KR101257071B1 (en) * 2008-12-08 2013-04-22 한국전자통신연구원 Position tracking apparatus and method for a low power wpan/wban device
US20100141445A1 (en) * 2008-12-08 2010-06-10 Savi Networks Inc. Multi-Mode Commissioning/Decommissioning of Tags for Managing Assets
US9280778B2 (en) * 2008-12-15 2016-03-08 Qualcomm Incorporated Location logging and location and time based filtering
US20100161727A1 (en) * 2008-12-19 2010-06-24 Cisco Technology, Inc. System and Method for Accelerating a Wide Area Notification
US8041378B2 (en) 2008-12-19 2011-10-18 Cisco Technology, Inc. System and method for providing channel configurations in a communications environment
US8126494B2 (en) * 2008-12-19 2012-02-28 Cisco Technology, Inc. System and method for providing a trunked radio and gateway
US8768344B2 (en) * 2008-12-22 2014-07-01 Qualcomm Incorporated Post-deployment calibration for wireless position determination
US8190194B2 (en) 2008-12-23 2012-05-29 At&T Mobility Ii Llc Femto cell visitation history for location based services
US8750267B2 (en) * 2009-01-05 2014-06-10 Qualcomm Incorporated Detection of falsified wireless access points
US20100174998A1 (en) * 2009-01-06 2010-07-08 Kiha Software I