Method and apparatus for utilizing vehicles as mobile network nodes for digital data transfer

A system includes a processor configured to request delivery of a queued digital message from passing vehicles in wireless communication with the processor, after determining that the vehicle is broadcasting suitable delivery characteristics that make eventual delivery of the message to an intended recipient likely to be facilitated by the vehicle acting as an intermediary carrier of the message.

TECHNICAL FIELD

The illustrative embodiments generally relate to a method and apparatus for utilizing vehicles as mobile network nodes for digital data transfer.

BACKGROUND

We live in a widely connected world, with internet services and cellular data connections available in almost any location. That said, there are still areas of the world, even in highly technological nations, where limited or no connectivity is available. People in these areas either have to have very expensive connectivity solutions installed (paying for dedicated line installation, paying for high power transceivers, etc.) or they have to travel some distance to obtain a usable signal.

At the same time, vehicles now come equipped with telematics control units that have both WiFi and cellular capability, as well as short range communication capability in the vehicle provided by vehicle computers with BLUETOOTH and other short-range services. These vehicles are everywhere on the roads, and frequently (or at least occasionally) will travel near the areas where no connectivity is available.

SUMMARY

In a first illustrative embodiment, a system includes a processor configured to request delivery of a queued digital message from passing vehicles in wireless communication with the processor, after determining that the vehicle is broadcasting suitable delivery characteristics that make eventual delivery of the message to an intended recipient likely to be facilitated by the vehicle acting as an intermediary carrier of the message.

In a second illustrative embodiment, a system includes a vehicle-based processor configured to deliver a digital message to a message-destination defined by a message delivery characteristic, the message received wirelessly from a queuing-system which a first vehicle containing the processor drove past, received in response to a broadcast of vehicle delivery capabilities by the processor.

In a third illustrative embodiment, a system includes a processor configured to examine received delivery capabilities broadcast by passing vehicles to select a vehicle whose delivery capabilities match a message delivery characteristic and wirelessly transfer a digital message to a selected vehicle, the message having the message delivery characteristic specifying an intended message destination.

DETAILED DESCRIPTION

In the illustrative embodiment 1 shown inFIG. 1, a processor3controls at least some portion of the operation of the vehicle-based computing system. Provided within the vehicle, the processor allows onboard processing of commands and routines. Further, the processor is connected to both non-persistent5and persistent storage7. In this illustrative embodiment, the non-persistent storage is random access memory (RAM) and the persistent storage is a hard disk drive (HDD) or flash memory. In general, persistent (non-transitory) memory can include all forms of memory that maintain data when a computer or other device is powered down. These include, but are not limited to, HDDs, CDs, DVDs, magnetic tapes, solid state drives, portable USB drives and any other suitable form of persistent memory.

In another embodiment, nomadic device53includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the vehicle and the internet, and is still used, it has been largely replaced by hybrids of Code Domain Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domain Multiple Access (SDMA) for digital cellular communication. These are all ITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a moving vehicle. 3G standards are now being replaced by IMT-Advanced (4G) which offers 100 mbs for users in a vehicle and 1 gbs for stationary users. If the user has a data-plan associated with the nomadic device, it is possible that the data-plan allows for broad-band transmission and the system could use a much wider bandwidth (speeding up data transfer). In still another embodiment, nomadic device53is replaced with a cellular communication device (not shown) that is installed to vehicle31. In yet another embodiment, the ND53may be a wireless local area network (LAN) device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network.

Also, or alternatively, the CPU could be connected to a vehicle based wireless router73, using for example a WiFi (IEEE 803.11)71transceiver. This could allow the CPU to connect to remote networks in range of the local router73.

In addition to having exemplary processes executed by a vehicle computing system located in a vehicle, in certain embodiments, the exemplary processes may be executed by a computing system in communication with a vehicle computing system. Such a system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device. Collectively, such systems may be referred to as vehicle associated computing systems (VACS). In certain embodiments particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system. By way of example and not limitation, if a process has a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing that portion of the process, since the wireless device would not “send and receive” information with itself. One of ordinary skill in the art will understand when it is inappropriate to apply a particular computing system to a given solution.

In the few populated areas of developed nations, and the vast populated areas of third-world nations where there is little to no cellular connectivity, this presents a huge disadvantage and inconvenience for the people living in these locales. At a minimum, these people will have to either pay excessive costs for obtaining internet service or travel some distance to utilize even simple messaging services and email. This may be completely prohibitive in certain cases, and represents a hassle in other cases.

Fortunately, vehicles may often or occasionally travel through the areas where the limited service exists. Even though the vehicle itself may lose remote connectivity in these areas, the short-range networking capabilities (BLUETOOTH, WiFi) of the vehicle are unaffected (i.e., these capabilities still function). This can be leveraged to connect a party remote from the vehicle to the vehicle, and the vehicle can be utilized as a digital transport for the transfer and delivery of messages and data.

For example, a vehicle passing close to a WiFi router may connect to the router. This router may also be directly or indirectly connected to any number of message owners (i.e., people who have messages or data they want delivered). In one instance, a community or group of homes may place a router as an access point close to a road, and then hardwire into the router for the purposes of delivering messages to the router, which can subsequently be relayed to vehicles. This isn't a common solution currently, but that may largely be because the notion of vehicles as message carriers isn't presently being utilized.

When the vehicle passes by the router, the vehicle's installed WiFi capabilities can be used to connect to the router (which would be a public network, for example) and the vehicle can broadcast data about its delivery capabilities to the network. For example, the vehicle could broadcast a route (since it isn't necessarily desirable to utilize the vehicle as a transport if it is headed into the mountains for a month) and also a common “home” location. A message delivery application can compare the route and home location to areas of known service and message recipients to determine if the vehicle is suitable for delivering the message(s).

Other vehicle capabilities (BLUETOOTH, cellular modem, etc.) can also be broadcast, since a vehicle with remote connectivity in areas with cellular service is a useful transport engine regardless of route or home location, unless those locations also lack cellular service. Once a vehicle has received a message to be delivered, it can travel until it reaches a point where the internet or cellular networks can be contacted, or it can pass the message along to another vehicle that might be headed in a direction where the message might be more quickly delivered. For example, this ability to relay messages might be very useful when there is a message to be delivered to the remote area, since it might be reasonable to place the message on a number of vehicles headed in the general direction of the remote area, each vehicle relaying the message to other vehicles when they are close to the remote area, thus greatly increasing the chances that the message is actually delivered to the remote area (through one of the vehicles passing close enough to the access point to relay the message(s)).

In some communities, if enough people utilize this service, it may even be reasonable to have a designated vehicle travel from the access point to a point of service on a regular basis, effectively acting as a digital post-man for the purpose of transmitting and receiving messages. In another example, it might actually be reasonable to equip mail service vehicles with such a capability, since they travel to most domiciles on a regular basis, and thus might be ideal carriers for digital messages. One method of transferring a message to a vehicle, between vehicles and/or to an intended recipient network includes dedicated short-range communication (DSRC), which is a wireless spectrum assigned for wireless automotive use.

FIG. 2shows an illustrative example of a message transmission process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

In this illustrative example, the process receives a message to be delivered201. The message is in digital form, but can be delivered to an email, a phone, or even to a physical location or person (if the carrier is willing to assist in such delivery). Delivery data is added to the message203, which indicates the parameters for delivery. These can include, for example, a physical location, a party, a picture of the recipient or a recipient location, a network address, a mobile number, etc.

The message is then sent to a delivery queue205, where it waits with other messages for an opportunity to be transferred to a vehicle that can act as a suitable carrier. As messages queue up, the process searches for a suitable carrier for one or more messages207. For example, the messages may queue in a system near the roadside provided with a wireless access point. The system will queue the messages and scan passing vehicles for communication opportunities and drivers/vehicles that are capable and/or willing to participate in message carrying and delivery. If a vehicle becomes available209, the process will upload one or more messages to that vehicle211. At this point, a confirmation can be sent to the message owner213(i.e., the originating party), letting the owner know that the message delivery process has begun.

FIG. 3shows an illustrative example of a message carrier notification process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

In this illustrative embodiment, a participating vehicle broadcasts its delivery capabilities and other relevant information to any access points or other points where a message may be waiting. In this example, the vehicle keeps a log of its recent capabilities (i.e., what networks it has recently encountered and/or commonly has access to, such as, but not limited to, a cellular network, one or more local area networks (LANS), one or more internet access points, and/or any locales that may be relevant to a physical message delivery location301. These delivery options are broadcast by the vehicle303, so that a message sender knows whether or not the vehicle is suitable for delivering a particular message.

If the process receives a request to broadcast the message305, the process will open a communication channel (BLUETOOTH, WiFi, etc.) with the access point or local system requesting message delivery307. At this point, any messages that are to be delivered by that particular vehicle are transferred to the vehicle309.

FIG. 4shows an illustrative example of a message transfer process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

This is an illustrative example of a vetting process, whereby a message queuing system or message originating system determines if a passing vehicle is suitable for message delivery. The queuing or originating system can be an access point, a computing system (laptop, desktop, tablet, etc.) or even a mobile device (e.g., the user types a text message on a mobile device and it is queued on the device for transfer to a passing vehicle).

The message originating or queuing system communicates with a passing vehicle401and obtains the various outlets (delivery options) that are being broadcast by that particular vehicle403. Since a bi-directional communication process may not yet be established with the vehicle, the process may simply receive broadcast information relating to the vehicle's delivery capabilities. The process examines the capabilities to determine if those capabilities are suitable for delivering a particular message405.

For example, without limitation, if the message is to be delivered to a physical location, the process may examine a current vehicle route and/or common vehicle locations (such as a “home” location). If the vehicle is headed to or will likely be within a physical delivery area within a reasonable period of time, the process can confirm that the physical location of the vehicle is likely to be suitable for message delivery. In another example, if the message is to be delivered over a cellular network, the process may determine if the vehicle has access to a cellular connection (e.g., a modem or BLUETOOTH connection to a cellular device) and whether that will likely soon be in an area with coverage (although the mere existence of a cellular connection may be sufficient, since it may be assumed that the vehicle will, at some point, also have cellular service).

In still another example, the message may be an email that requires internet access or network access for delivery. In this case, the process may determine if the vehicle has data delivery capabilities (WiFi access and/or a cellular data connection that can be used to access the internet). If the vehicle is suitable for delivering a message, based on the outlet capabilities, the process may request that one or more messages be uploaded to the vehicle407. On the vehicle side, the driver may be given an option to “carry” the message(s), or the driver may have elected to simply opt-in as a delivery source. If the driver agrees (implicitly or explicitly), the process may establish a connection with the vehicle409and upload one or more messages for delivery411.

FIG. 5shows an illustrative example of a vehicle selection process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

In this illustrative example, the process examines the physical delivery capabilities of the vehicle (i.e., whether the vehicle is traveling to a physical location suitable for message delivery. This can include both messages to be delivered to an actual physical location and/or whether the vehicle will likely pass through a physical location that corresponds to known network or cellular access. The process communicates with the vehicle501, and, in this example, receives a present vehicle route503, which indicates where the vehicle is likely headed next.

Also, in this example, the process receives one or more common locations to which the vehicle travels (e.g., home location, work location, etc.)505. Even if a vehicle is not presently headed to a desirable location, the garaging location or common parking location of the vehicle may indicate that it will likely soon travel to the desired area, which may be sufficient, depending on the particular model enacted. The destination/route and/or common vehicle locations are compared to physical delivery characteristics associated with the message or known to be needed to deliver the message507, and if there is a suitable match509, the process will request to upload the message(s) for delivery511. In still another example, the mere fact that a vehicle will soon be traveling on a heavily traveled road may be sufficient, since the vehicle may also be able to relay the message to one or more other vehicles by virtue of accessing the heavily traveled road.

Once the upload is requested and the process connects to a vehicle computer513(via BLUETOOTH, WiFi, etc.), the process uploads the message(s) for delivery using the particular vehicle515.

FIG. 6shows an illustrative example of a message delivery process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

In this illustrative example, a person prepares a message for delivery. This could be an email message to be delivered to the cloud (where it can be appropriately routed), an SMS or text message to be delivered to a cellular network (for eventual transmission). This could even be a message where physical delivery is requested (assuming the driver of the vehicle is willing to assist, such as “please tell X that their services are needed at Y location). The recipient of the message and the type of delivery, among other things, can be set as delivery conditions601.

The process first determines if a network (e.g., the internet or a cellular network) is designated as a delivery condition603. If so, the process will add an IP address (or mobile number to which a cellular message is to be delivered)605. Next, the process determines if any physical delivery is required (such as delivering the message in person, or delivering the message to a physical network router located at a specific location)607. If a physical location is part of the delivery protocol, the process will add coordinates609as one of the delivery specifications. In this example, the process also adds one or more geo-fences surrounding the coordinates, which can be used in conjunction with a vehicle home location or vehicle route to determine if a vehicle is suitable for delivering the message to the specified physical location. For example, four fences could be set, at one, five, ten and twenty miles from the target location. The first fence could designate any vehicle traveling or having a home location within twenty miles as a potential carrier.

Once the initial vehicle is selected, the second fence could be used to relay the message to one or more vehicles traveling within ten miles of the selected location. This could be done at any time when the initial carrier passes by such a vehicle, or once the initial carrier has reached the twenty mile fence. In a similar manner, vehicles for relay can be selected based on the five mile and one mile fences, so that vehicles can be quickly and easily identified as appropriate for message delivery, without having to include a complicated application on the vehicles or with the message package to determine if the message can be delivered by a potential carrier.

Finally, in this example, the process determines if there are any visual characteristics associated with the message delivery613. Assume, for example, that a message is to be delivered to Bob at the local grocery store. A picture of Bob may be included so that the delivering party can easily identify Bob. Any needed images can be added at this point615. Also, any other delivery characteristics617can be added to the message, as needed.

FIG. 7shows an illustrative example of a message delivery notification process. With respect to the illustrative embodiments described in this figure, it is noted that a general purpose processor may be temporarily enabled as a special purpose processor for the purpose of executing some or all of the exemplary methods shown herein. When executing code providing instructions to perform some or all steps of the method, the processor may be temporarily repurposed as a special purpose processor, until such time as the method is completed. In another example, to the extent appropriate, firmware acting in accordance with a preconfigured processor may cause the processor to act as a special purpose processor provided for the purpose of performing the method or some reasonable variation thereof.

All of the processes described for determining if a vehicle is a suitable carrier for a message may also be utilized by a vehicle for determining if another vehicle passing by the original vehicle is suitable for relaying the message. In the same manner that the message is originally transferred to the original carrier vehicle, the message may be further transferred to one or more additional delivery vehicles if they have suitable characteristics for delivery. In the example shown inFIG. 7, the message includes some tracking of the IP addresses of the vehicles on which it has resided, so that when the message is delivered to the recipient, the vehicles can be informed of the delivery and thus the remaining vehicles can stop attempting to deliver the message. IN another example, the message may be deleted once transferred, assuming that the recipient vehicle will eventually result in delivering the message. The message may also expire after some period of time, which will allow the messages to be “cleaned up” off of vehicles on which they reside.

In this example, when the message is eventually delivered701(e.g., the vehicle encounters a location or accesses a network suitable for completing delivery), the vehicle will send a notification to the other vehicles which have acted as carriers703. This allows the other vehicles to delete the message. If each vehicle keeps track of the IP addresses of the vehicles to which the message was passed, then by contacting the original vehicle, that vehicle can contact it's down-the-line carriers, and so forth, so the message can be quickly deleted from all of the current carriers (assuming they are online at the time).

Also, in this example, the message has an expiration date/time705, which will help clean up old messages that have been likely delivered, but for which confirmation has not yet been received. Once the message expires705, the process will also send a notification to the other carriers707(although this may not be necessary if all carriers have the same expiration date/time stored). In this instance, a notification is also sent to the message owner (originator)709so that the owner knows that the message was deleted from one or more systems due to expiration (and may or may not have been delivered). Of course, if the message owner is located at the remote location, it may take some time for the notification to reach the owner, via the reverse of the delivery process above (i.e., an application running on a server on behalf of the owner can route messages to the owner in a similar manner, by attaching them to vehicles that are, based on route, for example, likely to pass by the owner's location).