US20190392107A1 - Access and portability of user profiles stored as templates - Google Patents
Access and portability of user profiles stored as templates Download PDFInfo
- Publication number
- US20190392107A1 US20190392107A1 US16/247,128 US201916247128A US2019392107A1 US 20190392107 A1 US20190392107 A1 US 20190392107A1 US 201916247128 A US201916247128 A US 201916247128A US 2019392107 A1 US2019392107 A1 US 2019392107A1
- Authority
- US
- United States
- Prior art keywords
- vehicle
- user
- information
- data
- sensors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 claims abstract description 342
- 230000006870 function Effects 0.000 claims abstract description 115
- 230000001815 facial effect Effects 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 166
- 238000010295 mobile communication Methods 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 description 66
- 238000003860 storage Methods 0.000 description 53
- 230000036541 health Effects 0.000 description 42
- 230000008569 process Effects 0.000 description 39
- 230000015654 memory Effects 0.000 description 35
- 230000007613 environmental effect Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 29
- 238000001514 detection method Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 15
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 14
- 238000005259 measurement Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 14
- 229910052760 oxygen Inorganic materials 0.000 description 14
- 239000001301 oxygen Substances 0.000 description 14
- 230000003993 interaction Effects 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 12
- 230000003466 anti-cipated effect Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000008676 import Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000003862 health status Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000036772 blood pressure Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000000446 fuel Substances 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 230000008439 repair process Effects 0.000 description 6
- 238000010438 heat treatment Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000009849 deactivation Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000002996 emotional effect Effects 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 231100000279 safety data Toxicity 0.000 description 3
- 239000001119 stannous chloride Substances 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 244000291564 Allium cepa Species 0.000 description 2
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 2
- 240000001436 Antirrhinum majus Species 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 2
- 230000005355 Hall effect Effects 0.000 description 2
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 240000003768 Solanum lycopersicum Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 229910002091 carbon monoxide Inorganic materials 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 235000013601 eggs Nutrition 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 238000004146 energy storage Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 239000002979 fabric softener Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 238000013022 venting Methods 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 241000243320 Hydrozoa Species 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 206010041349 Somnolence Diseases 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- SAZUGELZHZOXHB-UHFFFAOYSA-N acecarbromal Chemical compound CCC(Br)(CC)C(=O)NC(=O)NC(C)=O SAZUGELZHZOXHB-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009408 flooring Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000009998 heat setting Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- FDZZZRQASAIRJF-UHFFFAOYSA-M malachite green Chemical compound [Cl-].C1=CC(N(C)C)=CC=C1C(C=1C=CC=CC=1)=C1C=CC(=[N+](C)C)C=C1 FDZZZRQASAIRJF-UHFFFAOYSA-M 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003387 muscular Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G06F17/5072—
-
- G06F17/5068—
-
- G06F17/5081—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K3/00—Apparatus or processes for manufacturing printed circuits
- H05K3/0005—Apparatus or processes for manufacturing printed circuits for designing circuits by computer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/741—Instruments adapted for user detection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/65—Instruments specially adapted for specific vehicle types or users, e.g. for left- or right-hand drive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
Definitions
- One way to instill comfort in a vehicle is to create an environment within the vehicle similar to that of an individual's home. Integrating features in a vehicle that are associated with comfort found in an individual's home can ease a traveler's transition from home to vehicle.
- Several manufacturers have added comfort features in vehicles such as the following: leather seats, adaptive and/or personal climate control systems, music and media players, ergonomic controls, and, in some cases, Internet connectivity.
- these manufacturers have added features to a conveyance, they have built comfort around a vehicle and failed to build a vehicle around comfort.
- Exemplary aspects are directed toward:
- a system to access one or more user profiles that govern one or more vehicle functions comprising: means for verifying, using a processor, one or more of biometric information, gesture recognition, facial recognition and device identification information, that a user has authority to access the one or more user profiles, the one or more profiles being stored in one or more of a vehicle, a cloud and a communications device; and means for allowing the user to make one or more edits to the one or more user profiles.
- a system to associate a user profile with a vehicle comprising:
- an import/export module adapted to receive the user profile from one or more of a communications device, a cloud, another vehicle and a computing device;
- a profile subsystem module adapted to integrate the user profile into the vehicle
- a position detection module adapted to determine a position of the user in the vehicle and one or more of enable and disable certain settings or preferences in the profile based on the determined position.
- any of the above aspects further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- the user profile is exported to one or more of the communications device, the cloud, another vehicle and the computing device.
- a method to associate a user profile with a vehicle comprising:
- any of the above aspects further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- the user profile is exported to one or more of the communications device, the cloud, another vehicle and the computing device.
- a non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to associate a user profile with a vehicle comprising:
- any of the above aspects further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- a system to associate a user profile with a vehicle comprising:
- a system to associate a user profile with a vehicle comprising:
- a system adapted to receive a reservation for a vehicle rental, the system querying a user if they would like to associate their user profile with a rental vehicle;
- system further queries the user to associate a position in the vehicle with their user profile.
- system further queries the user to associate a position in the vehicle with one or more additional user profiles.
- any of the above aspects further comprising an advertising module adapted to send one or more ads to one or more of the rental vehicle and a communications device associated with the user.
- the user profile is initially stored on a communications device, a tablet, a smartphone and in a cloud.
- a third party is capable of associating the user profile with the reservation.
- target advertising is provided to the vehicle at least based on the profile.
- a method to associate a user profile with a vehicle comprising:
- the system querying a user if they would like to associate their user profile with a rental vehicle;
- any of the above aspects further comprising sending one or more ads to one or more of the rental vehicle and a communications device associated with the user.
- the user profile is initially stored on a communications device, a tablet, a smartphone and in a cloud.
- a third party is capable of associating the user profile with the reservation.
- target advertising is provided to the vehicle at least based on the profile.
- a non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to associate a user profile with a vehicle comprising:
- the system querying a user if they would like to associate their user profile with a rental vehicle;
- a system for associating a user profile with a vehicle comprising:
- a system that reports one or more vehicle conditions comprising:
- a vehicle reporting module adapted to receive one or more of a request, a smart calendar item, a trigger and context information, and determine what one or more types of information should be monitored;
- a communication system adapted to forward one or more of the one or more types of information to one or more destinations.
- the one or more destinations include a smartphone, a communications device and a remote access device.
- a smart calendar module initiates one or more triggers, the initiation based on one or more calendared events.
- a context module determines context of the vehicle and based on one or more thresholds, initiates the trigger.
- a context module cooperates with a breathalyzer and determines when monitoring should commence.
- a parental control module initiates the request to begin monitoring.
- a remote access device can establish one or more of audio and video communication with the vehicle, and can also control one or more vehicle functions.
- the remote access device is a communications device, a smartphone, a tablet computer and a computer.
- a method to report one or more vehicle conditions comprising:
- the one or more destinations include a smartphone, a communications device and a remote access device.
- a smart calendar module initiates one or more triggers, the initiation based on one or more calendared events.
- a context module determines context of the vehicle and based on one or more thresholds, initiates the trigger.
- a context module cooperates with a breathalyzer and determines when monitoring should commence.
- a parental control module initiates the request to begin monitoring.
- a remote access device can establish one or more of audio and video communication with the vehicle, and can also control one or more vehicle functions.
- the remote access device is a communications device, a smartphone, a tablet computer and a computer.
- a non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to report one or more vehicle conditions comprising:
- a system to report one or more vehicle conditions comprising:
- a parental control system for a vehicle comprising:
- a parental control module adapted to limit one or more vehicle functions based on one or more rules
- a profile module adapted to interact with the parental control module to limit the one or more vehicle functions based on whether the profile is associated with a driver or a passenger.
- the parental control module is activated based on one or more of a facial recognition and a profile associated with the vehicle.
- the one or more vehicle functions are limited based on a determined context of one or more of the vehicle and one or more passengers.
- a parental control method for a vehicle comprising:
- the parental control module is activated based on one or more of a facial recognition and a profile associated with the vehicle.
- the one or more vehicle functions are limited based on a determined context of one or more of the vehicle and one or more passengers.
- a parental control system for a vehicle comprising:
- a non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a parental control method for a vehicle comprising:
- the present disclosure can provide a number of advantages depending on the particular aspect, embodiment, and/or configuration. The above and other advantages will be apparent from the disclosure.
- each of the expressions “at least one of A, B and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
- autonomous navigation system can refer to a satellite navigation system designed for use in vehicles. It typically uses a GPS navigation device to acquire position data to locate the user on a road in the unit's map database. Using the road database, the unit can give directions to other locations along roads also in its database. Dead reckoning using distance data from sensors attached to the drivetrain, a gyroscope and an accelerometer can be used for greater reliability, as GPS signal loss and/or multipath can occur due to urban canyons or tunnels.
- bus can refer to a subsystem that transfers information and/or data between various components.
- a bus generally refers to the collection communication hardware interface, interconnects, bus architecture, standard, and/or protocol defining the communication scheme for a communication system and/or communication network.
- a bus may also refer to a part of a communication hardware that interfaces the communication hardware with the interconnects that connect to other components of the corresponding communication network.
- the bus may be for a wired network, such as a physical bus, or wireless network, such as part of an antenna or hardware that couples the communication hardware with the antenna.
- a bus architecture supports a defined format in which information and/or data is arranged when sent and received through a communication network.
- a protocol may define the format and rules of communication of a bus architecture.
- communication device can be used interchangeably and may include any type of device capable of communicating with one or more of another device and/or across a communications network, via a communications protocol, and the like.
- exemplary communication devices may include but are not limited to smartphones, handheld computers, laptops, netbooks, notebook computers, subnotebooks, tablet computers, scanners, portable gaming devices, phones, pagers, GPS modules, portable music players, and other Internet-enabled and/or network-connected devices.
- a “communication modality” can refer to any protocol- or standard defined or specific communication session or interaction, such as Voice-Over-Internet-Protocol (“VoIP), cellular communications (e.g., IS-95, 1G, 2G, 3G, 3.5G, 4G, 4G/IMT-Advanced standards, 3GPP, WIMAXTM, GSM, CDMA, CDMA2000, EDGE, 1 ⁇ EVDO, iDEN, GPRS, HSPDA, TDMA, UMA, UMTS, ITU-R, and 5G), BluetoothTM, text or instant messaging (e.g., AIM, Blauk, eBuddy, Gadu-Gadu, IBM Lotus Sametime, ICQ, iMessage, IMVU, Lync, MXit, Paltalk, Skype, Tencent QQ, Windows Live MessengerTM or MSN MessengerTM, Wireclub, Xfire, and Yahoo! MessengerTM), email, Twitter (e.g., tweeting), Digital Service Protocol (DSP), and the like.
- VoIP
- the term “communication system” or “communication network” and variations thereof, as used herein, can refer to a collection of communication components capable of one or more of transmission, relay, interconnect, control, or otherwise manipulate information or data from at least one transmitter to at least one receiver.
- the communication may include a range of systems supporting point-to-point or broadcasting of the information or data.
- a communication system may refer to the collection individual communication hardware as well as the interconnects associated with and connecting the individual communication hardware.
- Communication hardware may refer to dedicated communication hardware or may refer a processor coupled with a communication means (i.e., an antenna) and running software capable of using the communication means to send and/or receive a signal within the communication system.
- Interconnect refers some type of wired or wireless communication link that connects various components, such as communication hardware, within a communication system.
- a communication network may refer to a specific setup of a communication system with the collection of individual communication hardware and interconnects having some definable network topography.
- a communication network may include wired and/or wireless network having a pre-set to an ad hoc network structure.
- Non-volatile media includes, for example, non-volatile random access memory (NVRAM), or magnetic or optical disks.
- Volatile media includes dynamic memory, such as main memory.
- Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a compact disc read only memory (CD-ROM), any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), and erasable programmable read only memory EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
- a floppy disk a flexible disk, hard disk, magnetic tape, or any other magnetic medium
- CD-ROM compact disc read only memory
- CD-ROM compact disc read only memory
- EPROM erasable programmable read only memory
- FLASH-EPROM a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which
- a digital file attachment to an e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium.
- the computer-readable media is configured as a database
- the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored. It should be noted that any computer readable medium that is not a signal transmission may be considered non-transitory.
- dashboards may be used interchangeably and can be any panel and/or area of a vehicle disposed adjacent to an operator, user, and/or passenger.
- Dashboards may include, but are not limited to, one or more control panel(s), instrument housing(s), head unit(s), indicator(s), gauge(s), meter(s), light(s), audio equipment, computer(s), screen(s), display(s), HUD unit(s), and graphical user interface(s).
- module refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element.
- desktop refers to a metaphor used to portray systems.
- a desktop is generally considered a “surface” that may include pictures, called icons, widgets, folders, etc. that can activate and/or show applications, windows, cabinets, files, folders, documents, and other graphical items.
- the icons are generally selectable to initiate a task through user interface interaction to allow a user to execute applications and/or conduct other operations.
- display refers to a portion of a physical screen used to display the output of a computer to a user.
- displayed image refers to an image produced on the display.
- a typical displayed image is a window or desktop.
- the displayed image may occupy all or a portion of the display.
- display orientation refers to the way in which a rectangular display is oriented for viewing.
- the two most common types of display orientations are portrait and landscape.
- landscape mode the display is oriented such that the width of the display is greater than the height of the display (such as a 4:3 ratio, which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16 units wide and 9 units tall).
- the longer dimension of the display is oriented substantially horizontal in landscape mode while the shorter dimension of the display is oriented substantially vertical.
- the display is oriented such that the width of the display is less than the height of the display.
- the shorter dimension of the display is oriented substantially horizontal in the portrait mode while the longer dimension of the display is oriented substantially vertical.
- a multi-screen display can have one composite display that encompasses all the screens. The composite display can have different display characteristics based on the various orientations of the device.
- electronic address can refer to any contactable address, including a telephone number, instant message handle, e-mail address, Uniform Resource Locator (“URL”), Global Universal Identifier (“GUID”), Universal Resource Identifier (“URI”), Address of Record (“AOR”), electronic alias in a database, etc., combinations thereof.
- URL Uniform Resource Locator
- GUID Global Universal Identifier
- URI Universal Resource Identifier
- AOR Address of Record
- gesture refers to a user action that expresses an intended idea, action, meaning, result, and/or outcome.
- the user action can include manipulating a device (e.g., opening or closing a device, changing a device orientation, moving a trackball or wheel, etc.), movement of a body part in relation to the device, movement of an implement or tool in relation to the device, audio inputs, etc.
- a gesture may be made on a device (such as on the screen) or with the device to interact with the device.
- gesture capture refers to a sense or otherwise a detection of an instance and/or type of user gesture.
- the gesture capture can be received by sensors in three-dimensional space. Further, the gesture capture can occur in one or more areas of a screen, for example, on a touch-sensitive display or a gesture capture region.
- a gesture region can be on the display, where it may be referred to as a touch sensitive display, or off the display, where it may be referred to as a gesture capture area.
- infotainment and “infotainment system” may be used interchangeably and can refer to the hardware/software products, data, content, information, and/or systems, which can be built into or added to vehicles to enhance driver and/or passenger experience. Infotainment may provide media and/or multimedia content. An example is information-based media content or programming that also includes entertainment content.
- a “multi-screen application” refers to an application that is capable of producing one or more windows that may simultaneously occupy one or more screens.
- a multi-screen application commonly can operate in single-screen mode in which one or more windows of the application are displayed only on one screen or in multi-screen mode in which one or more windows are displayed simultaneously on multiple screens.
- a “single-screen application” refers to an application that is capable of producing one or more windows that may occupy only a single screen at a time.
- online community can mean a group of people that interact via a computer network, for social, professional, educational, and/or other purposes.
- the interaction can use a variety of media formats, including wikis, blogs, chat rooms, Internet forums, instant messaging, email, and other forms of electronic media.
- Many media formats may be used in social software separately and/or in combination, including text-based chat rooms and forums that use voice, video text or avatars.
- SMS satellite positioning system
- US Global Positioning System
- GLONASS Russian
- EU Galileo positioning system
- Compass navigation system China
- Regional Navigational Satellite System India
- social network service may include a service provider that builds online communities of people, who share interests and/or activities, or who are interested in exploring the interests and/or activities of others.
- Social network services can be network-based and may provide a variety of ways for users to interact, such as e-mail and instant messaging services.
- social network can refer to a network-based social network.
- touch screen refers to a physical structure that enables the user to interact with the computer by touching areas on the screen and provides information to a user through a display.
- the touch screen may sense user contact in a number of different ways, such as by a change in an electrical parameter (e.g., resistance or capacitance), acoustic wave variations, infrared radiation proximity detection, light variation detection, and the like.
- an electrical parameter e.g., resistance or capacitance
- acoustic wave variations e.g., infrared radiation proximity detection, light variation detection, and the like.
- resistive touch screen normally separated conductive and resistive metallic layers in the screen pass an electrical current. When a user touches the screen, the two layers make contact in the contacted location, whereby a change in electrical field is noted and the coordinates of the contacted location calculated.
- a capacitive layer stores electrical charge, which is discharged to the user upon contact with the touch screen, causing a decrease in the charge of the capacitive layer. The decrease is measured, and the contacted location coordinates determined.
- a surface acoustic wave touch screen an acoustic wave is transmitted through the screen, and the acoustic wave is disturbed by user contact.
- a receiving transducer detects the user contact instance and determines the contacted location coordinates.
- window refers to a, typically rectangular, displayed image on at least part of a display that contains or provides content different from the rest of the screen.
- the window may obscure the desktop.
- the dimensions and orientation of the window may be configurable either by another module or by a user. When the window is expanded, the window can occupy substantially all of the display space on a screen or screens.
- vehicle can refer to a device or structure for transporting animate and/or inanimate or tangible objects (e.g., persons and/or things), such as a self-propelled conveyance.
- a vehicle as used herein can include any conveyance or model of a conveyance, where the conveyance was originally designed for the purpose of moving one or more tangible objects, such as people, animals, cargo, and the like.
- vehicle does not require that a conveyance moves or is capable of movement.
- Typical vehicles may include but are in no way limited to cars, trucks, motorcycles, busses, automobiles, trains, railed conveyances, boats, ships, marine conveyances, submarine conveyances, airplanes, space craft, flying machines, human-powered conveyances, and the like.
- profile can refer to any data structure, data store, and/or database that includes one or more items of information associated with a vehicle, a vehicle system, a device (e.g., a mobile device, laptop, mobile phone, etc.), or a person.
- a device e.g., a mobile device, laptop, mobile phone, etc.
- in communication with refers to any coupling, connection, or interaction using electrical signals to exchange information or data, using any system, hardware, software, protocol, or format, regardless of whether the exchange occurs wirelessly or over a wired connection.
- FIG. 1 depicts an embodiment of a vehicle operating environment
- FIG. 2 is a block diagram of an embodiment of a vehicle system
- FIG. 3 is a block diagram of an embodiment of a vehicle control system environment
- FIG. 4 is a block diagram of an embodiment of a vehicle communications subsystem
- FIG. 5A is a first block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones;
- FIG. 5B is a second block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones;
- FIG. 5C is a third block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones;
- FIG. 6A depicts an embodiment of a sensor configuration for a vehicle
- FIG. 6B depicts an embodiment of a sensor configuration for a zone of a vehicle
- FIG. 7A is a block diagram of an embodiment of interior sensors for a vehicle
- FIG. 7B is a block diagram of an embodiment of exterior sensors for a vehicle
- FIG. 8A is a block diagram of an embodiment of a media subsystem for a vehicle
- FIG. 8B is a block diagram of an embodiment of a user and device interaction subsystem for a vehicle
- FIG. 8C is a block diagram of an embodiment of a Navigation subsystem for a vehicle
- FIG. 9 is a block diagram of an embodiment of a communications subsystem for a vehicle.
- FIG. 10 is a block diagram of an embodiment of a software architecture for the vehicle control system
- FIG. 11A is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11B is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11C is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11D is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11E is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11F is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11G is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11H is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11I is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11J is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 11K is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system
- FIG. 12A is a diagram of an embodiment of a data structure for storing information about a user of a vehicle
- FIG. 12B is a diagram of an embodiment of a data structure for storing information about a device associated with or in a vehicle;
- FIG. 12C is a diagram of an embodiment of a data structure for storing information about a system of a vehicle
- FIG. 12D is a diagram of an embodiment of a data structure for storing information about a vehicle
- FIG. 13 is a flow or process diagram of a method for storing one or more settings associated with a user
- FIG. 14 is a flow or process diagram of a method for establishing one or more settings associated with a user
- FIG. 15 is a flow or process diagram of a method for storing one or more settings associated with a user
- FIG. 16 is a flow or process diagram of a method for storing one or more gestures associated with a user
- FIG. 17 is a flow or process diagram of a method for reacting to a gesture performed by a user
- FIG. 18 is a flow or process diagram of a method for storing health data associated with a user
- FIG. 19 is a flow or process diagram of a method for reacting to a gesture performed by a user
- FIG. 20 illustrates an embodiment of additional vehicle subsystems and components
- FIG. 21 illustrates another embodiment of additional vehicle subsystems and components
- FIG. 22 illustrates another embodiment of additional vehicle subsystems and components
- FIG. 23 is a flowchart illustrating an exemplary method for profile management
- FIG. 24 is a flowchart illustrating vehicle to mobile device communication
- FIG. 25 is a flowchart illustrating an exemplary method for profile transferring
- FIG. 26 is a flowchart illustrating an exemplary method for associating one or more profiles with a reservation
- FIG. 27 is a flowchart illustrating an exemplary method for vehicle monitoring
- FIG. 28 is a flowchart illustrating an exemplary method for parental control
- FIG. 29 is a flowchart illustrating an exemplary method for global context awareness.
- the embodiments may relate to an automobile and/or an automobile environment.
- the automobile environment can include systems associated with the automobile and devices or other systems in communication with the automobile and/or automobile systems.
- the systems can relate to communications systems and/or devices and may be capable of communicating with other devices and/or to an individual or group of individuals. Further, the systems can receive user input in unique ways.
- the overall design and functionality of the systems provide for an enhanced user experience making the automobile more useful and more efficient.
- the automobile systems may be electrical, mechanical, electro-mechanical, software-based, and/or combinations thereof.
- a vehicle environment 100 that may contain a vehicle ecosystem is shown in FIG. 1 .
- the vehicle environment 100 can contain areas associated with a vehicle or conveyance 104 .
- the vehicle 104 is shown as a car but can be any type of conveyance.
- the environment 100 can include at least three zones.
- a first zone 108 may be inside a vehicle 104 .
- the zone 108 includes any interior space, trunk space, engine compartment, or other associated space within or associated with the vehicle 104 .
- the interior zone 108 can be defined by one or more techniques, for example, geo-fencing.
- a second zone 112 may be delineated by line 120 .
- the zone 112 is created by a range of one or more sensors associated with the vehicle 104 .
- the area 112 is exemplary of the range of those sensors and what can be detected by those sensors associated with the vehicle 104 .
- sensor range is shown as a fixed and continuous oval, the sensor range may be dynamic and/or discontinuous.
- a ranging sensor e.g., radar, lidar, ladar, etc.
- the rest of the environment includes all space beyond the range of the sensors and is represented by space 116 .
- the environment 100 may have an area 116 that includes all areas beyond the sensor range 112 .
- the area 116 may include locations of travel that the vehicle 104 may proceed to in the future.
- the vehicle system 200 may comprise hardware and/or software that conduct various operations for or with the vehicle 104 .
- the operations can include, but are not limited to, providing information to the user 216 , receiving input from the user 216 , and controlling the functions or operation of the vehicle 104 , etc.
- the vehicle system 200 can include a vehicle control system 204 .
- the vehicle control system 204 can be any type of computing system operable to conduct the operations as described herein.
- An example of a vehicle control system may be as described in conjunction with FIG. 3 .
- the vehicle control system 204 may interact with a memory or storage system 208 that stores system data.
- System data 208 may be any type of data needed for the vehicle control system 204 to control effectively the vehicle 104 .
- the system data 208 can represent any type of database or other storage system.
- the system data 208 can be a flat file data system, an object-oriented data system, or some other data system that may interface with the vehicle control system 204 .
- the vehicle control system 204 may communicate with a device or user interface 212 , 248 .
- the user interface 212 , 248 may be operable to receive user input either through touch input, on one or more user interface buttons, via voice command, via one or more image sensors, or through a graphical user interface that may include a gesture capture region, as described in conjunction with the other figures provided herein.
- the symbol 212 , 248 can represent a device that is located or associated with the vehicle 104 .
- the device 212 , 248 can be a mobile device, including, but not limited to, a mobile telephone, a mobile computer, or other type of computing system or device that is either permanently located in or temporarily associated with, but not necessarily connected to, the vehicle 104 .
- the vehicle control system 204 can interface with the device 212 , 248 and leverage the device's computing capability to provide one or more of the features or functions as described herein.
- the device or user interface 212 , 248 can receive input or provide information to a user 216 .
- the user 216 may thus interact with the vehicle control system 204 through the interface or device 212 , 248 .
- the device 212 , 248 may include or have access to device data 220 and/or profile data 252 .
- the device data 220 can be any type of data that is used in conjunction with the device 212 , 248 including, but not limited to, multimedia data, preferences data, device identification information, or other types of data.
- the profile data 252 can be any type of data associated with at least one user 216 including, but in no way limited to, bioinformatics, medical information, driving history, personal information (e.g., home physical address, business physical address, contact addresses, likes, dislikes, hobbies, size, weight, occupation, business contacts —including physical and/or electronic addresses, personal contacts —including physical and/or electronic addresses, family members, and personal information related thereto, etc.), other user characteristics, advertising information, user settings and feature preferences, travel information, associated vehicle preferences, communication preferences, historical information (e.g., including historical, current, and/or future travel destinations), Internet browsing history, or other types of data.
- the data may be stored as device data 220 and/or profile data 252 in a storage system similar to that described in conjunction with FIGS. 12A through 12D .
- the profile data 252 may include one or more user profiles.
- User profiles may be generated based on data gathered from one or more of vehicle preferences (e.g., seat settings, HVAC settings, dash configurations, and the like), recorded settings, geographic location information (e.g., provided by a satellite positioning system (e.g., GPS), Wi-Fi hotspot, cell tower data, etc.), mobile device information (such as mobile device electronic addresses, Internet browsing history and content, application store selections, user settings and enabled and disabled features, and the like), private information (such as user information from a social network, user presence information, user business account, and the like), secure data, biometric information, audio information from on board microphones, video information from on board cameras, Internet browsing history and browsed content using an on board computer and/or the local area network enabled by the vehicle 104 , geographic location information (e.g., a vendor storefront, roadway name, city name, etc.), and the like.
- vehicle preferences e.g., seat settings, HVAC settings, dash configurations, and the
- the profile data 252 may include one or more user accounts.
- User accounts may include access and permissions to one or more settings and/or feature preferences associated with the vehicle 104 , communications, infotainment, content, etc.
- a user account may allow access to certain settings for a particular user, while another user account may deny access to the settings for another user, and vice versa.
- the access controlled by the user account may be based on at least one of a user account priority, role, permission, age, family status, a group priority (e.g., the user account priority of one or more users, etc.), a group age (e.g., the average age of users in the group, a minimum age of the users in the group, a maximum age of the users in the group, and/or combinations thereof, etc.).
- a group priority e.g., the user account priority of one or more users, etc.
- a group age e.g., the average age of users in the group, a minimum age of the users in the group, a maximum age of the users in the group, and/or combinations thereof, etc.
- a user 216 may be allowed to purchase applications (e.g., software, etc.) for the vehicle 104 and/or a device associated with the vehicle 104 based on information associated with the user account.
- This user account information may include a preferred payment method, permissions, and/or other account information.
- the user account information may be part of the user profile and/or other data stored in the profile data 252 .
- an adult user e.g., a user with an age of 18 years old and/or over, etc.
- a vehicle 104 such as a rear passenger area.
- a child user e.g., a user with an age of 17 years old and/or less, etc.
- the user account information in the profile data 252 associated with both the adult user and the child user may be used by the vehicle 104 in determining whether content is appropriate for the area given the age of the child user.
- a graphic movie containing violence may be suitable to present to a display device associated with the adult user but may not be acceptable to present to the display device if a 12-year old child user may see and/or hear the content of the movie.
- a graphic movie containing violence e.g., a movie associated with a mature rating, such as a Motion Picture Association of America (MPAA) rating of “R,” “NC-17,” etc.
- MPAA Motion Picture Association of America
- the vehicle control system 204 may also communicate with or through a communication network 224 .
- the communication network 224 can represent any type of wireless and/or wired communication system that may be included within the vehicle 104 or operable to communicate outside the vehicle 104 .
- the communication network 224 can include a local area communication capability and a wide area communication capability.
- the communication network 224 can include a Bluetooth® wireless system, an 802.11x (e.g., 802.11G/802.11N/802.11AC, or the like, wireless system), a CAN bus, an Ethernet network within the vehicle 104 , or other types of communication networks that may function with or be associated with the vehicle 104 .
- the communication network 224 can also include wide area communication capabilities, including one or more of, but not limited to, a cellular communication capability, satellite telephone communication capability, a wireless wide area network communication capability, or other types of communication capabilities that allow for the vehicle control system 204 to communicate outside the vehicle 104 .
- the vehicle control system 204 may communicate through the communication network 224 to a server 228 that may be located in a facility that is not within physical proximity to the vehicle 104 .
- the server 228 may represent a cloud computing system or cloud storage that allows the vehicle control system 204 to either gain access to further computing capabilities or to storage at a location outside of the vehicle 104 .
- the server 228 can include a computer processor and memory and be similar to any computing system as understood to one skilled in the art.
- the server 228 may be associated with stored data 232 .
- the stored data 232 may be stored in any system or by any method, as described in conjunction with system data 208 , device data 220 , and/or profile data 252 .
- the stored data 232 can include information that may be associated with one or more users 216 or associated with one or more vehicles 104 .
- the stored data 232 being stored in a cloud or in a distant facility, may be exchanged among vehicles 104 or may be used by a user 216 in different locations or with different vehicles 104 .
- the server may be associated with profile data 252 as provided herein. It is anticipated that the profile data 252 may be accessed across the communication network 224 by one or more components of the system 200 . Similar to the stored data 232 , the profile data 252 , being stored in a cloud or in a distant facility, may be exchanged among vehicles 104 or may be used by a user 216 in different locations or with different vehicles 104 .
- the vehicle control system 204 may also communicate with one or more sensors 236 , 242 , which are either associated with the vehicle 104 or communicate with the vehicle 104 .
- Vehicle sensors 242 may include one or more sensors for providing information to the vehicle control system 204 that determine or provide information about the environment 100 in which the vehicle 104 is operating. Embodiments of these sensors may be as described in conjunction with FIGS. 6A-7B .
- Non-vehicle sensor 236 can be any type of sensor that is not currently associated with the vehicle 104 .
- non-vehicle sensor 236 can be sensors in a traffic system operated by a third party that provides data to the vehicle control system 204 .
- non-vehicle sensor(s) 236 can be other types of sensors which provide information about the distant environment 116 or other information about the vehicle 104 or the environment 100 . These non-vehicle sensors 236 may be operated by third parties but provide information to the vehicle control system 204 . Examples of information provided by the sensors 236 and that may be used by the vehicle control system 204 may include weather tracking data, traffic data, user health tracking data, vehicle maintenance data, or other types of data, which may provide environmental or other data to the vehicle control system 204 . The vehicle control system 204 may also perform signal processing of signals received from one or more sensors 236 , 242 .
- Such signal processing may include estimation of a measured parameter from a single sensor, such as multiple measurements of a range state parameter from the vehicle 104 to an obstacle, and/or the estimation, blending, or fusion of a measured state parameter from multiple sensors such as multiple radar sensors or a combination of a ladar/lidar range sensor and a radar sensor.
- Signal processing of such sensor signal measurements may comprise stochastic signal processing, adaptive signal processing, and/or other signal processing techniques known to those skilled in the art.
- the various sensors 236 , 242 may include one or more sensor memory 244 .
- Embodiments of the sensor memory 244 may be configured to store data collected by the sensors 236 , 242 .
- a temperature sensor may collect temperature data associated with a vehicle 104 , user 216 , and/or environment, over time. The temperature data may be collected incrementally, in response to a condition, or at specific time periods. In this example, as the temperature data is collected, it may be stored in the sensor memory 244 . In some cases, the data may be stored along with an identification of the sensor and a collection time associated with the data. Among other things, this stored data may include multiple data points and may be used to track changes in sensor measurements over time.
- the sensor memory 244 can represent any type of database or other storage system.
- the diagnostic communications module 256 may be configured to receive and transmit diagnostic signals and information associated with the vehicle 104 .
- diagnostics signals and information may include, but is in no way limited to, vehicle system warnings, sensor data, vehicle component status, service information, component health, maintenance alerts, recall notifications, predictive analysis, and the like.
- Embodiments of the diagnostic communications module 256 may handle warning/error signals in a predetermined manner. The signals, for instance, can be presented to one or more of a third party, occupant, vehicle control system 204 , and a service provider (e.g., manufacturer, repair facility, etc.).
- a service provider e.g., manufacturer, repair facility, etc.
- the diagnostic communications module 256 may be utilized by a third party (i.e., a party other than the user 216 , etc.) in communicating vehicle diagnostic information.
- a manufacturer may send a signal to a vehicle 104 to determine a status associated with one or more components associated with the vehicle 104 .
- the diagnostic communications module 256 may communicate with the vehicle control system 204 to initiate a diagnostic status check. Once the diagnostic status check is performed, the information may be sent via the diagnostic communications module 256 to the manufacturer. This example may be especially useful in determining whether a component recall should be issued based on the status check responses returned from a certain number of vehicles.
- Wired/wireless transceiver/communications ports 260 may be included.
- the wired/wireless transceiver/communications ports 260 may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices.
- Examples of wired/wireless transceiver/communications ports 260 include Ethernet ports, Universal Serial Bus (USB) ports, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface ports.
- FIG. 3 An embodiment of a vehicle control environment 300 including a vehicle control system 204 may be as shown in FIG. 3 .
- the vehicle control environment 300 can include one or more of, but is not limited to, a power source and/or power control module 316 , a data storage module 320 , user interface(s)/input interface(s) 324 , vehicle subsystems 328 , user interaction subsystems 332 , Global Positioning System (GPS)/Navigation subsystems 336 , sensor(s) and/or sensor subsystems 340 , communication subsystems 344 , media subsystems 348 , and/or device interaction subsystems 352 .
- GPS Global Positioning System
- Navigation subsystems 336 sensor(s) and/or sensor subsystems 340
- communication subsystems 344 media subsystems 348
- device interaction subsystems 352 The subsystems, modules, components, etc.
- 316 - 352 may include hardware, software, firmware, computer readable media, displays, input devices, output devices, etc. or combinations thereof.
- the system, subsystems, modules, components, etc. 204 , 316 - 352 may communicate over a network or bus 356 .
- This communication bus 356 may be bidirectional and perform data communications using any known or future-developed standard or protocol.
- An example of the communication bus 356 may be as described in conjunction with FIG. 4 .
- the vehicle control system 204 can include a processor 304 , memory 308 , and/or an input/output (I/O) module 312 .
- the vehicle control system 204 may be a computer system, which can comprise hardware elements that may be electrically coupled.
- the hardware elements may include one or more central processing units (CPUs) 304 ; one or more components of the I/O module 312 including input devices (e.g., a mouse, a keyboard, etc.) and/or one or more output devices (e.g., a display device, a printer, etc.).
- CPUs central processing units
- output devices e.g., a display device, a printer, etc.
- the processor 304 may comprise a general purpose programmable processor or controller for executing application programming or instructions.
- the processor 304 may, optionally, include multiple processor cores, and/or implement multiple virtual processors. Additionally or alternatively, the processor 304 may include multiple physical processors.
- the processor 304 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like.
- ASIC application specific integrated circuit
- the processor 304 generally functions to run programming code or instructions implementing various functions of the vehicle control system 204 .
- the input/output module 312 and associated ports may be included to support communications over wired or wireless networks or links, for example with other communication devices, server devices, and/or peripheral devices.
- Examples of an input/output module 312 include an Ethernet port, a Universal Serial Bus (USB) port, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface.
- USB Universal Serial Bus
- IEEE Institute of Electrical and Electronics Engineers
- the vehicle control system 204 may also include one or more storage devices 308 .
- storage devices 308 may be disk drives, optical storage devices, solid-state storage devices such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.
- the vehicle control system 204 may additionally include a computer-readable storage media reader; a communications system (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.); and working memory 308 , which may include RAM and ROM devices as described above.
- the vehicle control system 204 may also include a processing acceleration unit, which can include a digital signal processor (DSP), a special-purpose processor, and/or the like.
- DSP digital signal processor
- the computer-readable storage media reader can further be connected to a computer-readable storage medium, together (and, optionally, in combination with storage device(s)) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information.
- the communications system may permit data to be exchanged with an external or internal network and/or any other computer or device described herein.
- the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices, and/or other machine readable mediums for storing information.
- the vehicle control system 204 may also comprise software elements including an operating system and/or other code, as described in conjunction with FIG. 10 . It should be appreciated that alternates to the vehicle control system 204 may have numerous variations from that described herein. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.
- the power source and/or power control module 316 can include any type of power source, including, but not limited to, batteries, alternating current sources (from connections to a building power system or power line), solar cell arrays, etc.
- One or more components or modules may also be included to control the power source or change the characteristics of the provided power signal.
- Such modules can include one or more of, but is not limited to, power regulators, power filters, alternating current (AC) to direct current (DC) converters, DC to AC converters, receptacles, wiring, other converters, etc.
- the power source and/or power control module 316 functions to provide the vehicle control system 204 and any other system with power.
- the data storage 320 can include any module for storing, retrieving, and/or managing data in one or more data stores and/or databases.
- the database or data stores may reside on a storage medium local to (and/or resident in) the vehicle control system 204 or in the vehicle 104 . Alternatively, some of the data storage capability may be remote from the vehicle control system 204 or automobile, and in communication (e.g., via a network) to the vehicle control system 204 .
- the database or data stores may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the vehicle control system 204 may be stored locally on the respective vehicle control system 204 and/or remotely, as appropriate.
- SAN storage-area network
- the databases or data stores may be a relational database, and the data storage module 320 may be adapted to store, update, and retrieve data in response to specifically-formatted commands.
- the data storage module 320 may also perform data management functions for any flat file, object oriented, or other type of database or data store.
- a first data store that may be part of the vehicle control environment 300 is a profile data store 252 for storing data about user profiles and data associated with the users.
- a system data store 208 can include data used by the vehicle control system 204 and/or one or more of the components 324 - 352 to facilitate the functionality described herein.
- the data stores 208 and/or 252 may be as described in conjunction with FIGS. 1 and/or 12A-12D .
- Vehicle systems 328 can include any of the mechanical, electrical, electromechanical, computer, or other systems associated with the function of the vehicle 100 .
- vehicle systems 328 can include one or more of, but is not limited to, the steering system, the braking system, the engine and engine control systems, the electrical system, the suspension, the drive train, the cruise control system, the radio, the heating, ventilation, air conditioning (HVAC) system, the windows and/or doors, etc. These systems are well known in the art and will not be described further.
- HVAC heating, ventilation, air conditioning
- Examples of the other systems and subsystems 324 - 352 may be as described further herein.
- the user interface(s)/input interface(s) 324 may be as described in FIGS. 2 and 8B ; the vehicle subsystems 328 may be as described in FIG. 6 a et. seq.; the user interaction subsystem 332 may be as described in conjunction with the user/device interaction subsystem 817 of FIG. 8B ; the Navigation subsystem 336 may be as described in FIGS. 6A and 8C ; the sensor(s)/sensor subsystem 340 may be as described in FIGS. 7A and 7B ; the communication subsystem 344 may be as described in FIGS.
- the media subsystem 348 may be as described in FIG. 8A ; and, the device interaction subsystem 352 may be as described in FIG. 2 and in conjunction with the user/device interaction subsystem 817 of FIG. 8B .
- FIG. 4 illustrates an optional communications channel architecture 400 and associated communications components.
- FIG. 4 illustrates some of the optional components that can be interconnected via the communication channels/zones 404 .
- Communication channels/zones 404 can carry information on one or more of a wired and/or wireless communications link with, in the illustrated example, there being three communications channels/zones, 408 , 412 , and 416 .
- This optional environment 400 can also include an IP router 420 , an operator cluster 424 , one or more storage devices 428 , one or more blades, such as master blade 432 , and computational blades 436 and 440 .
- the communications channels/zones 404 can interconnect one or more displays, such as, remote display 1 444 , remote display N 448 , and console display 452 .
- the communications channels/zones 404 also interconnect an access point 456 , a Bluetooth® access point/USB hub 460 , a Femtocell 464 , a storage controller 468 , that is connected to one or more of USB devices 472 , DVDs 476 , or other storage devices 480 .
- the environment 400 optionally includes a firewall 484 which will be discussed hereinafter in greater detail.
- Other components that could also share the communications channel/zones 404 include GPS 488 , media controller 492 , which is connected to one or more media sources 496 , and one or more subsystems, such as subsystem switches 498 .
- the communications channels/zones 404 can be viewed as an I/O network or bus where the communications channels are carried on the same physical media.
- the communication channels 404 can be split amongst one or more physical media and/or combined with one or more wireless communications protocols.
- the communications channels 404 can be based on wireless protocols with no physical media interconnecting the various elements described herein.
- the environment 400 shown in FIG. 4 can include a collection of blade processors that are housed in a “crate.”
- the crate can have a PC-style backplane connector 408 and a backplane Ethernet 408 that allows the various blades to communicate with one another using, for example, an Ethernet.
- FIG. 4 Various other functional elements illustrated in FIG. 4 can be integrated into this crate architecture with, as discussed hereinafter, various zones utilized for security.
- the backplane 404 / 408 can have two separate Ethernet zones that may or may not be on the same communications channel
- the zones exist on a single communications channel on the I/O network/bus 408 .
- the zones are actually on different communications channels, e.g., 412 , 416 ; however, the implementation is not restricted to any particular type of configuration. Rather, as illustrated in FIG. 4 , there can be a red zone 417 and a green zone 413 , and the I/O backplane on the network/bus 408 that enables standard I/O operations.
- This backplane or I/O network/bus 408 also optionally can provide power distribution to the various modules and blades illustrated in FIG. 4 .
- the red and green Ethernet zones, 417 and 413 respectively, can be implemented as Ethernet switches, with one on each side of the firewall 484 . Two Ethernets (untrusted and trusted) are not connected in accordance with an optional embodiment.
- the connector geometry for the firewall can be different for the Ethernet zones than for the blades that are a part of the system.
- the red zone 417 only needs to go from the modular connector to the input side of the backplane connector of the firewall 484 . While FIG. 4 indicates that there are five external red zone connectors to the firewall 484 , provisions can be made for any number of ports with the connections being made at the access point 456 , the Bluetooth® access point (combo controller) 460 , Femtocell 464 , storage controller 468 , and/or firewall 484 .
- the external port connections can be made through a manufacturer configurable modular connector panel, and one or more of the red zone Ethernet ports could be available through a customer supplied crate which allows, for example, wired Ethernet connections from a bring-your-own-device (BYOD) to the firewall 484 .
- the green zone 413 goes from the output side of the firewall 484 and generally defines the trusted Ethernet.
- the Ethernet on the backplane 408 essentially implements an Ethernet switch for the entire system, defining the Ethernet backbone of the vehicle 104 . All other modules, e.g., blades, etc., can connect to a standard backplane bus and the trusted Ethernet. Some number of switch ports can be reserved to connect to an output modular connector panel to distribute the Ethernet throughout the vehicle 104 , e.g., connecting such elements as the console display 452 , remote displays 444 , 448 , GPS 488 , etc.
- only trusted components can be attached to the green zone 413 , which is by definition in the trusted Ethernet environment.
- the environment 400 utilizes IPv6 over Ethernet connections wherever possible.
- the Broadcom single-twisted pair Ethernet technology Using, for example, the Broadcom single-twisted pair Ethernet technology, wiring harnesses are simplified and data transmission speeds are maximized.
- the Broadcom single-twisted pair Ethernet technology can be used, in general, systems and methods can work comparably well with any type of well-known Ethernet technology or other comparable communications technology.
- the I/O network/bus 408 is a split-bus concept that contains three independent bus structures:
- the split-bus structure can have the following minimum configuration:
- the red zone 417 can be implemented as an 8-port Ethernet switch that has three actual bus ports within the crate with the remaining five ports being available on the customer crate.
- the crate implements red zone slots for the firewall controller 484 , the combo controller which includes WiFi, Bluetooth®, USB hub ( 456 , 460 ) and the IP router 420 .
- the firewall controller 484 can have a dedicated slot that bridges the red zone 417 , green zone 413 , and uses the I/O bus for power connections.
- the firewall 484 can be implemented by a dummy module that simply bridges the red zone 417 and the green zone 413 without necessarily providing any firewall functionality.
- the combo controller 460 that includes the WiFi, Bluetooth®, and USB hub can be provided for consumer device connections. This controller can also implement the IPv6 (un-routable) protocol to insure that all information is packetized for transmission via IP over the Ethernet in the I/O network/bus 408 .
- the combo controller 460 with the USB hub can have ports in the customer crate.
- the combo controller 460 can implement USB discovery functions and packetizes the information for transmission via IP over Ethernet.
- the combo controller 460 can also facilitate installation of the correct USB driver for the discovered device, such as a BYOD from the user.
- the combo controller 460 and USB hub can then map the USB address to a “local” IPv6 address for interaction with one or more of the computational blades which is generally going to be the media controller 492 .
- the IP router 420 can implement Internet access through a manufacturer provided service. This service can allow, for example, a manufacturer to offer value-added services to be integrated into the vehicle information systems. The existence of the manufacturer provided Internet access can also allow the “e-Call” function and other vehicle data recorder functions to be implemented. IP router 420 also allows, for example, WiMax, 4G LTE, and other connections to the Internet through a service provider that can be, for example, contracted by the manufacturer. Internally, the IP router 420 can allow cellular handset connections to the Internet through a Femtocell 464 that is part of the IP router implementation. The IP router 420 , with the Femtocell 464 , can also allow a cone of silence functionality to be implemented.
- the IP router 420 can be an optional component for a vehicle provided by, for example, the manufacturer, a dealer, or installed by a user. In the absence of the IP router 420 , it is possible to connect a consumer handheld device to the I/O network/bus 408 using, for example, either WiFi or Bluetooth® 456 , 460 . While functionality may be somewhat reduced when using a handheld device instead of a built-in Ethernet connection, systems and methods of this invention can also work utilizing this consumer handheld device which then connects to the Internet via, for example, WiMax, 4G, 4G LTE, or the like.
- FIGS. 5A-5C show configurations of a vehicle 104 .
- a vehicle 104 may provide functionality based at least partially on one or more areas, zones, and distances, associated with the vehicle 104 . Non-limiting examples of this functionality are provided herein below.
- the sensor arrangement 500 can include one or more areas 508 within the vehicle.
- An area can be a larger part of the environment inside or outside of the vehicle 104 .
- area one 508 A may include the area within the trunk space or engine space of the vehicle 104 and/or the front passenger compartment.
- Area two 508 B may include a portion of the interior space 108 (e.g., a passenger compartment, etc.) of the vehicle 104 .
- the area N, 508 N may include the trunk space or rear compartment area, when included within the vehicle 104 .
- the interior space 108 may also be divided into other areas.
- one area may be associated with the front passenger's and driver's seats, a second area may be associated with the middle passengers' seats, and a third area may be associated with a rear passenger's seat.
- Each area 508 may include one or more sensors that are positioned or operate to provide environmental information about that area 508 .
- Each area 508 may be further separated into one or more zones 512 within the area 508 .
- area 1 508 A may be separated into zone A 512 A, and zone B 512 B.
- Each zone 512 may be associated with a particular portion of the interior occupied by a passenger.
- zone A 512 A may be associated with a driver.
- Zone B 512 B may be associated with a front passenger.
- Each zone 512 may include one or more sensors that are positioned or configured to collect information about the environment or ecosystem associated with that zone or person.
- a passenger area 508 B may include more than two zones as described in conjunction with area 508 A.
- area 508 B may include three zones, 512 C, 512 D, and 512 E. These three separate zones 512 C, 512 D, and 512 E may be associated with three passenger seats typically found in the rear passenger area of a vehicle 104 .
- An area 508 N and may include a single zone 512 N as there may be no separate passenger areas but may include a single trunk area within the vehicle 104 .
- the number of zones 512 is unlimited within the areas as the areas are also unlimited inside the vehicle 104 . Further, it should be noted that there may be one or areas 508 or zones 512 that may be located outside the vehicle 104 that may have a specific set of sensors associated therewith.
- each area/access point 508 , 456 , 516 , 520 , and/or zone 512 , associated with a vehicle 104 may comprise one or more sensors to determine a presence of a user 216 and/or device 212 , 248 in and/or adjacent to each area 508 , 456 , 516 , 520 , and/or zone 512 .
- the sensors may include vehicle sensors 242 and/or non-vehicle sensors 236 as described herein. It is anticipated that the sensors may be configured to communicate with a vehicle control system 204 and/or the diagnostic communications module 256 . Additionally or alternatively, the sensors may communicate with a device 212 , 248 .
- the communication of sensors with the vehicle 104 may initiate and/or terminate the control of device 212 , 248 features.
- a vehicle operator may be located in a second outside area 520 associated with a vehicle 104 .
- the vehicle control system 204 may determine to control features associated with one or more device 212 , 248 and diagnostic communications module 256 .
- the location of the device 212 , 248 relative to the vehicle 104 may determine vehicle functionality and/or features to be provided and/or restricted to a user 216 .
- a device 212 , 248 associated with a user 216 may be located at a second outside area 520 from the vehicle 104 .
- the vehicle 104 may lock one or more features (e.g., ignition access, vehicle access, communications ability, etc.) associated with the vehicle 104 .
- the vehicle 104 may provide an alert based on the distance of the device 212 , 248 from the vehicle 104 .
- the vehicle 104 may unlock a door of the vehicle 104 .
- the various sensors 236 , 242 may determine that the user 216 is in an area 508 and/or zone 512 .
- features of the vehicle 104 , device 212 , 248 , and/or other components may be controlled based on rules stored in a memory.
- FIG. 5B illustrates optional internal vehicle communications between one or more of the vehicle and one or more devices or between devices.
- Various communications can occur utilizing one or more Bluetooth®, NFC, WiFi, mobile hot spot, point-to-point communications, point-to-multipoint other point communications, an ad hoc network, or in general any known communications protocol over any known communications media or media-types.
- various types of internal vehicle communications can be facilitated using an access point 456 that utilizes one or more of Bluetooth®, NFC, WiFi, wireless Ethernet, mobile hot spot technology, or the like.
- the connected device Upon being connected with, and optionally authenticated to the access point 456 , the connected device is able to communicate with one or more of the vehicle and one or more other devices that are connected to the access point 456 .
- the type of connection to the access point 456 can be based on, for example, the zone 512 , in which the device is located.
- the user may identify their zone 512 in conjunction with an authentication procedure to the access point 456 .
- a driver in zone A 512 A upon authenticating to the access point 456 , can cause the access point 456 to send a query to the device asking the device user in which zone 512 they are located.
- the zone 512 the user device is located in may have an impact on the type of communications, available bandwidth, the types of other devices or vehicle systems or subsystems the device could communicate with, and the like.
- internal communications with zone A 512 A may be given preferential treatment over those communications originating from area 2 508 B, which could have in itself, preferential treatment over communications originating within area N 508 N.
- the device in zone A 512 A can include profile information that governs the other devices that are allowed to connect to the access point 456 and what those devices have access to, how they can communicate, how much bandwidth they are allocated, and the like. While, optionally, the device associated with zone A 512 A will be considered the “master” controller of the profile that governs the internal vehicle communications, it should be appreciated that this was arbitrarily chosen since it is assumed that there will always be a driver in a car that is present in zone A 512 A.
- zone A 512 A may not have a communications device in which case a device associated with one of the other areas or zones, such as zone B 512 B, area 2 508 B, or area N 508 N could also be associated with or control this master profile.
- various devices located within the various zones 512 can connect using, for example, ports provided by access point 456 or Bluetooth® access point/USB hub 460 as illustrated in FIG. 4 .
- the device(s) could connect utilizing the Femtocell 464 and optionally be directly connected via, for example, a standard Ethernet port.
- each one of the areas, area 1 508 A, area 2 508 B, and area N 508 N can each have associated therewith a profile that governs, for example, how many and what types of devices can connect from that area 508 , bandwidth allocated to that area 508 , the types of media or content available to device(s) within that area 508 , the interconnection of devices within that area 508 or between areas 508 , or, in general, can control any aspect of communication of an associated device with any one or more other associated devices/vehicle systems within the vehicle 104 .
- area 2 508 B devices can be provided with full access to multimedia and infotainment available within the vehicle 104 , however, devices in area 2 508 B may be restricted from any access to vehicle functions. Only devices in area 1 508 A may be able to access vehicle control functions such as when “parents” are located in area 1 508 A and the children are located in area 2 508 B. Optionally, devices found in zone E 512 E of area 2 508 B may be able to access limited vehicle control functionality such as climate control within area 2 . Similarly, devices in area N 508 N may be able to control climate features within zone N 512 N.
- profiles can be established that allow management of communications within each of the areas 508 , and further optionally within each of the zones 512 .
- the profile can be granular in nature controlling not only what type of devices can connect within each zone 512 , but how those devices can communicate with other devices and/or the vehicle and types of information that can be communicated.
- One optional technique involves one or more of the vehicle sensors detecting the presence of an individual within one of the zones 512 .
- communications subsystems 344 and the access point 456 can cooperate to not only associate the device within the zone 512 with the access point 456 but to also determine the location of the device within an area, and optionally within a zone 512 .
- a profile associated with the vehicle 104 can store information identifying that device and/or a person and optionally associating it with a particular zone 512 as a default.
- this master profile can govern communications with the communications subsystems 340 and where communications within vehicle 104 are to occur.
- Secondary Profile e.g., Device in Zone B 512 B, Area 1 508 A
- Area 1 508A Area 2 508B Area N 508N Other No Communications Allow Access to with Area 1 Devices Infotainment, Allow Access to Other Area 2 or Zone N Devices, Internet No Vehicle Controls Allow Area 2 climate Control
- Area 1 508A Area 2 508B Area N 508N Other Communications Allow Access to with Area 1, Zone B Infotainment, Allow Device Access to Other Area N or Zone N Devices No Vehicle Controls Allow Area N Climate Control
- Area 1 508A Area 2 508B Area N 508N Other Media Sharing with Allow Access to Area 1, Zone B and Infotainment, Allow Vehicle Access to Other Area 2 or Zone N Devices, Internet and Femtocell No Vehicle Controls
- a user's device such as a SmartPhone
- the areas 508 and zones 512 can have associated therewith restrictions as to which one or more other user's devices with which users' devices can connect.
- a first user's device can connect with any other user device in area 2 508 B or area N 508 N, however is restricted from connecting with a user device in area 1 508 A, zone A 512 A.
- the first user device may be able to communicate with another user's device that is located in area 1 508 A, zone B 512 B.
- These communications can include any type of standard communications such as sharing content, exchanging messages, forwarding or sharing multimedia or infotainment, or in general can include any communications that would ordinarily be available between two devices and/or the vehicle and vehicle systems.
- zone A 512 A there may be restrictions on the type of communications that can be sent to the device in area 1 508 A, zone A 512 A.
- the user's device in area 1 508 A, zone A 512 A may be restricted from receiving one or more of text messages, multimedia, infotainment, or in general anything that can be envisioned as a potential distraction to the driver.
- the communications between the various devices and the various zones 512 need not necessarily occur with the assistance of access point 456 , but the communications could also occur directly between the device(s).
- FIG. 5C outlines optional internal vehicle communications between one or more of the vehicle and one or more devices. More specifically, FIG. 5C illustrates an example of vehicle communications where the vehicle 104 is equipped with the necessary transceivers to provide a mobile hot spot functionality to any user device(s) therein, such as user devices 248 A and 248 N.
- one or more user devices can connect to the access point 456 .
- This access point 456 is equipped to handle communications routing to not only the communication network/buses 224 for intra-vehicle communications, but optionally can also communicate with, for example, the Internet or the cloud, in cooperation with transceiver 260 .
- a firewall 484 that has the capability of not only blocking certain types of content, such as a malicious content, but can also operate to exclude certain type of communications from emanating from the vehicle 104 and transceiver 260 .
- various profiles could be established in the firewall 484 that controls not only the type of communications that can be received at the vehicle 104 , but the type of communications that can be sent from the vehicle 104 .
- the transceiver 260 can be any type of well-known wireless transceiver that communicates using a known communications protocol such as WiMax, 4G, 4G LTE, 3G, or the like.
- the user devices can communicate via, for example, WiFi link 248 with the access point 456 , with the transceiver 260 providing Internet connectivity to the various user devices.
- the account is established on a month-to-month basis with an associated fee but could also be performed based on the amount of data to be transmitted, received, or in any other manner.
- one or more of the user's devices and access point 456 can maintain profile information that governs how the user's devices are able to communicate with other devices, and optionally the Internet.
- a profile can exist that only allows the user's devices to communicate with other user's devices and/or the vehicle, multimedia and/or the vehicle infotainment system, and may not be allowed access to the Internet via transceiver 260 .
- the profile can stipulate that the user's device could connect to the Internet via transceiver 260 for a specified period of time and/or up to a certain amount of data usage.
- the user's device can have full access to the Internet via transceiver 260 with no limit on time or data usage which would reduce the data usage of the user's device since it is connected via WiFi to the access point 456 , but however, would increase the data usage by transceiver 260 , and therefore, shift the billing for that data usage to the transceiver 260 instead of the user's device.
- the various profiles may stipulate which user's device has priority for use of the bandwidth provided by the transceiver 260 . For example, a user's device located area 1 508 A, zone A 512 A may be given preferential routing treatment of data above that of a user's device in zone N 512 N. In this manner, for example, a driver would be given priority for Internet access above that of the passengers. This could become important, for example, when the driver is trying to obtain traffic or direction information or, for example, when the vehicle is performing a download to update various software features.
- the optional firewall 484 can cooperate with the access point 456 and the various profiles that area 508 associated with the various devices within the vehicle 104 and can fully implement communications restrictions, control bandwidth limits, Internet accessibility, malicious software blocking, and the like. Moreover, the optional firewall 484 can be accessed by an administrator with one or more of these configuration settings edited through an administrator's control panel. For example, in a scenario where parents are always in area 1 508 A, it may be appropriate to give all of the user's devices in area 1 508 A full access to the Internet utilizing transceiver 260 , however, while restricting access and/or bandwidth to any other user devices within the vehicle 104 . As the user's device and profile would be known by the firewall 484 , upon the user's device being associated with the access point 456 , the firewall 484 and transceiver 260 can be configured to allow communications in accordance with the stored profile.
- a set of sensors or vehicle components 600 associated with the vehicle 104 may be as shown in FIG. 6A .
- the vehicle 104 can include, among many other components common to vehicles, wheels 607 , a power source 609 (such as an engine, motor, or energy storage system (e.g., battery or capacitive energy storage system)), a manual or automatic transmission 612 , a manual or automatic transmission gear controller 616 , a power controller 620 (such as a throttle), a vehicle control system 204 , the display device 212 , a braking system 636 , a steering wheel 640 , a power source activation/deactivation switch 644 (e.g., an ignition), an occupant seating system 648 , a wireless signal receiver 653 to receive wireless signals from signal sources such as roadside beacons and other electronic roadside devices, and a satellite positioning system receiver 657 (e.g., a Global Positioning System (“GPS”) (US), GLONASS ( Russia), Galileo positioning system (EU), Compass navigation system
- the vehicle 104 can include a number of sensors in wireless or wired communication with the vehicle control system 204 and/or display device 212 , 248 to collect sensed information regarding the vehicle state, configuration, and/or operation.
- Exemplary sensors may include one or more of, but are not limited to, wheel state sensor 660 to sense one or more of vehicle speed, acceleration, deceleration, wheel rotation, wheel speed (e.g., wheel revolutions-per-minute), wheel slip, and the like, a power source energy output sensor 664 to sense a power output of the power source 609 by measuring one or more of current engine speed (e.g., revolutions-per-minute), energy input and/or output (e.g., voltage, current, fuel consumption, and torque) (e.g., turbine speed sensor, input speed sensor, crankshaft position sensor, manifold absolute pressure sensor, mass flow sensor, and the like), and the like, a switch state sensor 668 to determine a current activation or deactivation state of the power source activation/deactivation switch 644
- Examples of other sensors include safety system state sensors to determine a current state of a vehicular safety system (e.g., air bag setting (deployed or undeployed) and/or seat belt setting (engaged or not engaged)), light setting sensor (e.g., current headlight, emergency light, brake light, parking light, fog light, interior or passenger compartment light, and/or tail light state (on or off)), brake control (e.g., pedal) setting sensor, accelerator pedal setting or angle sensor, clutch pedal setting sensor, emergency brake pedal setting sensor, door setting (e.g., open, closed, locked or unlocked) sensor, engine temperature sensor, passenger compartment or cabin temperature sensor, window setting (open or closed) sensor, one or more interior-facing or exterior-facing cameras or other imaging sensors (which commonly convert an optical image into an electronic signal but may include other devices for detection objects such as an electromagnetic radiation emitter/receiver that emits electromagnetic radiation and receives electromagnetic waves reflected by the object) to sense objects, such as other vehicles and pedestrians and optionally determine the distance,
- light setting sensor e
- the various sensors can be in communication with the display device 212 , 248 and vehicle control system 204 via signal carrier network 224 .
- the signal carrier network 224 can be a network of signal conductors, a wireless network (e.g., a radio frequency, microwave, or infrared communication system using a communications protocol, such as Wi-Fi), or a combination thereof.
- the vehicle control system 204 may also provide signal processing of one or more sensors, sensor fusion of similar and/or dissimilar sensors, signal smoothing in the case of erroneous “wild point” signals, and/or sensor fault detection. For example, ranging measurements provided by one or more RF sensors may be combined with ranging measurements from one or more IR sensors to determine one fused estimate of vehicle range to an obstacle target.
- the control system 204 may receive and read sensor signals, such as wheel and engine speed signals, as a digital input comprising, for example, a pulse width modulated (PWM) signal.
- the processor 304 can be configured, for example, to read each of the signals into a port configured as a counter or configured to generate an interrupt on receipt of a pulse, such that the processor 304 can determine, for example, the engine speed in revolutions per minute (RPM) and the speed of the vehicle in miles per hour (MPH) and/or kilometers per hour (KPH).
- RPM revolutions per minute
- MPH miles per hour
- KPH kilometers per hour
- the current engine speed and vehicle speed can be received in a communication packet as numeric values from a conventional dashboard subsystem comprising a tachometer and a speedometer.
- the transmission speed sensor signal can be similarly received as a digital input comprising a signal coupled to a counter or interrupt signal of the processor 304 or received as a value in a communication packet on a network or port interface from an existing subsystem of the vehicle 104 .
- the ignition sensor signal can be configured as a digital input, wherein a HIGH value represents that the ignition is on and a LOW value represents that the ignition is OFF.
- Three bits of the port interface can be configured as a digital input to receive the gear shift position signal, representing eight possible gear shift positions.
- the gear shift position signal can be received in a communication packet as a numeric value on the port interface.
- the throttle position signal can be received as an analog input value, typically in the range 0-5 volts.
- the throttle position signal can be received in a communication packet as a numeric value on the port interface.
- the output of other sensors can be processed in a similar fashion.
- Other sensors may be included and positioned in the interior space 108 of the vehicle 104 .
- these interior sensors obtain data about the health of the driver and/or passenger(s), data about the safety of the driver and/or passenger(s), and/or data about the comfort of the driver and/or passenger(s).
- the health data sensors can include sensors in the steering wheel that can measure various health telemetry for the person (e.g., heart rate, temperature, blood pressure, blood presence, blood composition, etc.). Sensors in the seats may also provide for health telemetry (e.g., presence of liquid, weight, weight shifts, etc.). Infrared sensors could detect a person's temperature; optical sensors can determine a person's position and whether the person has become unconscious. Other health sensors are possible and included herein.
- Safety sensors can measure whether the person is acting safely. Optical sensors can determine a person's position and focus. If the person stops looking at the road ahead, the optical sensor can detect the lack of focus. Sensors in the seats may detect if a person is leaning forward or may be injured by a seat belt in a collision. Other sensors can detect that the driver has at least one hand on a steering wheel. Other safety sensors are possible and contemplated as if included herein.
- Comfort sensors can collect information about a person's comfort. Temperature sensors may detect a temperature of the interior cabin. Moisture sensors can determine a relative humidity. Audio sensors can detect loud sounds or other distractions. Audio sensors may also receive input from a person through voice data. Other comfort sensors are possible and contemplated as if included herein.
- FIG. 6B shows an interior sensor configuration for one or more zones 512 of a vehicle 104 optionally.
- the areas 508 and/or zones 512 of a vehicle 104 may include sensors that are configured to collect information associated with the interior 108 of a vehicle 104 .
- the various sensors may collect environmental information, user information, and safety information, to name a few. Embodiments of these sensors may be as described in conjunction with FIGS. 7A-8B .
- the sensors may include one or more of optical, or image, sensors 622 A-B (e.g., cameras, etc.), motion sensors 624 A-B (e.g., utilizing RF, IR, and/or other sound/image sensing, etc.), steering wheel user sensors 642 (e.g., heart rate, temperature, blood pressure, sweat, health, etc.), seat sensors 677 (e.g., weight, load cell, moisture, electrical, force transducer, etc.), safety restraint sensors 679 (e.g., seatbelt, airbag, load cell, force transducer, etc.), interior sound receivers 692 A-B, environmental sensors 694 (e.g., temperature, humidity, air, oxygen, etc.), and the like.
- sensors 622 A-B e.g., cameras, etc.
- motion sensors 624 A-B e.g., utilizing RF, IR, and/or other sound/image sensing, etc.
- steering wheel user sensors 642 e.g., heart rate,
- the image sensors 622 A-B may be used alone or in combination to identify objects, users 216 , and/or other features, inside the vehicle 104 .
- a first image sensor 622 A may be located in a different position within a vehicle 104 from a second image sensor 622 B.
- the image sensors 622 A-B may combine captured images to form, among other things, stereo and/or three-dimensional (3D) images.
- the stereo images can be recorded and/or used to determine depth associated with objects and/or users 216 in a vehicle 104 .
- the image sensors 622 A-B used in combination may determine the complex geometry associated with identifying characteristics of a user 216 .
- the image sensors 622 A-B may be used to determine dimensions between various features of a user's face (e.g., the depth/distance from a user's nose to a user's cheeks, a linear distance between the center of a user's eyes, and more). These dimensions may be used to verify, record, and even modify characteristics that serve to identify a user 216 . As can be appreciated, utilizing stereo images can allow for a user 216 to provide complex gestures in a 3D space of the vehicle 104 . These gestures may be interpreted via one or more of the subsystems as disclosed herein.
- the image sensors 622 A-B may be used to determine movement associated with objects and/or users 216 within the vehicle 104 . It should be appreciated that the number of image sensors used in a vehicle 104 may be increased to provide greater dimensional accuracy and/or views of a detected image in the vehicle 104 .
- the vehicle 104 may include one or more motion sensors 624 A-B. These motion sensors 624 A-B may detect motion and/or movement of objects inside the vehicle 104 . Optionally, the motion sensors 624 A-B may be used alone or in combination to detect movement. For example, a user 216 may be operating a vehicle 104 (e.g., while driving, etc.) when a passenger in the rear of the vehicle 104 unbuckles a safety belt and proceeds to move about the vehicle 104 . In this example, the movement of the passenger could be detected by the motion sensors 624 A-B. Optionally, the user 216 could be alerted of this movement by one or more of the devices 212 , 248 in the vehicle 104 .
- a passenger may attempt to reach for one of the vehicle control features (e.g., the steering wheel 640 , the console, icons displayed on the head unit and/or device 212 , 248 , etc.).
- the movement (i.e., reaching) of the passenger may be detected by the motion sensors 624 A-B.
- the path, trajectory, anticipated path, and/or some other direction of movement/motion may be determined using the motion sensors 624 A-B.
- the passenger may be prevented from interfacing with and/or accessing at least some of the vehicle control features (e.g., the features represented by icons may be hidden from a user interface, the features may be locked from use by the passenger, combinations thereof, etc.).
- the user 216 may be alerted of the movement/motion such that the user 216 can act to prevent the passenger from interfering with the vehicle 104 controls.
- the number of motion sensors in a vehicle 104 , or areas of a vehicle 104 may be increased to increase an accuracy associated with motion detected in the vehicle 104 .
- the interior sound receivers 692 A-B may include, but are not limited to, microphones and other types of acoustic-to-electric transducers or sensors.
- the interior sound receivers 692 A-B may be configured to receive and convert sound waves into an equivalent analog or digital signal.
- the interior sound receivers 692 A-B may serve to determine one or more locations associated with various sounds in the vehicle 104 . The location of the sounds may be determined based on a comparison of volume levels, intensity, and the like, between sounds detected by two or more interior sound receivers 692 A-B. For instance, a first interior sound receiver 692 A may be located in a first area of the vehicle 104 and a second interior sound receiver 692 B may be located in a second area of the vehicle 104 .
- the sound may be determined to be closer to the second area of the vehicle 104 .
- the number of sound receivers used in a vehicle 104 may be increased (e.g., more than two, etc.) to increase measurement accuracy surrounding sound detection and location, or source, of the sound (e.g., via triangulation, etc.).
- Seat sensors 677 may be included in the vehicle 104 .
- the seat sensors 677 may be associated with each seat and/or zone 512 in the vehicle 104 .
- the seat sensors 677 may provide health telemetry and/or identification via one or more of load cells, force transducers, weight sensors, moisture detection sensor, electrical conductivity/resistance sensor, and the like.
- the seat sensors 677 may determine that a user 216 weighs 180 lbs. This value may be compared to user data stored in memory to determine whether a match exists between the detected weight and a user 216 associated with the vehicle 104 .
- the system may determine that the user 216 has suffered a nervous and/or muscular system issue (e.g., seizure, etc.).
- the vehicle control system 204 may then cause the vehicle 104 to slow down and in addition or alternatively the automobile controller 8104 (described below) can safely take control of the vehicle 104 and bring the vehicle 104 to a stop in a safe location (e.g., out of traffic, off a freeway, etc).
- Health telemetry and other data may be collected via the steering wheel user sensors 642 .
- the steering wheel user sensors 642 may collect heart rate, temperature, blood pressure, and the like, associated with a user 216 via at least one contact disposed on or about the steering wheel 640 .
- the safety restraint sensors 679 may be employed to determine a state associated with one or more safety restraint devices in a vehicle 104 .
- the state associated with one or more safety restraint devices may serve to indicate a force observed at the safety restraint device, a state of activity (e.g., retracted, extended, various ranges of extension and/or retraction, deployment, buckled, unbuckled, etc.), damage to the safety restraint device, and more.
- Environmental sensors 694 including one or more of temperature, humidity, air, oxygen, carbon monoxide, smoke, and other environmental condition sensors may be used in a vehicle 104 . These environmental sensors 694 may be used to collect data relating to the safety, comfort, and/or condition of the interior space 108 of the vehicle 104 . Among other things, the data collected by the environmental sensors 694 may be used by the vehicle control system 204 to alter functions of a vehicle.
- the environment may correspond to an interior space 108 of a vehicle 104 and/or specific areas 508 and/or zones 512 of the vehicle 104 . It should be appreciate that an environment may correspond to a user 216 .
- a low oxygen environment may be detected by the environmental sensors 694 and associated with a user 216 who is operating the vehicle 104 in a particular zone 512 .
- at least one of the subsystems of the vehicle 104 may alter the environment, especially in the particular zone 512 , to increase the amount of oxygen in the zone 512 .
- the environmental sensors 694 may be used to report conditions associated with a vehicle (e.g., fire detected, low oxygen, low humidity, high carbon monoxide, etc.). The conditions may be reported to a user 216 and/or a third party via at least one communications module as provided herein.
- the sensors as disclosed herein may communicate with each other, with devices 212 , 248 , and/or with the vehicle control system 204 via the signal carrier network 224 . Additionally or alternatively, the sensors disclosed herein may serve to provide data relevant to more than one category of sensor information including, but not limited to, combinations of environmental information, user information, and safety information to name a few.
- FIGS. 7A-7B show block diagrams of various sensors that may be associated with a vehicle 104 . Although depicted as interior and exterior sensors, it should be appreciated that any of the one or more of the sensors shown may be used in both the interior space 108 and the exterior space of the vehicle 104 . Moreover, sensors having the same symbol or name may include the same, or substantially the same, functionality as those sensors described elsewhere in the present disclosure. Further, although the various sensors are depicted in conjunction with specific groups (e.g., environmental 708 , 708 E, user interface 712 , safety 716 , 716 E, etc.) the sensors should not be limited to the groups in which they appear.
- groups e.g., environmental 708 , 708 E, user interface 712 , safety 716 , 716 E, etc.
- the sensors may be associated with other groups or combinations of groups and/or disassociated from one or more of the groups shown.
- the sensors as disclosed herein may communicate with each other, the devices 212 , 248 , and/or the vehicle control system 204 via one or more communications channel(s) 356 .
- FIG. 7A is a block diagram of an embodiment of interior sensors 340 for a vehicle 104 is provided.
- the interior sensors 340 may be arranged into one or more groups, based at least partially on the function of the interior sensors 340 .
- the interior space 108 of a vehicle 104 may include an environmental group 708 , a user interface group 712 , and a safety group 716 . Additionally or alternatively, there may be sensors associated with various devices inside the vehicle (e.g., devices 212 , 248 , smart phones, tablets, mobile computers, etc.)
- the environmental group 708 may comprise sensors configured to collect data relating to the internal environment of a vehicle 104 . It is anticipated that the environment of the vehicle 104 may be subdivided into areas 508 and zones 512 in an interior space 108 of a vehicle 104 . In this case, each area 508 and/or zone 512 may include one or more of the environmental sensors. Examples of environmental sensors associated with the environmental group 708 may include, but are not limited to, oxygen/air sensors 724 , temperature sensors 728 , humidity sensors 732 , light/photo sensors 736 , and more.
- the oxygen/air sensors 724 may be configured to detect a quality of the air in the interior space 108 of the vehicle 104 (e.g., ratios and/or types of gasses comprising the air inside the vehicle 104 , dangerous gas levels, safe gas levels, etc.). Temperature sensors 728 may be configured to detect temperature readings of one or more objects, users 216 , and/or areas 508 of a vehicle 104 . Humidity sensors 732 may detect an amount of water vapor present in the air inside the vehicle 104 . The light/photo sensors 736 can detect an amount of light present in the vehicle 104 . Further, the light/photo sensors 736 may be configured to detect various levels of light intensity associated with light in the vehicle 104 .
- a quality of the air in the interior space 108 of the vehicle 104 e.g., ratios and/or types of gasses comprising the air inside the vehicle 104 , dangerous gas levels, safe gas levels, etc.
- Temperature sensors 728 may be configured to detect temperature readings of one or more objects
- the user interface group 712 may comprise sensors configured to collect data relating to one or more users 216 in a vehicle 104 .
- the user interface group 712 may include sensors that are configured to collect data from users 216 in one or more areas 508 and zones 512 of the vehicle 104 .
- each area 508 and/or zone 512 of the vehicle 104 may include one or more of the sensors in the user interface group 712 .
- Examples of user interface sensors associated with the user interface group 712 may include, but are not limited to, infrared sensors 740 , motion sensors 744 , weight sensors 748 , wireless network sensors 752 , biometric sensors 756 , camera (or image) sensors 760 , audio sensors 764 , and more.
- Infrared sensors 740 may be used to measure IR light irradiating from at least one surface, user 216 , or other object in the vehicle 104 .
- the Infrared sensors 740 may be used to measure temperatures, form images (especially in low light conditions), identify users 216 , and even detect motion in the vehicle 104 .
- the motion sensors 744 may be similar to the motion detectors 624 A-B, as described in conjunction with FIG. 6B .
- Weight sensors 748 may be employed to collect data relating to objects and/or users 216 in various areas 508 of the vehicle 104 . In some cases, the weight sensors 748 may be included in the seats and/or floor of a vehicle 104 .
- the vehicle 104 may include a wireless network sensor 752 .
- This sensor 752 may be configured to detect one or more wireless network(s) inside the vehicle 104 .
- wireless networks may include, but are not limited to, wireless communications utilizing Bluetooth®, Wi-FiTM ZigBee, IEEE 802.11, and other wireless technology standards.
- a mobile hotspot may be detected inside the vehicle 104 via the wireless network sensor 752 .
- the vehicle 104 may determine to utilize and/or share the mobile hotspot detected via/with one or more other devices 212 , 248 and/or components associated with the vehicle 104 .
- Biometric sensors 756 may be employed to identify and/or record characteristics associated with a user 216 . It is anticipated that biometric sensors 756 can include at least one of image sensors, IR sensors, fingerprint readers, weight sensors, load cells, force transducers, heart rate monitors, blood pressure monitors, and the like as provided herein.
- the camera sensors 760 may be similar to image sensors 622 A-B, as described in conjunction with FIG. 6B .
- the camera sensors may record still images, video, and/or combinations thereof.
- the audio sensors 764 may be similar to the interior sound receivers 692 A-B, as described in conjunction with FIGS. 6A-6B .
- the audio sensors may be configured to receive audio input from a user 216 of the vehicle 104 .
- the audio input from a user 216 may correspond to voice commands, conversations detected in the vehicle 104 , phone calls made in the vehicle 104 , and/or other audible expressions made in the vehicle 104 .
- the safety group 716 may comprise sensors configured to collect data relating to the safety of a user 216 and/or one or more components of a vehicle 104 .
- the vehicle 104 may be subdivided into areas 508 and/or zones 512 in an interior space 108 of a vehicle 104 where each area 508 and/or zone 512 may include one or more of the safety sensors provided herein.
- Examples of safety sensors associated with the safety group 716 may include, but are not limited to, force sensors 768 , mechanical motion sensors 772 , orientation sensors 776 , restraint sensors 780 , and more.
- the force sensors 768 may include one or more sensors inside the vehicle 104 configured to detect a force observed in the vehicle 104 .
- a force sensor 768 may include a force transducer that converts measured forces (e.g., force, weight, pressure, etc.) into output signals.
- Mechanical motion sensors 772 may correspond to encoders, accelerometers, damped masses, and the like.
- the mechanical motion sensors 772 may be adapted to measure the force of gravity (i.e., G-force) as observed inside the vehicle 104 . Measuring the G-force observed inside a vehicle 104 can provide valuable information related to a vehicle's acceleration, deceleration, collisions, and/or forces that may have been suffered by one or more users 216 in the vehicle 104 .
- the mechanical motion sensors 772 can be located in an interior space 108 or an exterior of the vehicle 104 .
- Orientation sensors 776 can include accelerometers, gyroscopes, magnetic sensors, and the like that are configured to detect an orientation associated with the vehicle 104 . Similar to the mechanical motion sensors 772 , the orientation sensors 776 can be located in an interior space 108 or an exterior of the vehicle 104 .
- the restraint sensors 780 may be similar to the safety restraint sensors 679 as described in conjunction with FIGS. 6A-6B . These sensors 780 may correspond to sensors associated with one or more restraint devices and/or systems in a vehicle 104 . Seatbelts and airbags are examples of restraint devices and/or systems. As can be appreciated, the restraint devices and/or systems may be associated with one or more sensors that are configured to detect a state of the device/system. The state may include extension, engagement, retraction, disengagement, deployment, and/or other electrical or mechanical conditions associated with the device/system.
- the associated device sensors 720 can include any sensors that are associated with a device 212 , 248 in the vehicle 104 .
- typical devices 212 , 248 may include smart phones, tablets, laptops, mobile computers, and the like. It is anticipated that the various sensors associated with these devices 212 , 248 can be employed by the vehicle control system 204 .
- a typical smart phone can include, an image sensor, an IR sensor, audio sensor, gyroscope, accelerometer, wireless network sensor, fingerprint reader, and more. It is an aspect of the present disclosure that one or more of these associated device sensors 720 may be used by one or more subsystems of the vehicle system 200 .
- FIG. 7B a block diagram of an embodiment of exterior sensors 340 for a vehicle 104 is shown.
- the exterior sensors may include sensors that are identical, or substantially similar, to those previously disclosed in conjunction with the interior sensors of FIG. 7A .
- the exterior sensors 340 may be configured to collect data relating to one or more conditions, objects, users 216 , and other events that are external to the interior space 108 of the vehicle 104 .
- the oxygen/air sensors 724 may measure a quality and/or composition of the air outside of a vehicle 104 .
- the motion sensors 744 may detect motion outside of a vehicle 104 .
- the external environmental group 708 E may comprise sensors configured to collect data relating to the external environment of a vehicle 104 .
- the external environmental group 708 E may include additional sensors, such as, vehicle sensors 750 , biological sensors, and wireless signal sensors 758 .
- Vehicle sensors 750 can detect vehicles that are in an environment surrounding the vehicle 104 .
- the vehicle sensors 750 may detect vehicles in a first outside area 516 , a second outside area 520 , and/or combinations of the first and second outside areas 516 , 520 .
- the vehicle sensors 750 may include one or more of RF sensors, IR sensors, image sensors, and the like to detect vehicles, people, hazards, etc. that are in an environment exterior to the vehicle 104 .
- the vehicle sensors 750 can provide distance/directional information relating to a distance (e.g., distance from the vehicle 104 to the detected object) and/or a direction (e.g., direction of travel, etc.) associated with the detected object.
- a distance e.g., distance from the vehicle 104 to the detected object
- a direction e.g., direction of travel, etc.
- the biological sensors 754 may determine whether one or more biological entities (e.g., an animal, a person, a user 216 , etc.) is in an external environment of the vehicle 104 . Additionally or alternatively, the biological sensors 754 may provide distance information relating to a distance of the biological entity from the vehicle 104 .
- Biological sensors 754 may include at least one of RF sensors, IR sensors, image sensors and the like that are configured to detect biological entities. For example, an IR sensor may be used to determine that an object, or biological entity, has a specific temperature, temperature pattern, or heat signature.
- a comparison of the determined heat signature may be compared to known heat signatures associated with recognized biological entities (e.g., based on shape, locations of temperature, and combinations thereof, etc.) to determine whether the heat signature is associated with a biological entity or an inanimate, or non-biological, object.
- the wireless signal sensors 758 may include one or more sensors configured to receive wireless signals from signal sources such as Wi-FiTM hotspots, cell towers, roadside beacons, other electronic roadside devices, and satellite positioning systems.
- the wireless signal sensors 758 may detect wireless signals from one or more of a mobile phone, mobile computer, keyless entry device, RFID device, near field communications (NFC) device, and the like.
- the external safety group 716 E may comprise sensors configured to collect data relating to the safety of a user 216 and/or one or more components of a vehicle 104 .
- Examples of safety sensors associated with the external safety group 716 E may include, but are not limited to, force sensors 768 , mechanical motion sensors 772 , orientation sensors 776 , vehicle body sensors 782 , and more.
- the exterior safety sensors 716 E may be configured to collect data relating to one or more conditions, objects, vehicle components, and other events that are external to the vehicle 104 .
- the force sensors 768 in the external safety group 716 E may detect and/or record force information associated with the outside of a vehicle 104 . For instance, if an object strikes the exterior of the vehicle 104 , the force sensors 768 from the exterior safety group 716 E may determine a magnitude, location, and/or time associated with the strike.
- the vehicle 104 may include a number of vehicle body sensors 782 .
- the vehicle body sensors 782 may be configured to measure characteristics associated with the body (e.g., body panels, components, chassis, windows, etc.) of a vehicle 104 .
- two vehicle body sensors 782 including a first body sensor and a second body sensor, may be located at some distance apart.
- the first body sensor may be configured to send an electrical signal across the body of the vehicle 104 to the second body sensor, or vice versa.
- the second body sensor may record a detected current, voltage, resistance, and/or combinations thereof associated with the received electrical signal.
- Values (e.g., current, voltage, resistance, etc.) for the sent and received electrical signal may be stored in a memory. These values can be compared to determine whether subsequent electrical signals sent and received between vehicle body sensors 782 deviate from the stored values. When the subsequent signal values deviate from the stored values, the difference may serve to indicate damage and/or loss of a body component. Additionally or alternatively, the deviation may indicate a problem with the vehicle body sensors 782 .
- the vehicle body sensors 782 may communicate with each other, a vehicle control system 204 , and/or systems of the vehicle system 200 via a communications channel 356 . Although described using electrical signals, it should be appreciated that alternative embodiments of the vehicle body sensors 782 may use sound waves and/or light to perform a similar function.
- FIG. 8A is a block diagram of an embodiment of a media controller subsystem 348 for a vehicle 104 .
- the media controller subsystem 348 may include, but is not limited to, a media controller 804 , a media processor 808 , a match engine 812 , an audio processor 816 , a speech synthesis module 820 , a network transceiver 824 , a signal processing module 828 , memory 832 , and a language database 836 .
- the media controller subsystem 348 may be configured as a dedicated blade that implements the media-related functionality of the system 200 .
- the media controller subsystem 348 can provide voice input, voice output, library functions for multimedia, and display control for various areas 508 and/or zones 512 of the vehicle 104 .
- the media controller subsystem 348 may include a local IP address (e.g., IPv4, IPv6, combinations thereof, etc.) and even a routable, global unicast address.
- the routable, global unicast address may allow for direct addressing of the media controller subsystem 348 for streaming data from Internet resources (e.g., cloud storage, user accounts, etc.).
- the media controller subsystem 348 can provide multimedia via at least one Internet connection, or wireless network communications module, associated with the vehicle 104 .
- the media controller subsystem 348 may be configured to service multiple independent clients simultaneously.
- the media processor 808 may comprise a general purpose programmable processor or controller for executing application programming or instructions related to the media subsystem 348 .
- the media processor 808 may include multiple processor cores, and/or implement multiple virtual processors.
- the media processor 808 may include multiple physical processors.
- the media processor 808 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like.
- ASIC application specific integrated circuit
- the media processor 808 generally functions to run programming code or instructions implementing various functions of the media controller 804 .
- the match engine 812 can receive input from one or more components of the vehicle system 800 and perform matching functions.
- the match engine 812 may receive audio input provided via a microphone 886 of the system 800 .
- the audio input may be provided to the media controller subsystem 348 where the audio input can be decoded and matched, via the match engine 812 , to one or more functions available to the vehicle 104 .
- Similar matching operations may be performed by the match engine 812 relating to video input received via one or more image sensors, cameras 878 , and the like.
- the media controller subsystem 348 may include a speech synthesis module 820 configured to provide audio output to one or more speakers 880 , or audio output devices, associated with the vehicle 104 .
- the speech synthesis module 820 may be configured to provide audio output based at least partially on the matching functions performed by the match engine 812 .
- the coding/decoding, the analysis of audio input/output, and/or other operations associated with the match engine 812 and speech synthesis module 820 may be performed by the media processor 808 and/or a dedicated audio processor 816 .
- the audio processor 816 may comprise a general purpose programmable processor or controller for executing application programming or instructions related to audio processing. Further, the audio processor 816 may be similar to the media processor 808 described herein.
- the network transceiver 824 can include any device configured to transmit and receive analog and/or digital signals.
- the media controller subsystem 348 may utilize a network transceiver 824 in one or more communication networks associated with the vehicle 104 to receive and transmit signals via the communications channel 356 .
- the network transceiver 824 may accept requests from one or more devices 212 , 248 to access the media controller subsystem 348 .
- One example of the communication network is a local-area network (LAN).
- LAN local-area network
- the functionality associated with the network transceiver 824 may be built into at least one other component of the vehicle 104 (e.g., a network interface card, communications module, etc.).
- the signal processing module 828 may be configured to alter audio/multimedia signals received from one or more input sources (e.g., microphones 886 , etc.) via the communications channel 356 .
- the signal processing module 828 may alter the signals received electrically, mathematically, combinations thereof, and the like.
- the media controller 804 may also include memory 832 for use in connection with the execution of application programming or instructions by the media processor 808 , and for the temporary or long term storage of program instructions and/or data.
- the memory 832 may comprise RAM, DRAM, SDRAM, or other solid state memory.
- the language database 836 may include the data and/or libraries for one or more languages, as are used to provide the language functionality as provided herein.
- the language database 836 may be loaded on the media controller 804 at the point of manufacture.
- the language database 836 can be modified, updated, and/or otherwise changed to alter the data stored therein.
- additional languages may be supported by adding the language data to the language database 836 .
- this addition of languages can be performed via accessing administrative functions on the media controller 804 and loading the new language modules via wired (e.g., USB, etc.) or wireless communication.
- the administrative functions may be available via a vehicle console device 248 , a user device 212 , 248 , and/or other mobile computing device that is authorized to access administrative functions (e.g., based at least partially on the device's address, identification, etc.).
- One or more video controllers 840 may be provided for controlling the video operation of the devices 212 , 248 , 882 associated with the vehicle.
- the video controller 840 may include a display controller for controlling the operation of touch sensitive screens, including input (touch sensing) and output (display) functions.
- Video data may include data received in a stream and unpacked by a processor and loaded into a display buffer.
- the processor and video controller 840 can optimize the display based on the characteristics of a screen of a display device 212 , 248 , 882 .
- the functions of a touch screen controller may be incorporated into other components, such as a media processor 808 or display subsystem.
- the audio controller 844 can provide control of the audio entertainment system (e.g., radio, subscription music service, multimedia entertainment, etc.), and other audio associated with the vehicle 104 (e.g., navigation systems, vehicle comfort systems, convenience systems, etc.).
- the audio controller 844 may be configured to translate digital signals to analog signals and vice versa.
- the audio controller 844 may include device drivers that allow the audio controller 844 to communicate with other components of the system 800 (e.g., processors 816 , 808 , audio I/O 874 , and the like).
- the system 800 may include a profile identification module 848 to determine whether a user profile is associated with the vehicle 104 .
- the profile identification module 848 may receive requests from a user 216 , or device 212 , 228 , 248 , to access a profile stored in a profile database 856 or profile data 252 . Additionally or alternatively, the profile identification module 848 may request profile information from a user 216 and/or a device 212 , 228 , 248 , to access a profile stored in a profile database 856 or profile data 252 .
- the profile identification module 848 may be configured to create, modify, retrieve, and/or store user profiles in the profile database 856 and/or profile data 252 .
- the profile identification module 848 may include rules for profile identification, profile information retrieval, creation, modification, and/or control of components in the system 800 .
- a user 216 may enter the vehicle 104 with a smart phone or other device 212 .
- the profile identification module 848 may determine that a user profile is associated with the user's smart phone 212 .
- the system 800 may receive information about a user 216 (e.g., from a camera 878 , microphone 886 , etc.), and, in response to receiving the user information, the profile identification module 848 may refer to the profile database 856 to determine whether the user information matches a user profile stored in the database 856 .
- the profile identification module 848 may communicate with the other components of the system to load one or more preferences, settings, and/or conditions based on the user profile. Further, the profile identification module 848 may be configured to control components of the system 800 based on user profile information.
- data storage 852 may be provided. Like the memory 832 , the data storage 852 may comprise a solid state memory device or devices. Alternatively or in addition, the data storage 852 may comprise a hard disk drive or other random access memory. Similar to the data storage 852 , the profile database 856 may comprise a solid state memory device or devices.
- An input/output module 860 and associated ports may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices.
- Examples of an input/output module 860 include an Ethernet port, a Universal Serial Bus (USB) port, CAN Bus, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface. Users may bring their own devices (e.g., Bring Your Own Device (BYOD), device 212 , etc.) into the vehicle 104 for use with the various systems disclosed.
- USB Universal Serial Bus
- IEEE Institute of Electrical and Electronics Engineers
- the input/output module 860 can provide the necessary connection of one or more devices to the vehicle systems described herein.
- a video input/output interface 864 can be included to receive and transmit video signals between the various components in the system 800 .
- the video input/output interface 864 can operate with compressed and uncompressed video signals.
- the video input/output interface 864 can support high data rates associated with image capture devices. Additionally or alternatively, the video input/output interface 864 may convert analog video signals to digital signals.
- the infotainment system 870 may include information media content and/or entertainment content, informational devices, entertainment devices, and the associated programming therefor.
- the infotainment system 870 may be configured to handle the control of one or more components of the system 800 including, but in no way limited to, radio, streaming audio/video devices, audio devices 880 , 882 , 886 , video devices 878 , 882 , travel devices (e.g., GPS, navigational systems, etc.), wireless communication devices, network devices, and the like.
- the infotainment system 870 can provide the functionality associated with other infotainment features as provided herein.
- An audio input/output interface 874 can be included to provide analog audio to an interconnected speaker 880 or other device, and to receive analog audio input from a connected microphone 886 or other device.
- the audio input/output interface 874 may comprise an associated amplifier and analog to digital converter.
- the devices 212 , 248 can include integrated audio input/output devices 880 , 886 and/or an audio jack for interconnecting an external speaker 880 or microphone 886 .
- an integrated speaker 880 and an integrated microphone 886 can be provided, to support near talk, voice commands, spoken information exchange, and/or speaker phone operations.
- the system 800 may include devices that are part of the vehicle 104 and/or part of a device 212 , 248 that is associated with the vehicle 104 .
- these devices may be configured to capture images, display images, capture sound, and present sound.
- the system 800 may include at least one of image sensors/cameras 878 , display devices 882 , audio input devices/microphones 886 , and audio output devices/speakers 880 .
- the cameras 878 can be included for capturing still and/or video images.
- image sensors 878 can include a scanner or code reader.
- An image sensor/camera 878 can include or be associated with additional elements, such as a flash or other light source.
- the display device 882 may include an audio input device and/or an audio output device in addition to providing video functions.
- the display device 882 may be a console, monitor, a tablet computing device, and/or some other mobile computing device.
- FIG. 8B is a block diagram of an embodiment of a user/device interaction subsystem 817 in a vehicle system 800 .
- the user/device interaction subsystem 817 may comprise hardware and/or software that conduct various operations for or with the vehicle 104 .
- the user/device interaction subsystem 817 may include at least one user interaction subsystem 332 and device interaction subsystem 352 as previously described. These operations may include, but are not limited to, providing information to the user 216 , receiving input from the user 216 , and controlling the functions or operation of the vehicle 104 , etc.
- the user/device interaction subsystem 817 may include a computing system operable to conduct the operations as described herein.
- the user/device interaction subsystem 817 can include one or more of the components and modules provided herein.
- the user/device interaction subsystem 817 can include one or more of a video input/output interface 864 , an audio input/output interface 874 , a sensor module 814 , a device interaction module 818 , a user identification module 822 , a vehicle control module 826 , an environmental control module 830 , and a gesture control module 834 .
- the user/device interaction subsystem 817 may be in communication with other devices, modules, and components of the system 800 via the communications channel 356 .
- the user/device interaction subsystem 817 may be configured to receive input from a user 216 and/or device via one or more components of the system.
- a user 216 may provide input to the user/device interaction subsystem 817 via wearable devices 802 , 806 , 810 , video input (e.g., via at least one image sensor/camera 878 , etc.) audio input (e.g., via the microphone, audio input source, etc.), gestures (e.g., via at least one image sensor 878 , motion sensor 888 , etc.), device input (e.g., via a device 212 , 248 associated with the user, etc.), combinations thereof, and the like.
- video input e.g., via at least one image sensor/camera 878 , etc.
- audio input e.g., via the microphone, audio input source, etc.
- gestures e.g., via at least one image sensor 878 , motion sensor 888 , etc.
- device input e
- the wearable devices 802 , 806 , 810 can include heart rate monitors, blood pressure monitors, glucose monitors, pedometers, movement sensors, wearable computers, and the like. Examples of wearable computers may be worn by a user 216 and configured to measure user activity, determine energy spent based on the measured activity, track user sleep habits, determine user oxygen levels, monitor heart rate, provide alarm functions, and more. It is anticipated that the wearable devices 802 , 806 , 810 can communicate with the user/device interaction subsystem 817 via wireless communications channels or direct connection (e.g., where the device docks, or connects, with a USB port or similar interface of the vehicle 104 ).
- a sensor module 814 may be configured to receive and/or interpret input provided by one or more sensors in the vehicle 104 .
- the sensors may be associated with one or more user devices (e.g., wearable devices 802 , 806 , 810 , smart phones 212 , mobile computing devices 212 , 248 , and the like).
- the sensors may be associated with the vehicle 104 , as described in conjunction with FIGS. 6A-7B .
- the device interaction module 818 may communicate with the various devices as provided herein.
- the device interaction module 818 can provide content, information, data, and/or media associated with the various subsystems of the vehicle system 800 to one or more devices 212 , 248 , 802 , 806 , 810 , 882 , etc.
- the device interaction module 818 may receive content, information, data, and/or media associated with the various devices provided herein.
- the user identification module 822 may be configured to identify a user 216 associated with the vehicle 104 .
- the identification may be based on user profile information that is stored in profile data 252 .
- the user identification module 822 may receive characteristic information about a user 216 via a device, a camera, and/or some other input. The received characteristics may be compared to data stored in the profile data 252 . Where the characteristics match, the user 216 is identified. As can be appreciated, where the characteristics do not match a user profile, the user identification module 822 may communicate with other subsystems in the vehicle 104 to obtain and/or record profile information about the user 216 . This information may be stored in a memory and/or the profile data storage 252 .
- the vehicle control module 826 may be configured to control settings, features, and/or the functionality of a vehicle 104 .
- the vehicle control module 826 can communicate with the vehicle control system 204 to control critical functions (e.g., driving system controls, braking, accelerating, etc.) and/or noncritical functions (e.g., driving signals, indicator/hazard lights, mirror controls, window actuation, etc.) based at least partially on user/device input received by the user/device interaction subsystem 817 .
- critical functions e.g., driving system controls, braking, accelerating, etc.
- noncritical functions e.g., driving signals, indicator/hazard lights, mirror controls, window actuation, etc.
- the environmental control module 830 may be configured to control settings, features, and/or other conditions associated with the environment, especially the interior environment, of a vehicle 104 .
- the environmental control module 830 may communicate with the climate control system (e.g. changing cabin temperatures, fan speeds, air direction, etc.), oxygen and/or air quality control system (e.g., increase/decrease oxygen in the environment, etc.), interior lighting (e.g., changing intensity of lighting, color of lighting, etc.), an occupant seating system 648 (e.g., adjusting seat position, firmness, height, etc.), steering wheel 640 (e.g., position adjustment, etc.), infotainment/entertainment system (e.g., adjust volume levels, display intensity adjustment, change content, etc.), and/or other systems associated with the vehicle environment.
- the climate control system e.g. changing cabin temperatures, fan speeds, air direction, etc.
- oxygen and/or air quality control system e.g., increase/decrease oxygen in the environment, etc.
- these systems can provide input, set-points, and/or responses, to the environmental control module 830 .
- the environmental control module 830 may control the environment based at least partially on user/device input received by the user/device interaction subsystem 817 .
- the gesture control module 834 is configured to interpret gestures provided by a user 216 in the vehicle 104 .
- the gesture control module 834 may provide control signals to one or more of the vehicle systems 300 disclosed herein.
- a user 216 may provide gestures to control the environment, critical and/or noncritical vehicle functions, the infotainment system, communications, networking, and more.
- gestures may be provided by a user 216 and detected via one or more of the sensors as described in conjunction with FIGS. 6B-7A .
- one or more motion sensors 888 may receive gesture input from a user 216 and provide the gesture input to the gesture control module 834 . Continuing this example, the gesture input is interpreted by the gesture control module 834 .
- This interpretation may include comparing the gesture input to gestures stored in a memory.
- the gestures stored in memory may include one or more functions and/or controls mapped to specific gestures.
- the gesture control module 834 can provide a control signal to any of the systems/subsystems as disclosed herein.
- FIG. 8C illustrates a GPS/Navigation subsystem(s) 336 .
- the Navigation subsystem(s) 336 can be any present or future-built navigation system that may use location data, for example, from the Global Positioning System (GPS), to provide navigation information or control the vehicle 104 .
- GPS Global Positioning System
- the Navigation subsystem(s) 336 can include several components or modules, such as, one or more of, but not limited to, a GPS Antenna/receiver 892 , a location module 896 , a maps database 8100 , an automobile controller 8104 , a vehicle systems transceiver 8108 , a traffic controller 8112 , a network traffic transceiver 8116 , a vehicle-to-vehicle transceiver 8120 , a traffic information database 8124 , etc.
- the several components or modules 892 - 8124 may be hardware, software, firmware, computer readable media, or combinations thereof.
- a GPS Antenna/receiver 892 can be any antenna, GPS puck, and/or receiver capable of receiving signals from a GPS satellite or other navigation system, as mentioned hereinbefore.
- the signals may be demodulated, converted, interpreted, etc. by the GPS Antenna/receiver 892 and provided to the location module 896 .
- the GPS Antenna/receiver 892 may convert the time signals from the GPS system and provide a location (e.g., coordinates on a map) to the location module 896 .
- the location module 896 can interpret the time signals into coordinates or other location information.
- the location module 896 can be the controller of the satellite navigation system designed for use in automobiles.
- the location module 896 can acquire position data, as from the GPS Antenna/receiver 892 , to locate the user or vehicle 104 on a road in the unit's map database 8100 .
- the location module 896 can give directions to other locations along roads also in the database 8100 .
- the location module 896 may apply dead reckoning to estimate distance data from sensors 242 including one or more of, but not limited to, a speed sensor attached to the drive train of the vehicle 104 , a gyroscope, an accelerometer, etc.
- GPS signal loss and/or multipath can occur due to urban canyons, tunnels, and other obstructions.
- the location module 896 may use known locations of Wi-Fi hotspots, cell tower data, etc. to determine the position of the vehicle 104 , such as by using time difference of arrival (TDOA) and/or frequency difference of arrival (FDOA) techniques.
- TDOA time difference of arrival
- FDOA frequency difference of arrival
- the maps database 8100 can include any hardware and/or software to store information about maps, geographical information system information, location information, etc.
- the maps database 8100 can include any data definition or other structure to store the information.
- the maps database 8100 can include a road database that may include one or more vector maps of areas of interest. Street names, street numbers, house numbers, and other information can be encoded as geographic coordinates so that the user can find some desired destination by street address. Points of interest (waypoints) can also be stored with their geographic coordinates. For example, a point of interest may include speed cameras, fuel stations, public parking, and “parked here” (or “you parked here”) information.
- the map database contents can be produced or updated by a server connected through a wireless system in communication with the Internet, even as the vehicle 104 is driven along existing streets, yielding an up-to-date map.
- An automobile controller 8104 can be any hardware and/or software that can receive instructions from the location module 896 or the traffic controller 8112 and operate the vehicle 104 .
- the automobile controller 8104 receives this information and data from the sensors 242 to operate the vehicle 104 without driver input.
- the automobile controller 8104 can drive the vehicle 104 along a route provided by the location module 896 .
- the route may be adjusted by information sent from the traffic controller 8112 .
- Discrete and real-time driving can occur with data from the sensors 242 .
- the automobile controller 8104 can communicate with a vehicle systems transceiver 8108 .
- the vehicle systems transceiver 8108 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing.
- the vehicle systems transceiver 8108 may communicate or instruct one or more of the vehicle control subsystems 328 .
- the vehicle systems transceiver 8108 may send steering commands, as received from the automobile controller 8104 , to an electronic steering system, to adjust the steering of the vehicle 100 in real time.
- the automobile controller 8104 can determine the effect of the commands based on received sensor data 242 and can adjust the commands as need be.
- the vehicle systems transceiver 8108 can also communicate with the braking system, the engine and drive train to speed or slow the car, the signals (e.g., turn signals and brake lights), the headlights, the windshield wipers, etc. Any of these communications may occur over the components or function as described in conjunction with FIG. 4 .
- a traffic controller 8112 can be any hardware and/or software that can communicate with an automated traffic system and adjust the function of the vehicle 104 based on instructions from the automated traffic system.
- An automated traffic system is a system that manages the traffic in a given area. This automated traffic system can instruct cars to drive in certain lanes, instruct cars to raise or lower their speed, instruct a car to change their route of travel, instruct cars to communicate with other cars, etc. To perform these functions, the traffic controller 8112 may register the vehicle 104 with the automated traffic system and then provide other information including the route of travel. The automated traffic system can return registration information and any required instructions.
- the communications between the automated traffic system and the traffic controller 8112 may be received and sent through a network traffic transceiver 8116 .
- the network traffic transceiver 8116 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing.
- the network traffic transceiver 8116 may communicate with the automated traffic system using any known or future-developed, protocol, standard, frequency, bandwidth range, etc.
- the network traffic transceiver 8116 enables the sending of information between the traffic controller 8112 and the automated traffic system.
- the traffic controller 8112 can also communicate with another vehicle, which may be in physical proximity (i.e., within range of a wireless signal), using the vehicle-to-vehicle transceiver 8120 .
- the vehicle-to-vehicle transceiver 8120 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing.
- the vehicle-to-vehicle transceiver 8120 enables communication between the vehicle 104 and any other vehicle.
- the vehicle 104 may receive traffic or safety information, control or be controlled by another vehicle, establish an alternative communication path to communicate with the automated traffic system, establish a node including two or more vehicle that can function as a unit, etc.
- the vehicle-to-vehicle transceiver 8120 may communicate with the other vehicles using any known or future-developed, protocol standard, frequency, bandwidth range, etc.
- the traffic controller 8112 can control functions of the automobile controller 8104 and communicate with the location module 896 .
- the location module 896 can provide current location information and route information that the traffic controller 8112 may then provide to the automated traffic system.
- the traffic controller 8112 may receive route adjustments from the automated traffic system that are then sent to the location module 896 to change the route.
- the traffic controller 8112 can also send driving instructions to the automobile controller 8104 to change the driving characteristics of the vehicle 104 .
- the traffic controller 8112 can instruct the automobile controller 8104 to accelerate or decelerate to a different speed, change lanes, or perform another driving maneuver.
- the traffic controller 8112 can also manage vehicle-to-vehicle communications and store information about the communications or other information in the traffic information database 8124 .
- the traffic information database 8124 can be any type of database, such as relational, hierarchical, object-oriented, and/or the like.
- the traffic information database 8124 may reside on a storage medium local to (and/or resident in) the vehicle control system 204 or in the vehicle 104 .
- the traffic information database 8124 may be adapted to store, update, and retrieve information about communications with other vehicles or any active instructions from the automated traffic system. This information may be used by the traffic controller 8112 to instruct or adjust the performance of driving maneuvers.
- FIG. 9 illustrates an optional communications architecture where, the host device 908 may include one more routing profiles, permission modules, and rules that control how communications within the vehicle 104 are to occur.
- This communications architecture can be used in conjunction with the routing tables, rules and permissions associated with access point 456 and optional firewall 484 , or can be in lieu thereof.
- the host device 908 acts as a mobile hot spot to one or more other devices within vehicle 104 , such as, other device 1 912 , other device 2 916 , other device 3 920 , and other device N 924 .
- one or more of the other devices 912 can communicate directly with the host device 908 which then provides Internet access to those devices 912 via the device 908 .
- the host device 908 can act as a mobile hot spot for any one or more of the other devices 912 , which may not need to communicate over the network/communications buses 224 / 404 , but could instead connect directly to the host device 908 via, for example, NFC, Bluetooth®, WiFi, or the like.
- the device 908 can include one or more routing profiles, permissions, rules modules, and can also act as a firewall for the various inter and intra vehicle communications.
- host 904 there could be alternative host devices, such as, host 904 which could also act as, for example, a co-host in association with device 908 .
- one or more of the routing profile, permission information, and rules could be shared between the co-host devices 904 , 908 , both of those devices being usable for Internet access for one or more of the other devices, 912 - 924 .
- the other devices 912 - 924 need not necessarily connect to one or more of host device 908 and the other device 904 via a direct communications link, but could also interface with those devices 904 , 908 utilizing the network/communications buses 224 / 404 associated with the vehicle 100 .
- one or more of the other devices can connect to the network/communications buses 224 / 404 utilizing the various networks and/or buses discussed herein which would therefore enable, for example, regulation of the various communications based on the Ethernet zone that the other device 912 is associated with.
- the modules can include a communication subsystem interface 1008 in communication with an operating system 1004 .
- the communications may pass through a firewall 1044 .
- the firewall 1044 can be any software that can control the incoming and outgoing communications by analyzing the data packets and determining whether the packets should be allowed through the firewall, based on applied rule set.
- a firewall 1044 can establish a “barrier” between a trusted, secure internal network and another network (e.g., the Internet) that is not assumed to be secure and trusted.
- the firewall 1044 may establish security zones that are implemented by running system services and/or applications in restricted user groups and accounts. A set of configuration files and callbacks may then be linked to an IP table firewall.
- the IP table firewall can be configured to notify a custom filter application at any of the layers of the Ethernet packet.
- the different users/group rights to access the system may include: system users, which may have exclusive right over all device firewall rules and running software; a big-brother user, which may have access to on board device (OBD) control data and may be able to communicate with the vehicle subsystem 328 and may be able to alter the parameters in the vehicle control system 204 ; a dealer user, which can have rights to read OBD data for diagnostics and repairs; a dashboard user, which can have rights to launch dashboard applications and/or authenticate guest users and change their permissions to trusted/friend/family, and can read but cannot write into OBD diagnostic data; a world wide web (WWW) data user, which can have HTTP rights to respond to HTTP requests (the HTTP requests also can target different user data, but may be filtered by default user accounts); a guest user, which may have no rights; a family/friend user, which may have rights to play media from the media subsystem 348 and/or to stream media to the media subsystem 348 .
- WWW world wide web
- the operating system 1004 can be a collection of software that manages computer hardware resources and provides common services for applications and other programs.
- the operating system 1004 may schedule time-sharing for efficient use of the system.
- the operating system 1004 can act as an intermediary between applications or programs and the computer hardware. Examples of operating systems that may be deployed as operating system 1004 include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, IBM z/OS, etc.
- the operating system 1004 can include one or more sub-modules.
- a desktop manager 1012 can manage one or more graphical user interfaces (GUI) in a desktop environment.
- GUIs graphical user interfaces
- a command-line interface (CLI) may be used if full control over the operating system (OS) 1004 is required.
- OS operating system
- a kernel 1028 can be a computer program that manages input/output requests from software and translates them into data processing instructions for the processor 304 and other components of the vehicle control system 204 .
- the kernel 1028 is the fundamental component of the operating system 1004 that can execute many of the functions associated with the OS 1004 .
- the kernel 1028 can include other software functions, including, but not limited to, driver(s) 1056 , communication software 1052 , and/or Internet Protocol software 1048 .
- a driver 1056 can be any computer program that operates or controls a particular type of device that is attached to a vehicle control system 204 .
- a driver 1056 can communicate with the device through the bus 356 or communications subsystem 1008 to which the hardware connects. When a calling program invokes a routine in the driver 1056 , the driver 1056 may issue one or more commands to the device. Once the device sends data back to the driver 1056 , the driver 1056 may invoke routines in the original calling program.
- Drivers can be hardware-dependent and operating-system-specific.
- Driver(s) 1056 can provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface.
- the IP module 1048 can conduct any IP addressing, which may include the assignment of IP addresses and associated parameters to host interfaces.
- the address space may include networks and sub-networks.
- the IP module 1048 can perform the designation of network or routing prefixes and may conduct IP routing, which transports packets across network boundaries. Thus, the IP module 1048 may perform all functions required for IP multicast operations.
- the communications module 1052 may conduct all functions for communicating over other systems or using other protocols not serviced by the IP module 1048 . Thus, the communications module 1052 can manage multicast operations over other busses or networks not serviced by the IP module 1048 . Further, the communications module 1052 may perform or manage communications to one or more devices, systems, data stores, services, etc. that are in communication with the vehicle control system 204 or other subsystems through the firewall 1044 . Thus, the communications module 1052 can conduct communications through the communication subsystem interface 1008 .
- a file system 1016 may be any data handling software that can control how data is stored and retrieved.
- the file system 1016 can separate the stored data into individual pieces, and giving each piece a name, can easily separate and identify the pieces of data. Each piece of data may be considered a “file”.
- the file system 1016 can construct data structure and logic rules used to manage the information and the identifiers for the information. The structure and logic rules can be considered a “file system.”
- a device discovery daemon 1020 may be a computer program that runs as a background process that can discover new devices that connect with the network 356 or communication subsystem 1008 or devices that disconnect from the network 356 or communication subsystem 1008 .
- the device discovery daemon 1020 can ping the network 356 (the local subnet) when the vehicle 104 starts, when a vehicle door opens or closes, or upon the occurrence of other events. Additionally or alternatively, the device discovery daemon 1020 may force Bluetooth®, USB, and/or wireless detection.
- the device discovery daemon 1020 can populate the system data 208 with device information and capabilities, using any of one or more protocols, including one or more of, but not limited to, IPv6 Hop-by-Hop Option (HOPOPT), Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP), Gateway-to-Gateway Protocol (GGP), Internet Protocol (IP), Internet Stream Protocol (ST), Transmission Control Protocol (TCP), Exterior Gateway Protocol (EGP), CHAOS, User Datagram Protocol (UDP), etc.
- HOPOPT IPv6 Hop-by-Hop Option
- ICMP Internet Control Message Protocol
- IGMP Internet Group Management Protocol
- GGP Gateway-to-Gateway Protocol
- IP Internet Protocol
- IP Internet Stream Protocol
- TCP Transmission Control Protocol
- EGP Exterior Gateway Protocol
- CHAOS User Datagram Protocol
- the device discovery daemon 1020 can determine device capabilities based on the opened ports the device exposes. If a camera exposes port 80 , then the device discovery daemon 1020 can determine that the camera is using a Hypertext Transfer Protocol (HTTP). Alternatively, if a device is supporting Universal Plug and Play (UPnP), the system data 208 can include more information, for example, a camera control universal resource locator (URL), a camera zoom URL, etc. When a scan stops, the device discovery daemon 1020 can trigger a dashboard refresh to ensure the user interface reflects the new devices on the desktop.
- HTTP Hypertext Transfer Protocol
- URL camera control universal resource locator
- the device discovery daemon 1020 can trigger a dashboard refresh to ensure the user interface reflects the new devices on the desktop.
- a desktop manager 1012 may be a computer program that manages the user interface of the vehicle control system 204 .
- the desktop environment may be designed to be customizable and allow the definition of the desktop configuration look-and-feel for a wide range of appliances or devices from computer desktops, mobile devices, computer tablets, etc.
- Launcher(s), panels, desktop areas, the desktop background, notifications, panes, etc. can be configured from a dashboard configuration file managed by the desktop manager 1012 .
- the graphical elements in which the desktop manager 1012 controls can include launchers, the desktop, notification bars, etc.
- the desktop may be an area of the display where the applications are running.
- the desktop can have a custom background.
- the desktop may be divided into two or more areas.
- the desktop may be divided into an upper half of a display and a lower half of the display.
- Each application can be configured to run in a portion of the desktop.
- Extended settings can be added to the desktop configuration file, such that, some objects may be displayed over the whole desktop or in custom size out of the context of the divided areas.
- the notification bar may be a part of a bar display system, which may provide notifications by displaying, for example, icons and/or pop-up windows that may be associated with sound notifications.
- the notification mechanism can be designed for separate plug-ins, which run in separate processes and may subscribe to a system Intelligent Input Bus (IBUS)/D-BUS event service.
- the icons on the notifications bar can be accompanied with application short-cuts to associated applications, for example, a Bluetooth® manager, a USB manager, radio volume and or tone control, a security firewall, etc.
- the desktop manager 1012 may include a windows manager 1032 , an application launcher 1036 , and/or a panel launcher 1040 . Each of these components can control a different aspect of the user interface.
- the desktop manager 1012 can use a root window to create panels that can include functionality for one or more of, but not limited to: launching applications, managing applications, providing notifications, etc.
- the windows manager 1032 may be software that controls the placement and appearance of windows within a graphical user interface presented to the user. Generally, the windows manager 1032 can provide the desktop environment used by the vehicle control system 204 . The windows manager 1032 can communicate with the kernel 1028 to interface with the graphical system that provides the user interface(s) and supports the graphics hardware, pointing devices, keyboard, touch-sensitive screens, etc.
- the windows manager 1032 may be a tiling window manager (i.e., a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to a coordinate-based stacking of overlapping objects (windows) that attempts to fully emulate the desktop metaphor).
- the windows manager 1032 may read and store configuration files, in the system data 208 , which can control the position of the application windows at precise positions.
- An application manager 1036 can control the function of any application over the lifetime of the process.
- the process or application can be launched from a panel launcher 1040 or from a remote console.
- the application manager 1036 can intercept the process name and may take appropriate action to manage that process. If the process is not running, the application manager 1036 can load the process and may bring the process to a foreground in a display. The application manager 1036 may also notify the windows manager 1032 to bring the associated window(s) to a top of a window stack for the display.
- the application manager 1036 can scan files to match the process name with the entry name provided. When a match is found, the application manager 1036 can configure the process according to a settings file.
- the application manager 1036 may restrict an application as singleton (i.e., restricts the instantiation of a class to one object). If an application is already running and the application manager 1036 is asked to run the application again, the application manager 1036 can bring the running process to a foreground on a display. There can be a notification event exchange between the windows manager 1032 and the application manager 1036 for activating the appropriate window for the foreground process. Once an application is launched, the application may not be terminated or killed. The application can be sent to the background, except, possibly, for some applications (e.g., media player, Bluetooth®, notifications, etc.), which may be given a lowest process priority.
- some applications e.g., media player, Bluetooth®, notifications, etc.
- the panel launcher 1040 can be a widget configured to be placed along a portion of the display.
- the panel launcher 1040 may be built from desktop files from a desktop folder.
- the desktop folder location can be configured by a configuration file stored in system data 208 .
- the panel launcher 1040 can allow for the launching or executing of applications or processes by receiving inputs from a user interface to launch programs.
- a desktop plugin 1024 may be a software component that allows for customization of the desktop or software interface through the initiation of plug-in applications.
- FIGS. 11A through 11H depict various graphical representations of gesture inputs that may be recognized by the devices 212 , 248 .
- the gestures may be performed not only by a user's body part, such as a digit, but also by other devices, such as a stylus, that may be sensed by the contact sensing portion(s) of a screen associated with the device 212 , 248 .
- gestures are interpreted differently, based on where the gestures are performed (either directly on a display or in a gesture capture region). For example, gestures in a display may be directed to a desktop or application, and gestures in a gesture capture region may be interpreted as for the system.
- a first type of gesture is substantially stationary on a portion (e.g., a screen, a display, etc.) of a device 212 , 248 for a selected length of time.
- a circle 1128 represents a touch or other contact type received at particular location of a contact sensing portion of the screen.
- the circle 1128 may include a border 1132 , the thickness of which indicates a length of time that the contact is held substantially stationary at the contact location. For instance, a tap 1120 (or short press) has a thinner border 1132 A than the border 1132 B for a long press 1124 (or for a normal press).
- the long press 1124 may involve a contact that remains substantially stationary on the screen for longer time period than that of a tap 1120 .
- differently defined gestures may be registered depending upon the length of time that the touch remains stationary prior to contact cessation or movement on the screen.
- a drag gesture 1100 on the screen is an initial contact (represented by circle 1128 ) with contact movement 1136 in a selected direction.
- the initial contact 1128 may remain stationary on the screen for a certain amount of time represented by the border 1132 .
- the drag gesture typically requires the user to contact an icon, window, or other displayed image at a first location followed by movement of the contact in a drag direction to a new second location desired for the selected displayed image.
- the contact movement need not be in a straight line but have any path of movement so long as the contact is substantially continuous from the first to the second locations.
- a flick gesture 1104 on the screen is an initial contact (represented by circle 1128 ) with truncated contact movement 1136 (relative to a drag gesture) in a selected direction.
- a flick may have a higher exit velocity for the last movement in the gesture compared to the drag gesture.
- the flick gesture can, for instance, be a finger snap following initial contact.
- a flick gesture generally does not require continual contact with the screen from the first location of a displayed image to a predetermined second location. The contacted displayed image is moved by the flick gesture in the direction of the flick gesture to the predetermined second location.
- both gestures commonly can move a displayed image from a first location to a second location, the temporal duration and distance of travel of the contact on the screen is generally less for a flick than for a drag gesture.
- a pinch gesture 1108 on the screen is depicted.
- the pinch gesture 1108 may be initiated by a first contact 1128 A to the screen by, for example, a first digit and a second contact 1128 B to the screen by, for example, a second digit.
- the first and second contacts 1128 A,B may be detected by a common contact sensing portion of a common screen, by different contact sensing portions of a common screen, or by different contact sensing portions of different screens.
- the first contact 1128 A is held for a first amount of time, as represented by the border 1132 A
- the second contact 1128 B is held for a second amount of time, as represented by the border 1132 B.
- the first and second amounts of time are generally substantially the same, and the first and second contacts 1128 A,B generally occur substantially simultaneously.
- the first and second contacts 1128 A,B generally also include corresponding first and second contact movements 1136 A,B, respectively.
- the first and second contact movements 1136 A,B are generally in opposing directions. Stated another way, the first contact movement 1136 A is towards the second contact 1136 B, and the second contact movement 1136 B is towards the first contact 1136 A.
- the pinch gesture 1108 may be accomplished by a user's digits touching the screen in a pinching motion.
- a spread gesture 1110 on the screen is depicted.
- the spread gesture 1110 may be initiated by a first contact 1128 A to the screen by, for example, a first digit, and a second contact 1128 B to the screen by, for example, a second digit.
- the first and second contacts 1128 A,B may be detected by a common contact sensing portion of a common screen, by different contact sensing portions of a common screen, or by different contact sensing portions of different screens.
- the first contact 1128 A is held for a first amount of time, as represented by the border 1132 A
- the second contact 1128 B is held for a second amount of time, as represented by the border 1132 B.
- the first and second amounts of time are generally substantially the same, and the first and second contacts 1128 A,B generally occur substantially simultaneously.
- the first and second contacts 1128 A,B generally also include corresponding first and second contact movements 1136 A,B, respectively.
- the first and second contact movements 1136 A,B are generally in an opposing direction. Stated another way, the first and second contact movements 1136 A,B are away from the first and second contacts 1128 A,B.
- the spread gesture 1110 may be accomplished by a user's digits touching the screen in a spreading motion.
- the above gestures may be combined in any manner, such as those shown by FIGS. 11G and 11H , to produce a determined functional result.
- a tap gesture 1120 is combined with a drag or flick gesture 1112 in a direction away from the tap gesture 1120 .
- a tap gesture 1120 is combined with a drag or flick gesture 1116 in a direction towards the tap gesture 1120 .
- the functional result of receiving a gesture can vary depending on a number of factors, including a state of the vehicle 104 , display, or screen of a device, a context associated with the gesture, or sensed location of the gesture, etc.
- the state of the vehicle 104 commonly refers to one or more of a configuration of the vehicle 104 , a display orientation, and user and other inputs received by the vehicle 104 .
- Context commonly refers to one or more of the particular application(s) selected by the gesture and the portion(s) of the application currently executing, whether the application is a single- or multi-screen application, and whether the application is a multi-screen application displaying one or more windows.
- a sensed location of the gesture commonly refers to whether the sensed set(s) of gesture location coordinates are on a touch sensitive display or a gesture capture region of a device 212 , 248 , whether the sensed set(s) of gesture location coordinates are associated with a common or different display, or screen, or device 212 , 248 , and/or what portion of the gesture capture region contains the sensed set(s) of gesture location coordinates.
- a tap when received by a touch sensitive display of a device 212 , 248 , can be used, for instance, to select an icon to initiate or terminate execution of a corresponding application, to maximize or minimize a window, to reorder windows in a stack, and/or to provide user input such as by keyboard display or other displayed image.
- a drag when received by a touch sensitive display of a device 212 , 248 , can be used, for instance, to relocate an icon or window to a desired location within a display, to reorder a stack on a display, or to span both displays (such that the selected window occupies a portion of each display simultaneously).
- a flick when received by a touch sensitive display of a device 212 , 248 or a gesture capture region, can be used to relocate a window from a first display to a second display or to span both displays (such that the selected window occupies a portion of each display simultaneously). Unlike the drag gesture, however, the flick gesture is generally not used to move the displayed image to a specific user-selected location but to a default location that is not configurable by the user.
- the pinch gesture when received by a touch sensitive display or a gesture capture region of a device 212 , 248 , can be used to minimize or otherwise increase the displayed area or size of a window (typically when received entirely by a common display), to switch windows displayed at the top of the stack on each display to the top of the stack of the other display (typically when received by different displays or screens), or to display an application manager (a “pop-up window” that displays the windows in the stack).
- the spread gesture when received by a touch sensitive display or a gesture capture region of a device 212 , 248 , can be used to maximize or otherwise decrease the displayed area or size of a window, to switch windows displayed at the top of the stack on each display to the top of the stack of the other display (typically when received by different displays or screens), or to display an application manager (typically when received by an off-screen gesture capture region on the same or different screens).
- the combined gestures of FIG. 11G when received by a common display capture region in a common display or screen of a device 212 , 248 , can be used to hold a first window location constant for a display receiving the gesture while reordering a second window location to include a window in the display receiving the gesture.
- the combined gestures of FIG. 11H when received by different display capture regions in a common display or screen of a device 212 , 248 or in different displays or screens of one more devices 212 , 248 , can be used to hold a first window location for a display receiving the tap part of the gesture while reordering a second window location to include a window in the display receiving the flick or drag gesture.
- Gestures that may be completed in three-dimensional space and not on a touch sensitive screen or gesture capture region of a device 212 , 248 may be as shown in FIGS. 11I-11K .
- the gestures may be completed in an area where a sensor, such as an optical sensor, infrared sensor, or other type of sensor, may detect the gesture.
- the gesture 1140 in FIG. 11I may be executed by a person when the person opens their hand 1164 and moves their hand in a back and forth direction 1148 as a gesture 1140 to complete some function with the vehicle 104 .
- gesture 1140 may change the station of the radio in the vehicle 104 .
- the sensors 242 may both determine the configuration of the hand 1164 and the vector of the movement. The vector and hand configuration can be interpreted to mean certain things to the vehicle control system 204 and produce different results.
- a user may configure their hand 1164 to extend two fingers and move the hand 1164 in an up and down operation 1156 .
- This gesture 1152 may control the volume of the radio or some other function.
- this gesture 1152 may be configured to place the vehicle in a “valet” mode to, among other things, restrict access to certain features associated with the vehicle.
- the sensors 242 may determine how the person has configured their hand 1164 , and the vector of the movement.
- a user may extend their middle three fingers at an angle that is substantially 45° for vertical from straight vertical and circle the hand in a counter-clockwise motion 1166 .
- This gesture 1160 may cause the automobile to change the heat setting or do some other function.
- the configurations of the hand and the types of movement are variable.
- the user may configure the hand 1164 in any way imaginable and may also move that hand 1164 in any direction with any vector in three-dimensional space.
- the gestures 1140 , 1152 , 1160 may occur in a predetermined volume of space within the vehicle 104 .
- a sensor may be configured to identify such gestures 1140 , 1152 , 1160 between the front passenger's and front driver's seats over a console area within the passenger compartment of the vehicle 104 .
- the gestures 1140 , 1152 , 1160 may be made within area 1 508 A between zones A 512 A and B 512 B.
- Gestures that may be similar but used in different areas within the vehicle 104 may cause different functions to be performed.
- the gesture 1140 in FIG. 11I may change the heat provided in zone E 512 E, but may change the station of a radio if used in zone A 512 A and/or zone B 512 B.
- the gestures may be made with other body parts or, for example, different expressions of a person's face and may be used to control functions in the vehicle 104 .
- the user may use two hands in some circumstances or do other types of physical movements that can cause different reactions in the vehicle 104 .
- FIGS. 12A-12D show various embodiments of a data structure 1200 to store different settings.
- the data structure 1200 may include one or more of data files or data objects 1204 , 1250 , 1270 , 1280 .
- the data structure 1200 may represent different types of databases or data storage, for example, object-oriented data bases, flat file data structures, relational database, or other types of data storage arrangements.
- Embodiments of the data structure 1200 disclosed herein may be separate, combined, and/or distributed.
- there may be more or fewer portions in the data structure 1200 as represented by ellipses 1244 .
- there may be more or fewer files in the data structure 1200 as represented by ellipses 1248 .
- the data file 1204 may include several portions 1208 - 1242 representing different types of data. Each of these types of data may be associated with a user, as shown in portion 1208 .
- the user can be any person that uses or rides within the vehicle or conveyance 104 .
- the user may be identified in portion 1212 .
- the user may include a set of one or more features that may identify the user. These features may be the physical characteristics of the person that may be identified by facial recognition or some other type of system. In other situations, the user may provide a unique code to the vehicle control system 204 or provide some other type of data that allows the vehicle control system 204 to identify the user.
- the features or characteristics of the user are then stored in portion 1212 .
- Each user may have a different set of settings for each area 508 and/or each zone 512 within the vehicle 104 .
- each set of settings may also be associated with a predetermined zone 512 or area 508 .
- the zone 512 is stored in portion 1220
- the area 508 is stored in portion 1216 .
- One or more settings may be stored in portion 1224 .
- These settings 1224 may be the configurations of different functions within the vehicle 104 that are specified by or for that user.
- the settings 1224 may be the position of a seat, the position of a steering wheel, the position of accelerator and/or brake pedals, positions of mirrors, a heating/cooling setting, a radio setting, a cruise control setting, or some other type of setting associated with the vehicle 104 .
- the settings 1224 may also provide for how that heads-up display, dash, or console are configured for this particular user.
- Each setting 1224 may be associated with a different area 508 or zone 512 . Thus, there may be more settings 1224 for when the user is the driver and in zone A 512 A, 512 A, of area 1 , 508 A. However, there may be similar settings 1224 among the different zones 512 or areas 508 as shown in portion 1224 . For example, the heating or radio settings for the user may be similar in every zone 512 .
- Health data 1228 may include any type of physical characteristic associated with the user. For example, a heart rate, a blood pressure, a temperature, or other types of heath data may be obtained and stored in portion 1228 .
- the user may have this health data tracked over a period of time to allow for statistical analysis of the user's health while operating the vehicle 104 . In this way, if some function of the user's health deviates from a norm (e.g., a baseline measurement, average measurements taken over time, and the like), the vehicle 104 may be able to determine there is a problem with the person and react to that data.
- a norm e.g., a baseline measurement, average measurements taken over time, and the like
- One or more gestures may be stored in portion 1232 .
- the gestures used and described in conjunction FIG. 11A through 11K may be configurable. These gestures may be determined or created by the user and stored in portion 1132 .
- a user may have different gestures for each zone 512 or area 508 within the vehicle. The gestures that do certain things while driving may do other things while in a different area 508 of the vehicle 104 .
- the user may use a first set of gestures while driving and a second set while a passenger.
- one or more users may share gestures as shown in portion 1232 .
- Each driver may have a common set of gestures that they use in zone A 512 A, 512 A.
- Each of these gestures may be determined or captured and then stored with their characteristics (e.g., vector, position of gesture, etc.) in portion 1232 .
- Safety parameters 1236 may be common operating characteristics for this driver/passenger or for all drivers/passengers that if deviated from may determine there is a problem with the driver/passenger or the vehicle 104 . For example, a certain route may be taken repeatedly and an average speed or mean speed may be determined. If the mean speed deviates by some number of standard deviations, a problem with the vehicle 104 or the user may be determined. In another example, the health characteristics or driving experience of the user may be determined.
- the vehicle control system 204 may determine that the safety parameter includes the users face or head being within this certain portion of the vehicle interior space. If the user's head deviates from that interior space for some amount of time, the vehicle control system 204 can determine that something is wrong with the driver and change the function or operation of the vehicle 104 to assist the driver. This may happen, for example, when a user falls asleep at the wheel.
- the vehicle control system 204 can determine that the driver has fallen asleep and may take control of the operation of the vehicle 204 and the automobile controller 8104 may steer the vehicle 204 to the side of the road. In other examples, if the user's reaction time is too slow or some other safety parameter is not nominal, the vehicle control system 204 may determine that the user is inebriated or having some other medical problem. The vehicle control system 204 may then assume control of the vehicle to ensure that the driver is safe.
- Information corresponding to a user and/or a user profile may be stored in the profile information portion 1238 .
- the profile information 1238 may include data relating to at least one of current data, historical data, a user preference, user habit, user routine, observation, location data (e.g., programmed and/or requested destinations, locations of parking, routes traveled, average driving time, etc.), social media connections, contacts, brand recognition (e.g., determined via one or more sensors associated with the vehicle 104 , a device 212 , 248 , etc.), audible recording data, text data, email data, political affiliation, preferred retail locations/sites (e.g., physical locations, web-based locations, etc.), recent purchases, behavior associated with the aforementioned data, and the like.
- the data in the profile information portion 1238 may be stored in one or more of the data structures 1200 provided herein. As can be appreciated, these one or more data structures may be stored in one or more memory locations. Examples of various memory locations are described in conjunction with FIG. 2 .
- One or more additional data fields may be stored in the linked data portion 1242 as data and/or locations of data.
- the linked data 1242 may include at least one of pointers, addresses, location identification, data source information, and other information corresponding to additional data associated with the data structure 1200 .
- the linked data portion 1242 may refer to data stored outside of a particular data structure 1200 .
- the linked data portion 1242 may include a link/locator to the external data. Continuing this example, the link/locator may be resolved (e.g., via one or more of the methods and/or systems provided herein, etc.) to access the data stored outside of the data structure 1200 .
- the linked data portion 1242 may include information configured to link the data objects 1204 to other data files or data objects 1250 , 1270 , 1280 .
- the data object 1204 relating to a user may be linked to at least one of a device data object 1250 , a vehicle system data object 1270 , and a vehicle data object 1280 , to name a few.
- the data file 1250 may include several portions 1216 - 1262 representing different types of data. Each of these types of data may be associated with a device, as shown in portion 1252 .
- the device may be any device that is associated with the vehicle 104 .
- a device may be associated with a vehicle 104 when that device is physically located within the interior space 108 of the vehicle 104 .
- a device may be associated with a vehicle 104 when the device registers with the vehicle 104 .
- Registration may include pairing the device with the vehicle 104 and/or one or more of the vehicle systems (e.g., as provided in FIG. 3 ). In some cases, the registration of a device with a vehicle 104 may be performed manually and/or automatically.
- An example of automatic registration may include detecting, via one or more of the vehicle systems, that a device is inside the vehicle 104 . Upon detecting that the device is inside the vehicle 104 , the vehicle system may identify the device and determine whether the device is or should be registered. Registration may be performed outside of a vehicle 104 via providing a unique code to the vehicle 104 and/or at least one of the vehicle systems.
- the device may be identified in portion 1256 .
- the device identification may be based on the hardware associated with the device (e.g., Media Access Control (MAC) address, Burned-In Address (BIA), Ethernet Hardware Address (EHA), physical address, hardware address, and the like).
- MAC Media Access Control
- BIOS Burned-In Address
- EHA Ethernet Hardware Address
- a device may be associated with one or more users.
- a tablet and/or graphical user interface (GUI) associated with the vehicle 104 may be used by multiple members of a family.
- the GUI may be located in a particular area 508 and/or zone 512 of the vehicle 104 .
- the device may include various settings, features, priorities, capabilities, and the like, based on an identification of the family member.
- the user may be identified in portion 1254 .
- the user identification portion 1254 may include a set of one or more features that may identify a particular user.
- These features may be the physical characteristics of the person that may be identified by facial recognition, or some other type of system, associated with the device and/or the vehicle 104 .
- the user may provide a unique code to the device, or provide some other type of data, that allows the device to identify the user.
- the features or characteristics of the user are then stored in portion 1254 .
- Each device identified in the device identification portion 1256 may have a different set of settings for each area 508 and/or each zone 512 , and/or each user of the device. Thus, each set of settings may also be associated with a predetermined zone 512 , area 508 , and/or user.
- the zone 512 is stored in portion 1220 and the area 508 is stored in portion 1216 .
- One or more settings may be stored in portion 1224 . These settings 1224 may be similar and/or identical to those previously described. Further, the settings 1224 may also provide for how a device is configured for a particular user. Each setting 1224 may be associated with a different area 508 or zone 512 . Thus, there may be more restrictive settings 1224 (e.g., restricted multimedia, texting, limited access to device functions, and the like) for the device when the user is the driver and in zone A 512 A, 512 A, of area 1 , 508 A.
- restrictive settings 1224 e.g., restricted multimedia, texting, limited access to device functions, and the like
- the settings 1224 may provide unrestricted access to one or more features of the device (e.g., allowing texting, multimedia, etc.).
- the capabilities of a device may be stored in portion 1258 .
- Examples of device capabilities may include, but are not limited to, a communications ability (e.g., via wireless network, EDGE, 3G, 4G, LTE, wired, Bluetooth®, Near Field Communications (NFC), Infrared (IR), etc.), hardware associated with the device (e.g., cameras, gyroscopes, accelerometers, touch interface, processor, memory, display, etc.), software (e.g., installed, available, revision, release date, etc.), firmware (e.g., type, revision, etc.), operating system, system status, and the like.
- the various capabilities associated with a device may be controlled by one or more of the vehicle systems provided herein. Among other things, this control allows the vehicle 104 to leverage the power and features of various devices to collect, transmit, and/or receive data.
- One or more priorities may be stored in portion 1260 .
- the priority may correspond to a value, or combination of values, configured to determine how a device interacts with the vehicle 104 and/or its various systems.
- the priority may be based on a location of the device (e.g., as stored in portions 1216 , 1220 ).
- a default priority can be associated with each area 508 and/or zone 512 of a vehicle 104 .
- the default priority associated with a device found in zone 1 512 A of area 1 508 A (e.g., a vehicle operator position) may be set higher than an (or the highest of any) alternative zone 512 or area 508 of the vehicle 104 .
- the vehicle 104 may determine that, although other devices are found in the vehicle, the device, having the highest priority, controls features associated with the vehicle 104 . These features may include vehicle control features, critical and/or non-critical systems, communications, and the like. Additionally or alternatively, the priority may be based on a particular user associated with the device. Optionally, the priority may be used to determine which device will control a particular signal in the event of a conflict.
- Registration data may be stored in portion 1262 .
- data related to the registration may be stored in the registration data portion 1262 .
- Such data may include, but is not limited to, registration information, registration codes, initial registration time, expiration of registration, registration timers, and the like.
- one or more systems of the vehicle 104 may refer to the registration data portion 1262 to determine whether a device has been previously registered with the vehicle 104 .
- FIG. 12B User 4 of Device 2 has not been registered.
- the registration data field 1262 for this user, may be empty, contain a null value, or other information/indication that there is no current registration information associated with the user.
- the data structure 1200 may include a profile information portion 1238 and/or a linked data portion 1242 .
- the profile information portion 1238 and/or the linked data portion 1242 may include different information from that described above, it should be appreciated that the portions 1238 , 1242 may be similar, or identical, to those as previously disclosed.
- the data file 1270 may include several portions 1216 - 1279 representing different types of data. Each of these types of data may be associated with a vehicle system, as shown in portion 1272 .
- the vehicle systems may be any system and/or subsystem that is associated with the vehicle 104 . Examples of various systems are described in conjunction with FIG. 3 and other related figures (e.g., systems 324 - 352 , etc.).
- One example of a system associated with the vehicle 104 is the vehicle control system 204 .
- Other systems may include communications subsystems 344 , vehicle subsystems 328 , and media subsystems 348 , to name a few. It should be appreciated that the various systems may be associated with the interior space 108 and/or the exterior of the vehicle 104 .
- Each system may include one or more components.
- the components may be identified in portion 1274 . Identification of the one or more components may be based on hardware associated with the component. This identification may include hardware addresses similar to those described in conjunction with the devices of FIG. 12B .
- a component can be identified by one or more signals sent via the component. Such signals may include an Internet Protocol (IP), or similar, address as part of the signal.
- IP Internet Protocol
- the signal may identify the component sending the signal via one or more of a header, a footer, a payload, and/or an identifier associated with the signal (e.g., a packet of a signal, etc.).
- Each system and/or component may include priority type information in portion 1276 .
- the priority type information stored in portion 1276 may be used by the various methods and systems provided herein to differentiate between critical and non-critical systems.
- critical systems may correspond to those systems used to control the vehicle 104 , such as, steering control, engine control, throttle control, braking control, and/or navigation informational control (e.g., speed measurement, fuel measurement, etc.)
- Non-critical systems may include other systems that are not directly related to the control of the vehicle 104 .
- non-critical systems may include media presentation, wireless communications, comfort settings systems (e.g., climate control, seat position, seat warmers, etc.), and the like.
- the priority type of a system may change (e.g., from critical to non-critical, from non-critical to critical, etc.) depending on the scenario.
- the interior climate control system may be classified as a non-critical system at a first point in time, it may be subsequently classified as a critical system when a temperature inside/outside of the vehicle 104 is measured at a dangerous level (e.g., sub-zero Fahrenheit, greater than 90-degrees Fahrenheit, etc.).
- the priority type may be associated with temperature conditions, air quality, times of the day, condition of the vehicle 104 , and the like.
- Each system may be associated with a particular area 508 and/or zone 512 of a vehicle 104 .
- the location of a system may be used to assess a state of the system and/or provide how the system interacts with one or more users of the vehicle 104 .
- each system may have a different set of settings for each area 508 and/or each zone 512 , and/or each user of the system.
- each set of settings may also be associated with a predetermined zone 512 , area 508 , system, and/or user.
- the zone 512 is stored in portion 1220 and the area 508 is stored in portion 1216 .
- One or more settings may be stored in portion 1224 . These settings 1224 may be similar and/or identical to those previously described. Further, the settings 1224 may also provide for how a system is configured for a particular user. Each setting 1224 may be associated with a different area 508 or zone 512 . For instance, a climate control system may be associated with more than one area 508 and/or zone 512 . As such, a first user seated in zone 1 512 A of area 1 508 A may store settings related to the climate control of that zone 512 A that are different from other users and/or zones 512 of the vehicle 104 . Optionally, the settings may not be dependent on a user. For instance, specific areas 508 and/or zones 512 of a vehicle 104 may include different, default, or the same settings based on the information stored in portion 1224 .
- the various systems and/or components may be able to obtain or track health status data of the systems and/or components in portion 1278 .
- the health status 1278 may include any type of information related to a state of the systems. For instance, an operational condition, manufacturing date, update status, revision information, time in operation, fault status, state of damage detected, inaccurate data reporting, and other types of component/system health status data may be obtained and stored in portion 1278 .
- Each component and/or system may be configured to communicate with users, systems, servers, vehicles, third parties, and/or other endpoints via one or more communication type.
- At least one communication ability and/or type associated with a system may be stored in the communication type portion 1279 .
- the communication types contained in this portion 1279 may be ordered in a preferential order of communication types.
- a system may be configured to preferably communicate via a wired communication protocol over one or more wired communication channels (e.g., due to information transfer speeds, reliability, and the like). However, in this instance, if the one or more wired communication channels fail, the system may transfer information via an alternative communication protocol and channel (e.g., a wireless communication protocol and wireless communication channel, etc.).
- the methods and systems provided herein may take advantage of the information stored in the communication type portion 1279 to open available communication channels in the event of a communication channel failure, listen on other ports for information transmitted from the systems, provide a reliability rating based on the number of redundant communication types for each component, and more.
- a component or system may be restricted from communicating via a particular communication type (e.g., based on rules, traffic, critical/non-critical priority type, and the like).
- the component or system may be forced by the vehicle control system 204 to use an alternate communication type where available, cease communications, or store communications for later transfer.
- the data structure 1200 may include a profile information portion 1238 and/or a linked data portion 1242 .
- the profile information portion 1238 and/or the linked data portion 1242 may include different information from that described above, it should be appreciated that the portions 1238 , 1242 may be similar, or identical, to those as previously disclosed.
- the data file 1280 may include several portions 1216 - 1286 representing different types of data. Each of these types of data may be associated with a vehicle, as shown in portion 1282 .
- the vehicle 104 can be any vehicle or conveyance 104 as provided herein.
- the vehicle 104 may be identified in portion 1282 . Additionally or alternatively, the vehicle 104 may be identified by one or more systems and/or subsystems.
- the various systems of a vehicle 104 may be identified in portion 1284 . For example, various features or characteristics of the vehicle 104 and/or its systems may be stored in portion 1284 .
- the vehicle 104 may be identified via a unique code or some other type of data that allows the vehicle 104 to be identified.
- Each system may be associated with a particular area 508 and/or zone 512 of a vehicle 104 .
- the location of a system may be used to assess a state of the system and/or provide how the system interacts with one or more users of the vehicle 104 .
- each system may have a different set of settings for each area 508 and/or each zone 512 , and/or each user of the system.
- each set of settings may also be associated with a predetermined zone 512 , area 508 , system, and/or user.
- the zone 512 is stored in portion 1220 and the area 508 is stored in portion 1216 .
- One or more settings may be stored in portion 1224 . These settings 1224 may be similar and/or identical to those previously described. Further, the settings 1224 may also provide for how a vehicle and/or its systems are configured for one or more users. Each setting 1224 may be associated with a different area 508 or zone 512 . Optionally, the settings may not be dependent on a particular user. For instance, specific areas 508 and/or zones 512 of a vehicle 104 may include different, default, or the same settings based on the information stored in portion 1224 .
- the various systems and/or components may be able to obtain or track health status data of the systems and/or components in portion 1278 .
- the health status 1278 may include any type of information related to a state of the systems. For instance, an operational condition, manufacturing date, update status, revision information, time in operation, fault status, state of damage detected, inaccurate data reporting, and other types of component/system health status data may be obtained and stored in portion 1278 .
- the warnings data 1286 may include warning generated by the vehicle 104 , systems of the vehicle 104 , manufacturer of the vehicle, federal agency, third party, and/or a user associated with the vehicle. For example, several components of the vehicle may provide health status information (e.g., stored in portion 1278 ) that, when considered together, may suggest that the vehicle 104 has suffered some type of damage and/or failure. Recognition of this damage and/or failure may be stored in the warnings data portion 1286 .
- the data in portion 1286 may be communicated to one or more parties (e.g., a manufacturer, maintenance facility, user, etc.).
- a manufacturer may issue a recall notification for a specific vehicle 104 , system of a vehicle 104 , and/or a component of a vehicle 104 . It is anticipated that the recall notification may be stored in the warning data field 1286 . Continuing this example, the recall notification may then be communicated to the user of the vehicle 104 notifying the user of the recall issued by the manufacturer.
- the data structure 1200 may include a profile information portion 1238 and/or a linked data portion 1242 .
- the profile information portion 1238 and/or the linked data portion 1242 may include different information from that described above, it should be appreciated that the portions 1238 , 1242 may be similar, or identical, to those as previously disclosed.
- FIG. 13 An embodiment of a method 1300 for storing settings for a user 216 associated with vehicle 104 is shown in FIG. 13 . While a general order for the steps of the method 1300 is shown in FIG. 13 , the method 1300 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 13 . Generally, the method 1300 starts with a start operation 1304 and ends with an end operation 1336 . The method 1300 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, the method 1300 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-12 .
- a person may enter the vehicle space 108 .
- One or more sensors 242 may then identify that a person is sitting within the vehicle 104 , in step 1308 .
- sensors 242 in a seat may determine that some new amount of weight has been registered. The amount of weight may fall within predetermined parameters (e.g., over a threshold, in a specific range, etc.). This weight may then be determined to be a person by one or more optical or other sensors 242 .
- the vehicle control system 204 may then determine that a person is in a certain zone 512 or area 508 .
- the sensors 242 may send signals to the vehicle controls system 204 that an event has occurred. This information may be sent to the vehicle control system processor 304 to determine the zone 512 and area 508 where the event occurred. Further, the vehicle control system 204 may then identify the person, in step 1312 .
- the vehicle control system 204 can receive the information from the sensors 242 and use that information to search the database 1200 that may be stored within the system data 208 .
- the sensor data may be compared to ID characteristics 1212 to determine if the person has already been identified.
- the vehicle control system 204 may also send the characteristic data from the sensors to the communication network 224 to a server 228 to compare the sensor data to stored data 232 that may be stored in a cloud system.
- the person's features can be compared to stored features 1212 to determine if the person in the vehicle 104 can be identified.
- step 1316 the method 1300 proceeds YES to step 1316 where that person may be identified.
- the information associated with that person 1240 may be retrieved and provided to the vehicle control system 204 for further action.
- the method 1300 proceeds NO to step 1320 .
- the vehicle control system 204 using an application, may create a new record in table 1200 for the user. This new record may store a user identifier and their characteristics 1212 . It may also store the area 508 and zone 512 in data portions 1216 and 1220 . The new record may then be capable of receiving new settings data for this particular user. In this way, the vehicle 104 can automatically identify or characterize a person so that settings may be established for the person in the vehicle 104 .
- the input module 312 may then determine if settings are to be stored, in step 1324 .
- Settings might be any configuration of the vehicle 104 that may be associated with the user. The determination may be made after receiving a user input from the user. For example, the user may make a selection on a touch sensitive display indicating that settings currently made are to be stored. In other situations, a period of time may elapse after the user has made a configuration. After determining that the user is finished making changes to the settings, based on the length of the period of time since the setting was established, the vehicle control system 204 can save the setting. Thus, the vehicle control system 204 can make settings automatically based on reaching a steady state for settings for user.
- the vehicle control system 204 may then store the settings for the person, in step 1328 .
- the user interaction subsystem 332 can make a new entry for the user 1208 in data structure 1204 .
- the new entry may be either a new user or a new settings listed in 1224 .
- the settings may be stored based on the area 508 and zone 512 . As explained previously, the settings can be any kind of configuration of the vehicle 104 that may be associated with the user in that area 508 and the zone 512 .
- the settings may also be stored in cloud storage, in step 1332 .
- the vehicle control system 204 can send the new settings to the server 228 to be stored in storage 232 .
- these new settings may be ported to other vehicles for the user.
- the settings in storage system 232 may be retrieved, if local storage does not include the settings in storage system 208 .
- the settings may be stored in profile data 252 .
- the profile data 252 may be associated with one or more devices 212 , 248 , servers 228 , vehicle control systems 204 , and the like.
- the settings in profile data 252 may be retrieved in response to conditions. For instance, the settings may be retrieved from at least one source having the profile data if local storage does not include the settings in storage system 208 .
- a user 216 may wish to transfer settings stored in profile data 252 to the system data 208 . In any event, the retrieval and transfer of settings may be performed automatically via one or more devices 204 , 212 , 248 , associated with the vehicle 104 .
- FIG. 14 An embodiment of a method 1400 to configure the vehicle 104 based on stored settings is shown in FIG. 14 .
- a general order for the steps of the method 1400 is shown in FIG. 14 .
- the method 1400 starts with a start operation 1404 and ends with an end operation 1428 .
- the method 1400 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 14 .
- the method 1400 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1400 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-13 .
- the vehicle control system 204 can determine if a person is in a zone 512 or area 508 , in step 1408 . This determination may be made by receiving data from one or more sensors 242 .
- the vehicle 104 can use facial recognition, weight sensors, heat sensors, or other sensors to determine whether a person is occupying a certain zone 512 .
- the vehicle control system 204 can identify the person, in step 1412 .
- the vehicle control system 204 can obtain characteristics for the user currently occupying the zone 512 and compare those characteristics to the identifying features in portion 1212 of data structure 1204 .
- the settings in portion 1224 may be retrieved by identifying the correct zone 512 , area 508 , and characteristics for the user.
- the vehicle control system 204 can first determine if there are settings associated with the identified person for that zone 512 and/or area 508 , in step 1416 . After identifying the user by matching characteristics with the features in portion 1212 , the vehicle control system 204 can determine if there are settings for the user for the area 1216 and zone 1220 the user currently occupies. If there are settings, then the vehicle control system 204 can make the determination that there are settings in portion 1224 , and the vehicle control system 204 may then read and retrieve those settings, in step 1420 . The settings may be then used to configure or react to the presence of the user, in step 1424 .
- these settings may be obtained to change the configuration of the vehicle 104 , for example, how the position of the seats or mirrors are set, how the dash, console, or heads up display is configured, how the heat or cooling is configured, how the radio is configured, or how other different configurations are made.
- Embodiments of a method 1500 for storing settings in cloud storage are shown in FIG. 15 .
- a general order for the steps of the method 1500 is shown in FIG. 15 .
- the method 1500 starts with a start operation 1504 and ends with an end operation 1540 .
- the method 1500 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 15 .
- the method 1500 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1500 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-14 .
- the vehicle control system 204 can determine if a person is in a zone 512 or area 508 , in step 1508 .
- the vehicle control system 204 can receive vehicle sensor data from vehicle sensors 242 that show a person has occupied a zone 512 or an area 508 of the vehicle 104 .
- the vehicle control system 204 can determine characteristics of the person, in step 1512 . These characteristics are compared to the features in portion 1212 of the data structure 1204 . From this comparison, the vehicle control system 204 can determine if the person is identified within the data structure 1204 , in step 1516 . If there is a comparison and the person can be identified, the method 1500 proceeds YES to step 1520 . However, if the person cannot be identified, the method 1500 proceeds NO, to step 1524 .
- the person is identified in portion 1208 by the successful comparison of the characteristics and the features. It should be noted that there may be a degree of variability between the characteristics and the features in portion 1212 . Thus, the comparison may not be an exact comparison but may use methods known in the art to make a statistically significant comparison between the characteristics received from the sensors 242 and the features stored in portion 1212 .
- the characteristics received from sensors 242 are used to characterize the person. In this way, the received characteristics may be used as an ID, in portion 1212 , for a new entry for a new user in portion 1208 .
- the user may make one or more settings for the vehicle 104 .
- the vehicle control system 204 may determine if the settings are to be stored, in step 1528 . If the settings are to be stored, the method 1500 proceeds YES to step 1536 . If the settings are not to be stored or if there are no settings to be stored, the method 1500 proceeds NO to step 1532 . In step 1532 , the vehicle control system 204 can retrieve the settings in the portion 1224 of the data structure 1204 . Retrieval of the settings may be as described in conjunction with FIG. 14 . If settings are to be stored, the vehicle control system 204 can send those settings to server 228 to be stored in data storage 232 , in step 1536 . Data storage 232 acts as cloud storage that can be used to retrieve information on the settings from other vehicles or from other sources. Thus, the cloud storage 232 allows for permanent and more robust storage of user preferences for the settings of the vehicle 104 .
- FIG. 16 An embodiment of a method 1600 for storing gestures associated with the user is shown in FIG. 16 .
- a general order for the steps of the method 1600 is shown in FIG. 16 .
- the method 1600 starts with a start operation 1604 and ends with an end operation 1640 .
- the method 1600 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 16 .
- the method 1600 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1600 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-15 .
- Vehicle control system 204 may receive sensor data from sensors 242 to determine a person is occupying a zone 512 in an area 508 of the vehicle 104 , in step 1608 .
- the sensor data may provide characteristics for the person, in step 1612 .
- the vehicle control system 204 may then use the characteristics to determine if the person can be identified, in step 1616 .
- the vehicle control system 204 may compare the characteristics to the features in portion 1212 for the people having been recognized and having data associated therewith. If a comparison is made between the characteristics and the features in portion 1212 , the person can be identified, and the method 1600 proceeds YES to step 1620 . If there is no comparison, the method 1600 may proceed NO to step 1624 .
- the person may be identified by the vehicle control system 204 .
- the person's features and associated data record 1240 may be determined and the user identified in portion 1208 . If the person is not identified, the vehicle control system 204 can characterize the person in step 1624 by establishing a new record in data structure 1204 using the characteristics, received from the sensors 242 , for the features in portion 1212 .
- the vehicle control system 204 may determine if gestures are to be stored and associated with the user, in step 1628 .
- the vehicle control system 204 may receive user input on a touch sensitive display or some other type of gesture capture region which acknowledges that the user wishes to store one or more gestures.
- the user may create their own gestures such as those described in conjunction with FIGS. 11A-11K .
- These gestures may then be characterized and stored in data structure 1204 . If there are gestures to be stored, the method 1600 proceeds YES to step 1636 . If gestures are not to be stored the method 1600 may proceed NO to step 1632 .
- the vehicle control system 204 can retrieve current gestures from portion 1232 , which are associated with user 1240 . These gestures may be used then to configure how the vehicle 104 will react if a gesture is received. If gestures are to be stored, the vehicle control system 204 may store characteristics, in step 1636 , as received from sensor 242 or from one more user interface inputs. These characteristics may then be used to create the stored gestures 1232 , in data structure 1204 . The characteristics may include what the gesture looks like or appears and also what affect the gesture should have. This information may then be used to change the configuration or operation of the vehicle 104 based on the gesture if it is received at a later time.
- An embodiment of a method 1700 for receiving a gesture and configuring the vehicle 104 based on the gesture may be as provided in FIG. 17 .
- a general order for the steps of the method 1700 is shown in FIG. 17 .
- the method 1700 starts with a start operation 1704 and ends with an end operation 1728 .
- the method 1700 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 17 .
- the method 1700 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1700 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-16 .
- a vehicle control system 204 can receive sensor data from vehicle sensors 242 .
- the vehicle sensor data can be used by the vehicle control system 204 to determine that a person is in a zone 512 or area 508 , in step 1708 .
- the vehicle sensor data may then be used to compare against feature characteristics 1212 to identify a person, in step 1712 .
- the vehicle control system 204 thereinafter may receive a gesture, in step 1716 .
- the gesture may be perceived by vehicle sensors 242 or received in a gesture capture region.
- the gesture may be as described in conjunction with FIGS. 11A-11K .
- the vehicle control system 204 can compare the gesture to gesture characteristics in portion 1232 , in step 1720 .
- the comparison may be made so that a statistically significant coorelation between the sensor data or gesture data and the gesture characteristic 1232 is made.
- the vehicle control system 204 can configure the vehicle 104 and/or react to the gesture, in step 1724 .
- the configuration or reaction to the gesture may be as prescribed in the gesture characteristic 1232 .
- FIG. 18 An embodiment of a method 1800 for storing health data may be as shown in FIG. 18 .
- a general order for the steps of the method 1800 is shown in FIG. 18 .
- the method 1800 starts with a start operation 1804 and ends with an end operation 1844 .
- the method 1800 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 18 .
- the method 1800 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1800 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-17 .
- Vehicle control system 204 can receive sensor data from sensors 242 .
- the sensor data may be used to determine that a person is in a zone 512 or area 508 , in step 1808 .
- the sensor data may then be used to determine characteristics of the person, in step 1812 .
- the vehicle control system 204 can determine if a person may be identified in data structure 1204 , in step 1816 . If it is determined that the person can be identified in step 1816 , the method 1800 proceeds YES to step 1820 . If the person cannot be identified, the method 1800 proceeds NO to step 1824 .
- a person may be identified by matching the characteristics of a person from the sensor data to the features shown in portion 1212 .
- the person may be identified in portion 1208 , in step 1820 . However, if the person is not identified in portion 1208 , the vehicle control system 204 can characterize the person using the vehicle sensor data, in step 1824 . In this way, the vehicle control system 204 can create a new record for a new user in data structure 1204 .
- the vehicle control system 204 may receive health and/or safety data from the vehicle sensors 242 , in step 1828 .
- the vehicle control system 204 can determine if the health or safety data is to be stored, in step 1832 . The determination is made as to whether or not there is sufficient health data or safety parameters, in portion 1228 and 1236 , to provide a reasonable baseline data pattern for the user 1240 . If there is data to be received and stored, the vehicle control system 204 can store the data for the person in portions 1228 and 1236 of the data structure 1204 , in step 1832 .
- the vehicle control system 204 may then wait a period of time, in step 1836 .
- the period of time may be any amount of time from seconds to minutes to days.
- the vehicle control system 204 can receive new data from vehicle sensors 242 , in step 1828 .
- the vehicle control system 204 can receive data periodically and update or continue to refine the health data and safety parameters in data structure 1204 .
- the vehicle control system 204 may optionally store the health and safety data in cloud storage 232 by sending it through the communication network 224 to the server 228 , in step 1840 .
- FIG. 19 An embodiment of a method 1900 for monitoring the health of a user may be as shown in FIG. 19 .
- a general order for the steps of the method 1900 is shown in FIG. 19 .
- the method 1900 starts with a start operation 1904 and ends with an end operation 1928 .
- the method 1900 can include more or fewer steps or can arrange the order of the steps differently than those shown in FIG. 19 .
- the method 1900 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium.
- the method 1900 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction with FIGS. 1-18 .
- the vehicle control system 204 can receive health data from sensors 242 .
- the health data may be received in step 1908 .
- the vehicle control system 204 may then compare the received health data to stored health parameters in portion 1228 or portion 1236 , in step 1912 .
- the comparison may check if there is statistically significant separation or disagreement between the received health data and the stored health data.
- the vehicle control system 204 can make a health comparison of the user based on a baseline of health data previously stored.
- a statistically significant comparison may include determining if there are any parameters more than three standard deviations from the average or norm, any parameter that is increasing or decreasing over a period of eight different measurements, a measurement that is more than two standard deviations from the norm more than three measurements consecutively, or other types of statistical comparisons.
- the vehicle control system 204 can determine whether the health data is within acceptable limits, in step 1916 . If the health data is within acceptable limits, the method 1900 proceeds YES back to receiving new health data, in step 1908 . In this way, the health data is periodically or continually monitored to ensure that the driver is in a healthy state and able to operate the vehicle. If the health data is not within acceptable parameters, the method 1900 may proceed NO to step 1924 where the vehicle control system 204 may react to the change in the health data.
- the reaction may include any measure to provide for the safety of the user, such as stopping the vehicle, beginning to drive the vehicle, driving the vehicle to a new location, such as a hospital, waking the driver with an alarm or other noise, or performing some other function that may help maintain the health or safety of the user.
- the health data received may be a reaction from the driver.
- the driver may call for help or ask the vehicle for assistance.
- the driver or passenger may say that they are having a medical emergency and ask the car to perform some function to help.
- the function to help may include driving the person to a hospital or stopping the car and calling for emergency assistance.
- FIG. 20 illustrates optional componentry that can be utilized with the system 200 .
- the optional componentry includes a profile subsystem 2004 , an edit/modification module 2008 , a verification module 2012 , a shopping module 2016 , an encryption module 2020 , a template module 2024 , a global standard template 2028 , a profile import/export module 2032 , a communications device 212 , such as a smart phone, tablet, or other device, one or more other communication devices 2044 , one or more other vehicles 2048 , one or more other entities/servers 2052 , a profile repository 2056 , a purchased item/environmental item detection module 2036 , an advertising module 2040 , and profile data stored in profile database 252 , all connected by bus 356 .
- a communications device 212 such as a smart phone, tablet, or other device, one or more other communication devices 2044 , one or more other vehicles 2048 , one or more other entities/servers 2052 , a profile repository 2056 , a purchased
- one or more user profiles can be stored in the profile database 252 .
- a user profile may be accessed and/or modified by a user providing authorization through a verification system in cooperation with the verification module 2012 .
- a verification module 212 includes one or more of a biometric recognition module, a gesture recognition module, a feature recognition module, a device identification database and a device identification authentication module.
- An authorization and verification performed by the verification module 2012 , cooperating with the profile subsystem 2004 may also optionally rely on verifying a user's biometric information in addition to a recognized identity of a specific device, e.g., smartphone, electronic user device, or in general any device associated with the user.
- a specific device e.g., smartphone, electronic user device, or in general any device associated with the user.
- the user profiles are portable and can follow the user from vehicle to vehicle. As such, there may be a need to allow the user to edit/modify their profile through use of the edit/modification module 2008 .
- the edit/modification module can include an appropriate user interface, such as a graphical user interface, that can be provided on one or more of a vehicle display, a communications device, such as a smart phone, a personal computer, a tablet computer, or in general any device capable of displaying an interface that allows for a user to access, and edit, or modify their profile data.
- user profiles may be generated based on data gathered from one or more of the vehicle preferences, such as seat settings, HVAC settings, multimedia settings, navigation settings, entertainment preferences, recorded settings, geographical location information, such as that provided by a satellite positioning system, mobile device information, such as mobile device, electronic addresses, internet browsing history and content, application store selections, user settings, enabled and disabled vehicle features, and the like, private information, such as user information from a social network, user presence information, user business accounts, and the like, secure data, biometric information, audio information from onboard microphones, video information from onboard cameras, internet browsing history and browsed content using an onboard computer and with the local area network enabled by the vehicle, an electronic map correlating geographic location information with a map feature, such as a vendor's storefront, roadway name, city name, and the like, and so forth.
- vehicle preferences such as seat settings, HVAC settings, multimedia settings, navigation settings, entertainment preferences, recorded settings, geographical location information, such as that provided by a satellite positioning system
- mobile device information such as mobile device
- electronic addresses internet browsing history and
- the user profile can also optionally generally store user setting preferences with respect to a selected object, such as the vehicle, user purchasing preferences, such as vendor name, location, purchased items, and the like, user driving behavior and preferences, user behavior with respect to the selected object, user socioeconomic status, user residence and business addresses, user communication devices and electronic addresses thereof, user biometric information and other user identification information, user family members and, for each family member, any one or more of the above listed information.
- the user profile data may be stored as part of a template, in cooperation with a template module 2024 .
- the user template may be stored locally, such as at the vehicle, at a mobile device, at a remote location(s), or the like.
- user profile data may be stored remotely, such as at a central server, on the cloud, or combinations thereof, such as on a communication device 212 , at another entity/server 2052 , on another vehicle 2048 , or on another communication device or smart phone 2044 .
- the profiles may be stored on the cloud, on a phone, on a vehicle, on a local storage memory, in a key fob, in a rental vehicle, or associated with another profile, such as a user's travel profile.
- the user profile may be all or partially encrypted.
- This user profile may be accessed/modified via a user provided authorization through the verification module 2012 .
- this can include employing at least one of a biometric, gesture recognition, feature recognition, device identification recognition, or other authentication technique(s).
- the authorization may rely on verifying the user's biometric information in addition to a recognized identity of a specific device.
- a global standard template in cooperation with the template module 2024 and the global standard template 2028 , a global standard template may be created.
- the global standard template can be common among vehicles, manufacturers, company users, family members, or the like.
- a particular vehicle manufacturer may determine to build a global standard template to provide a reliable framework for the presentation of vehicle features and/or providing certain vehicle functionality.
- the global standard template may be used in an advertising approach, to refine GPS and/or mapping route selection, present advertisements, offer savings, and communicate with the user.
- a business may continually rent vehicles from a rental agency for its traveling employs. As such, the business may wish to build a global standard template that is always presented to their employees to ensure consistency and reliability of presented vehicle features.
- the global standard template may be adopted by a user.
- the user may use a global standard template and build the user's personal preferences, settings, and other user profile information from this “base” global standard template stored in the global standard template database 2028 .
- the user can access this global standard template and then edit/modify this template to personalize it with their own personal settings and user information.
- the global standard template may be provided as a starting point, upon which the user may build to create a truly personalized user profile which then can be stored as profile data 252 .
- the authentication performed by the verification module 2012 can be based on the exchange of the security keys between the user, the vehicle, and/or even a server(s).
- This type of encryption may be cryptographically asymmetric in nature, such as private and public keys.
- a user may maintain a private key on a mobile device, and a public key may be provided by a vehicle, such a rental vehicle.
- the user may maintain the private key on the mobile device, and the private key may be provided by the vehicle, such as a rental vehicle.
- Other embodiments may use a private key on the communication device and a private key provided by the vehicle and/or a public key on the phone and a public key provided by the vehicle.
- the exchange of keys may be facilitated via a certified trusted authority, similar to a certificate of authority (CA).
- CA certificate of authority
- a biometric verification, or confirmation, of the user may be required prior to initiating the authentication process performed by the verification module 2012 .
- the first step of authentication may include identifying one or more biometric features of a user using any one or more of the sensors disclosed herein. Once the user is confirmed, the authentication may proceed to exchange security keys.
- Communications between a mobile device and a vehicle may be established via one or more of near field communications, RFID, Bluetooth®, or other communications protocol, whether it be proprietary or open source. Any of these communication protocols can be used to exchange profile data and/or verification/authentication information.
- the profile data may include a corresponding user interface or personality defined or configured by the user.
- the profile can be an animated character that follows the user from car-to-car, and from communication device-to-communication device.
- the profile can optionally be updated globally though interactions with the selected device (whether a vehicle or communication device) with, for example, cloud-based data storage storing the profile.
- the animated character can have the same appearance and voice characteristics as, for example, the user.
- the animated character can also provide the user with feedback and recommendations and receive user commands and requests, through one or more of tactile, audio and/or video processing techniques as discussed hereinafter.
- the user profiles are portable and can follow a user(s) from vehicle to vehicle.
- the profile data 252 can be passed through the profile import/export module 2032 to one or more other devices, such as device 212 , another communication device such as smart phone 204 , or another vehicle(s) 2048 , or to another entity, or to, for example, a cloud 2052 .
- the user profile can be accessed by any vehicle, and based on the position of a user in the vehicle, populate available settings in the vehicle. As discussed, the various settings can be different based on whether the user is the driver or a passenger, the position of the user in the vehicle, and/or other characteristics such as whether the user is of driving age, whether there are parental controls in place associated with the user profile, and the like. It is anticipated that the user profile may be constantly improved, updated and refined. As such, data may be constantly recorded to modify an existing user profile and stored as profile data 252 . In certain circumstances, a user may wish to cease recording data associated with a user profile and/or edit or alter the user profile to include or exclude or modify selected information.
- a user may turn off user template data recording. For instance, the user may wish to travel to Las Vegas for a bachelor/bachelorette party. Although the user may travel to numerous sites in and about Las Vegas, purchase many different goods and/or services, and even stay at one or more hotels/motels, the data may not be congruent with the user's typical behavior. Accordingly, the user may place the recording of data in the profile on “pause” such that the data acquired in Las Vegas may be restricted from being recorded by a user's selection and approval.
- pause which can be evoked by the edit/modification module 2008 , one or more of the shopping module 2016 , purchased items/environmental items detection module 2036 , advertising module 2040 , the profile data itself 252 to be placed in a “paused” state where the profile data 252 is not updated.
- the user could also specify if the profile subsystem 2004 is to query the user each time the system believes a profile update is to be performed. The user could then be provided the option, such a via a graphical user interface, on whether or not that particular update should be recorded in the profile data 252 .
- user profiles and the global standard template, such as 2028 can include, but are in no way limited to, the following data and/or information: vehicle settings and other user profile data that may be stored to a mobile device associated with the user, on the cloud, and/or a memory associated with the vehicle.
- This data can be portable, and in cooperation with the profile import/export module 2032 , be transferred from one vehicle to another, or from a vehicle to another device or storage location(s).
- Passenger information including but not limited to shopping characteristics, searched web pages, vehicle settings, such as climate controls, radio stations, window tint levels, color schemes, information presentation write outs, etcetera, can be saved to a passenger profile and similarly stored as profile data 252 .
- vehicle settings such as climate controls, radio stations, window tint levels, color schemes, information presentation write outs, etcetera
- profile data 252 can be saved to a passenger profile and similarly stored as profile data 252 .
- a global standard template can be provided 2028 that is specifically for a passenger who does not have a drivers license, and may not have some of the features, settings, and preferences that the global standard template for a user, who has a drivers license, may have.
- a user could edit/modify this template which has been stored as profile data 252 .
- this profile data could be portable and also stored and/or transferred to one or more other devices, such as device 212 , another smart phone 2044 , the cloud, or the like, as discussed.
- purchased items can be identified and their identification stored with the profile data 252 .
- the profile data 252 For example, utilizing one or more of audio, a camera, or other video input, RFID readers and tags, bar code readers, QR (Quick Response) code readers or the like, one or more purchased items could be determined and identified and the purchased item(s) (or other item/object placed in the vehicle) associated with the user and/or vehicle and stored in a profile data 252 .
- what a user is wearing can be recognized and stored as profile data 252 , as well as what a user has purchased, such as by observing that a fast food chain bag is in the car, a particular brand of coffee, as identified by reading a company logo, information from one or more shopping bags, etcetera, can all be analyzed and an assessment of the origin of the products determined. This can be then used by, for example, the advertising module 2040 as discussed hereinafter to determine an advertising scheme to present one or more advertisements to the user.
- this information can be detected using one or more of RFID, QR codes, bar codes, video analysis, camera analysis, or the like.
- the purchased item/environmental item detection module 2036 can detect a digital receipt associated with a mobile device, such as device 212 , and determined which purchases have been made therefrom. For example, interacting with one or more of a frequent fueler card, a loyalty card, a coffee shop chain mobile application, or the like, the purchased item/environmental item detection module 2036 can determine which purchases a user has made. This information could then optionally be stored with the profile data 252 . It is to be appreciated that the various sensors, cameras, readers, and the like, can also be included in a trunk of a vehicle/bed of a vehicle to facilitate the detection of one or more purchased items or other objects as discussed herein.
- GPS information can be used to assist with determining what the one or more purchased items/environmental item introduced into the vehicle are.
- This GPS information can similarly be stored in the profile data 252 such as where a user shops, which stores a user parks close to, which stores a user frequents, and the like.
- the user's travel path during a time period can be tracked and is correlated to where the user has shopped. This can be then used in conjunction with the techniques discussed above to further supplement the information in the profile data 252 with information such as where the user has shopped, where they frequent, and can further be used to assist in determining which item(s) have been brought into the vehicle.
- the purchased item/environmental item detection module 2036 could query another device, such as a smart phone, and if the smart phone includes GPS capabilities, determine where the user was based on the information from the smart phone, when they were not in their vehicle. This information could further be used to refine and optionally help identify which purchased items the user may now have with them in the vehicle.
- Car Brand X Setting User 1 Seat Position Position 2 Mirror Position X, Y, Z Position Infotainment Settings Radio On, 99.5 FM, Volume 4 Navigation Settings Navigation On, Map View Vehicle Mode Sport Mode HVAC Driver 68, Passenger 70 Car Brand X Advertising Off Car Brand X Reminders On (Display on Video Only, no Audio) Car Brand X Vehicle On - Send to Both User and Manufacturer Statistics Reporting and Dealer/Maintenance Shop
- one or more of shopping lists, reminders, favorite shopping locations, and shopping deals of interest may be provided to a user based on, for example, information in the profile data 252 .
- information maintained by the shopping module 2016 may be utilized by the advertising module 2040 to provide, for example, targeted advertising for one or more users in the vehicle. This targeted advertising can be sent to the vehicle itself for display on, for example, a screen, and/or could be sent directly to a user's communications device such as a smart phone.
- communications between a mobile device, such as device 212 , and a vehicle may be established via one or more of near field communications, RFID, Bluetooth®, or other communications protocol, be it proprietary or open source.
- a user with a mobile device such as a smart phone, tablet, laptop computer, etcetera, such as device 212 , having at least one user profile associated therewith, may enter a vehicle where the vehicle is configured to enable communications with the mobile device.
- the vehicle may determine a location of the mobile device inside the vehicle, and based, at least partially on that location, provide one or more features and/or controls to the user via, for example, a display associated with the vehicle.
- these features and/or controls could also be provided audibly to a user, with the user confirming whether or not they want that feature and/or control, or providing the value or setting of that feature and/or control back to the system in an audible manner which can be detected by one or more microphones in the vehicle.
- the user may pair their mobile device with the vehicle via a physical presence and/or contact.
- the physical contact may include positioning the mobile device into a range associated with a NFC.
- Another example of physical contact may include a user physically pairing the device via Bluetooth®, via a wired connection, or by a dock associated with/installed in the vehicle.
- user profile(s) may be presented, or uploaded, to a vehicle in advance of a user reaching a vehicle.
- a car rental agency can maintain a profile for each customer and upload their profile onto the car rented to the customer at the time the leasing is consummated, or, for example, when the user picks-up the leased vehicle.
- a user may save a user profile with a rental vehicle agency during the registration/reservation process. Saving the user profile may be performed automatically or, for example, via user input.
- a user profile may be associated with a smart phone, tablet, computer, or other device as provided herein. While the user in this example is making a reservation with a rental agency via the device, the user profile associated with the user may be automatically transmitted to the rental agency via the device. Transmission of the user profile may be timed to coincide with payment of rental and/or reservation fees.
- a user's profile is stored as profile data 252 on a smart phone 212 .
- the app could query the user as to whether they would like to associate their profile data 252 with the vehicle rental. If the user opts to associate their profile data 252 with the rental, their profile data 252 can be communicated from the smart phone 212 to, for example, server 2052 , which in this exemplary embodiment, is associated with the car rental agency and then stored in the car rental agency's profile repository 2056 .
- the profile which was stored in profile repository 2056 can be forwarded in cooperation with the profile import/export module 2032 associated and stored in the vehicle that the user has leased.
- any updates made to the profile could then be exported from the rental vehicle, in cooperation with the rental vehicle's profile import/export module 2032 , and stored in the profile repository 2056 .
- This updated profile information could then, for example, be used for future vehicle leases and/or reconciled with the user's profile data stored on, for example, their smart phone and/or a primary vehicle that they may drive.
- the car can be automatically adjusting all of the vehicle settings as set forth in the user's profile (to the extent possible). In this way, the user need not manually select any settings when he or she begins driving the rental vehicle.
- a rental car system may be able to link a reservation to where the user is staying, where the user has dinner reservations, and the like, based on the mobile device associated with the user.
- the system may then export, for example, one or more of a text message, an email, a phone call, or other signal to the mobile device, and request access to the user's profile stored on that mobile device. If the system is authorized to retrieve the user's profile from the mobile device, this user profile can be obtained and associated with the rental vehicle and the settings associated with the user profile used to update the leased vehicle prior the user actually using the leased vehicle.
- the profile data 252 need not necessarily be stored in the profile repository 2056 , but can rather be retrieved from the user's mobile communications device, that way insuring that the most up to date profile data is available when the user leases the vehicle.
- the mobile device can act as the key.
- a phone number may be embedded in the private key of the mobile device.
- the public key may be presented to the rental car.
- a combination of phone number and device ID, such as EIN, MAC address, and the like, may be used as part of the authentication process. Utilizing these various portions of information, a mobile device can then act as the key to enable operation of the vehicle.
- profile data is obtained from the smart phone 2104 and sent to the rental vehicle.
- User identification module 822 confirms, as discussed herein, this is the appropriate user for the lease of the vehicle and triggers the association of the profile data 252 from the smart phone 212 with the profile data repository 252 in the vehicle.
- the vehicle can optionally show, via display 2116 , a welcome message to the vehicle lessee, as well as a summary that shows, for example, which of their profile data settings have been used to update the operation of the vehicle.
- interface 2116 optionally asked the user if they would want to associate another profile with the vehicle by providing button 2120 which would allow the user, upon selection, to associate one or more other profiles with the vehicle.
- another button 2124 could be provided where, for example, the profile recognized by the vehicle is not the appropriate profile for the current driver. This could happen in a scenario where, for example, multiple drivers have been associated with a rental lease and the profile associated with the vehicle may not be the current driver, and the system needs to select another profile associated with the lease based on who the current driver will be.
- various advertisements could be sent to one or more of the vehicle associated with the profile data, the mobile device associated with the user, or the like.
- the advertising module 2040 can also operate in a dynamic manner such that the advertising module 2040 is capable of updating radio or multimedia advertisements presented to a vehicle based on information in the profile data. Even further, when a user is finished with a vehicle lease, the advertising module 2040 may continue to send advertisements to the mobile device and/or email of the user who rented the vehicle.
- the system can allow truly comparative shopping. For example, information may be presented to a user, including, but not limited to, coupons, savings, deals, gas prices, vehicle maintenance specials, and the like. This information may be presented based on previous purchases and shopping behavior associated with the user profile, where the user typically travels or is expected to travel, or the like. For example, the system may know that the user recently bought tomatoes and onions on the last shopping trip one week ago. The system may also know that super store Y is currently offering 40% off of all onions and tomatoes and the user is expected to pass by super store Y in the next five minutes. The system, in cooperation with the advertising module 2040 , could then provide this information to the user one or more of audibly and visually and indicate to the user that they will be passing super store Y shortly, on the right hand side of the road.
- FIG. 22 outlines an optional embodiment utilized for guest vehicle user reporting as well as other functionality.
- This subsystem includes, for example, vehicle personality data 2204 , a vehicle reporting module 2208 , a smart calendar module 2212 , a context module 2216 that can cooperate with, for example, breathalyzer 2220 , one or more remote access devices 2224 , a camera application module 2224 , an expression/facial ID/gesture repository 2228 , and a parental control module 2232 .
- a vehicle may report vehicle conditions, such as number of passengers in the vehicle, speeds—average, maximum, minimum—time at a location, time leaving a location, time arriving at a location, GPS data, and in general, any information associated with the vehicle, to a user at the user's request, automatically, or when a user is away from a vehicle.
- vehicle conditions such as number of passengers in the vehicle, speeds—average, maximum, minimum—time at a location, time leaving a location, time arriving at a location, GPS data, and in general, any information associated with the vehicle, to a user at the user's request, automatically, or when a user is away from a vehicle.
- the user may request and obtain one or more of images of the inside the vehicle, and can optionally directly communicate with the vehicle, and even control certain vehicle features and functions.
- the vehicle could also be instructed to shut down when the owner leaves for a weekend, and does not want others using it.
- the vehicle may initiate communications with one or more third parties based on context of the vehicle and/or the user, in cooperation with the context module 2216 .
- the vehicle can set up a second personality for the user via the user's mobile device.
- communications sent via the vehicle, not the user can be associated with a vehicle personality.
- the second personality may be identified via an icon or other identifier associated with a communication.
- the vehicle may set up a group personality to represent two or more users associated with the vehicle.
- the group personality which can be stored in the vehicle personality data repository 2204 may depend on the number of people detected in the vehicle.
- the group personality may send communications via at least one of the user's mobile devices.
- communication(s) sent via the vehicle could be associated with a vehicle group personality.
- the group personality may be identified via an icon or other identifier associated with the communication.
- a user may be traveling home from work, with this determination capable of being predicted based on prior trips made of the same or similar time of day by the same user, the vehicle may send a message, such as a text message, phone call, email, etcetera, to a third party to indicate the user is coming home.
- the message may be identified as being sent from the vehicle, utilizing a vehicle icon associated with the message, or other similar identifier.
- the third party may respond to the message, which can then be relayed, one or more of visually and/or audibly, to the user via the components of the vehicle, such as via a dashboard display, head unit, speakers, or the like.
- a third party may state “Please pick up some eggs and fabric softener before you come home, thanks” This information then can be relayed by the vehicle and to, for example, the driver.
- the context module 2216 can monitor one or more aspects of the vehicle, including time leaving a location, destination information entered into the navigation system, arrival time at the destination, projected travel path, etc., and conclude, for example, as in the above scenario, that the user has left work and they are on their way home.
- the context module 2216 cooperating with one or more of vehicle personality data 2204 , shopping module 2016 , and navigation module, could, upon recognizing that shopping items are to be picked up, appropriately reroute the user to the closest or preferred shopping location on the trip home to obtain the requested items.
- a vehicle may report vehicle conditions, such as the number of passengers in the vehicle, speed, etcetera, to a user at the user's communication or electronic device, or when a user is away from a vehicle.
- vehicle conditions such as the number of passengers in the vehicle, speed, etcetera
- a user could remotely access a vehicle and query information regarding any aspect of the vehicle's operation, as well as vehicle conditions as enumerated as above.
- the user again using the remote access device 2224 , could also request and obtain one or more of an image or images of the inside of the vehicle, directly communicate with the vehicle, and/or control certain features of the vehicle.
- the user could remotely connect to the vehicle using the remote access device 2224 , and their identity confirmed in cooperation with the user identification module 822 and information in profile data 252 . Upon confirming the user is authorized to access and perform one or more functions and/or request information from the vehicle, the user is allowed to perform these functions. It should be appreciated, however, that based on current operating conditions of the vehicle, and optionally based on information in the profile, there may be restrictions on the type of functions the remote user is able to enable/disable as well as the type of communications that are allowed to be communicated to the vehicle.
- vehicle functions can be controlled based on information obtained from the vehicle reporting module 2208 . For example, if it is determined, by using the camera application module 2224 , that the vehicle is overcrowded, an instruction could be provided to the driver indicating that they are to stop the vehicle because it is overcrowded and remove one or more passengers from the vehicle before they are allowed to continue.
- these various functions and controls can further be modified based on information associated with the parental control module 2232 . For example, the parent could impose a restriction that a young driver is not to have more than two people in the vehicle, even though the vehicle could, for example, hold six individuals.
- the vehicle reporting module 2208 cooperating with the camera application module 2224 , determines that the vehicle has more occupants than that allowed by the parental control module 2232 , this information can be reported to the remote access device 2224 , as well as optionally sent to one or more other devices, such as smart phone 212 . As discussed, one or more of vehicle functionality and/or communications could then be established to ensure the problem with vehicle overcrowding has been addressed, and the vehicle is now in conformance with one or more rules managed by the parental control module 2232 .
- the car can sync with one or more calendars to create one or more of smart alarms and updates.
- a smart alarm is an alarm that instead of a standard 15 minute warning before a meeting, if it is an offsite meeting with an address entered, the system can determine how much time it will take based on traffic, driving habits, and the amount of time it generally takes to exit the office and get to the car, etcetera, and change the smart alarm accordingly.
- the updates can be triggered based upon the time of arrival, determination from the GPS, or as calculated above, and a message such as an email, text message or the like, sent to the other attendees to advise them as to when the user is expected to arrive.
- a prompt can be provided for the user to call the meeting moderator, advising them of their ETA.
- an update could be sent to the other meeting attendees asking them whether they would like anything from the coffee shop. This information could then be communicated to the user via one or more the vehicle or on another device, such as their smart phone.
- This smart calendar module 2212 is further capable of accessing information from a remote device, such as the smart phone 212 , and integrating various information therefrom, such as from a calendar on the smart phone.
- the smart calendar module 2212 can remotely communicate with the user's calendar that might be associated with the vehicle or stored on the cloud. Utilizing one or more of the various communication functions of the vehicle, information in the user's calendar in the cloud could be obtained and utilized, as discussed above, to assist the user with their daily tasks.
- context module 2216 can cooperate with another sensor, such as breathalyzer 2220 to ensure compliance with drunk driving laws.
- the context module 2216 cooperating with the user identification module 822 , determines that a user who has had a bad past experience with driving while under the influence is currently identified as the driver of the vehicle.
- the profile data 252 can indicate the driver, perhaps, has a past DUI and is not allowed to drive any vehicle unless they pass a breathalyzer test.
- the context module 2216 can limit functionality of the vehicle, and for example, not allow the driver to start the vehicle, unless the breathalyzer test has been completed successfully.
- the results of this breathalyzer test can be sent to one or more entities, such as a monitoring entity, that monitors whether or not the driver has attempted to drive the vehicle that is under the influence.
- the vehicle reporting module 2208 could establish communications with a law enforcement agency indicating the current GPS coordinates of the vehicle, and that a user who is under the influence has not passed a breathalyzer test and is attempting to drive the vehicle.
- a log of the various breathalyzer tests could also be stored in the profile data 252 , and accessed by, for example, a law enforcement agency.
- the vehicle can determine that the user is going to be out of town for the weekend, and not using the vehicle, based on information in user's calendar.
- the context module 2216 would know that the user is not going to be using the vehicle, so the vehicle shouldn't be used.
- the vehicle cooperating with the vehicle reporting module 2208 , could contact one or more of the user's smart phone and remote access device 2224 and ask the owner whether permission is granted for someone to use the vehicle.
- the vehicle reporting module 2208 could send an image of the vehicle occupant(s) along to the owner with the request for permission to use the vehicle. If the owner denies permission, the owner could return a message to the vehicle indicating that the vehicle is not to be used, and the context module 2216 cooperating with various vehicle functions and systems shut down the vehicle to prevent the vehicles use.
- the context module 2216 cooperating with the parental control module 2232 could require the vehicle to receive test results from the breathalyzer 2220 if a child is out past 8 PM and trying to use the vehicle.
- the system could determine that the vehicle has been sitting outside of a bar for over an hour, and implement a similar requirement for a breathalyzer test to be performed before the ignition is activated.
- the vehicle could know a child's curfew and also know the distance from home.
- the context module 2216 cooperating with the vehicle reporting module 2208 , could inform the child, via a communication to a smart phone, that they have to go.
- the context module 2216 could also include information to assist with successfully delivering the other vehicle occupants home in a timely manner.
- the camera application module 2224 in cooperation with the expression/facial ID/gesture database 2228 , and the context module 2216 , can determine the emotional state of one or more occupants in the vehicle.
- Information from the camera application module 2224 can be correlated with profile data and through use of the user identification data module 822 determine which captured image(s) belongs to which vehicle occupant.
- the profile data 252 may include biometric information, such as facial information, for the user associated with that profile.
- a controller or processor could then map the obtained one or more images to information in the profile data utilizing known facial recognition techniques, and in cooperation with the context module 2216 , determine an emotional state associated with one or more of the users in the vehicle.
- These various emotional states could then be reported, for example, using the vehicle reporting module 2208 , to one or more other destinations, such as to the occupants' parents via a communication to their smart phone or other electronic device.
- the camera application module 2224 cooperating with the context module 2216 and vehicle reporting module 2208 could monitor for unusual behavior, such as obscene gestures by one of the vehicle occupants.
- the obscene gestures could be recognized based on information in the gesture database 2228 , and upon detection of one of these gestures by the camera application module 2224 , the vehicle reporting module 2208 send an appropriate communication to, for example, parents or owners of the vehicle indicating one or more of the occupants may be behaving in an unsafe manner.
- An image of the obscene gesture could also be sent along with the communication to one or more of the parents or owners of the vehicle, as well as this information optionally stored in the user's profile for use in some other application, such as insurance reporting and monitoring as discussed herein.
- the vehicle could use one or more of its sensors, such as a camera in the camera application module 2224 , to recognize the face of a person blowing into the breathalyzer 2220 for affirmative identification and to prevent fraudulent attempts to bypass the system.
- profile data 252 can include information usable for facial recognition. This information is useable by the context module 2216 to confirm the individual utilizing the breathalyzer is the person that will be operating the vehicle.
- the vehicle could require a child to use it prior to activating the ignition on any night they are out past 8 PM. The car could know the child's curfew, and also know the distance from home.
- parental control is not limited to a parent-child relationship, but may also refer to one who is in control of a subordinate or lawbreaker, such as a child, a parolee, an employee, and the like.
- notification of a user failing to pass a breathalyzer test, whether the breathalyzer is part of the vehicle or another vehicle, remote or otherwise could be sent to the police or authorities as appropriate. In some cases, the signal may continue to be sent unless deactivated by an authorized party. This could assist law enforcement officers with apprehending drivers who may be under the influence.
- other car-based camera applications can be implemented by the camera application module 2224 , cooperating with one or more of the other elements of the vehicle systems.
- sleep detection such as driver head bobbing, blink rate, and other gestures which indicate a driver is falling asleep
- the camera application module 2224 cooperating with the expression/facial ID/gesture database 2228 , could trigger one or more of an audible, visual, or tactile warning to the driver to wake up.
- this warning could be sent to one or more of the other vehicle occupants, and alert them to the fact that the driver is falling asleep, and they should engage the driver to ensure they stay awake.
- the camera cooperating with the camera application module 2224 , can utilize the detection of positional based movements to regulate accessibility to the car control console. For example, when a driver reaches for the console, this can result is limited access to functionality to the console, or as a passenger reaching for the console, this could result in additional functionality being provided to that user. An example of this is manipulation of the navigational system. Most navigational systems require the user, e.g. driver, to be stopped before they are allowed to enter information such as destination address information. However, camera application module 2224 , cooperating with one or more of the vehicle cameras, could determine that in the instance when the passenger is attempting to access the navigation system, the navigation system allows for the passenger to enter destination address information, even though the vehicle may be traveling at a rapid rate.
- the camera can be capable of sensing direction from which a motion is coming, and change the accessibility to one or more functions of the console, where, for example, a 3D camera can be used to capture gestures in space. Capturing a three-dimensional gesture in space can be used in a similar manner to the above, where the vehicle control console functionality is modified based on who is trying to access it.
- Context module 2216 cooperating with one or more of the user identification module, various profile data, and a camera, as well as the camera application module and associated database 2228 , can also recognize the number of passengers in the car, and optionally, who the passengers are. Based on this information, the context module 2216 can change the environment depending upon who is in the car. This includes, but is not limited to, music, climate, seat position, and the like. For example, if the context module 2216 is able to determine, based on facial recognition and information in the profile data, that the user in the front passenger is 4′11′′ tall, and the passenger in the rear seat behind front seat passenger is 6′2′′, the context module 2216 could adjust the seat of the front seat passenger to provide greater leg room to the rear seat passenger.
- the context module 2216 can further be utilized to recognize, with the assistance of the camera application module 2224 and the expression database 2228 facial expressions of one or more of the vehicle occupants and adjust the cabin environment accordingly or even driving characteristics of the vehicle. For example, if it is determined that the vehicle occupants appear to be drowsy, the context module 2216 can instruct the HVAC system to lower the temperature of the vehicle to assist with waking up the vehicle occupants. This could be especially important if it is determined that the driver is showing signs of drowsiness as discussed above.
- the camera application module 2224 can cooperate with one or more vehicle cameras and/or sensors such that gestures in the air, such as swipes, drags, or the like, that many people are already familiar with by virtue of smart phone technology and tablets, can be recognized without the user necessarily touching a touch screen. These recognized expression by the camera application module 2224 could then be used to control one or more functions of the vehicle, provide control of one or more touchscreen displays, and/or can be used in a virtual environment such as when a 3D touchscreen is provided that is manipulatable via one or more three-dimensional gestures or expressions.
- the parental control module 2232 can also be utilized in conjunction with facial recognition technology and camera application module 2224 such that pictures of all the allowed drives and/or passengers are known by the various vehicle systems.
- the car control system can be managed by the context module 2216 , and rules in the parental control module 2232 , to take various actions, such as not allowing the engine to start, sending an alert via the vehicle or warning module 2208 , or the like.
- facial recognition of a driver can be used to limit what young drivers can do in the car, or to generate an automatic alert if certain “rules” are broken that are maintained in the parental control module 2232 .
- one or more rules in the parental control module 2232 may dictate that a young driver cannot drive more than 20 miles from home, cannot go on the interstate, or the like. In these instances, if these “rules” are broken, and in cooperation with the context module 2216 and vehicle reporting module 2208 , various notifications can be sent to one or more destinations. In a similar manner, these “rules” could be used to regulate one or more car functions, such as the vehicle's maximum speed, number of occupants in the vehicle, the availability of multimedia/infotainment information, infotainment volumes settings, and the like. Engine/vehicle operational rules can also be established that restrict or otherwise regulate any vehicle function, and in cooperation with the context module 2216 can prohibit undesired or unwanted vehicle operations, e.g., flooring the accelerator.
- the above situational control of the car's environment or access to various controls and/or entertainment and/or functionality can be dynamic and based on who is in the car, where the car is located, driving conditions, e.g. weather conditions, and the like.
- the context module 2216 functionality can be extended to the user's smartphone, tablet, or other computing device.
- the context module 2216 could have an extension application that runs on one or more of these user devices, to assist with integrating user context into the vehicle experience. For example, when a user does a search at the office or at home for directions to a particular destination, and then the context module 2216 determines that the user gets in their vehicle the directions and/or map that the user just searched for can be sent to the vehicle's navigation system.
- This functionality can be extended to cooperation with the smart calendar module 2212 , such that if it is 20 minutes before a user's appointment, and the user looks up the address associated with information in the appointment, the context module 2216 could make the assumption that the user has requested the directions/map for this appointment, and ensure the vehicle has this information to assist with the user arriving at their destination in a timely manner.
- the breathalyzer 2220 need not necessarily be associated with the vehicle, but information from a remote breathalyzer, coupled with time proximity information be utilized to control various car functions. For example, if an intended driver blows into a remote breathalyzer 45 seconds before entering a vehicle, the context module 2216 could assume that the breathalyzer information is accurate, and in cooperation with the parental control module 2232 , allow operation of the vehicle if the user is under a predetermined limit.
- the context module 2216 can cooperate with vehicle GPS information to control one or more functions of the vehicle, as well as one or more other remote functions, such as functions at home.
- the thermostat can be set to a, for example, lower predetermined temperature.
- the thermostat can be returned to a preset level.
- the garage door may open upon checking, utilizing the user identification module 822 , that the occupant of the vehicle is the homeowner. The inside garage door to the home can be opened, and upon the vehicle entering the garage, the outside garage door closed.
- the context module can cooperate with one or more other systems such that context module 2216 is aware of what the user was watching in the home, so if the user leaves the home to go on a shopping trip during a football game, the car entertainment system can tune into the game and make it available to the user while they are on their shopping trip.
- profile data can be extended to include information from the cable or TV provider and/or the cable or TV provider can be in communication with the vehicle.
- one or more smart home appliances are able to communicate with the vehicle to provide information to the driver about the need, for example, for various consumables. For example, a smart refrigerator could contact the vehicle and inform the driver that they are out of milk.
- the context module 2216 is, however, not limited to user-centered context determination. Rather, the context module 2216 could be used in association with any vehicle functionality, and could be especially useful with automatic diagnostic assessments about a vehicle's “health” with this information usable to determine maintenance schedules, the need for repair parts, or the like. For example, the context module 2216 can cooperate with one or more of the vehicle sensors to determine when a vehicle needs maintenance. This information could further be used to determine which repair parts are required, send this list to the dealer or other repair shop that the user prefers, and also schedule an appointment, while taking into consideration any information in the user's calendar by the smart calendar module 2212 .
- the context module 2216 can use smart GPS information to assist the driver with arriving at their destination. For example, if a user contacts a restaurant via the vehicle communication system and/or a smartphone while in the vehicle, to make a reservation for dinner, the destination restaurant can return to the user, in a special message, GPS information associated with that restaurant's location. This message can be assessed and integrated into the necessary vehicle system, and in particular, the navigation system, such that navigational directions can be provided to the user to assist them with arrival at this destination restaurant.
- the user's phone number is known by the restaurant, and since this communication device, and hence the phone number, has been paired with the vehicle, the vehicle is capable of receiving the message, and hence the destination restaurant GPS information.
- FIG. 23 outlines an exemplary method of profile editing/modification.
- control begins in step S 2300 and continues to step S 2304 .
- step S 2304 the user profile access request is received.
- step S 2308 a determination is made if a profile already exists. If a profile does not exist, control continues to step S 2312 , where a new profile can be created. As discussed, this new profile can be created from scratch, or can be based on a global standard template, or based on some other template, for example, which can be that of another user. Control then continues to step S 2316 .
- step S 2316 a verification could optionally be performed to ensure the user is authorized to access the profile.
- step S 2320 one or more of biometric information, gesture recognition, feature recognition, device identification, password recognition, or the like, can be used for verification of the user before access to the requested profile is granted.
- step S 2324 the authentication and exchanging of one or more keys can optionally be performed, such as the exchange of a public and/or private key, as discussed above.
- step S 2328 if one or more of verification or authentication are successful, the user can be allowed to edit/modify the accessed profile.
- the profile can be saved in step S 2332 , with control continuing to step S 2336 .
- step S 2336 the saved profile can optionally be transmitted to one or more other vehicles, or one or more other devices or locations on a communications network as discussed.
- step S 2340 a determination is made as to whether the transmission of the profile to one or more other destinations provides a conflict, and whether or not the transferred profile should overwrite the local profile at the destination. If the local profile is to be overwritten, control continues to step S 2444 , where the local profile is overwritten by settings in the transmitted profile. Control then continues to step S 2348 , where the control sequence ends.
- step S 2352 If the local profile is not to be overwritten, control continues to step S 2352 , where any conflicting data can be reconciled. For example, a user can be queried to confirm whether or not they would like to overwrite the local profile, and/or provide information regarding which profile settings are in conflict, to allow the user to selectively determine which one of the local profile settings should be overwritten. This process can continue until all conflicts between the profiles have been resolved, where control continues to step S 2356 , where the control sequence ends.
- FIG. 24 outlines exemplary communications between a mobile device and a vehicle, and the transferring of a profile.
- control begins in step S 2404 , and for the vehicle, control begins in step S 2460 .
- the vehicle in step S 2464 , detects a presence of a mobile device, such as a via Bluetooth®, RFID, user request, or the like, and sends a message to the mobile device requesting establishment of communication in step S 2408 .
- the mobile device commences communication with the vehicle, through an optional pairing step between the mobile device and the vehicle in step S 2468 .
- step S 2416 can optionally perform authentication and/or verification of the mobile device as discussed herein.
- the vehicle in step S 2476 receives the profile from the mobile device, which is sent in step S 2420 . It should be appreciated that optionally the profile need not be transferred from the mobile device to the vehicle, but the profile cold rather reside on the mobile device when, for example, the mobile device is paired with the vehicle.
- step S 2480 the position of the mobile device in the vehicle is determined.
- step S 2484 one or more vehicle features/controls are enabled based, at least partially, on the determined location of the mobile device within the vehicle. For example, certain vehicle features/controls may be enabled if it is determined if the mobile device is associated with the driver. Other features/controls may be enabled if it is determined that the profile is associated with user in the back seat. Control then continues to step S 2488 .
- step S 2488 the mobile device is detected as leaving the vehicle.
- the profile could optionally be updated, and if the profile is being stored on the mobile device, the updated profile transferred to the mobile device and/or a remote location, such as a cloud, with the updated profile being received by the mobile device and/or cloud in step S 2424 .
- Control then respectively continues to step S 2428 , and step S 2492 , where the control sequence ends.
- FIG. 25 outlines an exemplary method for transferring a profile.
- control begins in step S 2500 , and continues to step S 2504 , where the profile is transferred to another entity or directly to another vehicle. This can be done one or more of automatically, based on a user request, based on context, or based on other information such as the detection by a smart calendar of a user having an appointment with a rental agency for a leased vehicle.
- step S 2508 one or more profiles that are available to be transferred are identified.
- the identified profile(s) to be transferred are one or more of uploaded, transferred, or registered, or otherwise associated with one or more of an entity, another vehicle, a communication device, or the like. Control then continues to step S 2516 , where the control sequence ends.
- FIG. 26 outlines an exemplary method for associating a profile with a reservation.
- control begins in step S 2600 , and continues to step S 2604 .
- step S 2604 the rental reservation is commenced.
- step S 2608 the user is queried as to whether they would like to associate one or more profiles with the rental reservation.
- step S 2612 the user is asked which profile(s) should be associated with which position in the vehicle, e.g. driver, alternate driver, passenger, or the like. Control then continues to step S 2616 .
- step S 2616 the profile(s) that are to be associated with the rental reservation are located and uploaded and associated with the reservation.
- this uploading of the profiles can be done at the time of the reservation, and could also optionally be done immediately before the user takes control of the leased vehicle to ensure that the latest version of the profile is being associated with the leased vehicle.
- step S 2620 when the user actually takes possession of the leased vehicle, their profile can be associated therewith. Control then continues to step S 2624 .
- one or more ads can optionally be sent to the vehicle and/or user's communication device based on their profile, with these ads capable of continuing after completion of the rental reservation. As will be appreciated, and after completion of the rental reservation, these ads can be sent to one or more of the user's communication or other device, and/or the user's other vehicle(s). Control then continues to step S 2628 , where the control sequence ends.
- FIG. 27 outlines an exemplary method 52704 , where vehicle reporting is turned on.
- Turning on vehicle reporting can be based on one or more of a request, such as a user request, insurance agency request, parent request, or the like.
- Vehicle reporting can further be turned on based on one or more of smart calendar information, a trigger, a context associated with one or more of the vehicle, driver, vehicle occupants, or the like.
- step S 2708 a determination and/or query as to what type of information should be monitored is performed. As discussed, this can include one or more of number of passengers, speed information, vehicle location information, GPS information, and the like.
- step S 2712 communication with the vehicle can optionally be established to allow for, for example, real-time control of one or more vehicle functions. Control then continues to step S 2716 .
- step S 2716 it is determined whether information based on one or more of context, the above request, smart calendar information, and/or a trigger is needed. If information is needed, control continues to step S 2728 , with control otherwise continuing to step S 2720 . In step S 2720 , a determination is made as to whether reporting should end. If vehicle reporting is determined to have been completed, control continues to step S 2724 , where the control sequence ends. Otherwise, control jumps back to step S 2716 .
- step S 2728 necessary/needed information based on one or more of the requests, smart calendar, trigger, or the like, is obtained. Then, in step S 2732 , this obtained information can optionally be forwarded to one or more destinations, can be stored, or can be used with, for example, a remote access device to assist with controlling one or more vehicle functions. Control then continues to step S 2736 , where the control sequence ends.
- FIG. 28 outlines an exemplary method of operation of a parental control mode.
- control begins in step S 2800 , and continues to step S 2804 .
- step S 2804 a determination is made as to whether the parental control mode should be activated. If the parental control mode should be activated, control continues to step S 2816 , with control otherwise continuing to step S 2808 .
- step S 2808 vehicle operation continues as normal with control continuing to step S 2812 , where the control sequence ends.
- step S 2816 the parental control mode of the vehicle is activated.
- step S 2820 certain vehicle functions can be limited based on “rules” associated with a parental control mode profile.
- vehicle reporting as discussed herein, can optionally be turned on.
- step S 2828 smart context sensing can also be optionally turned on. As discussed, smart context sensing can be used to assist with ensuring children arrive home prior to their curfew, can be used to require a driver to take a breathalyzer after being parked outside of a restaurant/bar, or the like.
- step S 2832 one or more rules based functions can also be turned on that, for example, limit vehicle's performance, limit infotainment availability, and the like. Control then continues to step S 2836 .
- step S 2836 communications can optionally be established directly with the vehicle, such as via a remote access device 2224 .
- this remote access device can be equipped with display that shows one or more operational states of the vehicle, such as speed, direction, location, images of occupants, infotainment information, or the like, such that a user using the remote access device has complete visibility as to one or more of the vehicle's operational conditions. This could be especially useful if a parent is trying to monitor a young driver's performance in the vehicle. Control then continues to step S 2840 where parental control is deactivated and the control sequence ends.
- FIG. 29 outlines an exemplary method for global context awareness.
- control begins in step S 2800 and continues to step S 2804 .
- step S 2804 global context awareness is enabled.
- global context awareness allows the vehicle and vehicle systems and subsystems to integrate with one or more other systems, and optionally and in cooperation with context, can be used to exchange messages, control various functions, and the like.
- step S 2808 the vehicle communicates with one or more other smart systems, such as a refrigerator, door locks, garage openers, calendars, cloud-based storage, or the like.
- messages can be exchanged between the vehicle and the one or more other smart systems, with those messages including one or more of status information, notice information, or the like.
- An example of status information can include, for example, that the coffee pot at their home was left on. Control then continues to step S 2816 .
- control messages can be exchanged between the vehicle and one or more other smart systems.
- control information or control messages can include an instruction to turn off the coffee pot that was determined above to have been left on.
- Control messages can further include, for example, instructions to open or close a garage door, instructions to unlock an interior door, instructions to control an HVAC system in the user's house, or the like.
- the vehicle is capable of communicating with any one or more smart systems, receiving information therefrom, and controlling one or more functions thereof, via, for example, a display in the vehicle and/or a user's communication device. Control then continues to step S 2820 where the control sequence ends.
- certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system.
- a distributed network such as a LAN and/or the Internet
- the components of the system can be combined in to one or more devices, such as a Personal Computer (PC), laptop, netbook, smart phone, Personal Digital Assistant (PDA), tablet, etc., or collocated on a particular node of a distributed network, such as an analog and/or digital telecommunications network, a packet-switch network, or a circuit-switched network.
- PC Personal Computer
- PDA Personal Digital Assistant
- the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system.
- the various components can be located in a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof.
- a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof.
- one or more functional portions of the system could be distributed between a telecommunications device(s) and an associated computing device.
- the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements.
- These wired or wireless links can also be secure links and may be capable of communicating encrypted information.
- Transmission media used as links can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- processing modules can perform, monitor, and/or control critical and non-critical tasks, functions, and operations, such as interaction with and/or monitoring and/or control of critical and non-critical on board sensors and vehicle operations (e.g., engine, transmission, throttle, brake power assist/brake lock-up, electronic suspension, traction and stability control, parallel parking assistance, occupant protection systems, power steering assistance, self-diagnostics, event data recorders, steer-by-wire and/or brake-by-wire operations, vehicle-to-vehicle interactions, vehicle-to-infrastructure interactions, partial and/or full automation, telematics, navigation/SPS, multimedia systems, audio systems, rear seat entertainment systems, game consoles, tuners (SDR), heads-up display, night vision, lane departure warning, adaptive cruise control, adaptive headlights, collision warning, blind spot sensors, park/reverse assistance, tire pressure monitoring, traffic signal recognition, vehicle tracking (e.g., vehicle tracking, etc.
- critical and non-critical on board sensors and vehicle operations e.g., engine, transmission
- Processing modules can be enclosed in an advanced EMI-shielded enclosure containing multiple expansion modules.
- Processing modules can have a “black box” or flight data recorder technology, containing an event (or driving history) recorder (containing operational information collected from vehicle on board sensors and provided by nearby or roadside signal transmitters), a crash survivable memory unit, an integrated controller and circuitry board, and network interfaces.
- Critical system controller(s) can control, monitor, and/or operate critical systems.
- Critical systems may include one or more of (depending on the particular vehicle) monitoring, controlling, operating the ECU, TCU, door settings, window settings, blind spot monitor, monitoring, controlling, operating the safety equipment (e.g., airbag deployment control unit, collision sensor, nearby object sensing system, seat belt control unit, sensors for setting the seat belt, etc.), monitoring and/or controlling certain critical sensors such as the power source controller and energy output sensor, engine temperature, oil pressure sensing, hydraulic pressure sensors, sensors for headlight and other lights (e.g., emergency light, brake light, parking light, fog light, interior or passenger compartment light, and/or tail light state (on or off)), vehicle control system sensors, wireless network sensor (e.g., Wi-Fi and/or Bluetooth sensors, etc.), cellular data sensor, and/or steering/torque sensor, controlling the operation of the engine (e.g., ignition, etc.), head light control unit, power steering, display panel, switch state control unit, power control unit,
- Non-critical system controller(s) can control, monitor, and/or operate non-critical systems.
- Non-critical systems may include one or more of (depending on the particular vehicle) monitoring, controlling, operating a non-critical system, emissions control, seating system controller and sensor, infotainment/entertainment system, monitoring certain non-critical sensors such as ambient (outdoor) weather readings (e.g., temperature, precipitation, wind speed, and the like), odometer reading sensor, trip mileage reading sensor, road condition sensors (e.g., wet, icy, etc.), radar transmitter/receiver output, brake wear sensor, oxygen sensor, ambient lighting sensor, vision system sensor, ranging sensor, parking sensor, heating, venting, and air conditioning (HVAC) system and sensor, water sensor, air-fuel ratio meter, hall effect sensor, microphone, radio frequency (RF) sensor, and/or infrared (IR) sensor.
- ambient weather readings e.g., temperature, precipitation, wind speed, and the like
- one or more of the non-critical components and/or systems provided herein may become critical components and/or systems, and/or vice versa, depending on a context associated with the vehicle.
- the systems and methods of this disclosure can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
- a special purpose computer a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
- any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this disclosure.
- Exemplary hardware that can be used for the disclosed embodiments, configurations and aspects includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, nonvolatile storage, input devices, and output devices.
- processors e.g., a single or multiple microprocessors
- memory e.g., a single or multiple microprocessors
- nonvolatile storage e.g., a single or multiple microprocessors
- input devices e.g., input devices
- output devices e.g., input devices, and output devices.
- alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
- the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms.
- the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this disclosure is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
- the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like.
- the systems and methods of this disclosure can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like.
- the system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
- Examples of the processors as described herein may include, but are not limited to, at least one of Qualcomm® Qualcomm® Qualcomm® 800 and 801, Qualcomm® Qualcomm® Qualcomm® 610 and 615 with 4G LTE Integration and 64-bit computing, Apple® A7 processor with 64-bit architecture, Apple® M7 motion coprocessors, Samsung® Exynos® series, the Intel® CoreTM family of processors, the Intel® Xeon® family of processors, the Intel® AtomTM family of processors, the Intel Itanium® family of processors, Intel® Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nm Ivy Bridge, the AMD® FXTM family of processors, AMD® FX-4300, FX-6300, and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments® Jacinto C6000TM automotive infotainment processors, Texas Instruments® OMAPTM automotive-grade mobile processors, ARM® Cor
- the present disclosure in various aspects, embodiments, and/or configurations, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various aspects, embodiments, configurations embodiments, subcombinations, and/or subsets thereof.
- the present disclosure in various aspects, embodiments, and/or configurations, includes providing devices and processes in the absence of items not depicted and/or described herein or in various aspects, embodiments, and/or configurations hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and ⁇ or reducing cost of implementation.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Architecture (AREA)
- Telephone Function (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
- The present application is a continuation of and claims priority to U.S. patent application Ser. Nos.: (1) Ser. No. 14/252,863, filed on Apr. 15, 2014, of the same title; (2) Ser. No. 14/252,865, filed on Apr. 15, 2014, entitled “User Profile Exchange via Vehicle Supported Communications Protocol”; (3) Ser. No. 14/252,868, filed on Apr. 15, 2014, entitled “Transfer of User Profile Data via Vehicle Agency Control”; (4) Ser. No. 15/099,413, filed on Apr. 14, 2016, entitled “Guest Vehicle User Reporting,” which is a continuation of U.S. patent application Ser. No. 14/252,871, filed on Apr. 15, 2014, of the same title; and (5) Ser. No. 14/831,696, filed on Aug. 20, 2015, entitled “Parental Control over Vehicle Features and Child Alert System,” which is a continuation of U.S. patent application Ser. No. 14/252,876, filed on Apr. 15, 2014, of the same title. Each of the foregoing applications claims the benefits of and priority, under 35 U.S.C. § 119(e), to U.S. Provisional Application Ser. No. 61/811,981, filed on Apr. 15, 2013, entitled “Functional Specification for a Next Generation Automobile”; 61/865,954, filed on Aug. 14, 2013, entitled “Gesture Control of Vehicle Features”; 61/870,698, filed on Aug. 27, 2013, entitled “Gesture Control and User Profiles Associated with Vehicle Features”; 61/891,217, filed on Oct. 15, 2013, entitled “Gesture Control and User Profiles Associated with Vehicle Features”; 61/904,205, filed on Nov. 14, 2013, entitled “Gesture Control and User Profiles Associated with Vehicle Features”; 61/924,572, filed on Jan. 7, 2014, entitled “Gesture Control and User Profiles Associated with Vehicle Features”; and 61/926,749, filed on Jan. 13, 2014, entitled “Method and System for Providing Infotainment in a Vehicle.” The entire disclosures of the applications listed above are hereby incorporated by reference, in their entirety, for all that they teach and for all purposes.
- This application is also related to U.S. patent application Ser. No. 13/420,236, filed on Mar. 14, 2012, entitled, “Configurable Vehicle Console”; Ser. No. 13/420,240, filed on Mar. 14, 2012, entitled “Removable, Configurable Vehicle Console”; Ser. No. 13/462,593, filed on May 2, 2012, entitled “Configurable Dash Display”; Ser. No. 13/462,596, filed on May 2, 2012, entitled “Configurable Heads-Up Dash Display”; Ser. No. 13/679,459, filed on Nov. 16, 2012, entitled “Vehicle Comprising Multi-Operating System” (Attorney Docket No. 6583-228); Ser. No. 13/679,234, filed on Nov. 16, 2012, entitled “Gesture Recognition for On-Board Display” (Attorney Docket No. 6583-229); Ser. No. 13/679,412, filed on Nov. 16, 2012, entitled “Vehicle Application Store for Console” (Attorney Docket No. 6583-230); Ser. No. 13/679,857, filed on Nov. 16, 2012, entitled “Sharing Applications/Media Between Car and Phone (Hydroid)” (Attorney Docket No. 6583-231); Ser. No. 13/679,878, filed on Nov. 16, 2012, entitled “In-Cloud Connection for Car Multimedia” (Attorney Docket No. 6583-232); Ser. No. 13/679,875, filed on Nov. 16, 2012, entitled “Music Streaming” (Attorney Docket No. 6583-233); Ser. No. 13/679,676, filed on Nov. 16, 2012, entitled “Control of Device Features Based on Vehicle State” (Attorney Docket No. 6583-234); Ser. No. 13/678,673, filed on Nov. 16, 2012, entitled “Insurance Tracking” (Attorney Docket No. 6583-235); Ser. No. 13/678,691, filed on Nov. 16, 2012, entitled “Law Breaking/Behavior Sensor” (Attorney Docket No. 6583-236); Ser. No. 13/678,699, filed on Nov. 16, 2012, entitled “Etiquette Suggestion” (Attorney Docket No. 6583-237); Ser. No. 13/678,710, filed on Nov. 16, 2012, entitled “Parking Space Finder Based on Parking Meter Data” (Attorney Docket No. 6583-238); Ser. No. 13/678,722, filed on Nov. 16, 2012, entitled “Parking Meter Expired Alert” (Attorney Docket No. 6583-239); Ser. No. 13/678,726, filed on Nov. 16, 2012, entitled “Object Sensing (Pedestrian Avoidance/Accident Avoidance)” (Attorney Docket No. 6583-240); Ser. No. 13/678,735, filed on Nov. 16, 2012, entitled “Proximity Warning Relative to Other Cars” (Attorney Docket No. 6583-241); Ser. No. 13/678,745, filed on Nov. 16, 2012, entitled “Street Side Sensors” (Attorney Docket No. 6583-242); Ser. No. 13/678,753, filed on Nov. 16, 2012, entitled “Car Location” (Attorney Docket No. 6583-243); Ser. No. 13/679,441, filed on Nov. 16, 2012, entitled “Universal Bus in the Car” (Attorney Docket No. 6583-244); Ser. No. 13/679,864, filed on Nov. 16, 2012, entitled “Mobile Hot Spot/Router/Application Share Site or Network” (Attorney Docket No. 6583-245); Ser. No. 13/679,815, filed on Nov. 16, 2012, entitled “Universal Console Chassis for the Car” (Attorney Docket No. 6583-246); Ser. No. 13/679,476, filed on Nov. 16, 2012, entitled “Vehicle Middleware” (Attorney Docket No. 6583-247); Ser. No. 13/679,306, filed on Nov. 16, 2012, entitled “Method and System for Vehicle Data Collection Regarding Traffic” (Attorney Docket No. 6583-248); Ser. No. 13/679,369, filed on Nov. 16, 2012, entitled “Method and System for Vehicle Data Collection” (Attorney Docket No. 6583-249); Ser. No. 13/679,680, filed on Nov. 16, 2012, entitled “Communications Based on Vehicle Diagnostics and Indications” (Attorney Docket No. 6583-250); Ser. No. 13/679,443, filed on Nov. 16, 2012, entitled “Method and System for Maintaining and Reporting Vehicle Occupant Information” (Attorney Docket No. 6583-251); Ser. No. 13/678,762, filed on Nov. 16, 2012, entitled “Behavioral Tracking and Vehicle Applications” (Attorney Docket No. 6583-252); Ser. No. 13/679,292, filed Nov. 16, 2012, entitled “Branding of Electrically Propelled Vehicles Via the Generation of Specific Operating Output” (Attorney Docket No. 6583-258); Ser. No. 13/679,400, filed Nov. 16, 2012, entitled “Vehicle Climate Control” (Attorney Docket No. 6583-313); Ser. No. 13/840,240, filed on Mar. 15, 2013, entitled “Improvements to Controller Area Network Bus” (Attorney Docket No. 6583-314); Ser. No. 13/678,773, filed on Nov. 16, 2012, entitled “Location Information Exchange Between Vehicle and Device” (Attorney Docket No. 6583-315); Ser. No. 13/679,887, filed on Nov. 16, 2012, entitled “In Car Communication Between Devices” (Attorney Docket No. 6583-316); Ser. No. 13/679,842, filed on Nov. 16, 2012, entitled “Configurable Hardware Unit for Car Systems” (Attorney Docket No. 6583-317); Ser. No. 13/679,204, filed on Nov. 16, 2012, entitled “Feature Recognition for Configuring a Vehicle Console and Associated Devices” (Attorney Docket No. 6583-318); Ser. No. 13/679,350, filed on Nov. 16, 2012, entitled “Configurable Vehicle Console” (Attorney Docket No. 6583-412); Ser. No. 13/679,358, filed on Nov. 16, 2012, entitled “Configurable Dash Display” (Attorney Docket No. 6583-413); Ser. No. 13/679,363, filed on Nov. 16, 2012, entitled “Configurable Heads-Up Dash Display” (Attorney Docket No. 6583-414); and Ser. No. 13/679,368, filed on Nov. 16, 2012, entitled “Removable, Configurable Vehicle Console” (Attorney Docket No. 6583-415). The entire disclosures of the applications listed above are hereby incorporated by reference, in their entirety, for all that they teach and for all purposes.
- This application is also related to PCT Patent Application Nos. PCT/US14/______, filed on Apr. 15, 2014, entitled, “Building Profiles Associated with Vehicle Users” (Attorney Docket No. 6583-543-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Access and Portability of User Profiles Stored as Templates” (Attorney Docket No. 6583-544-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “User Interface and Virtual Personality Presentation Based on User Profile” (Attorney Docket No. 6583-547-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Creating Targeted Advertising Profiles Based on User Behavior” (Attorney Docket No. 6583-549-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Behavior Modification via Altered Map Routes Based on User Profile Information” (Attorney Docket No. 6583-550-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Vehicle Location-Based Home Automation Triggers” (Attorney Docket No. 6583-556-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Vehicle Initiated Communications with Third Parties via Virtual Personalities” (Attorney Docket No. 6583-559-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Vehicle Intruder Alert Detection and Indication” (Attorney Docket No. 6583-562-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Driver Facts Behavior Information Storage System” (Attorney Docket No. 6583-565-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Synchronization Between Vehicle and User Device Calendar” (Attorney Docket No. 6583-567-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “User Gesture Control of Vehicle Features” (Attorney Docket No. 6583-569-PCT); PCT/US14/______, filed on Apr. 15, 2014, entitled “Central Network for the Automated Control of Vehicular Traffic” (Attorney Docket No. 6583-574-PCT); and PCT/US14/______, filed on Apr. 15, 2014, entitled “Vehicle-Based Multimode Discovery” (Attorney Docket No. 6583-585-PCT). The entire disclosures of the applications listed above are hereby incorporated by reference, in their entirety, for all that they teach and for all purposes.
- Whether using private, commercial, or public transport, the movement of people and/or cargo has become a major industry. In today's interconnected world, daily travel is essential to engaging in commerce. Commuting to and from work can account for a significant portion of a traveler's day. As a result, vehicle manufacturers have begun to focus on making this commute, and other journeys, more enjoyable.
- Currently, vehicle manufacturers attempt to entice travelers to use a specific conveyance based on any number of features. Most of these features focus on vehicle safety or efficiency. From the addition of safety-restraints, air-bags, and warning systems to more efficient engines, motors, and designs, the vehicle industry has worked to appease the supposed needs of the traveler. Recently, however, vehicle manufactures have shifted their focus to user and passenger comfort as a primary concern Making an individual more comfortable while traveling instills confidence and pleasure in using a given vehicle, increasing an individual's preference for a given manufacturer and/or vehicle type.
- One way to instill comfort in a vehicle is to create an environment within the vehicle similar to that of an individual's home. Integrating features in a vehicle that are associated with comfort found in an individual's home can ease a traveler's transition from home to vehicle. Several manufacturers have added comfort features in vehicles such as the following: leather seats, adaptive and/or personal climate control systems, music and media players, ergonomic controls, and, in some cases, Internet connectivity. However, because these manufacturers have added features to a conveyance, they have built comfort around a vehicle and failed to build a vehicle around comfort.
- There is a need for a vehicle ecosystem, which can integrate both physical and mental comforts, while seamlessly communicating with current electronic devices to result in a totally intuitive and immersive user experience. These and other needs are addressed by the various aspects, embodiments, and/or configurations of the present disclosure. Also, while the disclosure is presented in terms of exemplary and optional embodiments, it should be appreciated that individual aspects of the disclosure can be separately claimed.
- Exemplary aspects are directed toward:
- A system to access one or more user profiles that govern one or more vehicle functions comprising: means for verifying, using a processor, one or more of biometric information, gesture recognition, facial recognition and device identification information, that a user has authority to access the one or more user profiles, the one or more profiles being stored in one or more of a vehicle, a cloud and a communications device; and means for allowing the user to make one or more edits to the one or more user profiles.
- A system to associate a user profile with a vehicle comprising:
- an import/export module adapted to receive the user profile from one or more of a communications device, a cloud, another vehicle and a computing device;
- a profile subsystem module adapted to integrate the user profile into the vehicle; and
- a position detection module adapted to determine a position of the user in the vehicle and one or more of enable and disable certain settings or preferences in the profile based on the determined position.
- Any of the above aspects, further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- Any of the above aspects, further comprising a dock adapted to pair the communications device with the vehicle.
- Any of the above aspects, wherein feedback is provided to the user via a display of which settings or preferences were enabled or disabled.
- Any of the above aspects, wherein the determined position is driver, front seat passenger, back seat passenger or front seat passenger/alternate driver.
- Any of the above aspects, wherein a communication session is established between the communications device and the vehicle.
- Any of the above aspects, wherein the user profile is received from another vehicle.
- Any of the above aspects, wherein the user profile is retrieved from a rental car agency profile repository.
- Any of the above aspects, wherein the user profile is exported to one or more of the communications device, the cloud, another vehicle and the computing device.
- Any of the above aspects, wherein the user profile on the communications device is updated upon the user leaving the vehicle.
- Any of the above aspects, wherein an updated profile is received at the communications device, and both the updated profile and the user profile are stored.
- Any of the above aspects, wherein a user can select from multiple profiles for use in the vehicle.
- A method to associate a user profile with a vehicle comprising:
- receiving the user profile from one or more of a communications device, a cloud, another vehicle and a computing device;
- integrating the user profile into the vehicle; and
- determining a position of the user in the vehicle and one or more of enable and disable certain settings or preferences in the profile based on the determined position.
- Any of the above aspects, further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- Any of the above aspects, further comprising docking the communications device with the vehicle.
- Any of the above aspects, further comprising providing feedback to the user via a display of which settings or preferences were enabled or disabled.
- Any of the above aspects, wherein the determined position is driver, front seat passenger, back seat passenger or front seat passenger/alternate driver.
- Any of the above aspects, further comprising establishing a communication session between the communications device and the vehicle.
- Any of the above aspects, wherein the user profile is received from another vehicle.
- Any of the above aspects, wherein the user profile is retrieved from a rental car agency profile repository.
- Any of the above aspects, wherein the user profile is exported to one or more of the communications device, the cloud, another vehicle and the computing device.
- Any of the above aspects, wherein the user profile on the communications device is updated upon the user leaving the vehicle.
- Any of the above aspects, wherein an updated profile is received at the communications device, and both the updated profile and the user profile are stored.
- Any of the above aspects, wherein a user can select from multiple profiles for use in the vehicle.
- A non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to associate a user profile with a vehicle comprising:
- receiving the user profile from one or more of a communications device, a cloud, another vehicle and a computing device;
- integrating the user profile into the vehicle; and
- determining a position of the user in the vehicle and one or more of enable and disable certain settings or preferences in the profile based on the determined position.
- Any of the above aspects, further comprising utilizing one or more of NFC, RFID, Bluetooth®, wireless and IR communications to transfer the user profile.
- A system to associate a user profile with a vehicle comprising:
- means for receiving the user profile from one or more of a communications device, a cloud, another vehicle and a computing device;
- means for integrating the user profile into the vehicle; and
- means for determining a position of the user in the vehicle and one or more of enable and disable certain settings or preferences in the profile based on the determined position.
- A system to associate a user profile with a vehicle comprising:
- a system adapted to receive a reservation for a vehicle rental, the system querying a user if they would like to associate their user profile with a rental vehicle; and
- when the user would like to associate their user profile with the rental vehicle, locating and uploading their user profile and associating their user profile with the reservation, and
- when the user does not wish to associate their user profile with the rental vehicle, querying the user if they would like to create a new profile or rent the vehicle without a profile.
- Any of the above aspects, wherein the system further queries the user to associate a position in the vehicle with their user profile.
- Any of the above aspects, wherein the system further queries the user to associate a position in the vehicle with one or more additional user profiles.
- Any of the above aspects, further comprising an advertising module adapted to send one or more ads to one or more of the rental vehicle and a communications device associated with the user.
- Any of the above aspects, wherein the user profile is initially stored on a communications device, a tablet, a smartphone and in a cloud.
- Any of the above aspects, wherein a third party is capable of associating the user profile with the reservation.
- Any of the above aspects, wherein, after completion of the reservation, the user is provided the option of associating their profile back with their communication device.
- Any of the above aspects, wherein the communications device is used as a key for the vehicle.
- Any of the above aspects, wherein target advertising is provided to the vehicle at least based on the profile.
- Any of the above aspects, wherein the user's profile is locatable by the system through the use of a telephone number.
- Any of the above aspects, wherein the user's profile is automatically associated with a specific vehicle upon completion of a rental contract.
- A method to associate a user profile with a vehicle comprising:
- receiving a reservation for a vehicle rental, the system querying a user if they would like to associate their user profile with a rental vehicle; and
- when the user would like to associate their user profile with the rental vehicle, locating and uploading their user profile and associating their user profile with the reservation, and
- when the user does not wish to associate their user profile with the rental vehicle, querying the user if they would like to create a new profile or rent the vehicle without a profile.
- Any of the above aspects, further comprising querying the user to associate a position in the vehicle with their user profile.
- Any of the above aspects, further comprising querying the user to associate a position in the vehicle with one or more additional user profiles.
- Any of the above aspects, further comprising sending one or more ads to one or more of the rental vehicle and a communications device associated with the user.
- Any of the above aspects, wherein the user profile is initially stored on a communications device, a tablet, a smartphone and in a cloud.
- Any of the above aspects, wherein a third party is capable of associating the user profile with the reservation.
- Any of the above aspects, wherein, after completion of the reservation, the user is provided the option of associating their profile back with their communication device.
- Any of the above aspects, wherein the communications device is used as a key for the vehicle.
- Any of the above aspects, wherein target advertising is provided to the vehicle at least based on the profile.
- Any of the above aspects, wherein the user's profile is locatable by the system through the use of a telephone number.
- Any of the above aspects, wherein the user's profile is automatically associated with a specific vehicle upon completion of a rental contract.
- A non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to associate a user profile with a vehicle comprising:
- receiving a reservation for a vehicle rental, the system querying a user if they would like to associate their user profile with a rental vehicle; and
- when the user would like to associate their user profile with the rental vehicle, locating and uploading their user profile and associating their user profile with the reservation, and
- when the user does not wish to associate their user profile with the rental vehicle, querying the user if they would like to create a new profile or rent the vehicle without a profile.
- A system for associating a user profile with a vehicle comprising:
- means for receiving a reservation for a vehicle rental; and
- means for querying a user if they would like to associate their user profile with a rental vehicle; and
- when the user would like to associate their user profile with the rental vehicle, locating and uploading their user profile and associating their user profile with the reservation, and
- when the user does not wish to associate their user profile with the rental vehicle, querying the user if they would like to create a new profile or rent the vehicle without a profile.
- A system that reports one or more vehicle conditions comprising:
- a vehicle reporting module adapted to receive one or more of a request, a smart calendar item, a trigger and context information, and determine what one or more types of information should be monitored;
- a communication system adapted to forward one or more of the one or more types of information to one or more destinations.
- Any of the above aspects, wherein the one or more destinations include a smartphone, a communications device and a remote access device.
- Any of the above aspects, wherein a smart calendar module initiates one or more triggers, the initiation based on one or more calendared events.
- Any of the above aspects, wherein a context module determines context of the vehicle and based on one or more thresholds, initiates the trigger.
- Any of the above aspects, wherein a context module cooperates with a breathalyzer and determines when monitoring should commence.
- Any of the above aspects, wherein one or more of images, video, audio, GPS information, location information, passenger information and time at location information are monitored.
- Any of the above aspects, wherein a parental control module initiates the request to begin monitoring.
- Any of the above aspects, wherein one or more of an expression, facial ID and gestures are the trigger.
- Any of the above aspects, wherein a remote access device can establish one or more of audio and video communication with the vehicle, and can also control one or more vehicle functions.
- Any of the above aspects, wherein the remote access device is a communications device, a smartphone, a tablet computer and a computer.
- A method to report one or more vehicle conditions comprising:
- receiving one or more of a request, a smart calendar item, a trigger and context information, and determine what one or more types of information should be monitored;
- forwarding one or more of the one or more types of information to one or more destinations.
- Any of the above aspects, wherein the one or more destinations include a smartphone, a communications device and a remote access device.
- Any of the above aspects, wherein a smart calendar module initiates one or more triggers, the initiation based on one or more calendared events.
- Any of the above aspects, wherein a context module determines context of the vehicle and based on one or more thresholds, initiates the trigger.
- Any of the above aspects, wherein a context module cooperates with a breathalyzer and determines when monitoring should commence.
- Any of the above aspects, wherein one or more of images, video, audio, GPS information, location information, passenger information and time at location information are monitored.
- Any of the above aspects, wherein a parental control module initiates the request to begin monitoring.
- Any of the above aspects, wherein one or more of an expression, facial ID and gestures are the trigger.
- Any of the above aspects, wherein a remote access device can establish one or more of audio and video communication with the vehicle, and can also control one or more vehicle functions.
- Any of the above aspects, wherein the remote access device is a communications device, a smartphone, a tablet computer and a computer.
- A non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a method to report one or more vehicle conditions comprising:
- receiving one or more of a request, a smart calendar item, a trigger and context information, and determine what one or more types of information should be monitored;
- forwarding one or more of the one or more types of information to one or more destinations.
- A system to report one or more vehicle conditions comprising:
- means for receiving one or more of a request, a smart calendar item, a trigger and context information, and determine what one or more types of information should be monitored;
- means for forwarding one or more of the one or more types of information to one or more destinations.
- A parental control system for a vehicle comprising:
- a parental control module adapted to limit one or more vehicle functions based on one or more rules; and
a profile module adapted to interact with the parental control module to limit the one or more vehicle functions based on whether the profile is associated with a driver or a passenger. - Any of the above aspects, wherein vehicle reporting is activated.
- Any of the above aspects, wherein context sensing is enabled.
- Any of the above aspects, wherein communications are established with one or more remote devices.
- Any of the above aspects, wherein one or more rules based functions are enabled or disabled, wherein the one or more rules based functions include at least one vehicle operational function.
- Any of the above aspects, wherein real-time communications are established between the vehicle and a communications device or a computing device.
- Any of the above aspects, wherein global context awareness is enabled and communications established with one or more smart systems.
- Any of the above aspects, wherein the parental control module is activated based on one or more of a facial recognition and a profile associated with the vehicle.
- Any of the above aspects, wherein real-time communications audio or video communications are established between the vehicle and a communications device or a computing device.
- Any of the above aspects, wherein the one or more vehicle functions are limited based on a determined context of one or more of the vehicle and one or more passengers.
- Any of the above aspects, wherein information from a local or remote breathalyzer is used as input to determine whether to limit the one or more vehicle functions.
- A parental control method for a vehicle comprising:
- limiting one or more vehicle functions based on one or more rules; and
interacting with the parental control module to limit the one or more vehicle functions based on whether the profile is associated with a driver or a passenger. - Any of the above aspects, wherein vehicle reporting is activated.
- Any of the above aspects, wherein context sensing is enabled.
- Any of the above aspects, wherein communications are established with one or more remote devices.
- Any of the above aspects, wherein one or more rules based functions are enabled or disabled, wherein the one or more rules based functions include at least one vehicle operational function.
- Any of the above aspects, wherein real-time communications are established between the vehicle and a communications device or a computing device.
- Any of the above aspects, wherein global context awareness is enabled and communications established with one or more smart systems.
- Any of the above aspects, wherein the parental control module is activated based on one or more of a facial recognition and a profile associated with the vehicle.
- Any of the above aspects, wherein real-time communications audio or video communications are established between the vehicle and a communications device or a computing device.
- Any of the above aspects, wherein the one or more vehicle functions are limited based on a determined context of one or more of the vehicle and one or more passengers.
- Any of the above aspects, wherein information from a local or remote breathalyzer is used as input to determine whether to limit the one or more vehicle functions.
- A parental control system for a vehicle comprising:
- means for limiting one or more vehicle functions based on one or more rules; and
means for interacting with the parental control module to limit the one or more vehicle functions based on whether the profile is associated with a driver or a passenger. - A non-transitory computer readable information storage media having stored thereon instructions, that when executed by a processor, cause to be performed a parental control method for a vehicle comprising:
- limiting one or more vehicle functions based on one or more rules; and
interacting with the parental control module to limit the one or more vehicle functions based on whether the profile is associated with a driver or a passenger. - The present disclosure can provide a number of advantages depending on the particular aspect, embodiment, and/or configuration. The above and other advantages will be apparent from the disclosure.
- The phrases “at least one,” “one or more,” and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
- The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more,” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably.
- The term “automatic” and variations thereof, as used herein, refer to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before the performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material.”
- The term “automotive navigation system” can refer to a satellite navigation system designed for use in vehicles. It typically uses a GPS navigation device to acquire position data to locate the user on a road in the unit's map database. Using the road database, the unit can give directions to other locations along roads also in its database. Dead reckoning using distance data from sensors attached to the drivetrain, a gyroscope and an accelerometer can be used for greater reliability, as GPS signal loss and/or multipath can occur due to urban canyons or tunnels.
- The term “bus” and variations thereof, as used herein, can refer to a subsystem that transfers information and/or data between various components. A bus generally refers to the collection communication hardware interface, interconnects, bus architecture, standard, and/or protocol defining the communication scheme for a communication system and/or communication network. A bus may also refer to a part of a communication hardware that interfaces the communication hardware with the interconnects that connect to other components of the corresponding communication network. The bus may be for a wired network, such as a physical bus, or wireless network, such as part of an antenna or hardware that couples the communication hardware with the antenna. A bus architecture supports a defined format in which information and/or data is arranged when sent and received through a communication network. A protocol may define the format and rules of communication of a bus architecture.
- The terms “communication device,” “smartphone,” and “mobile device,” and variations thereof, as used herein, can be used interchangeably and may include any type of device capable of communicating with one or more of another device and/or across a communications network, via a communications protocol, and the like. Exemplary communication devices may include but are not limited to smartphones, handheld computers, laptops, netbooks, notebook computers, subnotebooks, tablet computers, scanners, portable gaming devices, phones, pagers, GPS modules, portable music players, and other Internet-enabled and/or network-connected devices.
- A “communication modality” can refer to any protocol- or standard defined or specific communication session or interaction, such as Voice-Over-Internet-Protocol (“VoIP), cellular communications (e.g., IS-95, 1G, 2G, 3G, 3.5G, 4G, 4G/IMT-Advanced standards, 3GPP, WIMAX™, GSM, CDMA, CDMA2000, EDGE, 1×EVDO, iDEN, GPRS, HSPDA, TDMA, UMA, UMTS, ITU-R, and 5G), Bluetooth™, text or instant messaging (e.g., AIM, Blauk, eBuddy, Gadu-Gadu, IBM Lotus Sametime, ICQ, iMessage, IMVU, Lync, MXit, Paltalk, Skype, Tencent QQ, Windows Live Messenger™ or MSN Messenger™, Wireclub, Xfire, and Yahoo! Messenger™), email, Twitter (e.g., tweeting), Digital Service Protocol (DSP), and the like.
- The term “communication system” or “communication network” and variations thereof, as used herein, can refer to a collection of communication components capable of one or more of transmission, relay, interconnect, control, or otherwise manipulate information or data from at least one transmitter to at least one receiver. As such, the communication may include a range of systems supporting point-to-point or broadcasting of the information or data. A communication system may refer to the collection individual communication hardware as well as the interconnects associated with and connecting the individual communication hardware. Communication hardware may refer to dedicated communication hardware or may refer a processor coupled with a communication means (i.e., an antenna) and running software capable of using the communication means to send and/or receive a signal within the communication system. Interconnect refers some type of wired or wireless communication link that connects various components, such as communication hardware, within a communication system. A communication network may refer to a specific setup of a communication system with the collection of individual communication hardware and interconnects having some definable network topography. A communication network may include wired and/or wireless network having a pre-set to an ad hoc network structure.
- The term “computer-readable medium,” as used herein refers to any tangible storage and/or transmission medium that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, non-volatile random access memory (NVRAM), or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a compact disc read only memory (CD-ROM), any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), and erasable programmable read only memory EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. A digital file attachment to an e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored. It should be noted that any computer readable medium that is not a signal transmission may be considered non-transitory.
- The terms dash and dashboard and variations thereof, as used herein, may be used interchangeably and can be any panel and/or area of a vehicle disposed adjacent to an operator, user, and/or passenger. Dashboards may include, but are not limited to, one or more control panel(s), instrument housing(s), head unit(s), indicator(s), gauge(s), meter(s), light(s), audio equipment, computer(s), screen(s), display(s), HUD unit(s), and graphical user interface(s).
- The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element.
- The term “desktop” refers to a metaphor used to portray systems. A desktop is generally considered a “surface” that may include pictures, called icons, widgets, folders, etc. that can activate and/or show applications, windows, cabinets, files, folders, documents, and other graphical items. The icons are generally selectable to initiate a task through user interface interaction to allow a user to execute applications and/or conduct other operations.
- The term “display” refers to a portion of a physical screen used to display the output of a computer to a user.
- The term “displayed image” refers to an image produced on the display. A typical displayed image is a window or desktop. The displayed image may occupy all or a portion of the display.
- The term “display orientation” refers to the way in which a rectangular display is oriented for viewing. The two most common types of display orientations are portrait and landscape. In landscape mode, the display is oriented such that the width of the display is greater than the height of the display (such as a 4:3 ratio, which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16 units wide and 9 units tall). Stated differently, the longer dimension of the display is oriented substantially horizontal in landscape mode while the shorter dimension of the display is oriented substantially vertical. In the portrait mode, by contrast, the display is oriented such that the width of the display is less than the height of the display. Stated differently, the shorter dimension of the display is oriented substantially horizontal in the portrait mode while the longer dimension of the display is oriented substantially vertical. A multi-screen display can have one composite display that encompasses all the screens. The composite display can have different display characteristics based on the various orientations of the device.
- The term “electronic address” can refer to any contactable address, including a telephone number, instant message handle, e-mail address, Uniform Resource Locator (“URL”), Global Universal Identifier (“GUID”), Universal Resource Identifier (“URI”), Address of Record (“AOR”), electronic alias in a database, etc., combinations thereof.
- The term “gesture” refers to a user action that expresses an intended idea, action, meaning, result, and/or outcome. The user action can include manipulating a device (e.g., opening or closing a device, changing a device orientation, moving a trackball or wheel, etc.), movement of a body part in relation to the device, movement of an implement or tool in relation to the device, audio inputs, etc. A gesture may be made on a device (such as on the screen) or with the device to interact with the device.
- The term “gesture capture” refers to a sense or otherwise a detection of an instance and/or type of user gesture. The gesture capture can be received by sensors in three-dimensional space. Further, the gesture capture can occur in one or more areas of a screen, for example, on a touch-sensitive display or a gesture capture region. A gesture region can be on the display, where it may be referred to as a touch sensitive display, or off the display, where it may be referred to as a gesture capture area.
- The terms “infotainment” and “infotainment system” may be used interchangeably and can refer to the hardware/software products, data, content, information, and/or systems, which can be built into or added to vehicles to enhance driver and/or passenger experience. Infotainment may provide media and/or multimedia content. An example is information-based media content or programming that also includes entertainment content.
- A “multi-screen application” refers to an application that is capable of producing one or more windows that may simultaneously occupy one or more screens. A multi-screen application commonly can operate in single-screen mode in which one or more windows of the application are displayed only on one screen or in multi-screen mode in which one or more windows are displayed simultaneously on multiple screens.
- A “single-screen application” refers to an application that is capable of producing one or more windows that may occupy only a single screen at a time.
- The terms “online community,” “e-community,” or “virtual community” can mean a group of people that interact via a computer network, for social, professional, educational, and/or other purposes. The interaction can use a variety of media formats, including wikis, blogs, chat rooms, Internet forums, instant messaging, email, and other forms of electronic media. Many media formats may be used in social software separately and/or in combination, including text-based chat rooms and forums that use voice, video text or avatars.
- The term “satellite positioning system receiver” can refer to a wireless receiver or transceiver to receive and/or send location signals from and/or to a satellite positioning system (SPS), such as the Global Positioning System (“GPS”) (US), GLONASS (Russia), Galileo positioning system (EU), Compass navigation system (China), and Regional Navigational Satellite System (India).
- The term “social network service” may include a service provider that builds online communities of people, who share interests and/or activities, or who are interested in exploring the interests and/or activities of others. Social network services can be network-based and may provide a variety of ways for users to interact, such as e-mail and instant messaging services.
- The term “social network” can refer to a network-based social network.
- The term “screen,” “touch screen,” “touchscreen,” or “touch-sensitive display” refers to a physical structure that enables the user to interact with the computer by touching areas on the screen and provides information to a user through a display. The touch screen may sense user contact in a number of different ways, such as by a change in an electrical parameter (e.g., resistance or capacitance), acoustic wave variations, infrared radiation proximity detection, light variation detection, and the like. In a resistive touch screen, for example, normally separated conductive and resistive metallic layers in the screen pass an electrical current. When a user touches the screen, the two layers make contact in the contacted location, whereby a change in electrical field is noted and the coordinates of the contacted location calculated. In a capacitive touch screen, a capacitive layer stores electrical charge, which is discharged to the user upon contact with the touch screen, causing a decrease in the charge of the capacitive layer. The decrease is measured, and the contacted location coordinates determined. In a surface acoustic wave touch screen, an acoustic wave is transmitted through the screen, and the acoustic wave is disturbed by user contact. A receiving transducer detects the user contact instance and determines the contacted location coordinates.
- The term “window” refers to a, typically rectangular, displayed image on at least part of a display that contains or provides content different from the rest of the screen. The window may obscure the desktop. The dimensions and orientation of the window may be configurable either by another module or by a user. When the window is expanded, the window can occupy substantially all of the display space on a screen or screens.
- The terms “determine,” “calculate,” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation, or technique.
- It shall be understood that the term “means,” as used herein, shall be given its broadest possible interpretation in accordance with 35 U.S.C.,
Section 112,Paragraph 6 or other applicable law. Accordingly, a claim incorporating the term “means” shall cover all structures, materials, or acts set forth herein, and all of the equivalents thereof. Further, the structures, materials or acts and the equivalents thereof shall include all those described in the summary of the invention, brief description of the drawings, detailed description, abstract, and claims themselves. - The terms “vehicle,” “car,” “automobile,” and variations thereof may be used interchangeably herein and can refer to a device or structure for transporting animate and/or inanimate or tangible objects (e.g., persons and/or things), such as a self-propelled conveyance. A vehicle as used herein can include any conveyance or model of a conveyance, where the conveyance was originally designed for the purpose of moving one or more tangible objects, such as people, animals, cargo, and the like. The term “vehicle” does not require that a conveyance moves or is capable of movement. Typical vehicles may include but are in no way limited to cars, trucks, motorcycles, busses, automobiles, trains, railed conveyances, boats, ships, marine conveyances, submarine conveyances, airplanes, space craft, flying machines, human-powered conveyances, and the like.
- The term “profile,” as used herein, can refer to any data structure, data store, and/or database that includes one or more items of information associated with a vehicle, a vehicle system, a device (e.g., a mobile device, laptop, mobile phone, etc.), or a person.
- The term “in communication with,” as used herein, refers to any coupling, connection, or interaction using electrical signals to exchange information or data, using any system, hardware, software, protocol, or format, regardless of whether the exchange occurs wirelessly or over a wired connection.
- The preceding is a simplified summary of the disclosure to provide an understanding of some aspects of the disclosure. This summary is neither an extensive nor exhaustive overview of the disclosure and its various aspects, embodiments, and/or configurations. It is intended neither to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure but to present selected concepts of the disclosure in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other aspects, embodiments, and/or configurations of the disclosure are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
-
FIG. 1 depicts an embodiment of a vehicle operating environment; -
FIG. 2 is a block diagram of an embodiment of a vehicle system; -
FIG. 3 is a block diagram of an embodiment of a vehicle control system environment; -
FIG. 4 is a block diagram of an embodiment of a vehicle communications subsystem; -
FIG. 5A is a first block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones; -
FIG. 5B is a second block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones; -
FIG. 5C is a third block diagram of an embodiment of a vehicle interior environment separated into areas and/or zones; -
FIG. 6A depicts an embodiment of a sensor configuration for a vehicle; -
FIG. 6B depicts an embodiment of a sensor configuration for a zone of a vehicle; -
FIG. 7A is a block diagram of an embodiment of interior sensors for a vehicle; -
FIG. 7B is a block diagram of an embodiment of exterior sensors for a vehicle; -
FIG. 8A is a block diagram of an embodiment of a media subsystem for a vehicle; -
FIG. 8B is a block diagram of an embodiment of a user and device interaction subsystem for a vehicle; -
FIG. 8C is a block diagram of an embodiment of a Navigation subsystem for a vehicle; -
FIG. 9 is a block diagram of an embodiment of a communications subsystem for a vehicle; -
FIG. 10 is a block diagram of an embodiment of a software architecture for the vehicle control system; -
FIG. 11A is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11B is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11C is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11D is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11E is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11F is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11G is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11H is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11I is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11J is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 11K is a graphical representation of an embodiment of a gesture that a user may perform to provide input to a vehicle control system; -
FIG. 12A is a diagram of an embodiment of a data structure for storing information about a user of a vehicle; -
FIG. 12B is a diagram of an embodiment of a data structure for storing information about a device associated with or in a vehicle; -
FIG. 12C is a diagram of an embodiment of a data structure for storing information about a system of a vehicle; -
FIG. 12D is a diagram of an embodiment of a data structure for storing information about a vehicle; -
FIG. 13 is a flow or process diagram of a method for storing one or more settings associated with a user; -
FIG. 14 is a flow or process diagram of a method for establishing one or more settings associated with a user; -
FIG. 15 is a flow or process diagram of a method for storing one or more settings associated with a user; -
FIG. 16 is a flow or process diagram of a method for storing one or more gestures associated with a user; -
FIG. 17 is a flow or process diagram of a method for reacting to a gesture performed by a user; -
FIG. 18 is a flow or process diagram of a method for storing health data associated with a user; -
FIG. 19 is a flow or process diagram of a method for reacting to a gesture performed by a user; -
FIG. 20 illustrates an embodiment of additional vehicle subsystems and components; -
FIG. 21 illustrates another embodiment of additional vehicle subsystems and components; -
FIG. 22 illustrates another embodiment of additional vehicle subsystems and components; -
FIG. 23 is a flowchart illustrating an exemplary method for profile management; -
FIG. 24 is a flowchart illustrating vehicle to mobile device communication; -
FIG. 25 is a flowchart illustrating an exemplary method for profile transferring; -
FIG. 26 is a flowchart illustrating an exemplary method for associating one or more profiles with a reservation; -
FIG. 27 is a flowchart illustrating an exemplary method for vehicle monitoring; -
FIG. 28 is a flowchart illustrating an exemplary method for parental control; -
FIG. 29 is a flowchart illustrating an exemplary method for global context awareness. - In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a letter that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference letter or label.
- Presented herein are embodiments of systems, devices, processes, data structures, user interfaces, etc. The embodiments may relate to an automobile and/or an automobile environment. The automobile environment can include systems associated with the automobile and devices or other systems in communication with the automobile and/or automobile systems. Furthermore, the systems can relate to communications systems and/or devices and may be capable of communicating with other devices and/or to an individual or group of individuals. Further, the systems can receive user input in unique ways. The overall design and functionality of the systems provide for an enhanced user experience making the automobile more useful and more efficient. As described herein, the automobile systems may be electrical, mechanical, electro-mechanical, software-based, and/or combinations thereof.
- A
vehicle environment 100 that may contain a vehicle ecosystem is shown inFIG. 1 . Thevehicle environment 100 can contain areas associated with a vehicle orconveyance 104. Thevehicle 104 is shown as a car but can be any type of conveyance. Theenvironment 100 can include at least three zones. Afirst zone 108 may be inside avehicle 104. Thezone 108 includes any interior space, trunk space, engine compartment, or other associated space within or associated with thevehicle 104. Theinterior zone 108 can be defined by one or more techniques, for example, geo-fencing. - A
second zone 112 may be delineated byline 120. Thezone 112 is created by a range of one or more sensors associated with thevehicle 104. Thus, thearea 112 is exemplary of the range of those sensors and what can be detected by those sensors associated with thevehicle 104. Although sensor range is shown as a fixed and continuous oval, the sensor range may be dynamic and/or discontinuous. For example, a ranging sensor (e.g., radar, lidar, ladar, etc.) may provide a variable range depending on output power, signal characteristics, or environmental conditions (e.g., rain, fog, clear, etc.). The rest of the environment includes all space beyond the range of the sensors and is represented byspace 116. Thus, theenvironment 100 may have anarea 116 that includes all areas beyond thesensor range 112. Thearea 116 may include locations of travel that thevehicle 104 may proceed to in the future. - An embodiment of a
vehicle system 200 is shown inFIG. 2 . Thevehicle system 200 may comprise hardware and/or software that conduct various operations for or with thevehicle 104. The operations can include, but are not limited to, providing information to theuser 216, receiving input from theuser 216, and controlling the functions or operation of thevehicle 104, etc. Thevehicle system 200 can include avehicle control system 204. Thevehicle control system 204 can be any type of computing system operable to conduct the operations as described herein. An example of a vehicle control system may be as described in conjunction withFIG. 3 . - The
vehicle control system 204 may interact with a memory orstorage system 208 that stores system data.System data 208 may be any type of data needed for thevehicle control system 204 to control effectively thevehicle 104. Thesystem data 208 can represent any type of database or other storage system. Thus, thesystem data 208 can be a flat file data system, an object-oriented data system, or some other data system that may interface with thevehicle control system 204. - The
vehicle control system 204 may communicate with a device oruser interface user interface symbol vehicle 104. Thedevice vehicle 104. Thus, thevehicle control system 204 can interface with thedevice - The device or
user interface user 216. Theuser 216 may thus interact with thevehicle control system 204 through the interface ordevice device device data 220 and/orprofile data 252. Thedevice data 220 can be any type of data that is used in conjunction with thedevice profile data 252 can be any type of data associated with at least oneuser 216 including, but in no way limited to, bioinformatics, medical information, driving history, personal information (e.g., home physical address, business physical address, contact addresses, likes, dislikes, hobbies, size, weight, occupation, business contacts —including physical and/or electronic addresses, personal contacts —including physical and/or electronic addresses, family members, and personal information related thereto, etc.), other user characteristics, advertising information, user settings and feature preferences, travel information, associated vehicle preferences, communication preferences, historical information (e.g., including historical, current, and/or future travel destinations), Internet browsing history, or other types of data. In any event, the data may be stored asdevice data 220 and/orprofile data 252 in a storage system similar to that described in conjunction withFIGS. 12A through 12D . - As an example, the
profile data 252 may include one or more user profiles. User profiles may be generated based on data gathered from one or more of vehicle preferences (e.g., seat settings, HVAC settings, dash configurations, and the like), recorded settings, geographic location information (e.g., provided by a satellite positioning system (e.g., GPS), Wi-Fi hotspot, cell tower data, etc.), mobile device information (such as mobile device electronic addresses, Internet browsing history and content, application store selections, user settings and enabled and disabled features, and the like), private information (such as user information from a social network, user presence information, user business account, and the like), secure data, biometric information, audio information from on board microphones, video information from on board cameras, Internet browsing history and browsed content using an on board computer and/or the local area network enabled by thevehicle 104, geographic location information (e.g., a vendor storefront, roadway name, city name, etc.), and the like. - The
profile data 252 may include one or more user accounts. User accounts may include access and permissions to one or more settings and/or feature preferences associated with thevehicle 104, communications, infotainment, content, etc. In one example, a user account may allow access to certain settings for a particular user, while another user account may deny access to the settings for another user, and vice versa. The access controlled by the user account may be based on at least one of a user account priority, role, permission, age, family status, a group priority (e.g., the user account priority of one or more users, etc.), a group age (e.g., the average age of users in the group, a minimum age of the users in the group, a maximum age of the users in the group, and/or combinations thereof, etc.). - For example, a
user 216 may be allowed to purchase applications (e.g., software, etc.) for thevehicle 104 and/or a device associated with thevehicle 104 based on information associated with the user account. This user account information may include a preferred payment method, permissions, and/or other account information. As provided herein, the user account information may be part of the user profile and/or other data stored in theprofile data 252. - As another example, an adult user (e.g., a user with an age of 18 years old and/or over, etc.) may be located in an area of a
vehicle 104, such as a rear passenger area. Continuing this example a child user (e.g., a user with an age of 17 years old and/or less, etc.) may be located in the same, or close, area. In this example, the user account information in theprofile data 252 associated with both the adult user and the child user may be used by thevehicle 104 in determining whether content is appropriate for the area given the age of the child user. For instance, a graphic movie containing violence (e.g., a movie associated with a mature rating, such as a Motion Picture Association of America (MPAA) rating of “R,” “NC-17,” etc.) may be suitable to present to a display device associated with the adult user but may not be acceptable to present to the display device if a 12-year old child user may see and/or hear the content of the movie. - The
vehicle control system 204 may also communicate with or through acommunication network 224. Thecommunication network 224 can represent any type of wireless and/or wired communication system that may be included within thevehicle 104 or operable to communicate outside thevehicle 104. Thus, thecommunication network 224 can include a local area communication capability and a wide area communication capability. For example, thecommunication network 224 can include a Bluetooth® wireless system, an 802.11x (e.g., 802.11G/802.11N/802.11AC, or the like, wireless system), a CAN bus, an Ethernet network within thevehicle 104, or other types of communication networks that may function with or be associated with thevehicle 104. Further, thecommunication network 224 can also include wide area communication capabilities, including one or more of, but not limited to, a cellular communication capability, satellite telephone communication capability, a wireless wide area network communication capability, or other types of communication capabilities that allow for thevehicle control system 204 to communicate outside thevehicle 104. - The
vehicle control system 204 may communicate through thecommunication network 224 to aserver 228 that may be located in a facility that is not within physical proximity to thevehicle 104. Thus, theserver 228 may represent a cloud computing system or cloud storage that allows thevehicle control system 204 to either gain access to further computing capabilities or to storage at a location outside of thevehicle 104. Theserver 228 can include a computer processor and memory and be similar to any computing system as understood to one skilled in the art. - Further, the
server 228 may be associated with storeddata 232. The storeddata 232 may be stored in any system or by any method, as described in conjunction withsystem data 208,device data 220, and/orprofile data 252. The storeddata 232 can include information that may be associated with one ormore users 216 or associated with one ormore vehicles 104. The storeddata 232, being stored in a cloud or in a distant facility, may be exchanged amongvehicles 104 or may be used by auser 216 in different locations or withdifferent vehicles 104. Additionally or alternatively, the server may be associated withprofile data 252 as provided herein. It is anticipated that theprofile data 252 may be accessed across thecommunication network 224 by one or more components of thesystem 200. Similar to the storeddata 232, theprofile data 252, being stored in a cloud or in a distant facility, may be exchanged amongvehicles 104 or may be used by auser 216 in different locations or withdifferent vehicles 104. - The
vehicle control system 204 may also communicate with one ormore sensors vehicle 104 or communicate with thevehicle 104.Vehicle sensors 242 may include one or more sensors for providing information to thevehicle control system 204 that determine or provide information about theenvironment 100 in which thevehicle 104 is operating. Embodiments of these sensors may be as described in conjunction withFIGS. 6A-7B .Non-vehicle sensor 236 can be any type of sensor that is not currently associated with thevehicle 104. For example,non-vehicle sensor 236 can be sensors in a traffic system operated by a third party that provides data to thevehicle control system 204. Further, the non-vehicle sensor(s) 236 can be other types of sensors which provide information about thedistant environment 116 or other information about thevehicle 104 or theenvironment 100. Thesenon-vehicle sensors 236 may be operated by third parties but provide information to thevehicle control system 204. Examples of information provided by thesensors 236 and that may be used by thevehicle control system 204 may include weather tracking data, traffic data, user health tracking data, vehicle maintenance data, or other types of data, which may provide environmental or other data to thevehicle control system 204. Thevehicle control system 204 may also perform signal processing of signals received from one ormore sensors vehicle 104 to an obstacle, and/or the estimation, blending, or fusion of a measured state parameter from multiple sensors such as multiple radar sensors or a combination of a ladar/lidar range sensor and a radar sensor. Signal processing of such sensor signal measurements may comprise stochastic signal processing, adaptive signal processing, and/or other signal processing techniques known to those skilled in the art. - The
various sensors more sensor memory 244. Embodiments of thesensor memory 244 may be configured to store data collected by thesensors vehicle 104,user 216, and/or environment, over time. The temperature data may be collected incrementally, in response to a condition, or at specific time periods. In this example, as the temperature data is collected, it may be stored in thesensor memory 244. In some cases, the data may be stored along with an identification of the sensor and a collection time associated with the data. Among other things, this stored data may include multiple data points and may be used to track changes in sensor measurements over time. As can be appreciated, thesensor memory 244 can represent any type of database or other storage system. - The
diagnostic communications module 256 may be configured to receive and transmit diagnostic signals and information associated with thevehicle 104. Examples of diagnostics signals and information may include, but is in no way limited to, vehicle system warnings, sensor data, vehicle component status, service information, component health, maintenance alerts, recall notifications, predictive analysis, and the like. Embodiments of thediagnostic communications module 256 may handle warning/error signals in a predetermined manner. The signals, for instance, can be presented to one or more of a third party, occupant,vehicle control system 204, and a service provider (e.g., manufacturer, repair facility, etc.). - Optionally, the
diagnostic communications module 256 may be utilized by a third party (i.e., a party other than theuser 216, etc.) in communicating vehicle diagnostic information. For instance, a manufacturer may send a signal to avehicle 104 to determine a status associated with one or more components associated with thevehicle 104. In response to receiving the signal, thediagnostic communications module 256 may communicate with thevehicle control system 204 to initiate a diagnostic status check. Once the diagnostic status check is performed, the information may be sent via thediagnostic communications module 256 to the manufacturer. This example may be especially useful in determining whether a component recall should be issued based on the status check responses returned from a certain number of vehicles. - Wired/wireless transceiver/
communications ports 260 may be included. The wired/wireless transceiver/communications ports 260 may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices. Examples of wired/wireless transceiver/communications ports 260 include Ethernet ports, Universal Serial Bus (USB) ports, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface ports. - An embodiment of a
vehicle control environment 300 including avehicle control system 204 may be as shown inFIG. 3 . Beyond thevehicle control system 204, thevehicle control environment 300 can include one or more of, but is not limited to, a power source and/or power control module 316, adata storage module 320, user interface(s)/input interface(s) 324,vehicle subsystems 328,user interaction subsystems 332, Global Positioning System (GPS)/Navigation subsystems 336, sensor(s) and/orsensor subsystems 340,communication subsystems 344,media subsystems 348, and/ordevice interaction subsystems 352. The subsystems, modules, components, etc. 316-352 may include hardware, software, firmware, computer readable media, displays, input devices, output devices, etc. or combinations thereof. The system, subsystems, modules, components, etc. 204, 316-352 may communicate over a network orbus 356. Thiscommunication bus 356 may be bidirectional and perform data communications using any known or future-developed standard or protocol. An example of thecommunication bus 356 may be as described in conjunction withFIG. 4 . - The
vehicle control system 204 can include aprocessor 304,memory 308, and/or an input/output (I/O)module 312. Thus, thevehicle control system 204 may be a computer system, which can comprise hardware elements that may be electrically coupled. The hardware elements may include one or more central processing units (CPUs) 304; one or more components of the I/O module 312 including input devices (e.g., a mouse, a keyboard, etc.) and/or one or more output devices (e.g., a display device, a printer, etc.). - The
processor 304 may comprise a general purpose programmable processor or controller for executing application programming or instructions. Theprocessor 304 may, optionally, include multiple processor cores, and/or implement multiple virtual processors. Additionally or alternatively, theprocessor 304 may include multiple physical processors. As a particular example, theprocessor 304 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like. Theprocessor 304 generally functions to run programming code or instructions implementing various functions of thevehicle control system 204. - The input/
output module 312 and associated ports may be included to support communications over wired or wireless networks or links, for example with other communication devices, server devices, and/or peripheral devices. Examples of an input/output module 312 include an Ethernet port, a Universal Serial Bus (USB) port, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface. - The
vehicle control system 204 may also include one ormore storage devices 308. By way of example,storage devices 308 may be disk drives, optical storage devices, solid-state storage devices such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like. Thevehicle control system 204 may additionally include a computer-readable storage media reader; a communications system (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.); and workingmemory 308, which may include RAM and ROM devices as described above. Thevehicle control system 204 may also include a processing acceleration unit, which can include a digital signal processor (DSP), a special-purpose processor, and/or the like. - The computer-readable storage media reader can further be connected to a computer-readable storage medium, together (and, optionally, in combination with storage device(s)) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information. The communications system may permit data to be exchanged with an external or internal network and/or any other computer or device described herein. Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices, and/or other machine readable mediums for storing information.
- The
vehicle control system 204 may also comprise software elements including an operating system and/or other code, as described in conjunction withFIG. 10 . It should be appreciated that alternates to thevehicle control system 204 may have numerous variations from that described herein. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed. - The power source and/or power control module 316 can include any type of power source, including, but not limited to, batteries, alternating current sources (from connections to a building power system or power line), solar cell arrays, etc. One or more components or modules may also be included to control the power source or change the characteristics of the provided power signal. Such modules can include one or more of, but is not limited to, power regulators, power filters, alternating current (AC) to direct current (DC) converters, DC to AC converters, receptacles, wiring, other converters, etc. The power source and/or power control module 316 functions to provide the
vehicle control system 204 and any other system with power. - The
data storage 320 can include any module for storing, retrieving, and/or managing data in one or more data stores and/or databases. The database or data stores may reside on a storage medium local to (and/or resident in) thevehicle control system 204 or in thevehicle 104. Alternatively, some of the data storage capability may be remote from thevehicle control system 204 or automobile, and in communication (e.g., via a network) to thevehicle control system 204. The database or data stores may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to thevehicle control system 204 may be stored locally on the respectivevehicle control system 204 and/or remotely, as appropriate. The databases or data stores may be a relational database, and thedata storage module 320 may be adapted to store, update, and retrieve data in response to specifically-formatted commands. Thedata storage module 320 may also perform data management functions for any flat file, object oriented, or other type of database or data store. - A first data store that may be part of the
vehicle control environment 300 is aprofile data store 252 for storing data about user profiles and data associated with the users. Asystem data store 208 can include data used by thevehicle control system 204 and/or one or more of the components 324-352 to facilitate the functionality described herein. Thedata stores 208 and/or 252 may be as described in conjunction withFIGS. 1 and/or 12A-12D . - The user interface/input interfaces 324 may be as described herein for providing information or data and/or for receiving input or data from a user.
Vehicle systems 328 can include any of the mechanical, electrical, electromechanical, computer, or other systems associated with the function of thevehicle 100. For example,vehicle systems 328 can include one or more of, but is not limited to, the steering system, the braking system, the engine and engine control systems, the electrical system, the suspension, the drive train, the cruise control system, the radio, the heating, ventilation, air conditioning (HVAC) system, the windows and/or doors, etc. These systems are well known in the art and will not be described further. - Examples of the other systems and subsystems 324-352 may be as described further herein. For example, the user interface(s)/input interface(s) 324 may be as described in
FIGS. 2 and 8B ; thevehicle subsystems 328 may be as described inFIG. 6a et. seq.; theuser interaction subsystem 332 may be as described in conjunction with the user/device interaction subsystem 817 ofFIG. 8B ; theNavigation subsystem 336 may be as described inFIGS. 6A and 8C ; the sensor(s)/sensor subsystem 340 may be as described inFIGS. 7A and 7B ; thecommunication subsystem 344 may be as described inFIGS. 2, 4, 5B, 5C, and 9 ; themedia subsystem 348 may be as described inFIG. 8A ; and, thedevice interaction subsystem 352 may be as described inFIG. 2 and in conjunction with the user/device interaction subsystem 817 ofFIG. 8B . -
FIG. 4 illustrates an optionalcommunications channel architecture 400 and associated communications components.FIG. 4 illustrates some of the optional components that can be interconnected via the communication channels/zones 404. Communication channels/zones 404 can carry information on one or more of a wired and/or wireless communications link with, in the illustrated example, there being three communications channels/zones, 408, 412, and 416. - This
optional environment 400 can also include anIP router 420, anoperator cluster 424, one ormore storage devices 428, one or more blades, such asmaster blade 432, andcomputational blades zones 404 can interconnect one or more displays, such as,remote display 1 444,remote display N 448, andconsole display 452. The communications channels/zones 404 also interconnect anaccess point 456, a Bluetooth® access point/USB hub 460, aFemtocell 464, astorage controller 468, that is connected to one or more ofUSB devices 472,DVDs 476, orother storage devices 480. To assist with managing communications within the communication channel, theenvironment 400 optionally includes afirewall 484 which will be discussed hereinafter in greater detail. Other components that could also share the communications channel/zones 404 includeGPS 488,media controller 492, which is connected to one ormore media sources 496, and one or more subsystems, such as subsystem switches 498. - Optionally, the communications channels/
zones 404 can be viewed as an I/O network or bus where the communications channels are carried on the same physical media. Optionally, thecommunication channels 404 can be split amongst one or more physical media and/or combined with one or more wireless communications protocols. Optionally, thecommunications channels 404 can be based on wireless protocols with no physical media interconnecting the various elements described herein. - The
environment 400 shown inFIG. 4 can include a collection of blade processors that are housed in a “crate.” The crate can have a PC-style backplane connector 408 and abackplane Ethernet 408 that allows the various blades to communicate with one another using, for example, an Ethernet. - Various other functional elements illustrated in
FIG. 4 can be integrated into this crate architecture with, as discussed hereinafter, various zones utilized for security. Optionally, as illustrated inFIG. 4 , thebackplane 404/408 can have two separate Ethernet zones that may or may not be on the same communications channel Optionally, the zones exist on a single communications channel on the I/O network/bus 408. Optionally, the zones are actually on different communications channels, e.g., 412, 416; however, the implementation is not restricted to any particular type of configuration. Rather, as illustrated inFIG. 4 , there can be ared zone 417 and agreen zone 413, and the I/O backplane on the network/bus 408 that enables standard I/O operations. This backplane or I/O network/bus 408 also optionally can provide power distribution to the various modules and blades illustrated inFIG. 4 . The red and green Ethernet zones, 417 and 413 respectively, can be implemented as Ethernet switches, with one on each side of thefirewall 484. Two Ethernets (untrusted and trusted) are not connected in accordance with an optional embodiment. Optionally, the connector geometry for the firewall can be different for the Ethernet zones than for the blades that are a part of the system. - The
red zone 417 only needs to go from the modular connector to the input side of the backplane connector of thefirewall 484. WhileFIG. 4 indicates that there are five external red zone connectors to thefirewall 484, provisions can be made for any number of ports with the connections being made at theaccess point 456, the Bluetooth® access point (combo controller) 460,Femtocell 464,storage controller 468, and/orfirewall 484. Optionally, the external port connections can be made through a manufacturer configurable modular connector panel, and one or more of the red zone Ethernet ports could be available through a customer supplied crate which allows, for example, wired Ethernet connections from a bring-your-own-device (BYOD) to thefirewall 484. - The
green zone 413 goes from the output side of thefirewall 484 and generally defines the trusted Ethernet. The Ethernet on thebackplane 408 essentially implements an Ethernet switch for the entire system, defining the Ethernet backbone of thevehicle 104. All other modules, e.g., blades, etc., can connect to a standard backplane bus and the trusted Ethernet. Some number of switch ports can be reserved to connect to an output modular connector panel to distribute the Ethernet throughout thevehicle 104, e.g., connecting such elements as theconsole display 452,remote displays GPS 488, etc. Optionally, only trusted components, either provided or approved by the manufacturer after testing, can be attached to thegreen zone 413, which is by definition in the trusted Ethernet environment. - Optionally, the
environment 400, shown inFIG. 4 , utilizes IPv6 over Ethernet connections wherever possible. Using, for example, the Broadcom single-twisted pair Ethernet technology, wiring harnesses are simplified and data transmission speeds are maximized. However, while the Broadcom single-twisted pair Ethernet technology can be used, in general, systems and methods can work comparably well with any type of well-known Ethernet technology or other comparable communications technology. - As illustrated in
FIG. 4 the I/O network/bus 408 is a split-bus concept that contains three independent bus structures: -
- The
red zone 417—the untrusted Ethernet environment. Thiszone 417 may be used to connect network devices and customer provided devices to the vehicle information system with these devices being on the untrusted side of thefirewall 484. - The
green zone 413—the trusted Ethernet environment, thiszone 413 can be used to connect manufacturer certified devices such as GPS units, remote displays, subsystem switches, and the like, to thevehicle network 404. Manufacturer certified devices can be implemented by vendors that allow the vehicle software system to validate whether or not a device is certified to operate with thevehicle 100. Optionally, only certified devices are allowed to connect to the trusted side of the network. - The I/
O bus 409—the I/O bus may be used to provide power and data transmission to bus-based devices such as the vehicle solid state drive, themedia controller blade 492, thecomputational blades
- The
- As an example, the split-bus structure can have the following minimum configuration:
-
- Two slots for the red zone Ethernet;
- One slot for built-in LTE/
WiMax access 420 from the car to other network resources such as the cloud/Internet; - One slot for user devices or bring-your-own device access, this slot can implement, for example, WiFi, Bluetooth®, and/or
USB connectivity 456, which can be provided in, for example, the customer crate; - One slot for combined red zone and green zone Ethernet, this slot can be reserved for the firewall controller;
- Two slots for computational blades. Here the two computation blades are illustratively as shown the optional master blade and the multimedia blade or
controller 492 which can be provided as standard equipment; and - The expansion controller that allows the I/O bus to be extended and provides additional Ethernet switch ports for one or more of the red or green zones, which may require that the basic green zone Ethernet switch implementation will support additional ports beyond the initial three that are needed for the basic exemplary system.
- It should be possible to build 8 or 16 or more Ethernet switches that allow for the expansion with existing component(s) in a straight-forward manner.
- The
red zone 417 can be implemented as an 8-port Ethernet switch that has three actual bus ports within the crate with the remaining five ports being available on the customer crate. The crate implements red zone slots for thefirewall controller 484, the combo controller which includes WiFi, Bluetooth®, USB hub (456, 460) and theIP router 420. - The
firewall controller 484 can have a dedicated slot that bridges thered zone 417,green zone 413, and uses the I/O bus for power connections. In accordance with an optional low cost implementation, thefirewall 484 can be implemented by a dummy module that simply bridges thered zone 417 and thegreen zone 413 without necessarily providing any firewall functionality. Thecombo controller 460 that includes the WiFi, Bluetooth®, and USB hub can be provided for consumer device connections. This controller can also implement the IPv6 (un-routable) protocol to insure that all information is packetized for transmission via IP over the Ethernet in the I/O network/bus 408. - The
combo controller 460 with the USB hub can have ports in the customer crate. Thecombo controller 460 can implement USB discovery functions and packetizes the information for transmission via IP over Ethernet. Thecombo controller 460 can also facilitate installation of the correct USB driver for the discovered device, such as a BYOD from the user. Thecombo controller 460 and USB hub can then map the USB address to a “local” IPv6 address for interaction with one or more of the computational blades which is generally going to be themedia controller 492. - The
IP router 420 can implement Internet access through a manufacturer provided service. This service can allow, for example, a manufacturer to offer value-added services to be integrated into the vehicle information systems. The existence of the manufacturer provided Internet access can also allow the “e-Call” function and other vehicle data recorder functions to be implemented.IP router 420 also allows, for example, WiMax, 4G LTE, and other connections to the Internet through a service provider that can be, for example, contracted by the manufacturer. Internally, theIP router 420 can allow cellular handset connections to the Internet through aFemtocell 464 that is part of the IP router implementation. TheIP router 420, with theFemtocell 464, can also allow a cone of silence functionality to be implemented. TheIP router 420 can be an optional component for a vehicle provided by, for example, the manufacturer, a dealer, or installed by a user. In the absence of theIP router 420, it is possible to connect a consumer handheld device to the I/O network/bus 408 using, for example, either WiFi orBluetooth® -
FIGS. 5A-5C show configurations of avehicle 104. In general, avehicle 104 may provide functionality based at least partially on one or more areas, zones, and distances, associated with thevehicle 104. Non-limiting examples of this functionality are provided herein below. - An arrangement or configuration for sensors within a
vehicle 104 is as shown inFIG. 5A . Thesensor arrangement 500 can include one or more areas 508 within the vehicle. An area can be a larger part of the environment inside or outside of thevehicle 104. Thus, area one 508A may include the area within the trunk space or engine space of thevehicle 104 and/or the front passenger compartment. Area two 508B may include a portion of the interior space 108 (e.g., a passenger compartment, etc.) of thevehicle 104. The area N, 508N, may include the trunk space or rear compartment area, when included within thevehicle 104. Theinterior space 108 may also be divided into other areas. Thus, one area may be associated with the front passenger's and driver's seats, a second area may be associated with the middle passengers' seats, and a third area may be associated with a rear passenger's seat. Each area 508 may include one or more sensors that are positioned or operate to provide environmental information about that area 508. - Each area 508 may be further separated into one or more zones 512 within the area 508. For example,
area 1 508A may be separated into zone A 512A, andzone B 512B. Each zone 512 may be associated with a particular portion of the interior occupied by a passenger. For example,zone A 512A may be associated with a driver.Zone B 512B, may be associated with a front passenger. Each zone 512 may include one or more sensors that are positioned or configured to collect information about the environment or ecosystem associated with that zone or person. - A
passenger area 508B may include more than two zones as described in conjunction witharea 508A. For example,area 508B may include three zones, 512C, 512D, and 512E. These threeseparate zones vehicle 104. Anarea 508N and may include asingle zone 512N as there may be no separate passenger areas but may include a single trunk area within thevehicle 104. The number of zones 512 is unlimited within the areas as the areas are also unlimited inside thevehicle 104. Further, it should be noted that there may be one or areas 508 or zones 512 that may be located outside thevehicle 104 that may have a specific set of sensors associated therewith. - Optionally, each area/
access point vehicle 104, may comprise one or more sensors to determine a presence of auser 216 and/ordevice area vehicle sensors 242 and/ornon-vehicle sensors 236 as described herein. It is anticipated that the sensors may be configured to communicate with avehicle control system 204 and/or thediagnostic communications module 256. Additionally or alternatively, the sensors may communicate with adevice vehicle 104 may initiate and/or terminate the control ofdevice outside area 520 associated with avehicle 104. As the operator approaches the firstoutside area 516, associated with thevehicle 104, thevehicle control system 204 may determine to control features associated with one ormore device diagnostic communications module 256. - Optionally, the location of the
device vehicle 104 may determine vehicle functionality and/or features to be provided and/or restricted to auser 216. By way of example, adevice user 216 may be located at a secondoutside area 520 from thevehicle 104. In this case, and based at least partially on the distance of thedevice device vehicle 104 may lock one or more features (e.g., ignition access, vehicle access, communications ability, etc.) associated with thevehicle 104. Optionally, thevehicle 104 may provide an alert based on the distance of thedevice vehicle 104. Continuing the example above, once thedevice outside area 516 of thevehicle 104 at least one of the vehicle features may be unlocked. For instance, by reaching the firstoutside area 516, thevehicle 104 may unlock a door of thevehicle 104. In some cases, when the device is detected to be inside thevehicle 104, thevarious sensors user 216 is in an area 508 and/or zone 512. As is further described herein, features of thevehicle 104,device -
FIG. 5B illustrates optional internal vehicle communications between one or more of the vehicle and one or more devices or between devices. Various communications can occur utilizing one or more Bluetooth®, NFC, WiFi, mobile hot spot, point-to-point communications, point-to-multipoint other point communications, an ad hoc network, or in general any known communications protocol over any known communications media or media-types. - Optionally, various types of internal vehicle communications can be facilitated using an
access point 456 that utilizes one or more of Bluetooth®, NFC, WiFi, wireless Ethernet, mobile hot spot technology, or the like. Upon being connected with, and optionally authenticated to theaccess point 456, the connected device is able to communicate with one or more of the vehicle and one or more other devices that are connected to theaccess point 456. The type of connection to theaccess point 456 can be based on, for example, the zone 512, in which the device is located. - The user may identify their zone 512 in conjunction with an authentication procedure to the
access point 456. For example, a driver in zone A 512A, upon authenticating to theaccess point 456, can cause theaccess point 456 to send a query to the device asking the device user in which zone 512 they are located. As discussed hereinafter, the zone 512 the user device is located in may have an impact on the type of communications, available bandwidth, the types of other devices or vehicle systems or subsystems the device could communicate with, and the like. As a brief introduction, internal communications withzone A 512A may be given preferential treatment over those communications originating fromarea 2 508B, which could have in itself, preferential treatment over communications originating withinarea N 508N. - Moreover, the device in
zone A 512A can include profile information that governs the other devices that are allowed to connect to theaccess point 456 and what those devices have access to, how they can communicate, how much bandwidth they are allocated, and the like. While, optionally, the device associated withzone A 512A will be considered the “master” controller of the profile that governs the internal vehicle communications, it should be appreciated that this was arbitrarily chosen since it is assumed that there will always be a driver in a car that is present inzone A 512A. However, it should be appreciated the driver in zone A 512A, for example, may not have a communications device in which case a device associated with one of the other areas or zones, such aszone B 512B,area 2 508B, orarea N 508N could also be associated with or control this master profile. - Optionally, various devices located within the various zones 512 can connect using, for example, ports provided by
access point 456 or Bluetooth® access point/USB hub 460 as illustrated inFIG. 4 . Similarly, the device(s) could connect utilizing theFemtocell 464 and optionally be directly connected via, for example, a standard Ethernet port. - As discussed, each one of the areas,
area 1 508A,area 2 508B, andarea N 508N, can each have associated therewith a profile that governs, for example, how many and what types of devices can connect from that area 508, bandwidth allocated to that area 508, the types of media or content available to device(s) within that area 508, the interconnection of devices within that area 508 or between areas 508, or, in general, can control any aspect of communication of an associated device with any one or more other associated devices/vehicle systems within thevehicle 104. - Optionally,
area 2 508B devices can be provided with full access to multimedia and infotainment available within thevehicle 104, however, devices inarea 2 508B may be restricted from any access to vehicle functions. Only devices inarea 1 508A may be able to access vehicle control functions such as when “parents” are located inarea 1 508A and the children are located inarea 2 508B. Optionally, devices found inzone E 512E ofarea 2 508B may be able to access limited vehicle control functionality such as climate control withinarea 2. Similarly, devices inarea N 508N may be able to control climate features withinzone N 512N. - As will be appreciated, profiles can be established that allow management of communications within each of the areas 508, and further optionally within each of the zones 512. The profile can be granular in nature controlling not only what type of devices can connect within each zone 512, but how those devices can communicate with other devices and/or the vehicle and types of information that can be communicated.
- To assist with identifying a location of a device within a zone 512, a number of different techniques can be utilized. One optional technique involves one or more of the vehicle sensors detecting the presence of an individual within one of the zones 512. Upon detection of an individual in a zone 512,
communications subsystems 344 and theaccess point 456 can cooperate to not only associate the device within the zone 512 with theaccess point 456 but to also determine the location of the device within an area, and optionally within a zone 512. Once the device is established within a zone 512, a profile associated with thevehicle 104 can store information identifying that device and/or a person and optionally associating it with a particular zone 512 as a default. As discussed, there can be a master profile optionally associated with the device in zone A 512A, this master profile can govern communications with thecommunications subsystems 340 and where communications withinvehicle 104 are to occur. - Some optional profiles are illustrated below where the Master Profile governs other device connectivity:
-
-
Area 1508A Area 2 508B Area N 508N Other All Communications Allow Access to No Access Master Infotainment Profile acts as Firewall and Router All Vehicle Controls Allow Area 2Climate Control -
-
Area 1508A Area 2 508B Area N 508N Other All Communications Allow Access to Allow Access to Master Infotainment Infotainment Profile acts as Firewall and Router All Vehicle Controls Allow Area 2Allow Area 2Climate Control Climate Control
Secondary Profile.Option 2 -
Area 1508A Area 2 508B Area N 508N Other All Communications Allow Access to Allow Access to Infotainment, Infotainment Internet All Vehicle Controls Allow Area 2Allow Area 2Except Driver- Climate Control Climate Control centric Controls
Some optional profiles are illustrated below where the Area/Zone governs device connectivity:Area 2 508B Profile: -
Area 1508A Area 2 508B Area N 508N Other No Communications Allow Access to with Area 1 DevicesInfotainment, Allow Access to Other Area 2 or Zone N Devices, Internet No Vehicle Controls Allow Area 2Climate Control -
-
Area 1508A Area 2 508B Area N 508N Other Communications Allow Access to with Area 1, Zone BInfotainment, Allow Device Access to Other Area N or Zone N Devices No Vehicle Controls Allow Area N Climate Control -
-
Area 1508A Area 2 508B Area N 508N Other Media Sharing with Allow Access to Area 1, Zone B andInfotainment, Allow Vehicle Access to Other Area 2 or Zone N Devices, Internet and Femtocell No Vehicle Controls - Optionally, a user's device, such as a SmartPhone, can store in, for example a profile, with which zone 512 the user's device is associated. Then, assuming the user sits in the same zone 512 and area 508 as previously, the user's device can re-establish the same communications protocols with the
access point 456 as were previously established. - In addition or in the alternative, the areas 508 and zones 512 can have associated therewith restrictions as to which one or more other user's devices with which users' devices can connect. For example, a first user's device can connect with any other user device in
area 2 508B orarea N 508N, however is restricted from connecting with a user device inarea 1 508A,zone A 512A. However, the first user device may be able to communicate with another user's device that is located inarea 1 508A,zone B 512B. These communications can include any type of standard communications such as sharing content, exchanging messages, forwarding or sharing multimedia or infotainment, or in general can include any communications that would ordinarily be available between two devices and/or the vehicle and vehicle systems. As discussed, there may be restrictions on the type of communications that can be sent to the device inarea 1 508A,zone A 512A. For example, the user's device inarea 1 508A,zone A 512A may be restricted from receiving one or more of text messages, multimedia, infotainment, or in general anything that can be envisioned as a potential distraction to the driver. Moreover, it should be appreciated that the communications between the various devices and the various zones 512 need not necessarily occur with the assistance ofaccess point 456, but the communications could also occur directly between the device(s). -
FIG. 5C outlines optional internal vehicle communications between one or more of the vehicle and one or more devices. More specifically,FIG. 5C illustrates an example of vehicle communications where thevehicle 104 is equipped with the necessary transceivers to provide a mobile hot spot functionality to any user device(s) therein, such asuser devices - Optionally, and as discussed above, one or more user devices can connect to the
access point 456. Thisaccess point 456 is equipped to handle communications routing to not only the communication network/buses 224 for intra-vehicle communications, but optionally can also communicate with, for example, the Internet or the cloud, in cooperation withtransceiver 260. Optionally included is afirewall 484 that has the capability of not only blocking certain types of content, such as a malicious content, but can also operate to exclude certain type of communications from emanating from thevehicle 104 andtransceiver 260. As will be appreciated, various profiles could be established in thefirewall 484 that controls not only the type of communications that can be received at thevehicle 104, but the type of communications that can be sent from thevehicle 104. - The
transceiver 260 can be any type of well-known wireless transceiver that communicates using a known communications protocol such as WiMax, 4G, 4G LTE, 3G, or the like. The user devices can communicate via, for example, WiFi link 248 with theaccess point 456, with thetransceiver 260 providing Internet connectivity to the various user devices. As will be appreciated, there may need to be an account associated withtransceiver 260 with a wireless carrier to provide data and/or voice connectivity to enable the user devices to communicate with the Internet. Typically, the account is established on a month-to-month basis with an associated fee but could also be performed based on the amount of data to be transmitted, received, or in any other manner. - Moreover, one or more of the user's devices and
access point 456 can maintain profile information that governs how the user's devices are able to communicate with other devices, and optionally the Internet. Optionally, a profile can exist that only allows the user's devices to communicate with other user's devices and/or the vehicle, multimedia and/or the vehicle infotainment system, and may not be allowed access to the Internet viatransceiver 260. The profile can stipulate that the user's device could connect to the Internet viatransceiver 260 for a specified period of time and/or up to a certain amount of data usage. The user's device can have full access to the Internet viatransceiver 260 with no limit on time or data usage which would reduce the data usage of the user's device since it is connected via WiFi to theaccess point 456, but however, would increase the data usage bytransceiver 260, and therefore, shift the billing for that data usage to thetransceiver 260 instead of the user's device. Still further, and as previously discussed, the various profiles may stipulate which user's device has priority for use of the bandwidth provided by thetransceiver 260. For example, a user's device locatedarea 1 508A,zone A 512A may be given preferential routing treatment of data above that of a user's device inzone N 512N. In this manner, for example, a driver would be given priority for Internet access above that of the passengers. This could become important, for example, when the driver is trying to obtain traffic or direction information or, for example, when the vehicle is performing a download to update various software features. - As will be appreciated, the
optional firewall 484 can cooperate with theaccess point 456 and the various profiles that area 508 associated with the various devices within thevehicle 104 and can fully implement communications restrictions, control bandwidth limits, Internet accessibility, malicious software blocking, and the like. Moreover, theoptional firewall 484 can be accessed by an administrator with one or more of these configuration settings edited through an administrator's control panel. For example, in a scenario where parents are always inarea 1 508A, it may be appropriate to give all of the user's devices inarea 1 508A full access to theInternet utilizing transceiver 260, however, while restricting access and/or bandwidth to any other user devices within thevehicle 104. As the user's device and profile would be known by thefirewall 484, upon the user's device being associated with theaccess point 456, thefirewall 484 andtransceiver 260 can be configured to allow communications in accordance with the stored profile. - A set of sensors or
vehicle components 600 associated with thevehicle 104 may be as shown inFIG. 6A . Thevehicle 104 can include, among many other components common to vehicles,wheels 607, a power source 609 (such as an engine, motor, or energy storage system (e.g., battery or capacitive energy storage system)), a manual orautomatic transmission 612, a manual or automatictransmission gear controller 616, a power controller 620 (such as a throttle), avehicle control system 204, thedisplay device 212, abraking system 636, asteering wheel 640, a power source activation/deactivation switch 644 (e.g., an ignition), anoccupant seating system 648, awireless signal receiver 653 to receive wireless signals from signal sources such as roadside beacons and other electronic roadside devices, and a satellite positioning system receiver 657 (e.g., a Global Positioning System (“GPS”) (US), GLONASS (Russia), Galileo positioning system (EU), Compass navigation system (China), and Regional Navigational Satellite System (India) receiver), driverless systems (e.g., cruise control systems, automatic steering systems, automatic braking systems, etc.). - The
vehicle 104 can include a number of sensors in wireless or wired communication with thevehicle control system 204 and/ordisplay device - In the depicted vehicle embodiment, the various sensors can be in communication with the
display device vehicle control system 204 viasignal carrier network 224. As noted, thesignal carrier network 224 can be a network of signal conductors, a wireless network (e.g., a radio frequency, microwave, or infrared communication system using a communications protocol, such as Wi-Fi), or a combination thereof. Thevehicle control system 204 may also provide signal processing of one or more sensors, sensor fusion of similar and/or dissimilar sensors, signal smoothing in the case of erroneous “wild point” signals, and/or sensor fault detection. For example, ranging measurements provided by one or more RF sensors may be combined with ranging measurements from one or more IR sensors to determine one fused estimate of vehicle range to an obstacle target. - The
control system 204 may receive and read sensor signals, such as wheel and engine speed signals, as a digital input comprising, for example, a pulse width modulated (PWM) signal. Theprocessor 304 can be configured, for example, to read each of the signals into a port configured as a counter or configured to generate an interrupt on receipt of a pulse, such that theprocessor 304 can determine, for example, the engine speed in revolutions per minute (RPM) and the speed of the vehicle in miles per hour (MPH) and/or kilometers per hour (KPH). One skilled in the art will recognize that the two signals can be received from existing sensors in a vehicle comprising a tachometer and a speedometer, respectively. Alternatively, the current engine speed and vehicle speed can be received in a communication packet as numeric values from a conventional dashboard subsystem comprising a tachometer and a speedometer. The transmission speed sensor signal can be similarly received as a digital input comprising a signal coupled to a counter or interrupt signal of theprocessor 304 or received as a value in a communication packet on a network or port interface from an existing subsystem of thevehicle 104. The ignition sensor signal can be configured as a digital input, wherein a HIGH value represents that the ignition is on and a LOW value represents that the ignition is OFF. Three bits of the port interface can be configured as a digital input to receive the gear shift position signal, representing eight possible gear shift positions. Alternatively, the gear shift position signal can be received in a communication packet as a numeric value on the port interface. The throttle position signal can be received as an analog input value, typically in the range 0-5 volts. Alternatively, the throttle position signal can be received in a communication packet as a numeric value on the port interface. The output of other sensors can be processed in a similar fashion. - Other sensors may be included and positioned in the
interior space 108 of thevehicle 104. Generally, these interior sensors obtain data about the health of the driver and/or passenger(s), data about the safety of the driver and/or passenger(s), and/or data about the comfort of the driver and/or passenger(s). The health data sensors can include sensors in the steering wheel that can measure various health telemetry for the person (e.g., heart rate, temperature, blood pressure, blood presence, blood composition, etc.). Sensors in the seats may also provide for health telemetry (e.g., presence of liquid, weight, weight shifts, etc.). Infrared sensors could detect a person's temperature; optical sensors can determine a person's position and whether the person has become unconscious. Other health sensors are possible and included herein. - Safety sensors can measure whether the person is acting safely. Optical sensors can determine a person's position and focus. If the person stops looking at the road ahead, the optical sensor can detect the lack of focus. Sensors in the seats may detect if a person is leaning forward or may be injured by a seat belt in a collision. Other sensors can detect that the driver has at least one hand on a steering wheel. Other safety sensors are possible and contemplated as if included herein.
- Comfort sensors can collect information about a person's comfort. Temperature sensors may detect a temperature of the interior cabin. Moisture sensors can determine a relative humidity. Audio sensors can detect loud sounds or other distractions. Audio sensors may also receive input from a person through voice data. Other comfort sensors are possible and contemplated as if included herein.
-
FIG. 6B shows an interior sensor configuration for one or more zones 512 of avehicle 104 optionally. Optionally, the areas 508 and/or zones 512 of avehicle 104 may include sensors that are configured to collect information associated with theinterior 108 of avehicle 104. In particular, the various sensors may collect environmental information, user information, and safety information, to name a few. Embodiments of these sensors may be as described in conjunction withFIGS. 7A-8B . - Optionally, the sensors may include one or more of optical, or image,
sensors 622A-B (e.g., cameras, etc.),motion sensors 624A-B (e.g., utilizing RF, IR, and/or other sound/image sensing, etc.), steering wheel user sensors 642 (e.g., heart rate, temperature, blood pressure, sweat, health, etc.), seat sensors 677 (e.g., weight, load cell, moisture, electrical, force transducer, etc.), safety restraint sensors 679 (e.g., seatbelt, airbag, load cell, force transducer, etc.),interior sound receivers 692A-B, environmental sensors 694 (e.g., temperature, humidity, air, oxygen, etc.), and the like. - The
image sensors 622A-B may be used alone or in combination to identify objects,users 216, and/or other features, inside thevehicle 104. Optionally, afirst image sensor 622A may be located in a different position within avehicle 104 from asecond image sensor 622B. When used in combination, theimage sensors 622A-B may combine captured images to form, among other things, stereo and/or three-dimensional (3D) images. The stereo images can be recorded and/or used to determine depth associated with objects and/orusers 216 in avehicle 104. Optionally, theimage sensors 622A-B used in combination may determine the complex geometry associated with identifying characteristics of auser 216. For instance, theimage sensors 622A-B may be used to determine dimensions between various features of a user's face (e.g., the depth/distance from a user's nose to a user's cheeks, a linear distance between the center of a user's eyes, and more). These dimensions may be used to verify, record, and even modify characteristics that serve to identify auser 216. As can be appreciated, utilizing stereo images can allow for auser 216 to provide complex gestures in a 3D space of thevehicle 104. These gestures may be interpreted via one or more of the subsystems as disclosed herein. Optionally, theimage sensors 622A-B may be used to determine movement associated with objects and/orusers 216 within thevehicle 104. It should be appreciated that the number of image sensors used in avehicle 104 may be increased to provide greater dimensional accuracy and/or views of a detected image in thevehicle 104. - The
vehicle 104 may include one ormore motion sensors 624A-B. Thesemotion sensors 624A-B may detect motion and/or movement of objects inside thevehicle 104. Optionally, themotion sensors 624A-B may be used alone or in combination to detect movement. For example, auser 216 may be operating a vehicle 104 (e.g., while driving, etc.) when a passenger in the rear of thevehicle 104 unbuckles a safety belt and proceeds to move about thevehicle 104. In this example, the movement of the passenger could be detected by themotion sensors 624A-B. Optionally, theuser 216 could be alerted of this movement by one or more of thedevices vehicle 104. In another example, a passenger may attempt to reach for one of the vehicle control features (e.g., thesteering wheel 640, the console, icons displayed on the head unit and/ordevice motion sensors 624A-B. Optionally, the path, trajectory, anticipated path, and/or some other direction of movement/motion may be determined using themotion sensors 624A-B. In response to detecting the movement and/or the direction associated with the movement, the passenger may be prevented from interfacing with and/or accessing at least some of the vehicle control features (e.g., the features represented by icons may be hidden from a user interface, the features may be locked from use by the passenger, combinations thereof, etc.). As can be appreciated, theuser 216 may be alerted of the movement/motion such that theuser 216 can act to prevent the passenger from interfering with thevehicle 104 controls. Optionally, the number of motion sensors in avehicle 104, or areas of avehicle 104, may be increased to increase an accuracy associated with motion detected in thevehicle 104. - The
interior sound receivers 692A-B may include, but are not limited to, microphones and other types of acoustic-to-electric transducers or sensors. Optionally, theinterior sound receivers 692A-B may be configured to receive and convert sound waves into an equivalent analog or digital signal. Theinterior sound receivers 692A-B may serve to determine one or more locations associated with various sounds in thevehicle 104. The location of the sounds may be determined based on a comparison of volume levels, intensity, and the like, between sounds detected by two or moreinterior sound receivers 692A-B. For instance, a firstinterior sound receiver 692A may be located in a first area of thevehicle 104 and a secondinterior sound receiver 692B may be located in a second area of thevehicle 104. If a sound is detected at a first volume level by the firstinterior sound receiver 692A and a second, higher, volume level by the secondinterior sound receiver 692B in the second area of thevehicle 104, the sound may be determined to be closer to the second area of thevehicle 104. As can be appreciated, the number of sound receivers used in avehicle 104 may be increased (e.g., more than two, etc.) to increase measurement accuracy surrounding sound detection and location, or source, of the sound (e.g., via triangulation, etc.). -
Seat sensors 677 may be included in thevehicle 104. Theseat sensors 677 may be associated with each seat and/or zone 512 in thevehicle 104. Optionally, theseat sensors 677 may provide health telemetry and/or identification via one or more of load cells, force transducers, weight sensors, moisture detection sensor, electrical conductivity/resistance sensor, and the like. For example, theseat sensors 677 may determine that auser 216 weighs 180 lbs. This value may be compared to user data stored in memory to determine whether a match exists between the detected weight and auser 216 associated with thevehicle 104. In another example, if theseat sensors 677 detect that auser 216 is fidgeting, or moving, in a seemingly uncontrollable manner, the system may determine that theuser 216 has suffered a nervous and/or muscular system issue (e.g., seizure, etc.). Thevehicle control system 204 may then cause thevehicle 104 to slow down and in addition or alternatively the automobile controller 8104 (described below) can safely take control of thevehicle 104 and bring thevehicle 104 to a stop in a safe location (e.g., out of traffic, off a freeway, etc). - Health telemetry and other data may be collected via the steering
wheel user sensors 642. Optionally, the steeringwheel user sensors 642 may collect heart rate, temperature, blood pressure, and the like, associated with auser 216 via at least one contact disposed on or about thesteering wheel 640. - The
safety restraint sensors 679 may be employed to determine a state associated with one or more safety restraint devices in avehicle 104. The state associated with one or more safety restraint devices may serve to indicate a force observed at the safety restraint device, a state of activity (e.g., retracted, extended, various ranges of extension and/or retraction, deployment, buckled, unbuckled, etc.), damage to the safety restraint device, and more. -
Environmental sensors 694, including one or more of temperature, humidity, air, oxygen, carbon monoxide, smoke, and other environmental condition sensors may be used in avehicle 104. Theseenvironmental sensors 694 may be used to collect data relating to the safety, comfort, and/or condition of theinterior space 108 of thevehicle 104. Among other things, the data collected by theenvironmental sensors 694 may be used by thevehicle control system 204 to alter functions of a vehicle. The environment may correspond to aninterior space 108 of avehicle 104 and/or specific areas 508 and/or zones 512 of thevehicle 104. It should be appreciate that an environment may correspond to auser 216. For example, a low oxygen environment may be detected by theenvironmental sensors 694 and associated with auser 216 who is operating thevehicle 104 in a particular zone 512. In response to detecting the low oxygen environment, at least one of the subsystems of thevehicle 104, as provided herein, may alter the environment, especially in the particular zone 512, to increase the amount of oxygen in the zone 512. Additionally or alternatively, theenvironmental sensors 694 may be used to report conditions associated with a vehicle (e.g., fire detected, low oxygen, low humidity, high carbon monoxide, etc.). The conditions may be reported to auser 216 and/or a third party via at least one communications module as provided herein. - Among other things, the sensors as disclosed herein may communicate with each other, with
devices vehicle control system 204 via thesignal carrier network 224. Additionally or alternatively, the sensors disclosed herein may serve to provide data relevant to more than one category of sensor information including, but not limited to, combinations of environmental information, user information, and safety information to name a few. -
FIGS. 7A-7B show block diagrams of various sensors that may be associated with avehicle 104. Although depicted as interior and exterior sensors, it should be appreciated that any of the one or more of the sensors shown may be used in both theinterior space 108 and the exterior space of thevehicle 104. Moreover, sensors having the same symbol or name may include the same, or substantially the same, functionality as those sensors described elsewhere in the present disclosure. Further, although the various sensors are depicted in conjunction with specific groups (e.g., environmental 708, 708E,user interface 712,safety devices vehicle control system 204 via one or more communications channel(s) 356. -
FIG. 7A is a block diagram of an embodiment ofinterior sensors 340 for avehicle 104 is provided. Theinterior sensors 340 may be arranged into one or more groups, based at least partially on the function of theinterior sensors 340. Theinterior space 108 of avehicle 104 may include anenvironmental group 708, auser interface group 712, and asafety group 716. Additionally or alternatively, there may be sensors associated with various devices inside the vehicle (e.g.,devices - The
environmental group 708 may comprise sensors configured to collect data relating to the internal environment of avehicle 104. It is anticipated that the environment of thevehicle 104 may be subdivided into areas 508 and zones 512 in aninterior space 108 of avehicle 104. In this case, each area 508 and/or zone 512 may include one or more of the environmental sensors. Examples of environmental sensors associated with theenvironmental group 708 may include, but are not limited to, oxygen/air sensors 724,temperature sensors 728,humidity sensors 732, light/photo sensors 736, and more. The oxygen/air sensors 724 may be configured to detect a quality of the air in theinterior space 108 of the vehicle 104 (e.g., ratios and/or types of gasses comprising the air inside thevehicle 104, dangerous gas levels, safe gas levels, etc.).Temperature sensors 728 may be configured to detect temperature readings of one or more objects,users 216, and/or areas 508 of avehicle 104.Humidity sensors 732 may detect an amount of water vapor present in the air inside thevehicle 104. The light/photo sensors 736 can detect an amount of light present in thevehicle 104. Further, the light/photo sensors 736 may be configured to detect various levels of light intensity associated with light in thevehicle 104. - The
user interface group 712 may comprise sensors configured to collect data relating to one ormore users 216 in avehicle 104. As can be appreciated, theuser interface group 712 may include sensors that are configured to collect data fromusers 216 in one or more areas 508 and zones 512 of thevehicle 104. For example, each area 508 and/or zone 512 of thevehicle 104 may include one or more of the sensors in theuser interface group 712. Examples of user interface sensors associated with theuser interface group 712 may include, but are not limited to,infrared sensors 740,motion sensors 744,weight sensors 748,wireless network sensors 752,biometric sensors 756, camera (or image)sensors 760,audio sensors 764, and more. -
Infrared sensors 740 may be used to measure IR light irradiating from at least one surface,user 216, or other object in thevehicle 104. Among other things, theInfrared sensors 740 may be used to measure temperatures, form images (especially in low light conditions), identifyusers 216, and even detect motion in thevehicle 104. - The
motion sensors 744 may be similar to themotion detectors 624A-B, as described in conjunction withFIG. 6B .Weight sensors 748 may be employed to collect data relating to objects and/orusers 216 in various areas 508 of thevehicle 104. In some cases, theweight sensors 748 may be included in the seats and/or floor of avehicle 104. - Optionally, the
vehicle 104 may include awireless network sensor 752. Thissensor 752 may be configured to detect one or more wireless network(s) inside thevehicle 104. Examples of wireless networks may include, but are not limited to, wireless communications utilizing Bluetooth®, Wi-Fi™ ZigBee, IEEE 802.11, and other wireless technology standards. For example, a mobile hotspot may be detected inside thevehicle 104 via thewireless network sensor 752. In this case, thevehicle 104 may determine to utilize and/or share the mobile hotspot detected via/with one or moreother devices vehicle 104. -
Biometric sensors 756 may be employed to identify and/or record characteristics associated with auser 216. It is anticipated thatbiometric sensors 756 can include at least one of image sensors, IR sensors, fingerprint readers, weight sensors, load cells, force transducers, heart rate monitors, blood pressure monitors, and the like as provided herein. - The
camera sensors 760 may be similar toimage sensors 622A-B, as described in conjunction withFIG. 6B . Optionally, the camera sensors may record still images, video, and/or combinations thereof. Theaudio sensors 764 may be similar to theinterior sound receivers 692A-B, as described in conjunction withFIGS. 6A-6B . The audio sensors may be configured to receive audio input from auser 216 of thevehicle 104. The audio input from auser 216 may correspond to voice commands, conversations detected in thevehicle 104, phone calls made in thevehicle 104, and/or other audible expressions made in thevehicle 104. - The
safety group 716 may comprise sensors configured to collect data relating to the safety of auser 216 and/or one or more components of avehicle 104. Thevehicle 104 may be subdivided into areas 508 and/or zones 512 in aninterior space 108 of avehicle 104 where each area 508 and/or zone 512 may include one or more of the safety sensors provided herein. Examples of safety sensors associated with thesafety group 716 may include, but are not limited to, forcesensors 768,mechanical motion sensors 772,orientation sensors 776,restraint sensors 780, and more. - The
force sensors 768 may include one or more sensors inside thevehicle 104 configured to detect a force observed in thevehicle 104. One example of aforce sensor 768 may include a force transducer that converts measured forces (e.g., force, weight, pressure, etc.) into output signals. -
Mechanical motion sensors 772 may correspond to encoders, accelerometers, damped masses, and the like. Optionally, themechanical motion sensors 772 may be adapted to measure the force of gravity (i.e., G-force) as observed inside thevehicle 104. Measuring the G-force observed inside avehicle 104 can provide valuable information related to a vehicle's acceleration, deceleration, collisions, and/or forces that may have been suffered by one ormore users 216 in thevehicle 104. As can be appreciated, themechanical motion sensors 772 can be located in aninterior space 108 or an exterior of thevehicle 104. -
Orientation sensors 776 can include accelerometers, gyroscopes, magnetic sensors, and the like that are configured to detect an orientation associated with thevehicle 104. Similar to themechanical motion sensors 772, theorientation sensors 776 can be located in aninterior space 108 or an exterior of thevehicle 104. - The
restraint sensors 780 may be similar to thesafety restraint sensors 679 as described in conjunction withFIGS. 6A-6B . Thesesensors 780 may correspond to sensors associated with one or more restraint devices and/or systems in avehicle 104. Seatbelts and airbags are examples of restraint devices and/or systems. As can be appreciated, the restraint devices and/or systems may be associated with one or more sensors that are configured to detect a state of the device/system. The state may include extension, engagement, retraction, disengagement, deployment, and/or other electrical or mechanical conditions associated with the device/system. - The associated
device sensors 720 can include any sensors that are associated with adevice vehicle 104. As previously stated,typical devices devices vehicle control system 204. For example, a typical smart phone can include, an image sensor, an IR sensor, audio sensor, gyroscope, accelerometer, wireless network sensor, fingerprint reader, and more. It is an aspect of the present disclosure that one or more of these associateddevice sensors 720 may be used by one or more subsystems of thevehicle system 200. - In
FIG. 7B , a block diagram of an embodiment ofexterior sensors 340 for avehicle 104 is shown. The exterior sensors may include sensors that are identical, or substantially similar, to those previously disclosed in conjunction with the interior sensors ofFIG. 7A . Optionally, theexterior sensors 340 may be configured to collect data relating to one or more conditions, objects,users 216, and other events that are external to theinterior space 108 of thevehicle 104. For instance, the oxygen/air sensors 724 may measure a quality and/or composition of the air outside of avehicle 104. As another example, themotion sensors 744 may detect motion outside of avehicle 104. - The external
environmental group 708E may comprise sensors configured to collect data relating to the external environment of avehicle 104. In addition to including one or more of the sensors previously described, the externalenvironmental group 708E may include additional sensors, such as,vehicle sensors 750, biological sensors, andwireless signal sensors 758.Vehicle sensors 750 can detect vehicles that are in an environment surrounding thevehicle 104. For example, thevehicle sensors 750 may detect vehicles in a firstoutside area 516, a secondoutside area 520, and/or combinations of the first and secondoutside areas vehicle sensors 750 may include one or more of RF sensors, IR sensors, image sensors, and the like to detect vehicles, people, hazards, etc. that are in an environment exterior to thevehicle 104. Additionally or alternatively, thevehicle sensors 750 can provide distance/directional information relating to a distance (e.g., distance from thevehicle 104 to the detected object) and/or a direction (e.g., direction of travel, etc.) associated with the detected object. - The
biological sensors 754 may determine whether one or more biological entities (e.g., an animal, a person, auser 216, etc.) is in an external environment of thevehicle 104. Additionally or alternatively, thebiological sensors 754 may provide distance information relating to a distance of the biological entity from thevehicle 104.Biological sensors 754 may include at least one of RF sensors, IR sensors, image sensors and the like that are configured to detect biological entities. For example, an IR sensor may be used to determine that an object, or biological entity, has a specific temperature, temperature pattern, or heat signature. Continuing this example, a comparison of the determined heat signature may be compared to known heat signatures associated with recognized biological entities (e.g., based on shape, locations of temperature, and combinations thereof, etc.) to determine whether the heat signature is associated with a biological entity or an inanimate, or non-biological, object. - The
wireless signal sensors 758 may include one or more sensors configured to receive wireless signals from signal sources such as Wi-Fi™ hotspots, cell towers, roadside beacons, other electronic roadside devices, and satellite positioning systems. Optionally, thewireless signal sensors 758 may detect wireless signals from one or more of a mobile phone, mobile computer, keyless entry device, RFID device, near field communications (NFC) device, and the like. - The
external safety group 716E may comprise sensors configured to collect data relating to the safety of auser 216 and/or one or more components of avehicle 104. Examples of safety sensors associated with theexternal safety group 716E may include, but are not limited to, forcesensors 768,mechanical motion sensors 772,orientation sensors 776,vehicle body sensors 782, and more. Optionally, theexterior safety sensors 716E may be configured to collect data relating to one or more conditions, objects, vehicle components, and other events that are external to thevehicle 104. For instance, theforce sensors 768 in theexternal safety group 716E may detect and/or record force information associated with the outside of avehicle 104. For instance, if an object strikes the exterior of thevehicle 104, theforce sensors 768 from theexterior safety group 716E may determine a magnitude, location, and/or time associated with the strike. - The
vehicle 104 may include a number ofvehicle body sensors 782. Thevehicle body sensors 782 may be configured to measure characteristics associated with the body (e.g., body panels, components, chassis, windows, etc.) of avehicle 104. For example, twovehicle body sensors 782, including a first body sensor and a second body sensor, may be located at some distance apart. Continuing this example, the first body sensor may be configured to send an electrical signal across the body of thevehicle 104 to the second body sensor, or vice versa. Upon receiving the electrical signal from the first body sensor, the second body sensor may record a detected current, voltage, resistance, and/or combinations thereof associated with the received electrical signal. Values (e.g., current, voltage, resistance, etc.) for the sent and received electrical signal may be stored in a memory. These values can be compared to determine whether subsequent electrical signals sent and received betweenvehicle body sensors 782 deviate from the stored values. When the subsequent signal values deviate from the stored values, the difference may serve to indicate damage and/or loss of a body component. Additionally or alternatively, the deviation may indicate a problem with thevehicle body sensors 782. Thevehicle body sensors 782 may communicate with each other, avehicle control system 204, and/or systems of thevehicle system 200 via acommunications channel 356. Although described using electrical signals, it should be appreciated that alternative embodiments of thevehicle body sensors 782 may use sound waves and/or light to perform a similar function. -
FIG. 8A is a block diagram of an embodiment of amedia controller subsystem 348 for avehicle 104. Themedia controller subsystem 348 may include, but is not limited to, amedia controller 804, amedia processor 808, amatch engine 812, anaudio processor 816, aspeech synthesis module 820, anetwork transceiver 824, asignal processing module 828,memory 832, and alanguage database 836. Optionally, themedia controller subsystem 348 may be configured as a dedicated blade that implements the media-related functionality of thesystem 200. Additionally or alternatively, themedia controller subsystem 348 can provide voice input, voice output, library functions for multimedia, and display control for various areas 508 and/or zones 512 of thevehicle 104. - Optionally, the
media controller subsystem 348 may include a local IP address (e.g., IPv4, IPv6, combinations thereof, etc.) and even a routable, global unicast address. The routable, global unicast address may allow for direct addressing of themedia controller subsystem 348 for streaming data from Internet resources (e.g., cloud storage, user accounts, etc.). It is anticipated, that themedia controller subsystem 348 can provide multimedia via at least one Internet connection, or wireless network communications module, associated with thevehicle 104. Moreover, themedia controller subsystem 348 may be configured to service multiple independent clients simultaneously. - The
media processor 808 may comprise a general purpose programmable processor or controller for executing application programming or instructions related to themedia subsystem 348. Themedia processor 808 may include multiple processor cores, and/or implement multiple virtual processors. Optionally, themedia processor 808 may include multiple physical processors. By way of example, themedia processor 808 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like. Themedia processor 808 generally functions to run programming code or instructions implementing various functions of themedia controller 804. - The
match engine 812 can receive input from one or more components of thevehicle system 800 and perform matching functions. Optionally, thematch engine 812 may receive audio input provided via amicrophone 886 of thesystem 800. The audio input may be provided to themedia controller subsystem 348 where the audio input can be decoded and matched, via thematch engine 812, to one or more functions available to thevehicle 104. Similar matching operations may be performed by thematch engine 812 relating to video input received via one or more image sensors,cameras 878, and the like. - The
media controller subsystem 348 may include aspeech synthesis module 820 configured to provide audio output to one ormore speakers 880, or audio output devices, associated with thevehicle 104. Optionally, thespeech synthesis module 820 may be configured to provide audio output based at least partially on the matching functions performed by thematch engine 812. - As can be appreciated, the coding/decoding, the analysis of audio input/output, and/or other operations associated with the
match engine 812 andspeech synthesis module 820, may be performed by themedia processor 808 and/or adedicated audio processor 816. Theaudio processor 816 may comprise a general purpose programmable processor or controller for executing application programming or instructions related to audio processing. Further, theaudio processor 816 may be similar to themedia processor 808 described herein. - The
network transceiver 824 can include any device configured to transmit and receive analog and/or digital signals. Optionally, themedia controller subsystem 348 may utilize anetwork transceiver 824 in one or more communication networks associated with thevehicle 104 to receive and transmit signals via thecommunications channel 356. Additionally or alternatively, thenetwork transceiver 824 may accept requests from one ormore devices media controller subsystem 348. One example of the communication network is a local-area network (LAN). As can be appreciated, the functionality associated with thenetwork transceiver 824 may be built into at least one other component of the vehicle 104 (e.g., a network interface card, communications module, etc.). - The
signal processing module 828 may be configured to alter audio/multimedia signals received from one or more input sources (e.g.,microphones 886, etc.) via thecommunications channel 356. Among other things, thesignal processing module 828 may alter the signals received electrically, mathematically, combinations thereof, and the like. - The
media controller 804 may also includememory 832 for use in connection with the execution of application programming or instructions by themedia processor 808, and for the temporary or long term storage of program instructions and/or data. As examples, thememory 832 may comprise RAM, DRAM, SDRAM, or other solid state memory. - The
language database 836 may include the data and/or libraries for one or more languages, as are used to provide the language functionality as provided herein. In one case, thelanguage database 836 may be loaded on themedia controller 804 at the point of manufacture. Optionally, thelanguage database 836 can be modified, updated, and/or otherwise changed to alter the data stored therein. For instance, additional languages may be supported by adding the language data to thelanguage database 836. In some cases, this addition of languages can be performed via accessing administrative functions on themedia controller 804 and loading the new language modules via wired (e.g., USB, etc.) or wireless communication. In some cases, the administrative functions may be available via avehicle console device 248, auser device - One or
more video controllers 840 may be provided for controlling the video operation of thedevices video controller 840 may include a display controller for controlling the operation of touch sensitive screens, including input (touch sensing) and output (display) functions. Video data may include data received in a stream and unpacked by a processor and loaded into a display buffer. In this example, the processor andvideo controller 840 can optimize the display based on the characteristics of a screen of adisplay device media processor 808 or display subsystem. - The
audio controller 844 can provide control of the audio entertainment system (e.g., radio, subscription music service, multimedia entertainment, etc.), and other audio associated with the vehicle 104 (e.g., navigation systems, vehicle comfort systems, convenience systems, etc.). Optionally, theaudio controller 844 may be configured to translate digital signals to analog signals and vice versa. As can be appreciated, theaudio controller 844 may include device drivers that allow theaudio controller 844 to communicate with other components of the system 800 (e.g.,processors O 874, and the like). - The
system 800 may include aprofile identification module 848 to determine whether a user profile is associated with thevehicle 104. Among other things, theprofile identification module 848 may receive requests from auser 216, ordevice profile database 856 orprofile data 252. Additionally or alternatively, theprofile identification module 848 may request profile information from auser 216 and/or adevice profile database 856 orprofile data 252. In any event, theprofile identification module 848 may be configured to create, modify, retrieve, and/or store user profiles in theprofile database 856 and/orprofile data 252. Theprofile identification module 848 may include rules for profile identification, profile information retrieval, creation, modification, and/or control of components in thesystem 800. - By way of example, a
user 216 may enter thevehicle 104 with a smart phone orother device 212. In response to determining that auser 216 is inside thevehicle 104, theprofile identification module 848 may determine that a user profile is associated with the user'ssmart phone 212. As another example, thesystem 800 may receive information about a user 216 (e.g., from acamera 878,microphone 886, etc.), and, in response to receiving the user information, theprofile identification module 848 may refer to theprofile database 856 to determine whether the user information matches a user profile stored in thedatabase 856. It is anticipated that theprofile identification module 848 may communicate with the other components of the system to load one or more preferences, settings, and/or conditions based on the user profile. Further, theprofile identification module 848 may be configured to control components of thesystem 800 based on user profile information. - Optionally,
data storage 852 may be provided. Like thememory 832, thedata storage 852 may comprise a solid state memory device or devices. Alternatively or in addition, thedata storage 852 may comprise a hard disk drive or other random access memory. Similar to thedata storage 852, theprofile database 856 may comprise a solid state memory device or devices. - An input/
output module 860 and associated ports may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices. Examples of an input/output module 860 include an Ethernet port, a Universal Serial Bus (USB) port, CAN Bus, Institute of Electrical and Electronics Engineers (IEEE) 1594, or other interface. Users may bring their own devices (e.g., Bring Your Own Device (BYOD),device 212, etc.) into thevehicle 104 for use with the various systems disclosed. Although most BYOD devices can connect to the vehicle systems (e.g., themedia controller subsystem 348, etc.) via wireless communications protocols (e.g., Wi-Fi™, Bluetooth®, etc.) many devices may require a direct connection via USB, or similar. In any event, the input/output module 860 can provide the necessary connection of one or more devices to the vehicle systems described herein. - A video input/
output interface 864 can be included to receive and transmit video signals between the various components in thesystem 800. Optionally, the video input/output interface 864 can operate with compressed and uncompressed video signals. The video input/output interface 864 can support high data rates associated with image capture devices. Additionally or alternatively, the video input/output interface 864 may convert analog video signals to digital signals. - The
infotainment system 870 may include information media content and/or entertainment content, informational devices, entertainment devices, and the associated programming therefor. Optionally, theinfotainment system 870 may be configured to handle the control of one or more components of thesystem 800 including, but in no way limited to, radio, streaming audio/video devices,audio devices video devices infotainment system 870 can provide the functionality associated with other infotainment features as provided herein. - An audio input/
output interface 874 can be included to provide analog audio to aninterconnected speaker 880 or other device, and to receive analog audio input from aconnected microphone 886 or other device. As an example, the audio input/output interface 874 may comprise an associated amplifier and analog to digital converter. Alternatively or in addition, thedevices output devices external speaker 880 ormicrophone 886. For example, anintegrated speaker 880 and anintegrated microphone 886 can be provided, to support near talk, voice commands, spoken information exchange, and/or speaker phone operations. - Among other things, the
system 800 may include devices that are part of thevehicle 104 and/or part of adevice vehicle 104. For instance, these devices may be configured to capture images, display images, capture sound, and present sound. Optionally, thesystem 800 may include at least one of image sensors/cameras 878,display devices 882, audio input devices/microphones 886, and audio output devices/speakers 880. Thecameras 878 can be included for capturing still and/or video images. Alternatively or in addition,image sensors 878 can include a scanner or code reader. An image sensor/camera 878 can include or be associated with additional elements, such as a flash or other light source. In some cases, thedisplay device 882 may include an audio input device and/or an audio output device in addition to providing video functions. For instance, thedisplay device 882 may be a console, monitor, a tablet computing device, and/or some other mobile computing device. -
FIG. 8B is a block diagram of an embodiment of a user/device interaction subsystem 817 in avehicle system 800. The user/device interaction subsystem 817 may comprise hardware and/or software that conduct various operations for or with thevehicle 104. For instance, the user/device interaction subsystem 817 may include at least oneuser interaction subsystem 332 anddevice interaction subsystem 352 as previously described. These operations may include, but are not limited to, providing information to theuser 216, receiving input from theuser 216, and controlling the functions or operation of thevehicle 104, etc. Among other things, the user/device interaction subsystem 817 may include a computing system operable to conduct the operations as described herein. - Optionally, the user/
device interaction subsystem 817 can include one or more of the components and modules provided herein. For instance, the user/device interaction subsystem 817 can include one or more of a video input/output interface 864, an audio input/output interface 874, asensor module 814, adevice interaction module 818, auser identification module 822, avehicle control module 826, anenvironmental control module 830, and agesture control module 834. The user/device interaction subsystem 817 may be in communication with other devices, modules, and components of thesystem 800 via thecommunications channel 356. - The user/
device interaction subsystem 817 may be configured to receive input from auser 216 and/or device via one or more components of the system. By way of example, auser 216 may provide input to the user/device interaction subsystem 817 viawearable devices camera 878, etc.) audio input (e.g., via the microphone, audio input source, etc.), gestures (e.g., via at least oneimage sensor 878,motion sensor 888, etc.), device input (e.g., via adevice - The
wearable devices user 216 and configured to measure user activity, determine energy spent based on the measured activity, track user sleep habits, determine user oxygen levels, monitor heart rate, provide alarm functions, and more. It is anticipated that thewearable devices device interaction subsystem 817 via wireless communications channels or direct connection (e.g., where the device docks, or connects, with a USB port or similar interface of the vehicle 104). - A
sensor module 814 may be configured to receive and/or interpret input provided by one or more sensors in thevehicle 104. In some cases, the sensors may be associated with one or more user devices (e.g.,wearable devices smart phones 212,mobile computing devices vehicle 104, as described in conjunction withFIGS. 6A-7B . - The
device interaction module 818 may communicate with the various devices as provided herein. Optionally, thedevice interaction module 818 can provide content, information, data, and/or media associated with the various subsystems of thevehicle system 800 to one ormore devices device interaction module 818 may receive content, information, data, and/or media associated with the various devices provided herein. - The
user identification module 822 may be configured to identify auser 216 associated with thevehicle 104. The identification may be based on user profile information that is stored inprofile data 252. For instance, theuser identification module 822 may receive characteristic information about auser 216 via a device, a camera, and/or some other input. The received characteristics may be compared to data stored in theprofile data 252. Where the characteristics match, theuser 216 is identified. As can be appreciated, where the characteristics do not match a user profile, theuser identification module 822 may communicate with other subsystems in thevehicle 104 to obtain and/or record profile information about theuser 216. This information may be stored in a memory and/or theprofile data storage 252. - The
vehicle control module 826 may be configured to control settings, features, and/or the functionality of avehicle 104. In some cases, thevehicle control module 826 can communicate with thevehicle control system 204 to control critical functions (e.g., driving system controls, braking, accelerating, etc.) and/or noncritical functions (e.g., driving signals, indicator/hazard lights, mirror controls, window actuation, etc.) based at least partially on user/device input received by the user/device interaction subsystem 817. - The
environmental control module 830 may be configured to control settings, features, and/or other conditions associated with the environment, especially the interior environment, of avehicle 104. Optionally, theenvironmental control module 830 may communicate with the climate control system (e.g. changing cabin temperatures, fan speeds, air direction, etc.), oxygen and/or air quality control system (e.g., increase/decrease oxygen in the environment, etc.), interior lighting (e.g., changing intensity of lighting, color of lighting, etc.), an occupant seating system 648 (e.g., adjusting seat position, firmness, height, etc.), steering wheel 640 (e.g., position adjustment, etc.), infotainment/entertainment system (e.g., adjust volume levels, display intensity adjustment, change content, etc.), and/or other systems associated with the vehicle environment. Additionally or alternatively, these systems can provide input, set-points, and/or responses, to theenvironmental control module 830. As can be appreciated, theenvironmental control module 830 may control the environment based at least partially on user/device input received by the user/device interaction subsystem 817. - The
gesture control module 834 is configured to interpret gestures provided by auser 216 in thevehicle 104. Optionally, thegesture control module 834 may provide control signals to one or more of thevehicle systems 300 disclosed herein. For example, auser 216 may provide gestures to control the environment, critical and/or noncritical vehicle functions, the infotainment system, communications, networking, and more. Optionally, gestures may be provided by auser 216 and detected via one or more of the sensors as described in conjunction withFIGS. 6B-7A . As another example, one ormore motion sensors 888 may receive gesture input from auser 216 and provide the gesture input to thegesture control module 834. Continuing this example, the gesture input is interpreted by thegesture control module 834. This interpretation may include comparing the gesture input to gestures stored in a memory. The gestures stored in memory may include one or more functions and/or controls mapped to specific gestures. When a match is determined between the detected gesture input and the stored gesture information, thegesture control module 834 can provide a control signal to any of the systems/subsystems as disclosed herein. -
FIG. 8C illustrates a GPS/Navigation subsystem(s) 336. The Navigation subsystem(s) 336 can be any present or future-built navigation system that may use location data, for example, from the Global Positioning System (GPS), to provide navigation information or control thevehicle 104. The Navigation subsystem(s) 336 can include several components or modules, such as, one or more of, but not limited to, a GPS Antenna/receiver 892, alocation module 896, amaps database 8100, anautomobile controller 8104, avehicle systems transceiver 8108, atraffic controller 8112, anetwork traffic transceiver 8116, a vehicle-to-vehicle transceiver 8120, atraffic information database 8124, etc. Generally, the several components or modules 892-8124 may be hardware, software, firmware, computer readable media, or combinations thereof. - A GPS Antenna/
receiver 892 can be any antenna, GPS puck, and/or receiver capable of receiving signals from a GPS satellite or other navigation system, as mentioned hereinbefore. The signals may be demodulated, converted, interpreted, etc. by the GPS Antenna/receiver 892 and provided to thelocation module 896. Thus, the GPS Antenna/receiver 892 may convert the time signals from the GPS system and provide a location (e.g., coordinates on a map) to thelocation module 896. Alternatively, thelocation module 896 can interpret the time signals into coordinates or other location information. - The
location module 896 can be the controller of the satellite navigation system designed for use in automobiles. Thelocation module 896 can acquire position data, as from the GPS Antenna/receiver 892, to locate the user orvehicle 104 on a road in the unit'smap database 8100. Using theroad database 8100, thelocation module 896 can give directions to other locations along roads also in thedatabase 8100. When a GPS signal is not available, thelocation module 896 may apply dead reckoning to estimate distance data fromsensors 242 including one or more of, but not limited to, a speed sensor attached to the drive train of thevehicle 104, a gyroscope, an accelerometer, etc. GPS signal loss and/or multipath can occur due to urban canyons, tunnels, and other obstructions. Additionally or alternatively, thelocation module 896 may use known locations of Wi-Fi hotspots, cell tower data, etc. to determine the position of thevehicle 104, such as by using time difference of arrival (TDOA) and/or frequency difference of arrival (FDOA) techniques. - The
maps database 8100 can include any hardware and/or software to store information about maps, geographical information system information, location information, etc. Themaps database 8100 can include any data definition or other structure to store the information. Generally, themaps database 8100 can include a road database that may include one or more vector maps of areas of interest. Street names, street numbers, house numbers, and other information can be encoded as geographic coordinates so that the user can find some desired destination by street address. Points of interest (waypoints) can also be stored with their geographic coordinates. For example, a point of interest may include speed cameras, fuel stations, public parking, and “parked here” (or “you parked here”) information. The map database contents can be produced or updated by a server connected through a wireless system in communication with the Internet, even as thevehicle 104 is driven along existing streets, yielding an up-to-date map. - An
automobile controller 8104 can be any hardware and/or software that can receive instructions from thelocation module 896 or thetraffic controller 8112 and operate thevehicle 104. Theautomobile controller 8104 receives this information and data from thesensors 242 to operate thevehicle 104 without driver input. Thus, theautomobile controller 8104 can drive thevehicle 104 along a route provided by thelocation module 896. The route may be adjusted by information sent from thetraffic controller 8112. Discrete and real-time driving can occur with data from thesensors 242. To operate thevehicle 104, theautomobile controller 8104 can communicate with avehicle systems transceiver 8108. - The
vehicle systems transceiver 8108 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing. Thevehicle systems transceiver 8108 may communicate or instruct one or more of thevehicle control subsystems 328. For example, thevehicle systems transceiver 8108 may send steering commands, as received from theautomobile controller 8104, to an electronic steering system, to adjust the steering of thevehicle 100 in real time. Theautomobile controller 8104 can determine the effect of the commands based on receivedsensor data 242 and can adjust the commands as need be. Thevehicle systems transceiver 8108 can also communicate with the braking system, the engine and drive train to speed or slow the car, the signals (e.g., turn signals and brake lights), the headlights, the windshield wipers, etc. Any of these communications may occur over the components or function as described in conjunction withFIG. 4 . - A
traffic controller 8112 can be any hardware and/or software that can communicate with an automated traffic system and adjust the function of thevehicle 104 based on instructions from the automated traffic system. An automated traffic system is a system that manages the traffic in a given area. This automated traffic system can instruct cars to drive in certain lanes, instruct cars to raise or lower their speed, instruct a car to change their route of travel, instruct cars to communicate with other cars, etc. To perform these functions, thetraffic controller 8112 may register thevehicle 104 with the automated traffic system and then provide other information including the route of travel. The automated traffic system can return registration information and any required instructions. The communications between the automated traffic system and thetraffic controller 8112 may be received and sent through anetwork traffic transceiver 8116. - The
network traffic transceiver 8116 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing. Thenetwork traffic transceiver 8116 may communicate with the automated traffic system using any known or future-developed, protocol, standard, frequency, bandwidth range, etc. Thenetwork traffic transceiver 8116 enables the sending of information between thetraffic controller 8112 and the automated traffic system. - The
traffic controller 8112 can also communicate with another vehicle, which may be in physical proximity (i.e., within range of a wireless signal), using the vehicle-to-vehicle transceiver 8120. As with thenetwork traffic transceiver 8116, the vehicle-to-vehicle transceiver 8120 can be any present or future-developed device that can comprise a transmitter and/or a receiver, which may be combined and can share common circuitry or a single housing. Generally, the vehicle-to-vehicle transceiver 8120 enables communication between thevehicle 104 and any other vehicle. These communications allow thevehicle 104 to receive traffic or safety information, control or be controlled by another vehicle, establish an alternative communication path to communicate with the automated traffic system, establish a node including two or more vehicle that can function as a unit, etc. The vehicle-to-vehicle transceiver 8120 may communicate with the other vehicles using any known or future-developed, protocol standard, frequency, bandwidth range, etc. - The
traffic controller 8112 can control functions of theautomobile controller 8104 and communicate with thelocation module 896. Thelocation module 896 can provide current location information and route information that thetraffic controller 8112 may then provide to the automated traffic system. Thetraffic controller 8112 may receive route adjustments from the automated traffic system that are then sent to thelocation module 896 to change the route. Further, thetraffic controller 8112 can also send driving instructions to theautomobile controller 8104 to change the driving characteristics of thevehicle 104. For example, thetraffic controller 8112 can instruct theautomobile controller 8104 to accelerate or decelerate to a different speed, change lanes, or perform another driving maneuver. Thetraffic controller 8112 can also manage vehicle-to-vehicle communications and store information about the communications or other information in thetraffic information database 8124. - The
traffic information database 8124 can be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Thetraffic information database 8124 may reside on a storage medium local to (and/or resident in) thevehicle control system 204 or in thevehicle 104. Thetraffic information database 8124 may be adapted to store, update, and retrieve information about communications with other vehicles or any active instructions from the automated traffic system. This information may be used by thetraffic controller 8112 to instruct or adjust the performance of driving maneuvers. -
FIG. 9 illustrates an optional communications architecture where, thehost device 908 may include one more routing profiles, permission modules, and rules that control how communications within thevehicle 104 are to occur. This communications architecture can be used in conjunction with the routing tables, rules and permissions associated withaccess point 456 andoptional firewall 484, or can be in lieu thereof. For example, thehost device 908 acts as a mobile hot spot to one or more other devices withinvehicle 104, such as,other device 1 912,other device 2 916,other device 3 920, andother device N 924. Optionally, one or more of theother devices 912 can communicate directly with thehost device 908 which then provides Internet access to thosedevices 912 via thedevice 908. Thehost device 908 can act as a mobile hot spot for any one or more of theother devices 912, which may not need to communicate over the network/communications buses 224/404, but could instead connect directly to thehost device 908 via, for example, NFC, Bluetooth®, WiFi, or the like. When thedevice 908 is acting as the host device, thedevice 908 can include one or more routing profiles, permissions, rules modules, and can also act as a firewall for the various inter and intra vehicle communications. - As will be appreciated, there could be alternative host devices, such as, host 904 which could also act as, for example, a co-host in association with
device 908. Optionally, one or more of the routing profile, permission information, and rules could be shared between theco-host devices host device 908 and theother device 904 via a direct communications link, but could also interface with thosedevices communications buses 224/404 associated with thevehicle 100. As previously discussed, one or more of the other devices can connect to the network/communications buses 224/404 utilizing the various networks and/or buses discussed herein which would therefore enable, for example, regulation of the various communications based on the Ethernet zone that theother device 912 is associated with. - An embodiment of one or more modules that may be associated with the
vehicle control system 204 may be as shown inFIG. 10 . The modules can include a communication subsystem interface 1008 in communication with anoperating system 1004. The communications may pass through afirewall 1044. Thefirewall 1044 can be any software that can control the incoming and outgoing communications by analyzing the data packets and determining whether the packets should be allowed through the firewall, based on applied rule set. Afirewall 1044 can establish a “barrier” between a trusted, secure internal network and another network (e.g., the Internet) that is not assumed to be secure and trusted. - In some situations, the
firewall 1044 may establish security zones that are implemented by running system services and/or applications in restricted user groups and accounts. A set of configuration files and callbacks may then be linked to an IP table firewall. The IP table firewall can be configured to notify a custom filter application at any of the layers of the Ethernet packet. The different users/group rights to access the system may include: system users, which may have exclusive right over all device firewall rules and running software; a big-brother user, which may have access to on board device (OBD) control data and may be able to communicate with thevehicle subsystem 328 and may be able to alter the parameters in thevehicle control system 204; a dealer user, which can have rights to read OBD data for diagnostics and repairs; a dashboard user, which can have rights to launch dashboard applications and/or authenticate guest users and change their permissions to trusted/friend/family, and can read but cannot write into OBD diagnostic data; a world wide web (WWW) data user, which can have HTTP rights to respond to HTTP requests (the HTTP requests also can target different user data, but may be filtered by default user accounts); a guest user, which may have no rights; a family/friend user, which may have rights to play media from themedia subsystem 348 and/or to stream media to themedia subsystem 348. - The
operating system 1004 can be a collection of software that manages computer hardware resources and provides common services for applications and other programs. Theoperating system 1004 may schedule time-sharing for efficient use of the system. For hardware functions, such as input, output, and memory allocation, theoperating system 1004 can act as an intermediary between applications or programs and the computer hardware. Examples of operating systems that may be deployed asoperating system 1004 include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, IBM z/OS, etc. - The
operating system 1004 can include one or more sub-modules. For example, adesktop manager 1012 can manage one or more graphical user interfaces (GUI) in a desktop environment. Desktop GUIs can help the user to easily access and edit files. A command-line interface (CLI) may be used if full control over the operating system (OS) 1004 is required. Thedesktop manager 1012 is described further hereinafter. - A
kernel 1028 can be a computer program that manages input/output requests from software and translates them into data processing instructions for theprocessor 304 and other components of thevehicle control system 204. Thekernel 1028 is the fundamental component of theoperating system 1004 that can execute many of the functions associated with theOS 1004. - The
kernel 1028 can include other software functions, including, but not limited to, driver(s) 1056,communication software 1052, and/orInternet Protocol software 1048. Adriver 1056 can be any computer program that operates or controls a particular type of device that is attached to avehicle control system 204. Adriver 1056 can communicate with the device through thebus 356 or communications subsystem 1008 to which the hardware connects. When a calling program invokes a routine in thedriver 1056, thedriver 1056 may issue one or more commands to the device. Once the device sends data back to thedriver 1056, thedriver 1056 may invoke routines in the original calling program. Drivers can be hardware-dependent and operating-system-specific. Driver(s) 1056 can provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface. - The
IP module 1048 can conduct any IP addressing, which may include the assignment of IP addresses and associated parameters to host interfaces. The address space may include networks and sub-networks. TheIP module 1048 can perform the designation of network or routing prefixes and may conduct IP routing, which transports packets across network boundaries. Thus, theIP module 1048 may perform all functions required for IP multicast operations. - The
communications module 1052 may conduct all functions for communicating over other systems or using other protocols not serviced by theIP module 1048. Thus, thecommunications module 1052 can manage multicast operations over other busses or networks not serviced by theIP module 1048. Further, thecommunications module 1052 may perform or manage communications to one or more devices, systems, data stores, services, etc. that are in communication with thevehicle control system 204 or other subsystems through thefirewall 1044. Thus, thecommunications module 1052 can conduct communications through the communication subsystem interface 1008. - A
file system 1016 may be any data handling software that can control how data is stored and retrieved. Thefile system 1016 can separate the stored data into individual pieces, and giving each piece a name, can easily separate and identify the pieces of data. Each piece of data may be considered a “file”. Thefile system 1016 can construct data structure and logic rules used to manage the information and the identifiers for the information. The structure and logic rules can be considered a “file system.” - A
device discovery daemon 1020 may be a computer program that runs as a background process that can discover new devices that connect with thenetwork 356 or communication subsystem 1008 or devices that disconnect from thenetwork 356 or communication subsystem 1008. Thedevice discovery daemon 1020 can ping the network 356 (the local subnet) when thevehicle 104 starts, when a vehicle door opens or closes, or upon the occurrence of other events. Additionally or alternatively, thedevice discovery daemon 1020 may force Bluetooth®, USB, and/or wireless detection. For each device that responds to the ping, thedevice discovery daemon 1020 can populate thesystem data 208 with device information and capabilities, using any of one or more protocols, including one or more of, but not limited to, IPv6 Hop-by-Hop Option (HOPOPT), Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP), Gateway-to-Gateway Protocol (GGP), Internet Protocol (IP), Internet Stream Protocol (ST), Transmission Control Protocol (TCP), Exterior Gateway Protocol (EGP), CHAOS, User Datagram Protocol (UDP), etc. - For example, the
device discovery daemon 1020 can determine device capabilities based on the opened ports the device exposes. If a camera exposes port 80, then thedevice discovery daemon 1020 can determine that the camera is using a Hypertext Transfer Protocol (HTTP). Alternatively, if a device is supporting Universal Plug and Play (UPnP), thesystem data 208 can include more information, for example, a camera control universal resource locator (URL), a camera zoom URL, etc. When a scan stops, thedevice discovery daemon 1020 can trigger a dashboard refresh to ensure the user interface reflects the new devices on the desktop. - A
desktop manager 1012 may be a computer program that manages the user interface of thevehicle control system 204. The desktop environment may be designed to be customizable and allow the definition of the desktop configuration look-and-feel for a wide range of appliances or devices from computer desktops, mobile devices, computer tablets, etc. Launcher(s), panels, desktop areas, the desktop background, notifications, panes, etc., can be configured from a dashboard configuration file managed by thedesktop manager 1012. The graphical elements in which thedesktop manager 1012 controls can include launchers, the desktop, notification bars, etc. - The desktop may be an area of the display where the applications are running. The desktop can have a custom background. Further, the desktop may be divided into two or more areas. For example, the desktop may be divided into an upper half of a display and a lower half of the display. Each application can be configured to run in a portion of the desktop. Extended settings can be added to the desktop configuration file, such that, some objects may be displayed over the whole desktop or in custom size out of the context of the divided areas.
- The notification bar may be a part of a bar display system, which may provide notifications by displaying, for example, icons and/or pop-up windows that may be associated with sound notifications. The notification mechanism can be designed for separate plug-ins, which run in separate processes and may subscribe to a system Intelligent Input Bus (IBUS)/D-BUS event service. The icons on the notifications bar can be accompanied with application short-cuts to associated applications, for example, a Bluetooth® manager, a USB manager, radio volume and or tone control, a security firewall, etc.
- The
desktop manager 1012 may include awindows manager 1032, anapplication launcher 1036, and/or apanel launcher 1040. Each of these components can control a different aspect of the user interface. Thedesktop manager 1012 can use a root window to create panels that can include functionality for one or more of, but not limited to: launching applications, managing applications, providing notifications, etc. - The
windows manager 1032 may be software that controls the placement and appearance of windows within a graphical user interface presented to the user. Generally, thewindows manager 1032 can provide the desktop environment used by thevehicle control system 204. Thewindows manager 1032 can communicate with thekernel 1028 to interface with the graphical system that provides the user interface(s) and supports the graphics hardware, pointing devices, keyboard, touch-sensitive screens, etc. Thewindows manager 1032 may be a tiling window manager (i.e., a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to a coordinate-based stacking of overlapping objects (windows) that attempts to fully emulate the desktop metaphor). Thewindows manager 1032 may read and store configuration files, in thesystem data 208, which can control the position of the application windows at precise positions. - An
application manager 1036 can control the function of any application over the lifetime of the process. The process or application can be launched from apanel launcher 1040 or from a remote console. Theapplication manager 1036 can intercept the process name and may take appropriate action to manage that process. If the process is not running, theapplication manager 1036 can load the process and may bring the process to a foreground in a display. Theapplication manager 1036 may also notify thewindows manager 1032 to bring the associated window(s) to a top of a window stack for the display. When a process starts from a shell or a notification out of the context of the desktop, theapplication manager 1036 can scan files to match the process name with the entry name provided. When a match is found, theapplication manager 1036 can configure the process according to a settings file. - In some situations, the
application manager 1036 may restrict an application as singleton (i.e., restricts the instantiation of a class to one object). If an application is already running and theapplication manager 1036 is asked to run the application again, theapplication manager 1036 can bring the running process to a foreground on a display. There can be a notification event exchange between thewindows manager 1032 and theapplication manager 1036 for activating the appropriate window for the foreground process. Once an application is launched, the application may not be terminated or killed. The application can be sent to the background, except, possibly, for some applications (e.g., media player, Bluetooth®, notifications, etc.), which may be given a lowest process priority. - The
panel launcher 1040 can be a widget configured to be placed along a portion of the display. Thepanel launcher 1040 may be built from desktop files from a desktop folder. The desktop folder location can be configured by a configuration file stored insystem data 208. Thepanel launcher 1040 can allow for the launching or executing of applications or processes by receiving inputs from a user interface to launch programs. - A
desktop plugin 1024 may be a software component that allows for customization of the desktop or software interface through the initiation of plug-in applications. - One or more gestures used to interface with the
vehicle control system 204 may be as described in conjunction withFIG. 11A through 11K .FIGS. 11A through 11H depict various graphical representations of gesture inputs that may be recognized by thedevices device - With reference to
FIGS. 11A-11H , a first type of gesture, atouch gesture 1120, is substantially stationary on a portion (e.g., a screen, a display, etc.) of adevice border 1132, the thickness of which indicates a length of time that the contact is held substantially stationary at the contact location. For instance, a tap 1120 (or short press) has athinner border 1132A than theborder 1132B for a long press 1124 (or for a normal press). Thelong press 1124 may involve a contact that remains substantially stationary on the screen for longer time period than that of atap 1120. As will be appreciated, differently defined gestures may be registered depending upon the length of time that the touch remains stationary prior to contact cessation or movement on the screen. - With reference to
FIG. 11C , adrag gesture 1100 on the screen is an initial contact (represented by circle 1128) withcontact movement 1136 in a selected direction. The initial contact 1128 may remain stationary on the screen for a certain amount of time represented by theborder 1132. The drag gesture typically requires the user to contact an icon, window, or other displayed image at a first location followed by movement of the contact in a drag direction to a new second location desired for the selected displayed image. The contact movement need not be in a straight line but have any path of movement so long as the contact is substantially continuous from the first to the second locations. - With reference to
FIG. 11D , aflick gesture 1104 on the screen is an initial contact (represented by circle 1128) with truncated contact movement 1136 (relative to a drag gesture) in a selected direction. A flick may have a higher exit velocity for the last movement in the gesture compared to the drag gesture. The flick gesture can, for instance, be a finger snap following initial contact. Compared to a drag gesture, a flick gesture generally does not require continual contact with the screen from the first location of a displayed image to a predetermined second location. The contacted displayed image is moved by the flick gesture in the direction of the flick gesture to the predetermined second location. Although both gestures commonly can move a displayed image from a first location to a second location, the temporal duration and distance of travel of the contact on the screen is generally less for a flick than for a drag gesture. - With reference to
FIG. 11E , a pinch gesture 1108 on the screen is depicted. The pinch gesture 1108 may be initiated by afirst contact 1128A to the screen by, for example, a first digit and asecond contact 1128B to the screen by, for example, a second digit. The first andsecond contacts 1128A,B may be detected by a common contact sensing portion of a common screen, by different contact sensing portions of a common screen, or by different contact sensing portions of different screens. Thefirst contact 1128A is held for a first amount of time, as represented by theborder 1132A, and thesecond contact 1128B is held for a second amount of time, as represented by theborder 1132B. The first and second amounts of time are generally substantially the same, and the first andsecond contacts 1128A,B generally occur substantially simultaneously. The first andsecond contacts 1128A,B generally also include corresponding first andsecond contact movements 1136A,B, respectively. The first andsecond contact movements 1136A,B are generally in opposing directions. Stated another way, thefirst contact movement 1136A is towards thesecond contact 1136B, and thesecond contact movement 1136B is towards thefirst contact 1136A. More simply stated, the pinch gesture 1108 may be accomplished by a user's digits touching the screen in a pinching motion. - With reference to
FIG. 11F , a spread gesture 1110 on the screen is depicted. The spread gesture 1110 may be initiated by afirst contact 1128A to the screen by, for example, a first digit, and asecond contact 1128B to the screen by, for example, a second digit. The first andsecond contacts 1128A,B may be detected by a common contact sensing portion of a common screen, by different contact sensing portions of a common screen, or by different contact sensing portions of different screens. Thefirst contact 1128A is held for a first amount of time, as represented by theborder 1132A, and thesecond contact 1128B is held for a second amount of time, as represented by theborder 1132B. The first and second amounts of time are generally substantially the same, and the first andsecond contacts 1128A,B generally occur substantially simultaneously. The first andsecond contacts 1128A,B generally also include corresponding first andsecond contact movements 1136A,B, respectively. The first andsecond contact movements 1136A,B are generally in an opposing direction. Stated another way, the first andsecond contact movements 1136A,B are away from the first andsecond contacts 1128A,B. More simply stated, the spread gesture 1110 may be accomplished by a user's digits touching the screen in a spreading motion. - The above gestures may be combined in any manner, such as those shown by
FIGS. 11G and 11H , to produce a determined functional result. For example, inFIG. 11G atap gesture 1120 is combined with a drag orflick gesture 1112 in a direction away from thetap gesture 1120. InFIG. 11H , atap gesture 1120 is combined with a drag or flick gesture 1116 in a direction towards thetap gesture 1120. - The functional result of receiving a gesture can vary depending on a number of factors, including a state of the
vehicle 104, display, or screen of a device, a context associated with the gesture, or sensed location of the gesture, etc. The state of thevehicle 104 commonly refers to one or more of a configuration of thevehicle 104, a display orientation, and user and other inputs received by thevehicle 104. Context commonly refers to one or more of the particular application(s) selected by the gesture and the portion(s) of the application currently executing, whether the application is a single- or multi-screen application, and whether the application is a multi-screen application displaying one or more windows. A sensed location of the gesture commonly refers to whether the sensed set(s) of gesture location coordinates are on a touch sensitive display or a gesture capture region of adevice device - A tap, when received by a touch sensitive display of a
device device device - The pinch gesture, when received by a touch sensitive display or a gesture capture region of a
device device - The combined gestures of
FIG. 11G , when received by a common display capture region in a common display or screen of adevice FIG. 11H , when received by different display capture regions in a common display or screen of adevice more devices - Gestures that may be completed in three-dimensional space and not on a touch sensitive screen or gesture capture region of a
device FIGS. 11I-11K . The gestures may be completed in an area where a sensor, such as an optical sensor, infrared sensor, or other type of sensor, may detect the gesture. For example, thegesture 1140 inFIG. 11I may be executed by a person when the person opens theirhand 1164 and moves their hand in a back and forthdirection 1148 as agesture 1140 to complete some function with thevehicle 104. Forexample gesture 1140 may change the station of the radio in thevehicle 104. Thesensors 242 may both determine the configuration of thehand 1164 and the vector of the movement. The vector and hand configuration can be interpreted to mean certain things to thevehicle control system 204 and produce different results. - In another example of a
gesture 1152 inFIG. 11J , a user may configure theirhand 1164 to extend two fingers and move thehand 1164 in an up and downoperation 1156. Thisgesture 1152 may control the volume of the radio or some other function. For instance, thisgesture 1152 may be configured to place the vehicle in a “valet” mode to, among other things, restrict access to certain features associated with the vehicle. Again, thesensors 242 may determine how the person has configured theirhand 1164, and the vector of the movement. In another example of agesture 1160 shown inFIG. 11K , a user may extend their middle three fingers at an angle that is substantially 45° for vertical from straight vertical and circle the hand in acounter-clockwise motion 1166. Thisgesture 1160 may cause the automobile to change the heat setting or do some other function. As can be understood by one skilled in the art, the configurations of the hand and the types of movement are variable. Thus, the user may configure thehand 1164 in any way imaginable and may also move thathand 1164 in any direction with any vector in three-dimensional space. - The
gestures FIGS. 11I-11K , may occur in a predetermined volume of space within thevehicle 104. For example, a sensor may be configured to identifysuch gestures vehicle 104. Thegestures area 1 508A between zones A 512A andB 512B. However, there may be other areas 508 where a user may use certain gestures, wheresensors 242 may be able to determine a certain function is desired. Gestures that may be similar but used in different areas within thevehicle 104 may cause different functions to be performed. For example, thegesture 1140 inFIG. 11I , if used inzone E 512E, may change the heat provided inzone E 512E, but may change the station of a radio if used inzone A 512A and/orzone B 512B. Further, the gestures may be made with other body parts or, for example, different expressions of a person's face and may be used to control functions in thevehicle 104. Also, the user may use two hands in some circumstances or do other types of physical movements that can cause different reactions in thevehicle 104. -
FIGS. 12A-12D show various embodiments of adata structure 1200 to store different settings. Thedata structure 1200 may include one or more of data files ordata objects data structure 1200 may represent different types of databases or data storage, for example, object-oriented data bases, flat file data structures, relational database, or other types of data storage arrangements. Embodiments of thedata structure 1200 disclosed herein may be separate, combined, and/or distributed. As indicated inFIGS. 12A-12D , there may be more or fewer portions in thedata structure 1200, as represented byellipses 1244. Further, there may be more or fewer files in thedata structure 1200, as represented byellipses 1248. - Referring to
FIG. 12A , a first data structure is shown. The data file 1204 may include several portions 1208-1242 representing different types of data. Each of these types of data may be associated with a user, as shown inportion 1208. - There may be one or more user records 1240 and associated data stored within the
data file 1204. As provided herein, the user can be any person that uses or rides within the vehicle orconveyance 104. The user may be identified inportion 1212. For thevehicle 104, the user may include a set of one or more features that may identify the user. These features may be the physical characteristics of the person that may be identified by facial recognition or some other type of system. In other situations, the user may provide a unique code to thevehicle control system 204 or provide some other type of data that allows thevehicle control system 204 to identify the user. The features or characteristics of the user are then stored inportion 1212. - Each user, identified in
portion 1208, may have a different set of settings for each area 508 and/or each zone 512 within thevehicle 104. Thus, each set of settings may also be associated with a predetermined zone 512 or area 508. The zone 512 is stored inportion 1220, and the area 508 is stored inportion 1216. - One or more settings may be stored in
portion 1224. Thesesettings 1224 may be the configurations of different functions within thevehicle 104 that are specified by or for that user. For example, thesettings 1224 may be the position of a seat, the position of a steering wheel, the position of accelerator and/or brake pedals, positions of mirrors, a heating/cooling setting, a radio setting, a cruise control setting, or some other type of setting associated with thevehicle 104. Further, in vehicles adapted to have a configurable console or a configurable dash or heads-up display, thesettings 1224 may also provide for how that heads-up display, dash, or console are configured for this particular user. - Each setting 1224 may be associated with a different area 508 or zone 512. Thus, there may be
more settings 1224 for when the user is the driver and in zone A 512A, 512A, ofarea similar settings 1224 among the different zones 512 or areas 508 as shown inportion 1224. For example, the heating or radio settings for the user may be similar in every zone 512. - The
sensors 242 within thevehicle 104 may be able to either obtain or track health data inportion 1228.Health data 1228 may include any type of physical characteristic associated with the user. For example, a heart rate, a blood pressure, a temperature, or other types of heath data may be obtained and stored inportion 1228. The user may have this health data tracked over a period of time to allow for statistical analysis of the user's health while operating thevehicle 104. In this way, if some function of the user's health deviates from a norm (e.g., a baseline measurement, average measurements taken over time, and the like), thevehicle 104 may be able to determine there is a problem with the person and react to that data. - One or more gestures may be stored in
portion 1232. Thus, the gestures used and described in conjunctionFIG. 11A through 11K may be configurable. These gestures may be determined or created by the user and stored inportion 1132. A user may have different gestures for each zone 512 or area 508 within the vehicle. The gestures that do certain things while driving may do other things while in a different area 508 of thevehicle 104. Thus, the user may use a first set of gestures while driving and a second set while a passenger. Further, one or more users may share gestures as shown inportion 1232. Each driver may have a common set of gestures that they use in zone A 512A, 512A. Each of these gestures may be determined or captured and then stored with their characteristics (e.g., vector, position of gesture, etc.) inportion 1232. - One or more sets of safety parameters may be stored in
portion 1236.Safety parameters 1236 may be common operating characteristics for this driver/passenger or for all drivers/passengers that if deviated from may determine there is a problem with the driver/passenger or thevehicle 104. For example, a certain route may be taken repeatedly and an average speed or mean speed may be determined. If the mean speed deviates by some number of standard deviations, a problem with thevehicle 104 or the user may be determined. In another example, the health characteristics or driving experience of the user may be determined. If the user drives in a certain position where their head occupies a certain portion of three-dimensional space within thevehicle 104, thevehicle control system 204 may determine that the safety parameter includes the users face or head being within this certain portion of the vehicle interior space. If the user's head deviates from that interior space for some amount of time, thevehicle control system 204 can determine that something is wrong with the driver and change the function or operation of thevehicle 104 to assist the driver. This may happen, for example, when a user falls asleep at the wheel. If the user's head droops and no longer occupies a certain three dimensional space, thevehicle control system 204 can determine that the driver has fallen asleep and may take control of the operation of thevehicle 204 and theautomobile controller 8104 may steer thevehicle 204 to the side of the road. In other examples, if the user's reaction time is too slow or some other safety parameter is not nominal, thevehicle control system 204 may determine that the user is inebriated or having some other medical problem. Thevehicle control system 204 may then assume control of the vehicle to ensure that the driver is safe. - Information corresponding to a user and/or a user profile may be stored in the
profile information portion 1238. For example, theprofile information 1238 may include data relating to at least one of current data, historical data, a user preference, user habit, user routine, observation, location data (e.g., programmed and/or requested destinations, locations of parking, routes traveled, average driving time, etc.), social media connections, contacts, brand recognition (e.g., determined via one or more sensors associated with thevehicle 104, adevice profile information portion 1238 may be stored in one or more of thedata structures 1200 provided herein. As can be appreciated, these one or more data structures may be stored in one or more memory locations. Examples of various memory locations are described in conjunction withFIG. 2 . - One or more additional data fields may be stored in the linked
data portion 1242 as data and/or locations of data. The linkeddata 1242 may include at least one of pointers, addresses, location identification, data source information, and other information corresponding to additional data associated with thedata structure 1200. Optionally, the linkeddata portion 1242 may refer to data stored outside of aparticular data structure 1200. For example, the linkeddata portion 1242 may include a link/locator to the external data. Continuing this example, the link/locator may be resolved (e.g., via one or more of the methods and/or systems provided herein, etc.) to access the data stored outside of thedata structure 1200. Additionally or alternatively, the linkeddata portion 1242 may include information configured to link the data objects 1204 to other data files ordata objects device data object 1250, a vehicle system data object 1270, and avehicle data object 1280, to name a few. - An embodiment of a
data structure 1200 to store information associated with one or more devices is shown inFIG. 12B . The data file 1250 may include several portions 1216-1262 representing different types of data. Each of these types of data may be associated with a device, as shown inportion 1252. - There may be one or
more device records 1250 and associated data stored within thedata file 1250. As provided herein, the device may be any device that is associated with thevehicle 104. For example, a device may be associated with avehicle 104 when that device is physically located within theinterior space 108 of thevehicle 104. As another example, a device may be associated with avehicle 104 when the device registers with thevehicle 104. Registration may include pairing the device with thevehicle 104 and/or one or more of the vehicle systems (e.g., as provided inFIG. 3 ). In some cases, the registration of a device with avehicle 104 may be performed manually and/or automatically. An example of automatic registration may include detecting, via one or more of the vehicle systems, that a device is inside thevehicle 104. Upon detecting that the device is inside thevehicle 104, the vehicle system may identify the device and determine whether the device is or should be registered. Registration may be performed outside of avehicle 104 via providing a unique code to thevehicle 104 and/or at least one of the vehicle systems. - The device may be identified in
portion 1256. Among other things, the device identification may be based on the hardware associated with the device (e.g., Media Access Control (MAC) address, Burned-In Address (BIA), Ethernet Hardware Address (EHA), physical address, hardware address, and the like). - Optionally, a device may be associated with one or more users. For example, a tablet and/or graphical user interface (GUI) associated with the
vehicle 104 may be used by multiple members of a family. For instance, the GUI may be located in a particular area 508 and/or zone 512 of thevehicle 104. Continuing this example, when a family member is located in the particular area 508 and/or zone 512, the device may include various settings, features, priorities, capabilities, and the like, based on an identification of the family member. The user may be identified inportion 1254. For the device, theuser identification portion 1254 may include a set of one or more features that may identify a particular user. These features may be the physical characteristics of the person that may be identified by facial recognition, or some other type of system, associated with the device and/or thevehicle 104. Optionally, the user may provide a unique code to the device, or provide some other type of data, that allows the device to identify the user. The features or characteristics of the user are then stored inportion 1254. - Each device identified in the
device identification portion 1256 may have a different set of settings for each area 508 and/or each zone 512, and/or each user of the device. Thus, each set of settings may also be associated with a predetermined zone 512, area 508, and/or user. The zone 512 is stored inportion 1220 and the area 508 is stored inportion 1216. - One or more settings may be stored in
portion 1224. Thesesettings 1224 may be similar and/or identical to those previously described. Further, thesettings 1224 may also provide for how a device is configured for a particular user. Each setting 1224 may be associated with a different area 508 or zone 512. Thus, there may be more restrictive settings 1224 (e.g., restricted multimedia, texting, limited access to device functions, and the like) for the device when the user is the driver and in zone A 512A, 512A, ofarea vehicle 104, thesettings 1224 may provide unrestricted access to one or more features of the device (e.g., allowing texting, multimedia, etc.). - Optionally, the capabilities of a device may be stored in
portion 1258. Examples of device capabilities may include, but are not limited to, a communications ability (e.g., via wireless network, EDGE, 3G, 4G, LTE, wired, Bluetooth®, Near Field Communications (NFC), Infrared (IR), etc.), hardware associated with the device (e.g., cameras, gyroscopes, accelerometers, touch interface, processor, memory, display, etc.), software (e.g., installed, available, revision, release date, etc.), firmware (e.g., type, revision, etc.), operating system, system status, and the like. Optionally, the various capabilities associated with a device may be controlled by one or more of the vehicle systems provided herein. Among other things, this control allows thevehicle 104 to leverage the power and features of various devices to collect, transmit, and/or receive data. - One or more priorities may be stored in
portion 1260. The priority may correspond to a value, or combination of values, configured to determine how a device interacts with thevehicle 104 and/or its various systems. The priority may be based on a location of the device (e.g., as stored inportions 1216, 1220). A default priority can be associated with each area 508 and/or zone 512 of avehicle 104. For example, the default priority associated with a device found inzone 1 512A ofarea 1 508A (e.g., a vehicle operator position) may be set higher than an (or the highest of any) alternative zone 512 or area 508 of thevehicle 104. Continuing this example, thevehicle 104 may determine that, although other devices are found in the vehicle, the device, having the highest priority, controls features associated with thevehicle 104. These features may include vehicle control features, critical and/or non-critical systems, communications, and the like. Additionally or alternatively, the priority may be based on a particular user associated with the device. Optionally, the priority may be used to determine which device will control a particular signal in the event of a conflict. - Registration data may be stored in
portion 1262. As described above, when a particular device registers with avehicle 104, data related to the registration may be stored in theregistration data portion 1262. Such data may include, but is not limited to, registration information, registration codes, initial registration time, expiration of registration, registration timers, and the like. Optionally, one or more systems of thevehicle 104 may refer to theregistration data portion 1262 to determine whether a device has been previously registered with thevehicle 104. As shown inFIG. 12B ,User 4 ofDevice 2 has not been registered. In this case, theregistration data field 1262, for this user, may be empty, contain a null value, or other information/indication that there is no current registration information associated with the user. - Additionally or alternatively, the
data structure 1200 may include aprofile information portion 1238 and/or a linkeddata portion 1242. Although theprofile information portion 1238 and/or the linkeddata portion 1242 may include different information from that described above, it should be appreciated that theportions - An embodiment of a
data structure 1200 to store information associated with one or more vehicle systems is shown inFIG. 12C . The data file 1270 may include several portions 1216-1279 representing different types of data. Each of these types of data may be associated with a vehicle system, as shown inportion 1272. - There may be one or
more system records 1270 and associated data stored within thedata file 1270. As provided herein, the vehicle systems may be any system and/or subsystem that is associated with thevehicle 104. Examples of various systems are described in conjunction withFIG. 3 and other related figures (e.g., systems 324-352, etc.). One example of a system associated with thevehicle 104 is thevehicle control system 204. Other systems may includecommunications subsystems 344,vehicle subsystems 328, andmedia subsystems 348, to name a few. It should be appreciated that the various systems may be associated with theinterior space 108 and/or the exterior of thevehicle 104. - Each system may include one or more components. The components may be identified in
portion 1274. Identification of the one or more components may be based on hardware associated with the component. This identification may include hardware addresses similar to those described in conjunction with the devices ofFIG. 12B . Additionally or alternatively, a component can be identified by one or more signals sent via the component. Such signals may include an Internet Protocol (IP), or similar, address as part of the signal. Optionally, the signal may identify the component sending the signal via one or more of a header, a footer, a payload, and/or an identifier associated with the signal (e.g., a packet of a signal, etc.). - Each system and/or component may include priority type information in
portion 1276. Among other things, the priority type information stored inportion 1276 may be used by the various methods and systems provided herein to differentiate between critical and non-critical systems. Non-limiting examples of critical systems may correspond to those systems used to control thevehicle 104, such as, steering control, engine control, throttle control, braking control, and/or navigation informational control (e.g., speed measurement, fuel measurement, etc.) Non-critical systems may include other systems that are not directly related to the control of thevehicle 104. By way of example, non-critical systems may include media presentation, wireless communications, comfort settings systems (e.g., climate control, seat position, seat warmers, etc.), and the like. Although examples of critical and/or non-critical systems are provided above, it should be appreciated that the priority type of a system may change (e.g., from critical to non-critical, from non-critical to critical, etc.) depending on the scenario. For instance, although the interior climate control system may be classified as a non-critical system at a first point in time, it may be subsequently classified as a critical system when a temperature inside/outside of thevehicle 104 is measured at a dangerous level (e.g., sub-zero Fahrenheit, greater than 90-degrees Fahrenheit, etc.). As such, the priority type may be associated with temperature conditions, air quality, times of the day, condition of thevehicle 104, and the like. - Each system may be associated with a particular area 508 and/or zone 512 of a
vehicle 104. Among other things, the location of a system may be used to assess a state of the system and/or provide how the system interacts with one or more users of thevehicle 104. As can be appreciated each system may have a different set of settings for each area 508 and/or each zone 512, and/or each user of the system. Thus, each set of settings may also be associated with a predetermined zone 512, area 508, system, and/or user. The zone 512 is stored inportion 1220 and the area 508 is stored inportion 1216. - One or more settings may be stored in
portion 1224. Thesesettings 1224 may be similar and/or identical to those previously described. Further, thesettings 1224 may also provide for how a system is configured for a particular user. Each setting 1224 may be associated with a different area 508 or zone 512. For instance, a climate control system may be associated with more than one area 508 and/or zone 512. As such, a first user seated inzone 1 512A ofarea 1 508A may store settings related to the climate control of thatzone 512A that are different from other users and/or zones 512 of thevehicle 104. Optionally, the settings may not be dependent on a user. For instance, specific areas 508 and/or zones 512 of avehicle 104 may include different, default, or the same settings based on the information stored inportion 1224. - The various systems and/or components may be able to obtain or track health status data of the systems and/or components in
portion 1278. Thehealth status 1278 may include any type of information related to a state of the systems. For instance, an operational condition, manufacturing date, update status, revision information, time in operation, fault status, state of damage detected, inaccurate data reporting, and other types of component/system health status data may be obtained and stored inportion 1278. - Each component and/or system may be configured to communicate with users, systems, servers, vehicles, third parties, and/or other endpoints via one or more communication type. At least one communication ability and/or type associated with a system may be stored in the
communication type portion 1279. Optionally, the communication types contained in thisportion 1279 may be ordered in a preferential order of communication types. For instance, a system may be configured to preferably communicate via a wired communication protocol over one or more wired communication channels (e.g., due to information transfer speeds, reliability, and the like). However, in this instance, if the one or more wired communication channels fail, the system may transfer information via an alternative communication protocol and channel (e.g., a wireless communication protocol and wireless communication channel, etc.). Among other things, the methods and systems provided herein may take advantage of the information stored in thecommunication type portion 1279 to open available communication channels in the event of a communication channel failure, listen on other ports for information transmitted from the systems, provide a reliability rating based on the number of redundant communication types for each component, and more. Optionally, a component or system may be restricted from communicating via a particular communication type (e.g., based on rules, traffic, critical/non-critical priority type, and the like). In this example, the component or system may be forced by thevehicle control system 204 to use an alternate communication type where available, cease communications, or store communications for later transfer. - Additionally or alternatively, the
data structure 1200 may include aprofile information portion 1238 and/or a linkeddata portion 1242. Although theprofile information portion 1238 and/or the linkeddata portion 1242 may include different information from that described above, it should be appreciated that theportions - Referring now to
FIG. 12D , adata structure 1200 is shown optionally. The data file 1280 may include several portions 1216-1286 representing different types of data. Each of these types of data may be associated with a vehicle, as shown inportion 1282. - There may be one or
more vehicle records 1280 and associated data stored within thedata file 1282. As provided herein, thevehicle 104 can be any vehicle orconveyance 104 as provided herein. Thevehicle 104 may be identified inportion 1282. Additionally or alternatively, thevehicle 104 may be identified by one or more systems and/or subsystems. The various systems of avehicle 104 may be identified inportion 1284. For example, various features or characteristics of thevehicle 104 and/or its systems may be stored inportion 1284. Optionally, thevehicle 104 may be identified via a unique code or some other type of data that allows thevehicle 104 to be identified. - Each system may be associated with a particular area 508 and/or zone 512 of a
vehicle 104. Among other things, the location of a system may be used to assess a state of the system and/or provide how the system interacts with one or more users of thevehicle 104. As can be appreciated each system may have a different set of settings for each area 508 and/or each zone 512, and/or each user of the system. Thus, each set of settings may also be associated with a predetermined zone 512, area 508, system, and/or user. The zone 512 is stored inportion 1220 and the area 508 is stored inportion 1216. - One or more settings may be stored in
portion 1224. Thesesettings 1224 may be similar and/or identical to those previously described. Further, thesettings 1224 may also provide for how a vehicle and/or its systems are configured for one or more users. Each setting 1224 may be associated with a different area 508 or zone 512. Optionally, the settings may not be dependent on a particular user. For instance, specific areas 508 and/or zones 512 of avehicle 104 may include different, default, or the same settings based on the information stored inportion 1224. - The various systems and/or components may be able to obtain or track health status data of the systems and/or components in
portion 1278. Thehealth status 1278 may include any type of information related to a state of the systems. For instance, an operational condition, manufacturing date, update status, revision information, time in operation, fault status, state of damage detected, inaccurate data reporting, and other types of component/system health status data may be obtained and stored inportion 1278. - One or more warnings may be stored in
portion 1286. Thewarnings data 1286 may include warning generated by thevehicle 104, systems of thevehicle 104, manufacturer of the vehicle, federal agency, third party, and/or a user associated with the vehicle. For example, several components of the vehicle may provide health status information (e.g., stored in portion 1278) that, when considered together, may suggest that thevehicle 104 has suffered some type of damage and/or failure. Recognition of this damage and/or failure may be stored in thewarnings data portion 1286. The data inportion 1286 may be communicated to one or more parties (e.g., a manufacturer, maintenance facility, user, etc.). In another example, a manufacturer may issue a recall notification for aspecific vehicle 104, system of avehicle 104, and/or a component of avehicle 104. It is anticipated that the recall notification may be stored in thewarning data field 1286. Continuing this example, the recall notification may then be communicated to the user of thevehicle 104 notifying the user of the recall issued by the manufacturer. - Additionally or alternatively, the
data structure 1200 may include aprofile information portion 1238 and/or a linkeddata portion 1242. Although theprofile information portion 1238 and/or the linkeddata portion 1242 may include different information from that described above, it should be appreciated that theportions - An embodiment of a
method 1300 for storing settings for auser 216 associated withvehicle 104 is shown inFIG. 13 . While a general order for the steps of themethod 1300 is shown inFIG. 13 , themethod 1300 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 13 . Generally, themethod 1300 starts with astart operation 1304 and ends with anend operation 1336. Themethod 1300 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1300 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-12 . - A person may enter the
vehicle space 108. One ormore sensors 242 may then identify that a person is sitting within thevehicle 104, instep 1308. For example,sensors 242 in a seat, may determine that some new amount of weight has been registered. The amount of weight may fall within predetermined parameters (e.g., over a threshold, in a specific range, etc.). This weight may then be determined to be a person by one or more optical orother sensors 242. Thevehicle control system 204 may then determine that a person is in a certain zone 512 or area 508. For example, thesensors 242 may send signals to the vehicle controlssystem 204 that an event has occurred. This information may be sent to the vehiclecontrol system processor 304 to determine the zone 512 and area 508 where the event occurred. Further, thevehicle control system 204 may then identify the person, in step 1312. - The
vehicle control system 204 can receive the information from thesensors 242 and use that information to search thedatabase 1200 that may be stored within thesystem data 208. The sensor data may be compared toID characteristics 1212 to determine if the person has already been identified. Thevehicle control system 204 may also send the characteristic data from the sensors to thecommunication network 224 to aserver 228 to compare the sensor data to storeddata 232 that may be stored in a cloud system. The person's features can be compared to storedfeatures 1212 to determine if the person in thevehicle 104 can be identified. - If the person has been identified previously and their characteristics stored in
portion 1212, themethod 1300 proceeds YES to step 1316 where that person may be identified. In identifying a person, the information associated with that person 1240 may be retrieved and provided to thevehicle control system 204 for further action. If a person cannot be identified by finding their sensor characteristics inportion 1212, themethod 1300 proceeds NO to step 1320. Instep 1320, thevehicle control system 204, using an application, may create a new record in table 1200 for the user. This new record may store a user identifier and theircharacteristics 1212. It may also store the area 508 and zone 512 indata portions vehicle 104 can automatically identify or characterize a person so that settings may be established for the person in thevehicle 104. - The
input module 312 may then determine if settings are to be stored, instep 1324. Settings might be any configuration of thevehicle 104 that may be associated with the user. The determination may be made after receiving a user input from the user. For example, the user may make a selection on a touch sensitive display indicating that settings currently made are to be stored. In other situations, a period of time may elapse after the user has made a configuration. After determining that the user is finished making changes to the settings, based on the length of the period of time since the setting was established, thevehicle control system 204 can save the setting. Thus, thevehicle control system 204 can make settings automatically based on reaching a steady state for settings for user. - The
vehicle control system 204 may then store the settings for the person, instep 1328. Theuser interaction subsystem 332 can make a new entry for theuser 1208 indata structure 1204. The new entry may be either a new user or a new settings listed in 1224. The settings may be stored based on the area 508 and zone 512. As explained previously, the settings can be any kind of configuration of thevehicle 104 that may be associated with the user in that area 508 and the zone 512. - The settings may also be stored in cloud storage, in
step 1332. Thus, thevehicle control system 204 can send the new settings to theserver 228 to be stored instorage 232. In this way, these new settings may be ported to other vehicles for the user. Further, the settings instorage system 232 may be retrieved, if local storage does not include the settings instorage system 208. - Additionally or alternatively, the settings may be stored in
profile data 252. As provided herein, theprofile data 252 may be associated with one ormore devices servers 228,vehicle control systems 204, and the like. Optionally, the settings inprofile data 252 may be retrieved in response to conditions. For instance, the settings may be retrieved from at least one source having the profile data if local storage does not include the settings instorage system 208. As another example, auser 216 may wish to transfer settings stored inprofile data 252 to thesystem data 208. In any event, the retrieval and transfer of settings may be performed automatically via one ormore devices vehicle 104. - An embodiment of a
method 1400 to configure thevehicle 104 based on stored settings is shown inFIG. 14 . A general order for the steps of themethod 1400 is shown inFIG. 14 . Generally, themethod 1400 starts with astart operation 1404 and ends with anend operation 1428. Themethod 1400 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 14 . Themethod 1400 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1400 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-13 . - The
vehicle control system 204 can determine if a person is in a zone 512 or area 508, instep 1408. This determination may be made by receiving data from one ormore sensors 242. Thevehicle 104 can use facial recognition, weight sensors, heat sensors, or other sensors to determine whether a person is occupying a certain zone 512. - Using the information from the
sensors 242, thevehicle control system 204 can identify the person, instep 1412. Thevehicle control system 204 can obtain characteristics for the user currently occupying the zone 512 and compare those characteristics to the identifying features inportion 1212 ofdata structure 1204. Thus, the settings inportion 1224 may be retrieved by identifying the correct zone 512, area 508, and characteristics for the user. - The
vehicle control system 204 can first determine if there are settings associated with the identified person for that zone 512 and/or area 508, instep 1416. After identifying the user by matching characteristics with the features inportion 1212, thevehicle control system 204 can determine if there are settings for the user for thearea 1216 andzone 1220 the user currently occupies. If there are settings, then thevehicle control system 204 can make the determination that there are settings inportion 1224, and thevehicle control system 204 may then read and retrieve those settings, instep 1420. The settings may be then used to configure or react to the presence of the user, instep 1424. Thus, these settings may be obtained to change the configuration of thevehicle 104, for example, how the position of the seats or mirrors are set, how the dash, console, or heads up display is configured, how the heat or cooling is configured, how the radio is configured, or how other different configurations are made. - Embodiments of a
method 1500 for storing settings in cloud storage are shown inFIG. 15 . A general order for the steps of themethod 1500 is shown inFIG. 15 . Generally, themethod 1500 starts with astart operation 1504 and ends with anend operation 1540. Themethod 1500 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 15 . Themethod 1500 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1500 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-14 . - The
vehicle control system 204 can determine if a person is in a zone 512 or area 508, in step 1508. As explained previously, thevehicle control system 204 can receive vehicle sensor data fromvehicle sensors 242 that show a person has occupied a zone 512 or an area 508 of thevehicle 104. Using the vehicle sensor data, thevehicle control system 204 can determine characteristics of the person, instep 1512. These characteristics are compared to the features inportion 1212 of thedata structure 1204. From this comparison, thevehicle control system 204 can determine if the person is identified within thedata structure 1204, instep 1516. If there is a comparison and the person can be identified, themethod 1500 proceeds YES to step 1520. However, if the person cannot be identified, themethod 1500 proceeds NO, to step 1524. - In
step 1520, the person is identified inportion 1208 by the successful comparison of the characteristics and the features. It should be noted that there may be a degree of variability between the characteristics and the features inportion 1212. Thus, the comparison may not be an exact comparison but may use methods known in the art to make a statistically significant comparison between the characteristics received from thesensors 242 and the features stored inportion 1212. Instep 1524, the characteristics received fromsensors 242 are used to characterize the person. In this way, the received characteristics may be used as an ID, inportion 1212, for a new entry for a new user inportion 1208. - The user may make one or more settings for the
vehicle 104. Thevehicle control system 204 may determine if the settings are to be stored, instep 1528. If the settings are to be stored, themethod 1500 proceeds YES to step 1536. If the settings are not to be stored or if there are no settings to be stored, themethod 1500 proceeds NO to step 1532. Instep 1532, thevehicle control system 204 can retrieve the settings in theportion 1224 of thedata structure 1204. Retrieval of the settings may be as described in conjunction withFIG. 14 . If settings are to be stored, thevehicle control system 204 can send those settings toserver 228 to be stored indata storage 232, instep 1536.Data storage 232 acts as cloud storage that can be used to retrieve information on the settings from other vehicles or from other sources. Thus, thecloud storage 232 allows for permanent and more robust storage of user preferences for the settings of thevehicle 104. - An embodiment of a
method 1600 for storing gestures associated with the user is shown inFIG. 16 . A general order for the steps of themethod 1600 is shown inFIG. 16 . Generally, themethod 1600 starts with astart operation 1604 and ends with anend operation 1640. Themethod 1600 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 16 . Themethod 1600 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1600 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-15 . -
Vehicle control system 204 may receive sensor data fromsensors 242 to determine a person is occupying a zone 512 in an area 508 of thevehicle 104, instep 1608. The sensor data may provide characteristics for the person, instep 1612. Thevehicle control system 204 may then use the characteristics to determine if the person can be identified, instep 1616. Thevehicle control system 204 may compare the characteristics to the features inportion 1212 for the people having been recognized and having data associated therewith. If a comparison is made between the characteristics and the features inportion 1212, the person can be identified, and themethod 1600 proceeds YES to step 1620. If there is no comparison, themethod 1600 may proceed NO to step 1624. Instep 1620, the person may be identified by thevehicle control system 204. Thus, the person's features and associated data record 1240 may be determined and the user identified inportion 1208. If the person is not identified, thevehicle control system 204 can characterize the person instep 1624 by establishing a new record indata structure 1204 using the characteristics, received from thesensors 242, for the features inportion 1212. - Thereinafter, the
vehicle control system 204 may determine if gestures are to be stored and associated with the user, instep 1628. Thevehicle control system 204 may receive user input on a touch sensitive display or some other type of gesture capture region which acknowledges that the user wishes to store one or more gestures. Thus, the user may create their own gestures such as those described in conjunction withFIGS. 11A-11K . These gestures may then be characterized and stored indata structure 1204. If there are gestures to be stored, themethod 1600 proceeds YES to step 1636. If gestures are not to be stored themethod 1600 may proceed NO to step 1632. - In
step 1632, thevehicle control system 204 can retrieve current gestures fromportion 1232, which are associated with user 1240. These gestures may be used then to configure how thevehicle 104 will react if a gesture is received. If gestures are to be stored, thevehicle control system 204 may store characteristics, instep 1636, as received fromsensor 242 or from one more user interface inputs. These characteristics may then be used to create the storedgestures 1232, indata structure 1204. The characteristics may include what the gesture looks like or appears and also what affect the gesture should have. This information may then be used to change the configuration or operation of thevehicle 104 based on the gesture if it is received at a later time. - An embodiment of a
method 1700 for receiving a gesture and configuring thevehicle 104 based on the gesture may be as provided inFIG. 17 . A general order for the steps of themethod 1700 is shown inFIG. 17 . Generally, themethod 1700 starts with astart operation 1704 and ends with anend operation 1728. Themethod 1700 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 17 . Themethod 1700 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1700 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-16 . - A
vehicle control system 204 can receive sensor data fromvehicle sensors 242. The vehicle sensor data can be used by thevehicle control system 204 to determine that a person is in a zone 512 or area 508, instep 1708. The vehicle sensor data may then be used to compare againstfeature characteristics 1212 to identify a person, instep 1712. Thevehicle control system 204 thereinafter may receive a gesture, instep 1716. The gesture may be perceived byvehicle sensors 242 or received in a gesture capture region. The gesture may be as described in conjunction withFIGS. 11A-11K . Upon receiving the gesture, thevehicle control system 204 can compare the gesture to gesture characteristics inportion 1232, instep 1720. The comparison may be made so that a statistically significant coorelation between the sensor data or gesture data and the gesture characteristic 1232 is made. Upon identifying the gesture, thevehicle control system 204 can configure thevehicle 104 and/or react to the gesture, in step 1724. The configuration or reaction to the gesture may be as prescribed in the gesture characteristic 1232. - An embodiment of a
method 1800 for storing health data may be as shown inFIG. 18 . A general order for the steps of themethod 1800 is shown inFIG. 18 . Generally, themethod 1800 starts with astart operation 1804 and ends with anend operation 1844. Themethod 1800 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 18 . Themethod 1800 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1800 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-17 . -
Vehicle control system 204 can receive sensor data fromsensors 242. The sensor data may be used to determine that a person is in a zone 512 or area 508, instep 1808. The sensor data may then be used to determine characteristics of the person, instep 1812. From the characteristics, thevehicle control system 204 can determine if a person may be identified indata structure 1204, instep 1816. If it is determined that the person can be identified instep 1816, themethod 1800 proceeds YES to step 1820. If the person cannot be identified, themethod 1800 proceeds NO to step 1824. A person may be identified by matching the characteristics of a person from the sensor data to the features shown inportion 1212. If these comparisons are statistically significant, the person may be identified inportion 1208, instep 1820. However, if the person is not identified inportion 1208, thevehicle control system 204 can characterize the person using the vehicle sensor data, instep 1824. In this way, thevehicle control system 204 can create a new record for a new user indata structure 1204. - Thereinafter, the
vehicle control system 204 may receive health and/or safety data from thevehicle sensors 242, instep 1828. Thevehicle control system 204 can determine if the health or safety data is to be stored, instep 1832. The determination is made as to whether or not there is sufficient health data or safety parameters, inportion vehicle control system 204 can store the data for the person inportions data structure 1204, instep 1832. - The
vehicle control system 204 may then wait a period of time, instep 1836. The period of time may be any amount of time from seconds to minutes to days. Thereinafter, thevehicle control system 204 can receive new data fromvehicle sensors 242, instep 1828. Thus, thevehicle control system 204 can receive data periodically and update or continue to refine the health data and safety parameters indata structure 1204. Thereinafter, thevehicle control system 204 may optionally store the health and safety data incloud storage 232 by sending it through thecommunication network 224 to theserver 228, instep 1840. - An embodiment of a
method 1900 for monitoring the health of a user may be as shown inFIG. 19 . A general order for the steps of themethod 1900 is shown inFIG. 19 . Generally, themethod 1900 starts with astart operation 1904 and ends with anend operation 1928. Themethod 1900 can include more or fewer steps or can arrange the order of the steps differently than those shown inFIG. 19 . Themethod 1900 can be executed as a set of computer-executable instructions executed by a computer system and encoded or stored on a computer readable medium. Hereinafter, themethod 1900 shall be explained with reference to the systems, components, modules, software, data structures, user interfaces, etc. described in conjunction withFIGS. 1-18 . - The
vehicle control system 204 can receive health data fromsensors 242. The health data may be received instep 1908. Thevehicle control system 204 may then compare the received health data to stored health parameters inportion 1228 orportion 1236, instep 1912. The comparison may check if there is statistically significant separation or disagreement between the received health data and the stored health data. Thus, thevehicle control system 204 can make a health comparison of the user based on a baseline of health data previously stored. A statistically significant comparison may include determining if there are any parameters more than three standard deviations from the average or norm, any parameter that is increasing or decreasing over a period of eight different measurements, a measurement that is more than two standard deviations from the norm more than three measurements consecutively, or other types of statistical comparisons. - If the
vehicle control system 204 determines that measured health parameter does deviate from the norm, thevehicle control system 204 can determine whether the health data is within acceptable limits, instep 1916. If the health data is within acceptable limits, themethod 1900 proceeds YES back to receiving new health data, instep 1908. In this way, the health data is periodically or continually monitored to ensure that the driver is in a healthy state and able to operate the vehicle. If the health data is not within acceptable parameters, themethod 1900 may proceed NO to step 1924 where thevehicle control system 204 may react to the change in the health data. The reaction may include any measure to provide for the safety of the user, such as stopping the vehicle, beginning to drive the vehicle, driving the vehicle to a new location, such as a hospital, waking the driver with an alarm or other noise, or performing some other function that may help maintain the health or safety of the user. - The health data received may be a reaction from the driver. For example, the driver may call for help or ask the vehicle for assistance. For example, the driver or passenger may say that they are having a medical emergency and ask the car to perform some function to help. The function to help may include driving the person to a hospital or stopping the car and calling for emergency assistance.
-
FIG. 20 illustrates optional componentry that can be utilized with thesystem 200. In particular, the optional componentry includes aprofile subsystem 2004, an edit/modification module 2008, averification module 2012, ashopping module 2016, anencryption module 2020, atemplate module 2024, aglobal standard template 2028, a profile import/export module 2032, acommunications device 212, such as a smart phone, tablet, or other device, one or moreother communication devices 2044, one or moreother vehicles 2048, one or more other entities/servers 2052, aprofile repository 2056, a purchased item/environmentalitem detection module 2036, anadvertising module 2040, and profile data stored inprofile database 252, all connected bybus 356. - As discussed, one or more user profiles can be stored in the
profile database 252. A user profile may be accessed and/or modified by a user providing authorization through a verification system in cooperation with theverification module 2012. For example, by employing one or more of a biometric, a gesture, a feature, a device notification, or authentication information, the user can be authorized to access one or more user profiles. In accordance with an optional embodiment, averification module 212 includes one or more of a biometric recognition module, a gesture recognition module, a feature recognition module, a device identification database and a device identification authentication module. An authorization and verification performed by theverification module 2012, cooperating with theprofile subsystem 2004, may also optionally rely on verifying a user's biometric information in addition to a recognized identity of a specific device, e.g., smartphone, electronic user device, or in general any device associated with the user. - The user profiles, whether created for a driver, a passenger, or a user, or others, are portable and can follow the user from vehicle to vehicle. As such, there may be a need to allow the user to edit/modify their profile through use of the edit/
modification module 2008. Although not shown, the edit/modification module can include an appropriate user interface, such as a graphical user interface, that can be provided on one or more of a vehicle display, a communications device, such as a smart phone, a personal computer, a tablet computer, or in general any device capable of displaying an interface that allows for a user to access, and edit, or modify their profile data. - As briefly discussed above, user profiles may be generated based on data gathered from one or more of the vehicle preferences, such as seat settings, HVAC settings, multimedia settings, navigation settings, entertainment preferences, recorded settings, geographical location information, such as that provided by a satellite positioning system, mobile device information, such as mobile device, electronic addresses, internet browsing history and content, application store selections, user settings, enabled and disabled vehicle features, and the like, private information, such as user information from a social network, user presence information, user business accounts, and the like, secure data, biometric information, audio information from onboard microphones, video information from onboard cameras, internet browsing history and browsed content using an onboard computer and with the local area network enabled by the vehicle, an electronic map correlating geographic location information with a map feature, such as a vendor's storefront, roadway name, city name, and the like, and so forth. In general, the user profile can also optionally generally store user setting preferences with respect to a selected object, such as the vehicle, user purchasing preferences, such as vendor name, location, purchased items, and the like, user driving behavior and preferences, user behavior with respect to the selected object, user socioeconomic status, user residence and business addresses, user communication devices and electronic addresses thereof, user biometric information and other user identification information, user family members and, for each family member, any one or more of the above listed information.
- In some instances, the user profile data may be stored as part of a template, in cooperation with a
template module 2024. The user template may be stored locally, such as at the vehicle, at a mobile device, at a remote location(s), or the like. In a similar manner, user profile data may be stored remotely, such as at a central server, on the cloud, or combinations thereof, such as on acommunication device 212, at another entity/server 2052, on anothervehicle 2048, or on another communication device orsmart phone 2044. As can be appreciated, there are multiple storage options for user profile information and user templates. Among other things, the profiles may be stored on the cloud, on a phone, on a vehicle, on a local storage memory, in a key fob, in a rental vehicle, or associated with another profile, such as a user's travel profile. - In accordance with an optional embodiment, and in cooperation with the
encryption module 2020, the user profile may be all or partially encrypted. This user profile may be accessed/modified via a user provided authorization through theverification module 2012. As discussed, this can include employing at least one of a biometric, gesture recognition, feature recognition, device identification recognition, or other authentication technique(s). The authorization may rely on verifying the user's biometric information in addition to a recognized identity of a specific device. - In accordance with one optional embodiment, in cooperation with the
template module 2024 and theglobal standard template 2028, a global standard template may be created. The global standard template can be common among vehicles, manufacturers, company users, family members, or the like. As one example, a particular vehicle manufacturer may determine to build a global standard template to provide a reliable framework for the presentation of vehicle features and/or providing certain vehicle functionality. The global standard template may be used in an advertising approach, to refine GPS and/or mapping route selection, present advertisements, offer savings, and communicate with the user. In another optional embodiment, a business may continually rent vehicles from a rental agency for its traveling employs. As such, the business may wish to build a global standard template that is always presented to their employees to ensure consistency and reliability of presented vehicle features. - In some optional embodiments, the global standard template may be adopted by a user. In this scenario, the user may use a global standard template and build the user's personal preferences, settings, and other user profile information from this “base” global standard template stored in the global
standard template database 2028. In conjunction with thetemplate module 2024 and the edit/modification module 2008, the user can access this global standard template and then edit/modify this template to personalize it with their own personal settings and user information. As such, the global standard template may be provided as a starting point, upon which the user may build to create a truly personalized user profile which then can be stored asprofile data 252. - The authentication performed by the
verification module 2012 can be based on the exchange of the security keys between the user, the vehicle, and/or even a server(s). This type of encryption may be cryptographically asymmetric in nature, such as private and public keys. In one example, a user may maintain a private key on a mobile device, and a public key may be provided by a vehicle, such a rental vehicle. In another example, the user may maintain the private key on the mobile device, and the private key may be provided by the vehicle, such as a rental vehicle. Other embodiments may use a private key on the communication device and a private key provided by the vehicle and/or a public key on the phone and a public key provided by the vehicle. In yet another embodiment, the exchange of keys may be facilitated via a certified trusted authority, similar to a certificate of authority (CA). - In another optional embodiment, a biometric verification, or confirmation, of the user may be required prior to initiating the authentication process performed by the
verification module 2012. For example, the first step of authentication may include identifying one or more biometric features of a user using any one or more of the sensors disclosed herein. Once the user is confirmed, the authentication may proceed to exchange security keys. - Communications between a mobile device and a vehicle may be established via one or more of near field communications, RFID, Bluetooth®, or other communications protocol, whether it be proprietary or open source. Any of these communication protocols can be used to exchange profile data and/or verification/authentication information.
- The profile data may include a corresponding user interface or personality defined or configured by the user. The profile can be an animated character that follows the user from car-to-car, and from communication device-to-communication device. The profile can optionally be updated globally though interactions with the selected device (whether a vehicle or communication device) with, for example, cloud-based data storage storing the profile. The animated character can have the same appearance and voice characteristics as, for example, the user. The animated character can also provide the user with feedback and recommendations and receive user commands and requests, through one or more of tactile, audio and/or video processing techniques as discussed hereinafter.
- The user profiles, whether created for a passenger or user, such as the driver, are portable and can follow a user(s) from vehicle to vehicle. In cooperation with the
profile subsystem 2004, theprofile data 252 can be passed through the profile import/export module 2032 to one or more other devices, such asdevice 212, another communication device such assmart phone 204, or another vehicle(s) 2048, or to another entity, or to, for example, acloud 2052. - In one optional embodiment, the user profile can be accessed by any vehicle, and based on the position of a user in the vehicle, populate available settings in the vehicle. As discussed, the various settings can be different based on whether the user is the driver or a passenger, the position of the user in the vehicle, and/or other characteristics such as whether the user is of driving age, whether there are parental controls in place associated with the user profile, and the like. It is anticipated that the user profile may be constantly improved, updated and refined. As such, data may be constantly recorded to modify an existing user profile and stored as
profile data 252. In certain circumstances, a user may wish to cease recording data associated with a user profile and/or edit or alter the user profile to include or exclude or modify selected information. In accordance with theprofile subsystem 2004 and the edit/modification module 2008, a user may turn off user template data recording. For instance, the user may wish to travel to Las Vegas for a bachelor/bachelorette party. Although the user may travel to numerous sites in and about Las Vegas, purchase many different goods and/or services, and even stay at one or more hotels/motels, the data may not be congruent with the user's typical behavior. Accordingly, the user may place the recording of data in the profile on “pause” such that the data acquired in Las Vegas may be restricted from being recorded by a user's selection and approval. - In accordance with this optional “pause” feature, which can be evoked by the edit/
modification module 2008, one or more of theshopping module 2016, purchased items/environmentalitems detection module 2036,advertising module 2040, the profile data itself 252 to be placed in a “paused” state where theprofile data 252 is not updated. As will be appreciated, the user could also specify if theprofile subsystem 2004 is to query the user each time the system believes a profile update is to be performed. The user could then be provided the option, such a via a graphical user interface, on whether or not that particular update should be recorded in theprofile data 252. - As generally discussed, user profiles and the global standard template, such as 2028, can include, but are in no way limited to, the following data and/or information: vehicle settings and other user profile data that may be stored to a mobile device associated with the user, on the cloud, and/or a memory associated with the vehicle. This data can be portable, and in cooperation with the profile import/
export module 2032, be transferred from one vehicle to another, or from a vehicle to another device or storage location(s). - Passenger information, including but not limited to shopping characteristics, searched web pages, vehicle settings, such as climate controls, radio stations, window tint levels, color schemes, information presentation write outs, etcetera, can be saved to a passenger profile and similarly stored as
profile data 252. In a like manner, there can be different types of globalstandard templates 2028 that can be used as a starting point when developing a profile. - For example if a user is not of driving age, and will only be a passenger, a global standard template can be provided 2028 that is specifically for a passenger who does not have a drivers license, and may not have some of the features, settings, and preferences that the global standard template for a user, who has a drivers license, may have. In a similar manner, and as discussed, and in cooperation with the
template module 2024 and edit/modification module 2008, a user could edit/modify this template which has been stored asprofile data 252. Again, this profile data could be portable and also stored and/or transferred to one or more other devices, such asdevice 212, anothersmart phone 2044, the cloud, or the like, as discussed. - In accordance with another optional embodiment, and in cooperation with the purchased item/environmental
item detection module 2036, and one or more of the sensors/monitors disclosed herein, purchased items can be identified and their identification stored with theprofile data 252. For example, utilizing one or more of audio, a camera, or other video input, RFID readers and tags, bar code readers, QR (Quick Response) code readers or the like, one or more purchased items could be determined and identified and the purchased item(s) (or other item/object placed in the vehicle) associated with the user and/or vehicle and stored in aprofile data 252. For example, what a user is wearing, such as brand names, styles, etcetera, can be recognized and stored asprofile data 252, as well as what a user has purchased, such as by observing that a fast food chain bag is in the car, a particular brand of coffee, as identified by reading a company logo, information from one or more shopping bags, etcetera, can all be analyzed and an assessment of the origin of the products determined. This can be then used by, for example, theadvertising module 2040 as discussed hereinafter to determine an advertising scheme to present one or more advertisements to the user. - Again, this information, e.g. logos, brand names, shopping bag identifiers, etcetera, can be detected using one or more of RFID, QR codes, bar codes, video analysis, camera analysis, or the like. Similarly, the purchased item/environmental
item detection module 2036 can detect a digital receipt associated with a mobile device, such asdevice 212, and determined which purchases have been made therefrom. For example, interacting with one or more of a frequent fueler card, a loyalty card, a coffee shop chain mobile application, or the like, the purchased item/environmentalitem detection module 2036 can determine which purchases a user has made. This information could then optionally be stored with theprofile data 252. It is to be appreciated that the various sensors, cameras, readers, and the like, can also be included in a trunk of a vehicle/bed of a vehicle to facilitate the detection of one or more purchased items or other objects as discussed herein. - Optionally, GPS information can be used to assist with determining what the one or more purchased items/environmental item introduced into the vehicle are. This GPS information can similarly be stored in the
profile data 252 such as where a user shops, which stores a user parks close to, which stores a user frequents, and the like. For example, utilizing GPS technology, the user's travel path during a time period can be tracked and is correlated to where the user has shopped. This can be then used in conjunction with the techniques discussed above to further supplement the information in theprofile data 252 with information such as where the user has shopped, where they frequent, and can further be used to assist in determining which item(s) have been brought into the vehicle. Additionally, the purchased item/environmentalitem detection module 2036 could query another device, such as a smart phone, and if the smart phone includes GPS capabilities, determine where the user was based on the information from the smart phone, when they were not in their vehicle. This information could further be used to refine and optionally help identify which purchased items the user may now have with them in the vehicle. - An Example of the Global Standard Template for a specific vehicle manufacturer is:
-
Car Brand X Setting: User 1Seat Position Position 2 Mirror Position X, Y, Z Position Infotainment Settings Radio On, 99.5 FM, Volume 4Navigation Settings Navigation On, Map View Vehicle Mode Sport Mode HVAC Driver 68, Passenger 70Car Brand X Advertising Off Car Brand X Reminders On (Display on Video Only, no Audio) Car Brand X Vehicle On - Send to Both User and Manufacturer Statistics Reporting and Dealer/Maintenance Shop - An example of the multiple profiles that can be managed by a single vehicle are as follows: (as should be appreciated, rules/preferences may exist such that the vehicle uses one user's settings instead of another user's settings, e.g., driver instead of back seat passenger in the event of a conflict)
-
Profiles Associated with Vehicle User 2 (Front User 2 (Back Setting: User 1 (Driver) Seat Passenger) Seat Passenger) Seat Position Position 2 Position 3 N/A Mirror Position X, Y, Z Position N/A N/A Infotainment Radio On, 99.5 FM, CD Player On, DVD Player - Settings Volume 4 Volume 2,Vol. 11 Bass +5, Treble −1 Navigation Navigation On, Map Off N/A Settings View Vehicle Mode Sport Mode Comfort N/A HVAC Driver 68, Passenger Driver 70, 65 70 Passenger 70Car Brand X Off Off On - Send Advertising to Phone Car Brand X On (Display on Video Off N/A Reminders Only, no Audio) Car Brand X On - Send to Both Off N/A Vehicle User and Manufacturer Statistics and Dealer/ Reporting Maintenance Shop - In accordance with another optional embodiment, and in cooperation with the
shopping module 2016, one or more of shopping lists, reminders, favorite shopping locations, and shopping deals of interest may be provided to a user based on, for example, information in theprofile data 252. Additionally, as discussed hereinafter, information maintained by theshopping module 2016 may be utilized by theadvertising module 2040 to provide, for example, targeted advertising for one or more users in the vehicle. This targeted advertising can be sent to the vehicle itself for display on, for example, a screen, and/or could be sent directly to a user's communications device such as a smart phone. - As discussed, communications between a mobile device, such as
device 212, and a vehicle may be established via one or more of near field communications, RFID, Bluetooth®, or other communications protocol, be it proprietary or open source. By way of example, a user with a mobile device, such as a smart phone, tablet, laptop computer, etcetera, such asdevice 212, having at least one user profile associated therewith, may enter a vehicle where the vehicle is configured to enable communications with the mobile device. In cooperation with the profile import/export module 2032, and one or more sensors as discussed above, the vehicle may determine a location of the mobile device inside the vehicle, and based, at least partially on that location, provide one or more features and/or controls to the user via, for example, a display associated with the vehicle. As will be appreciated, these features and/or controls could also be provided audibly to a user, with the user confirming whether or not they want that feature and/or control, or providing the value or setting of that feature and/or control back to the system in an audible manner which can be detected by one or more microphones in the vehicle. In some cases, the user may pair their mobile device with the vehicle via a physical presence and/or contact. For instance, one example of the physical contact may include positioning the mobile device into a range associated with a NFC. Another example of physical contact may include a user physically pairing the device via Bluetooth®, via a wired connection, or by a dock associated with/installed in the vehicle. - In accordance with an optional embodiment, user profile(s) may be presented, or uploaded, to a vehicle in advance of a user reaching a vehicle. For example, in a rental car scenario, a car rental agency can maintain a profile for each customer and upload their profile onto the car rented to the customer at the time the leasing is consummated, or, for example, when the user picks-up the leased vehicle. In one embodiment, a user may save a user profile with a rental vehicle agency during the registration/reservation process. Saving the user profile may be performed automatically or, for example, via user input. For example, a user profile may be associated with a smart phone, tablet, computer, or other device as provided herein. While the user in this example is making a reservation with a rental agency via the device, the user profile associated with the user may be automatically transmitted to the rental agency via the device. Transmission of the user profile may be timed to coincide with payment of rental and/or reservation fees.
- More specifically, and in accordance with an exemplary usage scenario, a user's profile is stored as
profile data 252 on asmart phone 212. When the user, utilizing a car rental agency app on asmart phone 212, places a reservation for a rental car the app could query the user as to whether they would like to associate theirprofile data 252 with the vehicle rental. If the user opts to associate theirprofile data 252 with the rental, theirprofile data 252 can be communicated from thesmart phone 212 to, for example,server 2052, which in this exemplary embodiment, is associated with the car rental agency and then stored in the car rental agency'sprofile repository 2056. Then, upon the user renting the vehicle, the profile which was stored inprofile repository 2056, can be forwarded in cooperation with the profile import/export module 2032 associated and stored in the vehicle that the user has leased. In a similar manner, upon the user completing the vehicle lease, any updates made to the profile could then be exported from the rental vehicle, in cooperation with the rental vehicle's profile import/export module 2032, and stored in theprofile repository 2056. This updated profile information could then, for example, be used for future vehicle leases and/or reconciled with the user's profile data stored on, for example, their smart phone and/or a primary vehicle that they may drive. - In accordance with an optional embodiment, upon the user completing the necessary paperwork for the leased vehicle, and in cooperation with the
profile repository 2056 and the profile import/export module 2032 associated with the rental vehicle, while the user is walking from the rental desk to their car, the car can be automatically adjusting all of the vehicle settings as set forth in the user's profile (to the extent possible). In this way, the user need not manually select any settings when he or she begins driving the rental vehicle. - For instance, as part of a travel package, a rental car system may be able to link a reservation to where the user is staying, where the user has dinner reservations, and the like, based on the mobile device associated with the user. The system may then export, for example, one or more of a text message, an email, a phone call, or other signal to the mobile device, and request access to the user's profile stored on that mobile device. If the system is authorized to retrieve the user's profile from the mobile device, this user profile can be obtained and associated with the rental vehicle and the settings associated with the user profile used to update the leased vehicle prior the user actually using the leased vehicle.
- Similarly, and given the portability of the user's profile stored as profile data, administrative assistants, travel agents, family members, and the like, can reserve a vehicle on behalf of another individual and link (or associate) the user profile of the person renting the vehicle to the reservation based on, for example, the user's mobile device phone number. In accordance with this optional working embodiment, the
profile data 252 need not necessarily be stored in theprofile repository 2056, but can rather be retrieved from the user's mobile communications device, that way insuring that the most up to date profile data is available when the user leases the vehicle. - In accordance with another optional embodiment, the mobile device can act as the key. For example, a phone number may be embedded in the private key of the mobile device. The public key may be presented to the rental car. In some cases, a combination of phone number and device ID, such as EIN, MAC address, and the like, may be used as part of the authentication process. Utilizing these various portions of information, a mobile device can then act as the key to enable operation of the vehicle.
- As illustrated in
FIG. 21 , an exemplary scenario is shown where a user approaches a rental vehicle that they have leased. In cooperation with the profile import/export module 2032, profile data is obtained from the smart phone 2104 and sent to the rental vehicle.User identification module 822 confirms, as discussed herein, this is the appropriate user for the lease of the vehicle and triggers the association of theprofile data 252 from thesmart phone 212 with theprofile data repository 252 in the vehicle. Upon integration of theprofile data 252 into the vehicle, the vehicle can optionally show, viadisplay 2116, a welcome message to the vehicle lessee, as well as a summary that shows, for example, which of their profile data settings have been used to update the operation of the vehicle. Additionally,interface 2116 optionally asked the user if they would want to associate another profile with the vehicle by providingbutton 2120 which would allow the user, upon selection, to associate one or more other profiles with the vehicle. Optionally, further, another button 2124 could be provided where, for example, the profile recognized by the vehicle is not the appropriate profile for the current driver. This could happen in a scenario where, for example, multiple drivers have been associated with a rental lease and the profile associated with the vehicle may not be the current driver, and the system needs to select another profile associated with the lease based on who the current driver will be. - In accordance with another optional embodiment, in cooperation with the
advertising module 2040 as discussed above, various advertisements could be sent to one or more of the vehicle associated with the profile data, the mobile device associated with the user, or the like. Theadvertising module 2040 can also operate in a dynamic manner such that theadvertising module 2040 is capable of updating radio or multimedia advertisements presented to a vehicle based on information in the profile data. Even further, when a user is finished with a vehicle lease, theadvertising module 2040 may continue to send advertisements to the mobile device and/or email of the user who rented the vehicle. - Furthermore, in cooperation with one or more of the
shopping module 2016 and the purchased items/environmentalitems detection module 2036, the system can allow truly comparative shopping. For example, information may be presented to a user, including, but not limited to, coupons, savings, deals, gas prices, vehicle maintenance specials, and the like. This information may be presented based on previous purchases and shopping behavior associated with the user profile, where the user typically travels or is expected to travel, or the like. For example, the system may know that the user recently bought tomatoes and onions on the last shopping trip one week ago. The system may also know that super store Y is currently offering 40% off of all onions and tomatoes and the user is expected to pass by super store Y in the next five minutes. The system, in cooperation with theadvertising module 2040, could then provide this information to the user one or more of audibly and visually and indicate to the user that they will be passing super store Y shortly, on the right hand side of the road. -
FIG. 22 outlines an optional embodiment utilized for guest vehicle user reporting as well as other functionality. This subsystem includes, for example,vehicle personality data 2204, avehicle reporting module 2208, asmart calendar module 2212, acontext module 2216 that can cooperate with, for example,breathalyzer 2220, one or moreremote access devices 2224, acamera application module 2224, an expression/facial ID/gesture repository 2228, and aparental control module 2232. - In accordance with an optional operational embodiment, a vehicle may report vehicle conditions, such as number of passengers in the vehicle, speeds—average, maximum, minimum—time at a location, time leaving a location, time arriving at a location, GPS data, and in general, any information associated with the vehicle, to a user at the user's request, automatically, or when a user is away from a vehicle. The user may request and obtain one or more of images of the inside the vehicle, and can optionally directly communicate with the vehicle, and even control certain vehicle features and functions. The vehicle could also be instructed to shut down when the owner leaves for a weekend, and does not want others using it.
- The vehicle may initiate communications with one or more third parties based on context of the vehicle and/or the user, in cooperation with the
context module 2216. For example, in some cases, the vehicle can set up a second personality for the user via the user's mobile device. As one example, communications sent via the vehicle, not the user, can be associated with a vehicle personality. In some embodiments, the second personality may be identified via an icon or other identifier associated with a communication. As one example, the vehicle may set up a group personality to represent two or more users associated with the vehicle. The group personality which can be stored in the vehiclepersonality data repository 2204 may depend on the number of people detected in the vehicle. Moreover, the group personality may send communications via at least one of the user's mobile devices. For example, communication(s) sent via the vehicle, not the user(s), could be associated with a vehicle group personality. Similar to the second personality previously disclosed, in some embodiments, the group personality may be identified via an icon or other identifier associated with the communication. As one example, a user may be traveling home from work, with this determination capable of being predicted based on prior trips made of the same or similar time of day by the same user, the vehicle may send a message, such as a text message, phone call, email, etcetera, to a third party to indicate the user is coming home. In some cases, the message may be identified as being sent from the vehicle, utilizing a vehicle icon associated with the message, or other similar identifier. The third party may respond to the message, which can then be relayed, one or more of visually and/or audibly, to the user via the components of the vehicle, such as via a dashboard display, head unit, speakers, or the like. By way of example, a third party may state “Please pick up some eggs and fabric softener before you come home, thanks” This information then can be relayed by the vehicle and to, for example, the driver. In this manner, thecontext module 2216 can monitor one or more aspects of the vehicle, including time leaving a location, destination information entered into the navigation system, arrival time at the destination, projected travel path, etc., and conclude, for example, as in the above scenario, that the user has left work and they are on their way home. - Continuing on with the above example, on receipt of the message that eggs and fabric softener are to be picked up, the
context module 2216, cooperating with one or more ofvehicle personality data 2204,shopping module 2016, and navigation module, could, upon recognizing that shopping items are to be picked up, appropriately reroute the user to the closest or preferred shopping location on the trip home to obtain the requested items. - In another optional embodiment, a vehicle may report vehicle conditions, such as the number of passengers in the vehicle, speed, etcetera, to a user at the user's communication or electronic device, or when a user is away from a vehicle. For example, and in cooperation with
remote access device 2224 and thevehicle reporting module 2208, a user could remotely access a vehicle and query information regarding any aspect of the vehicle's operation, as well as vehicle conditions as enumerated as above. The user, again using theremote access device 2224, could also request and obtain one or more of an image or images of the inside of the vehicle, directly communicate with the vehicle, and/or control certain features of the vehicle. For example, the user could remotely connect to the vehicle using theremote access device 2224, and their identity confirmed in cooperation with theuser identification module 822 and information inprofile data 252. Upon confirming the user is authorized to access and perform one or more functions and/or request information from the vehicle, the user is allowed to perform these functions. It should be appreciated, however, that based on current operating conditions of the vehicle, and optionally based on information in the profile, there may be restrictions on the type of functions the remote user is able to enable/disable as well as the type of communications that are allowed to be communicated to the vehicle. - In accordance with an optional embodiment, vehicle functions can be controlled based on information obtained from the
vehicle reporting module 2208. For example, if it is determined, by using thecamera application module 2224, that the vehicle is overcrowded, an instruction could be provided to the driver indicating that they are to stop the vehicle because it is overcrowded and remove one or more passengers from the vehicle before they are allowed to continue. These various functions and controls can further be modified based on information associated with theparental control module 2232. For example, the parent could impose a restriction that a young driver is not to have more than two people in the vehicle, even though the vehicle could, for example, hold six individuals. Thus, when thevehicle reporting module 2208, cooperating with thecamera application module 2224, determines that the vehicle has more occupants than that allowed by theparental control module 2232, this information can be reported to theremote access device 2224, as well as optionally sent to one or more other devices, such assmart phone 212. As discussed, one or more of vehicle functionality and/or communications could then be established to ensure the problem with vehicle overcrowding has been addressed, and the vehicle is now in conformance with one or more rules managed by theparental control module 2232. - In accordance with another optional embodiment, the car can sync with one or more calendars to create one or more of smart alarms and updates. A smart alarm is an alarm that instead of a standard 15 minute warning before a meeting, if it is an offsite meeting with an address entered, the system can determine how much time it will take based on traffic, driving habits, and the amount of time it generally takes to exit the office and get to the car, etcetera, and change the smart alarm accordingly. The updates can be triggered based upon the time of arrival, determination from the GPS, or as calculated above, and a message such as an email, text message or the like, sent to the other attendees to advise them as to when the user is expected to arrive. Similarly, a prompt can be provided for the user to call the meeting moderator, advising them of their ETA.
- Similarly, if the vehicle determines that it is stopping for a coffee, an update could be sent to the other meeting attendees asking them whether they would like anything from the coffee shop. This information could then be communicated to the user via one or more the vehicle or on another device, such as their smart phone.
- This
smart calendar module 2212 is further capable of accessing information from a remote device, such as thesmart phone 212, and integrating various information therefrom, such as from a calendar on the smart phone. In a similar manner, thesmart calendar module 2212 can remotely communicate with the user's calendar that might be associated with the vehicle or stored on the cloud. Utilizing one or more of the various communication functions of the vehicle, information in the user's calendar in the cloud could be obtained and utilized, as discussed above, to assist the user with their daily tasks. - In accordance of another exemplary embodiment,
context module 2216 can cooperate with another sensor, such asbreathalyzer 2220 to ensure compliance with drunk driving laws. In a working example, thecontext module 2216, cooperating with theuser identification module 822, determines that a user who has had a bad past experience with driving while under the influence is currently identified as the driver of the vehicle. Theprofile data 252 can indicate the driver, perhaps, has a past DUI and is not allowed to drive any vehicle unless they pass a breathalyzer test. In this scenario, thecontext module 2216 can limit functionality of the vehicle, and for example, not allow the driver to start the vehicle, unless the breathalyzer test has been completed successfully. Moreover, and in cooperation with thevehicle reporting module 2208, the results of this breathalyzer test can be sent to one or more entities, such as a monitoring entity, that monitors whether or not the driver has attempted to drive the vehicle that is under the influence. Similarly, thevehicle reporting module 2208 could establish communications with a law enforcement agency indicating the current GPS coordinates of the vehicle, and that a user who is under the influence has not passed a breathalyzer test and is attempting to drive the vehicle. A log of the various breathalyzer tests could also be stored in theprofile data 252, and accessed by, for example, a law enforcement agency. - In accordance with another exemplary operational scenario, and in cooperation, for example, with a
smart calendar module 2212,context module 2216 andvehicle reporting module 2208, the vehicle can determine that the user is going to be out of town for the weekend, and not using the vehicle, based on information in user's calendar. In this context, thecontext module 2216 would know that the user is not going to be using the vehicle, so the vehicle shouldn't be used. Thus, if someone tries to the use the vehicle, the vehicle, cooperating with thevehicle reporting module 2208, could contact one or more of the user's smart phone andremote access device 2224 and ask the owner whether permission is granted for someone to use the vehicle. Moreover, and in cooperation with thecamera application module 2224, thevehicle reporting module 2208 could send an image of the vehicle occupant(s) along to the owner with the request for permission to use the vehicle. If the owner denies permission, the owner could return a message to the vehicle indicating that the vehicle is not to be used, and thecontext module 2216 cooperating with various vehicle functions and systems shut down the vehicle to prevent the vehicles use. - In another exemplary scenario, the
context module 2216 cooperating with theparental control module 2232 could require the vehicle to receive test results from thebreathalyzer 2220 if a child is out past 8 PM and trying to use the vehicle. In a similar manner, and in again in concert with thecontext module 2216 and the GPS module, the system could determine that the vehicle has been sitting outside of a bar for over an hour, and implement a similar requirement for a breathalyzer test to be performed before the ignition is activated. - In accordance with another exemplary operational scenario, the vehicle could know a child's curfew and also know the distance from home. Given that information, the
context module 2216, cooperating with thevehicle reporting module 2208, could inform the child, via a communication to a smart phone, that they have to go. Furthermore, since the system can know the occupants, utilizing one or more of theuser identification module 822, thecamera application module 2224, and the profile data associated with the vehicle, thecontext module 2216 could also include information to assist with successfully delivering the other vehicle occupants home in a timely manner. - In accordance with another exemplary operational scenario, the
camera application module 2224, in cooperation with the expression/facial ID/gesture database 2228, and thecontext module 2216, can determine the emotional state of one or more occupants in the vehicle. Information from thecamera application module 2224 can be correlated with profile data and through use of the useridentification data module 822 determine which captured image(s) belongs to which vehicle occupant. For example, theprofile data 252 may include biometric information, such as facial information, for the user associated with that profile. A controller or processor could then map the obtained one or more images to information in the profile data utilizing known facial recognition techniques, and in cooperation with thecontext module 2216, determine an emotional state associated with one or more of the users in the vehicle. These various emotional states could then be reported, for example, using thevehicle reporting module 2208, to one or more other destinations, such as to the occupants' parents via a communication to their smart phone or other electronic device. - In a similar manner, the
camera application module 2224 cooperating with thecontext module 2216 andvehicle reporting module 2208 could monitor for unusual behavior, such as obscene gestures by one of the vehicle occupants. The obscene gestures could be recognized based on information in thegesture database 2228, and upon detection of one of these gestures by thecamera application module 2224, thevehicle reporting module 2208 send an appropriate communication to, for example, parents or owners of the vehicle indicating one or more of the occupants may be behaving in an unsafe manner. An image of the obscene gesture could also be sent along with the communication to one or more of the parents or owners of the vehicle, as well as this information optionally stored in the user's profile for use in some other application, such as insurance reporting and monitoring as discussed herein. - As an extension for the above scenario, the vehicle could use one or more of its sensors, such as a camera in the
camera application module 2224, to recognize the face of a person blowing into thebreathalyzer 2220 for affirmative identification and to prevent fraudulent attempts to bypass the system. As discussed,profile data 252 can include information usable for facial recognition. This information is useable by thecontext module 2216 to confirm the individual utilizing the breathalyzer is the person that will be operating the vehicle. As a parental control, and in cooperation with theparental control module 2232, the vehicle could require a child to use it prior to activating the ignition on any night they are out past 8 PM. The car could know the child's curfew, and also know the distance from home. Given that information the vehicle could inform the child they need to leave immediately in order to make it home on time, and it can optionally require the child to utilize the breathalyzer before enabling the ignition system. It is to be appreciated that parental control is not limited to a parent-child relationship, but may also refer to one who is in control of a subordinate or lawbreaker, such as a child, a parolee, an employee, and the like. As discussed, notification of a user failing to pass a breathalyzer test, whether the breathalyzer is part of the vehicle or another vehicle, remote or otherwise, could be sent to the police or authorities as appropriate. In some cases, the signal may continue to be sent unless deactivated by an authorized party. This could assist law enforcement officers with apprehending drivers who may be under the influence. - In accordance with another optional embodiment, other car-based camera applications can be implemented by the
camera application module 2224, cooperating with one or more of the other elements of the vehicle systems. For sleep detection, such as driver head bobbing, blink rate, and other gestures which indicate a driver is falling asleep, thecamera application module 2224, cooperating with the expression/facial ID/gesture database 2228, could trigger one or more of an audible, visual, or tactile warning to the driver to wake up. Furthermore, this warning could be sent to one or more of the other vehicle occupants, and alert them to the fact that the driver is falling asleep, and they should engage the driver to ensure they stay awake. - In another optional embodiment, the camera, cooperating with the
camera application module 2224, can utilize the detection of positional based movements to regulate accessibility to the car control console. For example, when a driver reaches for the console, this can result is limited access to functionality to the console, or as a passenger reaching for the console, this could result in additional functionality being provided to that user. An example of this is manipulation of the navigational system. Most navigational systems require the user, e.g. driver, to be stopped before they are allowed to enter information such as destination address information. However,camera application module 2224, cooperating with one or more of the vehicle cameras, could determine that in the instance when the passenger is attempting to access the navigation system, the navigation system allows for the passenger to enter destination address information, even though the vehicle may be traveling at a rapid rate. In a similar manner, the camera can be capable of sensing direction from which a motion is coming, and change the accessibility to one or more functions of the console, where, for example, a 3D camera can be used to capture gestures in space. Capturing a three-dimensional gesture in space can be used in a similar manner to the above, where the vehicle control console functionality is modified based on who is trying to access it. -
Context module 2216, cooperating with one or more of the user identification module, various profile data, and a camera, as well as the camera application module and associateddatabase 2228, can also recognize the number of passengers in the car, and optionally, who the passengers are. Based on this information, thecontext module 2216 can change the environment depending upon who is in the car. This includes, but is not limited to, music, climate, seat position, and the like. For example, if thecontext module 2216 is able to determine, based on facial recognition and information in the profile data, that the user in the front passenger is 4′11″ tall, and the passenger in the rear seat behind front seat passenger is 6′2″, thecontext module 2216 could adjust the seat of the front seat passenger to provide greater leg room to the rear seat passenger. Thecontext module 2216 can further be utilized to recognize, with the assistance of thecamera application module 2224 and theexpression database 2228 facial expressions of one or more of the vehicle occupants and adjust the cabin environment accordingly or even driving characteristics of the vehicle. For example, if it is determined that the vehicle occupants appear to be drowsy, thecontext module 2216 can instruct the HVAC system to lower the temperature of the vehicle to assist with waking up the vehicle occupants. This could be especially important if it is determined that the driver is showing signs of drowsiness as discussed above. - In accordance with another optional embodiment, the
camera application module 2224 can cooperate with one or more vehicle cameras and/or sensors such that gestures in the air, such as swipes, drags, or the like, that many people are already familiar with by virtue of smart phone technology and tablets, can be recognized without the user necessarily touching a touch screen. These recognized expression by thecamera application module 2224 could then be used to control one or more functions of the vehicle, provide control of one or more touchscreen displays, and/or can be used in a virtual environment such as when a 3D touchscreen is provided that is manipulatable via one or more three-dimensional gestures or expressions. - The
parental control module 2232 can also be utilized in conjunction with facial recognition technology andcamera application module 2224 such that pictures of all the allowed drives and/or passengers are known by the various vehicle systems. In the event that a vehicle system doesn't recognize an occupant as one of the allowed individuals, the car control system can be managed by thecontext module 2216, and rules in theparental control module 2232, to take various actions, such as not allowing the engine to start, sending an alert via the vehicle orwarning module 2208, or the like. In a similar manner, facial recognition of a driver can be used to limit what young drivers can do in the car, or to generate an automatic alert if certain “rules” are broken that are maintained in theparental control module 2232. For example, one or more rules in theparental control module 2232 may dictate that a young driver cannot drive more than 20 miles from home, cannot go on the interstate, or the like. In these instances, if these “rules” are broken, and in cooperation with thecontext module 2216 andvehicle reporting module 2208, various notifications can be sent to one or more destinations. In a similar manner, these “rules” could be used to regulate one or more car functions, such as the vehicle's maximum speed, number of occupants in the vehicle, the availability of multimedia/infotainment information, infotainment volumes settings, and the like. Engine/vehicle operational rules can also be established that restrict or otherwise regulate any vehicle function, and in cooperation with thecontext module 2216 can prohibit undesired or unwanted vehicle operations, e.g., flooring the accelerator. - As will be appreciated, the above situational control of the car's environment or access to various controls and/or entertainment and/or functionality, can be dynamic and based on who is in the car, where the car is located, driving conditions, e.g. weather conditions, and the like.
- In accordance with another optional embodiment, the
context module 2216 functionality can be extended to the user's smartphone, tablet, or other computing device. For example, thecontext module 2216 could have an extension application that runs on one or more of these user devices, to assist with integrating user context into the vehicle experience. For example, when a user does a search at the office or at home for directions to a particular destination, and then thecontext module 2216 determines that the user gets in their vehicle the directions and/or map that the user just searched for can be sent to the vehicle's navigation system. This functionality can be extended to cooperation with thesmart calendar module 2212, such that if it is 20 minutes before a user's appointment, and the user looks up the address associated with information in the appointment, thecontext module 2216 could make the assumption that the user has requested the directions/map for this appointment, and ensure the vehicle has this information to assist with the user arriving at their destination in a timely manner. - In accordance with another optional embodiment, the
breathalyzer 2220 need not necessarily be associated with the vehicle, but information from a remote breathalyzer, coupled with time proximity information be utilized to control various car functions. For example, if an intended driver blows into a remote breathalyzer 45 seconds before entering a vehicle, thecontext module 2216 could assume that the breathalyzer information is accurate, and in cooperation with theparental control module 2232, allow operation of the vehicle if the user is under a predetermined limit. - In a further example of the sophistication of the
context module 2216, thecontext module 2216 can cooperate with vehicle GPS information to control one or more functions of the vehicle, as well as one or more other remote functions, such as functions at home. For example, as a user drives away from their home, the thermostat can be set to a, for example, lower predetermined temperature. When the user returns home, or is within a certain proximity of their home, the thermostat can be returned to a preset level. When the user is a certain distance from their home, the garage door may open upon checking, utilizing theuser identification module 822, that the occupant of the vehicle is the homeowner. The inside garage door to the home can be opened, and upon the vehicle entering the garage, the outside garage door closed. As a further example of the knowledge and sophistication of thecontext module 2216, the context module can cooperate with one or more other systems such thatcontext module 2216 is aware of what the user was watching in the home, so if the user leaves the home to go on a shopping trip during a football game, the car entertainment system can tune into the game and make it available to the user while they are on their shopping trip. In this manner, profile data can be extended to include information from the cable or TV provider and/or the cable or TV provider can be in communication with the vehicle. Expanding further upon these basic concepts, in any smart home environment, one or more smart home appliances are able to communicate with the vehicle to provide information to the driver about the need, for example, for various consumables. For example, a smart refrigerator could contact the vehicle and inform the driver that they are out of milk. - The
context module 2216 is, however, not limited to user-centered context determination. Rather, thecontext module 2216 could be used in association with any vehicle functionality, and could be especially useful with automatic diagnostic assessments about a vehicle's “health” with this information usable to determine maintenance schedules, the need for repair parts, or the like. For example, thecontext module 2216 can cooperate with one or more of the vehicle sensors to determine when a vehicle needs maintenance. This information could further be used to determine which repair parts are required, send this list to the dealer or other repair shop that the user prefers, and also schedule an appointment, while taking into consideration any information in the user's calendar by thesmart calendar module 2212. As will be appreciated, if this is done on a large scale, a car manufacturer can actually collect large sets of data to assess a particular make and model's design flaws, reliability, service requirements, fuel, and/or oil or other consumables consumption, or the like. The receipt of this information could result in automatic alerts being sent to one or more of the driver or another entity, such as a dealer, and as discussed, could also result in the automatic ordering of parts needed for repair and/or maintenance of the vehicle. - In accordance with another optional embodiment, the
context module 2216 can use smart GPS information to assist the driver with arriving at their destination. For example, if a user contacts a restaurant via the vehicle communication system and/or a smartphone while in the vehicle, to make a reservation for dinner, the destination restaurant can return to the user, in a special message, GPS information associated with that restaurant's location. This message can be assessed and integrated into the necessary vehicle system, and in particular, the navigation system, such that navigational directions can be provided to the user to assist them with arrival at this destination restaurant. For example, on establishment of the communication session between the user and the restaurant, the user's phone number is known by the restaurant, and since this communication device, and hence the phone number, has been paired with the vehicle, the vehicle is capable of receiving the message, and hence the destination restaurant GPS information. -
FIG. 23 outlines an exemplary method of profile editing/modification. In particular, control begins in step S2300 and continues to step S2304. In step S2304, the user profile access request is received. Next, in step S2308, a determination is made if a profile already exists. If a profile does not exist, control continues to step S2312, where a new profile can be created. As discussed, this new profile can be created from scratch, or can be based on a global standard template, or based on some other template, for example, which can be that of another user. Control then continues to step S2316. - In step S2316, a verification could optionally be performed to ensure the user is authorized to access the profile. Similarly, in step S2320, one or more of biometric information, gesture recognition, feature recognition, device identification, password recognition, or the like, can be used for verification of the user before access to the requested profile is granted. Next, in step S2324, the authentication and exchanging of one or more keys can optionally be performed, such as the exchange of a public and/or private key, as discussed above. Then, in step S2328, if one or more of verification or authentication are successful, the user can be allowed to edit/modify the accessed profile. Upon completion of any edit/modifications, the profile can be saved in step S2332, with control continuing to step S2336.
- In step S2336, the saved profile can optionally be transmitted to one or more other vehicles, or one or more other devices or locations on a communications network as discussed. Next, in step S2340, a determination is made as to whether the transmission of the profile to one or more other destinations provides a conflict, and whether or not the transferred profile should overwrite the local profile at the destination. If the local profile is to be overwritten, control continues to step S2444, where the local profile is overwritten by settings in the transmitted profile. Control then continues to step S2348, where the control sequence ends.
- If the local profile is not to be overwritten, control continues to step S2352, where any conflicting data can be reconciled. For example, a user can be queried to confirm whether or not they would like to overwrite the local profile, and/or provide information regarding which profile settings are in conflict, to allow the user to selectively determine which one of the local profile settings should be overwritten. This process can continue until all conflicts between the profiles have been resolved, where control continues to step S2356, where the control sequence ends.
-
FIG. 24 outlines exemplary communications between a mobile device and a vehicle, and the transferring of a profile. In particular, with a mobile device, control begins in step S2404, and for the vehicle, control begins in step S2460. The vehicle, in step S2464, detects a presence of a mobile device, such as a via Bluetooth®, RFID, user request, or the like, and sends a message to the mobile device requesting establishment of communication in step S2408. In step S2412, the mobile device commences communication with the vehicle, through an optional pairing step between the mobile device and the vehicle in step S2468. One or more of the mobile device and vehicle, in step S2416, and step S2472, respectively, can optionally perform authentication and/or verification of the mobile device as discussed herein. In accordance with one exemplary embodiment, on establishment of communication between the mobile device and the vehicle, the vehicle in step S2476 receives the profile from the mobile device, which is sent in step S2420. It should be appreciated that optionally the profile need not be transferred from the mobile device to the vehicle, but the profile cold rather reside on the mobile device when, for example, the mobile device is paired with the vehicle. Next, in step S2480, the position of the mobile device in the vehicle is determined. Then, in step S2484, one or more vehicle features/controls are enabled based, at least partially, on the determined location of the mobile device within the vehicle. For example, certain vehicle features/controls may be enabled if it is determined if the mobile device is associated with the driver. Other features/controls may be enabled if it is determined that the profile is associated with user in the back seat. Control then continues to step S2488. - In step S2488, the mobile device is detected as leaving the vehicle. Upon this detection, the profile could optionally be updated, and if the profile is being stored on the mobile device, the updated profile transferred to the mobile device and/or a remote location, such as a cloud, with the updated profile being received by the mobile device and/or cloud in step S2424. Control then respectively continues to step S2428, and step S2492, where the control sequence ends.
-
FIG. 25 outlines an exemplary method for transferring a profile. In particular, control begins in step S2500, and continues to step S2504, where the profile is transferred to another entity or directly to another vehicle. This can be done one or more of automatically, based on a user request, based on context, or based on other information such as the detection by a smart calendar of a user having an appointment with a rental agency for a leased vehicle. Next, in step S2508, one or more profiles that are available to be transferred are identified. Then, in step S2502, the identified profile(s) to be transferred are one or more of uploaded, transferred, or registered, or otherwise associated with one or more of an entity, another vehicle, a communication device, or the like. Control then continues to step S2516, where the control sequence ends. -
FIG. 26 outlines an exemplary method for associating a profile with a reservation. In particular, control begins in step S2600, and continues to step S2604. In step S2604, the rental reservation is commenced. Next, in step S2608, the user is queried as to whether they would like to associate one or more profiles with the rental reservation. Then, in step S2612, the user is asked which profile(s) should be associated with which position in the vehicle, e.g. driver, alternate driver, passenger, or the like. Control then continues to step S2616. - In step S2616, the profile(s) that are to be associated with the rental reservation are located and uploaded and associated with the reservation. As will be appreciated, this uploading of the profiles can be done at the time of the reservation, and could also optionally be done immediately before the user takes control of the leased vehicle to ensure that the latest version of the profile is being associated with the leased vehicle. Then, in step S2620, when the user actually takes possession of the leased vehicle, their profile can be associated therewith. Control then continues to step S2624.
- In step S2624, one or more ads can optionally be sent to the vehicle and/or user's communication device based on their profile, with these ads capable of continuing after completion of the rental reservation. As will be appreciated, and after completion of the rental reservation, these ads can be sent to one or more of the user's communication or other device, and/or the user's other vehicle(s). Control then continues to step S2628, where the control sequence ends.
-
FIG. 27 outlines an exemplary method 52704, where vehicle reporting is turned on. Turning on vehicle reporting can be based on one or more of a request, such as a user request, insurance agency request, parent request, or the like. Vehicle reporting can further be turned on based on one or more of smart calendar information, a trigger, a context associated with one or more of the vehicle, driver, vehicle occupants, or the like. Next, in step S2708, a determination and/or query as to what type of information should be monitored is performed. As discussed, this can include one or more of number of passengers, speed information, vehicle location information, GPS information, and the like. Then, in step S2712, communication with the vehicle can optionally be established to allow for, for example, real-time control of one or more vehicle functions. Control then continues to step S2716. - In step S2716, it is determined whether information based on one or more of context, the above request, smart calendar information, and/or a trigger is needed. If information is needed, control continues to step S2728, with control otherwise continuing to step S2720. In step S2720, a determination is made as to whether reporting should end. If vehicle reporting is determined to have been completed, control continues to step S2724, where the control sequence ends. Otherwise, control jumps back to step S2716.
- In step S2728, necessary/needed information based on one or more of the requests, smart calendar, trigger, or the like, is obtained. Then, in step S2732, this obtained information can optionally be forwarded to one or more destinations, can be stored, or can be used with, for example, a remote access device to assist with controlling one or more vehicle functions. Control then continues to step S2736, where the control sequence ends.
-
FIG. 28 outlines an exemplary method of operation of a parental control mode. In particular, control begins in step S2800, and continues to step S2804. In step S2804, a determination is made as to whether the parental control mode should be activated. If the parental control mode should be activated, control continues to step S2816, with control otherwise continuing to step S2808. In step S2808, vehicle operation continues as normal with control continuing to step S2812, where the control sequence ends. - In step S2816, the parental control mode of the vehicle is activated. Next, in step S2820, certain vehicle functions can be limited based on “rules” associated with a parental control mode profile. Then, in step S2824, vehicle reporting, as discussed herein, can optionally be turned on. Additionally, in step S2828, smart context sensing can also be optionally turned on. As discussed, smart context sensing can be used to assist with ensuring children arrive home prior to their curfew, can be used to require a driver to take a breathalyzer after being parked outside of a restaurant/bar, or the like. Furthermore, in step S2832, one or more rules based functions can also be turned on that, for example, limit vehicle's performance, limit infotainment availability, and the like. Control then continues to step S2836.
- In step S2836, communications can optionally be established directly with the vehicle, such as via a
remote access device 2224. As discussed, this remote access device can be equipped with display that shows one or more operational states of the vehicle, such as speed, direction, location, images of occupants, infotainment information, or the like, such that a user using the remote access device has complete visibility as to one or more of the vehicle's operational conditions. This could be especially useful if a parent is trying to monitor a young driver's performance in the vehicle. Control then continues to step S2840 where parental control is deactivated and the control sequence ends. -
FIG. 29 outlines an exemplary method for global context awareness. In particular, control begins in step S2800 and continues to step S2804. In step S2804, global context awareness is enabled. As discussed, global context awareness allows the vehicle and vehicle systems and subsystems to integrate with one or more other systems, and optionally and in cooperation with context, can be used to exchange messages, control various functions, and the like. Next, in step S2808, the vehicle communicates with one or more other smart systems, such as a refrigerator, door locks, garage openers, calendars, cloud-based storage, or the like. Then, in step S2812, messages can be exchanged between the vehicle and the one or more other smart systems, with those messages including one or more of status information, notice information, or the like. An example of status information can include, for example, that the coffee pot at their home was left on. Control then continues to step S2816. - In step S2816, control messages can be exchanged between the vehicle and one or more other smart systems. For example, control information or control messages can include an instruction to turn off the coffee pot that was determined above to have been left on. Control messages can further include, for example, instructions to open or close a garage door, instructions to unlock an interior door, instructions to control an HVAC system in the user's house, or the like. In general, the vehicle is capable of communicating with any one or more smart systems, receiving information therefrom, and controlling one or more functions thereof, via, for example, a display in the vehicle and/or a user's communication device. Control then continues to step S2820 where the control sequence ends.
- The exemplary systems and methods of this disclosure have been described in relation to configurable vehicle consoles and associated devices. However, to avoid unnecessarily obscuring the present disclosure, the preceding description omits a number of known structures and devices. This omission is not to be construed as a limitation of the scopes of the claims. Specific details are set forth to provide an understanding of the present disclosure. It should however be appreciated that the present disclosure may be practiced in a variety of ways beyond the specific detail set forth herein.
- Furthermore, while the exemplary aspects, embodiments, options, and/or configurations illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system. Thus, it should be appreciated, that the components of the system can be combined in to one or more devices, such as a Personal Computer (PC), laptop, netbook, smart phone, Personal Digital Assistant (PDA), tablet, etc., or collocated on a particular node of a distributed network, such as an analog and/or digital telecommunications network, a packet-switch network, or a circuit-switched network. It will be appreciated from the preceding description, and for reasons of computational efficiency, that the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system. For example, the various components can be located in a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof. Similarly, one or more functional portions of the system could be distributed between a telecommunications device(s) and an associated computing device.
- Furthermore, it should be appreciated that the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements. These wired or wireless links can also be secure links and may be capable of communicating encrypted information. Transmission media used as links, for example, can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- Also, while the flowcharts have been discussed and illustrated in relation to a particular sequence of events, it should be appreciated that changes, additions, and omissions to this sequence can occur without materially affecting the operation of the disclosed embodiments, configuration, and aspects.
- A number of variations and modifications of the disclosure can be used. It would be possible to provide for some features of the disclosure without providing others.
- It should be appreciated that the various processing modules (e.g., processors, vehicle systems, vehicle subsystems, modules, etc.), for example, can perform, monitor, and/or control critical and non-critical tasks, functions, and operations, such as interaction with and/or monitoring and/or control of critical and non-critical on board sensors and vehicle operations (e.g., engine, transmission, throttle, brake power assist/brake lock-up, electronic suspension, traction and stability control, parallel parking assistance, occupant protection systems, power steering assistance, self-diagnostics, event data recorders, steer-by-wire and/or brake-by-wire operations, vehicle-to-vehicle interactions, vehicle-to-infrastructure interactions, partial and/or full automation, telematics, navigation/SPS, multimedia systems, audio systems, rear seat entertainment systems, game consoles, tuners (SDR), heads-up display, night vision, lane departure warning, adaptive cruise control, adaptive headlights, collision warning, blind spot sensors, park/reverse assistance, tire pressure monitoring, traffic signal recognition, vehicle tracking (e.g., LoJack™), dashboard/instrument cluster, lights, seats, climate control, voice recognition, remote keyless entry, security alarm systems, and wiper/window control). Processing modules can be enclosed in an advanced EMI-shielded enclosure containing multiple expansion modules. Processing modules can have a “black box” or flight data recorder technology, containing an event (or driving history) recorder (containing operational information collected from vehicle on board sensors and provided by nearby or roadside signal transmitters), a crash survivable memory unit, an integrated controller and circuitry board, and network interfaces.
- Critical system controller(s) can control, monitor, and/or operate critical systems. Critical systems may include one or more of (depending on the particular vehicle) monitoring, controlling, operating the ECU, TCU, door settings, window settings, blind spot monitor, monitoring, controlling, operating the safety equipment (e.g., airbag deployment control unit, collision sensor, nearby object sensing system, seat belt control unit, sensors for setting the seat belt, etc.), monitoring and/or controlling certain critical sensors such as the power source controller and energy output sensor, engine temperature, oil pressure sensing, hydraulic pressure sensors, sensors for headlight and other lights (e.g., emergency light, brake light, parking light, fog light, interior or passenger compartment light, and/or tail light state (on or off)), vehicle control system sensors, wireless network sensor (e.g., Wi-Fi and/or Bluetooth sensors, etc.), cellular data sensor, and/or steering/torque sensor, controlling the operation of the engine (e.g., ignition, etc.), head light control unit, power steering, display panel, switch state control unit, power control unit, and/or brake control unit, and/or issuing alerts to a user and/or remote monitoring entity of potential problems with a vehicle operation.
- Non-critical system controller(s) can control, monitor, and/or operate non-critical systems. Non-critical systems may include one or more of (depending on the particular vehicle) monitoring, controlling, operating a non-critical system, emissions control, seating system controller and sensor, infotainment/entertainment system, monitoring certain non-critical sensors such as ambient (outdoor) weather readings (e.g., temperature, precipitation, wind speed, and the like), odometer reading sensor, trip mileage reading sensor, road condition sensors (e.g., wet, icy, etc.), radar transmitter/receiver output, brake wear sensor, oxygen sensor, ambient lighting sensor, vision system sensor, ranging sensor, parking sensor, heating, venting, and air conditioning (HVAC) system and sensor, water sensor, air-fuel ratio meter, hall effect sensor, microphone, radio frequency (RF) sensor, and/or infrared (IR) sensor.
- It is an aspect of the present disclosure that one or more of the non-critical components and/or systems provided herein may become critical components and/or systems, and/or vice versa, depending on a context associated with the vehicle.
- Optionally, the systems and methods of this disclosure can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like. In general, any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this disclosure. Exemplary hardware that can be used for the disclosed embodiments, configurations and aspects includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, nonvolatile storage, input devices, and output devices. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
- In yet another embodiment, the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this disclosure is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
- In yet another embodiment, the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this disclosure can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like. The system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
- Examples of the processors as described herein may include, but are not limited to, at least one of Qualcomm
® Snapdragon® 800 and 801, Qualcomm® Snapdragon® 610 and 615 with 4G LTE Integration and 64-bit computing, Apple® A7 processor with 64-bit architecture, Apple® M7 motion coprocessors, Samsung® Exynos® series, the Intel® Core™ family of processors, the Intel® Xeon® family of processors, the Intel® Atom™ family of processors, the Intel Itanium® family of processors, Intel® Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nm Ivy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300, and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments® Jacinto C6000™ automotive infotainment processors, Texas Instruments® OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors, ARM® Cortex-A and ARM926EJ-S™ processors, other industry-equivalent processors, and may perform computational functions using any known or future-developed standard, instruction set, libraries, and/or architecture. - Although the present disclosure describes components and functions implemented in the aspects, embodiments, and/or configurations with reference to particular standards and protocols, the aspects, embodiments, and/or configurations are not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present disclosure. Moreover, the standards and protocols mentioned herein and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present disclosure.
- The present disclosure, in various aspects, embodiments, and/or configurations, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various aspects, embodiments, configurations embodiments, subcombinations, and/or subsets thereof. Those of skill in the art will understand how to make and use the disclosed aspects, embodiments, and/or configurations after understanding the present disclosure. The present disclosure, in various aspects, embodiments, and/or configurations, includes providing devices and processes in the absence of items not depicted and/or described herein or in various aspects, embodiments, and/or configurations hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
- The foregoing discussion has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the disclosure are grouped together in one or more aspects, embodiments, and/or configurations for the purpose of streamlining the disclosure. The features of the aspects, embodiments, and/or configurations of the disclosure may be combined in alternate aspects, embodiments, and/or configurations other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed aspect, embodiment, and/or configuration. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the disclosure.
- Moreover, though the description has included description of one or more aspects, embodiments, and/or configurations and certain variations and modifications, other variations, combinations, and modifications are within the scope of the disclosure, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative aspects, embodiments, and/or configurations to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/247,128 US20190392107A1 (en) | 2013-04-15 | 2019-01-14 | Access and portability of user profiles stored as templates |
US17/233,412 US11163931B2 (en) | 2013-04-15 | 2021-04-16 | Access and portability of user profiles stored as templates |
US17/515,961 US12039243B2 (en) | 2013-04-15 | 2021-11-01 | Access and portability of user profiles stored as templates |
Applications Claiming Priority (18)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361811961P | 2013-04-15 | 2013-04-15 | |
US201361811981P | 2013-04-15 | 2013-04-15 | |
US201361865954P | 2013-08-14 | 2013-08-14 | |
US201361870698P | 2013-08-27 | 2013-08-27 | |
US201361891217P | 2013-10-15 | 2013-10-15 | |
US201361904205P | 2013-11-14 | 2013-11-14 | |
US201461924572P | 2014-01-07 | 2014-01-07 | |
US201461926749P | 2014-01-13 | 2014-01-13 | |
US14/252,663 US9411925B2 (en) | 2014-04-14 | 2014-04-14 | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US14/252,876 US20140309863A1 (en) | 2013-04-15 | 2014-04-15 | Parental control over vehicle features and child alert system |
US14/252,865 US20140309862A1 (en) | 2013-04-15 | 2014-04-15 | User profile exchange via vehicle supported communications protocol |
US14/252,868 US20140310031A1 (en) | 2013-04-15 | 2014-04-15 | Transfer of user profile data via vehicle agency control |
US14/252,871 US20140309813A1 (en) | 2013-04-15 | 2014-04-15 | Guest vehicle user reporting |
US14/252,863 US20140310788A1 (en) | 2013-04-15 | 2014-04-15 | Access and portability of user profiles stored as templates |
US14/831,696 US9545930B2 (en) | 2012-03-14 | 2015-08-20 | Parental control over vehicle features and child alert system |
US15/099,413 US20160247377A1 (en) | 2012-03-14 | 2016-04-14 | Guest vehicle user reporting |
US15/288,244 US20170099295A1 (en) | 2012-03-14 | 2016-10-07 | Access and portability of user profiles stored as templates |
US16/247,128 US20190392107A1 (en) | 2013-04-15 | 2019-01-14 | Access and portability of user profiles stored as templates |
Related Parent Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/252,663 Continuation US9411925B2 (en) | 2013-04-15 | 2014-04-14 | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US14/252,865 Continuation US20140309862A1 (en) | 2012-03-14 | 2014-04-15 | User profile exchange via vehicle supported communications protocol |
US14/252,868 Continuation US20140310031A1 (en) | 2012-03-14 | 2014-04-15 | Transfer of user profile data via vehicle agency control |
US14/831,696 Continuation US9545930B2 (en) | 2012-03-14 | 2015-08-20 | Parental control over vehicle features and child alert system |
US15/099,413 Continuation US20160247377A1 (en) | 2012-03-14 | 2016-04-14 | Guest vehicle user reporting |
US15/288,244 Continuation US20170099295A1 (en) | 2012-03-14 | 2016-10-07 | Access and portability of user profiles stored as templates |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/233,412 Continuation US11163931B2 (en) | 2013-04-15 | 2021-04-16 | Access and portability of user profiles stored as templates |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190392107A1 true US20190392107A1 (en) | 2019-12-26 |
Family
ID=54265271
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/252,663 Active 2034-07-10 US9411925B2 (en) | 2013-04-15 | 2014-04-14 | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US15/167,864 Active 2034-04-22 US10255401B2 (en) | 2014-04-14 | 2016-05-27 | Viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US16/247,128 Abandoned US20190392107A1 (en) | 2013-04-15 | 2019-01-14 | Access and portability of user profiles stored as templates |
US17/233,412 Active US11163931B2 (en) | 2013-04-15 | 2021-04-16 | Access and portability of user profiles stored as templates |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/252,663 Active 2034-07-10 US9411925B2 (en) | 2013-04-15 | 2014-04-14 | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US15/167,864 Active 2034-04-22 US10255401B2 (en) | 2014-04-14 | 2016-05-27 | Viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/233,412 Active US11163931B2 (en) | 2013-04-15 | 2021-04-16 | Access and portability of user profiles stored as templates |
Country Status (1)
Country | Link |
---|---|
US (4) | US9411925B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210075594A1 (en) * | 2019-09-10 | 2021-03-11 | Ford Global Technologies, Llc | Vehicle digital key cloud storage |
US10986307B2 (en) * | 2015-11-06 | 2021-04-20 | At&T Intellectual Property I, L.P. | Methods and apparatus to manage audiovisual recording in a connected vehicle |
US20210164794A1 (en) * | 2019-11-28 | 2021-06-03 | Toyota Motor North America, Inc. | Sharing of transport user profile |
CN112988990A (en) * | 2019-12-18 | 2021-06-18 | 本田技研工业株式会社 | Information providing device, information providing method, and storage medium |
US20210342864A1 (en) * | 2020-04-30 | 2021-11-04 | Robert Bosch Gmbh | System and method for evaluating black-box recommendation systems in infotainment systems |
US20210347331A1 (en) * | 2018-09-27 | 2021-11-11 | Honda Motor Co., Ltd. | Vehicle control system and application execution device |
US11307669B2 (en) * | 2018-02-14 | 2022-04-19 | Kyocera Corporation | Electronic device, moving body, program and control method |
US11325605B2 (en) * | 2019-03-27 | 2022-05-10 | Honda Motor Co., Ltd. | Information providing device, information providing method, and storage medium |
US20220318425A1 (en) * | 2021-04-01 | 2022-10-06 | Ford Global Technologies, Llc | Occupant feature recognition to ensure privacy consent |
US12125504B2 (en) * | 2024-05-13 | 2024-10-22 | BriefCam Ltd. | Method and system for automatic pre-recordation video redaction of objects |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411925B2 (en) * | 2014-04-14 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
US9779193B1 (en) * | 2015-03-31 | 2017-10-03 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for implementing electronic design layouts with symbolic representations |
CN105335570B (en) | 2015-11-24 | 2018-11-06 | 深圳市兴森快捷电路科技股份有限公司 | A method of netlist comparison is carried out based on component pin connection relation |
US10380292B1 (en) * | 2016-04-08 | 2019-08-13 | Cadence Design Systems, Inc. | Systems and methods for finite difference time domain simulation of an electronic design |
US10580405B1 (en) * | 2016-12-27 | 2020-03-03 | Amazon Technologies, Inc. | Voice control of remote device |
CN110147625B (en) * | 2019-05-24 | 2023-04-18 | 山东浪潮科学研究院有限公司 | Method, computer device and computer program product for converting dynamic copper into static copper |
CN110704946B (en) * | 2019-09-22 | 2023-04-07 | 中国航空工业集团公司沈阳飞机设计研究所 | Aircraft cabin temperature calculation method |
US11341310B1 (en) * | 2019-11-14 | 2022-05-24 | Synopsys, Inc. | Layout-versus-schematic (LVS) debugging and error diagnosis via type of graph matching |
US11611881B2 (en) * | 2019-11-27 | 2023-03-21 | Board Of Trustees Of Michigan State University | Integrated systems and methods for passive authentication |
US11900033B2 (en) * | 2021-09-27 | 2024-02-13 | Boardera Software Inc. | Methods and systems for printed circuit board component placement and approval |
US12079616B2 (en) | 2022-06-01 | 2024-09-03 | Toyota Motor Engineering & Manufacturing North America, Inc. | Real-time modifications for vehicles |
CN118297419B (en) * | 2024-04-02 | 2024-10-01 | 北京交通大学 | Urban rail transit short-time OD passenger flow prediction method and system considering accident state |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040014423A1 (en) * | 2002-05-15 | 2004-01-22 | Martin Croome | Functionality and policies based on wireless device dynamic associations |
US20040148526A1 (en) * | 2003-01-24 | 2004-07-29 | Sands Justin M | Method and apparatus for biometric authentication |
US20060029015A1 (en) * | 2004-08-05 | 2006-02-09 | Hinsey James R | Method for identification using bluetooth wireless key |
US20060053296A1 (en) * | 2002-05-24 | 2006-03-09 | Axel Busboom | Method for authenticating a user to a service of a service provider |
US20090305667A1 (en) * | 2007-04-24 | 2009-12-10 | Schultz Michael J | Method and system for mobile identity verification and security |
US20100318794A1 (en) * | 2009-06-11 | 2010-12-16 | Panasonic Avionics Corporation | System and Method for Providing Security Aboard a Moving Platform |
US20130104203A1 (en) * | 2011-09-24 | 2013-04-25 | Marc E. Davis | Behavioral fingerprint based authentication |
US20130145360A1 (en) * | 2011-11-16 | 2013-06-06 | Flextronics Ap, Llc | Vehicle application store for console |
US20140189807A1 (en) * | 2011-10-18 | 2014-07-03 | Conor P. Cahill | Methods, systems and apparatus to facilitate client-based authentication |
US8850535B2 (en) * | 2011-08-05 | 2014-09-30 | Safefaces LLC | Methods and systems for identity verification in a social network using ratings |
US20160050201A1 (en) * | 2011-04-04 | 2016-02-18 | ConnectX, Inc. | Method for authenticating users and devices on a computing network |
US20170272421A1 (en) * | 2009-09-21 | 2017-09-21 | Convergence Biometrics, LLC | Systems and methods for securely monitoring an individual |
US20180288029A1 (en) * | 2013-03-15 | 2018-10-04 | Kaarya Llc | Limited user authentication for controlling personal information privacy |
US20200008060A1 (en) * | 2007-03-16 | 2020-01-02 | Visa International Service Association | System and method for mobile identity protection for online user authentication |
US20200013492A1 (en) * | 2006-12-29 | 2020-01-09 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19532067C1 (en) | 1995-08-31 | 1996-10-24 | Daimler Benz Ag | Programming system for vehicle electronic key |
US5787006A (en) * | 1996-04-30 | 1998-07-28 | Micron Technology, Inc. | Apparatus and method for management of integrated circuit layout verification processes |
US6009355A (en) | 1997-01-28 | 1999-12-28 | American Calcar Inc. | Multimedia information and control system for automobiles |
US6145117A (en) * | 1998-01-30 | 2000-11-07 | Tera Systems Incorporated | Creating optimized physical implementations from high-level descriptions of electronic design using placement based information |
US6124805A (en) | 1998-05-19 | 2000-09-26 | Gabbard; Charles H. | Remotely operable vehicle identification and disabling system |
US6611755B1 (en) | 1999-12-19 | 2003-08-26 | Trimble Navigation Ltd. | Vehicle tracking, communication and fleet management system |
US6587755B1 (en) | 2000-07-12 | 2003-07-01 | International Business Machines Corporation | Virtual signs for improving information communicated to the automotive driver |
CA2370766C (en) * | 2000-10-18 | 2003-09-09 | Chipworks | Design analysis workstation for analyzing integrated circuits |
US8055540B2 (en) | 2001-05-30 | 2011-11-08 | General Motors Llc | Vehicle radio system with customized advertising |
US7111174B2 (en) * | 2001-08-29 | 2006-09-19 | Activcard Ireland Limited | Method and system for providing access to secure entity or service by a subset of N persons of M designated persons |
US6757878B2 (en) * | 2001-12-31 | 2004-06-29 | Intel Corporation | Method and apparatus for layout synthesis of regular structures using relative placement |
US7853442B2 (en) * | 2003-10-15 | 2010-12-14 | Zuken Inc. | Printed circuit board design instruction support method and device |
WO2005119442A2 (en) * | 2004-06-01 | 2005-12-15 | Tera Systems, Inc. | Methods and systems for cross-probing in integrated circuit design |
US7334209B1 (en) * | 2004-10-15 | 2008-02-19 | Xilinx, Inc. | Method and system for generating multiple implementation views of an IC design |
US7418683B1 (en) * | 2005-09-21 | 2008-08-26 | Cadence Design Systems, Inc | Constraint assistant for circuit design |
US20070100514A1 (en) | 2005-11-02 | 2007-05-03 | Park Tai S | Remote control of conveyance and appliance functions |
US7552467B2 (en) * | 2006-04-24 | 2009-06-23 | Jeffrey Dean Lindsay | Security systems for protecting an asset |
WO2008047650A1 (en) | 2006-10-11 | 2008-04-24 | Zuken Inc. | Processing method, processing device, program and computer readable storage medium |
US8201136B2 (en) | 2006-12-07 | 2012-06-12 | Fujitsu Limited | CAD apparatus, method, and computer product for designing printed circuit board |
US7865857B1 (en) * | 2007-01-23 | 2011-01-04 | Cadence Design Systems, Inc. | System and method for improved visualization and debugging of constraint circuit objects |
US7847567B2 (en) | 2007-04-10 | 2010-12-07 | Seagate Technology Llc | Verifying a printed circuit board manufacturing process prior to electrical intercoupling |
TWI423057B (en) * | 2007-09-04 | 2014-01-11 | Cadence Design Systems Inc | Layout versus schematic error system and method |
US20090271742A1 (en) * | 2008-04-29 | 2009-10-29 | Rui Zhang | User interface navigation design system |
US8140220B2 (en) | 2008-05-30 | 2012-03-20 | Fujitsu Ten Limited | In-vehicle apparatus |
US9652023B2 (en) | 2008-07-24 | 2017-05-16 | Intelligent Mechatronic Systems Inc. | Power management system |
US8187182B2 (en) | 2008-08-29 | 2012-05-29 | Dp Technologies, Inc. | Sensor fusion for activity identification |
US8261228B1 (en) * | 2008-10-01 | 2012-09-04 | Cadence Design Systems, Inc. | Technique for modeling parasitics from layout during circuit design and for parasitic aware circuit design using modes of varying accuracy |
US8196174B2 (en) | 2008-12-23 | 2012-06-05 | At&T Intellectual Property I, L.P. | Navigation method and system to provide a navigation interface |
US8516399B2 (en) * | 2009-02-18 | 2013-08-20 | Mentor Graphics Corporation | Collaborative environment for physical verification of microdevice designs |
CN101996267B (en) | 2009-08-10 | 2012-09-19 | 鸿富锦精密工业(深圳)有限公司 | Wiring system and inner layer segmenting method of printed circuit board |
US8533626B2 (en) * | 2009-12-01 | 2013-09-10 | Cadence Design Systems, Inc. | Visualization and information display for shapes in displayed graphical images based on user zone of focus |
US20110246301A1 (en) | 2010-03-31 | 2011-10-06 | Bae ji | Methods to access product placement data |
US8689121B2 (en) * | 2010-05-06 | 2014-04-01 | Cadence Design Systems, Inc. | System and method for management of controls in a graphical user interface |
TW201205323A (en) | 2010-07-22 | 2012-02-01 | Hon Hai Prec Ind Co Ltd | Printed circuit board layout system and method for of printed circuit board layout |
US8782577B2 (en) * | 2010-07-24 | 2014-07-15 | Cadence Design Systems, Inc. | Method, apparatus, and article of manufacture for providing in situ, customizable information in designing electronic circuits with electrical awareness |
CN102375899A (en) | 2010-08-16 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | Pattern width detection system and pattern width detection method |
US20130293452A1 (en) | 2012-05-02 | 2013-11-07 | Flextronics Ap, Llc | Configurable heads-up dash display |
US20130241720A1 (en) | 2012-03-14 | 2013-09-19 | Christopher P. Ricci | Configurable vehicle console |
US20130293364A1 (en) | 2012-05-02 | 2013-11-07 | Flextronics Ap, Llc | Configurable dash display |
US20130245882A1 (en) | 2012-03-14 | 2013-09-19 | Christopher P. Ricci | Removable, configurable vehicle console |
US8979159B2 (en) | 2011-11-16 | 2015-03-17 | Flextronics Ap, Llc | Configurable hardware unit for car systems |
US20130151088A1 (en) | 2011-11-16 | 2013-06-13 | Flextronics Ap, Llc | Method and system for vehicle data collection regarding traffic |
KR101189342B1 (en) | 2010-11-10 | 2012-10-09 | 기아자동차주식회사 | System for providing vehicle diagnostics service and method of the same |
US8818275B2 (en) | 2011-03-10 | 2014-08-26 | Continental Automotive Systems, Inc | Enhancing vehicle infotainment systems by adding remote sensors from a portable device |
US8726207B2 (en) * | 2011-05-25 | 2014-05-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | On-the-fly device characterization from layouts of circuits |
US20130030645A1 (en) | 2011-07-28 | 2013-01-31 | Panasonic Corporation | Auto-control of vehicle infotainment system based on extracted characteristics of car occupants |
US20130282946A1 (en) | 2012-04-23 | 2013-10-24 | Flextronics Ap, Llc | Controller area network bus |
US20140310379A1 (en) | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Vehicle initiated communications with third parties via virtual personality |
US20140309863A1 (en) | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Parental control over vehicle features and child alert system |
US20140310031A1 (en) | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Transfer of user profile data via vehicle agency control |
US20140309813A1 (en) | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Guest vehicle user reporting |
US9678573B2 (en) | 2012-07-30 | 2017-06-13 | Microsoft Technology Licensing, Llc | Interaction with devices based on user state |
US9411925B2 (en) * | 2014-04-14 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools |
EP2817170A4 (en) | 2013-04-15 | 2015-11-04 | Access and portability of user profiles stored as templates | |
US8930877B1 (en) * | 2013-06-27 | 2015-01-06 | Zipalog, Inc. | Method and system of change evaluation of an electronic design for verification confirmation |
US9122384B1 (en) * | 2013-07-24 | 2015-09-01 | Cadence Design Systems, Inc. | System and method for maintaining dynamic visual cue for associated circuitry of schematic object |
-
2014
- 2014-04-14 US US14/252,663 patent/US9411925B2/en active Active
-
2016
- 2016-05-27 US US15/167,864 patent/US10255401B2/en active Active
-
2019
- 2019-01-14 US US16/247,128 patent/US20190392107A1/en not_active Abandoned
-
2021
- 2021-04-16 US US17/233,412 patent/US11163931B2/en active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040014423A1 (en) * | 2002-05-15 | 2004-01-22 | Martin Croome | Functionality and policies based on wireless device dynamic associations |
US20060053296A1 (en) * | 2002-05-24 | 2006-03-09 | Axel Busboom | Method for authenticating a user to a service of a service provider |
US7404086B2 (en) * | 2003-01-24 | 2008-07-22 | Ac Technology, Inc. | Method and apparatus for biometric authentication |
US20040148526A1 (en) * | 2003-01-24 | 2004-07-29 | Sands Justin M | Method and apparatus for biometric authentication |
US20130106581A1 (en) * | 2004-08-05 | 2013-05-02 | Broadcom Corporation | Method for identification using bluetooth wireless key |
US20060029015A1 (en) * | 2004-08-05 | 2006-02-09 | Hinsey James R | Method for identification using bluetooth wireless key |
US20200013492A1 (en) * | 2006-12-29 | 2020-01-09 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US20200008060A1 (en) * | 2007-03-16 | 2020-01-02 | Visa International Service Association | System and method for mobile identity protection for online user authentication |
US20090305667A1 (en) * | 2007-04-24 | 2009-12-10 | Schultz Michael J | Method and system for mobile identity verification and security |
US20100318794A1 (en) * | 2009-06-11 | 2010-12-16 | Panasonic Avionics Corporation | System and Method for Providing Security Aboard a Moving Platform |
US8402268B2 (en) * | 2009-06-11 | 2013-03-19 | Panasonic Avionics Corporation | System and method for providing security aboard a moving platform |
US20170272421A1 (en) * | 2009-09-21 | 2017-09-21 | Convergence Biometrics, LLC | Systems and methods for securely monitoring an individual |
US20130167159A1 (en) * | 2010-10-01 | 2013-06-27 | Flextronics Ap, Llc | Vehicle comprising multi-operating system |
US9324234B2 (en) * | 2010-10-01 | 2016-04-26 | Autoconnect Holdings Llc | Vehicle comprising multi-operating system |
US20160050201A1 (en) * | 2011-04-04 | 2016-02-18 | ConnectX, Inc. | Method for authenticating users and devices on a computing network |
US8850535B2 (en) * | 2011-08-05 | 2014-09-30 | Safefaces LLC | Methods and systems for identity verification in a social network using ratings |
US8713704B2 (en) * | 2011-09-24 | 2014-04-29 | Elwha Llc | Behavioral fingerprint based authentication |
US20130104203A1 (en) * | 2011-09-24 | 2013-04-25 | Marc E. Davis | Behavioral fingerprint based authentication |
US20140189807A1 (en) * | 2011-10-18 | 2014-07-03 | Conor P. Cahill | Methods, systems and apparatus to facilitate client-based authentication |
US20160306615A1 (en) * | 2011-11-16 | 2016-10-20 | Autoconnect Holdings Llc | Vehicle application store for console |
US20130145360A1 (en) * | 2011-11-16 | 2013-06-06 | Flextronics Ap, Llc | Vehicle application store for console |
US20180288029A1 (en) * | 2013-03-15 | 2018-10-04 | Kaarya Llc | Limited user authentication for controlling personal information privacy |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10986307B2 (en) * | 2015-11-06 | 2021-04-20 | At&T Intellectual Property I, L.P. | Methods and apparatus to manage audiovisual recording in a connected vehicle |
US11307669B2 (en) * | 2018-02-14 | 2022-04-19 | Kyocera Corporation | Electronic device, moving body, program and control method |
US11970134B2 (en) * | 2018-09-27 | 2024-04-30 | Honda Motor Co., Ltd. | Vehicle control system and application execution device |
US20210347331A1 (en) * | 2018-09-27 | 2021-11-11 | Honda Motor Co., Ltd. | Vehicle control system and application execution device |
US11325605B2 (en) * | 2019-03-27 | 2022-05-10 | Honda Motor Co., Ltd. | Information providing device, information providing method, and storage medium |
US11569983B2 (en) * | 2019-09-10 | 2023-01-31 | Ford Global Technologies, Llc | Vehicle digital key cloud storage |
US20210075594A1 (en) * | 2019-09-10 | 2021-03-11 | Ford Global Technologies, Llc | Vehicle digital key cloud storage |
US20210164794A1 (en) * | 2019-11-28 | 2021-06-03 | Toyota Motor North America, Inc. | Sharing of transport user profile |
US11788852B2 (en) * | 2019-11-28 | 2023-10-17 | Toyota Motor North America, Inc. | Sharing of transport user profile |
CN112988990A (en) * | 2019-12-18 | 2021-06-18 | 本田技研工业株式会社 | Information providing device, information providing method, and storage medium |
US11709065B2 (en) * | 2019-12-18 | 2023-07-25 | Honda Motor Co., Ltd. | Information providing device, information providing method, and storage medium |
US20210190528A1 (en) * | 2019-12-18 | 2021-06-24 | Honda Motor Co., Ltd. | Information providing device, information providing method, and storage medium |
US20210342864A1 (en) * | 2020-04-30 | 2021-11-04 | Robert Bosch Gmbh | System and method for evaluating black-box recommendation systems in infotainment systems |
US20220318425A1 (en) * | 2021-04-01 | 2022-10-06 | Ford Global Technologies, Llc | Occupant feature recognition to ensure privacy consent |
US12125504B2 (en) * | 2024-05-13 | 2024-10-22 | BriefCam Ltd. | Method and system for automatic pre-recordation video redaction of objects |
Also Published As
Publication number | Publication date |
---|---|
US20210256191A1 (en) | 2021-08-19 |
US20160275229A1 (en) | 2016-09-22 |
US9411925B2 (en) | 2016-08-09 |
US11163931B2 (en) | 2021-11-02 |
US20150294060A1 (en) | 2015-10-15 |
US10255401B2 (en) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163931B2 (en) | Access and portability of user profiles stored as templates | |
US9545930B2 (en) | Parental control over vehicle features and child alert system | |
US10023117B2 (en) | Universal vehicle notification system | |
US20160247377A1 (en) | Guest vehicle user reporting | |
US9082238B2 (en) | Synchronization between vehicle and user device calendar | |
US9147298B2 (en) | Behavior modification via altered map routes based on user profile information | |
US20140310788A1 (en) | Access and portability of user profiles stored as templates | |
US20140309862A1 (en) | User profile exchange via vehicle supported communications protocol | |
US20140310031A1 (en) | Transfer of user profile data via vehicle agency control | |
US20140309866A1 (en) | Building profiles associated with vehicle users | |
US12039243B2 (en) | Access and portability of user profiles stored as templates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: IP OPTIMUM LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AUTOCONNECT HOLDINGS, LLC;REEL/FRAME:050648/0616 Effective date: 20190520 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: AUTOCONNECT HOLDINGS LLC, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IP OPTIMUM LIMITED;REEL/FRAME:052529/0156 Effective date: 20200429 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: AUTOCONNECT HOLDINGS LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IP OPTIMUM LIMITED;REEL/FRAME:068206/0503 Effective date: 20200327 |
|
AS | Assignment |
Owner name: FLEXTRONICS AP, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RICCI, CHRISTOPHER P.;REEL/FRAME:068047/0534 Effective date: 20140612 Owner name: AUTOCONNECT HOLDINGS LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FLEXTRONICS AP, LLC;REEL/FRAME:068047/0809 Effective date: 20150520 |