A system and method for identifying a vehicle driver based on driver behaviors. The system and method include analyzing a sequence of vehicle start-up behaviors for rapid identification of the driver. The start-up analysis includes detecting and evaluating the sequence and timing of events including door opening, door closing, seat belt fastening, ignition switch usage and shift/drive, among others. The technique further includes analyzing a set of longitudinal (or long-term) behaviors for more robust verification of driver identification. The longitudinal behaviors include acceleration and braking patterns, speed pattern (compared to road type and speed limit), stop sign behavior, cruise control usage and many others. Statistical clustering techniques are employed for both the start-up and longitudinal behavior analyses to identify the driver.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for determining an identity of a driver of a vehicle based on driver behaviors, said method comprising: providing data from a plurality of sensors in the vehicle and a vehicle data bus; and analyzing the data, using a processor, to determine the identity of the driver, including analyzing a sequence and timing of vehicle start-up events which begins when the driver opens a driver's door and ends when the vehicle starts moving, and analyzing a plurality of driver behavior parameters which are measured during driving of the vehicle. 2. The method of claim 1 wherein analyzing the data includes clustering data from a plurality of previous driving trips into a number of data clusters representing known drivers of the vehicle, and comparing data from a current driving trip to the data clusters to determine the identity of the driver. 3. The method of claim 2 wherein clustering data from a plurality of previous driving trips includes: providing data vectors containing a plurality of data parameters from the plurality of previous driving trips; defining the number of data clusters; assigning the data vectors to one of the data clusters, where each of the data vectors is assigned to a data cluster having a nearest center based on a weighted distance calculation; calculating new centers for the data clusters and re-assigning the data vectors to one of the data clusters if the new center of any of the data clusters is more than a threshold distance from a previous center; and providing the data clusters for the known drivers of the vehicle. 4. The method of claim 3 wherein the data vectors are normalized before being assigned to the data clusters, such that each of the data parameters has a normalized value between zero and one which is representative of an actual value relative to a range. 5. The method of claim 2 wherein comparing data from a current driving trip to the data clusters includes: providing a new data vector containing a plurality of data parameters from the current driving trip; calculating a distance from the new data vector to a center of each of the data clusters; selecting a target data cluster as the data cluster whose center is the smallest distance from the new data vector; determining that the driver of the vehicle is one of the known drivers associated with the target data cluster if a distance from the new data vector to the center of the target data cluster is less than or equal to a predefined multiple of standard deviations; and determining that the driver of the vehicle is unknown if the distance from the new data vector to the center of the target data cluster is greater than the predefined multiple of standard deviations. 6. The method of claim 5 wherein the new data vector and the data clusters include data from the sequence and timing of vehicle start-up events, or the driver behavior parameters, or both. 7. The method of claim 1 wherein the sequence of vehicle start-up events includes driver's door opening, driver's door closing, ignition switch usage, driver's seat belt fastening, mirror and seat adjustment, transmission gear shifting, release of brakes and gas pedal usage. 8. The method of claim 1 wherein the plurality of driver behavior parameters includes average speed as a function of road type; deviation from speed limit; acceleration patterns, including maximum acceleration and number and frequency of accelerations greater than a first threshold g-level; braking patterns, including maximum deceleration and number and frequency of decelerations greater than a second threshold g-level; stop sign behavior, including whether a complete stop is made, and duration of stop; turn behavior, including speed and lateral acceleration during turns; yield pattern, including tendency to yield to other drivers or assert the right of way; cruise control usage pattern—including whether cruise control is used on highways, on other roads, or not at all; climate control system usage patterns—including mode, temperature setting versus ambient, and fan speed; infotainment system usage patterns, including radio station selection; navigation information—including origin/destination pair, whether navigation system is used for instructions or not; and departure & return times for a trip. 9. The method of claim 1 wherein analyzing the data includes applying a different weighting factor to the sequence and timing of vehicle start-up events than the driver behavior parameters. 10. The method of claim 1 further comprising configuring systems and components in the vehicle based on the identity of the driver. 11. A method for determining an identity of a driver of a vehicle based on driver behaviors, said method comprising: providing data from a plurality of sensors in the vehicle and a vehicle data bus; and analyzing the data, using a processor, to determine the identity of the driver, including analyzing a sequence and timing of vehicle start-up events which begins when the driver opens a driver's door and ends when the vehicle starts moving, and analyzing a plurality of driver behavior parameters which are measured during driving of the vehicle, wherein analyzing the data includes clustering data from a plurality of previous driving trips into a number of data clusters representing known drivers of the vehicle, and comparing data from a current driving trip to the data clusters to determine the identity of the driver, and wherein the sequence of vehicle start-up events includes driver's door opening, driver's door closing, ignition switch usage, driver's seat belt fastening, mirror and seat adjustment, transmission gear shifting, release of brakes and gas pedal usage. 12. The method of claim 11 wherein clustering data from a plurality of previous driving trips includes: providing data vectors containing a plurality of data parameters from the plurality of previous driving trips; defining the number of data clusters; assigning the data vectors to one of the data clusters, where each of the data vectors is assigned to a data cluster having a nearest center based on a weighted distance calculation; calculating new centers for the data clusters and re-assigning the data vectors to one of the data clusters if the new center of any of the data clusters is more than a threshold distance from a previous center; and providing the data clusters for the known drivers of the vehicle. 13. The method of claim 11 wherein comparing data from a current driving trip to the data clusters includes: providing a new data vector containing a plurality of data parameters from the current driving trip; calculating a distance from the new data vector to a center of each of the data clusters; selecting a target data cluster as the data cluster whose center is the smallest distance from the new data vector; determining that the driver of the vehicle is one of the known drivers associated with the target data cluster if a distance from the new data vector to the center of the target data cluster is less than or equal to a predefined multiple of standard deviations; and determining that the driver of the vehicle is unknown if the distance from the new data vector to the center of the target data cluster is greater than the predefined multiple of standard deviations. 14. The method of claim 11 wherein analyzing the data includes applying a different weighting factor to the sequence and timing of vehicle start-up events than the driver behavior parameters. 15. A system for determining an identity of a driver of a vehicle based on driver behaviors, said system comprising: a plurality of sensors in the vehicle, said sensors providing data from systems and components in the vehicle; and a processor in communication with the plurality of sensors and a vehicle data bus, said processor being configured with an algorithm which analyzes the data from the sensors and the data bus to determine the identity of the driver, where the algorithm includes analyzing a sequence and timing of vehicle start-up events which begins when the driver opens a driver's door and ends when the vehicle starts moving, and analyzing a plurality of driver behavior parameters which are measured during driving of the vehicle. 16. The system of claim 15 wherein the sequence and timing of vehicle start-up events includes driver's door opening, driver's door closing, ignition switch usage, driver's seat belt fastening, mirror and seat adjustment, transmission gear shifting, release of brakes and gas pedal usage. 17. The system of claim 15 wherein the plurality of driver behavior parameters includes average speed as a function of road type; deviation from speed limit; acceleration patterns, including maximum acceleration and number and frequency of accelerations greater than a first threshold g-level; braking patterns, including maximum deceleration and number and frequency of decelerations greater than a second threshold g-level; stop sign behavior, including whether a complete stop is made, and duration of stop; turn behavior, including speed and lateral acceleration during turns; yield pattern, including tendency to yield to other drivers or assert the right of way; cruise control usage pattern—including whether cruise control is used on highways, on other roads, or not at all; climate control system usage patterns—including mode, temperature setting versus ambient, and fan speed; infotainment system usage patterns, including radio station selection; navigation information—including origin/destination pair, whether navigation system is used for instructions or not; and departure & return times for a trip. 18. The system of claim 15 wherein the algorithm clusters data from a plurality of previous driving trips into a number of data clusters representing known drivers of the vehicle, and compares data from a current driving trip to the data clusters to determine the identity of the driver. 19. The system of claim 18 wherein the algorithm clusters data from a plurality of previous driving trips by: providing data vectors containing a plurality of data parameters from the plurality of previous driving trips; defining the number of data clusters; assigning the data vectors to one of the data clusters, where each of the data vectors is assigned to a data cluster having a nearest center based on a weighted distance calculation; calculating new centers for the data clusters and re-assigning the data vectors to one of the data clusters if the new center of any of the data clusters is more than a threshold distance from a previous center; and providing the data clusters for the known drivers of the vehicle. 20. The system of claim 18 wherein the algorithm compares data from a current driving trip to the data clusters by: providing a new data vector containing a plurality of data parameters from the current driving trip; calculating a distance from the new data vector to a center of each of the data clusters; selecting a target data cluster as the data cluster whose center is the smallest distance from the new data vector; determining that the driver of the vehicle is one of the known drivers associated with the target data cluster if a distance from the new data vector to the center of the target data cluster is less than or equal to a predefined multiple of standard deviations; and determining that the driver of the vehicle is unknown if the distance from the new data vector to the center of the target data cluster is greater than the predefined multiple of standard deviations.