Patent Description:
Generally, a "vehicle" can refer to any moveable platform that can be used to carry cargo or human occupants. A "cargo item" can refer to any physical item that is to be delivered from one location to another location. "Cargo" can refer to one or more cargo items. Examples of vehicles can include a truck, a car, a tractor, a trailer, a railed vehicle (e.g., a train), a water craft (e.g., a ship), an aircraft, a spacecraft, and so forth.

Infrastructure can be provided along roads to perform various tasks with respect to vehicles and/or the content of the vehicles, where "content" can refer to either cargo or a human occupant(s), or both. Examples of infrastructure that can be provided along a road can include any or some combination of the following vehicle receiving stations: a border crossing station, an inspection station, a content loading/unloading station, a toll station, or any other type of infrastructure. As used here, a "vehicle receiving station" can refer to a facility, or a part of a facility, that is used to perform specified task(s) with respect to a vehicle or the content of the vehicle. The vehicle receiving station can include equipment, a building, and/or a human operator(s).

A border crossing station is used at the border between different jurisdictions (e.g., different countries, different states or provinces, etc.) to control the ingress or egress of vehicles or content of vehicles between the jurisdictions. A border crossing station can include an immigration station that is used to check (as part of an immigration entry inspection) that human occupants have the proper permissions to enter or leave a jurisdiction. As another example, a border crossing station can include a customs station, which is used to control the import or export of cargo, and/or to apply duty or tariffs to the cargo that is being imported or exported.

An inspection station can refer to a station that is used to inspect vehicles or contents of vehicles. For example, an inspection station can be used to inspect a vehicle to ensure compliance of the vehicle with one or more criteria, such as a weight criterion (to ensure that the vehicle does not exceed a specified weight), a safety criterion (to ensure that an operating condition of the vehicle satisfies safety issues), and so forth. Operating conditions of a vehicle can include any or some combination of the following: a condition of a brake of the vehicle, a tire pressure of the vehicle, a level of a fluid in the vehicle, a condition of a light on the vehicle, and so forth. The content of a vehicle can also be inspected by an inspection station. For example, the cargo of a vehicle can be inspected to ensure that the vehicle is not carrying contraband or hazardous cargo. A human occupant can be inspected to ensure that the occupant is not intoxicated or under the influence of drugs. As further examples, the inspection station can inspect occupants in a search for fugitives or persons with criminal records.

A content loading or unloading station can refer to a station that is used to load or unload the content of a vehicle. For example, the content loading or unloading station can refer to a dock yard that is used for receiving trucks or trailers that are carrying cargo. At the dock yard, cargo can be loaded onto or unloaded from the trucks or trailers. As another example, the content loading or unloading station can refer to a bus station, an airport, a seaport, and so forth, at which humans can enter or exit vehicles.

A toll station can refer to a station that is used to collect tolls from vehicles passing specific points. A toll station can be provided on a toll road, for example. As another example, a toll station can be provided at the entry or exit of an infrastructure, such as a parking lot, and so forth.

Although specific examples of vehicle receiving stations are provided above, it is noted that other examples of vehicle receiving stations can be used.

<FIG> is a block diagram of an example arrangement that includes a vehicle receiving station <NUM> that is used for performing a specified action with respect to a vehicle <NUM>. The vehicle receiving station <NUM> can include any of the following: a border crossing station, an inspection station, a content loading or unloading station, a toll station, and so forth. In the example of <FIG>, the vehicle receiving station <NUM> includes a vehicle receiving action engine <NUM>. The vehicle receiving action engine <NUM> is able to perform an action based on information received from the vehicle <NUM>.

The vehicle receiving action engine <NUM> can be implemented using a hardware processing circuit which can include any or some combination of the following: a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit device, a programmable gate array, or any other type of hardware processing circuit. In other examples, the vehicle receiving action engine <NUM> can be implemented as a combination of a hardware processing circuit and machine-readable instructions executable on the hardware processing circuit. Moreover, the vehicle receiving action engine <NUM> can be implemented with a computer system or a distributed arrangement of computer systems (such as a part of a server system, a cloud system, a web system, and so forth).

The vehicle receiving action engine <NUM> is coupled to a communication module <NUM> of the vehicle receiving station <NUM>, where the communication module <NUM> includes a communication transceiver <NUM> to communicate with the vehicle <NUM> (or multiple vehicles) over a network <NUM>. In some examples, the communication transceiver <NUM> can include a wireless transceiver that is able to communicate over a wireless network with the vehicle <NUM>.

A wireless network can include a cellular network or a wireless local area network (WLAN). An example cellular network can operate according to the Long-Term Evolution (LTE) standards as provided by the Third Generation Partnership Project (3GPP). The LTE standards are also referred to as the Evolved Universal Terrestrial Radio Access (E-UTRA) standards. In other examples, other types of cellular networks can be employed, such as second generation (<NUM>) or third generation (<NUM>) cellular networks, e.g., a Global System for Mobile (GSM) cellular network, an Enhanced Data rates for GSM Evolution (EDGE) cellular network, a Universal Terrestrial Radio Access Network (UTRAN), a Code Division Multiple Access (CDMA) <NUM> cellular network, and so forth. In further examples, cellular networks can be fifth generation (<NUM>) or beyond cellular networks.

A WLAN can operate according to the Institute of Electrical and Electronic Engineers (IEEE) <NUM> or Wi-Fi Alliance Specifications. In other examples, other types of wireless networks can be employed, such as a Bluetooth link, a ZigBee network, and so forth. Additionally, some wireless networks can enable cellular loT, such as wireless access networks according to LTE Advanced for Machine-Type Communication (LTE-MTC), narrowband loT (NB-loT), and so forth.

The communication transceiver <NUM> is able to communicate with a communication transceiver <NUM> in the vehicle <NUM> over the network <NUM>. In the vehicle <NUM>, the communication transceiver <NUM> receives data from a sensor <NUM> and/or from another information source <NUM> in the vehicle <NUM>. Although just one sensor <NUM> is shown in <FIG> in the vehicle <NUM>, it is noted in other examples that the vehicle <NUM> can include multiple sensors, such as different types of sensors to measure different parameters. The sensor <NUM> can be used to measure various characteristics of the vehicle <NUM> or the content of the vehicle <NUM>. For example, the sensor <NUM> can be used to measure an operating condition of the vehicle <NUM>, such as a tire pressure, a wear level of a brake of the vehicle <NUM>, a fluid level (e.g., oil level, coolant level, transmission fluid level, brake fluid level, etc.) of the vehicle <NUM>, or any other operating condition or other characteristic of the vehicle <NUM>.

In further examples, the sensor <NUM> can be used to determine characteristics of the content of the vehicle <NUM>, including determining whether the vehicle <NUM> is carrying cargo, carrying occupants, and so forth. Moreover, the sensor <NUM> can be used to detect identities of occupants in the vehicle <NUM>, such as by scanning identity cards (e.g., a passport, a driver's license, etc.) of each occupant.

The information source <NUM> can include an input device that can be used to provide information pertaining to cargo or occupant(s) of the vehicle <NUM>. The input device can be an input device of a computer, such as a touchscreen, a keyboard, a mouse, a digital pen, and so forth. For example, an occupant of the vehicle <NUM> can enter their information (e.g., name, identity card number, etc.) into the information source <NUM>, which can further include a storage medium to store the entered information. As another example, a loader of cargo can enter information regarding the cargo (e.g., name of cargo, type of cargo, amount of cargo, etc.) into the information source <NUM>. The information regarding cargo or human occupants can be transmitted by the communication transceiver <NUM> of the vehicle <NUM>, such as to the vehicle receiving station <NUM>. In other examples, information of the vehicle <NUM> and/or content of the vehicle <NUM> can be received by the communication transceiver <NUM> from a remote source (outside of the vehicle <NUM>). The received information can be stored in the information source <NUM> for later transmission to the vehicle receiving station <NUM>.

Although not shown in <FIG>, the vehicle receiving station <NUM> can include or can be coupled to equipment that is used to receive the vehicle <NUM> or the content of the vehicle <NUM>. In some examples, the equipment can include a booth and associated equipment (e.g., scanning equipment to scan the vehicle <NUM>, such as the vehicle's license plate or registration number, or to scan the content of the vehicle <NUM>, such as to scan a barcode or other identifier of cargo or to scan an identity card of an occupant) at a border crossing station, inspection station, or toll station, for example. As other examples, the equipment can include a docking/undocking equipment to dock/undock the vehicle <NUM> and/or to load/unload the content of the vehicle <NUM>.

As further shown in <FIG>, in some examples, a message stack <NUM> can also be provided. Vehicles <NUM> can send messages (including various information as noted above) to the message stack <NUM> over the network <NUM>. The messages can be stored as messages <NUM> in the message stack <NUM>. The message stack <NUM> can refer to any data repository (e.g., a relational database, a non-relational data store, a file server, etc.) that can be used to store the messages <NUM>. The message stack <NUM> can include a data store at one location or distributed across multiple locations.

Vehicle receiving stations <NUM> can listen to the messages <NUM> in the message stack <NUM>. Different vehicle receiving stations <NUM> can be associated with different keys (such as public keys). A vehicle <NUM> can target a message to a given vehicle receiving station by encrypting the message using the key of the given vehicle receiving station. Other vehicle receiving stations would not be able to read the message encrypted using the key of the given vehicle receiving station.

Thus, each vehicle receiving station <NUM> can read just the message(s) targeted to the respective vehicle receiving station. In some examples, a subscribe technique can be used, where a vehicle receiving station can subscribe to messages targeted to the vehicle receiving station. In other examples, a vehicle receiving station can retrieve (pull) a message <NUM> from the message stack <NUM>.

In further examples, vehicle receiving stations <NUM> can also send messages to the message stack <NUM>, for retrieval by respective vehicles <NUM>. In such examples, keys can also be associated with the vehicles <NUM>, so that only messages encrypted by the respective key of the vehicle <NUM> can be read by the vehicle <NUM>.

<FIG> is a flow diagram of an example process that can be performed by the vehicle receiving action engine <NUM>, according to some implementations. The process includes receiving (at <NUM>) information transmitted by the vehicle <NUM>. In some examples, the information can be acquired by the sensor <NUM> (or by multiple sensors) of the vehicle <NUM>. In other examples, the information is provided by the information source <NUM>.

In response to the received information, the vehicle receiving action engine <NUM> causes (at <NUM>) an action to be performed by the vehicle receiving station <NUM>, where the action can include any or some combination of the following: directing the vehicle <NUM> to a location, selecting the vehicle <NUM> for inspection from multiple vehicles, performing inspection of the vehicle or the content of the vehicle <NUM> at a border of a jurisdiction, and loading or unloading the content of the vehicle <NUM>.

In examples where the vehicle receiving station <NUM> is a border crossing station, the action that can be performed can include any or some combination of the following. The action can include directing the vehicle <NUM> to one of multiple queues of the border crossing station. For example, the border crossing station can include multiple sub-stations, and each sub-station can have a queue of multiple vehicles waiting to be processed. To enhance efficiency in processing vehicles, the vehicle receiving action engine <NUM> is able to direct vehicles to different queues to balance the load of the multiple sub-stations of the border crossing station. Directing the vehicle <NUM> to one of multiple queues can involve the vehicle receiving action engine <NUM> sending a message over the network <NUM> to the vehicle <NUM>. This message can be displayed by a display device of the vehicle <NUM>. For example, the message can indicate that the driver of the vehicle <NUM> is to drive the vehicle <NUM> to a particular sub-station (e.g., lane X, sub-station X, etc.).

In examples where the vehicle <NUM> is an autonomous (driver-less) vehicle, then the message can be sent to the controller (implemented as a computer) of the autonomous vehicle. The controller processes the message and directs the vehicle <NUM> to the sub-station or other location specified by the message.

The information that is received by the border crossing station from the vehicle <NUM> can include information relating to the content transported by the vehicle <NUM>, and the action can include preparing documentation (e.g., previously stored information of the vehicle <NUM> or the content of the vehicle, selected form(s) to fill out by the personnel of the border crossing station, etc.) to process the vehicle or the content by the border crossing station. In further examples, the information provided by the vehicle <NUM> can include information describing cargo transported by the vehicle, and the action that can be triggered by the vehicle receiving action engine <NUM> can include a customs inspection of the cargo. In addition, the customs inspection can involve calculating a duty to charge for the cargo based on the information describing the cargo.

In further examples, the information transmitted by the vehicle <NUM> can include information of a human occupant that is being transported by the vehicle. In such examples, the action that can be triggered by the vehicle receiving action engine <NUM> can include an immigration entry instruction to determine whether entry by the occupant into the jurisdiction is allowed.

In examples where the vehicle receiving station <NUM> is an inspection station, the information that is transmitted by the vehicle <NUM> can include information describing the content that is being transported by the vehicle <NUM>, and the action that is triggered by the vehicle receiving action engine <NUM> can include a determination of whether to approve the content or to subject the content to a physical inspection, based on the information describing the content transported by the vehicle <NUM>.

In some cases, the information describing the content transported by the vehicle <NUM> may have been received by the inspection station while the inspection station was closed. For example, the inspection station can be a weigh station for weighing vehicles. In such examples, the action that is triggered by the vehicle receiving action engine <NUM> can include processing the information transmitted by the vehicle <NUM> about the weight of the vehicle <NUM> after re-opening of the inspection station. In other examples where the inspection station is a cargo inspection station, the information transmitted by the vehicle <NUM> can describe the content, and the action that is triggered by the vehicle receiving action engine <NUM> can include processing the information transmitted by the vehicle <NUM> about the cargo after re-opening of the inspection station.

In examples where the vehicle receiving station <NUM> is a loading or unloading station, the information that is transmitted by the vehicle <NUM> can include information describing the cargo transported by the vehicle <NUM>, and the action that can be triggered by the vehicle receiving action engine <NUM> can include directing vehicles to respective bays or docks for performing loading or unloading of cargo. Additionally, the action can include prioritizing vehicles to load or unload cargo. For example, in some cases, the loading or unloading station (such as a dock yard) can be congested, with many vehicles waiting to be loaded and/or unloaded. Depending on the priorities associated with the cargo being carried by or to be carried by the respective vehicles (or depending on the priorities assigned to the vehicles themselves), the vehicle receiving action engine <NUM> can specify which vehicles are to be prioritized over other vehicles for loading and/or unloading cargo. For example, certain types of cargo may be perishable, such that such cargo should be prioritized over other cargo. In other examples, certain cargo may have to be delivered to a destination by a specified deadline, so that such cargo should be first loaded onto a vehicle.

In additional examples, operators of certain vehicles or owners/distributors of certain cargo may have paid a premium price to obtain a higher level of service (and thus priority) at the loading or unloading station relative to other operators or owners/distributors. Such vehicles associated with the premium service can be given higher priority over other vehicles not associated with a premium service.

In further examples, the information transmitted by the vehicle <NUM> can relate to a time or condition of the cargo that is transported by the vehicle <NUM>, and the action triggered by the vehicle receiving action engine <NUM> can include recording the time or condition of the cargo. For example, when cargo is unloaded from the vehicle <NUM>, the time at which the cargo is unloaded can be recorded, where such recorded time can provide an indication of whether or not delivery of the cargo was on time. This can be useful to assess penalties for late delivery of cargo, or to avoid a penalty by a shipper that has delivered a cargo on time.

In other examples, the information that can be recorded by the loading or unloading station can include information pertaining to the condition of the cargo. The condition of the cargo can include a temperature of the cargo, a pressure of the cargo, a humidity of the cargo, and so forth, as measured by the sensor <NUM> of the vehicle <NUM>. The condition of the cargo can be useful for purposes of establishing that the cargo was delivered in a condition that met specified criteria. For example, the recorded information can establish that the cargo was delivered at a temperature that is less than a specified threshold temperature (e.g., perishable food was kept at a safe temperature).

In addition examples, the loading or unloading station can be used to load or unload human occupants, such as at a bus station, an airport, a seaport, and so forth. In such examples, the information that is transmitted by the vehicle <NUM> can include information describing the human occupants of the vehicle <NUM> or information of the vehicle <NUM> (e.g., a bus number, a flight number, a ship name, etc.). The action that can be can be triggered by the vehicle receiving action engine <NUM> can include directing vehicles to respective bays or docks (e.g., bus stops, airport gate, sea port, etc.) for performing loading or unloading of human occupants. As with examples for loading and/or unloading of cargo, to load and/or unload human occupants, vehicles and/or the occupants of the vehicles can be assigned respective priorities to determine which vehicles are serviced ahead of other vehicles by the loading or unloading station.

In further examples where the vehicle receiving station <NUM> is a toll station, the information that is transmitted by the vehicle <NUM> can include a load status of the vehicle <NUM> and distances traveled for each of a plurality of different load statuses. A load status can refer to whether or not the vehicle <NUM> is carrying content (cargo or occupants). If the vehicle <NUM> was not carrying content, then the vehicle <NUM> would not be subject to tolls. However, if the vehicle <NUM> was carrying content, then the vehicle <NUM> would be subjected to tolls, and such toll can be dependent upon the time duration or distance traveled by the vehicle <NUM> while the vehicle <NUM> was loaded with content. In such examples, the action that can be triggered by the vehicle receiving action engine <NUM> can include determining a toll to charge based on the information relating to the load status and the distance travelled or time travelled for each load status.

Messages exchanged between vehicles and vehicle receiving stations can include sensitive information, such as information about cargo or human occupants, or proprietary information of the vehicles themselves. To avoid unauthorized access of such information by hackers or other unauthorized entities, privacy of the information exchanged between vehicles and vehicle receiving stations can be provided by encrypting such information. For example, an encryption key can be used to encrypt information that is transmitted from a vehicle to a vehicle receiving station, or from a vehicle receiving station to a vehicle. Encryption keys can include public/private keys, where a public key can be used to encrypt information, and the encrypted information can be decrypted using the private key of the public-private key pair. Alternatively, information can be encrypted using a private key, and the encrypted information can be decrypted using the corresponding public key of the public-private key pair.

In further examples, a digital signature can be created for information communicated between vehicles and vehicle receiving stations. A digital signature can be produced by signing the information, such as by using a signing algorithm based on an encryption key. The digital signature can be used to authenticate the sender (a vehicle receiving station or a vehicle) of the information to verify that the sender is indeed the purported entity.

<FIG> is a block diagram of an example arrangement according to further implementations, where the vehicle receiving action engine <NUM> is part of an online service <NUM>, such as a cloud service, a web service, or any other type of service that is accessible over a network, such as the internet or other type of network. The service <NUM> is implemented using a computer system, or a distributed arrangement of computer systems, and software executable on the computer system(s). The service <NUM> can be provided by computing infrastructure at one location, or can be provided by computing infrastructure spread out across multiple locations.

The service <NUM> is coupled to various vehicle receiving stations <NUM>, such as over wired and/or wireless networks. Each vehicle receiving station <NUM> can be configured in similar fashion as the vehicle receiving station <NUM> of <FIG>, except in <FIG> the vehicle receiving action engine <NUM> is deployed as part of the service <NUM> rather than as part of the vehicle receiving station <NUM>. The vehicle receiving stations <NUM> are able to communicate with respective vehicles <NUM>, to collect information from such vehicles and to apply actions with respect to such vehicles (including content of such vehicles), based on actions triggered by the vehicle receiving action engine <NUM>.

<FIG> is a block diagram of a server system <NUM> according to some examples. The server system <NUM> includes a processor <NUM> (or multiple processors). A processor can include a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or another hardware processing circuit.

The system <NUM> further includes a non-transitory machine-readable or computer-readable storage medium <NUM> storing machine-readable instructions, such as vehicle receiving action instructions <NUM> that are executable on the processor <NUM> to perform various tasks (of the vehicle receiving action engine <NUM>) as discussed in the present disclosure. Instructions executable on a processor can refer to the instructions executing on one processor or on multiple processors.

The system <NUM> includes a communication transceiver <NUM>, such as a wireless transceiver to communicate wireless signals (e.g., radio frequency or RF signals).

The storage medium <NUM> can include any or some combination of the following: a semiconductor memory device such as a dynamic or static random access memory (a DRAM or SRAM), an erasable and programmable read-only memory (EPROM), an electrically erasable and programmable read-only memory (EEPROM) and flash memory; a magnetic disk such as a fixed, floppy and removable disk; another magnetic medium including tape; an optical medium such as a compact disk (CD) or a digital video disk (DVD); or another type of storage device. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.

Claim 1:
A method comprising:
receiving (<NUM>), by a system associated with a vehicle receiving station (<NUM>, <NUM>), information transmitted by a vehicle (<NUM>, <NUM>), wherein the information is detected by a sensor (<NUM>) of the vehicle, the information comprising one or more characteristics of the vehicle (<NUM>, <NUM>) or content transported by the vehicle; and
in response to the received information, directing, by the system, the vehicle (<NUM>, <NUM>) to a selected queue of a plurality of queues of the vehicle receiving station (<NUM>, <NUM>), wherein the directing the vehicle comprises sending, by the system, a message over a network to a controller of the vehicle, the message instructing the vehicle to the selected queue.