Computing devices commonly use standardized wireless protocols to detect wireless broadcast signals and connect to other computing devices for data exchange. For example, a first computing device may detect a BLUETOOTH (“Bluetooth”) broadcast signal from a second computing device and (upon transmitting a code or other security credentials) pair with the second computing device to exchange data. As a further example, a computing device may detect a wireless fidelity or WI-FI (“Wi-Fi”) broadcast signal from an Internet router or another computing device and (upon transmitting a code or other security credentials) connect with the router or other computing device to exchange data over a local area network.
To make such a connection, a computing device commonly presents various graphical user interfaces and options for a user to select detected computing devices for connection within range and for the computing device to detect entry of security credentials. For instance, some computing devices comprise software applications that, when executed, cause a computing device to present a graphical user interface or window comprising networks (or computing devices) detected within a particular range. A mobile device, for example, may include a separate settings application or networks application that (upon detecting selection of the application) causes the mobile device to present a user interface comprising previously connected devices, previously used networks, or publicly detectable devices or networks.
As computing devices and applications with wireless capabilities become more common, however, wireless connection protocols pose several technical limitations and cyber security risks. For instance, a user unfamiliar with a software application's options or user interfaces may not determine (or not attempt to determine) how to connect a computing device with a target computing device using a wireless connection protocol, such as Bluetooth or Wi-Fi. In environments with numerous wireless computing devices, by contrast, a computing device may detect multiple other computing devices broadcasting a wireless broadcast signal and present each newly detected device (and some previously detected devices) in a menu or list for a graphical user interface. With multiple detected or saved keys for wireless broadcast signals, the computing device's display of multiple signals may confuse a user into selecting the wrong identifier or name for a target computing device. Worse yet, a computing device may identify and connect with another computing device broadcasting a wireless broadcast signal comprising an identifier or name that mimics a secure or previously used network, such as when a computing device broadcasts a wireless broadcast signal in an act of phishing or Bluejacking.
Whether a computing device fails to connect with a target computing device or connects with the wrong target computing device, a failure to connect (or wrong connection) prevents some computing devices from one or both of exchanging data and executing device capabilities dependent on such data exchange. In some cases, for instance, a computing device that fails to connect to an in-vehicle-computing device prevents the in-vehicle-computing device from communicating messages, capturing images, or generating audio as part of a transportation matching system. Such connection failures can inhibit one or both of a requestor of transportation and a provider of transportation from engaging the capabilities of in-vehicle-display devices for messaging, in-vehicle cameras for capturing images, or in-vehicle speakers for generating audio.
This disclosure describes one or more embodiments of methods, non-transitory computer readable media, and computing devices that solve the foregoing problems in addition to providing other benefits. In particular, the disclosed provider client devices automatically initiate a wireless network connection (e.g., a pairing) with an auxiliary computing device based on recurring detection of a wireless broadcast signal from the auxiliary computing device. Upon detecting a wireless broadcast signal from an auxiliary computing device satisfying a signal-strength threshold at multiple times or locations, for example, the disclosed provider client devices can automatically initiate a wireless network connection (e.g., a pairing) with the auxiliary computing device. By automatically initiating a wireless connection with such an auxiliary computing device, the disclosed provider client devices obviate inefficient user interactions conventional computing devices use to establish a pairing, facilitate pairings with auxiliary computing devices for unsavvy technology users, and avoid unsecure wireless connections that may compromise data on the disclosed provider client devices.
In some embodiments, for instance, a provider client device detects a wireless broadcast signal at a first time period, where the wireless broadcast signal comprises a device identifier for an auxiliary computing device. The provider client device further determines that the wireless broadcast signal from the auxiliary computing device satisfies a signal-strength threshold at the first time period. After the first time period, the provider client device again detects the wireless broadcast signal from the auxiliary computing device and determines that the wireless broadcast signal satisfies the signal-strength threshold at a second time period. Based on determining that the wireless broadcast signal from the auxiliary computing device satisfies the signal-strength threshold at the first and second (and sometimes additional) time periods, the provider client device initiates a wireless network connection between the provider client device and the auxiliary computing device.
The detailed description refers to the drawings briefly described below.
This disclosure describes one or more embodiments of a provider client device that automatically initiates a wireless network connection (e.g., a pairing) with an auxiliary computing device based on recurring detection of a wireless broadcast signal from the auxiliary computing device. At any given time period, such an auxiliary computing device may be one of multiple auxiliary computing devices from which the provider client device detects a wireless broadcast signal. Upon detecting a wireless broadcast signal from an auxiliary computing device satisfying a signal-strength threshold at multiple time intervals or locations, for example, the disclosed provider client device can automatically initiate a wireless network connection (e.g., a pairing) with the auxiliary computing device. The provider client device can accordingly initiate such connections without user interaction identifying a specific auxiliary computing device with which to connect. By automatically initiating a wireless connection with an auxiliary computing device, the disclosed provider client device obviates inefficient user interactions that conventional computing devices use to pair, facilitate pairings with auxiliary computing devices for unsavvy technology users, and avoid unsecure wireless connections that may compromise data on the provider client device.
In some embodiments, for instance, a provider client device detects multiple wireless broadcast signals from multiple auxiliary computing devices at a first time period. Each such wireless broadcast signal comprises a particular device identifier for a particular auxiliary computing device. The provider client device further determines that a wireless broadcast signal from the multiple wireless broadcast signals satisfies a signal-strength threshold at the first time period, where the wireless broadcast signal comprises a device identifier for an auxiliary computing device from the multiple auxiliary computing devices. After the first time period, the provider client device again detects the wireless broadcast signal from the auxiliary computing device and determines that the wireless broadcast signal satisfies the signal-strength threshold at a second time period. Based on determining that the wireless broadcast signal from the auxiliary computing device satisfies the signal-strength threshold at the first and second (and sometimes additional) time periods, the provider client device initiates a wireless network connection between the provider client device and the auxiliary computing device.
As suggested above, the provider client device may correspond to (or be used by) a provider operating a transportation vehicle. In some cases, the provider client device comprises a provider transport application that facilitates matching requestors with providers for a transportation matching system. The provider client device may also detect wireless broadcast signals from (and initiate a wireless network connection with) various types of auxiliary computing devices. Such auxiliary computing devices include, but are not limited to, in-vehicle-display devices, wireless cameras, wireless video cameras, and wireless speakers. Conversely, in some embodiments, a requestor client device corresponding to a requestor of transportation for a transportation matching system can perform functions of a provider client device as described in this disclosure. Accordingly, in such embodiments, the requestor client device can likewise detect wireless broadcast signals from auxiliary computing devices and automatically initiate a wireless network connection with an auxiliary computing device. Despite the auxiliary computing device sending wireless broadcast signals to and (in some cases) receiving corresponding signals from multiple requestor client devices in a given day, the requestor client device can still initiate such a wireless network connection.
Before automatically initiating such a wireless network connection, in some embodiments, the provider transport application causes the provider client device to present an automatic-connection option within a graphical user interface. Upon detecting a selection by a provider of the automatic-connection option, the provider client device receives authorization or permission from the provider to automatically initiate a wireless network connection with an auxiliary computing device selected according to instructions of the provider transport application.
When detecting wireless broadcast signals, the provider client device can detect Bluetooth broadcast signals or Wi-Fi broadcast signals, including a Bluetooth broadcast signal or a Wi-Fi broadcast signal from an auxiliary computing device with which the provider client device eventually initiates a wireless network connection. To select the auxiliary computing device for initial connection or pairing, the provider client device accordingly determines whether a particular wireless broadcast signal corresponding to a particular auxiliary computing device satisfies a signal-strength threshold at a given time. For example, the provider client device may determine that a Bluetooth or a Wi-Fi broadcast signal corresponds to a strongest Bluetooth or Wi-Fi broadcast signal from among multiple Bluetooth or Wi-Fi broadcast signals, respectively, at a given time period.
Various provider client device functions or events can trigger the provider client device to scan for and detect wireless broadcast signals. For instance, in some embodiments, the provider client device detects wireless broadcast signals at a given time period based on time intervals, such as by detecting wireless broadcast signals at various time periods for a threshold number of time intervals. Further, in certain implementations, the provider client device detects wireless broadcast signals at a given time period based on the provider client device launching a provider transport application. Additionally, or alternatively, the provider client device detects wireless broadcast signals at a given time period based on location, such as by detecting wireless broadcast signals at a first location at a first time period and (after traveling a threshold distance) detecting wireless broadcast signals at second location at a second time period.
In addition to detecting wireless broadcast signals from (and initiating a wireless network connection with) an auxiliary computing device, the disclosed provider client device optionally stores information to track (or scan for) an auxiliary computing device. When the auxiliary computing device is unavailable for connection, the provider client device optionally identifies an alternative auxiliary computing device with which to initiate a wireless connection. To store or remember information for a particular auxiliary computing device, for example, the provider client device can store a device identifier for the auxiliary computing device based on determining that the wireless broadcast signal from the auxiliary computing device satisfies a signal-strength threshold at a given time period. If the provider client device determines that the auxiliary computing device is no longer broadcasting a wireless broadcast signal or is otherwise unavailable for connection, in some embodiments, the provider client device identifies an alternative wireless broadcast signal from an alternative auxiliary computing device with which to initiate a wireless network connection based on recurring detection of the alternative wireless broadcast signal.
As suggested above, the provider client device improves and overcomes several technical deficiencies that hinder conventional wireless computing devices. For instance, the provider client device improves the computing efficiency and speed with which a client device initially connects to (or pairs with) an auxiliary computing device. Conventional computing devices commonly present various graphical user interfaces and selectable options for detecting and connecting with auxiliary computing devices. But presenting such user interfaces and options consumes computing resources and requires a series of user interactions with the conventional computing device. In contrast to conventional computing devices, the disclosed provider client device obviates such inefficient user interactions and reduces presentation of various graphical user interfaces. By detecting and evaluating the signal strength of wireless broadcast signals across time periods, locations, or application launches, the disclosed provider client device avoids such inefficiencies and automatically initiates a wireless network connection with an auxiliary computing device.
In addition to improved computing efficiency, in some embodiments, the disclosed provider client device improves the accuracy with which a client device initially connects (or pairs with) an auxiliary computing device. As noted above, some conventional client devices present newly detected devices and previously detected devices in graphical user interfaces and provide options to select such devices for connection. Further, some existing computing devices establish a connection with a remote device based on a signal strength of a wireless broadcast signal at a single time from a single device (with optional periodic updates) and a naming scheme for the single device. As auxiliary computing devices and their corresponding signals become highly concentrated in some environments, users can quickly or unwittingly select to connect with the wrong auxiliary computing device or automatically connect to the wrong auxiliary computing device based on a signal strength of a single device at a single time even with periodic signal updates.
In contrast to such conventional and existing computing devices, the disclosed provider client device can avoid such connection mistakes by automatically initiating a wireless network connection with an auxiliary computing device based on recurring detection of a wireless broadcast signal—and comparison to other wireless broadcast signals from other auxiliary computing devices using a signal-strength threshold—across time, locations, or application launches. By identifying a wireless broadcast signal and a corresponding auxiliary computing device based on a signal-strength threshold across time, locations, or application launches, the disclosed provider client device can more accurately initiate a wireless connection with a secure or intended auxiliary computing device—without the user errors fomented by conventional user interfaces of computing devices or errors of existing computing devices focused on the signal strength from a single device in a single time frame with optional periodic updates.
Beyond improved accuracy, in certain implementations, the disclosed provider client device improves the security with which a computing device connects (or pairs with) an auxiliary computing device. As just suggested, the provider client device avoids connecting with the wrong auxiliary computing device (including a device broadcasting a wireless broadcast signal mimicking a device identifier) by identifying a wireless broadcast signal and corresponding auxiliary computing device based on a signal-strength threshold across time, locations, or application launches. In some embodiments, the disclosed provider client device not only initiates but also terminates a wireless network connection (e.g., a pairing) based on detecting an elapsed time threshold, locations, or application functions. When temporarily connecting with an auxiliary computing device during a vehicle transport, for example, the provider client device optionally terminates a wireless connection with the auxiliary computing device based on a destination location or a selectable option to end a requested transportation in a transport applications.
As indicated by the foregoing description, this disclosure uses a variety of terms to describe features and advantages of a provider client device. As used in this disclosure, the term “wireless broadcast signal” refers to a signal transmitted by an auxiliary computing device to communicate a device identifier and/or other information for a computing device to use in establishing a wireless connection with the auxiliary computing device. In some embodiments, for example, a wireless broadcast signal refers to a Bluetooth broadcast signal transmitted by an auxiliary computing device, where the Bluetooth broadcast signal comprises any combination of a device identifier, a device name, and a device profile for the auxiliary computing device that nearby computing devices can use when initiating a wireless connection (e.g., forming a piconet with the auxiliary computing device). Such a Bluetooth broadcast signal may be a Classic Bluetooth signal or a Bluetooth Low Energy (“BLE”) signal. As a further example, in certain implementations, a wireless broadcast signal refers to a Wi-Fi broadcast signal transmitted by an Internet router, a Wi-Fi access point, or other auxiliary computing device, where the Wi-Fi broadcast signal comprises one or both of a device identifier and a network name for the auxiliary computing device that nearby computing devices can use when initiating a wireless connection (e.g., to join a Wi-Fi network).
Relatedly, the term “device identifier” refers to an address or other identifier for a computing device. For example, in some embodiments, a device identifier comprises a series of digits or alphanumeric values identifying a computing device for a particular wireless protocol, such as a unique Bluetooth identifier or address. Alternatively, in certain cases, a device identifier comprises a series of digits or alphanumeric values identifying an Internet router or other computing device facilitating connection to a network, such as a service set identifier (“SSID”) for a router.
As noted above, the disclosed provider client device can detect (and determine a strength of) a wireless broadcast signal at a given time period. The term “time period” refers to an instance or limited term or span of time. A time period may be a limited span of time measured in milliseconds, seconds, minutes, or some other unit of time measurement. Further, in some embodiments, a set interval of time may occur between a first time period and a second time period or between subsequent time periods. For instance, in some cases, the provider client device may detect (and determine a strength of) one or more wireless broadcast signals at a first time period and—a few milliseconds or seconds later—detect (and determine a strength of) one or more wireless broadcast signals at a second time period. Alternatively, a time period may correspond to a location of the provider client device. For example, in certain embodiments, the provider client device may detect (and determine a strength of) one or more wireless broadcast signals at a first time period corresponding to a first location of the provider client device and—after the provider client device has traveled a threshold distance—detect (and determine a strength of) one or more wireless broadcast signals at a second time period corresponding to a second location of the provider client device.
As further suggested above, the term “auxiliary computing device” refers to a computing device that can perform a computing function based on a wireless connection with another computing device. In some cases, an auxiliary computing device transmits a wireless broadcast signal to a establish a wireless connection with a client device to perform computing functions at the request (or on behalf) of the client device. For example, in some embodiments, an auxiliary computing device refers to an in-vehicle-display device that (i) transmits a Bluetooth broadcast signal to establish a wireless connection with a client device and (ii) communicates messages for a transportation matching system based on requests from the client device. By contrast, in some instances, an auxiliary computing device refers to a wireless camera, a wireless video camera, a wireless speaker, a wireless video monitor that transmits a Bluetooth broadcast signal and (upon connecting with a client device) captures images or generates audio based on requests or commands from the client device. As a further example, an auxiliary computing device sometimes refers to a network router or mobile device that transmits a Wi-Fi broadcast signal and (upon connecting with a client device) connects or routes the client device to a network.
Relatedly, the term “in-vehicle-display device” refers to a computing device in a vehicle comprising a digital display for communicating any combination of graphics, messages, colors, or patterns. In some embodiments, for instance, an in-vehicle-display device comprises a digital display for presenting a graphic or a message identifying a vehicle for a requestor of transportation for a transportation matching system. In certain implementations, the in-vehicle-display device can present a graphic, message, color, or pattern identifying a vehicle based on data sent from a provider client device operated by a provider for the vehicle. Further, an in-vehicle-display device optionally presents such graphics, messages, colors, or patterns in a user interface based on interactions with a requestor or provider (e.g., user selection of buttons or instructions from a client device).
As noted above, a provider client device can initiate a wireless connection with an auxiliary computing device based on determining that a wireless broadcast signal from the auxiliary computing device satisfies a signal-strength threshold. The term “signal-strength threshold” refers to a comparative threshold or a quantitative threshold for a wireless broadcast signal. In some embodiments, for instance, a signal-strength threshold refers to a comparative threshold identifying a particular wireless broadcast signal as the strongest wireless broadcast signal within a detection range. Such a comparative threshold includes identifying a single and only wireless broadcast signal or the only wireless broadcast signal corresponding to a particular type of auxiliary computing device within a detection range. Alternatively, a comparative threshold includes identifying a strongest wireless broadcast signal among multiple wireless broadcast signals within the detection range (e.g., as measured by power or by decibels). When a provider client device detects a single wireless broadcast signal within a detection range, for instance, the provider client device optionally identifies this single wireless broadcast signal as satisfying a comparative signal-strength threshold. By contrast, in some embodiments, a signal-strength threshold refers to a quantitative threshold identifying a measurement of power, decibels, or other quantitative value that a wireless broadcast signal must equal or exceed to satisfy a quantitative signal-strength threshold.
As suggested above, a provider client device can initiate different types of wireless network connections. The term “wireless network connection” refers to a wireless connection between computing devices that forms (or joins) a network, including a personal area network or a local area network. For example, in some embodiments, a wireless network connection refers to a pairing between a computing device and an auxiliary computing device to form a personal area network (or piconet) based on Bluetooth protocol (e.g., Classic Bluetooth or BLE). Such a pairing can be made between any Bluetooth-enabled devices, such as provider client devices, in-vehicle-display devices, wireless cameras, wireless video cameras, wireless speakers, and wireless video monitors. By contrast, in certain implementations, a wireless network connection refers to an initial connection between a computing device (e.g., a client device) and an auxiliary computing device (e.g., a router) as part of a local area network.
As suggested above, the term “provider” refers to a driver or other person who operates a transportation vehicle and/or who interacts with a provider client device. For instance, a provider includes a person who drives a transportation vehicle along various routes to pick up and drop off requestors of transportation. Relatedly, the term “provider client device” refers to a computing device associated with (or used by) a provider or a transportation vehicle. In some embodiments, a provider client device includes a provider transport application comprising instructions that (upon execution) cause the provider client device to perform various actions for a transportation matching system, as described herein.
By contrast, the term “requestor” refers to person who requests a ride or other form of transportation from a transportation matching system. A requestor may refer to a person who requests a ride or other form of transportation but who is still waiting for pickup. A requestor may also refer to a person whom a transportation vehicle has picked up and who is currently riding within the transportation vehicle to a destination (e.g., a destination indicated by a requestor). Relatedly, the term “requestor client device” refers to a computing device associated with (or used by) a requestor. In some embodiments, a requestor client device includes a requestor transport application comprising instructions that (upon execution) cause the requestor client device to perform various actions for a transportation matching system, as described herein.
Turning now to the figures,
The transportation matching system 104 uses the server(s) 102 to communicate with one or both of the provider client devices 112a-112n and the requestor client devices 118a-118n via the network 106. For example, the transportation matching system 104 communicates with the provider client devices 112a-112n and the requestor client devices 118a-118n via the network 106 to determine locations of the provider client devices 112a-112n and the requestor client devices 118a-118n, respectively. Per device settings, for instance, the transportation matching system 104 may receive location coordinates from the provider client devices 112a-112n and/or the requestor client device 118a-118n, respectively. Based on the location coordinates, the transportation matching system 104 matches or assigns one or more of the transportation vehicles 108a-108n with or to one or more of the requestors 116a-116n for transportation.
As suggested above, each of the provider client devices 112a-112n and the requestor client devices 118a-118n may comprise a mobile device, such as a laptop, smartphone, or tablet associated with a requestor or a provider. The provider client devices 112a-112n or the requestor client devices 118a-118n may be any type of computing device as further explained below with reference to
As further indicated by
As depicted in
As further depicted in
Although not illustrated in
When a transportation vehicle is an autonomous vehicle or a hybrid self-driving vehicle, the transportation vehicle may include additional components not depicted in
As mentioned above, the transportation vehicles 108a-108n respectively include provider client devices 112a-112n separate or integral to the transportation vehicles 108a-108n. Additionally, or alternatively, the provider client device 112a may be a subcomponent of a vehicle computing system. Regardless of its form, the provider client devices 112a-112n may include various sensors, such as a GPS locator, an inertial measurement unit, an accelerometer, a gyroscope, a magnetometer, and/or other sensors, from which the transportation matching system 104 can access information, such as location information.
In some embodiments, the transportation matching system 104 communicates with the provider client devices 112a-112n through their respective provider transport applications. For instance, a provider transport application can cause the provider client device 112a to communicate with the transportation matching system 104 to navigate to a pickup location to pick up a requestor, navigate to a destination location, and/or collect fares. As suggested above, in some embodiments, provider transport applications include computer-executable instructions that (upon execution) cause one or more of the provider client devices 112a-112n to initiate a wireless network connection with an auxiliary computing devices, such as a wireless connection with one or more of the in-vehicle-display devices 114a-114n or wireless cameras, wireless video cameras, or wireless speakers.
As shown in
After the initial time period, the provider client device 112a again detects the wireless broadcast signal from the in-vehicle-display device 114a and determines that the wireless broadcast signal satisfies the signal-strength threshold at a subsequent time period. Based on determining that the wireless broadcast signal from the in-vehicle-display device 114a satisfies the signal-strength threshold at the initial and subsequent (and sometimes additional) time periods, the provider client device 112a initiates a wireless network connection between the provider client device 112a and the in-vehicle-display device 114a. Upon establishing the wireless network connection, the in-vehicle-display device 114a can present a graphic, message, color, or pattern identifying the transportation vehicle 108a for a matched requestor from the requestors 116a-116n.
As shown in
As further shown at the first time period 202a in
Alternatively, in certain implementations at the first time period 202a, the provider client device 112a scans for (and detects) wireless broadcast signals from a same type of auxiliary computing device. To detect such auxiliary computing devices, in some embodiments, each auxiliary computing device within a group of auxiliary computing devices transmits one or more of a device identifier, a device name, or a device profile identifying the specific type of auxiliary computing device. Accordingly, in some cases, each auxiliary computing device within the first group of auxiliary computing devices 204a is an in-vehicle-display device, a wireless speaker, or some other same type of auxiliary computing device. Accordingly, at the second time period 202b or any subsequent time period, the provider client device 112a may likewise scan for (and detect) wireless broadcast signals from a group of auxiliary computing devices of the same type.
As further indicated at the first time period 202a in
As further shown at the second time period 202b in
As in the first group of auxiliary computing devices 204a, the second group of auxiliary computing devices 204b may include different types of auxiliary computing devices or a same type of auxiliary computing device. While
As further shown at the second time period 202b in
Based on determining that the wireless broadcast signal from the auxiliary computing device 206d satisfies the signal-strength threshold at the first time period 202a and the second time period 202b (and sometimes at additional time periods), the provider client device 112a automatically initiates the wireless network connection 208 between the provider client device 112a and the auxiliary computing device 206d. For example, in some embodiments, the provider client device 112a initiates the wireless network connection 208 by following a Bluetooth protocol to pair the provider client device 112a with the auxiliary computing device 206d. As a further example, in certain implementations, the provider client device 112a initiates the wireless network connection 208 by following a Wi-Fi protocol to initially connect the provider client device 112a with the auxiliary computing device 206d.
Turning now to
As suggested above, the provider client device 112a optionally detects wireless broadcast signals across time periods based on one or both of selectable options and triggers. In some embodiments, for example, the provider client device 112a presents within a graphical user interface (and detects a selection by the provider 110a of) an automatic-connection option 300. The provider client device 112a may present the automatic-connection option 300 in a notification or in a graphical user interface of the provider transport application 200, a preferences application, or a settings application. By detecting a selection of the automatic-connection option 300, the provider client device 112a receives authorization or permission from the provider 110a to automatically initiate a wireless network connection with an auxiliary computing device selected by the provider client device 112a. By contrast, in certain implementations, the provider client device 112a can automatically initiate a wireless network connection without user authorization or permission (e.g., when the provider client device 112a is part of a self-driving vehicle).
As further shown in
In some cases, the application launch 302a initiates an application session in which the provider client device 112a detects user selection of the automatic-connection option 300 (as described above). In other cases, the application launch 302a initiates a subsequent session after the provider client device 112a detects user selection of the automatic-connection option 300. As suggested above, in certain implementations, the provider client device 112a detects wireless broadcast signals based on the application launch 302a independent of any specific user selection of the automatic-connection option 300.
Additionally, or alternatively, the provider client device 112a optionally detects one or more wireless broadcast signals at the first time period 306a when the provider client device 112a is located at a first location. As indicated by
As further shown at the first time period 306a in
After detecting the wireless broadcast signal 308d at the first time period 306a, the provider client device 112a further determines signal strength 310a for one or both of the wireless broadcast signal 308d and the wireless broadcast signals 308a-308c and 308e. When determining the signal strength 310a, the provider client device 112a also determines whether one or both of the wireless broadcast signal 308d and the wireless broadcast signals 308a-308c and 308e satisfy a signal-strength threshold (e.g., a comparative or a quantitative signal-strength threshold). When the wireless broadcast signal 308d comprises the only detected signal (or the only detected signal from a particular type of auxiliary computing device) at the first time period 306a, for instance, the provider client device 112a determines that the wireless broadcast signal 308d satisfies the signal-strength threshold.
By contrast, in some cases, the provider client device 112a may determine that the wireless broadcast signal 308d constitutes the strongest wireless broadcast signal from among the wireless broadcast signals 308a-308e. For instance, the provider client device 112a may rank the wireless broadcast signals 308a-308e according to wireless signal strength and determine that the wireless broadcast signal 308d corresponds to a highest ranked wireless broadcast signal from among the wireless broadcast signals 308a-308e. Additionally, or alternatively, the provider client device 112a may determine that the wireless broadcast signal 308d equals or exceeds a quantitative signal strength (e.g., measured in watts or decibels).
Turning back now to
As further shown in
As further shown at the second time period 306b in
After again detecting the wireless broadcast signal 308d at the second time period 306b, the provider client device 112a further determines signal strength 310b for one or both of the wireless broadcast signal 308d and the wireless broadcast signals 308e-308g. When determining the signal strength 310b, the provider client device 112a determines that the wireless broadcast signal 308d constitutes the strongest wireless broadcast signal—as the only wireless broadcast signal or as the strongest wireless broadcast signal from among the wireless broadcast signals 308d-308g at the second time period 306b. Additionally, or alternatively, the provider client device 112a determines that the wireless broadcast signal 308d equals or exceeds a quantitative signal strength (e.g., in watts or decibels) at the second time period 306b.
As suggested above, the provider client device 112a compares the wireless broadcast signal 308d to a signal-strength threshold at both the first time period 306a and the second time period 306b. In some embodiments, the signal-strength threshold at the first time period 306a and the second time period 306b are the same. By contrast, in certain embodiments, a signal-strength threshold at the first time period 306a differs from a signal-strength threshold at the second time period 306b. For example, a signal-strength threshold may constitute a first quantitative signal strength at a first location based on GPS data for the first time period 306b, but constitute a second quantitative signal strength at a second location based on GPS data at a second location. As explained below with reference to
Based on determining that the wireless broadcast signal 308d from the auxiliary computing device 206d satisfies the signal-strength threshold at the first time period 306a and the second time period 306b (and sometimes at additional time periods), the provider client device 112a automatically initiates a wireless network connection 312 between the provider client device 112a and the auxiliary computing device 206d. For example, in some embodiments, the provider client device 112a initiates the wireless network connection 312 by sending a Bluetooth pairing request to the auxiliary computing device 206d in accordance with a Bluetooth protocol. As a further example, in certain implementations, the provider client device 112a initiates the wireless network connection 312 by sending a Wi-Fi network access request in accordance with a Wi-Fi protocol.
Upon receiving a request to initiate the wireless network connection 312, in some embodiments, the auxiliary computing device 206d transmits (and the provider client device 112a receives) a connection authorization response 314. The connection authorization response 314 follows a wireless connection protocol to form the wireless network connection 312 between the provider client device 112a and the auxiliary computing device 206d. For example, in some embodiments, the auxiliary computing device 206b sends (and the provider client device 112a receives) a Bluetooth passkey or pairing code to form the wireless network connection 312. As a further example, in certain implementations, the auxiliary computing device 206b sends (and the provider client device 112a receives) a Wi-Fi passkey or code to form the wireless network connection 312.
As further shown in
As noted above, the provider client device 112a can not only initiate wireless network connections, but can optionally terminate wireless network connections based on various triggers. As shown in
For instance, in some embodiments, the provider client device 112a transmits the disconnection signal 318 (or otherwise disconnects the wireless network connection 312) based on determining that the provider client device 112a is located at a particular location indicated by GPS data, such as a destination location selected by a requestor. Alternatively, the provider client device 112a transmits the disconnection signal 318 (or otherwise disconnects the wireless network connection 312) based on detecting a selection by the provider 110a of a selectable option to conclude a transportation, such as by detecting a selection of a drop-off option within a graphical user interface of the provider transport application 200.
As further indicated by
Based in part on determining that an auxiliary computing device is unavailable for connection 320, the provider client device 112a optionally initiates an alternative wireless network connection 322. As shown in
In some embodiments, for instance, the provider client device 112a determines that the wireless broadcast signal 308e from the auxiliary computing device 206e constitutes a next strongest wireless broadcast signal from among the wireless broadcast signals ranked at the first time period 306a and at the second time period 306b. Alternatively, the provider client device 112a detects and determines that the wireless broadcast signal 308e from the auxiliary computing device 206e satisfies the signal-strength threshold at subsequent time periods. Based on determining that the wireless broadcast signal 308e constitutes the next strongest wireless broadcast signal at the first time period 306a and the second time period 306b—or that the wireless broadcast signal 308e satisfies the signal-strength threshold at subsequent time periods—the provider client device 112a initiates the alternative wireless network connection 322 with the auxiliary computing device 206e when the auxiliary computing device 206d is unavailable for connection.
In addition (or in the alternative to) automatically initiating a wireless network connection with an auxiliary computing device based on recurring detection of a wireless broadcast signal, the provider client device 112a optionally uses a machine learner to identify an auxiliary computing device with which to initiate a connection. For example, in certain implementations, the transportation matching system 104 trains a machine learner to identify a target auxiliary computing device using wireless broadcast signals detected by a provider client device, signal strengths for such signals, and wireless network connections that a provider client device maintained (and reconnected with) for a threshold time period. Based on such historical wireless broadcast signals and maintained connections, the transportation matching system 104 trains the machine learner to identify an auxiliary computing device from a group of auxiliary computing devices most likely to sustain a wireless network connection for the threshold time period. The transportation matching system 104 can then implement the trained machine learner on the server(s) 102 for the provider client device 112a or include an instance of the trained machine learner within the provider transport application 200.
In addition to automatically initiating a wireless network connection, in certain embodiments, the provider client device 112a can again connect to an auxiliary computing device based on user interactions with options within the provider transport application 200. For example, in some cases, the provider client device 112a detects a user interaction by the provider 110a accepting a transportation request from the transportation matching system 104 to transport a requestor to a destination location. Such user interaction may include the provider client device 112a detecting a selection of request-acceptance option within a graphical user interface of the provider transport application 200. The provider client device 112a subsequently detects the wireless broadcast signal 308d from among a group of wireless broadcast signals. Based on the stored credentials 316, the provider client device 112a connects with the auxiliary computing device 206d for a duration of transportation corresponding to the accepted transportation request. In some such embodiments, for example, the provider client device 112a connects with a wireless camera for a duration of the transportation and terminates the connection based on the provider 110a selecting a drop-off option within a graphical user interface of the provider transport application 200.
This disclosure describes the provider client device 112a as performing various functions in
Conversely, in some embodiments, an auxiliary computing device performs the various functions in
Turning now to
As shown in
At the first time period corresponding to the first location in
As shown in
At the second time period corresponding to the second location, the provider client device 112a detects (and determines a signal strength of) one or both of (i) the wireless broadcast signal 406a from the auxiliary computing device 402a and (ii) wireless broadcast signals 406c and 406d respectively from the auxiliary computing devices 402c and 402d. As before, each wireless broadcast signal comprises a unique device identifier (or unique device name) corresponding to a same type of auxiliary computing device (e.g., a device identifier or device name identifying a wireless camera). Consistent with the disclosure above, the provider client device 112a again determines that the wireless broadcast signal 406a satisfies a signal-strength threshold at the second time period corresponding to the second location.
Based on determining that the wireless broadcast signal 406a from the auxiliary computing device 402a satisfies the signal-strength threshold at the first location corresponding to the first time period and at the second location corresponding to the second time period, the provider client device 112a automatically initiates a wireless network connection 408 between the provider client device 112a and the auxiliary computing device 402a. In some embodiments, the provider client device 112a detects (and determines a signal strength of) wireless broadcast signals at subsequent locations corresponding to subsequent time periods before initiating the wireless network connection 408. By identifying a wireless broadcast signal and a corresponding auxiliary computing device based on a signal-strength threshold across locations and corresponding time periods, the provider client device 112a can more accurately initiate a wireless connection with an auxiliary computing device in closer proximity than other auxiliary computing devices across locations—without the user errors caused by conventional user interfaces of computing devices or errors of existing computing devices focused on the signal strength from a single device in a single time frame with optional periodic updates.
Turning now to
As shown in
By contrast, in some embodiments, the first location of the requestor client device 118a is a threshold distance from a pickup location or corresponds to a location at which the requestor client device 118a launches (or detects selections of an option corresponding to) a requestor transport application. For instance, the first location may correspond to an initial location at which the requestor client device 118a launches the requestor transport application (or detects a selection of an option for audio or video within a graphical user interface) after the transportation matching system 104 sends an indication to the requestor client device 118a that the transportation vehicle 502 has picked up the requestor 116a at a pickup location.
At the first time period corresponding to the first location in
In some embodiments, the first wireless broadcast signal 506a comprises a unique device identifier (or a unique device name) corresponding to a first type of auxiliary computing device (e.g., a wireless speaker, a wireless camera, or a wireless video monitor); and the second wireless broadcast signal 506b comprises a unique device identifier (or a unique device name) corresponding to a second type of auxiliary computing device (e.g., a router within or integrated with the transportation vehicle 502). Further, in certain implementations, the first wireless broadcast signal 506a comports with a first wireless connection protocol (e.g., Bluetooth), while the second wireless broadcast signal 506b comports with a second wireless connection protocol (e.g., Wi-Fi). Although not shown in
Consistent with the disclosure above, the requestor client device 118a determines that the first wireless broadcast signal 506a satisfies a first signal-strength threshold at or near the first time period corresponding to the first location. In some embodiments, the requestor client device 118a further determines that the second wireless broadcast signal 506b satisfies a second signal-strength threshold at or near the first time period corresponding to the first location. When determining that a wireless broadcast signal satisfies the first or second signal-strength thresholds, the requestor client device 118a optionally compares one or both of the first wireless broadcast signal 506a and the second wireless broadcast signal 506b respectively to other wireless broadcast signals.
In some cases, the first signal-strength threshold corresponds to a first type of auxiliary computing device (e.g., a wireless speaker); and the second signal-strength threshold corresponding to a second type of auxiliary computing device (e.g., a wireless camera). Additionally, or alternatively, in certain implementations, the first signal-strength threshold corresponds to a first wireless connection protocol (e.g., Bluetooth), and the second signal-strength threshold corresponding to a second wireless connection protocol (e.g., Wi-Fi). Accordingly, the requestor client device 118a may compare the first wireless broadcast signal 506a to other detected wireless broadcast signals from one or both of a same type of auxiliary computing device and a same wireless connection protocol within a detection range. Similarly, the requestor client device 118a may compare the second wireless broadcast signal 506b to other detected wireless broadcast signals from one or both of a same type of auxiliary computing device and a same wireless connection protocol within a detection range.
As shown in
At the second time period corresponding to the second location in
Consistent with the disclosure above, the requestor client device 118a determines that the first wireless broadcast signal 506a satisfies the first signal-strength threshold—and that the second wireless broadcast signal 506b satisfies the second signal-strength threshold—at or near the second time period corresponding to the second location. Although not shown in
Based on determining that the first wireless broadcast signal 506a satisfies the first signal-strength threshold at the first location corresponding to the first time period and at the second location corresponding to the second time period, in some embodiments, the requestor client device 118a automatically initiates a wireless network connection 508a between the requestor client device 118a and the first auxiliary computing device 504a. Similarly, based on determining that the second wireless broadcast signal 506b satisfies the second signal-strength threshold at or near the first location corresponding to the first time period and at or near the second location corresponding to the second time period, in some embodiments, the requestor client device 118a automatically initiates a wireless network connection 508b between the requestor client device 118a and the second auxiliary computing device 504b. In some embodiments, the requestor client device 118a detects (and determines a signal strength of) wireless broadcast signals at subsequent locations corresponding to subsequent time periods before initiating one or both of the wireless network connection 508a and 508b.
In addition to the requestor client device 118a connecting with multiple auxiliary computing devices, in some embodiments, multiple requestor client devices perform (or attempt to perform) the functions shown in
This disclosure describes the requestor client device 118a as performing various functions in
In some embodiments, the front display 604 may include a cover that divides the display into multiple regions. In some embodiments, separate displays may be associated with each region. The front display 604 can be configured to show colors, patterns, color patterns, or other identifying information to requestors and other users external to a transportation vehicle. In some embodiments, the secondary region or the separate display 606 may be configured to display the same, or contrasting, information as the front display 604.
As further shown in
In addition (or in the alternative) to the description above, in some embodiments, a provider client device detects wireless broadcast signals from and optionally connect with in-vehicle-display devices described a provider communication devices by Yuanyuan Pao et al., Geohash-related Location Predictions, U.S. application Ser. No. 15/479,118 (filed Apr. 4, 2017), and Ethan Duncan Eyler et al., Identifying Matched Requestors and Providers, U.S. application Ser. No. 15/396,417 (filed Dec. 30, 2017), the entire contents of which are hereby incorporated by reference.
Turning now to
As shown in
Further, in some embodiments, the client device comprises a provider client device including a provider transport application and the auxiliary computing device comprises an in-vehicle-display device for communicating messages to requestors of a transportation-matching system. By contrast, in certain implementations, the client device comprises a requestor client device including a requestor transport application and the auxiliary computing device comprises at least one of a wireless camera, a wireless video camera, a wireless speaker, or a wireless video monitor.
As further shown in
For example, in some embodiments, determining that the wireless broadcast signal satisfies the signal-strength threshold at the first time period comprises determining that the wireless broadcast signal corresponds to a strongest wireless broadcast signal from among the plurality of wireless broadcast signals at the first time period. Further, in certain implementations, determining that the wireless broadcast signal satisfies the signal-strength threshold at the first time period comprises determining that the wireless broadcast signal corresponds to a highest detected decibel value or wattage value from among the plurality of wireless broadcast signals corresponding to a plurality of detected decibel values or a plurality of detected wattage values at the first time period.
As suggested above, in some embodiments, determining that the wireless broadcast signal satisfies the signal-strength threshold at the first time period comprises: ranking the plurality of wireless broadcast signals from the plurality of auxiliary computing devices according to wireless-signal strength; and determining that the wireless broadcast signal from the auxiliary computing device corresponds to a highest ranked wireless broadcast signal from among the plurality of wireless broadcast signals.
As further shown in
By contrast, in some embodiments, the act 730 includes determining, by the client device, additional wireless broadcast signals from the plurality of wireless broadcast signals are not detected at the second time period. Further, in certain implementations, the act 730 further includes detecting, by the client device, additional wireless broadcast signals from the plurality of wireless broadcast signals at the second time period; and determining, by the client device, that the additional wireless broadcast signals from the plurality of wireless broadcast signals do not satisfy the signal-strength threshold at the second time period.
As further shown in
In addition to the acts 710-750, in certain implementations, the acts 700 further include detecting, by the client device, the plurality of wireless broadcast signals when the client device is located at a first location at the first time period; determining, by the client device, that the client device is located at a second location that is a threshold distance from the first location; and detecting, by the client device, the wireless broadcast signal from the auxiliary computing device when the client device is located at the second location at the second time period.
In particular, in some cases, the acts 700 further include detecting, by the client device, the plurality of wireless broadcast signals when the client device is located at a first location indicated by a first set of Global Positioning System (“GPS”) data from the client device at the first time period; determining, by the client device, that the client device is located at a second location indicated by a second set of GPS data from the client device, the second location a threshold distance from the first location; and detecting, by the client device, the wireless broadcast signal from the auxiliary computing device when the client device is located at the second location at the second time period.
Additionally, in some embodiments, the acts 700 further include detecting, by the client device, the plurality of wireless broadcast signals based on the client device launching a provider transport application at the first time period; and detecting, by the client device, the wireless broadcast signal from the auxiliary computing device based on the client device launching the provider transport application at the second time period.
As further suggested above, in certain implementations, the acts 700 include storing, by the client device, the device identifier for the auxiliary computing device in a non-transitory-computer-readable storage medium based on determining that the wireless broadcast signal from the auxiliary computing device satisfies the signal-strength threshold at the first time period; and detecting the wireless broadcast signal from the auxiliary computing device at the second time period by scanning for the wireless broadcast signal corresponding to the stored device identifier. Similarly, in some embodiments, the acts 700 further include storing, by the client device, the device identifier for the auxiliary computing device in a non-transitory-computer-readable storage medium based on determining that the wireless broadcast signal from the auxiliary computing device corresponds to the highest ranked wireless broadcast signal.
Additionally, in some embodiments, the acts 700 include detecting, by the client device, the wireless broadcast signal from the auxiliary computing device at additional time periods in separate intervals; determining, by the client device, that the wireless broadcast signal from the auxiliary computing device satisfies the signal-strength threshold at the additional time periods in the separate intervals; and based on determining that the wireless broadcast signal from the auxiliary computing device satisfies the signal-strength threshold at the first time period, the second time period, and the additional time periods, initiating, by the client device, the wireless network connection between the client device with the auxiliary computing device.
As noted above, a client device sometimes determines an auxiliary computing device with which it initiates a wireless network connection is unavailable. In some embodiments, the acts 700 further include determining, by the client device, the auxiliary computing device is unavailable for establishing the wireless network connection; detecting, by the client device, an additional wireless broadcast signal at additional time periods in separate intervals, the additional wireless broadcast signal comprising an additional device identifier for an additional auxiliary computing device; determining, by the client device, that the additional wireless broadcast signal from the additional auxiliary computing device satisfies the signal-strength threshold at the additional time periods in the separate intervals; and based on determining that the additional wireless broadcast signal from the additional auxiliary computing device satisfies the signal-strength threshold at the additional time periods, initiating, by the client device, the wireless network connection between the client device and the additional auxiliary computing device.
By contrast, in some cases, a client device successfully initiates a wireless network connection or later reconnecting with an auxiliary computing device. For example, in some embodiments, the acts 700 further include detecting, by the client device, a user interaction accepting a transportation request from a transportation matching system; detecting, by the client device, the wireless broadcast signal from the auxiliary computing device among a plurality of wireless broadcast signals; and connecting, by the client device, with the auxiliary computing device for a duration of transportation corresponding to the accepted transportation request.
Embodiments of the present disclosure may comprise or utilize a special-purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments within the scope of the present disclosure also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. In particular, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices (e.g., any of the media content access devices described herein). In general, a processor (e.g., a microprocessor) receives instructions, from a non-transitory computer-readable medium, (e.g., a memory, etc.), and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.
Computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are non-transitory computer-readable storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the disclosure can comprise at least two distinctly different kinds of computer-readable media: non-transitory computer-readable storage media (devices) and transmission media.
Non-transitory computer-readable storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or generators and/or other electronic devices. When information is transferred, or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to non-transitory computer-readable storage media (devices) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface generator (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media (devices) at a computer system. Thus, it should be understood that non-transitory computer-readable storage media (devices) can be included in computer system components that also (or even primarily) utilize transmission media.
Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general-purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. In one or more embodiments, computer-executable instructions are executed on a general-purpose computer to turn the general-purpose computer into a special purpose computer implementing elements of the disclosure. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural marketing features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described marketing features or acts described above. Rather, the described marketing features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program generators may be located in both local and remote memory storage devices.
Embodiments of the present disclosure can also be implemented in cloud computing environments. In this description, “cloud computing” is defined as a subscription model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing can be employed in the marketplace to offer ubiquitous and convenient on-demand access to the shared pool of configurable computing resources. The shared pool of configurable computing resources can be rapidly provisioned via virtualization and released with low management effort or service provider interaction, and then scaled accordingly.
A cloud-computing subscription model can be composed of various characteristics such as, for example, on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud-computing subscription model can also expose various service subscription models, such as, for example, Software as a Service (“SaaS”), a web service, Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computing subscription model can also be deployed using different deployment subscription models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth. In this description and in the claims, a “cloud-computing environment” is an environment in which cloud computing is employed.
As shown in
In particular embodiments, the processor(s) 802 includes hardware for executing instructions, such as those making up a computer program. As an example, and not by way of limitation, to execute instructions, the processor(s) 802 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 804, or a storage device 806 and decode and execute them.
The computing device 800 includes memory 804, which is coupled to the processor(s) 802. The memory 804 may be used for storing data, metadata, and programs for execution by the processor(s). The memory 804 may include one or more of volatile and non-volatile memories, such as Random-Access Memory (“RAM”), Read-Only Memory (“ROM”), a solid-state disk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of data storage. The memory 804 may be internal or distributed memory.
The computing device 800 includes a storage device 806 includes storage for storing data or instructions. As an example, and not by way of limitation, the storage device 806 can include a non-transitory storage medium described above. The storage device 806 may include a hard disk drive (“HDD”), flash memory, a Universal Serial Bus (“USB”) drive or a combination these or other storage devices.
As shown, the computing device 800 includes one or more I/O interfaces 808, which are provided to allow a user to provide input to (such as user strokes), receive output from, and otherwise transfer data to and from the computing device 800. These I/O interfaces 808 may include a mouse, keypad or a keyboard, a touch screen, camera, optical scanner, network interface, modem, other known I/O devices or a combination of such I/O interfaces 808. The touch screen may be activated with a stylus or a finger.
The I/O interfaces 808 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, I/O interfaces 808 are configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.
The computing device 800 can further include a communication interface 810. The communication interface 810 can include hardware, software, or both. The communication interface 810 provides one or more interfaces for communication (such as, for example, packet-based communication) between the computing device and one or more other computing devices or one or more networks. As an example, and not by way of limitation, communication interface 810 may include a network interface controller (“NIC”) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (“WNIC”) or wireless adapter for communicating with a wireless network, such as a WI-FI. The computing device 800 can further include a bus 812. The bus 812 can include hardware, software, or both that connects components of computing device 800 to each other.
This disclosure contemplates any suitable network 904. As an example, and not by way of limitation, one or more portions of the network 904 may include an ad hoc network, an intranet, an extranet, a virtual private network (“VPN”), a local area network (“LAN”), a wireless LAN (“WLAN”), a wide area network (“WAN”), a wireless WAN (“WWAN”), a metropolitan area network (“MAN”), a portion of the Internet, a portion of the Public Switched Telephone Network (“PSTN”), a cellular telephone network, or a combination of two or more of these. The network 904 may include one or more networks 904.
Links may connect the client device 906, the transportation matching system 902, and the vehicle subsystem 908 to the network 904 or to each other. This disclosure contemplates any suitable links. In particular embodiments, one or more links include one or more wireline (such as for example Digital Subscriber Line (“DSL”) or Data Over Cable Service Interface Specification (“DOCSIS”), wireless (such as for example Wi-Fi or Worldwide Interoperability for Microwave Access (“WiMAX”), or optical (such as for example Synchronous Optical Network (“SONET”) or Synchronous Digital Hierarchy (“SDH”) links. In particular embodiments, one or more links each include an ad hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a portion of the PSTN, a cellular technology-based network, a satellite communications technology-based network, another link, or a combination of two or more such links. Links need not necessarily be the same throughout the network environment 900. One or more first links may differ in one or more respects from one or more second links.
In particular embodiments, the client device 906 may be an electronic device including hardware, software, or embedded logic components or a combination of two or more such components and capable of carrying out the appropriate functionalities implemented or supported by the client device 906. As an example, and not by way of limitation, a client device 906 may include any of the computing devices discussed above in relation to
In particular embodiments, the client device 906 may include a transportation service application or a web browser, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons, plug-ins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A user at the client device 906 may enter a Uniform Resource Locator (“URL”) or other address directing the web browser to a particular server (such as server), and the web browser may generate a Hyper Text Transfer Protocol (“HTTP”) request and communicate the HTTP request to server. The server may accept the HTTP request and communicate to client device 906 one or more Hyper Text Markup Language (“HTML”) files responsive to the HTTP request. The client device 906 may render a webpage based on the HTML files from the server for presentation to the user. This disclosure contemplates any suitable webpage files. As an example, and not by way of limitation, webpages may render from HTML files, Extensible Hyper Text Markup Language (“XHTML”) files, or Extensible Markup Language (“XML”) files, according to particular needs. Such pages may also execute scripts such as, for example and without limitation, those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinations of markup language and scripts such as AJAX (Asynchronous JAVASCRIPT and XML), and the like. Herein, reference to a webpage encompasses one or more corresponding webpage files (which a browser may use to render the webpage) and vice versa, where appropriate.
In particular embodiments, the transportation matching system 902 may be a network-addressable computing system that can host a ride share transportation network. The transportation matching system 902 may generate, store, receive, and send data, such as, for example, user-profile data, concept-profile data, text data, ride request data, GPS location data, provider data, requester data, vehicle data, or other suitable data related to the ride share transportation network. This may include authenticating the identity of providers and/or vehicles who are authorized to provide ride services through the transportation matching system 902. In addition, the transportation service system may manage identities of service requestors such as users/requesters. In particular, the transportation service system may maintain requester data such as driving/riding histories, personal data, or other user data in addition to navigation and/or traffic management services or other location services (e.g., GPS services).
In particular embodiments, the transportation matching system 902 may manage ride matching services to connect a user/requester with a vehicle and/or provider. By managing the ride matching services, the transportation matching system 902 can manage the distribution and allocation of vehicle subsystem resources and user resources such as GPS location and availability indicators, as described herein.
The transportation matching system 902 may be accessed by the other components of the network environment 900 either directly or via network 904. In particular embodiments, the transportation matching system 902 may include one or more servers. Each server may be a unitary server or a distributed server spanning multiple computers or multiple datacenters. Servers may be of various types, such as, for example and without limitation, web server, news server, mail server, message server, advertising server, file server, application server, exchange server, database server, proxy server, another server suitable for performing functions or processes described herein, or any combination thereof. In particular embodiments, each server may include hardware, software, or embedded logic components or a combination of two or more such components for carrying out the appropriate functionalities implemented or supported by server. In particular embodiments, the transportation matching system 902 may include one or more data stores. Data stores may be used to store various types of information. In particular embodiments, the information stored in data stores may be organized according to specific data structures. In particular embodiments, each data store may be a relational, columnar, correlation, or other suitable database. Although this disclosure describes or illustrates particular types of databases, this disclosure contemplates any suitable types of databases. Particular embodiments may provide interfaces that enable a client device 906, or a transportation matching system 902 to manage, retrieve, modify, add, or delete, the information stored in data store.
In particular embodiments, the transportation matching system 902 may provide users with the ability to take actions on various types of items or objects, supported by the transportation matching system 902. As an example, and not by way of limitation, the items and objects may include ride share networks to which users of the transportation matching system 902 may belong, vehicles that users may request, location designators, computer-based applications that a user may use, transactions that allow users to buy or sell items via the service, interactions with advertisements that a user may perform, or other suitable items or objects. A user may interact with anything that is capable of being represented in the transportation matching system 902 or by an external system of a third-party system, which is separate from the transportation matching system 902 and coupled to the transportation matching system 902 via a network 904.
In particular embodiments, the transportation matching system 902 may be capable of linking a variety of entities. As an example, and not by way of limitation, the transportation matching system 902 may enable users to interact with each other or other entities, or to allow users to interact with these entities through an application programming interfaces (“API”) or other communication channels.
In particular embodiments, the transportation matching system 902 may include a variety of servers, sub-systems, programs, modules, logs, and data stores. In particular embodiments, the transportation matching system 902 may include one or more of the following: a web server, action logger, API-request server, relevance-and-ranking engine, content-object classifier, notification controller, action log, third-party-content-object-exposure log, inference module, authorization/privacy server, search module, advertisement-targeting module, user-interface module, user-profile store, connection store, third-party content store, or location store. The transportation matching system 902 may also include suitable components such as network interfaces, security mechanisms, load balancers, failover servers, management-and-network-operations consoles, other suitable components, or any suitable combination thereof. In particular embodiments, the transportation matching system 902 may include one or more user-profile stores for storing user profiles. A user profile may include, for example, biographic information, demographic information, behavioral information, social information, or other types of descriptive information, such as work experience, educational history, hobbies or preferences, interests, affinities, or location.
The web server may include a mail server or other messaging functionality for receiving and routing messages between the transportation matching system 902 and one or more client devices 906. An action logger may be used to receive communications from a web server about a user's actions on or off the transportation matching system 902. In conjunction with the action log, a third-party-content-object log may be maintained of user exposures to third-party-content objects. A notification controller may provide information regarding content objects to a client device 906. Information may be pushed to a client device 906 as notifications, or information may be pulled from the client device 906 responsive to a request received from the client device 906. Authorization servers may be used to enforce one or more privacy settings of the users of the transportation matching system 902. A privacy setting of a user determines how particular information associated with a user can be shared. The authorization server may allow users to opt in to or opt out of having their actions logged by the transportation matching system 902 or shared with other systems, such as, for example, by setting appropriate privacy settings. Third-party-content-object stores may be used to store content objects received from third parties. Location stores may be used for storing location information received from the client devices 906 associated with users.
In addition, the vehicle subsystem 908 can include a human-operated vehicle or an autonomous vehicle. A provider of a human-operated vehicle can perform maneuvers to pick up, transport, and drop off one or more requesters according to the embodiments described herein. In certain embodiments, the vehicle subsystem 908 can include an autonomous vehicle—i.e., a vehicle that does not require a human operator. In these embodiments, the vehicle subsystem 908 can perform maneuvers, communicate, and otherwise function without the aid of a human provider, in accordance with available technology.
In particular embodiments, the vehicle subsystem 908 may include one or more sensors incorporated therein or associated thereto. For example, sensor(s) can be mounted on the top of the vehicle subsystem 908 or else can be located within the interior of the vehicle subsystem 908. In certain embodiments, the sensor(s) can be located in multiple areas at once—i.e., split up throughout the vehicle subsystem 908 so that different components of the sensor(s) can be placed in different locations in accordance with optimal operation of the sensor(s). In these embodiments, the sensor(s) can include a LIDAR sensor and an inertial measurement unit (“IMU”) including one or more accelerometers, one or more gyroscopes, and one or more magnetometers. The sensor suite can additionally or alternatively include a wireless IMU (“WIMU”), one or more cameras, one or more microphones, or other sensors or data input devices capable of receiving and/or recording information relating to navigating a route to pick up, transport, and/or drop off a requester.
In particular embodiments, the vehicle subsystem 908 may include a communication device capable of communicating with the client device 906 and/or the transportation matching system 902. For example, the vehicle subsystem 908 can include an on-board computing device communicatively linked to the network 904 to transmit and receive data such as GPS location information, sensor-related information, requester location information, or other relevant information.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the invention(s) are described with reference to details discussed herein, and the accompanying drawings illustrate the various embodiments. The description above and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. For example, the methods described herein may be performed with less or more steps/acts or the steps/acts may be performed in differing orders. Additionally, the steps/acts described herein may be repeated or performed in parallel with one another or in parallel with different instances of the same or similar steps/acts. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Number | Name | Date | Kind |
---|---|---|---|
D119041 | MacDonald et al. | Feb 1940 | S |
D205209 | Priddis | Jul 1966 | S |
D306042 | Evenson | Feb 1990 | S |
D307447 | Evenson | Apr 1990 | S |
D319848 | Hofman | Sep 1991 | S |
D320235 | Hofman | Sep 1991 | S |
D327506 | Bartholomai et al. | Jun 1992 | S |
D374191 | Terrebonne et al. | Oct 1996 | S |
5918397 | Elmer | Jul 1999 | A |
D418493 | Jobs et al. | Jan 2000 | S |
6028537 | Suman et al. | Feb 2000 | A |
6271805 | Yonezawa | Aug 2001 | B1 |
D493454 | Andre et al. | Jul 2004 | S |
6759965 | Hatjasalo et al. | Jul 2004 | B1 |
D508538 | Furr | Aug 2005 | S |
D521471 | Hoehn et al. | May 2006 | S |
D527359 | Rashid | Aug 2006 | S |
D567876 | Au et al. | Apr 2008 | S |
7360248 | Kanevsky et al. | Apr 2008 | B1 |
D582394 | Hong et al. | Dec 2008 | S |
D624557 | Allen et al. | Sep 2010 | S |
D642159 | Joseph | Jul 2011 | S |
D659677 | Kim et al. | May 2012 | S |
8823508 | Thiruvengada et al. | Sep 2014 | B2 |
D732049 | Amin | Jun 2015 | S |
9066206 | Lin et al. | Jun 2015 | B2 |
9070101 | Abhyanker | Jun 2015 | B2 |
D734349 | Amin et al. | Jul 2015 | S |
D738901 | Amin | Sep 2015 | S |
9151614 | Poppen et al. | Oct 2015 | B2 |
D743978 | Amin | Nov 2015 | S |
9230292 | Amin et al. | Jan 2016 | B2 |
D749116 | Luo | Feb 2016 | S |
D749543 | Lovegrove | Feb 2016 | S |
D750110 | Amin et al. | Feb 2016 | S |
D754675 | Vazquez et al. | Apr 2016 | S |
9327641 | Bowe et al. | May 2016 | B1 |
D759032 | Amin et al. | Jun 2016 | S |
9392418 | Lubeck | Jul 2016 | B2 |
D763894 | Lamparelli | Aug 2016 | S |
D766302 | Phelan et al. | Sep 2016 | S |
9442888 | Stanfield et al. | Sep 2016 | B2 |
9459622 | Abhyanker | Oct 2016 | B2 |
D772454 | Ma | Nov 2016 | S |
9494938 | Kemler et al. | Nov 2016 | B1 |
D773941 | Holzer | Dec 2016 | S |
9536271 | Kalanick et al. | Jan 2017 | B2 |
9552564 | Martenis | Jan 2017 | B1 |
9628975 | Watkins et al. | Apr 2017 | B1 |
9635319 | Englander et al. | Apr 2017 | B1 |
9650007 | Snyder et al. | May 2017 | B1 |
9754338 | Haparnas et al. | Sep 2017 | B2 |
9769616 | Pao et al. | Sep 2017 | B1 |
9787951 | Kannon et al. | Oct 2017 | B2 |
D803812 | Liu et al. | Nov 2017 | S |
9827897 | Muir | Nov 2017 | B1 |
D806293 | Pennington | Dec 2017 | S |
D812609 | Kimbrough et al. | Mar 2018 | S |
D819068 | Scheel et al. | May 2018 | S |
9965960 | McDavitt-Van Fleet | May 2018 | B1 |
10147154 | Haparnas et al. | Dec 2018 | B2 |
10300876 | Jacob et al. | May 2019 | B1 |
10310505 | Hanson et al. | Jun 2019 | B1 |
D854568 | Hu | Jul 2019 | S |
10365783 | Bowden et al. | Jul 2019 | B2 |
10400975 | Bushre | Sep 2019 | B1 |
D868895 | McMillin et al. | Dec 2019 | S |
D875115 | Yan | Feb 2020 | S |
D875133 | Wang et al. | Feb 2020 | S |
10554783 | Matthiesen et al. | Feb 2020 | B2 |
D879804 | Corona et al. | Mar 2020 | S |
D880498 | Shahidi et al. | Apr 2020 | S |
D880499 | Fatnani et al. | Apr 2020 | S |
10636108 | Eyler et al. | Apr 2020 | B2 |
10688919 | Kalanick et al. | Jun 2020 | B2 |
D896237 | Bentley et al. | Sep 2020 | S |
10759442 | Stenneth et al. | Sep 2020 | B2 |
10791536 | Murphy | Sep 2020 | B1 |
D904425 | Paul | Dec 2020 | S |
D907660 | Lee et al. | Jan 2021 | S |
D912686 | Yang | Mar 2021 | S |
D915440 | Kim et al. | Apr 2021 | S |
D915449 | Menninger | Apr 2021 | S |
D916720 | Park et al. | Apr 2021 | S |
D916764 | Kirsanov et al. | Apr 2021 | S |
D917544 | Wong | Apr 2021 | S |
D931902 | Moore et al. | Sep 2021 | S |
11118930 | Eyler et al. | Sep 2021 | B2 |
D935443 | Yuan | Nov 2021 | S |
11443398 | Haparnas et al. | Sep 2022 | B2 |
D967266 | McMillin et al. | Oct 2022 | S |
20020065046 | Mankins et al. | May 2002 | A1 |
20030217150 | Roese et al. | Nov 2003 | A1 |
20040243430 | Horstemeyer | Dec 2004 | A1 |
20050030224 | Koch | Feb 2005 | A1 |
20050100329 | Lao et al. | May 2005 | A1 |
20050109075 | Kithil et al. | May 2005 | A1 |
20060290158 | Cullison | Dec 2006 | A1 |
20070133210 | Watson et al. | Jun 2007 | A1 |
20070179709 | Doyle | Aug 2007 | A1 |
20080084360 | Shingai | Apr 2008 | A1 |
20080114629 | Pavlov | May 2008 | A1 |
20080195428 | O'Sullivan | Aug 2008 | A1 |
20080284578 | Mouratidis | Nov 2008 | A1 |
20090044235 | Davidson | Feb 2009 | A1 |
20090099732 | Pisz | Apr 2009 | A1 |
20090160229 | Mabuchi et al. | Jun 2009 | A1 |
20090248283 | Bicego, Jr. | Oct 2009 | A1 |
20090319181 | Khosravy et al. | Dec 2009 | A1 |
20100112945 | Hanif | May 2010 | A1 |
20100283609 | Remer | Nov 2010 | A1 |
20110156894 | Lin et al. | Jun 2011 | A1 |
20110195758 | Damale | Aug 2011 | A1 |
20110301985 | Camp et al. | Dec 2011 | A1 |
20120081389 | Dilts | Apr 2012 | A1 |
20120137256 | Lalancette et al. | May 2012 | A1 |
20120290652 | Boskovic | Nov 2012 | A1 |
20130018795 | Kolhatkar et al. | Jan 2013 | A1 |
20130096827 | McCall et al. | Apr 2013 | A1 |
20130132140 | Amin et al. | May 2013 | A1 |
20130332026 | McKown | Dec 2013 | A1 |
20140011522 | Lin et al. | Jan 2014 | A1 |
20140129951 | Amin et al. | May 2014 | A1 |
20140172727 | Abhyanker et al. | Jun 2014 | A1 |
20140266594 | Reiser | Sep 2014 | A1 |
20150148989 | Cooper et al. | May 2015 | A1 |
20150161564 | Sweeney et al. | Jun 2015 | A1 |
20150161752 | Barreto et al. | Jun 2015 | A1 |
20150166009 | Outwater et al. | Jun 2015 | A1 |
20150199664 | Buckman et al. | Jul 2015 | A1 |
20150210287 | Penilla et al. | Jul 2015 | A1 |
20150262430 | Farrelly et al. | Sep 2015 | A1 |
20150271290 | Tao et al. | Sep 2015 | A1 |
20150289109 | Lubeck et al. | Oct 2015 | A1 |
20150317801 | Bentley et al. | Nov 2015 | A1 |
20150332425 | Kalanick et al. | Nov 2015 | A1 |
20150339923 | Konig | Nov 2015 | A1 |
20150348408 | Demisse | Dec 2015 | A1 |
20150352947 | Hubschman et al. | Dec 2015 | A1 |
20150356470 | Mitchell | Dec 2015 | A1 |
20160016526 | Louboutin | Jan 2016 | A1 |
20160027307 | Abhyanker et al. | Jan 2016 | A1 |
20160034828 | Sarawgi et al. | Feb 2016 | A1 |
20160034845 | Hiyama et al. | Feb 2016 | A1 |
20160086391 | Ricci | Mar 2016 | A1 |
20160093212 | Barfield, Jr. et al. | Mar 2016 | A1 |
20160094964 | Barfield, Jr. et al. | Mar 2016 | A1 |
20160117610 | Ikeda | Apr 2016 | A1 |
20160119260 | Ghafourifar et al. | Apr 2016 | A1 |
20160140649 | Kleve et al. | May 2016 | A1 |
20160292596 | Gaitan et al. | Oct 2016 | A1 |
20160293012 | Lubeck | Oct 2016 | A1 |
20160321566 | Liu et al. | Nov 2016 | A1 |
20160321771 | Liu et al. | Nov 2016 | A1 |
20160334232 | Zhuang | Nov 2016 | A1 |
20160349067 | Fowe | Dec 2016 | A1 |
20160364678 | Cao | Dec 2016 | A1 |
20170038948 | Cun et al. | Feb 2017 | A1 |
20170052034 | Magazinik | Feb 2017 | A1 |
20170053574 | Byrd | Feb 2017 | A1 |
20170090850 | Amrhein et al. | Mar 2017 | A1 |
20170115125 | Outwater et al. | Apr 2017 | A1 |
20170124835 | Boyina et al. | May 2017 | A1 |
20170147959 | Sweeney et al. | May 2017 | A1 |
20170178269 | McKinnon et al. | Jun 2017 | A1 |
20170193404 | Yoo et al. | Jul 2017 | A1 |
20170193826 | Marueli et al. | Jul 2017 | A1 |
20170270794 | Sweeney | Sep 2017 | A1 |
20170305332 | Albou et al. | Oct 2017 | A1 |
20170350719 | Moore et al. | Dec 2017 | A1 |
20180047091 | Ogden et al. | Feb 2018 | A1 |
20180053215 | E Costa | Feb 2018 | A1 |
20180060827 | Abbas et al. | Mar 2018 | A1 |
20180089605 | Poornachandran et al. | Mar 2018 | A1 |
20180189713 | Matthiesen et al. | Jul 2018 | A1 |
20180191863 | Matthiesen et al. | Jul 2018 | A1 |
20180203591 | Callen et al. | Jul 2018 | A1 |
20180262891 | Wu et al. | Sep 2018 | A1 |
20190050787 | Munafo et al. | Feb 2019 | A1 |
20190073738 | Haparnas et al. | Mar 2019 | A1 |
20190283763 | Wang | Sep 2019 | A1 |
20200104601 | Karoui et al. | Apr 2020 | A1 |
20200105130 | Chen et al. | Apr 2020 | A1 |
20200107226 | Raleigh | Apr 2020 | A1 |
20200126325 | Jeon et al. | Apr 2020 | A1 |
20200151675 | McCormack | May 2020 | A1 |
20200228628 | Matthiesen et al. | Jul 2020 | A1 |
20210097315 | Carruthers et al. | Apr 2021 | A1 |
20210118078 | Wang et al. | Apr 2021 | A1 |
20210192241 | Zhu et al. | Jun 2021 | A1 |
20210402942 | Torabi et al. | Dec 2021 | A1 |
20220237277 | Rahman et al. | Jul 2022 | A1 |
20220238052 | Vitiello et al. | Jul 2022 | A1 |
20220358800 | Ham | Nov 2022 | A1 |
Number | Date | Country |
---|---|---|
174696 | Aug 2019 | CA |
104992509 | Oct 2015 | CN |
304613845 | May 2018 | CN |
2605459 | Jun 2013 | EP |
2003-151081 | May 2003 | JP |
2004-038672 | Feb 2004 | JP |
2004-078639 | Mar 2004 | JP |
3818127 | Sep 2006 | JP |
3975380 | Sep 2007 | JP |
2016-182855 | Oct 2016 | JP |
10-2010-0129531 | Dec 2010 | KR |
2012-0024135 | Mar 2012 | KR |
10-2015-0045962 | Apr 2015 | KR |
10 1518140 | May 2015 | KR |
2016-0063474 | Jun 2016 | KR |
WO 2008100489 | Aug 2008 | WO |
WO 2018064532 | Apr 2018 | WO |
WO 2018125827 | Jul 2018 | WO |
WO 2018125831 | Jul 2018 | WO |
Entry |
---|
Examination Report as received in Australian Application 2017336943 dated Dec. 20, 2019. |
International Search Report and Written Opinion as received in PCT/2017/054409 dated Jan. 10, 2018. |
International Search Report and Written Opinion as received in PCTUS2017068283, dated Apr. 17, 2018. |
International Search Report & Written Opinion as received in PCT/US2017/068295 dated Apr. 23, 2018. |
Office Action as received in Canadian Application 3,035,259 dated Feb. 20, 2020. |
Range: For Youth, apppicker.com [online], released on Apr. 10, 2014, [retrieved on Feb. 6, 2020], retrieved from the Internet <URL: https://www.apppicker.com/apps/853769848/range-for-youth> (Year: 2014). |
Examiner's Report as received in Canadian application 174696 dated May 17, 2018. |
Examiner's Report as received in Canadian application 174696 dated Feb. 6, 2018. |
Examiner's Report as received in Canadian application 181231 dated May 17, 2018. |
Examiner's Report as received in Canadian application 181231 dated Feb. 6, 2019. |
First Examination Report as received in Indian patent application 293635 dated Jun. 8, 2017. |
First Examination Report as received in Indian patent application 293636 dated Jun. 13, 2017. |
Office Action as received in Mexican Application MX/f/2017/001364 date Jul. 20, 2020 [No English translation available]. |
U.S. Appl. No. 29/650,461, Feb. 12, 2020, Office Action. |
U.S. Appl. No. 29/650,461, May 13, 2020, Notice of Allowance. |
U.S. Appl. No. 15/396,417, May 5, 2017, Office Action. |
U.S. Appl. No. 15/396,417, Sep. 5, 2017, Office Action. |
U.S. Appl. No. 15/396,417, Jun. 14, 2018, Office Action. |
U.S. Appl. No. 15/396,417, Jan. 10, 2019, Office Action. |
U.S. Appl. No. 15/396,417, Sep. 26, 2019, Office Action. |
U.S. Appl. No. 15/396,417, Feb. 11, 2020, Notice of Allowance. |
U.S. Appl. No. 15/396,390, Mar. 7, 2019, Office Action. |
U.S. Appl. No. 15/396,390, Oct. 8, 2019, Notice of Allowance. |
U.S. Appl. No. 15/396,164, Mar. 22, 2019, Office Action. |
U.S. Appl. No. 15/396,164, Oct. 31, 2019, Office Action. |
U.S. Appl. No. 15/396,164, Apr. 22, 2020, Office Action. |
U.S. Appl. No. 29/584,381, Jan. 4, 2019, Restriction Requirement. |
U.S. Appl. No. 29/584,381, Apr. 12, 2019, Office Action. |
U.S. Appl. No. 29/584,381, Jul. 25, 2019, Notice of Allowance. |
U.S. Appl. No. 16/749,798, Oct. 7, 2020, Office Action. |
U.S. Appl. No. 29/748,123, Jan. 7, 2021, Office Action. |
U.S. Appl. No. 15/396,164, Nov. 23, 2020, Office Action. |
U.S. Appl. No. 16/834,820, Dec. 8, 2022, Office Action. |
U.S. Appl. No. 16/852,253, Nov. 1, 2022, Office Action. |
U.S. Appl. No. 17/343,419, Nov. 8, 2022, Office Action. |
U.S. Appl. No. 29/747,914, Dec. 5, 2022, Restriction Requirement. |
U.S. Appl. No. 14/880,042, Jun. 23, 2016, Office Action. |
U.S. Appl. No. 14/880,042, Nov. 29, 2016, Office Action. |
U.S. Appl. No. 14/880,042, Apr. 19, 2017, Notice of Allowance. |
U.S. Appl. No. 15/680,571, Apr. 2, 2018, Office Action. |
U.S. Appl. No. 15/680,571, Aug. 14, 2018, Notice of Allowance. |
U.S. Appl. No. 16/171,860, Aug. 19, 2019, Office Action. |
U.S. Appl. No. 16/171,860, Nov. 19, 2019, Notice of Allowance. |
U.S. Appl. No. 16/171,860, Dec. 30, 2019, Office Action. |
U.S. Appl. No. 16/171,860, Jun. 30, 2020, Office Action. |
U.S. Appl. No. 16/171,860, Sep. 21, 2020, Office Action. |
U.S. Appl. No. 16/171,860, Jan. 12, 2021, Office Action. |
U.S. Appl. No. 16/171,860, Feb. 11, 2022, Office Action. |
U.S. Appl. No. 16/171,860, May 17, 2022, Notice of Allowance. |
U.S. Appl. No. 17/822,665, Jan. 13, 2023, Office Action. |
U.S. Appl. No. 29/748,123, May 14, 2021, Office Action. |
U.S. Appl. No. 15/396,164, Jul. 20, 2021, Office Action. |
Examiner's Report as received in Canadian application 3,035,259 dated May 5, 2021. |
H. A. N. C. Bandara, A Multi-Agent System for Dynamic Ride Sharing, Dec. 28-31, 2009, Fourth International Conference on Industrial and Information Systems, ICIIS 2009 (Year: 2009). |
U.S. Appl. No. 15/396,164, Sep. 22, 2022, Notice of Allowance. |
U.S. Appl. No. 16/852,253, Jul. 15, 2022, Office Action. |
U.S. Appl. No. 15/396,164, Apr. 8, 2022, Office Action. |
U.S. Appl. No. 29/713,840, Apr. 5, 2022, Ex Parte Quayle Action. |
U.S. Appl. No. 29/713,840, Jun. 14, 2022, Notice of Allowance. |
U.S. Appl. No. 16/834,820, May 4, 2022, Office Action. |
U.S. Appl. No. 17/343,419, Jun. 20, 2022, Office Action. |
U.S. Appl. No. 16/834,820, Mar. 16, 2023, Office Action. |
U.S. Appl. No. 16/852,253, Feb. 28, 2023, Office Action. |
U.S. Appl. No. 17/343,419, Mar. 15, 2023, Notice of Allowance. |
U.S. Appl. No. 29/747,914, Feb. 27, 2023, Office Action. |
U.S. Appl. No. 29/747,914, Apr. 12, 2023, Notice of Allowance. |
U.S. Appl. No. 16/852,253, Jul. 3, 2023, Office Action. |
U.S. Appl. No. 17/822,665, May 30, 2023, Office Action. |
U.S. Appl. No. 16/749,798, Feb. 9, 2021, Notice of Allowance. |
U.S. Appl. No. 16/749,798, Sep. 14, 2023, Notice of Allowance. |
U.S. Appl. No. 16/852,253, Oct. 12, 2023, Office Action. |
U.S. Appl. No. 17/822,665, Sep. 11, 2023, Notice of Allowance. |
Number | Date | Country | |
---|---|---|---|
20200383153 A1 | Dec 2020 | US |