USPatent applicationPatented

Dynamic server managed profiles for mobile users

Granted 9 May 2006 · no office action yet

Current assignee: Trimble · originally At Road, Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Anil Tiwari · Examiner: Creighton Smith · AU 2645 · TC 2600

Application· this page
10/377,575
filed 28 Feb 2003
Publication
Not published
not published
Patent
US 7,043,255
granted 9 May 2006

Life of the application

6 dated events
⤢ drag to zoom20042006200820102012201420162018202020222024ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Systems and methods are disclosed to provide mobile resource management. In accordance with one embodiment, mobile communication devices, which employ location determination techniques, communicate with a server via one or more wired or wireless networks. The server provides a profile to the mobile communication devices, with the profile containing parameters which control certain operations of the mobile communication devices. The mobile communication devices provide location information to the server and communicate with the server to enable reporting, dispatching, messaging, and/or management services.

Description

7 parts
›TECHNICAL FIELD

The present invention relates generally to communication systems and, more particularly, to systems and methods for managing mobile resources.

›BACKGROUND

Mobile communication devices are well known and are utilized by individuals and businesses to communicate various types of information. Mobile communication devices may include, for example, wireless telephones, personal digital assistants (PDAs), and other types of communication devices that can communicate (e.g., text and/or voice) over a wireless communication link. These mobile communication devices may also include location determination techniques, such as for example via their cellular network or by utilizing satellite signals (e.g., global positioning system (GPS) satellites).

Various services have evolved to assist in managing the operation of the mobile communication devices. For example, a vehicle locating service may receive various information from a mobile communication device, including position, velocity, time, and possibly a message. The vehicle locating service may then provide this information on a map, which may also include the location of other associated mobile communication devices. As an example, a business may find this information useful to quickly determine the location of their vehicles that are carrying the mobile communication devices.

A drawback of conventional vehicle locating services is that typically each mobile communication device must be configured by its user with respect to various configurable operational parameters. This makes it very difficult for a business, for example, to view or manage these parameters and standardize them at a company level for all of their mobile communication devices. For example, to update or change these parameters, each user must be individually notified to make the necessary change to the operational parameters of their associated device. Consequently, a user may fail to receive the notice or may fail to correctly make the necessary change. As a result, there is a need for improved systems and methods for managing mobile resources.

›SUMMARY

Systems and methods are disclosed herein to provide mobile resource management. For example, in accordance with one embodiment of the present invention, profiles for associated mobile communication devices are stored at a central location (e.g., on a server). The profiles can be downloaded or electronically transferred to the mobile communication devices, which then adjust their operation based on parameters defined by the profiles. In accordance with one embodiment, the profiles can only be changed at the central location, which may result in reduced costs and errors and greater efficiency in managing the mobile resources.

More specifically, in accordance with one embodiment of the present invention, a system includes a network; a data processor coupled to the network; and at least one mobile communication device adapted to couple to the network to communicate with the data processor and adapted to receive location information, wherein the data processor provides a profile to the at least one mobile communication device, the profile containing parameters which control certain operations of the at least one mobile communication device.

In accordance with another embodiment of the present invention, a method of managing mobile communication devices includes creating a profile that defines certain operational parameters of the mobile communication devices; storing the profile on a data processing system; and transferring the profile from the data processing system to the mobile communication devices, wherein the mobile communication devices operate based on the operational parameters of the profile.

In accordance with another embodiment of the present invention, a mobile communication device includes a location determination system adapted to receive signals transmitted from satellites or a cellular network to determine a location of the mobile communication device; and a communication system adapted to transmit and receive information through a wireless network, wherein the communication system is further adapted to communicate with a data processing station to receive a profile containing parameters which control certain functions of the mobile communication device.

The scope of the invention is defined by the claims, which are incorporated into this section by reference. A more complete understanding of embodiments of the present invention will be afforded to those skilled in the art, as well as a realization of additional advantages thereof, by a consideration of the following detailed description of one or more embodiments. Reference will be made to the appended sheets of drawings that will first be described briefly.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram illustrating a system in accordance with an embodiment of the present invention.

FIG. 2 illustrates an exemplary flowchart for managing profiles in accordance with an embodiment of the present invention.

The preferred embodiments of the present invention and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures.

›DETAILED DESCRIPTION · 1 of 3

FIG. 1 shows a block diagram illustrating a system 100 in accordance with an embodiment of the present invention. System 100 includes a data processing station 102 , a network 104 , a computer 106 , and mobile units 108 . Data processing station 102 (e.g., servers or other types of computers for managing data) stores one or more profiles for mobile units 108 . As explained in further detail herein, the profile is a list of configurable parameters that define one or more operational parameters of mobile unit 108 .

Data processing station 102 is coupled or connected via a wireless or wired connection to network 104 (e.g., a local or wide area data network, the Internet, or a wireless network) to enable communication with computer 106 and mobile units 108 . As shown, computer 106 can also be connected to network 104 via a wired or wireless connection. Computer 106 may represent a personal computer (PC) or other type of computer, such as for example any type of telephone or PDA that is capable of communication via network 104 and able to display text and/or graphical information. Computer 106 is employed to manage (e.g., create, view, or edit) the profile (stored on data processing station 102 ) for one or more of mobile units 108 .

Mobile unit 108 may represent any type of mobile communication device, such as for example a wireless telephone (e.g., a cell phone or a satellite phone) or a PDA. Mobile unit 108 is typically coupled to network 104 via a wireless connection, such as for example through a cellular network or other type of wireless network capable of ultimately providing access to network 104 (e.g., via a wireless service access connection). Alternatively, if network 104 is a wireless network, mobile unit 108 may communicate directly with network 104 via a wireless connection.

Mobile unit 108 also employs a location determination method that provides position and possibly velocity and time information for mobile unit 108 . The location determination method may be performed by mobile unit 108 or a device may be couplable to mobile unit 108 to provide the location and other related information. For example, mobile unit 108 may incorporate a GPS receiver or be couplable to a GPS receiver to perform location determination. Alternatively, the location determination method may be performed using techniques other than GPS, such as for example known location determination techniques achieved via a cellular or other type of wireless network. The location determination method utilized may include providing partial position information (e.g., pseudoranges in a GPS system), which is transmitted to data processing station 102 for further location determination.

As illustrated in FIG. 1 , system 100 allows mobile resource management to be performed centrally at data processing station 102 . As an example, data processing station 102 stores a server based profile for each mobile unit 108 , which can be downloaded or otherwise electronically transferred to mobile unit 108 . Mobile unit 108 utilizes the parameters contained in the profile to define its operational parameters (i.e., mobile unit 108 operates at least partially as defined by the profile parameters).

In accordance with one embodiment, the profile parameters for mobile unit 108 can only be set via data processing station 102 , which may substantially reduce the cost of managing mobile units 108 . For example, computer 106 may be utilized to create or view and change the profile parameters (stored on data processing station 102 ) for one or more of associated mobile units 108 . The updated profile is then downloaded to the associated mobile units 108 or certain ones of the associated mobile units 108 . Each mobile unit 108 may allow a user to only view and not edit the profile parameters loaded into mobile unit 108 . Consequently, the cost of updating the profiles for mobile units 108 may be substantially reduced for a business managing a number of mobile units 108 . Furthermore, the number of inconsistencies or errors in the profiles of mobile units 108 may be greatly reduced or eliminated.

It should be noted that FIG. 1 illustrates computer 106 and a number of mobile units 108 , but this is representative only and in general system 100 may include a number of computers 106 and a number of mobile units 108 , with certain ones of computers 106 associated with certain ones of mobile units 108 . Thus, system 100 may be utilized to provide location-relevant and time-sensitive information services to businesses and organizations managing mobile resources.

In accordance with one embodiment, system 100 may combine GPS technology, wireless communications, and the Internet to enable companies to efficiently manage the movement of mobile units 108 carried by personnel or vehicles and provide location, reporting, dispatching, messaging, and management services. For example, computer 106 may employ a web browser to access a website provided by data processing station 102 to create or modify profiles for one or more of the mobile units 108 , to track the movement of their vehicles, employees, and goods and services, to provide detailed information for managing mobile resources, and to enable two-way messaging between computer 106 and associated mobile units 108 . Further exemplary details regarding monitoring of mobile units may be found, for example, in U.S. Pat. No. 5,959,577, which is incorporated herein by reference in its entirety.

As an example of operation in accordance with an embodiment of the present invention, one of computers 106 may belong to a trucking company that desires to monitor a number of their mobile units 108 that are distributed among their trucks or carried by their truck drivers. Mobile units 108 periodically determine their position, velocity, and time by utilizing GPS. This information is provided at set intervals to data processing station 102 . If a truck driver sends a text message to data processing station 102 , mobile unit 108 will also determine and include the position, velocity, and time information with the text message. The trucking company utilizes its computer 106 to log into the website of data processing station 102 and view the location of their mobile units 108 on a zoomable street map. Any text messages that have been sent by mobile units 108 can be read and a reply text message may be sent. Furthermore, one or more text messages can be sent to one or more of mobile units 108 .

›DETAILED DESCRIPTION · 2 of 3

The profile or list of configurable operational parameters may be employed to control, for example, the types of information that is collected from mobile units 108 and how often. For example, one or more parameters may control how often information such as location, speed, direction of travel, and stops are collected. Detailed reports providing activity details or summaries may be generated for mobile units 108 , which can be stored on data processing station 102 or sent to computer 106 via email or a file transfer protocol site.

As an example, Table 1 illustrates an exemplary list of profile parameters. The entire list may form a profile or various parameters from the list may be selected to form a profile that is then transferred to one or more of mobile units 108 . Therefore, profiles may be created to suit the needs of the intended or expected behavior of mobile units 108 (e.g., mobile units 108 associated with concrete mixers, slow-moving construction vehicles, rental cars, taxis, delivery trucks, salespersons, executives, police or fire personnel, etc.).

For example, parameter ID 0 in Table 1 is used to set a speed threshold (e.g., 5 km/hr) for determining if mobile unit 108 is moving or stopped. Parameter ID 1 is used to set a time threshold (e.g., 3 minutes) for determining when mobile unit 108 has stopped for a period of time rather than momentarily stopped. Parameter IDs 2–6 are stop timer settings for triggering an event or notification to be sent from mobile unit 108 to data processing station 102 when mobile unit 108 has been stopped for the time specified by the specific parameter.

Parameter ID 7 is used to set how often position, velocity, and time (PVT) information is collected by mobile unit 108 (e.g., having a GPS receiver). Parameter ID 8 is used to set how often the PVT and/or other information are logged (i.e., recorded) in order to be available for transmission by mobile unit 108 to the server. Parameter ID 10 is used to set how often information from mobile unit 108 is sent to data processing station 102 .

As an example, mobile unit 108 may be a GPS enabled cell phone that obtains a GPS fix at certain time intervals (set by parameter ID 7). Each GPS fix may be recorded for transmission to the server or only certain GPS fixes (e.g., every other GPS fix or at certain time intervals) may be recorded (set by parameter ID 8). All of the information recorded since the last transmission may be sent or certain information from the recorded log since the last transmission (along with other information which may or may not be in the log, such as text or canned messages as described below) may be sent at specified intervals (set by parameter ID 10).

Parameter IDs 20–22 are used to power down various components (e.g., transmitter or modem, GPS receiver, or all of mobile unit 108 , respectively) of mobile unit 108 depending on the length of time that it is stationary (i.e., not moving). The remaining parameter IDs are self explanatory from the description in Table 1.

Table 2 provides an exemplary list of event codes that can be specified in a profile. Each event code (also referred to as an invoke code) has an attribute that controls if and how the event gets transmitted to data processing station 102 (e.g., a central server). A Ping, such as in event codes 9 and 10, refers to data processing station 102 or mobile unit 108 requesting an immediate or rapid response from mobile unit 108 or data processing station 102 , respectively, regarding a request for certain information. For example, data processing station 102 may request a current location for mobile unit 108 or other parameters associated with a profile or mobile unit 108 may request certain information be sent from data processing station 102 .

FIG. 2 illustrates an exemplary flowchart for managing profiles in accordance with an embodiment of the present invention. Step 202 creates a profile or allows a profile to be modified. For example, computer 106 ( FIG. 1 ) accesses data processing station 102 to perform step 202 or computer 106 solely is employed to perform step 202 . Step 204 ( FIG. 2 ) saves the profile at a processing location (e.g., a central server data processing system). For example, computer 106 saves the profile on data processing station 102 . Step 206 transfers the profile to certain mobile communication devices. For example, data processing station 102 transmits via network 104 the recently created profile or edited profile to one or more of mobile units 108 . In step 108 , operational parameters of the mobile communication devices are at least partially controlled by parameters defined by the profile.

In accordance with an embodiment of the present invention, a system and method is disclosed for providing configuration data to mobile devices by creating or modifying the mobile device's profile on a server and pushing (i.e., communicating or transferring) the profile to each handset. The configuration data may include various operational parameters, such as for example the frequency of updating the server of the mobile device's location and possibly velocity, the frequency of requesting a position determination (e.g., a GPS position “fix”), and a number of “canned” messages or forms that allow the mobile device's user to report back to the server specific activities (e.g., “I just finished delivering to X”, “I am now heading to Y for my next appointment”, etc.).

As an example, each text message, including the “canned messages,” may include a location and time stamp that provides information as to the location of the mobile device and the time when the message was sent. Table 3 illustrates an exemplary list of canned or preformed messages that could be selected and sent from mobile unit 108 to data processing station 102 . As should be understood these are merely exemplary and virtually an unlimited number of preformed messages may be implemented by the techniques discussed herein.

These messages may be provided by the mobile device, for example, by running an application written in Java (e.g., a Java micro edition application environment). The Java application may be multithreaded such that one or more of the threads may also be employed to control various operations and states of a mobile device (e.g., mobile unit 108 ).

›DETAILED DESCRIPTION · 3 of 3

As an example, the Java application may comprise eight threads. A first thread is for a GPS interface (or any other type of location determination interface), with the thread controlling the various GPS functions. A second thread is for a controller state machine that determines the state of mobile unit 108 (e.g., stopped, moving, slow moving, powering down or up, etc.). For example, U.S. patent application No. 10/377,563 entitled “Battery Consumption Optimization for Mobile Users” filed on the even date herewith and which is incorporated herein by reference in its entirety, describes an exemplary state machine that may be utilized for the second thread.

A third thread controls the storage of information (e.g., PVT information) and determines when to forward the information to the server (e.g., data processing station 102 ). The third thread, for example, functions as a queue state machine to determine when to transmit or retransmit the information. A fourth thread controls a communication interface, such as for example a user datagram protocol (UDP) transmitter/receiver to provide low level communications.

A fifth thread controls configuration aspects such as to monitor and manage the current profile and control and interpret profile parameters. A sixth thread performs diagnostics either via the mobile device or remotely to provide remote diagnosis (e.g., by the server). For example, the sixth thread may monitor the mobile device's health and send the current state, error, or exception conditions that exist if a problem occurs or if remotely prompted for this information.

A seventh thread controls initialization and provisioning. For example, the seventh thread may control the entering or verification of a personal identification, a serial number, and/or an authentication procedure, such as upon power-up, when application is first loaded into the mobile device, and/or when an authentication is required. An eighth thread provides a user interface, which may include the handling of messaging or forms or displaying information for the user or prompting for information.

As described above, the exemplary Java application, when installed in the mobile device, may be employed to control various operations and states of a mobile device. For example, the Java application may be downloaded by a user of mobile unit 108 from data processing station 102 or the Java application may be installed by some other method (e.g., via a data port on mobile unit 108 coupled to a computer or installed at time of manufacture). Alternatively, the functions performed by the Java application may be implemented in an application specific integrated circuit or incorporated as part of the main program of the mobile device.

Embodiments described above illustrate but do not limit the invention. It should also be understood that numerous modifications and variations are possible in accordance with the principles of the present invention. Accordingly, the scope of the invention is defined only by the following claims.

›Tables in the description — 3
TABLE 1 — Exemplary Profile Parameters Parameter
IDDescriptionUnits/Range
0Move to Stop Speed0–255 km/hr
Threshold
1Brief Stop to Stop time-10 second units
out
2Stop Timer-1 Setting10 second units
0 = timer disabled
3Stop Timer-2 Setting10 second units
0 = timer disabled
4Stop Timer-3 Setting10 second units
0 = timer disabled
5Stop Timer-4 Setting10 second units
0 = timer disabled
6Stop Timer-5 Setting (re-10 second units
occurring)0 = timer disabled
7GPS Sample RateSeconds
8PVT (position velocityIf > 0;
time) Log rate in MOVE10–32767 seconds
stateIf < 0;
Negate value, change
to 1–32000 minutes
9Message Retry Rate90–32767 Seconds
10PVT Packet Transmission0–32000 Seconds
Rate
11Transmit queue size limit1–400 Points
0 = Most efficient
−1 = Disabled
12Transmit queue idle limit1–255 minutes
0 = Idle limit disabled
13PVT age limit1–255 days
0 = PVT age ignored
14Number of PVT retries0–3
15PVT Retry time-out90–255 seconds
16Server down re-check1–1440 minutes
interval0 = Re-check disabled
17Server down NACK (not1–255
acknowledge) limit0 = Server down state
disabled
18Data session shutdown0 = Disabled (keep
idle timeoutsession open
indefinitely)
1–28800 seconds
19Maximum data session0 = Disabled
limit1–1440 minutes
20Modem power down timeout0 = disabled
1–7200 minutes
21GPS power down timeout0 = disabled
1–7200 minutes
22Power OFF timeout0–28800 minutes
0 = disabled
23Battery low limit for low0–100 percent of
voltagebattery voltage
24Battery low limit for0–100 percent of
critically low voltagebattery voltage
25DHC (daily health check):Seconds of day
Daily wake-up time (MSW -1–86400
most significant word,0 = Reset to Default
e.g., 16 bits)value based on
Device_ID
−1 = Disable Wake-up
26DHC: Daily wake-up timeSeconds of day
(LSW - least significant1–86400
word, e.g., 16 bits)0 = Reset to Default
value based on
Device_ID
−1 = Disable Wake-up
27DHC: idle time1–60 minutes
28DHC: Health Info interval1–30 days,
(Event code 15)0 = disabled
29DHC: Firmware Info1–30 days,
interval0 = disabled
(Event code 16)
30DHC: Data Usage Info1–30 days,
interval0 = disabled
(Event code 17)
31Accessory Port0 = Disabled
1 = User Defined
2 = Diagnostic
3 = GPS Receiver
4 = Barcode Scanner
5 = Camera
6 = Wireless Network
Card
7 = Other
TABLE 2 — Exemplary Event Codes Event
CodeDescription
0Power ON
1Power-Up to Stop
2Slow Moving to Stop
3Stop to Move
4Move to Stop
5Start Point
6Power down: Timer Expired
7Power down: Low Battery
8Update interval to Server
9Ping (response to server request)
10Ping (from mobile unit)
11Low Battery
12Modem sleep mode entered
13Phone docked
14Phone undocked
15Diagnostic: Health Status
16Diagnostic: Firmware Status
17Diagnostic: Data Usage Status
18Timer 1 Expire
19Timer 2 Expire
20Timer 3 Expire
21Illegal State to Power-Up
22Memory Reset
23GPS lost alarm
24GPS found alarm
TABLE 3 — Exemplary Canned Messages
Message NumberMessage Text
1OK?
2Go to lunch
3Goodbye
4Help
5What do I do next?
6Vehicle disabled
7Completed delivery
8En route
9Traffic Stop
10Returning to office

Claims as granted

26 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section H — Electricity
  • H10K99/00
  • H10P95/00
  • H04W8/18
USPC · US Patent Classification
455/456.1702/206

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2003Jul 2003Jan 2004Jul 2004Jan 2005Jul 2005Jan 2006Jul 2006USPTOApplicantNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
3.2 y
1,166 days filing → grant
Office actions
0
none on record
Examiner
Creighton Smith
art unit 2645 · TC 2600
Citations: 14 back · 35 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20042006200820102012201420162018202020222024Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock