Embodiments of the invention generally relate to the field of content delivery via networked download to a local content cache with fast local transfer to client devices.
Delivery of large digital content, such as video, via the Internet has improved as a result of huge investments from large networking companies. The backbone of the Internet, the high bandwidth dedicated connections between data centers, has increased bandwidth within the cloud significantly. Also, large content caching data centers located at the “edge” of the Internet bring the content closer to many client devices (users). However, one problem with content delivery is the “last mile”, serving the network between the Internet Service Provider (ISP) and the client device. Some improvement has been made here with cable television wiring converted to ISP service, 4G cellular towers, and, in some cases, fiber optic wiring. However, the demand for content delivery has outstripped even these investments.
One challenge is how to get the content closer still to the client devices so there is less need for expensive networking in that last mile. This is challenge addressed by the techniques disclosed herein.
The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
The Content Delivery System delivers content quickly and securely between a client device and a pre-loaded content caching device or network. In other words, the Content Delivery System delivers large digital content to a mobile device quickly with little delay. This system is ideal for delivering video and other multimedia content that is both large and often viewed on mobile devices.
In one embodiment, Content Delivery System consists of three or more software components running on different types of hardware. Two of the basic components include a Content Access Point, which is a local content repository with a wireless access point and a Client Application (Client App) that interacts with the Content Access Point to initiate the download. In some embodiments, a third component, the Dedicated Web Services service, provides both Client App authorization and/or Content Access Point content management.
In one embodiment, the Content Access Point contains content data either locally in cache memory or accessible over a Local Area Network (LAN). The Content Access Point has the ability to connect with the mobile device. In some embodiments, the Content Access Point offers a high-speed wireless connections, such as, for example, but not limited to, Wi-Fi. With content stored locally and a high-speed connection, content can be transferred with little or no delay and at high-speed. The Content Access Point is also able, through variety of different embodiments, to determine for which content a given Client App is authorized to download.
The Client App is an application on a client device (e.g., a mobile device) and performs its functions when launched or controlled by the user. The Client App is responsible for initiating the content download. In embodiments using wireless connections, the Client App detects the presence of Content Access Point, connects to that Content Access Point (e.g., wirelessly connects), requests content, and receives the downloaded content. In one embodiment, are many variants of Client that run on corresponding variants of client devices, such as Android, IOS, and more. In one embodiment, this client software interacts with a dedicated web service (Dedicated Web Services) to create accounts, register devices, and perform transactions to get authorization for content. In one embodiment, the Dedicated Web Services also wirelessly connects with Content Access Points to transfer pre-authorized content (and, in some embodiments, other functions, see below). Although this software is implemented using different languages and libraries, in accordance with the type of devices on which the software runs, all the variations of client software perform the same functions (e.g., functions such as shown in
In one embodiment, the Content Access Point runs on a kiosk device or on a networking device. In one embodiment, a Content Access Point is a physical device, like an information kiosk, with signage. In one embodiment, the Content Access Point has a user interface consisting of one, or more, of the following components: a display screen, a pointing method or device, and a keyboard. In one embodiment, user can interact with the Content Access Point interface in a similar way as with a Client, creating accounts, registering devices, and performing transactions. This software is implemented using different languages and libraries, in accordance with the type of Content Access Point devices on which the software runs, all the variations of Content Access Point software perform the same functions as shown in
In one embodiment, a Content Access Point is one, or more, dedicated Wi-Fi signals from a Wi-Fi access point that can be detected by the Client software and device. Thus, Content Access Points can be Wi-Fi networks without a user-oriented physical presence. In some embodiments, signage and a physical object are used to denote the location of a Content Access Point is optional.
In one embodiment, a Content Access Point also acts as a proxy network to access the Dedicated Web Services software and servers. In this embodiment, the Content Access Point is behaving as a Wi-Fi access point.
In one embodiment, a Content Access Point is temporarily not connected to the Dedicated Web Services and performs operations with the Client (e.g., creating accounts, registering devices, transactions) which are stored and later transferred to Dedicated Web Services when a connection is reestablished.
In one embodiment, a Content Access Point is connected to the Dedicated Web Services only when an appropriate wired or wireless connection becomes available. For example, if there is a bus, delivery truck, or other schedule service that comes and connects to the Content Access Point, then at that time, all the appropriate content would be downloaded to the Content Access Point and all the appropriate data (e.g., analytics, client interactions, etc.) would be uploaded.
In one embodiment, a Content Access Point is connected to the Dedicated Web Services constantly with an appropriate Internet connection. Content can be downloaded at any time to the Content Access Point, although the Dedicated Web Services servers might choose a time when the available bandwidth is better, or potentially optimal. In one embodiment, the client data is uploaded continually.
In one embodiment, the Dedicated Web Services runs on cloud servers and performs the backend functions described below. This system serves many client devices and pre-loads and orchestrates the behavior of many Content Access Point devices or networks. This software is implemented using different languages and libraries, in accordance with the type of web servers on which the software runs, all the variations of Web software perform the same functions as shown in
For purposes herein, the Content Delivery System is the software and hardware used to implement the client device transaction, authentication, and content download.
A client device is most commonly a computer, laptop computer, tablet, or mobile phone device but is not limited to being these devices. However, the techniques described herein are not limited to the type of client device served. For example, set-top television boxes, digital video recorders, smart watches, and Internet of Things (IoT) devices could all be served by the Content Delivery System.
A pre-loaded content caching device or network, hereafter referred to herein by the term Content Access Point, is a physical device or network that has memory for storing content (e.g., video content). The Content Access Point also has wireless connectivity (e.g., Wi-Fi) and software to connect to the client device and transfer content. In one embodiment, a Content Access Point is part of a physically identifiable apparatus or signage that allows users to identify the location. In one embodiment, a Content Access Point is a wireless network to which the client device can automatically connect. Finally, the Content Access Point has one, or more, methods for preloading content (e.g., download from the Internet, side-loaded from a similar device, or loaded by a courier, etc.). In one embodiment, Content Access Points are kiosks referred to in “Content Distribution Systems and Methods,” U.S. Pat. No. 10,104,046 B2. Dedicated Web Services is the software and network server combination that perform all of the backend cloud functions.
Client is the application running on the client device that initiates and receives pre-authorized content. On some client devices, the content selection transaction can also be performed. On other devices, the content authorization is implied by secure registration of the device. In this case, the content selection occurs outside of the Client.
Digital Rights Management (DRM) is an encryption technique commonly used to secure content such as videos.
CRUD is an acronym referring to the common software data operations of Create, Read, Update, and Delete.
Content usually comprises video data. However, any type of data can be used. In one embodiment, the Content Delivery System protects, tracks, ensures usage rules, and provides analytics using the technology found in U.S. Pat. No. 8,751,795 B2, “Secure Transfer and Tracking of Data Using Removable Non-volatile Memory Devices”.
In
In one embodiment, the Dedicated Web Services Content Management module 102 manages content data storage directly. In one embodiment, the Dedicated Web Services Content Management module 102 acts as a proxy server for the Content Provider 101 data storage.
In one embodiment where the Content Access Point 105 is preloaded with content, the content is passed at different (asynchronous) times, first to the Content Access Point 105 and later to the Client 106.
In one embodiment where the Client 106 requests content that has not been preloaded onto Content Access Point 105, the content data flows from the Content Provider 107 (or the Dedicated Web Services Content Management module 102 if it is the data storage) to the Content Access Point 105 to the Client 106 in relatively the same time, similar to streaming.
Two other functions are shown on
Also there is bidirectional communication between the Dedicated Web Services Transaction module 104 and the Client 105 that is used for shopping for content, purchasing content, and receiving authorization.
There is a similar bidirectional communication between the Client 106 and the Content Access Point 105 via the Transact Analytics 112 communication channel (e.g., wireless connection, wired connection, etc.). If there is no network connection between the Client 106 and either the Dedicated Web Services Transaction module 104 or the Dedicated Web Services Analytics module 103, the Client 106 uses the Transact Analytics communication channel 112 for these functions.
Embodiments of the Content Delivery System have significant value for users, content providers, and network providers. This is important because all three of these stakeholders participate in content delivery.
Value for users include:
Value for content providers (Netflix, Amazon, Apple, Hulu, etc.) include:
Value for network and Internet Service Providers (ISP) (e.g., Comcast, AT&T, Verizon, etc.) include:
Content includes, but is not limited to, movies, television, video games, health records, financial records, personnel records, training videos, educational videos, sports.
Valuable places to use Content Delivery System include, but is not limited to, airplanes, airports, buses, bus stations, trains, train stations, hospitals, restaurants, cafes, stores, hotels, plazas, and public spaces.
Below is a description for embodiments of the Client software, the Content Access Point software, the Dedicated Web Services software, and other functions.
The Client App is launched or controlled by the user. In some embodiments, the Client App only detects a Content Access Point (e.g., Content Access Point signals), requests content, and downloads content when in the foreground (via, for example, a user interface exposed to the user). In some embodiments, the Client App can perform these functions while in the background.
In embodiments using wireless connections, the Client App detects the presence of the Content Access Point. For example, in one embodiment, using Wi-Fi, the Client App detects the signal via the Service Set Identifier (SSID), connects to that signal, requests the content, and downloads the content data. In one embodiment, after the Client App downloads the content data, it disconnects with the Content Access Point. In one embodiment, after the Client App disconnects with the Content Access Point, it reconnects with the Wi-Fi signal to which it was previously connected, if any,
In one embodiment, the Client App is authorized for all, or specific, content in an interaction with the Content Access Point. In one embodiment, the Client App possesses a special code, or codes, that authorizes the download of any, or specific, content. In one embodiment, authentication of the Client App is achieved via digital certificate exchange. In one embodiment, the Client App presents a login and password to the Content Access Point.
In one embodiment, the Client App has authorization for specific content by a previous transaction (e.g., purchase, gift, exchange, etc.) and receives a coded receipt for that transaction (e.g., purchase, gift, exchange, etc.). In one embodiment, the operation of the Client App itself implies authorization for any, or specific, content. That is, installing the Client App requires a previous transaction (e.g., purchase) of any, or specific, content or a subscription to any, or specific, content. In one embodiment, the Client App is authorized with a limited use of download privileges (e.g., a one-use gift download, a specific preset number of downloads).
In one embodiment, the Client App can browse the content available on a Content Access Point and allow the user to select which content is requested for download. In one embodiment, when the Content Access Point has access to the Internet and acts as an Internet Access Point, the Client App can browse the web services for content and make transactions on the web. In one embodiment, the Client App can make transactions directly with the Content Access Point without an Internet connection. The transaction, including the exchange of credit information (e.g., credit card numbers), will be logged the next time the Content Access Point is “recharged,” as described in more detail below.
In some embodiments, the Client App uploads analytical data to the Content Access Point when connected. This data might include information about which content was viewed, when, and other similar often video-related analytics.
This component of the Client provides the user facing application for browsing, acquiring and playing media content (e.g., DRM Media Content) on a wide variety of mobile platforms.
In one embodiment, Client software is developed for specific device platforms (e.g., iOS Devices—iPhones, iPads, Android Devices—Tablets, Phones, Amazon devices, Windows Devices, Mac Laptops, Game consoles, Media devices (Roku, etc.), Smart TVs, etc.).
In one embodiment, the Client software comprises a variety of components from backend interfaces, security and core applications modules. These components are discussed below.
Referring to
This is a Dedicated Web Services interface component that allows the user to perform the following tasks:
This is a Dedicated Web Services interface component that allows the user to perform the following tasks:
This is a Dedicated Web Services interface component that allows the user to perform the following tasks:
This is a Dedicated Web Services interface component that allows the user to perform the following tasks:
Referring to
This is an application component that allows the user to perform the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that allows the user to perform the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
This is an application component that provides infrastructure support and performs the following tasks:
Referring to
This is a security component that allows the user to perform the following tasks:
This is a security component that allows the user to perform the following tasks:
This is a security component that allows the user to perform the following tasks:
A Content Access Point is a physical device that can be found in many locations. In one embodiment, a Content Access Point comprises content storage, a Wi-Fi access point to which Client Apps can connect, and computation for content management, client authentication, analytics collection, and “recharge management.”
Recharge management refers to herein the pre-loading, re-loading, and updating of content. It also includes the transfer of analytic and transactional data received from the Client Apps that have interacted with the Content Access Point. Finally, recharge management includes updating any list of authorization information (e.g., authorization codes) required for the Client Apps to connect to the Content Access Point.
Recharge can be performed in many different ways. In one embodiment, the Content Access Point is communicably connected to a web service via Ethernet or other wired networking. In one embodiment, the Content Access Point is communicably connected to a web service via Wi-Fi or other wireless networking. In one embodiment, the Content Access Point is communicably connected to a Wi-Fi mesh network. In each of these embodiments, the web service recharges the Content Access Point directly. The web service may continually add or delete content data from the Content Access Point based on one or more algorithms. In one embodiment, at least one of the algorithms predicts local demand for the content. Alternatively, the web service may queue changes for a time when bandwidth is available, such as, for example, off-peak early morning hours.
In one embodiment, the Content Access Point is recharged via addition of physical memory containing the new content. In one embodiment, the Content Access Point is recharged via the swapping of physical memory containing the new content. In one embodiment, the swapped out physical memory includes analytic and/or transactional data that is obtained from the Content Access Point when the physical memory is coupled to the Content Access Point, where the analytic and/or transactional data is obtained Client devices when connected to the Content Access Point. In one embodiment, the Content Access Point is recharged via the swapping of one “disk” in a Redundant Array of Independent Disks (RAID) configuration of memory. The software in this embodiment recognizes the new disk is the “correct” disk and copies the content to the old disks-the opposite of a typical RAID function.
In one embodiment, the Content Access Point is recharged via a portable storage device that is temporarily connected to the Content Access Point. In one embodiment, the portable storage device is connected to the Content Access Point via a wired connector, e.g., USB or Ethernet. In one embodiment, the portable storage device is connected to the Content Access Point via a wireless connection (e.g., Bluetooth, Wi-Fi, etc.).
When connected, the Content Access Point downloads all of the new content data and deletes any content required. In one embodiment, the portable storage device includes instructions for which old content to delete. In one embodiment, the portable storage device uploads the analytic and transactional information from the Content Access Point. Later, the portable storage device is connected to another device (e.g., a master device) that controls all of the content, transactions, and analytics. In one embodiment, this master device is an Internet web service.
A typical transaction between a Content Access Point and a Client App is described below.
This component of Content Delivery System provides a variety of services in supporting Content Access Point delivery of licensed media to the end clients. These components are discussed below.
Referring to
This is a web services API component which provides access for the following tasks:
This is an updater services component that performs the following tasks:
This is an updater services component that performs the following tasks:
Referring to
This is a core functions component and performs the following tasks:
This is a core functions component and performs the following tasks:
This is a core functions component and performs the following tasks:
Referring to
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This section is an overview of Dedicated Web Services functionality which supports the cloud level of one embodiment of a Content Delivery System. Referring to
This is a client services component that allows the user to perform the following tasks:
This is a client services component that allows the user to perform the following tasks:
This is a client services component that allows the user to perform the following tasks:
This is a client services component that allows the user to perform the following tasks:
This is a client services component which allows the user to perform the following tasks:
Referring to
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
This is an administrative services component which performs the following tasks:
Referring to
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This is a repository component which performs the following tasks:
This section discusses the details of the data collected, i.e., the database schema, and used within Dedicated Web Services.
The section covers design details of the components in one embodiment of the Content Delivery System.
In one embodiment, this component of Content Delivery System provides the user facing application for browsing, acquiring and playing DRM Media Content on a wide variety of mobile platforms
This section describes the design and workflow of the client side services for one embodiment of the Client.
Note: when credit card information is stored, it is PCI compliant. Recommend third party billing as this are generally be one of the requirements by partners.
This page is divided into 4 main chunks:
This page is modeled after Amazon Prime Video home page.
Header has a top-level page links of the most used pages to include:
Footer has links to the following pages:
This section has a number of promotions of the current cycle. In one embodiment, each Hero Image has links to a product detail page, promotional page or whatever it is linked to from the Administration Dashboard. In one embodiment, the carousel is configurable (e.g., no less than four hero images, no more than eight hero images, etc.). In one embodiment, configurability of the store hero carousel is set in the administrative dashboard.
This section has a series of custom carousel bars according to one embodiment. Each carousel bar has a number of banner thumbnails, a control title and an option link to a more specific page filtered based on the filter for the carousel bar.
Carousel bars are:
In one embodiment, an optional configuration includes:
An object of different carousel bar configurations is to draw the attention of the customer to something different. The banner thumbnail bar is created first as the standard. In one embodiment, the number of carousel bars is configurable via the administrative dashboard as well as the content within each bar. All tiles within a carousel bar has popover modal dialogs giving a little more detail where it makes sense. All tiles within a carousel bar has links to either product detail pages or whatever was linked to via the administrative dashboard
In one embodiment, product specific or product filtered pages have the same interface as the Store Interface home page. These pages are configurable from the Administration Dashboard in the same way as the Store Home page.
In one embodiment, these pages are filtered by:
Further filtered pages, such as picking a “see more” link or a genre thumbnail creates a thumbnail or banner thumbnail grid page without the Hero Carousel. The top-level pages are limited similar to how Amazon Prime does theirs. The further filtered pages work more similar to how Vudu does filtered pages. These pages are modeled after Amazon Prime Top Level Filtered pages.
In one embodiment, Content Access Point locater page is similar to Redbox's “Find a Box” page. It starts with a modal dialog that request either the user zip code or a “Find Near Me” option which use HTML 5 Geolocation tools to locate where the user is. Once either is initiated, a Content Access Point Locator Page appear.
In one embodiment, the page consists of the following components:
In one embodiment, this component is similar to Redbox's search component and provides filtered search results into a dialog modal and will not leave the current page. In one embodiment, results are returned via an Ajax call to a backend Search end point, and a search only return product titles, but can take in partial titles, actor's names, director's names. A link is provided to a Product Details page behind the name returned.
The library page has a grid of user content. It has top level filters for types of products. It has secondary filters on the right for sorting purposes. This page is similar to Amazon Prime's Video Library Page.
The wishlist page have a grid of user content added to the user wishlist. It has top level filters for types of products. It has secondary filters on the right for sorting purposes. Thumbnails have links to Product Details pages and purchase options. Thumbnails have the same popover modals that the store interface has. This page is similar to Amazon Prime's Your Watchlist Page.
The section discusses the different user portal settings that the user can manage in the Client Services part of Dedicated Web Services. The areas covered here are:
One goal is to have an account, which has the account library associated with it. An account can have a number of users, one being primary. It can also have a number of devices. An example would be an account with six users and 12 devices which follows similarly to what Ultraviolet had devised. This can be defined during setup of the system for a partner.
The account settings page has the following (viewable based on user permissions):
Page is similar to the way Ultraviolet use to do this.
The user settings 1e
User can be of three different types:
Limited User has the ability to:
Standard Users has the ability to:
Primary User has the ability to:
Page is similar to the way Ultraviolet use to do this.
The user settings page has the following (viewable based on user permissions):
Page is similar to the way Ultraviolet use to do this. Amazon and Vudu have similar pages.
The billing management page has (modeled similar to Vudu):
Standard Debit/Credit Payment option collects:
Third Party payment systems have different mechanisms for linking into a Web App. Each is addressed as needed. Page is similar to the way Ultraviolet use to do this.
The purchase history page has:
This page has links to man other pages and/or have expanding help options based on the amount of help information new provide.
This is a basic login page. It consists of the following basic information:
Log off does not have a specific page or modal. Just a link to log off with in the top corner of the store interface page
The product details page has the following listed (Movies):
The product details page has the following listed:
This page is similar to Amazon Prime Video's Product Details page (with parts from Vudu).
In one embodiment, the purchase page is shown either from a link from the product details page or from the model in the store interface.
In one embodiment, the store front does not have a cart and a purchase is made one at a time as hard copy products are not reserved in an inventory system. In one embodiment, the user is just purchasing a license to view to content on devices registered to the account the user is in and the license is stored in the account's library. In one embodiment, the purchase page does not show up if the user is not logged in or the user does not have billing information associated with the account.
Much of the checkout process is similar to Vudu. In one embodiment, the purchase are two-phase commit. Two-phase commits limit accidental purchases, though it does add a step to the purchase process.
The purchase page shows the following:
This page is modeled after Vudu's checkout page.
This is a basic create an account page. It consists of the following basic information:
This page or modal contains the company info, contact information and anything else the company would like to add in this section. In one embodiment, structure and composition is defined by executive staff.
This page or modal consist of the terms of use for the content. Contents of this page and format are generated by legal.
This page or modal consist of the privacy notice for the system. Contents of this page and format are generated by legal.
This component of Content Delivery System provides the user facing application for browsing, acquiring and playing DRM Media Content on a wide variety of mobile platforms. In one embodiment, most actions in the system create a transaction log indicating the action performed and who performed it (hence an audit capacity). No user, administrator, or otherwise may delete anything form the audit tables. Audits can only be archived.
This page are divided into 4 main chunks:
Header consists of top-level page links of the most used pages to include:
This is the primary menu for the dashboard system. It contains links to the following pages:
Each of these menu items has additional submenus either within the side menu or within the content area for its page.
This section is the holder for the content for all the other pages in the dashboard system. Each content page is self-contained and provide the functionality it needs to perform the tasks that related to the page's content. Some pages may contain sub-menu header bars that is restricted to the content area of the page.
Footer contains the following links to the following pages:
The menu item is basically a holder for the submenu pages for different products listed below:
All pages in this category have the following abilities:
This page includes a complete list of products in the system. Products are defined by a type (such as Movie) and a format (such as SD). Products can have individual prices attached to them, hence each format can be set to a different price based on the partner's or content owner's requirements.
Products include the following:
This page handles the movie Products. It provides the ability to add to movies to the system. It contains the functionality previously listed in the Products Main section.
Movies have the following:
This page handles the Bundles. A Bundle is nothing more than multiple movies bundles together, such as the whole Star Wars series, etc. Bundles can only be created with content already in the system. A Bundle is a product and potentially has different pricing than the individual items sold separately.
This page handles the TV Series. A TV Series is generally not sold as a product. It contains the high-level information about a TV Series. Seasons and episodes contain the more detailed information about each. If a whole series is sold (such as a series which is no longer releasing new episodes, like Friends), it is treated as a very large Bundle, but is created in this category.
This page handles the TV Seasons. A TV Season is can be sold as a bundle of episodes (and normally is), but episodes can be sold separately with individual pricing.
This page is where specific episodes are created. At the heart of a TV Series are the individual episodes. Each are added to a specific Season of a specific Series.
Note: about TV products. They are created in the following order: series, season, and then episode. The episode screen has dropdown menus to associate a new episode with a specific season of a series.
This menu item contains a number of other product support pages to add data to. Everything from MPAA Ratings to Actors names are in this section. There is currently not an exhaustive list at the moment, but new items are added to this section as needed.
Each of the specific pieces of support data page has the following functionality:
The Account Management pages are here to allow the administrator the ability to manage user accounts within the system. Accounts are a collection of users, devices and an associated library.
Admins has the ability to do the following:
This section deals with one embodiment of the device repository and the detailed data about every type of supported device.
The Content Access Point Management pages allow the administrator the ability to manage remote Content Access Points. These pages allow catalog creation and assignment. These pages also provide the ability to provision a new version of the Content Access Point software to the Content Access Point.
The Catalog Management page allows the creation of product catalogs to be stored in a Content Access Point. These product catalogs consist of the following:
The Provisioning page allows a way for Content Access Points to update themselves once deployed. Once a new installation package is available, this page provides a means of defining how to deploy the package. The deployment is defined via a manifest similar to the catalog manifests. A provisioning manifest contains a link to the package and a list of Content Access Points to provision. This gives the ability of the admin to selectively upgrade Content Access Points for testing purposes.
The Store Configuration Management page allows the creation of store configurations that can be set as active for the Dedicated Web Services Store interface. These configurations consist of the following:
In one embodiment, configurations can be stored and reused. Only one can be set as active at a time
The Administrative Management page allows the creation admin accounts. As these are different than user accounts, more details are involved. Based on our partner requirements, this function may link into a partner's HR system for data for these pages.
Admin pages contain normal employee contact information, image avatar, etc. This page has standard CRUD capabilities that most of the dashboard pages contain.
The Analytic pages allows the admins to view the current analytic state Dedicated Web Services, the Content Access Point Network as well as the Clients deployed to the user base.
The Analytics Engine is described in a separate specification, though all analytics evaluation will come from these pages. Initially, Firebase is used for analytics gathering as it currently has functionality for all our platforms
The System Settings page allows the ability to set settings for the global platform. Some of these may be as simple as theme per user others may affect the system as a whole such as Users per account. Some settings may only be available during setup as changing the users per account while in operation can have drastic impact on a system in use. All settings for the Dedicated Web Services and the System in general is accessed from here.
This section discusses the security of the Admin Services portion of Dedicated Web Services. Web authentication is handled by Firebase for an industrial strength authentication solution out of the box with a variety of log in features and built in analytics backing log in and log out services. Content is encoded and secured before placed into our management system. Access to content and storage from the Admin Dashboard is restricted to those with access to the Admin Dashboard.
This component of invention provides APIs that Clients and the Content Access Points use to communicate with Dedicated Web Services.
The section covers the details of how the Dedicated Web Services layer is configured in the Cloud.
Below is a discussion the details of folder structure and storage of content and media within our system.
At some point, the static components may be move to a CDN for responsiveness. These include:
The section lists other embodiments and components that are supported, or in support, of the software described above.
Content Access Point Streaming—provides localized streaming of encrypted media content at the Content Access Point location. The client, while maintaining proximity to the Content Access Point, can continuously stream content with traditional stream technology.
Windows Device Support—supports the Universal Windows System including a host of clients from laptops, tablets, phones, Xbox, HoloLens, etc.
OSX Support—provides an OSX client via the Mac App Store for Apple computers.
Game Console Support—supports streaming and local download of media content to game consoles such as Xbox 360, Xbox One, PS3 and PS4.
Smart TV and Media Device Support—supports streaming and local download of media content to media devices such as: Roku, Apple TV, Amazon TV, Chromecast, etc. Also support Google TVs and other brands of Smart TVs
Homespot—provides both a client and a store interface directly to a user's home. It supports streaming to devices, as well as downloading directly from its local cache to devices in the home.
Hubserver—provides an intermediate cache server would service a collection of Content Access Points in an area, such as a mall, airport, etc. The Hubserver would provide a single point of updating all of the catalogs, media, etc. of all of the Content Access Points in its collection. Can server a single point for updating the Content Access Point software as well as content. Can serve as a single collection point of analytics for a collection of Content Access Points.
MoviesOnFlash—provides the ability to distribute secure content via flash drives. Content would still only be able to be played by Compatible players.
Dedicated Web Services Store—A full web-based store for purchasing and downloading DRM media content. The majority of the components necessary to deploy the Content Access Point will also support and online store presence.
Dedicated Web Services Streaming Content—streaming directly from Dedicated Web Services via traditional streaming technology.
Alternative Clients—support for client devices such as mobile devices running Android and iOS; media devices such as Amazon Kindle, Windows mobile devices; set-top devices such as Roku, Amazon Fire TV, Neo TV, Apple TV; and gaming consoles such as Xbox One X, Xbox One, PS3, PS4.
For illustration purposes, this is an example of a communication session between a Content Access Point and a Client App for some embodiments. Furthermore, some of the steps in this example are not required for all embodiments. Finally, it is possible for a single Content Access Point to have different interactions with different Client Apps depending on the specific embodiments of the Client App. For instance, the Client Apps may be embedded in the proprietary applications of different companies and still use the same Content Access Point (e.g., a Netflix app and a Hulu app may use the same Content Access Point). Client Apps can be different versions or require different types of authentication. There may be different protocols for connection (e.g., other than Wi-Fi) and different methods of authentication.
In this example, the user launches the Client App 510. The Client App stores information about the existing Wi-Fi connection 511 for reconnection at the end of the session. Then the Client App searches Content Access Point SSID 501 broadcast by a Content Access Point 500. In one embodiment, the SSID is not broadcast and the Client App attempts to connect blindly. When the SSID is detected by the Client App 512, the Client App connects and sends password information 513 (if necessary). The Client App then requests a session authorization and ID 514 from the Content Access Point 500. If the authentication is valid, as determined by the Content Access Point, a session ID is passed back to the Client App 514.
Now with this session ID, the Client App can perform any or all of the operations allowed. This may include, but is not limited to, browsing content on the Content Access Point or web servers (if available), transacting content purchases or acquisitions on the Content Access Point or web service (if available), or other functions. One primary function, however, is to request content 515 and receive data 503. The Client App also posts (uploads) analytic data 516 to the Content Access Point analytic store 504. The analytic data is all the analytics captured since the last time the Client App connected with a Content Access Point or web service.
At the conclusion of the transaction, content download, and analytic data transfer the Client App ends the session and drops the connection with the Content Access Point 517. Then the app reconnects with the previous existing network connection 518, if any.
Content memory 710 is usually non-volatile memory such as, for example, but not limited to, flash memory or magnetic memory and is used to store the content. CPU 711 runs the Content Access Point software and control the Content Access Point. RAM 712 is used by CPU 711 for running the Content Access Point software.
The present application is a continuation of U.S. patent application Ser. No. 16/884,959, filed on May 27, 2020, and entitled “CONTENT DELIVERY SYSTEM”, which claims the benefit under 35 USC 119 (e) of U.S. Provisional Patent Application No: 62/884,093, filed on Aug. 7, 2019, and entitled “CONTENT DELIVERY SYSTEM”, each of which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62884093 | Aug 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16884959 | May 2020 | US |
Child | 18433229 | US |