Generally described, a variety of vehicles, such as electric vehicles, combustion engine vehicles, hybrid vehicles, etc., can be configured with user specific information or configuration information to facilitate operation. In certain scenarios, a third party, such as a service provider, may wish to access operation parameters, sensor values, or other information associated with a vehicle, such as to monitor or calculate vehicle performance parameters, user specific information, and the like. Vehicles can often include hardware and software functionality that facilitates location services or can access computing devices that provide location services. For example, a control component on a vehicle may be configured to determine an approximated location of the vehicle utilizing external information sources, such as global positioning system (“CPS”) sources, Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and location information available.
This disclosure is described herein with reference to drawings of certain embodiments, which are intended to illustrate, but not to limit, the present disclosure. It is to be understood that the accompanying drawings, which are incorporated in and constitute a part of this specification, are for the purpose of illustrating concepts disclosed herein and may not be to scale.
Generally described, one or more aspects of the present disclosure relate to the configuration and management of data provided by vehicles to external sources. By way of illustrative example, aspects of the present application correspond to the management of data communications to provide vehicle data to one or more external sources based on geographic criteria. Illustratively, vehicle data can include but is not limited to, vehicle operational information, vehicle parameters, sensor configuration information, sensor values, environmental information, and the like. The geographic criteria are evaluated by one or more processing components within the vehicle (or associated with the vehicle) utilizing geographic location information determined by the vehicle. Accordingly, the vehicle, through the processing of geographic criteria, can determine the timing and extent of the transmission of vehicle data, such as within a defined geofence corresponding to a service provider.
In accordance with an illustrative embodiment, one or more aspects of the present disclosure relate to the configuration and accessibility of vehicle data communications provided to one or more external sources. The external sources can include a service technician or another third party. The vehicle can facilitate the verification of external sources. For example, the vehicle can be configured to verify whether the vehicle can transmit the vehicle data or whether the vehicle can allow external sources to access the vehicle data. The network service provider can facilitate an initial authentication of the external sources for access to vehicle data, provide access to the vehicle data for authenticated and authorized users, and manage the revocation of vehicle data access rights.
In some embodiments, the information provided by the components can include processed information in which a controller, logic unit, processor, and the like has processed sensor information and generated additional information, such as a vision system that can utilize inputs from one or more camera sensors and provide outputs corresponding to the identification of environmental conditions that promote the accumulation of objects/obstructions on the fascia (e.g., processing of raw camera image data and the generation of outputs corresponding to the processing of the raw camera image information). The camera sensor may be the sensor component that is associated with the heater element. In other embodiments, the camera sensors can be separate from the sensor components, such as for non-camera sensor components or vehicles having multiple camera sensors. In still another example, a control component can utilize additional information obtained from, or otherwise associated with, positioning systems, calendaring systems, or time-based systems. In still a further example, the historical information can be incorporated as a separate information source to the control component or be utilized to process at least some portion of the set of information sources, such as detected vehicle speed, external temperature measurements, and operational status of the windshield wiper, vision system (e.g., camera inputs), location systems (e.g., GPS systems), timing information, the operational status of the radar components, etc.
Generally, traditional approaches to data communication management between a vehicle and a third-party technician are defined according to the physical proximity between the vehicle and the technician. For example, a customer tenders a vehicle to a service center that provides the technician with physical access to the vehicle. In this regard, the granting of client authorization to a technician with regard to access to vehicle data or to provide data to the vehicle is inferred by the physical tender of the vehicle. This may result in a customer/client being required to provide physical access to the vehicle for longer periods of time as access to vehicle data does not occur until the physical tender of the vehicle. Additionally, typically a customer has no mechanism to define or otherwise limit the type of vehicle data that individual technicians or groups of technicians have access to or otherwise revoke access once the vehicle is tendered.
To address at least a portion of the above-identified inefficiencies, a network service provider can facilitate data communications between a vehicle and one or more external sources, such as third parties, generally referred to as technicians. The network service provider can authenticate the technicians in a manner that allows the technician to access vehicle data or interface with the vehicle via vehicle interfaces. Illustratively, the vehicle interfaces can correspond to a specific mode of operation, such as diagnostic mode or repair mode, that provides the technician with one or more interfaces. In other embodiments, the technician may still be to access at least some portion of the interfaces via other computing devices, such as laptops, tablets, mobile devices, etc., that may be in relative proximity to the vehicle (e.g., a short wireless connection).
The network service provider can also manage access to vehicle data for the technicians while preserving privacy information for the vehicle owners. More specifically, the network service provider can provide geographic criteria, such as geofencing information, to a vehicle. In turn, the vehicle can utilize local location services (e.g., a GPS component) to evaluate the geographic criteria for triggering vehicle data transfer to one or more third parties. In the context of services related to vehicle service, maintenance, etc., the vehicle can be configured to transmit vehicle data to a designated service center based on the vehicle's location, such as during transit to the designated service center, upon entry to the designated service, and the like. At the same time, the vehicle's location, path of travel and travel attributes (e.g., speed, etc.) is not necessarily provided to the designated service center.
In some embodiments, the vehicle may store the geofencing information according to the vehicle's location. For example, if the vehicle is located in an A city, geofencing information related to the A city, such as the geofencing information of one or more authorized vehicle service facilities located in the A city. In these embodiments, the geofencing information stored in the vehicle can be updated periodically. In some embodiments, when the vehicle moves to another geographical area, the geofencing information related to another geographical area can be automatically stored in the vehicle.
In some embodiments, the network service provider can implement an authenticating functionality to authenticate one or more external sources to provide authorization to the external sources. For example, the network service provider may authenticate a technician and provide authorized information to the vehicle. Illustratively, the network service provider may identify one or more attributes related to a technician, such as the technician's credentials. In this example, the network service provider may authenticate the technician by verifying the credential information and authorizing the technician to access to the vehicle data.
In some embodiments, a vehicle may include one or more electronic components positioned in or on a vehicle, where the electronic component is configured to communicate with the network service provider and the computing device. In some embodiments, the vehicle may include electronic components and storage to store the vehicle data. In these embodiments, any data generated from the vehicle can be stored in the storage. The data, for example, can include log data generated from sensors installed in the vehicle, any processed data related to the vehicle operation such as engine oil data, coolant temperature, mileage, oxygen, knocking information from various sensors, etc. The data can also include diagnosed data and automated driving, (e.g., self-driving) related data. In one embodiment, the data can be received from an external device.
Although the various aspects will be described in accordance with illustrative embodiments and a combination of features, one skilled in the relevant art will appreciate that the examples and combination of features are illustrative in nature and should not be construed as limiting. More specifically, aspects of the present application may be applicable to various types of vehicle data or vehicle processes. However, one skilled in the relevant art will appreciate that the aspects of the present application are not necessarily limited to application to any particular type of vehicle data, data communications or illustrative interaction between third parties, customers and a network service provider. Further, to facilitate the exchange of vehicle data and to provide for selected customization of data transmissions in an efficient manner, one or more aspects of the present application further correspond to illustrative data structure/organization in which vehicle information is transmitted in accordance with illustrative communication protocols. Such interactions should not be construed as limiting.
Network 150, as depicted in
In some embodiments, the network 150 can be secured network, such as a local area network that communicates securely via the Internet with the network service provider 120. The network 150 may include any wired network, wireless network, or combination thereof. For example, the network 150 may be a personal area network, local area network, wide area network, over-the-air broadcast network (e.g., for radio or television), cable network, satellite network, cellular telephone network, or combination thereof. As a further example, the network 150 may be a publicly accessible network of linked networks, possibly operated by various distinct parties, such as the Internet. In some embodiments, the network 150 may be a private or semi-private network, such as a corporate or university intranet. The network 150 may include one or more wireless networks, such as a Global System for Mobile Communications (GSM) network, a Code Division Multiple Access (CDMA) network, a Long Term Evolution (LTE) network, a 5G (5 generation wireless communication), or any other type of wireless network. The network 150 can use protocols and components for communicating via the Internet or any of the other aforementioned types of networks. For example, the protocols used by the network 150 may include Hypertext Transfer Protocol (HTTP), HTTP Secure (HTTPS), Message Queue Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), and the like. Protocols and components for communicating via the Internet or any of the other aforementioned types of communication networks are well known to those skilled in the art and, thus, are not described in more detail herein.
In some embodiments, the vehicles 110 and the computing devices 140 can be connected via a network 160. In these embodiments, the network 160 comprises any combination of wired and/or wireless networks, such as one or more direct communication channels, local area network, wide area network, personal area network, and/or the Internet, for example. In some embodiments, the communication between the vehicles 110 and the computing devices 140 may be performed via a short-range communication protocol, such as Bluetooth, Bluetooth low energy (“BLE”), and/or near field communications (“NFC”). In some embodiments, the network 160 can be utilized as a backup network of the network 150, For example, when a technician access one of the vehicles 110 via the network 150 and that the connection of the network 150 is disrupted or severed, the vehicles 110 and the computing devices 140 can communicate via the network 160.
In some embodiments, the networks 150, 160 may include some or all of the same communication protocols, services, hardware, etc. Thus, although the discussion herein may describe communication between the vehicles 110 and the computing devices 140 via the network 160 and communication between the vehicles 110, the network service provider 120, the third-party service providers 130, and the computing devices 140 can occur via the network 150, communications of the devices and/or the network bases services are not limited in this manner. The various communication protocols discussed herein are merely examples, and the present application is not limited thereto.
Illustratively, the set of vehicles 110 correspond to one or more vehicles configured with data storage for storing data generated from electrical components in the vehicle 110. The data, for example, can include log data generated from sensors installed in the vehicle, any processed data related to the vehicle operation such as engine oil data, coolant temperature, mileage, oxygen, knocking information from various sensors, etc. The data can also include diagnosed data, an automated driving (e.g., self-driving) related data. In one embodiment, the data can be received from an external device.
In some embodiments, the vehicles 110 include communication functionality, including hardware and software, that facilitate interaction via one of a plurality of communication mediums and communication protocols. More specifically, the vehicles include a plurality of sensors, components, and data stores for obtaining, generating and maintaining vehicle data, including operational data. In some embodiments, the information provided by the components can include processed information in which a controller, logic unit, processor, and the like has processed sensor information and generated additional information, such as a vision system that can utilize inputs from one or more camera sensors and provide outputs corresponding to the identification of environmental conditions (e.g., processing of raw camera image data and the generation of outputs corresponding to the processing of the raw camera image information). The camera sensor may be the sensor component that is associated with vision systems for determining vehicle operational status, environmental status or other information.
Illustratively, the network service provider 120 can include a vehicle data service 122 that can provide functionality responsive to data received from the vehicle or authenticating technicians as applied to aspects of the present application. The network service provider 120 can include one or more data stores 124 for storing vehicle diagnostic results associated with aspects of the present application. The vehicle data service 122 and data store 124 in
Illustratively, the computing device 140, as depicted in
The system 100 can further include one or more third party service providers 130 that can include any one of a number of services/entities that may be configured to either provide inputs to the network service provider 120 or receive processing results based on process data, such as vehicle data communication configuration information and/or the vehicle data management information. The third-party services 130 can also include entities that can utilize the vehicle data, such as a third party authorized vehicle service facility, a technician, a vehicle data administrator, a vehicle management authority, etc.
For purposes of illustration,
In one aspect, the local sensors 210 can include vision systems that provide inputs to the vehicle, such as detection of objects, attributes of detected objects (e.g., position, velocity, acceleration), presence of environment conditions (e.g., snow, rain, ice, fog, smoke, etc.), and the like. For example, the vehicle 110 may include a plurality of cameras, operational sensors 212, control components 214, and data 216. In this example, the operational sensors 212 may provide the vehicle operational parameters to processing component 220 in real time. The control components 214 may provide data related to controlling the vehicle, such as steering wheel direction, acceleration, braking, etc. The data 216 may provide any stored information related to the current vehicle operational environment, such that if the vehicle 110 is driving on a highway, the data 216 may provide driving information, including speed limit of the highway, number of traffic lines, etc. The types of data 216 are not limited in this disclosure, and the types of data can be any data that can be utilized in autonomous driving by utilizing the vision system. In some embodiments, vehicles 110 can rely on such vision systems for defined vehicle operational functions including capturing visual positioning information or positioning cues in accordance with aspects of the present application.
In yet another aspect, the local sensors 210 can include one or more positioning systems 218 that can obtain reference information from external sources that allow for various levels of accuracy in determining positioning information for a vehicle. For example, the positioning systems 218 can include various hardware and software components for processing information from GPS sources, Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and the like. In some embodiments, the positioning systems can obtain combinations of information from multiple sources. Illustratively, the positioning systems 218 can obtain information from various input sources and determine positioning information for a vehicle, specifically elevation at a current location. In other embodiments, the positioning systems can also determine travel-related operational parameters, such as the direction of travel, velocity, acceleration, and the like. The positioning system 218 may be configured as part of a vehicle for multiple purposes, including self-driving applications, enhanced driving or user-assisted navigation, and the like. Illustratively, the positioning systems can include processing components and data that facilitate the identification of various vehicle parameters or process information.
In still another aspect, the local sensors can include one or more navigations system 222 for identifying navigation related information. Illustratively, the navigation systems 222 can obtain positioning information from positioning systems 218 and identify characteristics or information about the identified location, such as elevation, road grade, etc. The navigation systems 218 can also identify suggested or intended lane locations in a multi-lane road based on directions that are being provided or anticipated for a vehicle user. Similar to the location systems 224, the navigation system may be configured as part of a vehicle for multiple purposes, including self-driving applications, enhanced driving or user-assisted navigation, and the like. The navigation systems 222 may be combined or integrated with positioning systems 218. Illustratively, the positioning systems 218 can include processing components and data that facilitate the identification of various vehicle parameters or process information.
The local resources further include one or more processing component(s) 220 that may be hosted on the vehicle or a computing device accessible by a vehicle (e.g., a mobile computing device). The processing component(s) 220 can illustratively access inputs from various local sensors or sensor systems and process the inputted data and store the processed data. For purposes of the present application, the processing component(s) 220 will be described with regard to one or more functions related to illustrative aspects. For example, processing component(s) in the vehicle 110 will verify authorized entities or individuals who can access the vehicle data and collect and transmit the data set corresponding to the request from the authorized entities and/or technicians. The processing component(s) 220 may communicate with other vehicle components and the authorized entities and/or technicians via com 226. For example, the com 226 may provide the verification information or vehicle data by utilizing vehicle communication buses or one or more vehicle interfaces configured to utilize the networks 150, 160.
The environment can further include various additional sensor components or sensing systems operable to provide information regarding various operational parameters for use in accordance with one or more of the operational states. The environment can further include one or more control components for processing outputs, such as the transmission of data through a communications output, the generation of data in memory, the transmission of outputs to other processing components, and the like.
With reference now to
The architecture of
The network interface 308 may provide connectivity to one or more networks or computing systems, such as the networks 150, 160 of
The memory 310 may include computer program instructions that the processing unit 302 executes in order to implement one or more embodiments. The memory 310 generally includes RAM, ROM, or other persistent or non-transitory memory. The memory 310 may store an operating system 314 that provides computer program instructions for use by the processing unit 302 in the general administration and operation of the processing component 220. The memory 310 may further include computer program instructions and other information for implementing aspects of the present disclosure.
The memory 310 may include a geofence data process component 316. The geofence data process component 316 can be configured to verify that the vehicle 110 is entered within the geofence region (e.g., geographic region), where third party service provides, such as authorized service centers, and/or technicians, can access the vehicle data. In some embodiments, the geofence data process component 316 receives geographic criteria from the vehicle data service 122. In some embodiments, the geofence data process component 316 automatically receives the geographic criteria, such as upon confirmation of a service appointment with the vehicle or detection of entering into a geofence region (e.g., geographic region). In some embodiments, the geofence data process component 316 may receive the geographic criteria from a plurality of third parties that are authorized by the vehicle data service 122.
Illustratively, the geographic criteria can be in the form computer-executable data, such as executable scripts, that at least a trigger based on geographic boundary information. The trigger can be based on a determination that a vehicle's location falls within the defined geographic boundary information (e.g., entering into a geofence) or a vehicle's location no longer falls within the defined geographic boundary information (e.g., leaving a geofence). The geographic criteria can illustratively include a specification of one or more specific vehicle data information or types of vehicle data that should be transmitted by on satisfaction of the triggering action. Still, further, the geographic criteria can further include additional or supplemental criteria that can define filtering criteria for the vehicle data, timing data for the transmission of the vehicle data, and the like. The geographic criteria can further incorporate or be supplemented with user profile information that may specify additional parameters related to the transmission of vehicle data, such as data formatting preferences, customization information, prohibited information, and the like.
In some embodiments, the geofence data process component 316 can access location information utilizing local location-based service components, such as the GPS components (positioning system 218 and/or location system 224) that are part of the vehicle or otherwise accessing location services, such as via a mobile device. In some embodiments, the geofence data process component 316 processes the geographic criteria to determine whether a current location matches one or more the geographic criteria. As discussed above, this can include a determination of whether the determined location falls within a geofence or no longer falls within a geofence. The matching of the geofencing information illustratively can be characterized as satisfying a triggering action.
In some embodiments, if the processed location information indicates a triggering action has occurred, the geofence data process component 316 can then select the vehicle data that will be transmitted to the third-party service providers and/or technicians. As described above, the geographic criteria can, in some embodiments, specify the particular data or data types that will be transmitted to the third party. For example, the selected data can correspond to the type of service to be provided, user preference, service provider preferences and the like. For example, the vehicle data can include software versioning information, diagnostic logs, sensor values, user information, language preferences, and the like.
In still further embodiments, the triggering actions can further include a request for information to be provided by the third-party service providers and/or technicians, such as software updates, specific codes or encryption keys utilized by the third party, and the like. Accordingly, the transmission of vehicle data in some embodiments can include transmission of data from the vehicle to the third-party service providers and/or technicians, transmission of data from the third party service providers to the vehicle, or a combination thereof.
In some embodiments, the geofence data process component 316 is configured to verify the vehicle's location within the geofence region. For example, when the GPS components (positioning system 218 and/or location system 224) indicates that the vehicle is within the geofence region, the geofence data process component 316 may further verify the accuracy of the location by utilizing Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and/or the like.
The memory 310 further includes the interface component 318. The interface component 318 can provide various interfaces to allow the authorized third service providers and/or technicians to access to the vehicle data, executable code, or configurations that facilitate diagnostics or repair. In some embodiments, access to the vehicle data or data communications is set up as a set of common interfaces that do not require custom computing devices or hardware for the technicians. In one embodiment, the interfaces can correspond to vehicle network information that provides access to the values/status of sensors or components or data collected from the sensors/components of the vehicles. In some embodiments, the sensors can include hardware and software components that can obtain, generate or process a variety of operational or environmental information sources that are configured in the vehicle for various purposes. In some embodiments, the sensors can provide raw, collected data to the control component as well as other controls for different functionality. By way of illustration, the information provided to control components by the sensors, controller components, or other processing units can be associated with the operation of the vehicle, such as detected vehicle speed, external temperature measurements, and operational status of the windshield wiper, vision system (e.g., camera inputs), location systems (e.g., GPS systems), timing information, operational status of the components, etc.
The memory 310 can further include an authentication component 320. In some embodiments, the authentication component 320 requests the third-party service providers and/or technicians' authorized information. In these embodiments, the authentication component 320 may provide the third-party service providers and/or technician's authentication information via the network 150. In some embodiments, the third-party service providers and/or technician will have authentication credentials provided to the network service provider and, in turn, can receive a token or other semi-persistent information indicating authentication of the technician to access the vehicle 110. In these embodiments, the third-party service providers and/or technician may provide the authenticated token or other semi-persistent information to the authentication component via the networks 150 or 160. After receiving the technician's authorized information, the authentication component 320 may provide the third-party service providers and/or technician access to the vehicle data.
With reference now to
The architecture of
The network interface 348 may provide connectivity to one or more networks or computing systems, such as the networks 150, 160 of
The memory 350 may include computer program instructions that the processing unit 342 executes in order to implement one or more embodiments. The memory 350 generally includes RAM, ROM, or other persistent or non-transitory memory. The memory 350 may store an operating system 352 that provides computer program instructions for use by the processing unit 342 in the general administration and operation of the vehicle data service 122.
The memory 350 may further include a geofence component 354. The geofence component 354 may include the geographic criteria that can determine whether the vehicle is entered within the geofence region, where the vehicle is configured to provide at least part of the vehicle data to the authorized third-party service providers and/or technicians. For example, the geofence component 354 automatically transmits the geographic criteria, such as upon confirmation of a service appointment with the vehicle or detection of entering into a geofence region (e.g., geographic region). In some embodiments, the geographic criteria can be in the form computer-executable data, such as executable scripts, that at least a trigger based on geographic boundary information. The trigger can be based on a determination that a vehicle's location falls within the defined geographic boundary information (e.g., entering into a defined geofence) or a vehicle's location no longer falls within the defined geographic boundary information (e.g., leaving a geofence). The geographic criteria can illustratively include a specification of one or more specific vehicle data information or types of vehicle data that should be transmitted by on satisfaction of the triggering action. Still, further, the geographic criteria can further include additional or supplemental criteria that can define filtering criteria for the vehicle data, timing data for the transmission of the vehicle data, and the like. The geographic criteria can further incorporate or be supplemented with user profile information that may specify additional parameters related to the transmission of vehicle data, such as data formatting preferences, customization information, prohibited information, and the like. The geographic criteria can be periodically updated.
The memory 350 may further include a user authentication component 356 for authenticating the user. The user can be authorized technicians and/or one or more technicians in the authorized third-party service providers. In some embodiments, the user authentication component 356 may include lists of authorized technicians and/or technicians in the authorized third-party service providers associated with one or more geofence regions. For example, all of the technicians in the third-party service provider A are associated with the geofence region of the third-party service provider A. In this example, when a vehicle enters into the geofence region of the third-party service provider A, the authorized technicians associated with the third-party service provider A are authorized to access the vehicle data. In some embodiments, the user authentication component 356 provides one or more criteria to authorize the technicians and terminate the authentication of the technicians. For example, the criteria can be based on the physical location of the technicians. In this example, when a vehicle enters into the geofence area associated with the third-party service provider A, only technicians located in a specific area, such as the service facility of the third-party service provider A can have access to the vehicle data. In another example, when technicians in the third-party service provider A leaves the third-party service provider A facility, the technicians' authentication is terminated. The criteria can be further based on types of services, such that only technicians who are specialized in the requested services from the vehicle owner (e.g., user) can be authenticated. These criteria are provided merely for exemplify purposes, and the present disclosure does not limit the types or numbers of the criteria.
In some embodiments, the user authentication component 356 authenticates the third-party service providers and/or technicians' authentication information (e.g., credential information). In these embodiments, the user authentication component 356 receives the third-party service providers and/or technicians' authorized information, such as tokens, to ensure that the authentication rights permit access to the requested vehicle and vehicle data access type. For example, the user authentication component 356 can verify that the technician has a valid subscription and that the subscription/qualifications of the technician. For example, the user authentication component 356 can verify that the requesting technician has sufficient credentials to provide the requested service to the vehicle. In another example, the user authentication component 356 can also determine whether the requested service/access by the technician corresponds to a type of service that should be performed on the vehicle and whether the requested service is not duplicative or redundant. In still a further example, the user authentication component 356 can also determine whether the requested service is characteristic of a pattern of behavior for the identified technician (e.g., service associated with different vehicles) that can be characterized as appropriate, potentially harmful, requiring verification from the customer or the like. The user authentication component 356 can also verify aspects of the requested vehicle, the devices utilized by the technician, the like.
In some embodiments, the user authentication component 356 transmits a notification or command to the vehicle 110, indicating that data access communications have been approved. The user authentication component 356 can also provide notification or credentials to the technician that allow access to the vehicle data. The notifications may be provided via various communication channels, including email, short message service, mobile application, in-vehicle, and the like. In some embodiments, the data access authorizations may also be associated with additional authorization parameters including, but not limited to, duration of access, types of data accessed, revoking criteria (e.g., criteria that will result in an automatic revoking of rights), customer notification parameters, and the like. In some embodiments, the geofence component 354 can be configured with a customer profile that may specify default values for the authorization parameters. In other examples, the customer may be prompted to provide additional data access parameters.
With reference now to
At (1), the network service transmits geographic criteria to the vehicle. Illustratively, the network service can transmit the geographic criteria to the vehicle based on a request from a user associated with the vehicle, such as placing a service request with a third party or transmitting the request directly to the network service. In other embodiments, the third-party service may prompt the network service to transmit geographic criteria to the vehicle, such as upon confirmation of a service appointment with the vehicle. In other embodiments, the network service provider can transmit geographic criteria for a plurality of third parties independent of a request or scheduled service. Additionally, a vehicle may be provided geographic criteria, such as upon detection of entering into a geographic region (e.g., city limits or regional limits).
Illustratively, the geographic criteria can be in the form computer-executable data, such as executable scripts, that at least a trigger based on geographic boundary information. The trigger can be based on a determination that a vehicle's location falls within the defined geographic boundary information (e.g., entering into a geofence) or a vehicle's location no longer falls within the defined geographic boundary information (e.g., leaving a geofence). The geographic criteria can illustratively include a specification of one or more specific vehicle data information or types of vehicle data that should be transmitted by the satisfaction of the triggering action. Still, further, the geographic criteria can further include additional or supplemental criteria that can define filtering criteria for the vehicle data, timing data for the transmission of the vehicle data, and the like. For example, the additional or supplemental criteria can include information that temporarily suspends the transmission of data or otherwise keeps the vehicle in a present state if the vehicle temporarily leaves the geofence (e.g., a test drive). The geographic criteria can further incorporate or be supplemented with user profile information that may specify additional parameters related to vehicle data transmissions, such as data formatting preferences, customization information, prohibited information, and the like.
At (2), the vehicle can obtain the vehicle location information by accessing location information utilizing local location-based service components, such as GPS components that are part of the vehicle, or otherwise accessing location services, such as via a mobile device (e.g., positioning system 218 and/or location system 224). At (3), the vehicle verifies the vehicle location information to the geographic criteria. For example, a processing component 220 within the vehicle may process the geographic criteria to determine whether a current location matches one or more geographic criteria. As discussed above, this can include a determination of whether the determined location falls within a geofence or no longer falls within a geofence. Illustratively matching the geofencing information can be characterized as satisfying a triggering action. In some embodiments, the vehicle may verify the vehicle's location within the geofence region. For example, when the GPS components (positioning system 218 and/or location system 224) indicate that the vehicle is within the geofence region, the geofence data process component 316 may further verify the accuracy of the location by utilizing Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and/or the like.
At (4), if the processed location information indicates a triggering action has occurred, the vehicle 110 can then select the vehicle data that will be transmitted to the third party service. As described above, the geographic criteria can, in some embodiments, specify the particular data or data types that will be transmitted to the third party. For example, the selected data can correspond to the type of service to be provided, user preference, service provider preferences, and the like. For example, the vehicle data can include software versioning information, diagnostic logs, sensor values, user information, language preferences, and the like.
In still further embodiments, the triggering actions can further include a request for information to be provided by the third party, such as software updates, specific codes or encryption keys utilized by the third party, and the like. Accordingly, the transmission of vehicle data in some embodiments can include the transmission of data from the vehicle to the third party, the transmission of data from the third party to the vehicle, or a combination thereof.
At (5), the vehicle 110 and third party service providers exchange the selected data. The transmission of data may be selected according to any number of communication methods and protocols. For example, the vehicle establishes a communication channel via short range wireless frequency transmissions based on geographic criteria proximate to a designated service provider. In other embodiments, the vehicle can encrypt, compression or otherwise process the transmissions between the service provider and the vehicle.
In some embodiments, the vehicle 110 exchanges the vehicle data with authorized third-party service providers. In these embodiments, the vehicle data service 122 may include lists of authorized technicians and/or technicians in the authorized third-party service providers associated with one or more geofence regions. For example, all of the technicians in the third-party service provider A are associated with the geofence region of the third-party service provider A. In this example, when a vehicle enters into the geofence region of the third-party service provider A, the authorized technicians associated with the third party service provider A are authorized to access the vehicle data. In some embodiments, the vehicle data service 122 provides one or more criteria to authorize the technicians and terminate the authentication of the technicians. For example, the criteria can be based on the physical location of the technicians. In this example, when a vehicle enters into the geofence area associated with the third-party service provider A, only technicians located in a specific area, such as the service facility of the third party service provider A can have access to the vehicle data. In another example, when technicians in the third party service provider A leave the third party service provider A's facility (e.g., leaves a geofence region associated with the third party service provider A's facility), the technicians' authentication is terminated. The criteria can be further based on types of services, such that only technicians who are specialized in the requested services from the vehicle owner (e.g., user) can be authenticated. These criteria are provided merely for exemplify purposes, and the present disclosure does not limit the types or numbers of the criteria.
In some embodiments, the network 160 can be utilized as a backup network for the network 150. For example, when a technician accesses one of the vehicles 110 via the network 150 and that the connection of the network 150 is disrupted or severed, the vehicles 110 and computing devices 140 can communicate via the network 160.
With reference now to
At (1), the network service transmits geographic criteria to the vehicle. Illustratively, the network service can transmit the geographic criteria to the vehicle based on a request from a user associated with the vehicle, such as placing a service request with a third party or transmitting the request directly to the network service. In other embodiments, the third party service may prompt the network service to transmit geographic criteria to the vehicle, such as upon confirmation of a service appointment with the vehicle. In other embodiments, the network service provider can transmit geographic criteria for a plurality of third parties independent of a request or scheduled service. Additionally, a vehicle may be provided geographic criteria, such as upon detection of entering into a geographic region (e.g., city limits or regional limits).
Illustratively, the geographic criteria can be in the form computer-executable data, such as executable scripts, that at least a trigger based on geographic boundary information. The trigger can be based on a determination that a vehicle's location falls within the defined geographic boundary information (e.g., entering into a geofence) or a vehicle's location no longer falls within the defined geographic boundary information (e.g., leaving a geofence). The geographic criteria can illustratively include a specification of one or more specific vehicle data information or types of vehicle data that should be transmitted by on satisfaction of the triggering action. Still, the geographic criteria can include additional or supplemental criteria that can define filtering criteria for the vehicle data, timing data for the transmission of the vehicle data, and the like. The geographic criteria can further incorporate or be supplemented with user profile information that may specify additional parameters related to vehicle data transmission, such as data formatting preferences, customization information, prohibited information, and the like.
At (2), the vehicle can obtain the vehicle location information by accessing location information utilizing local location based service components, such as GPS components that are part of the vehicle or otherwise accessing location services, such as via a mobile device (e.g., positioning system 218 and/or location system 224). At (3), the vehicle verifies the vehicle location information to the geographic criteria. For example, a processing component 220 within the vehicle may process the geographic criteria to determine whether a current location matches one or more geographic criteria. As discussed above, this can include a determination of whether the determined location falls within a geofence or no longer falls within a geofence. Illustratively matching the geofencing information can be characterized as satisfying a triggering action In some embodiments, the vehicle may verify the vehicle's location within the geofence region. For example, when the GPS components (positioning system 218 and/or location system 224) indicate that the vehicle is within the geofence region, the geofence data process component 316 may further verify the accuracy of the location by utilizing Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and/or the like. At (4), the vehicle 110 may transmit the verification of the vehicle location information to the vehicle data service 122.
At (5), the third party service providers 130 and/or technicians may request authentication of the third party service providers 130 and/or computing devices 140 (e.g., technician's device to access the vehicle data) to access to the vehicle. Illustratively, a technician and/or a third party service provider will have authentication credentials that are provided to the network service provider and, in turn, can receive a token or other semi-persistent information indicating the technician's authentication to access the vehicle 110. In one example, an authenticated third party service providers 130 and/or computing device 140 does not have access rights to any individual vehicle until the authenticated third party service providers 130 and/or technician (by utilizing the computing device 140) is authorized, as illustrated below. To request authorization, the third party service providers 130 and/or technician (by utilizing the computing device 140) submit an access request from the network service, providing specified information. By way of illustration, in one embodiment, the technician can submit vehicle identifier information, such as VIN, customer contact information or identifiers, such as customer email address, telephones, etc., and other security or access information. Additionally, the technician can also provide additional information regarding access, such as reasons for access, time of access, the extent of access, and the like. The transmission of the request can be facilitated through an API or other interface. In some embodiments, the access request can be pre-populated with profile information that defines default information, such as access duration or specified limitations to data access rights (e.g., vehicle logs pertaining to specific components or excluding other components).
At (6), the vehicle data service 122 receives the request and validates that third party service providers 130 and/or technicians (by utilizing the computing device 140) token to ensure that the authentication rights permit access to the requested vehicle and vehicle data access type. For example, the vehicle data service 122 can verify that the third party service providers 130 and/or technician (by utilizing the computing device 140) have a valid subscription and that the subscription/qualifications of the technicians. For example, the vehicle data service 122 can verify that the requesting technician has sufficient credentials to can also determine whether the requested service/access by the technician corresponds to a type of service that should be performed on the vehicle and whether the requested service is not duplicative or redundant. In still a further example, the vehicle data service 122 can also determine whether the requested service is characteristic of a pattern of behavior for the identified technician (e.g., service associated with different vehicles) that can be characterized as appropriate, potentially harmful, requiring verification from the customer or the like. The vehicle data service 122 can also verify aspects of the requested vehicle, the devices utilized by the technician, and the like.
At (7), the vehicle data service 122 can transmit a notification or command to the vehicle indicating that data access communications have been approved. The vehicle data service 122 can also provide notification or credentials to the third party service providers 130 and/or technician (by utilizing the computing device 140) that allow access to the vehicle data. The notifications may be provided via various communication channels, including email, short message service, mobile application, in-vehicle, and the like. In some embodiments, the data access authorizations may also be associated with additional authorization parameters including, but not limited to, duration of access, types of data accessed, revoking criteria (e.g., criteria that will result in an automatic revoking of rights), Customer notification parameters, and the like. In some embodiments, the vehicle data service 122 can be configured with a customer profile that may specify default values for the authorization parameters. In other examples, the customer may be prompted to provide additional data access parameters.
At (8), once the vehicle and third party service providers 130 and/or technician (by utilizing the computing device 140) receive a notification that the customer has approved, the vehicle 110 and the third party service providers 130 and/or technician can exchange the vehicle data. The vehicle data may be selected according to any number of communication methods and protocols. For example, the vehicle establishes a communication channel via short range wireless frequency transmissions based on geographic criteria proximate to a designated service provider. In other embodiments, the vehicle can encrypt, compress or otherwise process the transmissions between the service provider and the vehicle.
As described previously, vehicle data or communications access is set up as a set of common interfaces that do not require custom computing devices or hardware for the technicians. In one aspect, the interfaces can correspond to vehicle network information that provides access to the values/status of sensors or components or data collected from the sensors/components of the vehicles. As described above, the sensors can include hardware and software components that can obtain, generate or process a variety of operational or environment information sources that are configured in the vehicle for various purposes. In some embodiments, the sensors can provide raw, collected data to the control component as well as other controls for different functionality. By way of illustration, the information provided to control components by the sensors, controller components, or other processing units can be associated with the operation of the vehicle, such as detected vehicle speed, external temperature measurements, and operational status of the windshield wiper, vision system (e.g., camera inputs), location systems (e.g., GPS systems), timing information, the operational status of the components, etc. In some embodiments, the authenticated third party service providers 130 and/or technician (by utilizing the computing device 140) may perform the vehicle diagnostic by accessing the vehicle data, and the vehicle diagnostic result can be stored in the data store 124.
In some embodiments, the network 160 can be utilized as a backup network of the network 150. For example., when a technician accesses one of the vehicles 110 via the network 150 and the connection the network 150 is disrupted or severed, the vehicle 110 and the computing devices 140 can communicate via the network 160.
Turning now to
At block 502, the vehicle receives geographic criteria transmitted from the network service provider. Illustratively, the network service can transmit the geographic criteria to the vehicle based on a request from a user associated with the vehicle, such as placing a service request with a third party or transmitting the request directly to the network service. In other embodiments, the third party service may prompt the network service to transmit geographic criteria to the vehicle, such as upon confirmation of a service appointment with the vehicle. In other embodiments, the network service provider can transmit geographic criteria for a plurality of third parties independent of a request or scheduled service. Additionally, a vehicle may be provided geographic criteria such as upon detection of entering into a geographic region (e.g., city limits or regional limits).
Illustratively, the geographic criteria can be in the form computer-executable data, such as executable scripts, that at least a trigger based on geographic boundary information. The trigger can be based on a determination that a vehicle's location falls within the defined geographic boundary information (e.g., entering into a geofence) or a vehicle's location no longer falls within the defined geographic boundary information (e.g., leaving a geofence). The geographic criteria can illustratively include a specification of one or more specific vehicle data information or types of vehicle data that should be transmitted by on satisfaction of the triggering action. Still, the geographic criteria can include additional or supplemental criteria that can define filtering criteria for the vehicle data, timing data for the transmission of the vehicle data, and the like. The geographic criteria can further incorporate or be supplemented with user profile information that may specify additional parameters related to vehicle data transmissions, such as data formatting preferences, customization information, prohibited information, and the like.
At block 504, the vehicle can determine the vehicle location information by accessing location information utilizing local location based service components, such as GPS components that are part of the vehicle, or otherwise accessing, location services, such as via a mobile device (e.g., positioning system 218 and/or location system 224),
At block 506, the vehicle verifies the vehicle location information to the geographic criteria. For example, a processing component 220 within the vehicle may process the geographic criteria to determine whether a current location matches one or more the geographic criteria. As discussed above, this can include a determination of whether the determined location falls within a geofence or no longer falls within a geofence. The matching of the geofencing information illustratively can be characterized as satisfying a triggering action. In some embodiments, the vehicle may verify the vehicle's location within the geofence region. For example, when the GPS components (positioning system 218 and/or location system 224) indicate that the vehicle is within the geofence region, the geofence data process component 316 may further verify the accuracy of the location by utilizing Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and/or the like. If the vehicle verifies that the vehicle is located within the geofence region by processing the geographic criteria, the routing can move to the block 508. If the vehicle does not verify that the vehicle is located within the geofence region by processing the geographic criteria, the routing can move to the block 502.
At block 508, if the processed location information indicates a triggering action has occurred, the vehicle 110 can then select the vehicle data that will be transmitted to the third party service. As described above, the geographic criteria can, in some embodiments, specify the particular data or data types that will be transmitted to the third party. For example, the selected data can correspond to the service type, user preference, service provider preferences and the like. For example, the vehicle data can include software versioning information, diagnostic logs, sensor values, user information, language preferences, and the like.
In still further embodiments, the triggering actions can further include a request for information to be provided by the third party, such as software updates, specific codes or encryption keys utilized by the third party, and the like. Accordingly, the transmission of vehicle data in some embodiments can include transmission of data from the vehicle to the third party, the transmission of data from the third party to the vehicle, or a combination thereof.
At block 510, the vehicle 110 and third party service provider exchange the selected data. The transmission of data may be selected according to any number of communication methods and protocols. For example, the vehicle establishes a communication channel via short range wireless frequency transmissions based on geographic criteria proximate to a designated service provider. In other embodiments, the vehicle can encrypt, compress, or otherwise process the transmissions between the service provider and the vehicle.
In some embodiments, the vehicle 110 exchanges the vehicle data with authorized third party service providers. In these embodiments, the vehicle data service 122 may include lists of authorized technicians and/or technicians in the authorized third party service providers associated with one or more geofence regions. For example, all of technicians in the third party service provider A are associated with the geofence region of the third party service provider A. In this example, when a vehicle enters the geofence region of the third party service provider A, the authorized technicians associated with the third party service provider A are authorized to access the vehicle data. In some embodiments, the vehicle data service 122 provides one or more criteria to authorize the technicians and terminate the authentication of the technicians. For example, the criteria can be based on the physical location of the technicians. In this example, when a vehicle enters into the geofence area associated with the third party service provider A, only technicians located in a specific area, such as the service facility of the third party service provider A can have access to the vehicle data. In another example, when technicians in the third party service provider A leave the third party service provider A facility (e.g., leave the geofence region associated with third party service provider A's facility), the technicians' authentication is terminated. The criteria can be further based on types of services, such that only technicians who are specialized in the requested services from the vehicle owner (e.g., user) can be authenticated. These criteria are provided merely for exemplify purposes, and the present disclosure does not limit the types or numbers of the criteria.
In some embodiments, the network 160 can be utilized as a backup network of the network 150. For example, when a technician accesses one of the vehicles 110 via the network 150 and that the connection of the network 150 is disrupted or severed, the vehicles 110 and the computing devices 140 can communicate via the network 160.
After ending the block 510, The routine 500 can be configured to be an automated routine by returning to the block 502. Illustratively, the third party service provider can be configured to automate the processing of transmitted vehicle data or to implement a defined workflow related to transmitted vehicle data. This can include generating interfaces on output devices in the designated service center (e.g., welcoming a user), interfacing with scheduling and ordering systems, generating notifications, generating documents, and the like.
Turning now to
At block 602, the third party service providers 130 and/or technicians may request authentication of the third party service providers 130 and/or computing devices 140 (e.g., technician's device to access to the vehicle data) to access the vehicle. Illustratively, a technician and/or a third party service provider will have authentication credentials that are provided to the network service provider and, in turn, can receive a token or other semi-persistent information that indicates authentication of the technician to access the vehicle 110. In one example, an authenticated third party service providers 130 and/or computing devices 140 does not have access rights to any individual vehicle until the authenticated third party service providers 130 and/or technician (by utilizing the computing device 140) is authorized, as illustrated below. To request authorization, the third party service providers 130 and/or technician (by utilizing the computing device 140) submit an access request from the network service, providing specified information. By way of illustration, in one embodiment, the technician can submit vehicle identifier information, such as VIN., customer contact information or identifiers, such as customer email address, telephones, etc., and other security or access information. Additionally, the technician can also provide additional information regarding access, such as reasons for access, time of access, the extent of access, and the like. The transmission of the request can be facilitated through an API or other interface. In some embodiments, the access request can be pre-populated with profile information that defines default information, such as access duration or specified limitations to data access rights (e.g., vehicle logs pertaining to specific components or excluding other components).
At block 604, the vehicle data service 122 receives the request and validates that third party service providers 130 and/or technicians (by utilizing the computing device 140) token to ensure that the authentication rights permit access to the requested vehicle and vehicle data access type. For example, the vehicle data service 122 can verify that the third party service providers 130 and/or technician (by utilizing the computing device 140) have a valid subscription and that the subscription/qualifications of the technicians. For example, the vehicle data service 122 can verify that the requesting technician has sufficient credentials to provide the requested service to the vehicle. In another example, the vehicle data service 122 can also determine whether the requested service/access by the technician corresponds to a type of service that should be performed on the vehicle and whether the requested service is not duplicative or redundant. In still a further example, the vehicle data service 122 can also determine whether the requested service is characteristic of a pattern of behavior for the identified technician (e.g., service associated with different vehicles) that can be characterized as appropriate, potentially harmful, requiring verification from the customer or the like. The vehicle data service 122 can also verify aspects of the requested vehicle, the devices utilized by the technician, and the like. At block 606, if the third party service providers 130 and/or technicians' authentication information is verified, the vehicle data service 122 may transmit the authenticated results to the vehicle at block 610. If the third party service providers 130 and/or technicians' authentication information is not verified, the vehicle data service 122 may request the third party service providers 130 and/or technicians' authentication information at block 608.
At block 610, the vehicle data service 122 can transmit a notification or command to the vehicle indicating that data access communications have been approved. The vehicle data service 122 can also provide notification or credentials to the third party service providers 130 and/or technician (by utilizing the computing device 140) that allow access to the vehicle data. The notifications may be provided via various communication channels, including email, short message service, mobile application, in-vehicle, and the like. In some embodiments, the data access authorizations may also be associated with additional authorization parameters including, but not limited to, duration of access, types of data accessed, revoking criteria (e.g., criteria that will result in an automatic revoking of rights), Customer notification parameters, and the like. In some embodiments, the vehicle data service 122 can be configured with a customer profile that may specify default values for the authorization parameters. In other examples, the customer may be prompted to provide additional data access parameters.
At block 612, once the vehicle and third party service providers 130 and/or technician (by utilizing the computing device 140) receive a notification that the customer has approved, the vehicle 110 and the third party service providers 130 and/or technician can exchange the vehicle data. The vehicle data may be selected according to any number of communication methods and protocols. For example, the vehicle establish a communication channel via short range wireless frequency transmissions based on geographic criteria proximate to a designated third party service provider. In other embodiments, the vehicle can encrypt, compression or otherwise process the transmissions between the service provider and the vehicle. At block 614, routine 600 can be ended.
Various embodiments of the present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or mediums) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
For example, the functionality described herein may be performed as software instructions are executed by, and/or in response to software instructions being executed by, one or more hardware processors and/or any other suitable computing devices. The software instructions and/or other executable code may be read from a computer readable storage medium (or mediums).
The computer readable storage medium can be a tangible device that can retain and store data and/or instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device (including any volatile and/or non-volatile electronic storage devices), a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a solid state drive, a random access memory (RAMI), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions (as also referred to herein as, for example, “code,” “instructions,” “module,” “application,” “software application,” and/or the like) for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. Computer readable program instructions may be callable from other instructions or from itself, and/or may be invoked in response to detected actions or interrupts. Computer readable program instructions configured for execution on computing devices may be provided on a computer readable storage medium, and/or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution) that may then be stored on a computer readable storage medium, Such computer readable program instructions may be stored, partially or fully, on a memory device (e.g., a computer readable storage medium) of the executing computing device, for execution by the computing device. The computer readable program instructions may execute entirely on a user's computer (e.g., the executing computing device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart(s) and/or block diagram(s) block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks. For example, the instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer. The remote computer may load the instructions and/or modules into its dynamic memory and send the instructions over a telephone, cable, or optical line using a modem. A modem local to a server computing system may receive the data on the telephone/cable/optical line and use a converter device including the appropriate circuitry to place the data on a bus. The bus may carry the data to a memory, from which a processor may retrieve and execute the instructions. The instructions received by the memory may optionally be stored on a storage device (e.g., a solid-state drive) either before or after execution by the computer processor.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. In addition, certain blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate.
It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions. For example, any of the processes, methods, algorithms, elements, blocks, applications, or other functionality (or portions of functionality) described in the preceding sections may be embodied in, and/or fully or partially automated via, electronic hardware such application-specific processors (e.g., application-specific integrated circuits (ASICs)), programmable processors (e.g., field programmable gate arrays (FPGAs)), application-specific circuitry, and/or the like (any of which may also combine custom hard-wired logic, logic circuits, ASICs, FPGAs, etc. with custom programming/execution of software instructions to accomplish the techniques).
Any of the above-mentioned processors, and/or devices incorporating any of the above-mentioned processors, may be referred to herein as, for example, “computers,” “computer devices,” “computing devices,” “hardware computing devices,” “hardware processors, processing units,” and/or the like. Computing devices of the above-embodiments may generally (but not necessarily) be controlled and/or coordinated by operating system software, such as Mac OS, iOS, Android, Chrome OS, Windows OS (e.g., Windows NP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server, etc.), Windows CE, Unix, Linux, SunOS, Solaris, Blackberry OS, VxWorks, or other suitable operating systems. In other embodiments, the computing devices may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface functionality, such as a graphical user interface (“GUI”), among other things.
As described above, in various embodiments certain functionality may be accessible by a user through a web-based viewer (such as a web browser), or other suitable software program. In such implementations, the user interface may be generated by a server computing system and transmitted to a web browser of the user (e.g., running on the user's computing system). Alternatively, data (e.g., user interface data) necessary for generating the user interface may be provided by the server computing system to the browser, where the user interface may be generated (e.g., the user interface data may be executed by a browser accessing a web service and may be configured to render the user interfaces based on the user interface data). The user may then interact with the user interface through the web-browser. User interfaces of certain implementations may be accessible through one or more dedicated software applications. In certain embodiments, one or more of the computing devices and/or systems of the disclosure may include mobile computing devices, and user interfaces may be accessible through such mobile computing devices (for example, smartphones and/or tablets).
Many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure. The foregoing description details certain embodiments. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the systems and methods can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the systems and methods should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the systems and methods with which that terminology is associated.
Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments may not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
Conjunctive language such as the phrase “at least one of X, Y, and Z,” or “at least one of X, Y, or Z,” unless specifically stated otherwise, is to be understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof. For example, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y, and at least one of Z to each be present.
The term “a” as used herein should be given an inclusive rather than exclusive interpretation. For example, unless specifically noted, the term “a” should not be understood to mean “exactly one” or “one and only one”; instead, the term “a” means “one or more” or “at least one,” whether used in the claims or elsewhere in the specification and regardless of uses of quantifiers such as “at least one,” “one or more,” or “a plurality” elsewhere in the claims or specification.
The term “comprising” as used herein should be given an inclusive rather than exclusive interpretation. For example, a general purpose computer comprising one or more processors should not be interpreted as excluding other computer components, and may possibly include such components as memory, input/output devices, and/or network interfaces, among others.
While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it may be understood that various omissions, substitutions, and changes in the form and details of the devices or processes illustrated may be made without departing from the spirit of the disclosure. As may be recognized, certain embodiments of the inventions described herein may be embodied within a form that does not provide all of the features and benefits set forth herein, as some features may be used or practiced separately from others. The scope of certain inventions disclosed herein is indicated the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
This application is a non-provisional of and claims priority to U.S. Provisional Patent Application No. 63/262,862, entitled “TRIGGERING ACTIONS BASED GEOGRAPHIC INFORMATION,” filed on Oct. 21, 2021, which is hereby incorporated by reference in its entirety and for all purposes.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/047270 | 10/20/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63262862 | Oct 2021 | US |