`Angwin et al.
`
`USOO67.14865B2
`(10) Patent No.:
`US 6,714,865 B2
`(45) Date of Patent:
`Mar. 30, 2004
`
`(54) PROVIDING POSITION INFORMATION TO
`A DEVICE
`
`(75) Inventors: Alastair J. Angwin, Eastleigh (GB);
`Brian Innes, North Baddesley (GB)
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 10/273,274
`(22) Filed:
`Oct. 17, 2002
`(65)
`Prior Publication Data
`US 2003/0120424 A1 Jun. 26, 2003
`Foreign Application Priority Data
`(30)
`Dec. 22, 2001
`(GB) ............................................. O130905
`(51) Int. Cl. .................................................. H04Q 7/20
`(52) U.S. Cl. ....................... 701/213; 455/422; 455/456;
`455/556; 370/312; 370/399; 709/224
`(58) Field of Search ................................. 701/213, 214,
`701/215; 709/224, 225, 242, 220, 228,
`222,328; 455/456, 422, 556, 457, 557;
`370/392,312,399, 401
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6,502,129 B1 * 12/2002 Stewart et al. .............. 709/222
`2002/O143930 A1 10/2002 Babu et al. ................. 709/224
`2002/O164998 A1 11/2002 Younis ....................... 455/456
`2002/0169897 A1 11/2002 Gosalia et al. .............. 709/328
`2003/0046383 A1
`3/2003 Lee et al. ................... 709/224
`
`* cited by examiner
`
`Primary Examiner Thomas G. Black
`ASSistant Examiner Tuan C To
`(74) Attorney, Agent, or Firm Jerry W. Herndon
`(57)
`ABSTRACT
`A System for providing position data in a pre-determined
`format to a device (e.g. a Smartphone, laptop etc.), whereby
`the device is capable of executing an application. The
`System utilizes a plurality of position determination Systems
`(e.g. GPS), which provide position data. The system further
`comprises an application program interface (API), which
`receives a request for position data from the application and
`passes this request to one of a plurality of position adapters.
`Each position adapter receives position data from a respec
`tive position determination System. The System further com
`prises an interface program providing data handling func
`tions. The interface program determines whether the
`received position data is in a pre-determined format pre
`ferred by the application and if it is not, the respective
`position adapter creates position data in a pre-determined
`format.
`
`6,377,990 B1 * 4/2002 Slemmer et al. ............ 709/225
`
`31 Claims, 4 Drawing Sheets
`
`
`
`Application needs to know position
`
`SOC
`
`Request sent to API
`
`505
`
`AP Communicates request to Interface Program
`
`510
`
`Interface Program provides appropriate
`calls to Position Adapter Interface
`
`515
`
`
`
`Position Adapter Interface
`queries Position Adapters
`
`520
`
`Position Adapter receives position information
`from position determination systern
`
`information it
`gorrect format for
`applicatio
`
`
`
`Position Adapter carries out processing to
`convert position information into Correct format
`
`535
`
`Position Adapter sends position information
`in correct format to application
`
`St.0
`
`Page 1 of 11
`
`SAMSUNG EX-1060
`
`
`
`U.S. Patent
`U.S. Patent
`
`Mar. 30, 2004
`Mar. 30, 2004
`
`Sheet 1 of 4
`Sheet 1 of 4
`
`US 6,714,865 B2
`US 6,714,865 B2
`
`100
`100
`
`FIG. 1A
`
`105
`105
`
`\wae
`
`F. G. 1 C
`FIG. 1C
`
`Page 2 of 11
`
`Page 2 of 11
`
`
`
`U.S. Patent
`
`Mar. 30, 2004
`
`Sheet 2 of 4
`
`US 6,714,865 B2
`
`
`
`
`
`
`
`315
`
`305
`
`Application
`
`310 Position determining ?neans
`
`
`
`
`
`300
`
`GPS
`receiver
`
`320 Position determination
`system
`
`
`
`F.G. 3
`
`Page 3 of 11
`
`
`
`U.S. Patent
`
`Mar. 30, 2004
`
`Sheet 3 of 4
`
`US 6,714,865 B2
`
`310s
`
`
`
`Application 305
`
`Application Program Interface (API)
`
`Interface Program
`
`Position Adapter Interface
`
`Position
`Adapter
`
`Position
`Adapter
`
`Position
`Adapter
`
`400
`
`l,05
`
`410
`
`415
`
`Position
`Determination
`System
`# 1 315
`
`Position
`Determination
`System
`# 2 320
`
`Position
`Determination
`System
`ifth
`
`FG. A.
`
`Page 4 of 11
`
`
`
`U.S. Patent
`
`Mar. 30, 2004
`
`Sheet 4 of 4
`
`US 6,714,865 B2
`
`CSTARD
`
`Application needs to know position
`
`500
`
`Request sent to API
`
`505
`
`AP Communicates request to Interface Program
`
`510
`
`interface Program provides appropriate
`calls to Position Adapter interface
`
`N
`
`515
`
`Position Adapter Interface
`queries Position Adapters
`
`520
`
`Position Adapter receives position information
`from position determination system
`
`52
`5
`
`530
`
`Position
`information in
`Correct format for
`application
`
`Yes
`
`Position Adapter carries out processing to
`convert position information into Correct format
`
`Position Adapter sends position infomation
`in correct format to application
`
`
`
`F. G. 5
`
`Page 5 of 11
`
`
`
`1
`PROVIDING POSITION INFORMATION TO
`A DEVICE
`
`US 6,714,865 B2
`
`FIELD OF THE INVENTION
`The present invention relates to telecommunications SyS
`tems and more particularly to providing position information
`to a device.
`
`2
`having to communicate with an external Source. An example
`is a device-based triangulation System, Such as, the Global
`Positioning System (GPS). GPS comprises a multitude of
`satellites orbiting approximately 11,000 miles above the
`earth's Surface, which are used to enable the position of a
`compatible receiver to be located relative to the earth. There
`are eight orbiting Satellites in each of three Sets of orbits
`giving twenty-four Satellites in total. The longitude, latitude
`and altitude of any point close to earth, with respect to the
`centre of the earth, are calculated by determining the propa
`gation time of Signals from at least four of the Satellites to
`the point.
`Referring to FIG. 2, there is shown a partially schematic
`pictorial view of a global positioning System (202). AS
`illustrated, a computer (204) may be located, for example, in
`Greenock, Scotland. Also depicted within the global System
`(202) is a plurality of terrestrial satellites (206). The satellite
`network comprises a plurality of satellites (206) that may be
`implemented utilising Several combinations of Satellite SyS
`tems. For example, the Global Positioning Satellite (GPS)
`system may be utilised. Generally, although GPS is essen
`tially a device-based technique (the device being the GPS
`receiver), to provide more accuracy, a server could also be
`utilised in order to determine position. The details of a global
`positioning system are believed to be within the ambit of
`those having ordinary skill in this art and thus, the details of
`Such a System form no part of this specification.
`Another example of a Stand-alone System is a technology
`that pre-configures a fixed location for a device. An example
`of Such a device is an information point kiosk, which is
`configured on installation with its location.
`An additional System for determining position involves
`asking the user of a device, either for a position or for
`landmarks (e.g. Street names, routes, buildings, etc.). This
`System is clearly not automatic/immediate but in Some
`Situations (where all else fails), by prompting the user for
`input, a position determination System can begin to try and
`determine a position. Another technique, “dead reckoning”
`tracks a user when he/she passes Sensing positions on a
`particular route for a period of time. An estimated position
`can be established by extrapolation, the real position being
`updated and Subsequent estimates improved when the next
`Sensing position is passed.
`NMEA-0183 (National Marine Electronics Association)
`is an interface Standard for transmitting navigation informa
`tion (including GPS). The characters utilised in the standard
`are in ASCII text and the data transmitted between devices
`occurs in a “sentence' format. The Standard allows propri
`etary Sentence formats to be set and therefore, users of
`devices will encounter the problem of having to subscribe to
`proprietary Solutions.
`With the increasing use of mobile devices, the number of
`location based Services is on the increase. Location based
`Services are a set of applications that utilise a geographic
`position associated with a mobile device. Depending on a
`user's geographic position, different location based Services
`are provided to a user.
`Location based Services utilise Stored user profiles. The
`user profiles could be Stored within a home location register
`for a cellular telecommunication System. Stored within each
`user profile is a plurality of Service profiles associated with
`that user, whereby each of the plurality of Service profiles is
`defined for a Zone location. Real-life applications of location
`based Services include Safety purposes, Such as roadside
`assistance; billing purposes, Such as location Sensitive bill
`ing, information purposes, Such as traffic, navigation or
`news information and tracking purposes, Such as fleet man
`agement.
`
`15
`
`35
`
`BACKGROUND OF THE INVENTION
`Position determination systems offer a method of provid
`ing a geographic position relative to other people or objects,
`whether moving or Stationary. The number of these Systems
`is increasing and they fall into two broad categories, namely,
`Stand-alone and remote.
`Remote Systems require an external Source in order to
`determine location. Services include electronic navigational
`fixed beacons, Such as Long Range Electronic Navigation
`(LORAN). The beacons repetitively transmit signals and a
`device determines its own location by determining a beacon
`ID and determining its distance from the beacon.
`Another example of a remote System is network-based
`triangulation. Examples of triangulation techniques include
`25
`a radio cell. Typically, a plurality of cell Stations commu
`nicate via a network and a plurality of devices (personal
`Stations) are free to move amongst radio cells, whereby each
`cell Station has a radio cell. The radio cell defines a territory
`within which a device can communicate with a cell Station
`via a radio link and each of the cells comprises a unique cell
`number. A device will typically have knowledge of a cell
`number but is unlikely to know the longitude and latitude
`data from this information. Therefore, a network server
`typically utilises the cell number information and associates
`the number with a radio cell. The server then associates the
`cell with a geographic position. This technique is relatively
`inaccurate and also performs poorly in built up areas. The
`implementation is typically Server based, otherwise all
`applications running on the devices would need to be able to
`relate a cell number to a position-this would be a proceSS
`ing overhead.
`Another example is a radio cell Segment, whereby a cell
`is broken into Several Segments, e.g. a 90-degree Segment.
`This technique is more accurate than the radio cell and is
`again Server based to be useful, otherwise all applications
`running on devices would need to be able to relate a
`cell/Segment number to a position. A further improvement is
`a radio cell with distance estimation whereby, distance
`estimation occurs by utilising Signal Strength or transmission
`latency. This technique can be combined with the radio cell
`techniques described above, to increase the accuracy of
`results. Typically, Signal Strength can be measured on the
`device itself or via a network base Station. Generally, dis
`tance estimates can only realistically be made in the network
`and therefore, this technique is typically Server based.
`A triangulation technique, Such as Satellite triangulation,
`calculates a device's Spatial relationship to the Satellites, in
`order to determine the position. As shown in FIG. 1A, the
`reading (100) from one satellite will narrow the area to be
`Searched significantly. In FIG. 1B, utilising readings from
`two satellites, narrows the field of search to the area (105)
`where the readings intersect. Finally in FIG. 1C, by utilising
`a third Satellite, a device's position is placed at one point
`(110). Typically, this technique is again server based.
`Stand-alone Systems can provide location information in
`the required format (longitude, latitude and error) without
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 6 of 11
`
`
`
`3
`Currently, prior art Solutions for providing position infor
`mation offer no method of Structuring the various types of
`position information provided by position determination
`Systems. Furthermore, a problem with current position deter
`mination Systems is that they are all Server based. Therefore,
`a client application is unable to access position information
`without accessing an external Server of a proprietary Solu
`tion. Even when using GPS, whereby a position is obtained
`via a GPS receiver on the device, there is no method of
`accessing any proprietary System and furthermore, GPS
`receivers are costly.
`Therefore, there is a need for a user to know his/her
`current position without having to Subscribe to or purchase
`proprietary Solutions. There is a need for a technique
`whereby an application running on a device (Such as a route
`finder application) can determine the device's position by
`using-a familiar co-ordinate System, irrespective of the tech
`nology providing the position information. More
`Specifically, there is a need for a client Side Service that is
`available for applications Such as browser Services.
`
`15
`
`SUMMARY OF THE INVENTION
`According to a first aspect, the present invention provides
`a System (310) for providing position data in a predeter
`mined format to a device (300), in which said device
`comprises means for executing an application (305), for use
`with a plurality of position determination systems (315,
`320), each of said plurality of position determination sys
`tems providing position data, Said System further compris
`ing: means for providing an interface (400) to said
`application, whereby said means for providing an interface
`(400) receives a request for position data from said appli
`cation; one or more means for receiving (415) position data
`from respective position determination Systems, and means
`for providing data handling (405); in which said means for
`providing data handling (405) determines whether said
`received position data is in a pre-determined format; and
`said means for receiving (415), responsive to an unsuccess
`ful determination, createS position data in a pre-determined
`format. Beneficially, the type of device and the type of
`position determination System does not matter. Therefore,
`the present invention allows different position determination
`Systems, which provide varying position information, to
`utilise a Standard architecture.
`In a preferred embodiment, the System further comprises
`means for Supporting the receiving means, whereby the
`application's request for position data is passed via the
`means for Supporting to the means for receiving. Preferably,
`if the received position data is not in a pre-determined
`format, the means for providing an interface provides the
`created position data (which is in a pre-determined format)
`to the application and if the received position data is in a
`pre-determined format, the means for providing an interface
`provides the received position data (which is already in a
`pre-determined format) to the application. More preferably,
`the means for receiving utilises an associated application to
`create position data in a pre-determined format.
`Note, that although each of the plurality of position
`determination Systems provides differing position data, the
`application can beneficially obtain position data from any of
`the Systems. Aptly, at least one of the plurality of position
`determination Systems is a global positioning System; a
`plurality of cell Stations and personal Stations, communicat
`ing over a network, or a pay Service. More aptly, the System
`further comprises means for controlling the plurality of
`position determination Systems, for example, hardware or
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,714,865 B2
`
`4
`Software Security controls preventing other users from gain
`ing access to the position information of the device.
`Preferably, the position data is provided to the application
`with associated values for latitude, longitude and altitude
`and if the user requires it, associated values for accuracy. To
`aid with accuracy, in a preferred embodiment, the plurality
`of position determination Systems comprises an exclusion
`list, whereby the list comprises co-ordinates associated with
`position data. The position data in the list is either inaccurate
`or not relevant. For example, in an exclusion list for the
`United Kingdom, it may not necessary to hold information
`about excluded areas in the United States of America.
`According to a Second aspect, the present invention
`provides a method of providing position data in a pre
`determined format to a device (300), in which said device
`comprises means for executing an application (305), for use
`with a plurality of position determination systems (315,
`320), each of said plurality of position determination sys
`tems providing position data, in a System comprising: means
`for providing an interface (400) to said application, whereby
`said means for providing an interface (400) receives a
`request for position data from Said application; one or more
`means for receiving (415) position data from respective
`position determination Systems, and means for providing
`data handling (405); said method further comprising the
`Steps of determining, by Said means for providing data
`handling (405), whether said received position data is in a
`pre-determined format, and in response to an unsuccessful
`determination, creating, by Said means for receiving (415),
`position data in a pre-determined format.
`According to a third aspect, the present invention pro
`vides a computer program product for providing position
`data in a pre-determined format to a device, in which said
`device comprises means for executing an application (305),
`for use with a plurality of position determination Systems
`(315, 320), each of said plurality of position determination
`Systems providing position data, running in a System, Said
`System comprising means for providing an interface (400) to
`Said application, whereby said means for providing an
`interface (400) receives a request for position data from said
`application; one or more means for receiving (415) position
`data from respective position determination Systems, and
`means for providing data handling (405); said computer
`program product being Stored on a computer readable Stor
`age medium and comprising instructions which when
`executed in Said System, carry out the Steps of determining,
`by said means for providing data handling (405), whether
`Said received position data is in a pre-determined format;
`and in response to an unsuccessful determination, creating,
`by Said means for receiving (415), position data in a pre
`determined format.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention will now be described, by way of
`example only, with reference to preferred embodiments
`thereof, as illustrated in the following drawings:
`FIGS. 1A-1C show the basics of the triangulation tech
`nique;
`FIG. 2 shows a partially schematic pictorial view of a
`global positioning System;
`FIG.3 shows an overview of a client device, according to
`the present invention;
`FIG. 4 shows a detailed overview of a position determin
`ing means, according to the present invention; and
`FIG. 5 is a flow chart showing the operational steps
`involved, according to the present invention.
`
`Page 7 of 11
`
`
`
`US 6,714,865 B2
`
`15
`
`25
`
`35
`
`40
`
`S
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`FIG.3 shows a representation of a device according to the
`present invention. For example, the device (300) is a
`“Smartphone', which is typically a portable phone compris
`ing extra computing functions, Such as, the WireleSS AcceSS
`Protocol (WAP) for accessing the Internet. In FIG. 3, an
`application (305) running on the device (300), such as a
`route finder application, is shown. Preferably, the applica
`tion (305) interacts with position determining means (310)
`of the present invention-this will be described in more
`detail with reference to FIG. 4. Also shown, is a GPS
`receiver (315) (a position determination System), and a
`further position determination system (320) is also shown. It
`should be understood that the present invention allows one
`or more position determination Systems to be utilized. If two
`or more position determination Systems are utilized,
`whereby each System provides differing position data.
`Beneficially, the present invention provides a mechanism to
`Standardize the differing position data.
`An example of a position determination system (320) is a
`pay Service, whereby a user can telephone a third party
`Service (often at a premium rate) and ask for their current
`position. For example, if a user contacts the third party
`Service and gives his/her location (e.g. Hursley Road,
`Winchester), the third party service can provide the user with
`co-ordinates for Hursley Road. An example of an offering
`that takes this service further, is provided by Vizzavi (http://
`www.Vizzavi.co.uk), which identifies a user's position and
`can then provide location based Services to the user's mobile
`phone (e.g. the nearest restaurant or bar to that user). A
`further example of a position determination system (320) is
`a simple radio cell, as described above.
`FIG. 4 shows a detailed overview of position determining
`means (310) of the present invention. Generally, the present
`invention provides an application-level Service for applica
`tions running on a device. Advantageously, by utilising the
`present invention, a device (300) can obtain position
`information, irrespective of the technology or Services pro
`Viding the position information.
`The Application Program Interface (API) (400) provides
`a common interface to the application (305). Preferably, the
`API is developed in application development languages (e.g.
`Java (Java is a trademark of Sun MicroSystems, Inc.))
`supported by the device (300).
`Preferably, to Support the Internet environment, an appro
`priate “control” (whereby a “control” is a means for access
`ing information while also controlling the information that
`will be received) is also provided to allow Internet-based
`Services to take advantage of the position information. For
`example, HTML, XML, or JavaScript (JavaScript is a trade
`mark of Sun MicroSystems, Inc.) and Java classes provided
`by current browser environments can be utilized. Therefore,
`by utilizing HTML etc., a means to access information and
`to Specify how an application can use that information is
`provided.
`Advantageously, by providing position information to
`Internet-based applications via means Such as HTML, tech
`nologies such as Wireless Application Protocol (WAP) or
`NTT DoCoMo's “i-Mode” (i-mode is a registered trademark
`of NTT DoCoMo)-a successful wireless service offering
`Internet facilities via a mobile phone-are able to use a
`consistent mechanism. In an Internet environment,
`preferably, the API (400) is accessible to a “Script based”
`application running in a browser. Preferably, the API is
`available directly by an application via a call etc. For
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`example, one possible implementation utilises an “XML
`application, which Supports variables, together with an
`HTTP URL to obtain the location function. For example, the
`address “location:/CurrentPosition” (analogous to http://
`www.ibm.com in a browser environment, for example)
`would utilise HTTP to resolve the data associated with
`“CurrentPosition”. Once resolved, data (e.g. position infor
`mation in latitude and longitude co-ordinates, accuracy etc.)
`is passed back (analogous to passing back the HTML page
`for www.ibm.com in a browser environment, for example).
`In FIG. 4, an interface program (405) is also shown. The
`function of the interface program (405) is to provide the data
`handling features of the API interface, whereby data is being
`passed between the application (305) and the position adapt
`ers (415). Preferably, the interface program (405) carries out
`functions Such as applying position determining Selection
`rules, based on cost; accuracy; availability, etc. Additionally,
`the interface program (405) preferably verifies data from the
`position determination systems (320), for example, by
`checking whether the data is parameterised correctly.
`The interface program (405) also preferably provides the
`appropriate calls to the position adapter interface (410) for
`the incoming position requests from the application (305).
`Additionally, the interface program (405) preferably inter
`rogates the position adapters (415), to obtain data regarding
`the level of accuracy required, associated costs etc. The
`interface program (405) can then utilise this data to deter
`mine the most appropriate Service to be provided to the
`application (305), via the position adapter interface (410).
`The interface program (405) also provides a set-up interface
`for decision logic. Preferably, this function is implemented
`through either the API (400) or through some other man
`agement interface (not shown in FIG. 4).
`Referring to FIG. 4, there is also shown a position adapter
`interface (410), according to the present invention, which
`provides a “plug-in' mechanism for a position adapter
`(415). That is, a common interface is provided for a variety
`of position adapters, So that the present invention can
`Support position information from a variety of Sources.
`The function of a position adapter (415) is to receive
`incoming position information from the position determina
`tion systems (315, 320) and convert the information into a
`Standard format. This Standardised position information is
`then provided to the position adapter interface (410). For
`example, in the case where the device (300) comprises a
`GPS receiver (315) (position determination system #1 in
`FIG. 4), the incoming position information will be in a
`format which is close to that of the preferred embodiment of
`the present invention, namely, “MyCurrentPosition( )”.
`Therefore, the position adapter (415) does not have to carry
`out much processing to Standardise the GPS position infor
`mation. However, if the GPS position information does not
`comprise optional parameters required by an application
`(305), Such as an accuracy indication, the position adapter
`(415) will preferably carry out some processing to obtain
`this. For example, if the GPS receiver (315) is utilising a
`network server, the position adapter (415) will preferably
`query this network Server to find data associated with the
`accuracy indication. In this case, one example of a position
`adapter (415) is a serial port driver with an associated
`application to reformat and translate the position informa
`tion.
`In the case where the device (300) utilises a different
`position determination system (320) (#2 in FIG. 4), the
`associated position adapter (415) may have to carry out
`more processing. If the position determination system (320)
`
`Page 8 of 11
`
`
`
`US 6,714,865 B2
`
`15
`
`25
`
`35
`
`40
`
`7
`is a pay Service, the position adapter (415) will carry out
`Some processing to find the appropriate trusted network
`Server of the third party and request the device's current
`position information from the server. Once the information
`is received, the position adapter (415) can utilise an asso
`ciated application to Standardise this received information,
`so that the application (305) can use it.
`In the case where the device (300) utilises a simple
`position determination System (in in FIG. 4), Such as a radio
`cell, the position adapter (415) will have to carry out much
`more processing in order to obtain position information of a
`Standardised format. For example, the position adapter (415)
`may even have to utilise remote Services. In this case, the
`position adapter (415) may obtain position information by
`retrieving cell information and a list of base Stations that can
`be heard. Next the position adapter (415) retrieves associ
`ated Signal strengths. The position adapter (415) then pref
`erably sends all the data via an available communication
`means, for example, via the WAP protocol, to a server. The
`Server then does Some processing to determine position
`information, as described before, with reference to radio
`cells. Finally, as described above, the position adapter (415)
`can utilise an associated application to Standardise this
`received information, so that the application (305) can use it.
`Preferably, the API (400) will provide an application
`(305) with a position, in terms of latitude and longitude
`co-ordinates and also a distance, in terms of an estimate of
`error offset. This is calculated by combining information
`from all position determination systems (320), such as GPS,
`that Supply position information of a device. For example,
`where a reading “A” and a reading “B” from two different
`position determination systems (320) is available, by com
`bining the readings “A” and “B”, a more accurate position
`“C” with a smaller error is deduced.
`In a preferred implementation, the position information is
`sent to the user as “MyCurrentPosition()", with parameters
`of longitude, latitude and distance as comma Separated
`values. Preferably, because different position determination
`Systems provide varying levels of accuracy, an indication of
`accuracy (optional parameter) is provided with the position
`information-e.g. low, medium, high, best effort etc. If a
`user is utilising a position determination System (320) that is
`a pay Service, then the level of accuracy provided by the
`third party can be made to depend on the amount of money
`a user is willing to pay. For example, at a lower cost, low
`accuracy could be provided and if a user requires a precise
`location and therefore a high degree of accuracy, this can be
`provided, but at a higher cost.
`Referring to FIG. 5, a flow chart describing the opera
`tional Steps involved in the present invention is described.
`Firstly, an application (305), such as a route finder
`application, requests (step 500) a position. This request (in
`the format of a message for example) is then passed to the
`position determining means (310). More specifically, the
`request is sent (step 505) to the API (400). The request is
`then passed via the interface program (405) at step 510, to
`the position adapter interface (410) at step 515. The position
`adapter interface (410) is responsible for querying (step 520)
`the position adapters (415) for a position of the device (300).
`The position adapters (415) receive (step 525) position
`information from position determination systems (320),
`such as a GPS receiver (315).
`Preferably, the incoming position information is verified
`(step 530) to check whether it is in the correct format for the
`application (305). In the preferred embodiment, the interface
`program (405) is responsible for this verification step. If it
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`is determined that the incoming information is in the correct
`format for the application (305) (positive result at step 530),
`then the information is sent (step 540) to the application
`(305) to utilise. If it is determined that the incoming infor
`mation is not in the correct format for the application (305)
`(negative result at Step 530), because it is lacking an
`accuracy indication for example, then the relevant position
`adapter (415) carries out some processing (step 535). For
`example, the position adapter (415) may have to standardise
`the incoming information or provide any extra parameters
`required (Such as the accuracy). Once the information is in
`the correct format, the information is sent (step 540) to the
`application (305) to utilise.
`It should be understood that the position determination
`Systems vary immensely. Some examples are: a GPS
`receiver through a Serial port, cell information on the device
`itself; an application utilising complex operations involving
`network requests, or a combination of local information (on
`the device) and network based requests. Preferably, the
`Internet is the primary delivery channel for these position
`determination Systems. Preferably, the position determina
`tion Systems provide position information in the form of
`latitude and longitude co-ordinates.
`It should be understood that in Some areas, a specific
`position determination System may not be able to provide
`accurate readings, however it may still provide readings. For
`example, in