Systems and methods for utilizing telematics data to improve fleet management operations

Information

  • Patent Grant
  • 11482058
  • Patent Number
    11,482,058
  • Date Filed
    Friday, January 3, 2020
    4 years ago
  • Date Issued
    Tuesday, October 25, 2022
    a year ago
Abstract
According to various embodiments, a fleet management system is provided for capturing, storing, and analyzing telematics data to improve fleet management operations. The fleet management system may be used, for example, by a shipping entity (e.g., a common carrier) to capture telematics data from a plurality of vehicle sensors located on various delivery vehicles and to analyze the captured telematics data. In particular, various embodiments of the fleet management system are configured to analyze engine idle data in relation to other telematics data in order to identify inefficiencies, safety hazards, and theft hazards in a driver's delivery process. The fleet management system may also be configured to assess various aspects of vehicle performance, such as vehicle travel delays and vehicle speeds. These analytical capabilities allow the fleet management system to assist fleet managing entities, or other entities, in analyzing driver performance, reducing fuel and maintenance costs, and improving route planning.
Description
BACKGROUND

Delivery vehicle driver efficiency, avoidance of safety and theft hazards, and optimization of route planning are objectives for transportation companies. Accordingly, there is an ongoing need to develop new technologies to enhance driver efficiency, the avoidance of safety and theft hazards, and route planning.


BRIEF SUMMARY

According to various embodiments of the present invention, a fleet management system is provided for capturing, storing, and analyzing telematics data to improve fleet management operations. Various embodiments of the fleet management system include one or more memory storage areas and one or more processors, wherein the fleet management system is configured to (i) receive telematics data from one or more vehicle sensors associated with a vehicle, the telematics data comprising engine idle data relating to the engine idle time of the vehicle; (ii) associate the telematics data with a particular segment of a vehicle trip; and (iii) execute a step selected from a group consisting of: (a) determining whether the telematics data indicates a potential inefficient operation by a driver of the vehicle and, in response to determining that the telematics data indicates a potential inefficient operation by the driver, generating an method occurrencealert indicating the potential inefficient operation; (b) determining whether the telematics data indicates a potential safety hazard created by a driver of the vehicle and, in response to determining that the telematics data indicates a potential safety hazard created by the driver, generating an alert indicating the potential safety hazard; and (c) determining whether the telematics data indicates a potential theft hazard created by a driver of the vehicle and, in response to determining that the telematics data indicates a potential theft hazard created by the driver, generating an alert indicating the potential theft hazard.


In another embodiment, the fleet management system includes (a) a fleet of vehicles having one or more vehicle sensors and at least one telematics device; (b) at least one computer network; (c) one or more central servers; and (d) a user interface; wherein the telematics device is configured to: receive telematics data from the one or more vehicle sensors, wherein the telematics data comprises data relating to the engine idle time of the fleet of vehicles; associate the telematics data with contextual data; and transmit the telematics data over the network to the central server; wherein the one or more central servers are configured to: (i) receive telematics data from the telematics device; (ii) execute the steps of: (a) determining whether the telematics data indicates a potential inefficient operation by a driver of the vehicle and, in response to determining that the telematics data indicates a potential inefficient operation by the driver, displaying via the user interface data indicating the potential inefficient operation; (b) determining whether the telematics data indicates a potential safety hazard created by a driver of the vehicle and, in response to determining that the telematics data indicates a potential safety hazard created by the driver, displaying via the user interface data indicating the potential safety hazard; or (c) determining whether the telematics data indicates a potential theft hazard created by a driver of the vehicle and, in response to determining that the telematics data indicates a potential theft hazard created by the driver, displaying via the user interface data indicating the potential theft hazard.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:



FIG. 1 is a block diagram of an exemplary fleet management system according to various embodiments;



FIG. 2 is a block diagram of a telematics device according to various embodiments of the present invention;



FIG. 3 is a schematic block diagram of a central server according to various embodiments;



FIG. 4 is a flow diagram of steps executed by the telematics device according to one embodiment;



FIG. 5 is a flow diagram of steps executed by the central server according to one embodiment;



FIG. 6 is a flow diagram of steps executed by the efficiency analysis module shown in FIG. 3 according to one embodiment;



FIG. 7 is a flow diagram of steps executed by the safety analysis module shown in FIG. 3 according to a particular embodiment;



FIG. 8 is a flow diagram of steps executed by the theft analysis module shown in FIG. 3 according to a certain embodiment;



FIG. 9 is a flow diagram of steps executed by the travel analysis module shown in FIG. 3 according to one embodiment; and



FIG. 10 is an exemplary user interface according to one embodiment.





DETAILED DESCRIPTION

Embodiments of the present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.


Overview


According to various embodiments of the present invention, a fleet management system is provided for capturing, storing, and analyzing telematics data to improve fleet management operations. The fleet management system may be used, for example, by a shipping entity (e.g., a common carrier, such as United Parcel Service, Inc., FedEx Corp., or the United States Postal Service) to capture telematics data from a plurality of vehicle sensors located on various delivery vehicles and to analyze the captured telematics data. In particular, various embodiments of the fleet management system are configured to analyze engine idle data in relation to other telematics data in order to identify inefficiencies, safety hazards, and theft hazards in a driver's delivery process. In addition, the fleet management system may be configured to assess various aspects of vehicle performance on specific shipping routes, such as vehicle travel delays and vehicle speeds. These analytical capabilities allow the fleet management system to assist shipping entities, other fleet managing entities, or other entities in analyzing driver performance, reducing fuel and maintenance costs, and improving route planning.


For example, an exemplary fleet management system includes various delivery vehicles having a variety of vehicle sensors. The vehicle sensors are configured to measure various conditions related to the vehicle (e.g., engine ignition, engine speed, vehicle speed, seat belt status, vehicle heading, and vehicle location). The sensors are controlled by a telematics device configured to capture and store telematics data (e.g., engine idle data) when certain defined vehicle events are detected.


Telematics data is captured by the fleet management system from the vehicles in the fleet as they execute various delivery routes. For the purposes of the fleet management system, each delivery route is comprised of a series of vehicle trips. A vehicle trip comprises starting the vehicle's engine, traveling some distance, and turning off the vehicle's engine. For example, when a driver starts a delivery vehicle to travel to a destination, a vehicle trip begins. When the driver reaches the destination and shuts off the engine while delivering the package, the vehicle trip ends. Thus, a full delivery route will often comprise a number of vehicle trips. Each vehicle trip may be further divided into a Start of Trip segment (e.g., the time period between vehicle's engine turning on and the vehicle beginning to travel to its destination), a During Travel segment (e.g., the period of time during which the vehicle travels to its destination with the vehicle's engine on), and an End of Trip segment (e.g., the period of time between the vehicle stopping at its destination and the vehicle's engine turning off).


To analyze the efficiency of a driver, the fleet management system is configured to examine the telematics data received from the vehicle operated by the driver and to identify periods of engine idle time having an abnormally long duration. The system then examines other telematics data captured near in time to each period of engine idle time to determine the cause of the excessive idle time. For example, the system may recognize that a driver unnecessarily allowed the vehicle's engine to idle while he or she fastened a seat belt by identifying abnormally long engine idle period in a Start of Trip vehicle segment and identifying telematics data near that engine idle period indicating that the driver's seat belt was engaged. The system may then alert a user (e.g., the driver, the driver's manager, or a central vehicle monitor) of this inefficiency. The driver may then be instructed (e.g., in person, or via an electronic message generated by the system), to fasten their seatbelt before starting the vehicle's engine. By instructing the driver to fasten his or her seat belt before starting the vehicle's engine, a shipping entity user reduces fuel consumption and engine running time for the vehicle.


The system may employ similar logic to identify other potential inefficiencies, safety hazards, and theft hazards. In addition, as will be described in more detail below, the fleet management system is also configured to calculate various travel statistics (e.g., engine idle time percentage, average vehicle speed, and average travel delays) and provide efficiency comparison tools (e.g., comparing driver efficiencies and travel delays for routes).


Identifying inefficiencies within a driver's routine and practices allows fleet operators to correct these inefficient practices and reduce the amount of idle time for deliveries. Indeed, the excess engine idle time associated with inefficient driver practices results in fuel being wasted and engine running time being increased. When aggregated over a large fleet of vehicles, these inefficiencies may amount to significant fuel and maintenance costs. In addition, the travel statistics and comparison tools provided by the fleet management system allow users to optimize shipping routes and logistical planning.


System Architecture


A fleet management system 5 according to one embodiment is shown in FIG. 1. In the illustrated embodiment, the fleet management system 5 includes one or more delivery vehicles 100, a portable data acquisition device 110, and a central server 120. The one or more delivery vehicles 100 each include a plurality of vehicle sensors (not shown) and a telematics device 102. The telematics device 102, portable data acquisition device 110, and central server 120 are connected to communicate with each other via a communications network 130 (e.g., the Internet, an Intranet, or other suitable network). In addition, the telematics device 102, portable data acquisition device 110, and central server 120 are configured for storing data to an accessible database (not shown) that may be stored on (or, alternatively, stored remotely from) the central server 120.


In the illustrated embodiment, the delivery vehicles 100 are responsible for the pickup and delivery of a plurality of packages within a particular delivery area. Each delivery vehicle 100 includes a plurality of vehicle sensors included within, or associated with, each delivery vehicle 100. As is discussed in more detail below, the vehicle sensors generate telematics data associated with engine ignition, engine speed, vehicle speed, vehicle location, the status of vehicle seat belts, doors, and handles, and/or other aspects of the vehicle, the vehicles' various components and/or the environment in which the vehicle is operating.


The telematics device 102 is included within, or otherwise associated with, each delivery vehicle 100 for the purpose of controlling the vehicle sensors, capturing and storing telematics data from the vehicle sensors, and/or associating the captured telematics data with contextual data. The telematics device 102 may include, for example, a processor and memory that can collect and capture and/or transmit data from vehicle sensors. For example, the telematics device 102 may be a computing device (e.g., a PC, server, desktop, or a handheld computing device), a programmable logic controller (PLC), an active RFID tag, or other suitable device. The analysis of the data collected by the telematics device 102 may be performed by software or algorithms executed by the processor of the telematics device or by a processor of a computing device that receives the data collected by the telematics device 102.


The telematics device 102 is further configured to transmit data over the network 130 to the portable data acquisition device 110 and/or the central server 120. As discussed in more detail below in regard to FIGS. 5-9, in response to receiving the telematics data from the telematics device 102 and/or the portable data acquisition device 110, as well as data received from other systems or devices operating in connection with the overall fleet management system 5, the central server 120 is configured to analyze the received telematics data and identify data indicating various inefficiencies, safety hazards, or security hazards present in the deliveries carried out by one or more drivers of the delivery vehicles 100.


In one embodiment, the telematics device 102 transmits some or all of the telematics data, via any suitable wired or wireless communication network 130, to a portable data acquisition device 110 (e.g., cellular telephone, personal digital assistant (PDA), laptop, etc.) operated by a driver associated with the delivery vehicle 100. The portable data acquisition device 110 may, in turn, transmit, via the same or different communication network 130, some or all of the received data to a central server 120, or similar network entity or mainframe computer system. In addition, according to one embodiment, the telematics device 102 may further transmit some or all of the telematics data directly to the central server 120, via the same or different communication network 130.


According to embodiments of the present invention, the communication network 130 may be capable of supporting communication in accordance with any one or more of a number of second-generation (2G), 2.5G and/or third-generation (3G) mobile communication protocols or the like. More particularly, network 130 may be capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, the network 130 may be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. In addition, for example, the network 130 can be capable of supporting communication in accordance with 3G wireless communication protocols such as Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the present invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones). As yet another example, the telematics device 102 and portable data acquisition device 110 may be configured to communicate with one another in accordance with techniques such as, for example, radio frequency (RF), Bluetooth™, infrared (IrDA), or any of a number of different wireless networking techniques, including Wireless LAN (WLAN) techniques.


Although the telematics device 102, portable data acquisition device 110, and central server 120 are illustrated in FIG. 1 as communicating with one another over the same network 130, these devices may likewise communicate over separate networks. For example, while the telematics device 102 may communicate with the portable data acquisition device 110 over a wireless personal area network (WPAN) using, for example, Bluetooth techniques, the telematics device 102 and/or portable data acquisition device 110 may communicate with the central server 120 over a wireless wide area network (WWAN), for example, in accordance with EDGE, or some other 2.5G wireless communication protocol.


According to one embodiment, in addition to receiving telematics data from the telematics device 102, the portable data acquisition device 110 may be further configured to collect and transmit telematics data on its own. For example, according to one embodiment, the portable data acquisition device 110 may include a location determining device, such as a Global Positioning System (GPS) device, for providing location information in the form of, for example, latitude and longitude values. In particular embodiments, and as is discussed in more detail below, this location determining device may be used to gather information regarding the location of the driver him- or herself, as opposed to location information associated with the delivery vehicle 100, which may be collected (or determined) by the telematics device 102.


The portable data acquisition device 110 may be any device associated with a carrier (e.g., UPS, FedEx, United States Postal Service (USPS), etc.). In various embodiments, the portable data acquisition device 110 may be capable of receiving data via one or more input units or devices, such as a keypad, touchpad, barcode scanner, radio frequency identification (RFID) reader, interface card (e.g., modem, etc.) or receiver. The portable data acquisition device 110 may further be capable of storing data to one or more volatile or non-volatile memory modules, and outputting the data via one or more output units or devices, for example, by displaying data to the user operating the device 110, or by transmitting data, for example over the communication network 130. One type of portable data acquisition device 110, which may be used in conjunction with embodiments of the present invention is the Delivery Information Acquisition Device (DIAD) presently utilized by UPS.


Vehicle Sensors


According to various embodiments, the delivery vehicles 100 are equipped with a variety of vehicle sensors. In certain embodiments, the delivery vehicles 100 include various combinations of sensors configured to make measurements pertaining to the following aspects of the delivery vehicles: engine ignition (e.g., on or off), engine speed (e.g., RPM and idle time events), vehicle speed (e.g., miles per hour), seat belt status (e.g., engaged or disengaged), vehicle heading (e.g., degrees from center), vehicle backing (e.g., moving in reverse or not moving in reverse), vehicle doors (e.g., open or closed), vehicle handles (e.g., grasped or not grasped by a driver), vehicle location (e.g., latitude and longitude), distance traveled (e.g., miles between two points), use of portable data acquisition device (e.g., in use or not in use), throttle position, brake pedal position, parking brake position, and other measurements (e.g., engine oil pressure, engine temperature, or engine faults).


According to various embodiments, on/off sensors, which register a voltage amount that corresponds with an on/off condition of a sensor, may be disposed within the vehicles 100 for collecting data. For example, in one embodiment, a seat belt sensor may register 0V when the seat belt is disengaged and 12V when the seat belt is engaged. This is sufficient for the seat belt sensor in particular because the seat belt is either engaged or disengaged at all times. As another example, one or more door position sensors may be connected, for example, to the driver side, passenger side, and bulkhead doors, and may register 0V when the door with which the sensor is associated is in an open position, and 12V when the door is closed. As another example, an ignition sensor may register 0V when the vehicle 100 is turned off and 12V when the vehicle 100 is turned on. As yet another example, a backing light sensor may register 0V when the vehicles' backing lights are off and 12V when the vehicle's backing lights are on. As yet another example, the engine idle sensor may be configured to generate 0V when the engine speed is above idle and 12V when the engine is idling.


According to various embodiments, variable voltage sensors, which may be used to register variations in voltage, may also be disposed within the delivery vehicles 100 for collecting data. For example, the engine speed sensor may detect the speed of the engine in revolutions per minute (RPM) by registering a particular voltage that corresponds to a particular RPM reading. The voltage of the sensor may increase or decrease proportionately with increases or decreases in the engine RPM. As another example, oil pressure sensors may detect the vehicle's oil pressure by registering a particular voltage that corresponds to a particular oil pressure. Other examples of variable voltage sensors may include temperature sensors, vehicle speed sensors, vehicle heading sensors, and vehicle location sensors.


According to various embodiments, sensors described above may consist of accelerometers, gyroscopes, global positioning systems, magnetometers, microphones, image sensors, light sensors, proximity sensors, and direction sensors, and may also be disposed within the delivery vehicles 100 for collecting data. For example, a combination of GPS sensors, accelerometers, and gyroscopes may be used to understand the travel of the delivery vehicle. The combined sensors may be used to analyze the driving habits of a driver such as excessive acceleration or braking. Additionally, the inertial measurements made by some of the above sensors may be used for crash detection.


The exemplary vehicle sensors described above may be configured, for example, to operate in any fashion suitable to generate computer-readable data that may be captured and transmitted by the telematics device 102. In addition, while certain sensors are preferably disposed at particular locations on or within the vehicle (e.g., handle sensors at the vehicle handles), certain sensors may be disposed anywhere within the vehicle, such as within the telematics device itself (e.g., location sensor).


Telematics Device



FIG. 2 provides a more detailed block diagram of an exemplary telematics device 102 in accordance with an embodiment of the present invention. As noted above and explained in greater detail below, the telematics device 102 may be configured to control a variety of vehicle sensors, collect vehicle telematics data generated by the sensors, and transmit the telematics data to the portable data acquisition device 110 and/or central server 120 via one of several communication methods.


In the illustrated embodiment, the telematics device 102 includes the following components: a processor 201, a location-determining device or sensor 202 (e.g., GPS sensor), a real-time clock 203, J-Bus protocol architecture 204, an electronic control module (ECM) 205, a port 206 for receiving data from vehicle sensors 410 in one of the delivery vehicles 100, a communication port 207 for receiving instruction data, a radio frequency identification (RFID) tag 305, a power source 208, a data radio 209 for communication with a WWAN, a WLAN and/or a WPAN, FLASH, DRAM, and NVRAM memory modules 303, and a programmable logic controller (PLC) 304. In an alternative embodiment, the RFID tag 305, the location sensor 202, and the PLC 304 may be located in the delivery vehicle 100 external to the telematics device 102. In various embodiments, the telematics device may omit certain of the components described above. It should be understood that the telematics device may include any other suitable components. For example, the telematics device may include other types of communications components than those described above.


According to one embodiment, the processor 201 is configured to capture and store telematics data from one or more vehicle sensors 410 on a delivery vehicle 100 upon the occurrence of one or more defined vehicle events. As is described in greater detail below, the processor 201 is configured such that any parameter measurable by the one or more vehicle sensors 410 may be defined as a vehicle event. In addition, the processor 201 may be configured to capture and store data from any one of, or any combination of, the vehicle sensors 410 in response to detecting a defined vehicle event. The processor 201 is also configured to associate telematics data received from the vehicle sensors 410 with contextual data indicating, for example: (1) the time the data was captured (e.g., through time-stamping), (2) the vehicle the data was captured from, (3) the driver of the vehicle, (4) a log reason for capturing the data, and/or (5) the route the driver was on at the time the data was collected. In various embodiments, the processor 201 is further configured to transmit the telematics data to the portable data acquisition device 110 and/or the central server 120. In other embodiments, the processes described herein as being carried out by a single processor may be accomplished by multiple processors.


In one embodiment, the location sensor 202, which may be one of several components available in the telematics device 102, may be compatible with a low Earth orbit (LEO) satellite system or a Department of Defense (DOD) satellite system. Alternatively, triangulation may be used in connection with various cellular towers positioned at various locations throughout a geographic area in order to determine the location of the delivery vehicle 100 and/or its driver. The location sensor 202 may be used to receive position, time, and speed data. It will be appreciated by those skilled in the art that more than one location sensor 202 may be utilized, and that other similar techniques may likewise be used to collect geo-location information associated with the delivery vehicle 100 and/or its driver.


In one embodiment, the ECM 205 with J-Bus protocol 204 may be one of several components available in the telematics device 102. The ECM 205, which may be a scalable and subservient device to the telematics device 102, may have data processor capability to decode and store analog and digital inputs and ECM data streams from vehicle systems and sensors 410, 420. The ECM 205 may further have data processing capability to collect and present vehicle data to the J-Bus 204 (which may allow transmittal to the telematics device 102), and output standard vehicle diagnostic codes when received from a vehicle's J-Bus-compatible on-board controllers 420 or vehicle sensors 410.


In one embodiment, an instruction data receiving port 207 may be one of several components available in the telematics device 102. Embodiments of the instruction data receiving port 207 may include an Infrared Data Association (IrDA) communication port, a data radio, and/or a serial port. The instruction receiving data port 207 may receive instructions for the telematics device 102. These instructions may be specific to the vehicle 100 in which the telematics device 102 is installed, specific to the geographical area in which the vehicle 100 will be traveling, or specific to the function the vehicle 100 serves within the fleet.


In one embodiment, a radio frequency identification (RFID) tag 305 may be one of several components available for use with the telematics device 102. One embodiment of the RFID tag 305 may include an active RFID tag, which comprises at least one of the following: (1) an internal clock; (2) a memory; (3) a microprocessor; and (4) at least one input interface for connecting with sensors located in the vehicle 100 or the telematics device 102. Another embodiment of the RFID tag 305 may be a passive RFID tag. One or more RFID tags 305 may be internal to the telematics device 102, wired to the telematics device 102, and/or proximate to the telematics device 102. Each RFID tag 305 may communicate wirelessly with RFID interrogators within a certain geographical range of each other. RFID interrogators may be located external to the vehicle 100 and/or within the portable data acquisition device 110 that can be carried in and out of the vehicle 100 by the vehicle operator.


In one embodiment, the data radio 209 may be one of several components available in the telematics device 102. The data radio 209 may be configured to communicate with a WWAN, WLAN, or WPAN, or any combination thereof. In one embodiment, a WPAN data radio provides connectivity between the telematics device 102 and peripheral devices used in close proximity to the vehicle 100, such as the portable data acquisition device 110, a local computer, and/or a cellular telephone. As mentioned above, in one embodiment of the invention, a WPAN, such as, for example, a Bluetooth™ network (IEEE 802.15.1 standard compatible) may be used to transfer information between the telematics device 102 and the portable data acquisition device 110. In other embodiments, WPANs compatible with the IEEE 802 family of standards may be used. In one embodiment, the data radio 209 may be a Bluetooth™ serial port adapter that communicates wirelessly via WPAN to a Bluetooth™ chipset located in the portable data acquisition device 110, or other peripheral device. As discussed above with regard to FIG. 1, and as one of ordinary skill in the art will readily recognize, other wireless protocols exist (e.g., cellular technology) and can likewise be used in association with embodiments of the present invention.


As discussed above with regard to FIG. 1, in one embodiment, vehicle performance and tracking data collected by the telematics device 102 (i.e., telematics data) may be transmitted via a WPAN to, and stored by, the portable data acquisition device 110 until a communication link can be established between the portable data acquisition device 110 and the central server 120, or similar network entity or mainframe computer system. In one embodiment, the portable data acquisition device 110 may display telematics data for the driver's viewing, which may be helpful in troubleshooting vehicle performance problems and showing delivery route progress and instructions. In an alternative embodiment, the portable data acquisition device 110 may be a hand-held data acquisition device, like an iPAQ. The Media Access Control (MAC) address, which is a code unique to each Bluetooth™-enabled device that identifies the device, similar to an Internet protocol address identifying a computer in communication with the Internet, can be communicated to other devices in communication with the WPAN, which may assist in identifying and allowing communication among vehicles, cargo, and portable data acquisition devices equipped with Bluetooth™ devices.


Central Server


In various embodiments, the central server includes various means for performing one or more functions in accordance with embodiments of the present invention, including those more particularly shown and described herein. It should be understood, however, that the central server may include alternative devices for performing one or more like functions, without departing from the spirit and scope of the present invention.



FIG. 5 is a schematic diagram of the central server 120 according to various embodiments. The central server 120 includes a processor 60 that communicates with other elements within the central server 120 via a system interface or bus 61. Also included in the central server 120 is a display device/input device 64 for receiving and displaying data. This display device/input device 64 may be, for example, a keyboard or pointing device that is used in combination with a monitor. The central server 120 further includes memory 66, which preferably includes both read only memory (ROM) 65 and random access memory (RAM) 67. The server's ROM 65 is used to store a basic input/output system 26 (BIOS), containing the basic routines that help to transfer information between elements within the central server 120.


In addition, the central server 120 includes at least one storage device 63, such as a hard disk drive, a floppy disk drive, a CD Rom drive, or optical disk drive, for storing information on various computer-readable media, such as a hard disk, a removable magnetic disk, or a CD-ROM disk. As will be appreciated by one of ordinary skill in the art, each of these storage devices 63 is connected to the system bus 61 by an appropriate interface. The storage devices 63 and their associated computer-readable media provide nonvolatile storage for a personal computer. It is important to note that the computer-readable media described above could be replaced by any other type of computer-readable media known in the art. Such media include, for example, magnetic cassettes, flash memory cards, digital video disks, and Bernoulli cartridges.


A number of program modules may be stored by the various storage devices and within RAM 65. Such program modules include an operating system 80, a efficiency analysis module 600, a safety analysis module 700, a theft analysis module 800, and a travel analysis module 900. According to various embodiments, the efficiency analysis module 500, safety analysis module 600, theft analysis module 700, and travel analysis module 900 control certain aspects of the operation of the central server 120 with the assistance of the processor 60 and operating system 80.


In general, the efficiency analysis module 600 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential inefficient operation of a delivery vehicle and (ii) identify specific inefficient operations indicated by the engine idle segments and associated telematics data. The safety analysis module 700 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential safety hazards present in the operation of a delivery vehicle and (ii) identify specific safety hazards indicated by the engine idle segments and associated telematics data. The theft analysis module 800 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential theft hazards present in the operation of a delivery vehicle and (ii) identify specific theft hazards indicated by the engine idle segments and associated telematics data. The travel analysis module 600 is configured to provide a user with various options for analyzing travel aspects of the delivery vehicles 100 in the fleet management system 5. Embodiments of these modules are described in more detail below in relation to FIGS. 6-9.


In a particular embodiment, these program modules 600, 700, 800, and 900, are executed by the central server 120 and are configured to generate graphical user interfaces accessible to users of the system. In one embodiment, the user interfaces may be accessible via the Internet or other communications network. In other embodiments, one or more of the modules 600, 700, 800, and 900 may be stored locally on one or more computers and executed by one or more processors of the computers. According to various embodiments, the modules 600, 700, 800, and 900 may send data to, receive data from, and utilize data contained in, a database, which may be comprised of one or more separate, linked databases.


Also located within the central server 120 is a network interface 74, for interfacing and communicating with other elements of a computer network. It will be appreciated by one of ordinary skill in the art that one or more of the central server 120 components may be located geographically remotely from other central server 120 components. Furthermore, one or more of the components may be combined, and additional components performing functions described herein may be included in the central server 120.


While the foregoing describes a single processor 60, as one of ordinary skill in the art will recognize, the central server 120 may comprise multiple processors operating in conjunction with one another to perform the functionality described herein. In addition to the memory 66, the processor 60 can also be connected to at least one interface or other means for displaying, transmitting and/or receiving data, content or the like. In this regard, the interface(s) can include at least one communication interface or other means for transmitting and/or receiving data, content or the like, as well as at least one user interface that can include a display and/or a user input interface. The user input interface, in turn, can comprise any of a number of devices allowing the entity to receive data from a user, such as a keypad, a touch display, a joystick or other input device.


While reference is made to a central “server” 120, as one of ordinary skill in the art will recognize, embodiments of the present invention are not limited to a client-server architecture. The system of embodiments of the present invention is further not limited to a single server, or similar network entity or mainframe computer system. Other similar architectures including one or more network entities operating in conjunction with one another to provide the functionality described herein may likewise be used without departing from the spirit and scope of embodiments of the present invention. For example, a mesh network of two or more personal computers (PCs), or similar electronic devices, collaborating with one another to provide the functionality described herein in association with the central server 120 may likewise be used without departing from the spirit and scope of embodiments of the present invention.


Telematics Device Configuration and Logic


As described above, in various embodiments, the telematics device is generally configured to control a variety of vehicle sensors, capture and store vehicle telematics data generated by the sensors, associate the collected telematics data with contextual data, and transmit the telematics data to the portable data acquisition device 110 and/or central server 120.


According to various embodiments, the processor 201 of the telematics device 102 is configured to capture and store telematics data from any one of, or any combination of, the vehicle sensors 410 in response to detecting a defined vehicle event. The processor 201 is configured such that any parameter measurable by the one or more vehicle sensors 410 may be defined as a vehicle event.


For example, in one embodiment, the processor 201 is configured such that vehicle events include (a) the engine of the vehicle 100 being turned on or off, (b) the engine of the vehicle 100 beginning to idle or ceasing to idle, and (c) a seat belt in the vehicle being engaged or disengaged. In this embodiment, the processor 201 is also configured to instantaneously capture data from certain vehicle sensors 410 upon the occurrence of any vehicle event. Accordingly, in one embodiment, the processor 201 will capture and store data from all vehicle sensors 410 any time one of the vehicle events (a), (b), or (c) is detected by any of the vehicle sensors 410.


In this embodiment, if the vehicle's engine is on and the vehicle speed becomes zero (e.g., the vehicle begins to idle), the telematics device 102 will capture and store data from a predetermined set of vehicle sensors 410 (e.g., the vehicle's engine speed sensor, speed sensor, seat belt status sensor, direction sensor, and location sensor). In addition, if the vehicle is idling, another vehicle event will be detected when the vehicle increases its speed above zero or the engine turns off. As a result, in this embodiment, vehicle events are detected and telematics data is captured and stored at the beginning and end of every period during which the vehicle's engine is idling. This ensures that the telematics device 102 captures every period of engine idling for each delivery vehicle.


According to various embodiments, the processor 201 may also be configured to define vehicle events through the varying parameters measured by certain vehicle sensors 410. For example, in one embodiment, the processor 201 is configured such that a vehicle event is detected anytime the vehicle's heading is greater than a predetermined number of degrees (e.g., about 5 degrees) from center to the left or right (e.g., the driver turns the steering wheel such that the vehicle is heading 10 degrees to the right). However, in another embodiment, the processor 201 is configured such that a vehicle event is also detected when the vehicle turns 10 degrees or more. This principle may be applied to other vehicle sensors capable of measuring variable parameters (e.g., RPM as measured by an engine speed sensor or miles per hour as measured by a vehicle speed sensor).


According to various embodiments, the processor 201 may be configured to capture and store telematics data from any one of, or any combination of, the vehicle sensors 410 in response to detecting a defined vehicle event. As described above, in one embodiment, the processor 201 is configured to capture and store telematics data from a predefined group of vehicle sensors 410 when a vehicle event is detected. For example, in one embodiment, the processor 201 is configured to capture and store data from only the seat belt sensor, engine speed sensor, and location sensor upon the occurrence of any specified vehicle event.


In other embodiments, the processor 201 may be configured to capture and store telematics data from certain vehicle sensors upon the occurrence of certain vehicle events. For example, in one embodiment, the processor 201 is configured such that (a) the seat belt being engaged or disengaged and (b) the vehicle moving in reverse are vehicle events. In this embodiment, the processor 201 is further configured to capture and store data from the seat belt sensor, engine speed sensor, and location sensor upon the occurrence of vehicle event (a) (i.e., the seat belt being engaged or disengaged), and to capture and store data from the vehicle speed sensor and location sensor upon the occurrence of vehicle event (b) (i.e., the vehicle moving in reverse).


The processor 201 may also be configured to capture and store telematics data from different vehicle sensors 410 upon the detection of certain values for vehicle events having varying parameters. For example, in one embodiment, the processor 201 is configured to capture and store telematics data from certain vehicle sensors when (a) the vehicle turns 5 degrees or more, while data will be captured from additional vehicle sensors when (b) the vehicle turns 10 degrees or more. This principle may be applied to other vehicle sensors capable of measuring variable parameters (e.g., RPM as measured by an engine speed sensor or miles per hour as measured by a vehicle speed sensor).


In further embodiments, the processor 201 may be configured to capture and store telematics data from certain vehicle sensors at certain time intervals if no vehicle events occur for a certain period of time. For example, in one embodiment, the processor 201 is configured such that, if no vehicle events are detected for 200 seconds, it will capture and store telematics data from certain (or all) vehicle sensors. In this embodiment, no more than 200 seconds of time will pass at any given point without data being collected from the vehicle sensors.


As described above, according to various embodiments, the processor 201 is also configured to associate telematics data received from the vehicle sensors 410 with contextual data including, but not limited to, data indicating the time the telematics data was captured (e.g., time-stamping), the vehicle the data was captured from, the driver of the vehicle, the route the driver was on at the time the data was collected, a log reason the data was captured, and/or the sensor the data was collected from. By associating and storing (e.g., in a database) the telematics data received from various vehicle sensors with this contextual data, the telematics device 102, central server 120, or other components of the fleet management system are able to search and identify stored telematics data for a particular date, time, vehicle, driver, sensed aspect of a vehicle, and/or route.


According to various embodiments, the defined vehicle events that trigger the telematics device to capture and store telematics data, the sensors from which telematics data are captured and stored in response to detected vehicle events, and the intervals defined for capturing and storing data when no vehicle events are detected each impact the effectiveness with which the fleet management system 5 identifies potential inefficiencies, safety hazards, and theft hazards present in a driver's routine and further analyzes the telematics data. For example, capturing data for a large amount of vehicle sensors at a high frequency may allow the fleet management system 5 to analyze the telematics data with greater accuracy. This could be accomplished, for example, by a fleet management system with many defined vehicle events and short intervals for capturing data if no vehicle events are detected.


However, as particular embodiments of the fleet management system 5 will have more limited storage space available to store telematics data, the amount of telematics data collected may be regulated. Accordingly, the telematics device 102 may be flexibly configured to suit the needs of a particular user. For example, a fleet management entity with limited data storage resources that is particularly interested in monitoring seat belt usage in a fleet of vehicles may configure the telematics devices of those vehicles to capture and store data from only those sensors relevant to seat belt status and capture data at the minimal frequency necessary to accurately report seat belt usage. This embodiment uses a small number of vehicle events and long time interval for capturing telematics data when no vehicle events are detected. As a contrasting example, a large fleet management entity with large amounts of data storage resources may configure the telematics devices of its large fleet of vehicles to capture and store data from a wide variety of vehicle sensors at a high frequency such that the telematics data may be analyzed to assess a wide variety of vehicle and driver efficiencies. As described above, this embodiment uses a large number of vehicle events and short time interval for capturing telematics data when no vehicle event is detected.



FIG. 4 illustrates exemplary steps executed by the telematics device 102 in controlling vehicle sensors, capturing and storing telematics data generated by the vehicle sensors, associating the collected telematics data with contextual information, and transmitting the telematics data to the portable data acquisition device 110 and/or central server 120. In the illustrated embodiment, the telematics device 102 has been configured to capture and store telematics data from certain sensors when the defined vehicle events with which they are associated are detected.


Beginning with step 402, the telematics device 102 continuously monitors readings from various vehicle sensors for parameters that match defined vehicle events. For example, in one embodiment, the telematics device 102 may monitor, among other sensors, the engine speed sensor and vehicle speed sensor to determine whether the vehicle's engine is idling. Next, at step 404, the telematics device 102 determines whether any of the defined vehicle events have occurred. If a vehicle event is not detected, the telematics device 102 moves back to step 402 and continues monitoring the vehicle sensors. If a vehicle event is detected, the telematics device 102 proceeds to step 406.


Next, at step 406, the telematics device 102 captures and stores data from the vehicle sensors associated with the vehicle event or vehicle events detected in step 404. For example, in one embodiment, the telematics device 102 is configured to capture the sensed telematics data at the instant a vehicle event is detected. In addition, according to one embodiment, the captured telematics data may be stored in the memory modules 303 of the telematics device 102 or in an associated database.


Next, at step 410, the telematics device 102 associates the telematics data captured and stored in step 406 with contextual data. In one embodiment, the contextual data indicates the date, time, vehicle, driver, route, and data type (e.g., the sensor that collected the data) for each captured piece of telematics data. For example, in step 406 the telematics device may capture the vehicle's engine speed in response to a vehicle event. The telematics data received from the vehicle sensor may be “1000 RPM,” indicating that the engine was turning at 1000 revolutions per minute when the telematics data was captured. In response, the telematics device 102 may associate the following exemplary contextual data: Date=/08/24/09; Time=12:36 PM; Vehicle=GA12345; Driver=Doe, John A.; Route=#61256; Data Type=Engine Speed. According to various embodiments, the contextual data may be any computer-readable and transmittable data format. For example, in one embodiment, the contextual data is metadata.


Next, at step 412, the telematics device 102 transmits the stored telematics data and associated contextual data to the central server 120. This may be accomplished by using any of the transmission methods and systems described herein. In another embodiment, the telematics device 102 is configured to transmit the telematics data and contextual data to the portable data acquisition device 110, rather than or in addition to, transmitting the data to the central server 120.


Central Server Logic



FIG. 5 illustrates exemplary steps executed by the central server 120 to analyze telematics data captured and stored by the telematics device 102, identify data indicating potential inefficiencies, safety hazards, and/or theft hazards, and provide a variety of travel analysis options for fleet managing entities. Beginning with step 502, the central server 502 monitors whether telematics data has been received from the telematics device 102 or portable data acquisition device 110. If telematics data is not being received from either device, the central server 120 moves to step 520. If the central server 120 determines that telematics data is being received from either device, the central server 120 moves to step 504. Next, at step 504, the central server 120 stores, in the system's memory, the telematics data and any associated contextual data received from the telematics device 102 or portable data acquisition device 110.


Next, at step 506, the central server 120 identifies any engine idle segments indicated by the received telematics data. The telematics data may contain data indicating engine idle events (e.g., telematics data indicating that a delivery vehicle's engine was on and the vehicle's speed was zero at a particular point in time). In the illustrated embodiment, the central server 120 is configured to identify strings of consecutive engine idle events comprising engine idle segments (which are described in more detail below).


Telematics data captured in response to a variety of vehicle events may indicate an engine idle event. For example, in one embodiment, the telematics device may be configured such that defined vehicle events include (a) a vehicle's engine beginning to idle, (b) a vehicle's engine ceasing to idle, and (c) a seat belt being fastened, and telematics data from an engine speed sensor and a seat belt sensor will be captured upon the occurrence of either event. In this embodiment, if a vehicle's engine begins to idle, a vehicle event will be detected and telematics data will be captured. The captured telematics data will indicate an engine idle event as the engine was idling the moment the data was captured. In addition, if a driver fastens a seat belt, another vehicle event will be detected and telematics data will again be captured. If the vehicle's engine was still idling, the captured telematics will indicate an additional engine idle event as the engine was idling when the telematics data was captured.


An engine idle segment represents a period of time during which a vehicle was idling, beginning when the vehicle starts to idle and ending when the vehicle stops idling. For example, in the embodiment described immediately above, if a vehicle traveling at speed encounters traffic and has to slow to a stop, a vehicle event will be detected the moment the vehicle's speed reaches zero while the vehicle's engine is running. When this vehicle event is detected, telematics data is captured and stored from the associated vehicle sensors. The telematics data captured in this instance will indicate an engine idle event. While the vehicle is idling in traffic, other vehicle events may be detected (e.g., the driver unfastens the seat belt) and additional telematics data may be captured. As described above, this telematics data will also indicate an engine idle event or events. As the vehicle accelerates, another vehicle event is detected when the vehicle's speed increases above zero and additional telematics data is captured and stored. The telematics data captured in this instance will also indicate an engine idle event. The string of engine idle events (e.g., the engine idle event indicated from the data captured when the vehicle began to idle, engine idle events indicated from the data captured while the vehicle remained idling, and the engine idle event indicated from the data captured when the vehicle ceased to idle) form an engine idle segment representing the period of time during which the vehicle was stopped in traffic and its engine was idling. By identifying each engine idle segment, the central server 120 determines the specific periods of time during which a vehicle's engine was idling.


Next, at step 508, the central server 120 associates the identified engine idle segments with a particular segment of a vehicle trip. This is accomplished by comparing the engine idle segments to telematics data indicating various vehicle events occurring before and after each engine idle segment.


As described above, in one embodiment, a vehicle trip may be divided into a Start of Trip segment, a During Travel segment, and an End of Trip segment. In one embodiment, the central server 120 associates each identified engine idle segment with a vehicle trip segment according to the following logic: (i) engine idle segments preceded by an engine off event (e.g., the engine simply being off) and followed by a travel event (e.g., the engine turned on and the vehicle moving) or another engine off event are associated with the Start of Trip Segment; (ii) engine idle segments preceded by a travel event and followed by another travel event are associated with the During Travel Segment; and (iii) engine idle segments preceded a travel event and followed by an engine off event are associated with the End of Trip Segment. As will be discussed in more detail below, FIG. 10 shows an exemplary user interface configured to display, among other things, a table of engine idle segments indicating the vehicle trip segment in which each engine idle segment occurred.


Next, at step 510, the central server 120 determines whether any of the identified engine idle segments have a statistically abnormal duration. In one embodiment, this determination is made by determining whether the duration of each engine idle segment exceeds an idle duration threshold for the vehicle trip segment with which the engine idle segment is associated. For example, a user of the fleet management system 5 may define an idle duration threshold for each vehicle trip segment. The target idle duration for Start of Trip events may be slightly longer than the target duration for End of Trip events due to the additional safety procedures a driver may go through after starting the engine, but before moving the vehicle (e.g., looking left, right, and in the mirrors to ensure it is safe to enter traffic).


A user of the fleet management system 5 may also specify parameters controlling which engine idle segments are identified by the central server 120 as having an abnormal duration. For example, in one embodiment, the user may specify that the central server 120 will identify all engine idle segments having a duration more than 5 seconds longer than their associated target idle duration. In another embodiment, where a user wants to identify only large idle periods, the user may specify that the central server 120 will identify all engine idle segments having a duration more than 20 seconds longer than their associated target idle duration. Accordingly, in one embodiment, at step 510, the central server 120 compares the duration of each engine idle segment to its relevant target duration and identifies all engine idle segments having a duration exceeding their target duration by an amount greater than or equal to a defined threshold value (e.g., a value specified by the user as described above).


If the central server 120 does not identify any engine idle segments having an abnormal duration, the central server 120 moves to step 516. If the central server 120 does identify one or more engine idle segments having an abnormal duration, the central server 120 moves to step 512. At step 512, the central server 120 assigns an alert identifier to the engine idle segments identified as having abnormal durations. For example, in one embodiment, the assigned alert identifiers are metadata identifying particular engine idle segments as having abnormal duration.


Next, at step 514, the central server generates an alert indicating to a user of the fleet management system 5 that engine idle data indicating at least one idle time of an abnormally long duration has been detected. For example, in one embodiment, the central server 120 sends an email to the fleet management system user indicating that engine idle data having an abnormal duration has been detected. In a further embodiment, the email may display the particular data having an abnormal duration or provide a link to the data. In yet another embodiment, the central server 120 may generate an alert via a user interface (e.g., the user interface shown in FIG. 10) indicating the identified engine idle segments. Next, at step 516, the central server 120 stores, in the system's memory, all of the data generated by the central server 120 in steps 506 through 514 (e.g., vehicle segment determinations, alert identifiers).


Steps 520 through 534 show an exemplary set of logic used by the central server to call various modules configured to conduct more detailed analyses of the telematics data received and processed in steps 506 through 514. As described above, according to certain embodiments, the fleet management system 5 may include a user interface through which a user of the system 5 may interact with the system and make choices. For example, the user interface may provide the user with options to (i) view potential inefficiencies indicated by the telematics data, (ii) view potential safety hazards indicated by the telematics data, (iii) view potential theft hazards indicated by the telematics data, and (iv) view more travel analysis options.


At step 520, the central server 120 determines whether a user of the fleet management system 5 has requested that the system 5 identify potential inefficiencies in a driver's delivery process indicated by the telematics data. If the user has requested this option, the central server 120 moves to step 522, where it calls the Efficiency analysis module 600. If the user has not requested this option, the central server 120 moves to step 524.


At step 524, the central server 120 determines whether a user of the fleet management system 5 has requested that the system 5 identify potential safety hazards in a driver's delivery process indicated by the telematics data. If the user has requested this option, the central server 120 moves to step 526, where it calls the Safety analysis module 700. If the user has not requested this option, the central server 120 moves to step 528.


At step 528, the central server 120 determines whether a user of the fleet management system 5 has requested that the system 5 identify potential theft hazards in a driver's delivery process indicated by the telematics data. If the user has requested this option, the central server 120 moves to step 530, where it calls the Theft analysis module 800. If the user has not requested this option, the central server 120 moves to step 532.


At step 528, the central server 120 determines whether a user of the fleet management system 5 has requested to view additional travel analysis options (e.g., calculating engine idle time percentages and calculating travel delays). If the user has requested this option, the central server 120 moves to step 534, where it calls the Travel analysis module 800. If the user has not requested this option, the central server 120 loops back to step 502.


In other embodiments, the central server may be configured not to execute steps 520, 524, 528, and 532. For example, in one embodiment, the central server is configured to automatically execute steps 522, 526, 530 and 534. In addition, according to other embodiments, the central server 120 may be configured to execute all or a portion of the steps illustrated in FIG. 5 in the same or a different order.


Efficiency Analysis Module


According to various embodiments, the efficiency analysis module 600 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential inefficient operation of a delivery vehicle and (ii) identify specific inefficient operations indicated by the engine idle segments and associated telematics data.



FIG. 6 illustrates exemplary steps executed by the efficiency analysis module 600 according to one embodiment. Beginning with step 602, the efficiency analysis module 600 receives user preferences for an efficiency analysis in the form of analysis parameters. For example, in one embodiment, a user may specify one or more of the following parameters in order to narrow the telematics data analyzed by the efficiency analysis module 600: (1) date; (2) time; (3) vehicle (e.g., a vehicle number); (4) driver (e.g., name or employee id); (5) route (e.g., route number); (6) vehicle trip segment (e.g., Start of Trip); and (7) vehicle event (e.g., seat belt engaged or disengaged). For each parameter, the user may specify a particular value (e.g., a date), range of values (e.g., range of dates), or series of values (e.g., two or more non-consecutive dates) defining the telematics data to be used by efficiency analysis module 600. Parameters without a specified value or values are ignored by the efficiency analysis module 600.


Next, at step 603, the efficiency analysis module 600 retrieves telematics data stored by the central server 120 meeting the analysis parameters received in step 602. This may be accomplished by using the analysis parameters as a filter for retrieving the telematics data. For example, if a user specifies a particular date, route number, and vehicle trip segment, the efficiency analysis module 600 will retrieve all telematics data captured on the specified date, for vehicles traveling along the specified route, and during the specified vehicle trip segment. In one embodiment, the desired telematics data is identified by using the contextual metadata associated with the stored telematics data by the telematics device 102 (see FIG. 4, step 410).


Next, at step 604, the efficiency analysis module 600 identifies all engine idle segments present in the retrieved telematics data having an alert identifier assigned by the central server 120 (see FIG. 5, step 512). As described above, in one embodiment, engine idle segments having been determined to have an abnormal duration are assigned an alert identifier by the central server 120.


Next, at step 606, the efficiency analysis module 600 displays the identified abnormal engine idle segments via a user interface. This allows the user to view all engine idle segments having an abnormal idle duration that meet the initial analysis parameters. According to one embodiment, these idle segments may be displayed in a table, similar to that illustrated in FIG. 10, showing the date and time each idle segment was captured, the vehicle trip segment during which each engine idle segment occurred, and the duration of each engine idle segment. In a further embodiment, the table may be configured such that the user may select a particular engine idle segment (e.g., with a computer mouse) and view the telematics data collected proximately before, proximately after, or during the particular engine idle segment. In this embodiment, the user has the option of browsing the telematics data captured during or proximate to the engine idle segment to determine the source of any potential inefficiencies.


Next, at step 608, the efficiency analysis module 600 determines whether the user has requested the central server 120 to identify potential inefficiencies indicated by the identified engine idle segments and retrieved telematics data (e.g., by selecting this option with a computer mouse via a user interface). If the user has not made this request, the efficiency analysis module 600 moves to step 614. If the user has made this request, the efficiency analysis module 600 moves to step 610.


Next, at step 610, the efficiency analysis module 600 identifies the retrieved engine idle segments meeting one or more sets of defined inefficiency criteria. According to one embodiment, the inefficiency criteria are programmable criteria for identifying specific potential inefficiencies in a delivery process. For example, a common inefficient operation in a delivery process occurs when a driver starts a delivery vehicle and allows the vehicle to idle while he or she fastens the vehicle's driver's side seat belt. By not fastening the seat belt before starting the vehicle's engine, the driver allows the vehicle to unnecessarily idle for a short period of time, wasting fuel and unnecessarily increasing the wear on the vehicle's engine. To identify the occurrence of this particular inefficient operation from the engine idle segments and telematics data, inefficiency criteria may be defined and associated with the inefficient operation.


For example, in one embodiment, inefficiency criteria associated with the operation of allowing the vehicle to idle while securing a seat belt is defined as any engine idle segment occurring in the start of trip segment where the telematics data indicates a seat belt was secured during the engine idle segment. In this embodiment, to determine whether any engine idle segments meet this inefficiency criteria, the efficiency analysis module 600 first identifies, from the set of previously identified engine idle segments meeting the analysis parameters, the engine idle segments occurring in the start of trip segment. For each of these start of trip engine idle segments, the efficiency analysis module 600 determines the duration of the engine idle segment and the time the engine idle segment began (or ended). Using the duration and start or end time as a guide, the efficiency analysis module 600 then searches the telematics data collected and stored during each engine idle segment for data indicating a seat belt was engaged. If the telematics data indicates a seat belt was engaged during a particular engine idle segment, the efficiency analysis module 600 determines that this particular inefficient operation (i.e., allowing the vehicle to idle while securing a seat belt) occurred for the vehicle, driver, and route associated with the particular engine idle segment.


According to various embodiments, the efficiency analysis module 600 may be configured to identify additional or different inefficient operations based on defined inefficiency criteria for each inefficient operation. Exemplary inefficient operations identifiable by the efficiency analysis module 600 include but are not limited to: (1) allowing a vehicle to idle while disengaging a seat belt; (2) allowing the vehicle to idle while opening or closing the bulkhead door (or other door) of the vehicle; and (3) allowing the vehicle to idle while using a portable data acquisition device (e.g., a DIAD). Inefficiency criteria may be defined and identified for these and other inefficient operations by the efficiency analysis module 600 in a manner similar to that described above.


Next, at step 612, the efficiency analysis module 600 displays information via a user interface indicating the specific inefficient operations determined to have occurred in step 610. In one embodiment, step 612 may also include displaying or providing a link to the specific telematics data indicating an identified inefficient operation.


Next, at step 614, the efficiency analysis module 600 calculates the actual engine idle time for the analysis parameters. For example, if a user specifies a particular date and vehicle in the analysis parameters, the efficiency analysis module 600 will calculate the actual engine idle time for the specified vehicle on the specified date. In one embodiment, the actual engine idle time represents the total amount of time a vehicle's (or vehicles′) engine was idling for a period specified by the analysis parameters. In the example above, the actual engine idle time would represent the total amount of time the specified vehicle's engine was idling for the entire specified day.


According to one embodiment, the efficiency analysis module 600 is configured to determine the actual engine idle time for a set of analysis parameters by first identifying the engine idle segments meeting the analysis parameters and then calculating the total combined duration of all identified engine idle segments. This may be accomplished, for example, by retrieving all of the engine idle segments present in the telematics data retrieved in step 603 (e.g., the engine idle segments meeting the analysis parameters), adding the durations of all engine idle segments, and returning the calculated value.


For the purposes of evaluating the efficiency of operations, however, the actual engine idle time for a set of analysis parameters may in some instances be misleading. For example, certain significant amounts of engine idle time may be attributable to events which are not the result of a driver's inefficiency, such as travel delays. Accordingly, to better identify the engine idle time associated with driver inefficiencies, the efficiency analysis module 600 is further configured at step 616 to calculate the corrected engine idle time for the analysis parameters. In one embodiment, the corrected engine idle time represents the actual engine idle time less any engine idle time attributable to travel delays.


According to one embodiment, the efficiency analysis module 600 is configured to determine the corrected engine idle time by first identifying, from the engine idle segments used to calculate the actual engine idle time, those engine idle segments caused by travel delays. For example, in one embodiment, the efficiency analysis module 600 may accomplish this by identifying the engine idle segments associated with during travel vehicle trip segments. Next, the efficiency analysis module 600 examines the telematics data captured during those engine idle segments and searches for data indicating non-travel related delays. For example, in one embodiment, the efficiency analysis module 600 is configured such that if the telematics data captured during a during travel engine idle segment indicates that the vehicle's parking brake was engaged during the engine idle segment, the engine idle segment will not be associated with a travel delay. In further embodiments, the efficiency analysis module 600 may be configured to identify other data indicating non-travel related delays, such as a seat belt being disengaged during the engine idle segment.


By examining the telematics data captured during each identified engine idle segment, the efficiency analysis module 600 isolates those engine idle segments attributable to travel delays. The efficiency analysis module 600 is configured to then add the duration of each engine idle segment attributable to travel delays to calculate the total amount of engine idle time associated with travel delays for the analysis parameters. Finally, the efficiency analysis module 600 calculates the corrected engine idle time by subtracting the total amount of engine idle time associated with travel delays from the actual engine idle time determined in step 614.


Next, at step 618, the efficiency analysis module displays the calculated actual engine idle time and corrected engine idle time. According to the other embodiments, the efficiency analysis module 600 may be configured to display only one of these calculated values based on user preferences. For example, in the exemplary user interface shown in FIG. 10, the actual engine idle time is labeled as “Total Idle Time Mins” in the left column.


Next, at step 620, the efficiency analysis module 600 calculates the actual engine idle time percentage. In one embodiment, this is accomplished by determining from the telematics data the total engine running time for the analysis parameters and dividing the actual engine idle time calculated in step 614 by the total engine running time. The resulting actual engine idle time percentage represents the percentage of total engine running time the vehicle engine was idling.


Next, at step 622, the efficiency analysis module 600 calculates the corrected engine idle time percentage. In one embodiment, this is accomplished by dividing the corrected engine idle time calculated in step 616 by the total engine running time. The resulting corrected engine idle time percentage represents the percentage of total engine running time the vehicles' engine was idling due to non-travel delays.


Next, at step 624, the efficiency analysis module 600 displays the calculated actual engine idle time percentage and calculated corrected engine idle time percentage via a user interface. According to the other embodiments, the efficiency analysis module 600 may be configured to display only one of these calculated values based on user preferences. For example, FIG. 10 shows an exemplary user interface configured to display, among other things, engine idle segments that the central server 120 has associated with vehicle trip segments and the engine idle time percentage calculated from those engine idle segments. The actual engine idle time percentage is labeled as “Idle % of Total Engine Runtime.” In addition, the exemplary user interface includes a table of engine idle segments. For each engine idle segment, the table displays the start time of the segment (the “Start” column), the vehicle trip segment in which the engine idle segment occurred (the “Idle Type” column), and the duration of the engine idle segment (the “Idle Time” column).


According to another embodiment (not shown), the efficiency analysis module 600 is further configured to generate an alert indicating to a user of the fleet management system 5 that a potential driver inefficiency has been detected. For example, in one embodiment, the central server 120 sends an email to the fleet management system user indicating that a potential driver inefficiency has been detected and describing the potential driver inefficiency. In a further embodiment, the email may display the particular telematics data indicating the driver inefficiency or provide a link to the data. In yet another embodiment, the central server 120 generates an alert via a user interface (e.g., the user interface shown in FIG. 10) indicating the identified engine idle segments.


According to further embodiments (not show), the efficiency analysis module 600 is configured to compare efficiency statistics (e.g., engine idle time percentage) for different analysis parameters. For example, in one embodiment, the travel analysis module 900 is configured to compare engine idle time percentage associated with different drivers on a particular date. In FIG. 10, the central server 120 has calculated efficiency statistics for each of the drivers listed in the top right box. By selecting a driver, “John Doe” in the Figure, a user can view statistics for that driver. According to other embodiments, the efficiency analysis module 900 is configured to display the results in a comparative format.


According to other embodiments, the efficiency analysis module 600 may be configured to execute all or a portion of the steps shown in FIG. 6 in the same or a different order. For example, in one embodiment, the efficiency analysis module does not execute step 608 and, instead, executes steps 610 and 612 automatically without providing a user with the option detected in step 608. In yet another embodiment, additional steps may be added to the efficiency analysis module 600 to make steps 614-624 optional steps executed in response to a user request.


Safety Analysis Module


According to various embodiments, the safety analysis module 700 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential safety hazards present in the operation of a delivery vehicle and (ii) identify specific safety hazards indicated by the engine idle segments and associated telematics data.



FIG. 7 illustrates exemplary steps executed by the safety analysis module 700 according to one embodiment. Beginning with step 702, the safety analysis module 700 receives user preferences for a safety analysis in the form of analysis parameters. These analysis parameters may be, for example, the same or similar to those described above in relation to the efficiency analysis module 600. According to one embodiment, the safety analysis module 700 provides the user with the option of using analysis parameters previously specified for an efficiency analysis, or inputting unique parameters for the safety analysis.


Next, at step 703, the safety analysis module 700 retrieves telematics data stored by the central server 120 meeting the analysis parameters received in step 702. This may be accomplished, for example, in the same or a similar manner to that described above in relation to step 603 of the efficiency analysis module 600.


Next, at step 704, the safety analysis module 700 identifies all engine idle segments present in the retrieved telematics data having an alert identifier assigned by the central server 120 (see FIG. 5, step 512). Next, at step 706, the safety analysis module 700 displays the identified engine idle segments via a user interface. According to various embodiments, the identified engine idle segments may be displayed in any of the ways described above in relation to step 606 of the efficiency analysis module 600.


Next, at step 708, the safety analysis module 700 determines whether the user has requested the central server 120 to identify potential safety hazards indicated by the identified engine idle segments and retrieved telematics data (e.g., by selecting this option with a computer mouse via a user interface). If the user has not made this request, the safety analysis module 700 moves to step 709 and ends. If the user has made this request, the safety analysis module 700 moves to step 710.


Next, at step 710, the safety analysis module 700 identifies the retrieved engine idle segments meeting one or more sets of defined safety criteria. According to one embodiment, the safety criteria are programmable criteria for identifying specific potential safety hazards in a delivery process. For example, a common safety hazard in a delivery process occurs when a driver starts a delivery vehicle before fastening his or her seat belt. To identify the occurrence of this safety hazard from the engine idle segments and telematics data, safety criteria may be defined and associated with this particular safety hazard.


For example, in one embodiment, safety criteria associated with the starting a vehicle before fastening the seat belt is defined as any engine idle segment occurring in the start of trip segment where the telematics data indicates a seat belt was secured during the engine idle segment. In this embodiment, to determine whether any engine idle segments meet this safety criteria, the safety analysis module 700 first identifies, from the set of previously identified engine idle segments meeting the analysis parameters, the engine idle segments occurring in the start of trip segment. For each of these start of trip engine idle segments, the safety analysis module 700 determines the duration of the engine idle segment and the time the engine idle segment began (or ended). Using the duration and start or end time as a guide, the safety analysis module 700 then searches the telematics data collected and stored during each engine idle segment for data indicating a seat belt was engaged. If the telematics data indicates a seat belt was engaged during a particular engine idle segment, the safety analysis module 700 determines that this particular safety hazard (i.e., starting the vehicle without first securing a seat belt) occurred for the vehicle, driver, and route associated with the particular engine idle segment.


According to various embodiments, the safety analysis module 700 may be configured to identify additional or different safety hazards based on defined safety criteria for each safety hazard. Exemplary safety hazards identifiable by the safety analysis module 700 include but are not limited to the driver: (1) driving a vehicle with the seatbelt unsecured; (2) starting or driving a vehicle with the bulkhead door (or other door) open; (3) allowing the vehicle to idle while the driver is outside of the cockpit (which may be detected by having a sensor sense the driver grasping a handle to exit the vehicle while the vehicle is idling); and (4) driving the vehicle while using a portable data acquisition device (e.g., a DIAD). Safety criteria may be defined and identified for these and other safety hazards by the safety analysis module 700 in a manner similar to that described above.


Next, at step 712, the safety analysis module 700 displays information via a user interface indicating the specific safety hazards determined to have occurred in step 710. In one embodiment, step 712 may also include displaying or providing a link to the specific telematics data indicating an identified safety hazard.


According to another embodiment (not shown), the safety analysis module 700 is further configured to generate an alert indicating to a user of the fleet management system 5 that a potential safety hazard has been detected. For example, in one embodiment, the central server 120 sends an email to the fleet management system user indicating that a potential safety hazard has been detected and describing the potential safety hazard. In a further embodiment, the email may display the particular telematics data indicating the safety hazard or provide a link to the data. In yet another embodiment, the central server 120 generates an alert via a user interface (e.g., the user interface shown in FIG. 10) indicating the identified engine idle segments.


Theft Analysis Module


According to various embodiments, the theft analysis module 800 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) identify engine idle segments indicating potential theft hazards present in the operation of a delivery vehicle and (ii) identify specific theft hazards indicated by the engine idle segments and associated telematics data.



FIG. 8 illustrates exemplary steps executed by the theft analysis module 800 according to one embodiment. Beginning with step 802, the theft analysis module 800 receives user preferences for a theft analysis in the form of analysis parameters. These analysis parameters may be, for example, the same or similar to those described above in relation to the efficiency analysis module 600 and safety analysis module 700. According to one embodiment, the theft analysis module 800 provides the user with the option of using analysis parameters previously specified for an efficiency analysis or safety analysis, or inputting unique parameters for the theft analysis.


Next, at step 803, the theft analysis module 800 retrieves telematics data stored by the central server 120 meeting the analysis parameters received in step 802. This may be accomplished, for example, in the same or a similar manner to that described above in relation to step 603 of the efficiency analysis module 600.


Next, at step 804, the theft analysis module 800 identifies all engine idle segments present in the retrieved telematics data having an alert identifier assigned by the central server 120 (see FIG. 5, step 512). Next, at step 806, the theft analysis module 800 displays the identified engine idle segments via a user interface. According to various embodiments, the identified engine idle segments may be displayed in any of the ways described above in relation to step 606 of the efficiency analysis module 600.


Next, at step 808, the theft analysis module 800 determines whether the user has requested the central server 120 to identify potential theft hazards indicated by the identified engine idle segments and retrieved telematics data (e.g., by selecting this option with a computer mouse via a user interface). If the user has not made this request, the theft analysis module 800 moves to step 809 and ends. If the user has made this request, the theft analysis module 800 moves to step 810.


Next, at step 810, the theft analysis module 800 identifies the retrieved engine idle segments meeting one or more sets of defined theft criteria. According to one embodiment, the theft criteria are programmable criteria for identifying specific potential theft hazards in a delivery process. For example, a common theft hazard in a delivery process occurs when a driver leaves a door to the delivery vehicle open while the engine is idling. To identify the occurrence of this theft hazard from the engine idle segments and telematics data, theft criteria may be defined and associated with this particular theft hazard.


For example, in one embodiment, theft criteria associated with leaving a door to the delivery vehicle open while the engine is idling is defined as any engine idle segment where the telematics data indicates a vehicle door is open during the engine idle segment. In this embodiment, to determine whether any engine idle segments meet this theft criteria, the theft analysis module 800 first retrieves the set of previously identified engine idle segments associated with alert identifiers. For each of these engine idle segments, the theft analysis module 800 determines the duration of the engine idle segment and the time the engine idle segment began (or ended). Using the duration and start or end time as a guide, the theft analysis module 800 then searches the telematics data collected and stored during each engine idle segment for data indicating a door to the vehicle was open. If the telematics data indicates a door to the vehicle was open during a particular engine idle segment, the theft analysis module 800 determines that this particular theft hazard (i.e., leaving a vehicle door open while the engine is idling) occurred for the vehicle, driver, and route associated with the particular engine idle segment.


According to various embodiments, the theft analysis module 800 may be configured to identify additional or different theft hazards based on defined theft criteria for each theft hazard. Exemplary theft hazards identifiable by the theft analysis module 800 include but are not limited to: (1) allowing the vehicle to idle while outside of the cockpit (e.g., sensing the driver grasp a handle to exit the vehicle while the vehicle is idling); and (2) failing to secure or lock vehicle doors. Theft criteria may be defined and identified for these and other theft hazards by the theft analysis module 800 in a manner similar to that described above.


Next, at step 812, the theft analysis module 800 displays information via a user interface indicating the specific theft hazards determined to have occurred in step 810. In one embodiment, step 812 may also include displaying or providing a link to the specific telematics data indicating an identified theft hazard.


According to another embodiment (not shown), the theft analysis module 800 is further configured to generate an alert indicating to a user of the fleet management system 5 that a potential theft hazard has been detected. For example, in one embodiment, the central server 120 sends an email to the fleet management system user indicating that a potential theft hazard has been detected and describing the potential theft hazard. In a further embodiment, the email may display the particular telematics data indicating the theft hazard or provide a link to the data. In yet another embodiment, the central server 120 generates an alert via a user interface (e.g., the user interface shown in FIG. 10) indicating the identified engine idle segments.


Travel Analysis Module


According to various embodiments, the travel analysis module 900 is configured to provide a user with various options for analyzing travel aspects of the delivery vehicles 100 in the fleet management system 5. In one embodiment, the travel analysis module 900 is configured to analyze engine idle data in relation to other telematics data and in accordance with user preferences to (i) estimate the travel delay associated with particular analysis parameters and (ii) determine the actual vehicle speed and corrected vehicle speed for vehicles associated with particular analysis parameters.



FIG. 9 illustrates exemplary steps executed by the travel analysis module 900 according to one embodiment. Beginning with step 902, the travel analysis module 900 receives user preferences for a travel analysis in the form of analysis parameters. These analysis parameters may be, for example, the same or similar to those described above in relation to the efficiency analysis module 600, safety analysis module 700, and theft analysis module 900. According to one embodiment, the travel analysis module 900 provides the user with the option of using analysis parameters previously specified for an efficiency analysis, safety analysis, or theft analysis, or inputting unique parameters for the travel analysis.


Next, at step 903, the travel analysis module 900 retrieves telematics data stored by the central server 120 meeting the analysis parameters received in step 902. This may be accomplished, for example, in the same or a similar manner to that described above in relation to step 603 of the efficiency analysis module 600.


Next, at step 904, the travel analysis module 900 identifies all engine idle segments present in the retrieved telematics data having an alert identifier assigned by the central server 120 (see FIG. 5, step 512). Next, at step 906, the travel analysis module 900 displays the identified engine idle segments via a user interface. According to various embodiments, the identified engine idle segments may be displayed in any of the ways described above in relation to step 606 of the efficiency analysis module 600.


Next, at step 908, the travel analysis module 900 determines whether the user has requested the central server 120 to estimate the travel delay time for vehicles and/or routes specified in the analysis parameters (e.g., by selecting this option with a computer mouse via a user interface). If the user has not made this request, the travel analysis module 900 moves to step 914. If the user has made this request, the travel analysis module 900 moves to step 910.


Next, at step 910, the travel analysis module 900 estimates the travel delay or delays associated with the specified analysis parameters. For example, if the user specifies a particular date and vehicle, the travel analysis module 900 will estimate the travel delay for the specified vehicle over the course of the specified date. If the user further specifies a particular route, the travel analysis module 900 will estimate the travel delay for the specified vehicle while traveling along the specified route on the specified date. As another example, if the user specifies only a date and route, the travel analysis module 900 will estimate the travel delay for each vehicle traveling along the specified route on the specified date.


According to one embodiment, the travel analysis module 900 is configured to estimate the travel delay for a particular vehicle by first identifying, from the engine idle segments identified in step 904, those engine idle segments caused by travel delays. This may be accomplished, for example, in the manner described above in relation to step 616 executed by the efficiency analysis module 600. Next, the travel analysis module 900 examines the telematics data captured during those engine idle segments and searches for data indicating non-travel related delays. This may also be accomplished, for example, in the manner described above in relation to step 616 executed by the efficiency analysis module 600.


By examining the telematics data captured during each identified engine idle segment, the travel analysis module 900 isolates those engine idle segments attributable to travel delays. The travel analysis module 900 is configured to then add the durations of each engine idle segment attributable to travel delays to calculate the total amount of engine idle time associated with travel delays for the analysis parameters. The engine idle time associated with travel delays serves as an estimate of the travel delay.


Next, at step 912, the travel analysis module 900 displays via a user interface the travel delay estimated in step 810. In one embodiment, step 912 may also include displaying or providing a link to the specific telematics data used to estimate the travel delay.


Next, at step 914, the travel analysis module 900 determines whether the user has requested the central server 120 to calculate vehicle speeds for vehicles specified in the analysis parameters (e.g., by selecting this option with a computer mouse via a user interface). If the user has not made this request, the travel analysis module 900 moves to step 915 and ends. If the user has made this request, the travel analysis module 900 moves to step 916.


Next, at step 916, the travel analysis module 900 calculates the actual vehicle speed for vehicles specified in the analysis parameters. As described above, the relevant vehicles may be defined by the analysis parameters in terms of specific vehicles, or vehicles associated with a specified route or routes. In addition, actual speed for the relevant vehicles will be calculated for the analysis parameters. For example, if the user specifies in the analysis parameters a particular vehicle, date, and route, the travel analysis module 900 will calculate the average actual speed of the specified vehicle while traveling on the specified route on the specified day. As another example, if the user specifies in the analysis parameters a particular vehicle, date, and two geographic points, the travel analysis module 900 will calculate the average actual speed of the specified vehicle while traveling between the two specified geographic points on the specified date. As yet another example, if the user specifies in the analysis parameters a particular route and a particular time period (e.g., 7:00 am to 9:00 am), the travel analysis module 900 will calculate the average actual speed of each vehicle traveling along the specified route during the specified time period on the specified date.


In various embodiments, the travel analysis module 900 is configured to calculate the actual vehicle speed for each relevant vehicle(s) by first determining, from the telematics data retrieved in step 903, the distance traveled by the relevant vehicle(s) according to the analysis parameters and the travel time for that that distance. Next, by dividing the distance traveled by the travel time, the travel analysis module 900 calculates the actual vehicle speed for the analysis parameters.


Next, at step 918, the travel analysis module 900 calculates the corrected vehicle speed for the relevant vehicles according to the analysis parameters. In one embodiment, the travel analysis module 900 is configured to calculate the corrected vehicle speed by first determining the travel delay time associated with the analysis parameters. This may be accomplished, for example, as described above in step 910. Next, the travel analysis module 900 subtracts the travel delay time from the travel time determined in step 916, resulting in a corrected travel time representing the actual travel time less time attributed to travel delays. Finally, by the distance traveled (calculated in step 916) by the corrected travel time, the travel analysis module 900 calculates the corrected vehicle speed for the analysis parameters.


According to further embodiments (not show), the travel analysis module 900 is configured to compare travel delay and vehicle speed figures calculated for different analysis parameters. For example, in one embodiment, the travel analysis module 900 is configured to compare travel delays associated with two different routes on a particular date. In this embodiment, the travel analysis module 900 is configured to calculate the travel delays for vehicles traveling on each route and display the results in a comparative format. Similarly, in other embodiments, the travel analysis module 900 is configured to compare vehicle speeds for various analysis parameters.


CONCLUSION

As should be appreciated, the embodiments may be implemented in various ways, including as methods, apparatus, systems, or computer program products. Accordingly, the embodiments may take the form of an entirely hardware embodiment or an embodiment in which a processor is programmed to perform certain steps. Furthermore, the various implementations may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions embodied in the storage medium. Any suitable computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.


The embodiments are described below with reference to block diagrams and flowchart illustrations of methods, apparatus, systems, and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, respectively, may be implemented in part by computer program instructions, e.g., as logical steps or operations executing on a processor in a computing system. These computer program instructions may be loaded onto a computer, such as a special purpose computer or other programmable data processing apparatus to produce a specifically-configured machine, such that the instructions which execute on the computer or other programmable data processing apparatus implement the functions specified in the flowchart block or blocks.


These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the functionality specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block or blocks.


Accordingly, blocks of the block diagrams and flowchart illustrations support various combinations for performing the specified functions, combinations of operations for performing the specified functions and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.


Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these embodiments of the invention pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims
  • 1. A measurement system comprising: a plurality of measuring devices associated with a plurality of targets to be measured, wherein each measuring device of the plurality of measuring devices is configured to:register a voltage amount that corresponds with an on condition, an off condition, or a variable condition of a target to be measured wherein the voltage registered corresponds to a speed of an engine within the target to be measured;generate computer-readable data associated with the voltage registered; andsegment the computer-readable data into one or more vehicle trips;based on the segmented computer-readable data, analyze an efficiency of at least one driver associated with the one or more vehicle trips; and a processor configured to monitor, capture, and store the computer-readable data from the measuring device.
  • 2. The measurement system of claim 1 further comprising a computer system having one or more memory storage areas and one or more second processors, the computer system configured to: receive, from the processor, the computer-readable data from the measuring device;associate at least a portion of the computer-readable data with a time point segment;determine whether the portion of the computer-readable data satisfies a predefined analysis criteria; andgenerate a graphical user display illustrating at least a portion of the computer-readable data.
  • 3. The measurement system of 2, wherein two temporally adjacent time point segments are distinguished based on an occurrence of a first result.
  • 4. The measurement system of claim 3, wherein determining whether the first result satisfies a predefined analysis criteria comprises determining whether a second result occurs after the first result.
  • 5. The measurement system of claim 2, wherein the processor is configured to monitor the measuring device while the target to be measured is in the off condition.
  • 6. The measurement system of claim 2, wherein the computer-readable data is segmented into one or more time point segments.
  • 7. The measurement system of claim 2, wherein associating at least a portion of the computer-readable data with the time point segment comprises associating the portion of the computer-readable data with the time point segment selected from a group consisting of: a start segment;a during operation segment; andan end segment.
CROSS REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation in part of U.S. Nonprovisional application Ser. No. 16/226,041 filed Dec. 19, 2018, which is a continuation of U.S. Nonprovisional application Ser. No. 15/615,232, filed Jun. 6, 2017 and now issued as U.S. Pat. No. 10,192,370B2, which is a continuation of U.S. Nonprovisional application Ser. No. 14/517,500, filed Oct. 17, 2014 and now issued as U.S. Pat. No. 9,704,303B2, which is a continuation of U.S. Nonprovisional application Ser. No. 13/799,627 filed Mar. 13, 2013 and now issued as U.S. Pat. No. 8,896,430, which is a continuation of U.S. Nonprovisional application Ser. No. 12/556,140 filed Sep. 9, 2009 and now issued as U.S. Pat. No. 8,416,067, which claims the benefit of U.S. Provisional Application No. 61/095,486, filed Sep. 9, 2008, each of which is herein incorporated by reference in its entirety.

US Referenced Citations (666)
Number Name Date Kind
3526127 Sarkis Sep 1970 A
3789198 Henson et al. Jan 1974 A
3822049 Saunders Jul 1974 A
4113217 O'Connell Sep 1978 A
4124815 Stoschek Nov 1978 A
4152693 Ashworth, Jr. May 1979 A
4312310 Chivilo'et al. Jan 1982 A
4398515 Canup et al. Aug 1983 A
4492195 Takahashi et al. Jan 1985 A
4514811 Daubenmier et al. Apr 1985 A
4773011 VanHoose Sep 1988 A
4945759 Krofchalk et al. Aug 1990 A
4977399 Price et al. Dec 1990 A
5014206 Scribner et al. May 1991 A
5041976 Marko et al. Aug 1991 A
5048482 Kratt et al. Sep 1991 A
5060156 Vajgart et al. Oct 1991 A
5068656 Sutherland Nov 1991 A
5095500 Tayloe et al. Mar 1992 A
5111902 Sundeen et al. May 1992 A
5117682 Amano Jun 1992 A
5214757 Mauney et al. May 1993 A
5218367 Sheffer et al. Jun 1993 A
5227614 Danielson et al. Jul 1993 A
5347274 Hassett Sep 1994 A
5398276 Lemke et al. Mar 1995 A
5414809 Hogan et al. May 1995 A
5444444 Ross Aug 1995 A
5472097 Villachica Dec 1995 A
5481588 Rickli et al. Jan 1996 A
5497149 Fast Mar 1996 A
5500516 Durbin Mar 1996 A
5515419 Sheffer May 1996 A
5528758 Yeh Jun 1996 A
5534684 Danielson Jul 1996 A
5561839 Osterberg et al. Oct 1996 A
5619412 Hapka Apr 1997 A
5635693 Benson et al. Jun 1997 A
5648770 Ross Jul 1997 A
5708423 Ghaffari et al. Jan 1998 A
5736725 Danielson Apr 1998 A
5739787 Burke et al. Apr 1998 A
5751245 Janky et al. May 1998 A
5751973 Hassett May 1998 A
5752164 Jones May 1998 A
5758313 Shah et al. May 1998 A
5771169 Wendte Jun 1998 A
5797134 McMillan et al. Aug 1998 A
5802545 Coverdill Sep 1998 A
5805419 Hundt et al. Sep 1998 A
5808564 Simms et al. Sep 1998 A
5808565 Matta et al. Sep 1998 A
5808907 Shetty et al. Sep 1998 A
5815093 Kikinis Sep 1998 A
5818356 Schuessler Oct 1998 A
5825283 Camhi Oct 1998 A
5834749 Durbin Nov 1998 A
5835377 Bush Nov 1998 A
5857159 Dickrell et al. Jan 1999 A
5862500 Goodwin Jan 1999 A
5867382 McLaughlin Feb 1999 A
5867785 Averbuch et al. Feb 1999 A
5904727 Prabhakaran May 1999 A
5919239 Fraker et al. Jul 1999 A
5926762 Arpee et al. Jul 1999 A
5928291 Jenkins et al. Jul 1999 A
5938716 Shutty et al. Aug 1999 A
5946612 Johansson Aug 1999 A
5948026 Beemer et al. Sep 1999 A
5974357 Poonsaengsathit et al. Oct 1999 A
5982325 Thornton et al. Nov 1999 A
5987306 Nilsen et al. Nov 1999 A
5991622 Henry, Jr. Nov 1999 A
5993098 Osada Nov 1999 A
6003010 Scolly et al. Dec 1999 A
6003773 Durbin et al. Dec 1999 A
6031455 Grube et al. Feb 2000 A
6034379 Bunte et al. Mar 2000 A
6060992 Huang et al. May 2000 A
6064970 McMillan et al. May 2000 A
6071643 Chino et al. Jun 2000 A
6075530 Lucas et al. Jun 2000 A
6084528 Beach et al. Jul 2000 A
6084870 Wooten et al. Jul 2000 A
6088648 Shah et al. Jul 2000 A
6092021 Ehlbeck et al. Jul 2000 A
6098048 Dashefsky et al. Aug 2000 A
6108591 Segal et al. Aug 2000 A
6112152 Tuttle Aug 2000 A
6124806 Cunningham et al. Sep 2000 A
6124810 Segal et al. Sep 2000 A
6128543 Hitchner Oct 2000 A
6134437 Karabinis et al. Oct 2000 A
6148262 Fry Nov 2000 A
6157838 Di Huo et al. Dec 2000 A
6169896 Sant et al. Jan 2001 B1
6181994 Colson et al. Jan 2001 B1
6202629 Zhu et al. Mar 2001 B1
6211781 McDonald Apr 2001 B1
6246672 Lumelsky Jun 2001 B1
6246938 Giletta et al. Jun 2001 B1
6249008 Bunte et al. Jun 2001 B1
6253129 Jenkins et al. Jun 2001 B1
6272337 Mount et al. Aug 2001 B1
6278361 Magiawala et al. Aug 2001 B1
6282486 Bates et al. Aug 2001 B1
6285916 Kadaba et al. Sep 2001 B1
6292724 Apsell et al. Sep 2001 B1
6295492 Lang et al. Sep 2001 B1
6304816 Berstis Oct 2001 B1
6306063 Horgan et al. Oct 2001 B1
6307576 Rosenfeld Oct 2001 B1
6308120 Good Oct 2001 B1
6313791 Klanke Nov 2001 B1
6315255 Chan et al. Nov 2001 B1
6324659 Pierro Nov 2001 B1
6330499 Chou et al. Dec 2001 B1
6336035 Somoza et al. Jan 2002 B1
6338152 Fera et al. Jan 2002 B1
6339745 Novik Jan 2002 B1
6356836 Adolph Mar 2002 B1
6363323 Jones Mar 2002 B1
6377881 Mullins Apr 2002 B1
6389337 Kolls May 2002 B1
6400690 Liu et al. Jun 2002 B1
6401027 Xu et al. Jun 2002 B1
6405112 Rayner Jun 2002 B1
6408232 Cannon et al. Jun 2002 B1
6408233 Solomon et al. Jun 2002 B1
6411891 Jones Jun 2002 B1
6433732 Dutta et al. Aug 2002 B1
6434512 Discenzo Aug 2002 B1
6449485 Anzil Sep 2002 B1
6459967 Otto Oct 2002 B1
6459969 Bates et al. Oct 2002 B1
6462675 Humphrey et al. Oct 2002 B1
6466862 DeKock et al. Oct 2002 B1
6470240 Haynes et al. Oct 2002 B1
6477452 Good Nov 2002 B2
6484080 Breed Nov 2002 B2
6496775 McDonald et al. Dec 2002 B2
6496806 Horwitz et al. Dec 2002 B1
6498986 Kurtzberg et al. Dec 2002 B1
6502030 Hilleary Dec 2002 B2
6509749 Buelna et al. Jan 2003 B1
6525672 Chainer et al. Feb 2003 B2
6526341 Bird et al. Feb 2003 B1
6529818 Kitajima et al. Mar 2003 B2
6535142 Wakabayashi et al. Mar 2003 B2
6570529 Richton et al. May 2003 B2
6580973 Leivian et al. Jun 2003 B2
6587787 Yokota Jul 2003 B1
6594579 Lowrey et al. Jul 2003 B1
6600418 Francis et al. Jul 2003 B2
6603966 Sheffield Aug 2003 B1
6604033 Banet et al. Aug 2003 B1
6611740 Lowrey et al. Aug 2003 B2
6611755 Coffee et al. Aug 2003 B1
6618668 Laird Sep 2003 B1
6622083 Knockeart et al. Sep 2003 B1
6625539 Kittell Sep 2003 B1
6629034 Kozak et al. Sep 2003 B1
6634329 Kusano et al. Oct 2003 B2
6636790 Lightner et al. Oct 2003 B1
6648770 Snyder Nov 2003 B1
6664922 Fan Dec 2003 B1
6675635 Kasen et al. Jan 2004 B2
6711404 Arpee et al. Mar 2004 B1
6711408 Raith Mar 2004 B1
6731925 Naboulsi May 2004 B2
6732031 Lightner et al. May 2004 B1
6732032 Banet et al. May 2004 B1
6741938 Bemndorfer May 2004 B2
6745153 White et al. Jun 2004 B2
6763903 Morimoto et al. Jul 2004 B2
6772142 Kelling et al. Aug 2004 B1
6775642 Remboski et al. Aug 2004 B2
6778888 Cataldo et al. Aug 2004 B2
6792352 Hoffmann et al. Sep 2004 B1
6801850 Wolfson Oct 2004 B1
6802291 Ujifusa Oct 2004 B2
6819267 Edmark et al. Nov 2004 B1
6819988 Dietz et al. Nov 2004 B2
6832140 Fan et al. Dec 2004 B2
6832141 Skeen et al. Dec 2004 B2
6840093 Kasen et al. Jan 2005 B2
6847871 Malik et al. Jan 2005 B2
6850823 Eun et al. Feb 2005 B2
6853842 Wilson et al. Feb 2005 B1
6857262 Rendahl et al. Feb 2005 B2
6859039 Horie et al. Feb 2005 B2
6865457 Mittelsteadt et al. Mar 2005 B1
6868386 Henderson et al. Mar 2005 B1
6879910 Shike et al. Apr 2005 B2
6879969 Engstrom et al. Apr 2005 B2
6895329 Wolfson May 2005 B1
6909947 Douros et al. Jun 2005 B2
6911830 Heremans et al. Jun 2005 B2
6915128 Oh Jul 2005 B1
6919821 Smith Jul 2005 B1
6920779 Carlstrom et al. Jul 2005 B2
6925425 Remboski et al. Aug 2005 B2
6928280 Xanthos et al. Aug 2005 B1
6931235 Kline et al. Aug 2005 B2
6933842 Desterling et al. Aug 2005 B2
6947827 Fuse et al. Sep 2005 B2
6960168 Yanagidaira et al. Nov 2005 B2
6975928 Timko et al. Dec 2005 B2
6988049 Wirtz et al. Jan 2006 B1
7002579 Olson Feb 2006 B2
7003289 Kolls Feb 2006 B1
7016771 Watkins et al. Mar 2006 B2
7024306 Minami et al. Apr 2006 B2
7027808 Wesby Apr 2006 B2
7031663 Heinonen et al. Apr 2006 B2
7034683 Ghazarian Apr 2006 B2
7062264 Ko et al. Jun 2006 B2
7075421 Tuttle Jul 2006 B1
7076505 Campbell Jul 2006 B2
7089198 Freedenberg et al. Aug 2006 B2
7089784 Jakoby et al. Aug 2006 B2
7090134 Ramsager Aug 2006 B2
7099669 Sheffield Aug 2006 B2
7107150 Iwamura et al. Sep 2006 B2
7113793 Veerasamy et al. Sep 2006 B2
7113839 Ferguson et al. Sep 2006 B2
7146264 Bates et al. Dec 2006 B2
7155321 Bromley et al. Dec 2006 B2
7161688 Bonner et al. Jan 2007 B1
7162339 Nguyen Jan 2007 B2
7173632 Inokuchi et al. Feb 2007 B2
7174301 Florance et al. Feb 2007 B2
7212122 Gloekler et al. May 2007 B2
7216037 Graulich et al. May 2007 B2
7236779 Lahav et al. Jun 2007 B2
7248159 Smith Jul 2007 B2
7251558 McGrath Jul 2007 B1
7257396 Olsen et al. Aug 2007 B2
7263419 Wheals et al. Aug 2007 B2
7266435 Wang et al. Sep 2007 B2
7271716 Nou Sep 2007 B2
7289786 Krasner Oct 2007 B2
7292152 Torkkola et al. Nov 2007 B2
7299125 Marks et al. Nov 2007 B2
7302371 Oesterling et al. Nov 2007 B2
7309178 Ikeda Dec 2007 B2
7313530 Smith et al. Dec 2007 B2
7317975 Woolford et al. Jan 2008 B2
7327258 Fast et al. Feb 2008 B2
7333820 Sheha et al. Feb 2008 B2
7343174 Suryanarayana et al. Mar 2008 B2
7349782 Churchill et al. Mar 2008 B2
7356392 Hubbard et al. Apr 2008 B2
7358857 White Apr 2008 B1
7385529 Hersh et al. Jun 2008 B2
7389178 Raz et al. Jun 2008 B2
7394393 Zhang et al. Jul 2008 B2
7395140 Christie et al. Jul 2008 B2
7400954 Sumcad et al. Jul 2008 B2
7409274 Grana et al. Aug 2008 B2
7412398 Bailey Aug 2008 B1
7430471 Simon Sep 2008 B2
7444311 Engstrom et al. Oct 2008 B2
7457693 Olsen et al. Nov 2008 B2
7463951 Ampunan et al. Dec 2008 B2
7469827 Katragadda et al. Dec 2008 B2
7480551 Lowrey et al. Jan 2009 B1
7486181 Olsen et al. Feb 2009 B2
7487036 Kim Feb 2009 B2
7489996 Gowan et al. Feb 2009 B2
7515302 Furuta Apr 2009 B2
7523159 Williams et al. Apr 2009 B1
7532958 Powers et al. May 2009 B2
7536457 Miller May 2009 B2
7542915 Kendrick Jun 2009 B2
7554441 Viegers et al. Jun 2009 B2
7561054 Raz et al. Jul 2009 B2
7561069 Horstemeyer Jul 2009 B2
7564377 Kimchi et al. Jul 2009 B2
7565230 Gardner et al. Jul 2009 B2
7571036 Olsen et al. Aug 2009 B2
7571111 Ahrens et al. Aug 2009 B2
7584033 Mittelsteadt et al. Sep 2009 B2
7587276 Gold et al. Sep 2009 B2
7589619 DeKeuster et al. Sep 2009 B2
7599786 Utsumi et al. Oct 2009 B2
7599843 Watkins et al. Oct 2009 B2
7603138 Zhang et al. Oct 2009 B2
7616217 Dayan et al. Nov 2009 B2
7619515 Valania Nov 2009 B2
7627406 Wang et al. Dec 2009 B2
7627535 Brockman et al. Dec 2009 B2
7659827 Gunderson et al. Feb 2010 B2
7672774 Glaza et al. Mar 2010 B2
7676306 Kubo et al. Mar 2010 B2
7683774 Olsen et al. Mar 2010 B2
7705743 Barone et al. Apr 2010 B2
7706938 Palladino Apr 2010 B2
7714705 Rennie et al. May 2010 B2
7715961 Kargupta May 2010 B1
7725216 Kim May 2010 B2
7739007 Logsdon Jun 2010 B2
7765058 Doering Jul 2010 B2
7769499 McQuade et al. Aug 2010 B2
7774130 Pepper Aug 2010 B2
7778752 Hunt et al. Aug 2010 B1
7786895 Zoladek et al. Aug 2010 B2
7788005 Enomoto et al. Aug 2010 B2
7789796 Choi Sep 2010 B2
7805233 Gowan et al. Sep 2010 B2
7860636 Yamaguchi Dec 2010 B2
7860637 Yamaguchi Dec 2010 B2
7877198 Tenzer et al. Jan 2011 B2
7880767 Chinigo Feb 2011 B2
7881838 Larschan et al. Feb 2011 B2
7903001 Sheha et al. Mar 2011 B2
7912502 Ando et al. Mar 2011 B2
7912641 Osentoski et al. Mar 2011 B2
7912796 Engstrom et al. Mar 2011 B2
7913179 Sheha et al. Mar 2011 B2
7917253 Inbarajan et al. Mar 2011 B2
7917852 Wattenberg et al. Mar 2011 B2
7920944 Gould et al. Apr 2011 B2
7925982 Parker et al. Apr 2011 B2
7925985 Moore Apr 2011 B2
7982764 Kadaba Jul 2011 B2
7991407 McCormick et al. Aug 2011 B2
7996235 Laghrar et al. Aug 2011 B2
8005589 MacDonald et al. Aug 2011 B2
8046167 Mishra et al. Oct 2011 B2
8069412 Bankston et al. Nov 2011 B2
8078393 Ohi Dec 2011 B2
8078485 Kraehmueller et al. Dec 2011 B1
8140358 Ling Mar 2012 B1
8146009 Mason et al. Mar 2012 B2
8195630 Ellis et al. Jun 2012 B2
8214142 Cerecke et al. Jul 2012 B2
8249910 Wellman et al. Aug 2012 B2
8275508 Adams et al. Sep 2012 B1
8275522 Groeneweg et al. Sep 2012 B1
8284069 Sverrisson Oct 2012 B2
8290701 Mason et al. Oct 2012 B2
8315802 Brown Nov 2012 B2
8330626 Adelson Dec 2012 B1
8386283 Hand Feb 2013 B2
8416067 Davidson et al. Apr 2013 B2
8484059 Bankston et al. Jul 2013 B2
8732019 Brown et al. May 2014 B2
8775960 Flores Jul 2014 B1
8855681 George et al. Oct 2014 B1
8896430 Davidson et al. Nov 2014 B2
8958988 Gueziec Feb 2015 B2
8983762 Davidson Mar 2015 B2
8996287 Davidson et al. Mar 2015 B2
9070100 Davidson Jun 2015 B2
9098956 Lambert et al. Aug 2015 B2
9117190 Davidson Aug 2015 B2
9129449 Davidson Sep 2015 B2
9208626 Davidson Dec 2015 B2
9256992 Davidson Feb 2016 B2
9324198 Davidson et al. Apr 2016 B2
9613468 Davidson et al. Apr 2017 B2
9805521 Davidson Oct 2017 B1
9842120 Siris et al. Dec 2017 B1
9881429 Davidson Jan 2018 B2
9903734 Davidson et al. Feb 2018 B2
9961496 Ahmadzadeh et al. May 2018 B2
10055902 Davidson Aug 2018 B2
20010012976 Menig et al. Aug 2001 A1
20010018628 Jenkins et al. Aug 2001 A1
20010029425 Myr Oct 2001 A1
20020008621 Barritz et al. Jan 2002 A1
20020024448 Olesen Feb 2002 A1
20020029108 Liu et al. Mar 2002 A1
20020032517 Buckelew et al. Mar 2002 A1
20020044084 Itoh et al. Apr 2002 A1
20020077742 Mintz Jun 2002 A1
20020077750 McDonald et al. Jun 2002 A1
20030014286 Cappellini Jan 2003 A1
20030083060 Menendez May 2003 A1
20030114206 Timothy et al. Jun 2003 A1
20030120584 Zarefoss et al. Jun 2003 A1
20030135304 Sroub et al. Jul 2003 A1
20030144985 Ebert Jul 2003 A1
20030149607 Ogasawara et al. Aug 2003 A1
20030149674 Good et al. Aug 2003 A1
20030163287 Vock et al. Aug 2003 A1
20030195606 Davidson et al. Oct 2003 A1
20030195676 Kelly et al. Oct 2003 A1
20030195696 Jones Oct 2003 A1
20030195699 Jones Oct 2003 A1
20030197612 Tanaka et al. Oct 2003 A1
20030224806 Hebron Dec 2003 A1
20040039504 Coffee et al. Feb 2004 A1
20040054607 Waddington et al. Mar 2004 A1
20040078141 Kittell Apr 2004 A1
20040090628 Ershov et al. May 2004 A1
20040178902 Koike et al. Sep 2004 A1
20040193466 Kull et al. Sep 2004 A1
20040195320 Ramsager Oct 2004 A1
20040229560 Maloney Nov 2004 A1
20040249557 Harrington et al. Dec 2004 A1
20040254698 Hubbard et al. Dec 2004 A1
20040260585 Spangenberg et al. Dec 2004 A1
20040267410 Duri et al. Dec 2004 A1
20050044906 Spielman Mar 2005 A1
20050049785 Vergin Mar 2005 A1
20050065711 Dahlgren et al. Mar 2005 A1
20050073443 Sheha et al. Apr 2005 A1
20050125148 Van Buer et al. Jun 2005 A1
20050131627 Ignatin Jun 2005 A1
20050134504 Harwood et al. Jun 2005 A1
20050140523 Publicover Jun 2005 A1
20050143889 Isaji et al. Jun 2005 A1
20050203683 Olsen Sep 2005 A1
20050216553 Mallonee et al. Sep 2005 A1
20050240343 Schmidt et al. Oct 2005 A1
20050283699 Nomura et al. Dec 2005 A1
20060047379 Schullian et al. Mar 2006 A1
20060047423 Min Mar 2006 A1
20060055564 Olsen et al. Mar 2006 A1
20060089767 Sowa Apr 2006 A1
20060089787 Burr et al. Apr 2006 A1
20060095175 deWaal et al. May 2006 A1
20060100779 Vergin May 2006 A1
20060142934 Kim Jun 2006 A1
20060145837 Horton et al. Jul 2006 A1
20060155464 Smartt Jul 2006 A1
20060161315 Lewis et al. Jul 2006 A1
20060164232 Waterhouse et al. Jul 2006 A1
20060181411 Fast et al. Aug 2006 A1
20060206261 Altaf et al. Sep 2006 A1
20060208722 Takemasa et al. Sep 2006 A1
20060235580 Weiss et al. Oct 2006 A1
20060265228 Ando Nov 2006 A1
20060271246 Bell et al. Nov 2006 A1
20070027583 Tamir et al. Feb 2007 A1
20070027726 Warren et al. Feb 2007 A1
20070038348 Larschan et al. Feb 2007 A1
20070051544 Fernandez Mar 2007 A1
20070093943 Nelson et al. Apr 2007 A1
20070115101 Creekbaum et al. May 2007 A1
20070126605 Aleksic et al. Jun 2007 A1
20070174004 Tenzer et al. Jul 2007 A1
20070179680 Tamura Aug 2007 A1
20070226041 Oesterling et al. Sep 2007 A1
20070239346 Hawkins et al. Oct 2007 A1
20070241882 Panttaja et al. Oct 2007 A1
20070244633 Phillips et al. Oct 2007 A1
20070271014 Breed Nov 2007 A1
20080016504 Cheng et al. Jan 2008 A1
20080045245 Billmaier et al. Feb 2008 A1
20080046274 Geelen et al. Feb 2008 A1
20080059055 Geelen et al. Mar 2008 A1
20080091681 Dwivedi et al. Apr 2008 A1
20080097731 Lanes et al. Apr 2008 A1
20080125724 Monroe May 2008 A1
20080136670 Tengler et al. Jun 2008 A1
20080140287 Yang et al. Jun 2008 A1
20080140654 Daley Jun 2008 A1
20080143834 Comeau et al. Jun 2008 A1
20080154691 Wellman et al. Jun 2008 A1
20080162036 Breed Jul 2008 A1
20080177646 Frink Jul 2008 A1
20080252487 McClellan et al. Oct 2008 A1
20080255722 McClellan et al. Oct 2008 A1
20080255888 Berkobin et al. Oct 2008 A1
20080262670 McClellan et al. Oct 2008 A1
20080269978 Shirole et al. Oct 2008 A1
20080270519 Ekdahl et al. Oct 2008 A1
20080285886 Allen Nov 2008 A1
20080295586 Fosseen Dec 2008 A1
20080307491 Duri et al. Dec 2008 A1
20080319602 McClellan et al. Dec 2008 A1
20090007098 Chevrette et al. Jan 2009 A1
20090024419 McClellan et al. Jan 2009 A1
20090030574 Yamakado et al. Jan 2009 A1
20090045924 Roberts et al. Feb 2009 A1
20090051566 Olsen et al. Feb 2009 A1
20090055091 Hines et al. Feb 2009 A1
20090070027 Newhouse et al. Mar 2009 A1
20090070035 Van Buer Mar 2009 A1
20090088924 Coffee et al. Apr 2009 A1
20090088979 Koch Apr 2009 A1
20090102638 Olsen et al. Apr 2009 A1
20090112396 Tsai et al. Apr 2009 A1
20090114575 Carpenter et al. May 2009 A1
20090177350 Williams et al. Jul 2009 A1
20090216434 Panganiban et al. Aug 2009 A1
20090248235 Hering et al. Oct 2009 A1
20090248236 Schwinke Oct 2009 A1
20090248237 Koepf et al. Oct 2009 A1
20090271057 Stone Oct 2009 A1
20090281929 Boitet et al. Nov 2009 A1
20090287369 Nielsen Nov 2009 A1
20090287410 Kobayashi Nov 2009 A1
20090287739 Zhang et al. Nov 2009 A1
20090306997 Betancourt Dec 2009 A1
20090318121 Marumoto Dec 2009 A1
20090319119 Park et al. Dec 2009 A1
20090319341 Berkobin et al. Dec 2009 A1
20090326753 Chen et al. Dec 2009 A1
20090326991 Wei et al. Dec 2009 A1
20100009476 Tu et al. Jan 2010 A1
20100010732 Hartman Jan 2010 A1
20100030582 Rippel et al. Feb 2010 A1
20100030586 Taylor et al. Feb 2010 A1
20100035602 Doherty et al. Feb 2010 A1
20100036591 Nakai Feb 2010 A1
20100042311 Nakai Feb 2010 A1
20100057356 Lin Mar 2010 A1
20100059007 Senda et al. Mar 2010 A1
20100061190 Nelson Mar 2010 A1
20100063850 Daniel Mar 2010 A1
20100070153 Bradley et al. Mar 2010 A1
20100076935 Hussain et al. Mar 2010 A1
20100082230 Hong et al. Apr 2010 A1
20100087984 Joseph Apr 2010 A1
20100088137 Weiss et al. Apr 2010 A1
20100088163 Davidson et al. Apr 2010 A1
20100090852 Eitan et al. Apr 2010 A1
20100094688 Olsen et al. Apr 2010 A1
20100094769 Davidson et al. Apr 2010 A1
20100100315 Davidson et al. Apr 2010 A1
20100100507 Davidson et al. Apr 2010 A1
20100114484 Kida et al. May 2010 A1
20100127843 Koenig May 2010 A1
20100131152 Castonguay et al. May 2010 A1
20100131308 Collopy et al. May 2010 A1
20100138242 Ferrick et al. Jun 2010 A1
20100153005 Cerecke et al. Jun 2010 A1
20100168992 Nakata Jul 2010 A1
20100174485 Taylor et al. Jul 2010 A1
20100179844 Lafergola et al. Jul 2010 A1
20100185356 Haas et al. Jul 2010 A1
20100191403 Krause Jul 2010 A1
20100205012 Mcclellan Aug 2010 A1
20100205022 Brown Aug 2010 A1
20100211259 McClellan Aug 2010 A1
20100212629 McDonald et al. Aug 2010 A1
20100217480 Link, II Aug 2010 A1
20100217524 Oohashi et al. Aug 2010 A1
20100228404 Link, II et al. Sep 2010 A1
20100229815 Senda et al. Sep 2010 A1
20100235092 Kutomi Sep 2010 A1
20100245123 Prasad et al. Sep 2010 A1
20100250021 Cook et al. Sep 2010 A1
20100250059 Sekiyama et al. Sep 2010 A1
20100250461 Arnold et al. Sep 2010 A1
20100262333 Storgaard Oct 2010 A1
20100262450 Kalish et al. Oct 2010 A1
20100265052 Koen Oct 2010 A1
20100274440 Kim et al. Oct 2010 A1
20100305805 Yamaguchi Dec 2010 A1
20100305807 Basir et al. Dec 2010 A1
20100332119 Geelen et al. Dec 2010 A1
20110015851 Burr et al. Jan 2011 A1
20110035139 Konlditslotis et al. Feb 2011 A1
20110039587 Madhavan et al. Feb 2011 A1
20110040438 Kluge et al. Feb 2011 A1
20110040477 Eser et al. Feb 2011 A1
20110041088 Mason et al. Feb 2011 A1
20110046845 Kozlay Feb 2011 A1
20110050732 Arrasvuori Mar 2011 A1
20110054767 Schafer et al. Mar 2011 A1
20110057784 Nakamura et al. Mar 2011 A1
20110068954 McQuade et al. Mar 2011 A1
20110071740 Nihei et al. Mar 2011 A1
20110078024 Messier et al. Mar 2011 A1
20110090075 Armitage et al. Apr 2011 A1
20110098880 Basir et al. Apr 2011 A1
20110101610 Mayalidag May 2011 A1
20110102167 Baur et al. May 2011 A1
20110106416 Scofield et al. May 2011 A1
20110112717 Resner May 2011 A1
20110112740 Hashimoto May 2011 A1
20110112870 Berg et al. May 2011 A1
20110118934 Lowrey et al. May 2011 A1
20110122858 Yashiro et al. May 2011 A1
20110130906 Mayer Jun 2011 A1
20110130916 Mayer Jun 2011 A1
20110130960 Sheha et al. Jun 2011 A1
20110137489 Gilleland et al. Jun 2011 A1
20110137511 Harumoto et al. Jun 2011 A1
20110137684 Peak et al. Jun 2011 A1
20110143669 Farrell et al. Jun 2011 A1
20110153367 Amigo et al. Jun 2011 A1
20110160986 Wu et al. Jun 2011 A1
20110161118 Borden et al. Jun 2011 A1
20110163896 Chinigo Jul 2011 A1
20110178695 Okumoto et al. Jul 2011 A1
20110196644 Davidson et al. Aug 2011 A1
20110205043 Fujiki et al. Aug 2011 A1
20110205044 Enomoto et al. Aug 2011 A1
20110210838 Fujiki et al. Sep 2011 A1
20110225098 Wolff et al. Sep 2011 A1
20110231055 Knight et al. Sep 2011 A1
20110238457 Mason et al. Sep 2011 A1
20110238543 Paez et al. Sep 2011 A1
20110298638 Groeneweg Dec 2011 A1
20120004933 Foladare et al. Jan 2012 A1
20120030133 Rademaker Feb 2012 A1
20120072109 Waite et al. Mar 2012 A1
20120095682 Wilson Apr 2012 A1
20120116678 Witmer May 2012 A1
20120226390 Adams et al. Sep 2012 A1
20120232939 Pierre et al. Sep 2012 A1
20120246192 Kenyon Sep 2012 A1
20120253548 Davidson Oct 2012 A1
20120253587 Davidson Oct 2012 A1
20120253632 Davidson Oct 2012 A1
20120253668 Sheha et al. Oct 2012 A1
20120253861 Davidson et al. Oct 2012 A1
20120253862 Davidson Oct 2012 A1
20120253867 Davidson Oct 2012 A1
20120253888 Davidson Oct 2012 A1
20120253889 Davidson et al. Oct 2012 A1
20120253892 Davidson Oct 2012 A1
20130030642 Bradley et al. Jan 2013 A1
20130030873 Davidson Jan 2013 A1
20130197776 Davidson et al. Aug 2013 A1
20130245934 Ando et al. Sep 2013 A1
20130297175 Davidson Nov 2013 A1
20130304347 Davidson Nov 2013 A1
20130304348 Davidson et al. Nov 2013 A1
20130304349 Davidson Nov 2013 A1
20130311076 Mieth et al. Nov 2013 A1
20140002277 Fulger et al. Jan 2014 A1
20140148970 Dufford et al. May 2014 A1
20140188533 Davidson Jul 2014 A1
20140278055 Wang et al. Sep 2014 A1
20140358423 Thiele et al. Dec 2014 A1
20150046062 Davidson et al. Feb 2015 A1
20150105934 Palmer et al. Apr 2015 A1
20150161828 Davidson Jun 2015 A1
20150170440 Davidson et al. Jun 2015 A1
20150170514 Stenneth Jun 2015 A1
20150179004 Davidson et al. Jun 2015 A1
20150185031 Davidson Jul 2015 A1
20150198451 Davidson Jul 2015 A1
20150206356 Davidson Jul 2015 A1
20150232097 Luther et al. Aug 2015 A1
20150248795 Davidson Sep 2015 A1
20150254592 Davidson Sep 2015 A1
20150262433 Davidson Sep 2015 A1
20150344014 Knechtges et al. Dec 2015 A1
20160018239 Ko et al. Jan 2016 A1
20160078758 Basalamah Mar 2016 A1
20160125734 Stenneth May 2016 A1
20160247394 Stenneth Aug 2016 A1
20160258764 Phuyal et al. Sep 2016 A1
20160273925 Maekawa et al. Sep 2016 A1
20160334221 Davidson Nov 2016 A1
20160334225 Davidson Nov 2016 A1
20160334227 Davidson Nov 2016 A1
20170074670 Tashiro et al. Mar 2017 A1
20170160096 Davidson Jun 2017 A1
20170263059 Davidson Sep 2017 A1
20170278316 Davidson et al. Sep 2017 A1
20180025555 Davidson Jan 2018 A1
20180040173 Davidson Feb 2018 A1
20180082497 Davidson Mar 2018 A1
20180350162 Davidson Dec 2018 A1
20180350164 Davidson Dec 2018 A1
20190011279 Davidson et al. Jan 2019 A1
20190130665 Davidson et al. May 2019 A1
Foreign Referenced Citations (39)
Number Date Country
201732473 Feb 2011 CN
16089 Jan 2006 CZ
19618535 Jul 1997 DE
102004039286 Aug 2005 DE
102004061331 Jun 2006 DE
0635800 Jan 1995 EP
0977450 Feb 2000 EP
1113268 Jul 2001 EP
1216901 Jun 2002 EP
1229508 Aug 2002 EP
1566665 Aug 2005 EP
2710767 Apr 1995 FR
2831665 May 2003 FR
2225459 May 1990 GB
2358427 Jul 2001 GB
2363884 Jan 2002 GB
3-251351 Nov 1991 JP
6-333117 Dec 1994 JP
7-199861 Aug 1995 JP
3062509 Oct 1999 JP
2000-59292 Feb 2000 JP
2000-295168 Oct 2000 JP
2001-24577 Jan 2001 JP
2001-218252 Aug 2001 JP
2001-278414 Oct 2001 JP
2002-112302 Apr 2002 JP
2002-335202 Nov 2002 JP
10-2008-0113248 Dec 2008 KR
1996031846 Oct 1996 WO
2001091438 Nov 2001 WO
2003014752 Feb 2003 WO
2003081560 Oct 2003 WO
2005069203 Jul 2005 WO
2005109273 Nov 2005 WO
2006065492 Jun 2006 WO
2010028260 Mar 2010 WO
2010030341 Mar 2010 WO
2011020101 Feb 2011 WO
2011036495 Mar 2011 WO
Non-Patent Literature Citations (57)
Entry
“White Paper: Business Value Through Fleet Management Optimization”, Cadec Global, White Paper, Nov. 2007, 19 pages.
Wischoff et al., “SOTIS—a Self-Organizing Traffic Information System”, VTC 2003-Spring, The 57th IEEE Semiannual Vehicular Technology Conference, Jeju Korea, vol. 4, Apr. 22-25, 2003, pp. 2442-2446.
Pre-interview First Office Action received for U.S. Appl. No. 16/906,411, dated Nov. 27, 2020, 4 pages.
“Advanced Vehicle Telematics—Telogis Fleet”, Telogis, Feb. 2010.
“ArcGIS 9-ArcMap Tutorial”, ESRI, 2008, 58 pages.
Barringer & Associates, Inc., Pareto Principle, Available online at: <http://www.barringer1.com/anvil_files/anvil04.htm>, Retrieved on Sep. 8, 2008, 2 pages.
“Bing.com/Maps—Bing Maps Platform-web pages”, Microsoft, Retrieved from Archive.org, Feb. 2010.
Cloin, Lauren, et al., “Fleet Telematics Becoming a ‘Must-Have’ Automotive Fleet”, Feb. 2007.
McLean, Brett, “Tracking Geocortex Fleet Tracker”, Geocortex Blog, Available online at: <blog.geocortex.com/2009/08/24/tracking-geocortex-fleet-tracker/>, Aug. 24, 2009, pp. 1-4.
“Geocortex Fleet Tracker User Guide”, Geocortex, Latitude Geographies Group Ltd., Nov. 2010, 17 pages.
Golia et al., “GPS/GIS Analysis of Tennessee Truck Trips”, The University of Memphis, Dec. 7, 2012, 124 pages.
Hedin, Lars-Goran, “On: The New World of Communication”, an Ericsson global customer magazine, Mar. 2002, 16 pages.
Hillier, Amy, “ArcGIS 9.3 Manual”, University of Pennsylvania, Jan. 2007, 110 pages.
“Howard County Bureau of Highways Web-enabled Snowplow Tracking System”, Howard County Maryland, 1999.
Kruse, John, “Snow and Ice go High-Tech”, Mobile Radio Technology, Oct. 1, 1999, 3 pages.
Lenarcic, Robert, “Off The Shelf Approach to ArcGIS Server & The Dashboard Approach to Gaining Insight to ArcGIS Server”, Latitude Graphics, Group Ltd., Northeast Arc Users Group, NEARC, 2008, 34 pages.
Lo, Grace, “Introduction to ArcGIS Tracking Analyst”, Texas A&M University, Dec. 2007, 31 pages.
Ma et al., “Processing Commercial GPS Data to Develop Web-Based Truck Performance Measures Program”, University of Washington, Mar. 15, 2011, pp. 92-100.
McCormack et al., “Developing a GPS-Based Truck Freight Performance Measure Platform”, Washington State Department of Transportation, Apr. 2010, 71 pages.
Murphy, Jean V, “Yard Management Systems Extend Automation Beyond the Dock Door”, Global Logistic & Supply Chain Strategies, Mar. 2005, pp. 1-5.
Staff, “Oil Lasts Longer in Diesels, Thanks to Novel Viscosity Sensor”, Machine Design, Available online at: <http://machinedesign.com/print/67611>, Dec. 14, 2006, pp. 1-2.
“On the Go FedEx GIS Tracking Operations”, ESRI, 2011, 1 page.
“On-The New World of Communication: Notes: Tools for Precision: A Tool Kit to Optimize WCDMA Networks”, Available online at: <www.ericsson.com/tems>, date of publication unknown, 1 page.
“Resource Optimization & Scheduling-Telogis Route”, Telogis, Feb. 2010, 2 pages.
Scapinakis et al., “Communications and Positioning Systems in the Motor Carrier Industry”, Institute of Transportation Studies, University of California at Berkley, Research Reports, California Partners for Advanced Transit and Highways (PATH), Institute of Transportation Studies (UCB), UC Berkeley, Jan. 1, 1992, 83 pages.
Schueneman, Thomas, “Brown Continues Getting Greener: Telematics Helps UPS Squeeze Out Higher Efficiencies and Increased Safety”, Available online at: <http://www.triplepundit.com>, May 7, 2008, pp. 1-3.
Scott et al., “Spatial Statistics in ArcGIS”, Handbook of Applied Spatial Analysis, Software Tools, Methods and Applications, 2010, pp. 27-41.
Sigler, Lisa, “Assess speech quality with PESQ, now in TEMS Automatic”, date of publication unknown, 1 page.
Sigler, Lisa, “TEMS News”, an Ericsson Newsletter, No. 2, Jun. 2003, 8 pages.
Sigler, Lisa, “TEMS News”, an Ericsson Newsletter, No. 3, Q3, 2004, 8 pages.
Sigler, Lisa, “TEMSJM News”, an Ericsson Newsletter, No. 2, Q2, 2004, 8 pages.
Sisiopiku, Virginia P., “Winter Road Maintenance—ITS Options” 2001 IEEE Intelligent Transportation Systems Conference Proceedings, Aug. 25-29, 2001, pp. 298-302.
Tai, Hideo, “Urban Gas Monitoring System Using Optical Sensors”, Proceedings of the SPIE, vol. 3746, 1999, pp. 332-336.
“Telogis Announces OnTrack 7, Delivering the Latest in Saas GPS Fleet Management Software”, Directions Magazine, Oct. 8, 2009.
“Telogis Introduces New Advanced Scaleable Fleet Management Platform to European Markets: Telogis Fleet 8”, Directions Magazine, Dec. 14, 2010.
“Telogis, a GPS Fleet Tracking and Productivity Software Provider Launches New Brand and Web Site Directions Magazine”, May 21, 2007.
“Telogis.com web pages”, Telogis Inc., Oct. 2007, Retrieved from Archive.org, Feb. 4, 2013.
“TEMS™ Automatic WCDMA: Take Control of Your Mobile Internet Quality of Service”, Available online at: <www.ericsson.com>, Publication AE/LZT 123 6694 R1, 2001, 2 pages.
“TEMS™ Automatic: Making Wireless Better: Take Control of Your Mobile Internet Quality of Service”, Oct. 19, 2004, 2 pages.
“TEMS™ Automatic: Streamlined Operations and Improved QoS: GSM/GPRS, CDMA, and TDMA”, Available online at: <www.ericsson.com/tems>, Publication 287 01-FAP 901 0409 B, 2004, 4 pages.
“TEMS™ Drive Tester CDMA: An Innovative Drive Test Solution”, Available online at: <www.ericsson.com/tems>, Publication AE/LZT 123 7307, R3, 2003, 4 pages.
“TEMS™ DriveTester CDMA: An Innovative Drive Test Solution”, Available online at: <www.ericsson.com/tems>, Publication 287 01-FAP 901 0539 Uen, 2005, 4 pages.
“TEMS™ DriveTester CDMA2000 2.0: An Innovative Drive Test solution for CDMA Networks”, Available online at: <www.ericsson.com/products/TEMSdrivetesterCDMA20020pos.Shtml>, 1 page.
“TEMS™—Making Wireless Better”, by Ericsson, APAC Workshop, Sep. 2004, 17 pages.
“TEMS™ Tech Support: TEMS Automatic GSM: Making Wireless Better: Take Control of Your Mobile Internet Quality of Service”, Version 3.2.1, Available online at: <http://www.ericsson.com/services/tems/support/automatic/sup_automatic_gsm.shtml>, Retrieved on Nov. 23, 2004, 3 pages.
“TEMS™ Tech Support: TEMS DriveTester CDMA: Making Wireless Better: Instantly Isolate Network Trouble Spots”, Version 2.0.1, Available online at: <http://www.ericsson.com/services/tems/support/drivetester/sup_drivetester_cdma.shtml>, Jun. 9, 2004, 2 pages.
“TEMS™ Tech Support: TEMS DriveTester GSM/TDMA: Making Wireless Better: Instantly Isolate Network Trouble Spots”, Version 1.1.1, Available online at: <http://www.ericsson.com/services/tems/support/drivetester/sup_drivetester_gsm_tdma.shtml>, May 13, 2004, 2 pages.
“TEMS™ Tech Support: TEMS LinkPlanner: Making Wireless Better: FAQ's, Import/Export”, Aug. 26, 2004, 2 pages.
“TEMS™ Tech Support: TEMS LinkPlanner: Making Wireless Better: FAQ's: General”, Sep. 10, 2004, 1 page.
“TEMS™ Tech Support: TEMS LinkPlanner: Making Wireless Better: FAQ's: Map Data”, date of publication unknown; 1 page.
Fryer, Mark et al., U.S. Appl. No. 61/449,044, filed Mar. 3, 2011, titled “History Timeline Display For Multiple Vehicles”, 45 pages.
“User's Guide to ROADNET 5000—Routing & Scheduling System”, Version 5.6, Roadnet Technologies Inc., A United Parcel Service Company, 1996.
Wheeler et al., “Multi-Criteria Trucking Freeway Performance Measures in Congested Corridors Portland State University”, Civil and Environmental Engineering Faculty Publications and Presentations, Jan. 23-27, 2011, 25 pages.
Notice of Allowance received for U.S. Appl. No. 16/906,411, dated Jun. 24, 2021, 8 pages.
Quddus, Mohammed A., “High Integrity Map Matching Algorithms for Advanced Transport Telematics Applications”, Centre for Transport Studies Department of Civil and Environmental Engineering Imperial College London, United Kingdom, Jan. 2006, 270 pages.
Non-Final Office Action received for U.S. Appl. No. 16/778,790, dated Mar. 23, 2022, 20 pages.
Non-Final Office Action received for U.S. Appl. No. 16/778,790, dated Aug. 23, 2022, 31 pages.
Related Publications (1)
Number Date Country
20200258322 A1 Aug 2020 US
Provisional Applications (1)
Number Date Country
61095486 Sep 2008 US
Continuations (4)
Number Date Country
Parent 15615232 Jun 2017 US
Child 16226041 US
Parent 14517500 Oct 2014 US
Child 15615232 US
Parent 13799627 Mar 2013 US
Child 14517500 US
Parent 12556140 Sep 2009 US
Child 13799627 US
Continuation in Parts (1)
Number Date Country
Parent 16226041 Dec 2018 US
Child 16733677 US