The present disclosure relates to exterior camera services for a vehicle-sharing fleet.
This section provides background information related to the present disclosure and is not necessarily prior art.
Vehicle-sharing fleet managers may have a variety of vehicles that are available to rent for a predefined period of time, such as an hour, using a vehicle-sharing application. Similarly, ride-hailing and ride-sharing fleet managers may have a variety of vehicles that enable users to request a vehicle in order to travel to a specified destination. However, these vehicles lack sufficient and effective exterior camera services.
This section provides a general summary of the disclosure, and this section is not a comprehensive disclosure of its full scope or all of its features.
A method is disclosed and includes obtaining, using a processor configured to execute instructions stored in a nontransitory computer-readable medium, sensor data from at least one sensor of a subject vehicle. The method also includes determining, using the processor, whether the sensor data indicates one of (i) a first vehicle has contacted the subject vehicle and (ii) the first vehicle is located within a threshold distance of the subject vehicle. The method also includes selectively activating, using the processor and in response to one of (i) the first vehicle contacting the subject vehicle and (ii) the first vehicle being located within the threshold distance, at least one camera of the subject vehicle. The method also includes obtaining, using the processor, image data of the first vehicle from the at least one camera. The method also includes transmitting, using the processor, the image data to a remote computing system.
In some embodiments, the sensor is a global navigation satellite system sensor; and the sensor data represents a location of the subject vehicle.
In some embodiments, determining whether the sensor data indicates that the first vehicle is within a threshold distance of the subject vehicle further comprises: retrieving, using the processor, location data associated with the first vehicle from the remote computing system; determining, using the processor, a distance between the subject vehicle and the first vehicle based on the location of the subject vehicle and the location data associated with the first vehicle; and determining, using the processor, whether the first vehicle is located within the threshold distance of the subject vehicle based on the distance.
In some embodiments, selectively activating the at least one camera of the subject vehicle further comprises: retrieving, using the processor, trajectory data associated with the first vehicle from the remote computing system; identifying, using the processor, a set of the at least one camera based on the location of the first vehicle and the trajectory data; and activating, using the processor, the set of the at least one camera.
In some embodiments, the sensor is an impact sensor; and the sensor data represents an applied force to the subject vehicle.
In some embodiments, selectively activating the at least one camera of the subject vehicle further comprises: determining, using the processor, a contact location of the subject vehicle based on the sensor data; determining, using the processor, a location of the first vehicle based on the contact location; identifying, using the processor, a set of the at least one camera based on the location of the first vehicle; and activating, using the processor, the set of the at least one camera.
In some embodiments, the method further comprises generating, using the remote computing system, a cleanliness score of the first vehicle based on the image data; and generating, using the remote computing system and in response to the cleanliness score being greater than a threshold value, an alert that is configured to indicate that the first vehicle needs to be cleaned.
In some embodiments, the method further comprises determining, using the processor, whether the image data corresponds to image information of a vehicle-sharing account associated with the subject vehicle; and identifying, using the processor and in response to (i) the image data not corresponding to the image information of the vehicle-sharing account and (ii) a vehicle state of the subject vehicle being associated with a first condition, the subject vehicle as stolen.
In some embodiments, the method further comprises obtaining, using the processor, a location of a user; selectively activating, using the processor and in response to the user being located within a second threshold distance of the subject vehicle, at least one camera of the subject vehicle; obtaining, using the processor, image data associated with an exterior of the vehicle from the at least one camera; and activating, using the processor and in response to the image data indicating that the user is approaching the subject vehicle, an engine of the subject vehicle.
In some embodiments, the at least one camera is located on an exterior of the subject vehicle.
A system is also disclosed and includes a processor configured to execute instructions stored in a nontransitory computer-readable medium. The instructions include obtaining sensor data from at least one sensor of a subject vehicle. The instructions also include determining whether the sensor data indicates one of (i) a first vehicle has contacted the subject vehicle and (ii) the first vehicle is located within a threshold distance of the subject vehicle. The instructions also include, in response to one of (i) the first vehicle contacting the subject vehicle and (ii) the first vehicle being located within the threshold distance, selectively activating at least one camera of the subject vehicle. The instructions also include obtaining image data of the first vehicle from the at least one camera. The instructions also include transmitting, using the processor, the image data to a remote computing system.
In some embodiments, the sensor is a global navigation satellite system sensor; and the sensor data represents a location of the subject vehicle.
In some embodiments, determining whether the sensor data indicates that the first vehicle is within a threshold distance of the subject vehicle further comprises: retrieving location data associated with the first vehicle from the remote computing system; determining a distance between the subject vehicle and the first vehicle based on the location of the subject vehicle and the location data associated with the first vehicle; and determining whether the first vehicle is located within the threshold distance of the subject vehicle based on the distance.
In some embodiments, selectively activating the at least one camera of the subject vehicle further comprises: retrieving trajectory data associated with the first vehicle from the remote computing system; identifying a set of the at least one camera based on the location of the first vehicle and the trajectory data; and activating the set of the at least one camera.
In some embodiments, the sensor is an impact sensor; and the sensor data represents an applied force to the subject vehicle.
In some embodiments, selectively activating the at least one camera of the subject vehicle further comprises: determining a contact location of the subject vehicle based on the sensor data; determining a location of the first vehicle based on the contact location; identifying a set of the at least one camera based on the location of the first vehicle; and activating the set of the at least one camera.
In some embodiments, the remote computing system is configured to: generate a cleanliness score of the first vehicle based on the image data; and in response to the cleanliness score being greater than a threshold value, generate an alert that is configured to indicate that the first vehicle needs to be cleaned.
In some embodiments, the instructions further comprise determining whether the image data corresponds to image information of a vehicle-sharing account associated with the subject vehicle; and in response to (i) the image data not corresponding to the image information of the vehicle-sharing account and (ii) a vehicle state of the subject vehicle being associated with a first condition, identifying the subject vehicle as stolen.
In some embodiments, the instructions further comprise obtaining a location of a user; in response to the user being located within a second threshold distance of the subject vehicle, selectively activating at least one camera of the subject vehicle; obtaining image data associated with an exterior of the vehicle from the at least one camera; and in response to the image data indicating that the user is approaching the subject vehicle, activating an engine of the subject vehicle.
In some embodiments, the at least one camera is located on an exterior of the subject vehicle.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and the drawings are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will now be described more fully with reference to the accompanying drawings.
With reference to
The subject vehicle 5 may include an electronic control module (ECM) 50. As an example, the ECM 50 may be located behind a dashboard 48 of the subject vehicle 5. While one interior camera 40 is shown in this example, any number of interior cameras 40 can be included within the subject vehicle 5. Moreover, while the interior camera 40 is located on a rear-view mirror in
The portable device 10 may be any device that is configured to transmit and receive wireless signals, such as a smartphone, smartwatch, wearable electronic device, key fob, tablet device, laptop device, a Bluetooth-enabled device, or other device associated with a user 20 and capable of wireless communication. As described below in further detail, the portable device 10 is configured to generate vehicle-sharing requests and define personalized vehicle settings via an application executing on the portable device 10. Furthermore, the portable device 10 is configured to receive a digital key associated with the subject vehicle 5 from a fleet manager computing system (shown below) in response to transmitting the vehicle-sharing request. The digital key enables the user 20 to unlock and enter the subject vehicle 5. Accordingly, the portable device 10 may include at least one processor that is configured to execute instructions stored in a nontransitory computer-readable medium, such as a random-access memory (RAM) and/or a read-only memory (ROM).
The interior camera 40 may be configured to obtain image data of the user 20. Based on the image data obtained by the interior camera 40 and a vehicle-sharing account associated with the user 20, the ECM 50 may be configured to authenticate the user 20. In order to carry out the functionality of algorithms described herein, the ECM 50 may include at least one processor that is configured to execute instructions stored in a nontransitory computer-readable medium, such as a random-access memory (RAM) and/or a read-only memory (ROM). The ECM 50 may be in communication with the interior camera 40 via a hardware link, such as a local interconnect network (LIN) cable, a controller area network (CAN) cable, an Ethernet cable, or any other suitable hardwire link. In other embodiments, the ECM 50 may be in communication with the interior camera 40 via any suitable telemetric link, such as a Bluetooth link (e.g., Bluetooth low-energy), a Wi-Fi or Wi-Fi direct link, a cellular link, etc. Likewise, the ECM 50 may be in communication with the portable device 10 via any suitable telemetric link, such as a Bluetooth link (e.g., Bluetooth low-energy), a Wi-Fi or Wi-Fi direct link, a cellular/LTE link, etc.
In response to the ECM 50 authenticating the user 20, the ECM 50 may enable the user 20 to activate the subject vehicle 5. As an example, the ECM 50 may enable the user 20 to retrieve keys stored in the storage compartment 45 (e.g., glove box) of the subject vehicle 5 for subsequent placement and rotation of the ignition switch 30. Alternatively, the ignition switch 30 may be implemented by a button, and as such, the subject vehicle 5 may be activated in response to pressing the button and the portable device 10 being located within an activation range of the subject vehicle 5. Additionally, in response to the ECM 50 authenticating the user 20, the ECM 50 may adjust various vehicle settings according to the vehicle-sharing account associated with the user 20.
In other embodiments and as shown in
While the embodiments shown in
Additionally, a vehicle roof 90 (e.g., a headliner) of the subject vehicle 5 may include a roof camera 100, as shown in
Additionally, the subject vehicle 5 may include a plurality of exterior cameras 110-1, 110-2, 110-3, 110-4 (collectively referred to as exterior cameras 110), as shown in
With reference to
The impact detection module 120 is configured to perform the impact detection algorithm described below with reference to
In response to the impact detection module 120 detecting a collision, the impact detection module 120 may determine the location of the collision based on the data received from the impact sensors 160. The impact detection module 120 may communicate the determined location to the exterior camera activation module 130, which may then determine which of the exterior cameras 110 are suitable for obtaining an image of the vehicle/object. Subsequently, the exterior camera activation module 130 may activate the identified at least one exterior cameras 110 and obtain image data associated with the vehicle/object (e.g., the selected exterior cameras 110 may obtain an image of the vehicle and/or other identifying characteristics of the vehicle, such as a license plate of the vehicle). The image data may then be provided to a fleet manager computing system 180 for post-processing and/or subsequent remedial actions (e.g., an operator of the fleet manager computing system 180 may call a policing authority if the image data indicates that a vehicle has struck the subject vehicle 5). In order to carry out the functionality described herein, the fleet manager computing system 180 may include one or more processors that are configured to execute instructions stored in a non-transitory computer-readable medium, such as a RAM and/or ROM.
The passive visual inspection module 140 is configured to perform the passive visual inspection algorithm described below with reference to
The passive visual inspection module 140 may receive the location information of other vehicles in the vehicle-sharing fleet from the fleet manager computing system 180. Based on the location information of the other vehicles and the subject vehicle 5, the passive visual inspection module 140 may determine whether the subject vehicle 5 is located near any one of the other vehicles in the vehicle-sharing fleet. If the subject vehicle 5 is located within a threshold distance of at least one of the other vehicles of the vehicle-sharing fleet, the passive visual inspection module 140 may communicate the location information of the subject vehicle 5 and the at least one other vehicle to the exterior camera activation module 130. Based on this location information, the exterior camera activation module 130 may activate the identified at least one exterior cameras 110 and obtain image data associated with the at least one other vehicle. The image data may then be provided to a fleet manager computing system 180 for post-processing and/or subsequent remedial action.
As a specific example, the passive visual inspection module 140 may determine that a vehicle of the vehicle-sharing fleet is located within the threshold distance (e.g., 0.25 miles) of the subject vehicle 5. Furthermore, the passive visual inspection module 140 may determine that the location information of the identified vehicle and the subject vehicle 5 indicates that the vehicles are traveling in opposite directions on the same roadway at different speeds (e.g., the identified vehicle is traveling north on Park Street at 30 mph, and the subject vehicle 5 is traveling south on Park Street at 25 mph). Based on the distance between the vehicles and the velocity of the vehicles, the passive visual inspection module 140 and/or exterior camera activation module 130 may determine where and when the vehicles may intersect and which exterior cameras 110 are suitable for obtaining image data of the identified vehicle. Subsequently, the fleet manager computing system 180, using a machine learning algorithm or other similar algorithm, may process the image data and determine, for example, that the identified vehicle needs to be cleaned after the current vehicle-sharing session is completed and prior to any future vehicle-sharing sessions.
The engine control module 150 is configured to perform the remote start algorithm described below with reference to
Additionally, the engine control module 150 is configured to perform the engine disable algorithm described below with reference to
With reference to
With reference to
At 720, the control algorithm 700 selects, using the ECM 50, at least one of the exterior cameras 110 that are suitable for obtaining images of the identified vehicle. As described above, the ECM 50 may select the at least one exterior cameras 110 based on the distance between the vehicles and the velocity of the vehicles. At 724, the control algorithm 700 obtains, using the ECM 50, images of the identified vehicle from the at least one exterior cameras 110 and transmits the images to the fleet manager computing system 180. At 728, the control algorithm 700 determines, using the fleet manager computing system 180 and/or operator thereof, whether the images indicate that the identified vehicle needs servicing. As an example, the fleet manager computing system 180 may generate, using a machine learning algorithm or other similar algorithm, a cleanliness score based on the image data associated with the identified vehicle. If the cleanliness score is greater than a threshold value, the fleet manager computing system 180 and/or operator thereof may determine that the identified vehicle needs to be cleaned. If the image data indicates that the identified vehicle needs to be cleaned, the control algorithm 700 proceeds to 732; otherwise, the control algorithm 700 proceeds to 708.
At 732, the control algorithm 700 designates, using the fleet manager computing system 180, the identified vehicle as one that needs to be cleaned and then proceeds to 708. As a specific example example, the fleet manager computing system 180 may flag the identified vehicle as one that needs to be cleaned after the current vehicle-sharing session is completed and prior to any future vehicle-sharing sessions.
With reference to
At 820, the control algorithm 800 activates, using the ECM 50, the exterior cameras 110 and obtains image data from the exterior cameras 110. At 824, the control algorithm 800 determines, using the ECM 50, whether the image data indicates that the user 20 is approaching the subject vehicle 5. If so, the control algorithm 800 proceeds to 828; otherwise, the control algorithm 800 remains at 824 until the ECM 50 determines that the image data indicates that the user 20 is approaching the subject vehicle 5. At 828, the control algorithm 800 determines whether the user 20 has been authenticated. If so, the control algorithm 800 proceeds to 832 and remotely activates the engine 190; otherwise, the control algorithm 800 proceeds to 836 and prevents the remote activation of the engine 190. At 840, the control algorithm 800 ends.
With reference to
At 920, the control algorithm 900 identifies, using the ECM 50, the subject vehicle as stolen. At 924, the control algorithm 900 obtains, using the ECM 50, a location of the subject vehicle 5. At 928, the control algorithm 900 determines, using the ECM 50, whether the location of the subject vehicle 5 is suitable for disabling the engine 190. As an example, locations that are not suitable may be locations that are unsafe for disabling the engine 190, such as an interstate highway and/or other roads that are greater than a threshold speed limit and/or have a traffic density that is greater than a threshold value. If the location is suitable, the control algorithm 900 proceeds to 932; otherwise, the control algorithm 900 proceeds to 924. At 932, the control algorithm 900 disables, using the ECM 50, the engine 190 and then ends at 936.
The present disclosure provides a method that includes obtaining, using a processor configured to execute instructions stored in a nontransitory computer-readable medium, sensor data from at least one sensor of a subject vehicle, determining, using the processor, whether the sensor data indicates one of (i) a first vehicle has contacted the subject vehicle and (ii) the first vehicle is located within a threshold distance of the subject vehicle, selectively activating, using the processor and in response to one of (i) the first vehicle contacting the subject vehicle and (ii) the first vehicle being located within the threshold distance, at least one camera of the subject vehicle, obtaining, using the processor, image data of the first vehicle from the at least one camera, and transmitting, using the processor, the image data to a remote computing system.
In other features, the sensor is a global navigation satellite system sensor; and the sensor data represents a location of the subject vehicle.
In other features, determining whether the sensor data indicates that the first vehicle is within a threshold distance of the subject vehicle further includes retrieving, using the processor, location data associated with the first vehicle from the remote computing system, determining, using the processor, a distance between the subject vehicle and the first vehicle based on the location of the subject vehicle and the location data associated with the first vehicle, and determining, using the processor, whether the first vehicle is located within the threshold distance of the subject vehicle based on the distance.
In other features, selectively activating the at least one camera of the subject vehicle further includes retrieving, using the processor, trajectory data associated with the first vehicle from the remote computing system, identifying, using the processor, a set of the at least one camera based on the location of the first vehicle and the trajectory data, and activating, using the processor, the set of the at least one camera.
In other features, the sensor is an impact sensor and the sensor data represents an applied force to the subject vehicle.
In other features, selectively activating the at least one camera of the subject vehicle further includes determining, using the processor, a contact location of the subject vehicle based on the sensor data, determining, using the processor, a location of the first vehicle based on the contact location, identifying, using the processor, a set of the at least one camera based on the location of the first vehicle, and activating, using the processor, the set of the at least one camera.
In other features, the method further includes generating, using the remote computing system, a cleanliness score of the first vehicle based on the image data, and generating, using the remote computing system and in response to the cleanliness score being greater than a threshold value, an alert that is configured to indicate that the first vehicle needs to be cleaned.
In other features, the method further includes determining, using the processor, whether the image data corresponds to image information of a vehicle-sharing account associated with the subject vehicle, and identifying, using the processor and in response to (i) the image data not corresponding to the image information of the vehicle-sharing account and (ii) a vehicle state of the subject vehicle being associated with a first condition, the subject vehicle as stolen.
In other features, the method further includes obtaining, using the processor, a location of a user, selectively activating, using the processor and in response to the user being located within a second threshold distance of the subject vehicle, at least one camera of the subject vehicle, obtaining, using the processor, image data associated with an exterior of the vehicle from the at least one camera, and activating, using the processor and in response to the image data indicating that the user is approaching the subject vehicle, an engine of the subject vehicle.
In other features, at least one camera is located on an exterior of the subject vehicle.
The present disclosure also provides a system that includes a processor configured to execute instructions stored in a nontransitory computer-readable medium. The instructions include obtaining sensor data from at least one sensor of a subject vehicle, determining whether the sensor data indicates one of (i) a first vehicle has contacted the subject vehicle and (ii) the first vehicle is located within a threshold distance of the subject vehicle, in response to one of (i) the first vehicle contacting the subject vehicle and (ii) the first vehicle being located within the threshold distance, selectively activating at least one camera of the subject vehicle, obtaining image data of the first vehicle from the at least one camera, and transmitting, using the processor, the image data to a remote computing system.
In other features, the sensor is a global navigation satellite system sensor; and the sensor data represents a location of the subject vehicle.
In other features, determining whether the sensor data indicates that the first vehicle is within a threshold distance of the subject vehicle further includes retrieving location data associated with the first vehicle from the remote computing system, determining a distance between the subject vehicle and the first vehicle based on the location of the subject vehicle and the location data associated with the first vehicle, and determining whether the first vehicle is located within the threshold distance of the subject vehicle based on the distance.
In other features, selectively activating the at least one camera of the subject vehicle further includes retrieving trajectory data associated with the first vehicle from the remote computing system, identifying a set of the at least one camera based on the location of the first vehicle and the trajectory data, and activating the set of the at least one camera.
In other features, the sensor is an impact sensor and the sensor data represents an applied force to the subject vehicle.
In other features, selectively activating the at least one camera of the subject vehicle further includes determining a contact location of the subject vehicle based on the sensor data, determining a location of the first vehicle based on the contact location, identifying a set of the at least one camera based on the location of the first vehicle, and activating the set of the at least one camera.
In other features, the remote computing system is configured to generate a cleanliness score of the first vehicle based on the image data and, in response to the cleanliness score being greater than a threshold value, generate an alert that is configured to indicate that the first vehicle needs to be cleaned.
In other features, the instructions further include determining whether the image data corresponds to image information of a vehicle-sharing account associated with the subject vehicle and, in response to (i) the image data not corresponding to the image information of the vehicle-sharing account and (ii) a vehicle state of the subject vehicle being associated with a first condition, identifying the subject vehicle as stolen.
In other features, the instructions further include obtaining a location of a user, in response to the user being located within a second threshold distance of the subject vehicle, selectively activating at least one camera of the subject vehicle, obtaining image data associated with an exterior of the vehicle from the at least one camera, and, in response to the image data indicating that the user is approaching the subject vehicle, activating an engine of the subject vehicle.
In other features, the at least one camera is located on an exterior of the subject vehicle
The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.
Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks and flowchart elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language) or XML (extensible markup language), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C #, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.
None of the elements recited in the claims are intended to be a means-plus-function element within the meaning of 35 U.S.C. § 112(f) unless an element is expressly recited using the phrase “means for,” or in the case of a method claim using the phrases “operation for” or “step for.”
The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
This application claims the benefit of U.S. Provisional Application No. 62/760,613, filed on Nov. 13, 2018, and U.S. Provisional Application No. 62/812,073, filed on Feb. 28, 2019. The entire disclosures of each of the above applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62812073 | Feb 2019 | US | |
62760613 | Nov 2018 | US |