A user may have rights to access media in cloud-based storage. Such access rights may include the right to play, modify and/or share such media. The user may wish to access the media while traveling in a vehicle such as an airplane, a rental car or a bus. The media may not be available to be downloaded at all times during travel, especially when a rental car is out of range of a network connection or when an airplane is in flight.
According to an implementation of the disclosed subject matter, a media item to which a user has access rights may be received. A vehicle having a vehicle-based media system in which the user is to travel can be identified. The media item may store the media item at the vehicle-based media system. A first signal about the vehicle can be received and an authorized period during which the media may be accessed can be determined based on the received first signal. A request from the user may be received to access the media. The implementation can determined that the requester is authorized to access the media and provide it to the requester through the vehicle-based media system. The implementation may determine that the authorized period to access the media has expired and delete the media from the vehicle.
An implementation of the disclosed subject matter may include a processor that is configured receive a media item to which a user has access rights. The processor may be configured to identify a vehicle in which the user will travel. The processor may determine an authorized period during which the media may be accessed based on a received first signal about the vehicle. It can receive a request for the media from a requester and verify that the requester is authorized to access the media. The processor may provide the requested media to the verified requester through the vehicle-based media system. The processor may delete the media from the vehicle when the authorized period expires.
Systems and techniques according to the present disclosure allow for local caching of cloud-based media to a vehicle having a vehicle-based media system. Additional features, advantages, and implementations of the disclosed subject matter may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary and the following detailed description include examples and are intended to provide further explanation without limiting the scope of the claims.
The accompanying drawings, which are included to provide a further understanding of the disclosed subject matter, are incorporated in and constitute a part of this specification. The drawings also illustrate implementations of the disclosed subject matter and together with the detailed description serve to explain the principles of implementations of the disclosed subject matter. No attempt is made to show structural details in more detail than may be necessary for a fundamental understanding of the disclosed subject matter and various ways in which it may be practiced.
Implementations in accordance with the disclosed subject matter may cache a user's cloud-based media on a vehicle in which the user is to be a passenger, such as a passenger airplane or a rental car. An implementation can receive a media item such as a movie, a song, a playlist and user documents and the like. It may identify a vehicle with vehicle-based media system on which the user is to be passenger. It may cause the media item to be stored at the identified vehicle. It may receive a signal about the vehicle, such as a signal that identifies an expected departure time from an origin and expected arrival time at a destination. The implementation may determine an authorized period for the media item to be accessible based on the received signal. For example, the implementation may determine that the stored media item is to be accessible by the user from ten minutes after the departure time until fifteen minutes before the arrival time. During the authorized period, the implementation may provide the media item stored at the vehicle to an authorized requester. When the implementation determines that the authorized period for the media has expired, it can cause the media item to be deleted from storage at the vehicle-based media system.
In an implementation, an airline customer may desire to have the music on her favorite playlist made available to her during her flight. As part of the process of purchasing her ticket, the user may identify the specific playlist or song(s) that they wish to access while on the airplane. An implementation in accordance with the disclosed subject matter may identify the particular airplane in which the user is scheduled to travel. The implementation may cause the media item or items designated by the user to be stores on the airplane's media system. It may receive a signal about the airplane to determine an authorized period for the media. For example, the authorized period may start after the airplane has reached a threshold altitude and/or speed. The implementation may receive a request from the user to play the music stored at the airplane media system. The implementation may authenticate the requester to be the user authorized to access the stored media. Examples of a valid authentication may include presenting a four-digit pin, presenting a user identifier and password, presenting a bar code to a reader on the airplane, bringing a device with Near Field Communication (NFC) capability in proximity of a NFC reader on the airplane, etc. Upon validating the user's credentials, the implementation may provide the media to the requesting user. The implementation may determine that the authorized period for the media has expired and delete the media from the vehicle-based media system. For example, the implementation may receive another signal from the vehicle (or a third party, such as a flight tracker service) indicating that the airplane's air speed and/or altitude has fallen below predetermined thresholds. Another way to determine that the authorized period has expired may be based on the actual or scheduled end of travel time.
As another example, a tour leader may desire to upload a media file to be accessed by members of the tour group during coach bus travel. During purchase, the leader may identify the media to be uploaded to the coach bus and may assign an authenticating token to be presented by a traveler in order to access the media during travel. An implementation in accordance with the disclosed subject matter may receive one or more media files, identify the coach bus to be used by the group, and store the media to the identified bus. The implementation may receive a signal about the vehicle and may determine an authorized period for the media file based on the received signal. For example, the authorization period may start once the coach bus has left the lot at the departure location or when the implementation receives a code entered into the system by the tour group leader. The implementation may receive a request from a tour member on the bus to access a media item, such as a narrative or segment relating to a place of interest at or near the bus at a given point during the trip. The implementation may verify that the requester is authorized to access the media by validating a received token. The implementation may then provide the requested media to the requester. The implementation may determine that the authorized period for accessing the stored media has expired at the end of the tour and may delete the media file from the tour bus media system.
Implementations of the presently disclosed subject matter may be implemented in and used with a variety of component and network architectures.
The bus 21 allows data communication between the central processor 24 and the memory 27, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. The RAM can include the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with the computer 20 can be stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed storage 23), an optical drive, floppy disk, or other storage medium 25.
The fixed storage 23 may be integral with the computer 20 or may be separate and accessed through other interfaces. A network interface 29 may provide a direct connection to a remote server via a telephone link, to the Internet via an Internet service provider (ISP), or a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence) or other technique. The network interface 29 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like. For example, the network interface 29 may allow the computer to communicate with other computers via one or more local, wide-area, or other networks, as shown in
Many other devices or components (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the components shown in
More generally, various implementations of the presently disclosed subject matter may include or be implemented in the form of computer-implemented processes and apparatuses for practicing those processes. Implementations also may be implemented in the form of a computer program product having computer program code containing instructions implemented in non-transitory and/or tangible media, such as floppy diskettes, CD-ROMs, hard drives, USB (universal serial bus) drives, or any other machine readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. Implementations also may be implemented in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. In some configurations, a set of computer-readable instructions stored on a computer-readable storage medium may be implemented by a general-purpose processor, which may transform the general-purpose processor or a device containing the general-purpose processor into a special-purpose device configured to implement or carry out the instructions. Implementations may be implemented using hardware that may include a processor, such as a general purpose microprocessor and/or an Application Specific Integrated Circuit (ASIC) that implements all or part of the techniques according to implementations of the disclosed subject matter in hardware and/or firmware. The processor may be coupled to memory, such as RAM, ROM, flash memory, a hard disk or any other device capable of storing electronic information. The memory may store instructions adapted to be executed by the processor to perform the techniques according to implementations of the disclosed subject matter.
As shown in
In an implementation, a first media may be received during passenger check-in of a transportation vehicle. Examples of media can include video content, music content, speech content, image content, textual content, and online print (i.e., online newspapers, online magazines, etc.). The media content may be received directly or through a link. The link may be received from a user or detected by the implementation in a received file, such as a playlist or a media file. A link may include a pointer to a link, a URL address, a URI, an XML link, and an HTTP link. The implementation may then send a request to receive the media based on the media link. The implementation may also authenticate a user credential to access the media or pass along such a credential to a content manager. An authentication token or credential may be established during check-in for subsequent access to the first media.
An implementation of the disclosed subject matter may identify a vehicle corresponding as that chosen for travel by a user. The implementation may receive a vehicle identifier during user check-in and identify the vehicle on which the user is to be a passenger based on a matching vehicle identifier. In another implementation of the disclosed subject matter, a hierarchical list of vehicle identifiers may be received in the event that the vehicle chosen during check-in and potentially others are not available for use. For example, an out-of-order signal may be received from the intended travel vehicle and the implementation may identify an alternate vehicle for travel. Likewise, if the particular vehicle for travel is changed, an updated vehicle identifier may be received by the implementation.
An implementation of the disclosed subject matter may cause the media item to be stored at a media system in the identified vehicle. The media item may be associated with the user in media system memory. It may also be associated with information about the user, such as the user's seat number, an identifier of a player (such as a seatback video player) through which the user will access the media, etc.
In an implementation of the disclosed subject matter, a first signal about the vehicle may be received. The first signal may pertain to a vehicle speed, a vehicle condition, a vehicle availability, a vehicle location, a vehicle altitude, a vehicle departure and/or arrival status, etc.
An implementation of the disclosed subject matter may determine an authorized period for the first media based on the received first signal. For example, the first signal may pertain to vehicle speed, and the implementation may not authorize access to the media until the vehicle has reached a threshold minimum speed. For example, a vehicle speed may indicate that a car is has left a car rental center and is on the road, that an airplane has taken off, etc. Conversely, an implementation may deny access to the media when the vehicle speed is above a threshold maximum speed. For example, an implementation may deny access to a user document stored at an automobile media system when the automobile is moving because the user should not read the document while driving, for safety reasons. On the other hand, the same system may permit access to a music media item while the automobile is moving. In this way, an implementation may enforce different access thresholds based on the type of media item (e.g., document, audio only, video, etc.) As another example, a passenger may not be able to access media stored to an airplane during travel until a threshold minimum altitude has been reached. This may be implemented, for example, to ensure that the user is not accessing his media during the safety announcement at the beginning of the flight. Access may subsequently be denied if the airplane is traveling below a minimum threshold altitude as the flight crew asks the passengers to prepare for landing.
In an implementation of the disclosed subject matter, an authorized period for the first media may be determined based on a determined travel start time and a determined travel stop time. Access to the media may be denied prior to the travel start time and after the travel stop time. The travel start time may consist of a scheduled travel start time or an actual travel start time. For example, an airplane may be scheduled to depart at 5:00 AM PST but may not depart until 5:30 AM PST due to unexpected delays. The implementation may detect the discrepancy and may not begin to allow access to the media until 5:30 AM PST. Accordingly, the travel stop time may consist of a scheduled travel stop time or an actual travel stop time. For example, a train may be scheduled to arrive at its destination at 9:00 AM EST, but due to unexpected delays, the train may not arrive at its destination until 10:15 AM EST. The implementation may detect the discrepancy and may allow access to the media until 10:15 AM EST. Such a discrepancy may be detected based on a second signal about the vehicle received by the implementation.
An implementation of the disclosed subject matter may also determine an authorized period to access the media based on an override request from an authorized user. For example, the user during check-in may specify an authorized period to access the media. Alternatively, an authorized passenger action may determine start and stop times for the authorized period. For example, the authorized period may begin once a validated user credential has been received through the vehicle-based media system. Conversely, the authorized period may expire when the authorized user expressly terminates the authorized period or turns off the media system.
In an implementation of the disclosed subject matter, a request for the media item may be received through the vehicle-based media system. For example, a traveler can turn on an electronic device configured to deliver the media (such as a seatback video player or automobile audio system) and a signal may consequently be received by the implementation signifying a request from the user to access the media. The originating location of the request (such as a seat position, a player position, etc.) may be used to authenticate the request and to deliver the media. Upon receiving the request through the vehicle-based media system, the implementation may identify a seat corresponding to the source of the request. The identified seat may be compared to the seat assignment of the requesting user. If the seats match, then the requested media may be sent to the player at the seat location. If the seats do not match, the request to access the media may be denied.
An implementation of the disclosed subject matter may verify that the requester is authorized to access the media. The verification may include receiving a requester credential through the vehicle-based media system and authenticating it based on a master credential created during check-in. Alternatively, the stored media may have low protection settings and the mere presence of a requester may satisfy the step of verifying that the requester is authorized to access the media. In order to verify that the requester is authorized to access the media based on the requester's location, an implementation may determine the location of the requester, may determine the location of the vehicle, and may determine that the requester is within a threshold distance of the vehicle based on the determined location of the requester and the determined location of the vehicle. Determining the location of the user may be based, for example, upon the determined location of the user's smartphone, smart watch or other device. Verifying that the requester is authorized to access the media may include determining that the requester is authorized to receive a copy of the media, to use the media, to modify the media, to store the media, to share the media or to copy the media. The implementation may receive modifications to a media item, such as edits to a document of the user. Likewise, the implementation may receive a signal to share a media item with another user, to send it to an email address, smartphone address, to share it on a social network, etc. In response, the implementation may perform the requested action with respect to the media item. When a user modifies a media item such as a document, the implementation may synchronize the modifications with a version of the media item stored elsewhere, such as in the cloud. In an implementation, the modifications can be sent to a cloud-based storage when the user indicates that the changes should be saved, when the user closes the media item, automatically periodically or at or near the end of the authorized period, etc.
An implementation of the disclosed subject matter may determine that the authorized period has expired. The implementation may determine that the authorized period has expired based on an expected arrival time, an actual arrival time, a vehicle signal, a vehicle condition, a requester proximity to the vehicle, a vehicle location, a requester location, or a message from the requester. For example, if the travel vehicle enters an emergency state (e.g., vehicle failure or malfunction), the media may be automatically made to be inaccessible or be deleted from the travel vehicle. The media may also be deleted if the determined proximity of a requester to the vehicle is greater than a threshold distance. For example, if the implementation determines that the user is more than 15 meters from the vehicle, the media can be made inaccessible or be deleted. The distance of the user from the vehicle can be determined, for example, by measuring signal strength between a key fob for the vehicle and the vehicle itself. As another example, if the location of the travel vehicle does not agree with the scheduled or expected location of the travel vehicle throughout the course of travel, the implementation may determine that the authorized period has expired and suspend or terminate access to the media or delete the media from the vehicle media system storage.
In an implementation of the disclosed subject matter, a modified version of the media may be received from a verified passenger granted the right to modify the media. The implementation may generate tags and other metadata specifying where the verified passenger made edits to the media and the content of the edits. The implementation may upload the modified media to a storage element. For example, the implementation may upload the modified media to a storage element local to the transportation vehicle or to a remote storage element via a standard or custom protocol. An implementation can track the version of the media item by assigning an identifier to each version. For example, a first version number can be assigned to the media item in its original form and a second version number can be assigned to the media item as it is initially modified by the user. Subsequent version numbers can be assigned based on subsequent modifications. A version number can be assigned, for example, when the user indicates that a version of the media item is to be saved, stored, shared, sent, etc.
An implementation of the disclosed subject matter may delete the media from the vehicle. The media may be deleted by the implementation based on an expected arrival time, an actual arrival time, a vehicle signal, a vehicle condition, a requester proximity to the vehicle, a vehicle location, a requester location, or a message from the requester. The implementation may delete the media prior to the expiration of the authorized period to access the media. For example, if a message from the requester is received instructing the implementation to delete the media prior to the expected expiration of the authorized period, the implementation will delete the media. Conversely, the implementation may receive a signal from the vehicle altering a faulty mechanical or electrical state of the vehicle and delete the media.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit implementations of the disclosed subject matter to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to explain the principles of implementations of the disclosed subject matter and their practical applications, to thereby enable others skilled in the art to utilize those implementations as well as various implementations with various modifications as may be suited to the particular use contemplated.