System and method for aggregating and displaying media from multiple cloud services
20170251257 · 2017-08-31
Assignee
Inventors
Cpc classification
H04N21/6582
ELECTRICITY
H04N21/4622
ELECTRICITY
H04N21/274
ELECTRICITY
H04N21/4825
ELECTRICITY
H04N21/437
ELECTRICITY
H04N21/47205
ELECTRICITY
H04N21/47217
ELECTRICITY
International classification
H04N21/462
ELECTRICITY
H04N21/472
ELECTRICITY
H04N21/475
ELECTRICITY
H04N21/258
ELECTRICITY
H04N21/437
ELECTRICITY
H04N21/466
ELECTRICITY
Abstract
A computer implemented system and process for aggregating files from multiple Cloud servers provides into one or more seamless virtual directories. File types can be combined to create unique multimedia Shows, with added special effects and transitions. The Shows can be streamed to multiple device types or saved for later viewing. Shows can be pushed out to devices, viewed on-demand or by schedule and Cloud subscribers can change show content by changing media residing in their individual Clouds.
Claims
1) A computer-implemented method for aggregating files from multiple Cloud Service Providers into one or more virtual directories comprising: a) providing an Internet connected Computing Device for requesting data from two or more Cloud Service Providers, which are external to the computing device; b) providing a user interface to enter login information required for access to Cloud Services by the Computing Device. c) causing said Computing Device to make an application program interface (API) call to two or more Cloud Service Providers, requesting paths to Cloud hosted files; d) creating symbolic links designating the paths to files residing on the Cloud Server; e) aggregating the symbolic links into one or more virtual directories; and f) outputting the virtual directory to a graphical user interface on an internet connected computing device.
2) A method according to claim 1 wherein the files listed in the virtual directory are media files, selected from audio, video, image files and combinations thereof.
3) A method according to claim 2 wherein the Computing Device is an Aggregation Cloud Server external to one or more user devices with applications capable of playing streaming media.
4) A method according to claim 2 wherein a user selects a symbolic link from a virtual directory, a file selection notification is sent to a computing device which makes an API call to the Cloud server hosting the file indicated by the path in the symbolic link, whereby said file is streamed to a user's media player application.
5) A method according to claim 4, wherein a computing process removes one or more symbolic links pointing to duplicate files on one or more cloud servers.
6) A method according to claims 5, wherein one or more users store one or more preference profiles on a Cloud Server.
7) A method according to claim 6 wherein user requested streamed media content is played on a Universal player.
8) A method according to claim 7 wherein a Universal player commits saved-state information periodically or by user request, a plurality of times during playback of streaming media files, saving said saved-states to a Cloud Server, which can resume playback from a position recorded by a saved-state on another device containing a Universal player.
9) A method according to claim 2, wherein a user can create a Show by selecting two or more media files for sequentially ordered playback on a media player.
10) A method according to claim 9 wherein two or more media files are played concurrently.
11) A method according to claim 9 wherein a user adds special effects to a Show.
12) A method according to claim 10 wherein a user adds special effects to a Show
13) A method according to claim 11 where Shows are automatically generated based upon saved user preferences.
14) A method according to claim 12 where Shows are automatically generated based upon saved user preferences.
15) A method according to claim 7, wherein Show playback instructions are saved as a file to a Cloud server for playback on one or more devices capable of reading the Show instruction file.
16) A method according to claim 8, wherein Show playback instructions are saved as a file to a Cloud server for playback on one or more devices capable of reading the Show instruction file.
17) A method according to claim 9, wherein Show playback instructions are saved as a file to a Cloud server for playback on one or more devices capable of reading the Show instruction file.
18) A method according to claim 8 wherein a computing process requests media content and special effects according to playback instructions in a Saved Show file, makes API calls to Cloud Server's hosting media files required for playback, and streams the media to a plurality of media player devices.
19) A method according to claim 14 wherein the playback instruction from a saved Show Instruction file contain Boolean style queries for requesting media files for Show playback; sequential or concurrent playback order determined by a user or saved user preferences.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0034]
[0035]
[0036]
DETAILED DESCRIPTION
[0037] Cloud computing architecture has two main components: a front end and back end. The front end encompasses an application for collecting input from the user and processing it to conform to the specification of the back end, where the data resides, such as in the Cloud.
[0038] In order to allow software applications on the front end to access content on the back end, the Cloud Service Providers usually provide APIs (application program interfaces) so that third party developers can have a secure conduit to the data. APIs specify the manner in which the application should interact with the Cloud and the limits of that interaction, allowing the data to flow freely and securely.
[0039] The embodiments of the present invention contemplate accessing Clouds using APIs as the preferred method, but the invention is not limited to this approach as a means for accessing Cloud-based media.
[0040] In the following detailed description, reference is made to the accompanying drawings. For purposes of illustration, the drawings contemplate use of the disclosure for media files; however, the present disclosure is not limited thereto and can be changed and modified to include multiple types of content.
[0041] It will be understood by those within the art that, in general, the term “including” used herein should be interpreted as “including but not limited to;” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” and the term “such as” should be interpreted as “an example of, but not limited to” and so on.
[0042] Hereinafter, a System And Method For Aggregating And Displaying Media From Multiple Cloud Services will be described in accordance with a first embodiment and where additional embodiments or preferred embodiments are discussed, they will be noted.
[0043]
[0044] A user chooses which Cloud Services (collectively 18) that a user wishes to access, and provides the login information for each Cloud. Many publicly available Clouds do not require logins, although a login is often available or desired for social media and sharing or for saving favorite media, creating playlists or entering comments, which can be made available to the user in the invention.
[0045] The login information is stored on a Cloud Server or local machine, which can be accessed by the Aggregation Server 14.
[0046] In an embodiment, users can create multiple profiles with a plurality of configurations and preferences.
[0047] The Cloud Aggregation Server 14 uses the profile information or user entered information to make an API call 16 to a plurality of accessible Cloud Service Providers. Examples of Cloud Service Providers include, but are not limited to, Storage Clouds 20 that contain various types of user files, Subscription Cloud Services 22, such as those that provide streaming audio of major music artists, Video Content Clouds 24, where user-generated video is stored and streamed for public viewing, and Social Media Cloud sites 26.
[0048]
[0049] A Cloud Aggregation Server 14 or user device computing process retrieves file location path for files on accessible Cloud Service Provider Servers and creates symbolic links indicating paths to the files.
[0050] Software within Cloud Aggregation Server 14 runs processes 28 on the data, including aggregation and removes symbolic links pointing to duplicate files, the remaining files chosen based upon user preferences or default processes, such as, but not limited to, connection speed or connection quality, and then creates Virtual Directory 30, with the resulting symbolic links, viewed on device 12.
[0051] Virtual Directories are not limited to hierarchical directory forms. Files can be viewed as interactive graphical user interfaces displaying additional media file data from metadata or other embedded data such as digital watermark.
[0052] In an embodiment, the Cloud Aggregation Server 14 makes periodic calls to connected Cloud Services and updates the duplicate file results.
[0053] Other devices can then access the varying profiles stored on Cloud Aggregation Server 14 and receive the aggregated file catalog in the Virtual Directory 30.
[0054] To play a media file, i.e. a song, video or image, a user selects a media file by selection of its corresponding symbolic link in the Virtual Directory 30.
[0055] Cloud Aggregation Server 14 will make an API call to the Cloud Service Provider hosting the media file, making a request that the file be streamed, or otherwise pulled in streaming format to the Cloud Aggregation Server 14 and routed to the user's media player device. Although a particular embodiment, and Aggregation server 14 is not required as API calls and required computer processes can be built into a user device application.
[0056] In a further embodiment, the Cloud Aggregation Server 14 will periodically, or by user request, maintain “saved-states,” which save any required information for the user to open a media player on other devices and continue playing the media at the point indicated by the saved-state. For example, a user midway through watching a video on a mobile phone, can turn-off the device and continue watching from the same point on their web appliance or computer.
[0057] Saved-states can be stored on a Cloud Server and used to synchronize a plurality of user devices.
[0058]
[0059] A user 08, accesses a computer interface 12, displaying the media file directory in Virtual Directory 30.
[0060] The user 08 rearranges, mixes, or combine the symbolic links in the Virtual Directory 30 to create multimedia Shows of sequential and/or concurrent media files.
[0061] In a specific embodiment, the symbolic links are visually reordered or mixed 34 by placing them along a virtual timeline 36. Enhancements can be added to individual media files or globally for all files in the show, such as, but not limited to, color correction, contrast, brightness, pixel smoothing, volume level, or special effects such transitions, zooming or timing.
[0062] In an embodiment, the Show includes the special effect of splitting the viewing screen into two or more screens, each showing visual media.
[0063] The Show is output as a Show Instruction file 40, which includes all of the instructions, links, special effects, security or other information required for viewing the Show.
[0064] The Show Instruction file 40 can be stored in a Cloud server and retrieved by a plurality of devices with media players capable of reading the file and playing the Show.
[0065] In an embodiment, the Show Instruction files reside on the Cloud Aggregation Server 14, which receives an instruction to stream the Show to the device. For example, a series of photos can be made into a playlist with each image showing for five seconds, with music from a subscription Cloud service playing during the slideshow, followed by a streaming video.
[0066] In an embodiment, a Universal Player 42 on a computing device with the necessary video and audio codecs, conforming to the specification of the individual Cloud's APIs is used for viewing.
[0067] The present invention can also push Shows out to media devices, such as kiosks, on a schedule. The Show Instruction File can use Boolean and Wildcards queries to create dynamically changing Shows as content is changed, removed or added in a plurality of Clouds Services.
[0068] For example, a real estate company has image files of homes stored with multiple Cloud Services around the world, with the content maintained by its various worldwide offices. A user can create a Show of homes for sale, using content from multiple Cloud Services Providers, which is then streamed on a schedule to media players at office locations. Changing referenced images in the Cloud will automatically change the associated image in the Show.
[0069]
[0070] A user 08 accesses software device 12, which displays the Virtual Directory 30 from a plurality of Cloud Service Providers.
[0071] In one embodiment, the user 08 accesses a software interface 12 which allow the user to enter, but not limited to, Boolean or natural language search queries when creating a Show, allowing for ranges of content rather than single media files. For example, the user 08 could create a Show that includes any .jpg, .png, or .tif image file, residing in Clouds A, B and C, which are tagged with the word “Spain” in the metadata description field with each image being viewed in alphabetical order for five second each on a loop, with a crossfade transition between each image.
[0072] Users 44 can change or add media in a Cloud Service 46, which is then reflected in the Virtual Directory 30. During the next API call content update to that Cloud Service Provider, the Show 40 will change automatically to reflect the updated or content that results from the Show's search string, and streamed by Cloud Aggregation Server 14 to the media players 48.
[0073] In another embodiment, Show file attributes, such as visual enhancements or special effects, can be changed or added by instructions embedded in the media file, for example, in custom metadata fields.
[0074] While this invention has been described in conjunction with various examples and preferred embodiments, many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, and examples as set forth above are intended to be illustrative but not limiting. Changes may be made without departing from the spirit and scope of the invention.