WO2005085894A1 - Layered host based satellite positioning system and method - Google Patents

Layered host based satellite positioning system and method Download PDF

Info

Publication number
WO2005085894A1
WO2005085894A1 PCT/US2004/003534 US2004003534W WO2005085894A1 WO 2005085894 A1 WO2005085894 A1 WO 2005085894A1 US 2004003534 W US2004003534 W US 2004003534W WO 2005085894 A1 WO2005085894 A1 WO 2005085894A1
Authority
WO
WIPO (PCT)
Prior art keywords
location data
tracker
interface
formatted
data
Prior art date
Application number
PCT/US2004/003534
Other languages
French (fr)
Inventor
Clifford Yamamoto
Sebastian Nonis
Ashutosh Pande
Nikola Bulatovic
Stefan Witanis
Original Assignee
Sirf Technology, Inc.
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
Application filed by Sirf Technology, Inc. filed Critical Sirf Technology, Inc.
Priority to PCT/US2004/003534 priority Critical patent/WO2005085894A1/en
Priority to EP04709082A priority patent/EP1718986A1/en
Publication of WO2005085894A1 publication Critical patent/WO2005085894A1/en

Links

Classifications

    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/09Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing processing capability normally carried out by the receiver
    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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
    • G01S5/0036Transmission from mobile station to base station of measured values, i.e. measurement on mobile and position calculation on base station

Definitions

  • This invention relates to global positioning systems.
  • this invention relates to global positioning systems implemented using the processing power of a host in layered communication with tracker hardware.
  • SPS satellite positioning systems
  • GPS Global Positioning System
  • PDAs Personal Digital Assistants
  • GPS solutions are often developed or customized for specific devices and applications. Such customization increases the complexity of implementing GPS systems on numerous platforms and operating systems. Further, known GPS systems are often not able to take advantage of changes in software and hardware without changing a large portion of the software in a GPS device. The customized or specific device design approach also limits the ability to create application program interfaces that can be marketed and delivered separate from the GPS hardware.
  • the SPS is a GPS solution implemented in a layered form that is flexible and extensible, and that can adapted to meet he needs of many different platforms.
  • a wide variety of electronic devices may incorporate GPS functionality with less expense using less development time.
  • a host based positioning system includes host computer system that connects through a tracker hardware interface to a dedicated hardware space vehicle tracker.
  • the host processing system also uses a layered approach having a user application layer, communication processing layer, client-server interface processing layer, user manager and protocol layer, navigation processing layer, and tracker interface layer.
  • a processor in the host processing system runs the positioning engine and the functions provided by the different layers.
  • the tracker hardware interface receives positioning information from the space vehicle tracker (tracker hardware). Through functions in the tracker interface, "the location data is communicated to the host computer.
  • Figure 1 is a diagram of an exemplar positioning systems implemented as a layered host computer based GPS solution having tracker hardware in communication with a host.
  • Figure 2 is a block diagram of the exemplar position system of figure 1.
  • Figure 3 illustrates the tracker hardware of Figure 2.
  • Figure 4 depicts a host-based navigation module located in the host computer of figure 2 in communication with a plurality of user applications.
  • Figure 5 is a graphical representation of an application program interface between a user application located on the host computer and the tracker hardware of figure 2.
  • Figure 6 is graphical representation of the different layers involved with a user application on the host computer communicating with tracker hardware of figure 5.
  • Figure 7 is a block diagram of a data forwarder in the client server interface- processing layer of figure 6.
  • Figure 8 is a flowchart of the process for the user application 218 to communicate with the tracker hardware 102 of Figure 6.
  • FIG 1 a diagram of an exemplar positioning systems 100 implemented as a layered host based satellite positioning system with a GPS solution having tracker hardware 102 in communication with a host computer 104 is shown.
  • the tracker hardware 102 is connected to a GPS antenna 106 capable of receiving multiple GPS signals 108 from a plurality of satellites.
  • the tracker hardware 102 is also depicted as being connected to a DC power supply 110.
  • the tracker hardware 102 communicates with the host computer 104 over a hardware tracker interface link 112.
  • Examples of the hardware tracker interface link 112 includes, " but are not limited to; a serial connection (including a universal serial bus (USB), a small conrputer serial interface (SCSI)), a parallel connection, and a wireless connection (including RF connections and infrared connections).
  • a serial connection including a universal serial bus (USB), a small conrputer serial interface (SCSI)
  • SCSI small conrputer serial interface
  • parallel connection including a parallel connection
  • a wireless connection including RF connections and infrared connections.
  • the tracker hardware 102 may be receive power from the DC power supply 110 that is separate from the power supply of the host computer 104, or in an alternate embodiment may receive power from the host computer 104 via the hardware tracker interface link 11 .2. Further, the GPS antenna 106 may be separate from the tracker hardware 102 or integrated- within the same housing as the tracker hardware 102.
  • the computer host 104 includes a central processing unit (CPU) 202, a hardware tracker interface link 112, and a memory 208.
  • the CPU 202 is a controller and may be implemented as a microprocessor, embedded controller, application specific integrated circuit (-ASIC), discrete logic circuits acting as a controller, analog circuits acting as a controller, and a combination of discrete logic and analog circuits.
  • the host computer 104 also includes a secondary storage device 210, and a display 212, and an input interface 214 (e.g., a mouse, keyboard, and the like).
  • An operating system 216 e.g., Windows CE, Palm OS, UNIX, QNX, or the like
  • a plurality of user applications 218 communicates with a positioning library 220 and he operating system 216.
  • One of the user applications 218 may receive position information from the position ng library, and may also communicate commands to the positioning library.
  • the user application 218 may be virtually any program that uses positioning information, including, as examples, a mapping program, course charter, location aid, and the like.
  • the host computer 104 connects through the hardware tracker interface 214 and the interface connection 112 to the tracker hardware 102.
  • the hardware tracker interface 214 may be virtually any type of data transfer interface (as examples, a serial, parallel, PCMCIA card, USB, PC Card, or network interface).
  • the hardware track: er interface 214 is an RS232 port running at 38,400 bps, N-8-1 that communicates up to 2KB of data per second between the tracker hardware 102 and the computer host 104.
  • the tracker hardware (as illustrated by the reference numeral 222) is more closely incorporated into the host computer 104. Trrus, rather than connecting to the computer host 104 through the interface connection link 112, for example, the tracker hardware 222 may be directly coupled to the host computer 104 adclress, data, and control buses 224. As will be explained in more detail below, the host computer 104 receives and processes navigation information from the hardware tracker 102, or in an alternate embodiment 222 in order to provide the plurality of user applications 218 with position information.
  • the tracker hardware 102 of Figure 2 acquires and tracks GPS satellites and sends raw measurement data to the host computer 104 for position calculation.
  • the tracker hardware 102 includes an antenna 106 for receiving GPS satellite signals 108 that are filtered by a radio frequency (RF) filter 304 for passing the signals to the RF interface circuit 302.
  • the RF interface circuit 302 processes the signals, produces 2-bit Inphase and Quadrature (I/Q) signals and recovers GPS clocks.
  • the RF interface circuit 302 provides the I/Q signals and GPS clocks to the location processing circuit 306 for digital processing.
  • a reference frequency source 308 (e.g., a crystal oscillator) provides a reference clock for the RF interface circuit 302, while the real time clock (RTC) source 310 provides a reference clock for the location processing circuit 306.
  • the tracker hardware 102 may be implemented with components available from SiRF Technology, Inc. of San Jose California.
  • the RF interface circuit 302 may be implemented as a GRF2i/LP integrated circuit.
  • the location processing circuit may be implemented, as examples, as a GSP2t integrated circuit or GSP2e integrated circuit.
  • the tracker hardware 102 minimizes the overhead on the host computer 104 and operating system 216 by keeping low the maximum transmission rate of raw measurements to the host computer 104 (e.g., one measurement per second).
  • a host-based navigation module 400 located in the host computer 104 of figure 2 in communication with a plurality of user applications 218 is shown.
  • the host based navigation module 400 may be located in memory 208.
  • the host-based navigation module 400 is generally composed of two sub-modules. The first is the tracker interface module 404 and second is the host navigation processing sub-module 406.
  • the tracker interface sub-modules 404 communicate with the tracker hardware 102 via the hardware tracker interface (214 figure 2) and the host navigation processing sub-module 406.
  • the tracker interface sub-module sends and receives messages over the serial interface with the tracker module 102. Examples of the messages include a predefined initialization message, status message and location data message.
  • the location data received from the tracker hardware 102 by the tracker interface module 404 is made available to the host navigation processing module 406 in predefined data structures. Such data structures may contain fields for latitude, longitudes, and time and take the form of a predefined array of data.
  • Each of the plurality of user applications may expect data in one of a plurality of location data standards.
  • location or position standards include, but are not limited to; different versions of NEMA183 location data and binary location data.
  • Each of the user applications 218 may require a different format for location data.
  • the host navigation processor sub module 406 receives location data via a data structure from the tracker interface module 404 and formats the data for the user applications 218.
  • the host navigation process sub module 406 also manages communication with the user applications 218 with assistance from the operating system.
  • An example of such communication is pipes in an UNIX operating system.
  • FIG. 5 a graphical representation 500 of an application program interface (API) layer 502 between user applications 218 located on the host computer 104 and the tracker hardware 102 of figure 2.
  • the API layer 502 is a plurality of predefined functions calls that are available for use by user applications to access software functions in the host navigation processing sub module 406.
  • the API allows a common interface for user application developers while keeping the implementation details of the host-based navigation module 400 separate from the user applications 218 and common across operating systems.
  • An example of API functions calls include, but are not limited to; status, location update and initialization.
  • the host navigation sub-module 406 communications with the tracker interface sub module 404 in order to receive location data from the tracker hardware 102.
  • FIG 6 a graphical representation 600 of the different layers involved with user applications 218 on the host computer 104 communicating with tracker hardware 102 of figure 5.
  • the communication between user applications 218 and the tracker 102 is divided into six layers; user application layer 602, communication interface processing layer 604, client-server interface processing layer 606, user manager and protocol processing layer 608, navigation processing layer 610, and tracker interface layer 612.
  • User applications 218 in the user application layer 602 communicate with a communication interface 614 via an API.
  • the communication interface 614 notifies the host navigation sub module 406 in the navigation processing layer 610 and the user interface manager 618 in the user manager and protocol processing 608.
  • the host navigation processing sub-module 406 then provides the appropriate location data for the user application 218 to the user interface manager 618.
  • the user interface manager 618 communicates with the communication interface 614 in order to forward the appropriate location data to a required data forwarder 620.
  • the data forwarder 620 formats the location data for one of the respective user applications 218.
  • the formatted location data is then sent to the user application that requires the location data.
  • the ability to have numerous user applications 218 accessing tracker hardware 102 is accomplished through a layered approach. Further, the communication manager 614 in conjunction with the host navigation processor sub module 406 and the user interface manager 618 enable multiple user application 218 to have diverse location data formats while still sharing common resources and software code.
  • FIG 7 a block diagram of a data forwarder 620 in the client server interface-processing layer 606 of figure 6 is shown.
  • the data forwarder 620 may be implemented as an data forwarder object 700 in a high level computer software language, such as "C++" or Smalltalk.
  • the data forwarder object is able to communicate with the user interface manager 618.
  • the location data from the user interface manager 618 results in the polymorphism of the data forwarder object 700 for the different types of location data output, such as for binary data 702 and binary data 704 or for NEMA control 706 and NEMA data 708.
  • different instances of data forwarders may be dedicated to specific types of location data formatting.
  • step 800 a flowchart 800 of the process for the user application 218 to communicate with the tracker hardware 102 of Figure 6 is illustrated.
  • the process starts 802 with the initialization of the host computer 104 in step 804.
  • step 806 a determination is made as to whether a request from the user application 218 is received at the communication interface 614. If a request is received in step 806, then in step 808 the communication interface 614 notifies the host navigation processor 406 and the user interface 618. Otherwise, step 806 is repeated until a request from a user application 218 is received.
  • the user interface manager receives the location data from the tracker hardware 102 via the tracker interface sub module 404 and the host navigation processor sub module 406.
  • the data forwarder 620 is configured in response to data from the user interface manager 618.
  • the data may be in the form of location data, or in an alternate embodiment in the form of an instruction. In yet another embodiment the data may be a combination of location data and an instruction.
  • the data forwarder 620 formats the location data for transmission to the user application 218 in step 814.
  • the procedure of sending data between the tracker hardware 802 and user application 218 via the multiple layers of processing is complete in step 816 when the data arrives at the user application 218.
  • An embodiment of the process steps employs at least one machine-readable signal bearing medium.
  • machine-readable signal bearing mediums include computer-readable mediums such as a magnetic storage medium (i.e. floppy disks, or optical storage such as compact disk (CD) or digital video disk (DVD)), a biological storage medium, or an atomic storage medium, a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having appropriate logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), a random access memory device (RAM), read only memory device (ROM), electronic programmable random access memory (EPROM), or equivalent.
  • the computer-readable medium could even be paper or anotlier suitable medium, upon which the computer instruction is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
  • machine-readable signal bearing medium includes computer-readable signal bearing mediums.
  • Computer-readable signal bearing mediums have a modulated carrier signal transmitted over one or more wire based, wireless or fiber optic networks or within a system.
  • one or more wire based, wireless or fiber optic network such as the telephone network, a local area network, the Internet, or a wireless network having a component of a computer-readable signal residing or passing through the network.
  • the computer readable signal is a representation of one or more machine instructions written in or implemented with any number of programming languages.
  • the multiple process steps implemented with a programming language which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any machine-readable signal bearing medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, controller-containing system having a processor, microprocessor, digital signal processor, discrete logic circuit functioning as a controller, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.

Abstract

Methods and systems consistent with the present invention provide a host (104) based positioning system. The host based positioning system includes a tracker hardware interface (214) that connects to a dedicated hardware space vehicle tracker (102). The tracker hardware interface receives positioning information from the space vehicle tracker. The host based positioning system includes a layered approach (400) to enable user applications (218) on a host computer (104) to access data from tracker hardware (222).

Description

LAYERED HOST BASED SATELLITE POSITIONING SYSTEM AND METHOD
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] This invention relates to global positioning systems. In particular, this invention relates to global positioning systems implemented using the processing power of a host in layered communication with tracker hardware.
[0003] 2. Related Art
[0004] Worldwide use of satellite positioning systems (SPS), such as the Global Positioning System (GPS) is growing at a rapid pace. Current trends are calling for the incorporation of GP S services into a broad range of electronic devices and systems, including Personal Digital Assistants (PDAs), cellular telephones, portable computers, automobiles, and the like. At tb e same time, manufacturers constantly strive to reduce costs, simply designs and produce the most cost-attractive product possible for consumers.
[0005] In the past, providing a GPS solution, such as handheld GPS devices, often required expensive dedicated GPS signal reception and processing hardware, as well as dedicated post processing hardware for resolving location measurements, displaying location coordinates, updating map displays, and the like. However, given the rapid growth in speed, sophistication, and processing power of the host microprocessors present the host computer devices (e.g., in a cell phone, personal digital assistant or automobile), the possibility exists for allowing the host computer to bear the burden not only of running its regular applications, but also to operate as part of the GPS solution. Such an approach is presented in U.S. Pat. No. 6,430,503, titled "Distributed GPS Navigation System", the entirety of which is incorporated herein by reference in its entirety.
[0006] Currently, however, there is a strong push toward incorporating GPS solutions in many electronic devices designed by numerous manufacturers. Of course, each device varies considerably in architecture, operating system, hardware interfaces, and the like. Prior GPS solutions did not provide the flexibility that allowed the solutions to be adapted to a wide range of electronic devices. Instead, expensive customized solutions were needed for each device, thereby undesirably increasing costs and delaying the introduction of GPS services into a wide range of devices. The prior GPS host solutions also rely on interrupts to the host computer in order to service a GPS function. The use of interrupts adversely impacts the performance of the host computer.
[0007] Known GPS solutions are often developed or customized for specific devices and applications. Such customization increases the complexity of implementing GPS systems on numerous platforms and operating systems. Further, known GPS systems are often not able to take advantage of changes in software and hardware without changing a large portion of the software in a GPS device. The customized or specific device design approach also limits the ability to create application program interfaces that can be marketed and delivered separate from the GPS hardware.
[0008] Therefore, a need exists for implementations of GPS solutions that overcome the problems noted above and others previously experienced. SUMMARY
[0009] Methods and systems consistent with the present invention provide a layered host based SPS solution. The SPS is a GPS solution implemented in a layered form that is flexible and extensible, and that can adapted to meet he needs of many different platforms. As a result, a wide variety of electronic devices may incorporate GPS functionality with less expense using less development time.
[0010] In one implementation, a host based positioning system includes host computer system that connects through a tracker hardware interface to a dedicated hardware space vehicle tracker. The host processing system also uses a layered approach having a user application layer, communication processing layer, client-server interface processing layer, user manager and protocol layer, navigation processing layer, and tracker interface layer. A processor in the host processing system runs the positioning engine and the functions provided by the different layers.
[0011] The tracker hardware interface receives positioning information from the space vehicle tracker (tracker hardware). Through functions in the tracker interface, "the location data is communicated to the host computer.
[0012] Other apparatus, methods, features and advantages of the present indention will be or will become apparent to one with skill in the art upon examination of the follo ving figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims. BRIEF DESCRIPTION OF THE FIGURES
[0013] The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
[0014] Figure 1 is a diagram of an exemplar positioning systems implemented as a layered host computer based GPS solution having tracker hardware in communication with a host.
[0015] Figure 2 is a block diagram of the exemplar position system of figure 1.
[0016] Figure 3 illustrates the tracker hardware of Figure 2.
[0017] Figure 4 depicts a host-based navigation module located in the host computer of figure 2 in communication with a plurality of user applications.
[0018] Figure 5 is a graphical representation of an application program interface between a user application located on the host computer and the tracker hardware of figure 2.
[0019] Figure 6 is graphical representation of the different layers involved with a user application on the host computer communicating with tracker hardware of figure 5.
[0020] Figure 7 is a block diagram of a data forwarder in the client server interface- processing layer of figure 6.
[0021] Figure 8 is a flowchart of the process for the user application 218 to communicate with the tracker hardware 102 of Figure 6. DETAILED DESCRIPTION
[0022] The invention may be better understood with reference to the following fijgures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principals of the invention. Moreover, in the figures, like reference numerals designate corresponding parts throughout the different views.
[0023] In figure 1, a diagram of an exemplar positioning systems 100 implemented as a layered host based satellite positioning system with a GPS solution having tracker hardware 102 in communication with a host computer 104 is shown. The tracker hardware 102 is connected to a GPS antenna 106 capable of receiving multiple GPS signals 108 from a plurality of satellites. The tracker hardware 102 is also depicted as being connected to a DC power supply 110. The tracker hardware 102 communicates with the host computer 104 over a hardware tracker interface link 112. Examples of the hardware tracker interface link 112 includes, "but are not limited to; a serial connection (including a universal serial bus (USB), a small conrputer serial interface (SCSI)), a parallel connection, and a wireless connection (including RF connections and infrared connections).
[0024] The tracker hardware 102 may be receive power from the DC power supply 110 that is separate from the power supply of the host computer 104, or in an alternate embodiment may receive power from the host computer 104 via the hardware tracker interface link 11 .2. Further, the GPS antenna 106 may be separate from the tracker hardware 102 or integrated- within the same housing as the tracker hardware 102.
[0025] Turning to Figure 2, a block diagram of the exemplar position system of figure 1 is shown. The computer host 104 includes a central processing unit (CPU) 202, a hardware tracker interface link 112, and a memory 208. The CPU 202 is a controller and may be implemented as a microprocessor, embedded controller, application specific integrated circuit (-ASIC), discrete logic circuits acting as a controller, analog circuits acting as a controller, and a combination of discrete logic and analog circuits. The host computer 104 also includes a secondary storage device 210, and a display 212, and an input interface 214 (e.g., a mouse, keyboard, and the like).
[0026] An operating system 216 (e.g., Windows CE, Palm OS, UNIX, QNX, or the like) is a plurality of instructions that reside and are executed from memory 208. A plurality of user applications 218 communicates with a positioning library 220 and he operating system 216. One of the user applications 218 may receive position information from the position ng library, and may also communicate commands to the positioning library. The user application 218 may be virtually any program that uses positioning information, including, as examples, a mapping program, course charter, location aid, and the like.
[0027] The host computer 104 connects through the hardware tracker interface 214 and the interface connection 112 to the tracker hardware 102. The hardware tracker interface 214 may be virtually any type of data transfer interface (as examples, a serial, parallel, PCMCIA card, USB, PC Card, or network interface). In one implementation, the hardware track: er interface 214 is an RS232 port running at 38,400 bps, N-8-1 that communicates up to 2KB of data per second between the tracker hardware 102 and the computer host 104.
[0028] In other implementations, the tracker hardware (as illustrated by the reference numeral 222) is more closely incorporated into the host computer 104. Trrus, rather than connecting to the computer host 104 through the interface connection link 112, For example, the tracker hardware 222 may be directly coupled to the host computer 104 adclress, data, and control buses 224. As will be explained in more detail below, the host computer 104 receives and processes navigation information from the hardware tracker 102, or in an alternate embodiment 222 in order to provide the plurality of user applications 218 with position information.
[0029] Although aspects of the present invention are depicted as being stored in memory 208, one skilled in the art will appreciate that all or part of systems and methods consistent with the present invention may be stored on or read from other machine-readable media, for example, secondary storage devices such as hard disks, floppy disks, and CD-ROMs; a signal received from a network; or other forms of ROM or RAM either currently known or later developed. Further, although specific components of positioning system 100 are described, one skilled in the art will appreciate that a positioning system suitable for use with methods, systems, and articles of manufacture consistent with the present invention may contain additional or different components.
[0030] In Figure 3, the tracker hardware 102 of Figure 2 is illustrated. The tracker hardware 102 acquires and tracks GPS satellites and sends raw measurement data to the host computer 104 for position calculation. To that end, the tracker hardware 102 includes an antenna 106 for receiving GPS satellite signals 108 that are filtered by a radio frequency (RF) filter 304 for passing the signals to the RF interface circuit 302. The RF interface circuit 302 processes the signals, produces 2-bit Inphase and Quadrature (I/Q) signals and recovers GPS clocks. The RF interface circuit 302 provides the I/Q signals and GPS clocks to the location processing circuit 306 for digital processing. A reference frequency source 308 (e.g., a crystal oscillator) provides a reference clock for the RF interface circuit 302, while the real time clock (RTC) source 310 provides a reference clock for the location processing circuit 306. [0031] The tracker hardware 102 may be implemented with components available from SiRF Technology, Inc. of San Jose California. For example, the RF interface circuit 302 may be implemented as a GRF2i/LP integrated circuit. The location processing circuit may be implemented, as examples, as a GSP2t integrated circuit or GSP2e integrated circuit. The tracker hardware 102 minimizes the overhead on the host computer 104 and operating system 216 by keeping low the maximum transmission rate of raw measurements to the host computer 104 (e.g., one measurement per second).
[0032] In Figure 4, a host-based navigation module 400 located in the host computer 104 of figure 2 in communication with a plurality of user applications 218 is shown. The host based navigation module 400 may be located in memory 208. The host-based navigation module 400 is generally composed of two sub-modules. The first is the tracker interface module 404 and second is the host navigation processing sub-module 406.
[0033] The tracker interface sub-modules 404 communicate with the tracker hardware 102 via the hardware tracker interface (214 figure 2) and the host navigation processing sub-module 406. The tracker interface sub-module sends and receives messages over the serial interface with the tracker module 102. Examples of the messages include a predefined initialization message, status message and location data message. The location data received from the tracker hardware 102 by the tracker interface module 404 is made available to the host navigation processing module 406 in predefined data structures. Such data structures may contain fields for latitude, longitudes, and time and take the form of a predefined array of data.
[0034] Each of the plurality of user applications may expect data in one of a plurality of location data standards. Such location or position standards include, but are not limited to; different versions of NEMA183 location data and binary location data. Each of the user applications 218 may require a different format for location data. The host navigation processor sub module 406 receives location data via a data structure from the tracker interface module 404 and formats the data for the user applications 218. The host navigation process sub module 406 also manages communication with the user applications 218 with assistance from the operating system. An example of such communication is pipes in an UNIX operating system.
[0035] Turning to FIG. 5, a graphical representation 500 of an application program interface (API) layer 502 between user applications 218 located on the host computer 104 and the tracker hardware 102 of figure 2. The API layer 502 is a plurality of predefined functions calls that are available for use by user applications to access software functions in the host navigation processing sub module 406. The API allows a common interface for user application developers while keeping the implementation details of the host-based navigation module 400 separate from the user applications 218 and common across operating systems. An example of API functions calls include, but are not limited to; status, location update and initialization. As described, in figure 4, the host navigation sub-module 406 communications with the tracker interface sub module 404 in order to receive location data from the tracker hardware 102.
[0036] In figure 6, a graphical representation 600 of the different layers involved with user applications 218 on the host computer 104 communicating with tracker hardware 102 of figure 5. The communication between user applications 218 and the tracker 102 is divided into six layers; user application layer 602, communication interface processing layer 604, client-server interface processing layer 606, user manager and protocol processing layer 608, navigation processing layer 610, and tracker interface layer 612.
[0037] User applications 218 in the user application layer 602 communicate with a communication interface 614 via an API. In response to initiation of each of the user applications 218, the communication interface 614 notifies the host navigation sub module 406 in the navigation processing layer 610 and the user interface manager 618 in the user manager and protocol processing 608. The host navigation processing sub-module 406 then provides the appropriate location data for the user application 218 to the user interface manager 618. The user interface manager 618 communicates with the communication interface 614 in order to forward the appropriate location data to a required data forwarder 620. The data forwarder 620 formats the location data for one of the respective user applications 218. The formatted location data is then sent to the user application that requires the location data.
[0038] Thus, the ability to have numerous user applications 218 accessing tracker hardware 102 is accomplished through a layered approach. Further, the communication manager 614 in conjunction with the host navigation processor sub module 406 and the user interface manager 618 enable multiple user application 218 to have diverse location data formats while still sharing common resources and software code.
[0039] Turning to figure 7, a block diagram of a data forwarder 620 in the client server interface-processing layer 606 of figure 6 is shown. The data forwarder 620 may be implemented as an data forwarder object 700 in a high level computer software language, such as "C++" or Smalltalk. The data forwarder object is able to communicate with the user interface manager 618. The location data from the user interface manager 618 results in the polymorphism of the data forwarder object 700 for the different types of location data output, such as for binary data 702 and binary data 704 or for NEMA control 706 and NEMA data 708. In an alternate embodiment, different instances of data forwarders may be dedicated to specific types of location data formatting. [O040] In figure 8, a flowchart 800 of the process for the user application 218 to communicate with the tracker hardware 102 of Figure 6 is illustrated. The process starts 802 with the initialization of the host computer 104 in step 804. In step 806, a determination is made as to whether a request from the user application 218 is received at the communication interface 614. If a request is received in step 806, then in step 808 the communication interface 614 notifies the host navigation processor 406 and the user interface 618. Otherwise, step 806 is repeated until a request from a user application 218 is received.
[O041] The user interface manager, in step 810, receives the location data from the tracker hardware 102 via the tracker interface sub module 404 and the host navigation processor sub module 406. In step 812, the data forwarder 620 is configured in response to data from the user interface manager 618. The data may be in the form of location data, or in an alternate embodiment in the form of an instruction. In yet another embodiment the data may be a combination of location data and an instruction.
[O042] The data forwarder 620 formats the location data for transmission to the user application 218 in step 814. Thus, the procedure of sending data between the tracker hardware 802 and user application 218 via the multiple layers of processing is complete in step 816 when the data arrives at the user application 218.
[O043] It is appreciated by those skilled in the art that the process shown in figure 8 may selectively be implemented in hardware, software, or a combination of hardware and software.
An embodiment of the process steps employs at least one machine-readable signal bearing medium. Examples of machine-readable signal bearing mediums include computer-readable mediums such as a magnetic storage medium (i.e. floppy disks, or optical storage such as compact disk (CD) or digital video disk (DVD)), a biological storage medium, or an atomic storage medium, a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having appropriate logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), a random access memory device (RAM), read only memory device (ROM), electronic programmable random access memory (EPROM), or equivalent. Note that the computer-readable medium could even be paper or anotlier suitable medium, upon which the computer instruction is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
[0044] Additionally, machine-readable signal bearing medium includes computer-readable signal bearing mediums. Computer-readable signal bearing mediums have a modulated carrier signal transmitted over one or more wire based, wireless or fiber optic networks or within a system. For example, one or more wire based, wireless or fiber optic network, such as the telephone network, a local area network, the Internet, or a wireless network having a component of a computer-readable signal residing or passing through the network. The computer readable signal is a representation of one or more machine instructions written in or implemented with any number of programming languages.
[0045] Furthermore, the multiple process steps implemented with a programming language, which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any machine-readable signal bearing medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, controller-containing system having a processor, microprocessor, digital signal processor, discrete logic circuit functioning as a controller, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
[0046] The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the invention. For example, the described implementation includes software but the present invention may be implemented as a combination of hardware and software or in hardware alone. Note also that the implementation may vary between systems. The invention may be implemented with both object-oriented and non-object-oriented programming systems. The claims and their equivalents define the scope of the invention.

Claims

CLAIMS What is claimed is:
1. A system for processing positioning signals, the system comprising: a tracker having a GPS receiver enabled to receive GPS signals; and a data forwarder configured by a user interface manager in response to a communication interface receiving a request for location data from one user application from a plurality of user applications, where the user interface! manager transmits location data received by the tracker to the data forwarder for transmission to the user application.
2. The system of claim 1, further comprising: a host navigation processor in receipts of unformatted location data from the tracker via a tracker interface module and comnrunicates the unformatted location data to the user interface manager.
3. The system of claim 1 , wherein the user interface manager further comprises: a location data format selected from a plurality of location data formats by the user interface manager in response to a request from the commumcation interface that results in the raw location data being formatted in accordance with the location data format.
4. The system of claim 3, wherein the location data is binary location data.
5. The system of claim 1 , wherein the data converter further comprises: a location data format selected from a plurality of location data formats in response to receipt of an indication of format from the user interface manager.
6. A method for processing positioning signals, the method comprising: receiving at a communication interface a request from a user application for formatted location data; notifying a host navigation processor module and of the request for formatted location data sent by the communication interface; receiving location data at the^host navigation processor module from an tracker interface module; formatting the location data into formatted location data at the user interface manager in response to the communication interface receiving the request from the user application; and sending the formatted to a data forwarder for transmission to the user application.
7. The method of claim 6, wherein formatting further includes: selecting a format from a plurality of formats for the location data.
8. The method of claim 6, wherein formatting further includes: selecting a binary format from the plurality of formats.
9. The method of claim 6, further comprising; decoding a plurality of GPS signals at a tracker; deriving location data from the plurality of GPS signals sending the location data to the tracker interface.
10. A system for processing positioning signals, comprising: means for receiving at a communication interface a request from a user application for formatted location data; means for notifying a host navigation processor module and of the request for formatted location data sent by the communication interface; means for receiving location data at the host navigation processor module from an tracker interface module; means for formatting the location data into formatted location data at the user interface manager in response to the communication interface receiving the request from the user application; and means for sending the formatted to a data forwarder for transmission to the user application.
11. The system of claim 10, wherein formatting further includes: means for selecting a format from a plurality of formats for the location data.
12. The system of claim 10, wherein formatting further includes: means for selecting a binary format from the plurality of formats.
13. The system of claim 10, further comprising; means for decoding a plurality of GPS signals at a tracker; means for deriving location data from the plurality of GPS signals means for sending the location data to the tracker interface.
14. A signal bearing media comprising machine-readable instructions for a system that processes positioning signals, comprising: a first plurality of machine-readable instructions for receiving at a communication interface a request from a user application for formatted location data; a second set of machine-readable instruction for notifying a host navigation processor module and of the request for formatted location data sent by the communication interface; a third set of machine-readable instructions for receiving location data at the host navigation processor module from an tracker interface module; a fourth set of machine-readable instructions for formatting the location data into formatted location data at the user interface manager in response to the communication interface receiving the request from the user application; and a fifth set of machine readable-instructions for sending the formatted to a data forwarder for transmission to the user application.
15. The system of claim 14, wherein formatting further includes: a sixth set of machine-readable instructions for selecting a format from a plurality of formats for the location data.
16. The system of claim 14, wherein formatting further includes: a sixth set of machine-readable instructions for selecting a binary format from the plurality of formats.
17. The system of claim 14, further comprising; a sixth set of machine-readable instructions for decoding a plurality of GPS signals at a tracker; a seventh set of machine-readable instructions for deriving location data from the plurality of GPS signals a eight set of machine-readable instructions for sending the location data to the tracker interface.
PCT/US2004/003534 2004-02-06 2004-02-06 Layered host based satellite positioning system and method WO2005085894A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/US2004/003534 WO2005085894A1 (en) 2004-02-06 2004-02-06 Layered host based satellite positioning system and method
EP04709082A EP1718986A1 (en) 2004-02-06 2004-02-06 Layered host based satellite positioning system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2004/003534 WO2005085894A1 (en) 2004-02-06 2004-02-06 Layered host based satellite positioning system and method

Publications (1)

Publication Number Publication Date
WO2005085894A1 true WO2005085894A1 (en) 2005-09-15

Family

ID=34920914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/003534 WO2005085894A1 (en) 2004-02-06 2004-02-06 Layered host based satellite positioning system and method

Country Status (2)

Country Link
EP (1) EP1718986A1 (en)
WO (1) WO2005085894A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636190A (en) * 1992-07-15 1994-02-10 Sony Corp Position measuring system and position measuring sensor, recording medium, converting device
US5497339A (en) * 1993-11-15 1996-03-05 Ete, Inc. Portable apparatus for providing multiple integrated communication media
US5519403A (en) * 1993-11-29 1996-05-21 Motorola, Inc. Global positioning system communications multi-interface
US5832247A (en) * 1995-12-28 1998-11-03 Trimble Navigation Limited PCI card for receiving a GPS signal
US5920283A (en) * 1997-05-09 1999-07-06 Conexant Systems, Inc. Receiver engine for global positioning system
US6255988B1 (en) * 1999-06-03 2001-07-03 Honeywell International Inc Industrial process field instrumentation employing satellite transmitted reference signals
US20020196181A1 (en) * 2001-06-25 2002-12-26 Fall Kevin R. Integrated network interface card and global positioning system receiver
US20030234739A1 (en) * 2002-06-20 2003-12-25 Sirf Technology, Inc. Generic satellite positioning system receivers with selectable inputs and outputs

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636190A (en) * 1992-07-15 1994-02-10 Sony Corp Position measuring system and position measuring sensor, recording medium, converting device
US5497339A (en) * 1993-11-15 1996-03-05 Ete, Inc. Portable apparatus for providing multiple integrated communication media
US5519403A (en) * 1993-11-29 1996-05-21 Motorola, Inc. Global positioning system communications multi-interface
US5832247A (en) * 1995-12-28 1998-11-03 Trimble Navigation Limited PCI card for receiving a GPS signal
US5920283A (en) * 1997-05-09 1999-07-06 Conexant Systems, Inc. Receiver engine for global positioning system
US6255988B1 (en) * 1999-06-03 2001-07-03 Honeywell International Inc Industrial process field instrumentation employing satellite transmitted reference signals
US20020196181A1 (en) * 2001-06-25 2002-12-26 Fall Kevin R. Integrated network interface card and global positioning system receiver
US20030234739A1 (en) * 2002-06-20 2003-12-25 Sirf Technology, Inc. Generic satellite positioning system receivers with selectable inputs and outputs

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 0182, no. 61 (P - 1739) 18 May 1994 (1994-05-18) *

Also Published As

Publication number Publication date
EP1718986A1 (en) 2006-11-08

Similar Documents

Publication Publication Date Title
US6954147B1 (en) Method and system for providing protection against theft and loss of a portable computer system
US8233915B2 (en) Updating position assist data on a mobile computing device
US7427951B2 (en) Method for updating ephemeris data of global positioning system
US20050282557A1 (en) System and method for implementing a remote location acquisition application program interface
US6897805B2 (en) Method and apparatus for location based wireless roaming between communication networks
EP0801354A2 (en) Location/motion sensitive computer connection
US20080129491A1 (en) Find And See Application For A Group Of Devices
US8626598B2 (en) Method and system for obtaining services
US7496082B2 (en) Dedicated device for automatically accessing wireless internet network and supplying wireless packet data-based indoor-capable GPS locations
CN104144494A (en) Mobile terminal and positioning method thereof
US7813875B2 (en) Layered host based satellite positioning solutions
US20040039855A1 (en) System and method for precisely locating networked devices
JP2005175656A (en) Positional information acquisition system and action history recorder using it
CN102612107A (en) Methods for controlling ongoing triggered SUPL session by SLP and network-side SUPL agent
WO2005085894A1 (en) Layered host based satellite positioning system and method
JPH11160084A (en) Navigation information receiver
CN108156313B (en) Positioning control method and device, storage medium and terminal equipment
US20020196942A1 (en) Location-based information for computer files and messages
US7835342B2 (en) Dedicated device for automatically accessing wireless internet network and supplying wireless packet data-based indoor-capable GPS locations
KR20060135804A (en) Layered host based satellite positioning system and method
JP2003259409A (en) Information providing system, program and information storage medium
EP2068167A2 (en) Notebook computers with integrated satellite navigation systems
US20160381577A1 (en) Information processing system and information processing method
CN116437444B (en) Beacon-based target positioning method, medium and electronic equipment
US20030199280A1 (en) Method and system for receiving global positioning system signals

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2004709082

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067018030

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004709082

Country of ref document: EP