CUSTOM GENERATED REAL-TIME MEDIA ON DEMAND
20210352124 · 2021-11-11
Inventors
Cpc classification
H04N21/41407
ELECTRICITY
International classification
H04N21/258
ELECTRICITY
Abstract
A method of generating custom real-time media on demand includes receiving a request for custom media to be generated at or near a service location from a media requestor, determining available media providers located at or near the service location, providing the media requestor information corresponding to the available media providers at or near the service location, receiving the media requestor's selection of a media provider from the available media providers, and facilitating provision of the custom media from the selected media provider to the media requestor.
Claims
1. A method of custom real-time media on demand comprising: receiving, at a server-side software application, a request for custom media to be generated in real-time at or near a service location that is specified by a media requestor via a client-side software application; determining, at the server-side software application, available media providers that are located at or near the specified service location, wherein the available media providers provide the server-side software application their current location via a provider-side software application; providing, from the server-side software application to the client-side software application, information relating to the available media providers located at or near the media requestor's specified service location; receiving, at the server-side software application, the media requestor's selection of a media provider selected from the available media providers, wherein the media requestor provides the selection from the client-side software application; facilitating direct transmission of the custom media from the selected media provider to the media requestor; and while the custom media is being transmitted, receiving, at the server-side software application, real-time directives from the media requestor, via the client-side software application, and providing the selected media provider, via the provider-side software application, the real-time directives from the media requestor, wherein the custom media is transmitted directly from the selected media provider, via the provider-side software application, to the media requestor, via the client-side software application, by way of a sideband peer-to-peer network that does not require communications between the server-side software application and the client-side software application or between the server-side software application and the provider-side software application to transmit the custom media.
2. The method of claim 1, further comprising: receiving, at the server-side software application, location information for available media providers located at or near the service location from each available media provider's instance of the provider-side software application.
3. The method of claim 1, further comprising: determining, at the server-side software application, service capabilities for available media providers located at or near the service location provided by each available media provider's instance of the provider-side software application.
4. The method of claim 1, further comprising: receiving, at the server-side software application, real-time questions from the selected media provider, via the provider-side software application, and providing the media requestor, via the client-side software application, the real-time questions.
5. The method of claim 1, further comprising: excluding, on the server-side software application, predetermined locations from being designated the specified service location;
6. The method of claim 1, wherein the service location comprises an address, an intersection, a zip code, a point of interest, GPS coordinates, or latitude and longitude.
7. The method of claim 1, wherein the custom media comprises one or more of video, audio, or photographic content.
8. The method of claim 1, wherein the request for custom media comprises one or more of a date, time, location, and type of custom media requested by the media requestor.
9. The method of claim 1, wherein the custom media is provided from the selected media provider to the media requestor in substantially real-time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION OF THE INVENTION
[0020] One or more embodiments of the present invention are described in detail with reference to the accompanying figures. For consistency, like elements in the various figures are denoted by like reference numerals. In the following detailed description of the present invention, specific details are set forth in order to provide a thorough understanding of the present invention. In other instances, well-known features to one of ordinary skill in the art are not described to avoid obscuring the description of the present invention. For the purpose of this disclosure, real-time means at or very near real time delayed by generation, transcoding, if any, and transmission of media only.
[0021] The compelling solutions offered by syndication and independent media agencies has increased the media's reliance on independent third-parties to provide substantially all of the digital media, both editorial and creative, that they require. However, this reliance has exposed a number of shortcomings in conventional models of syndication and licensing. For example, there is no guarantee that desired media will be generated and made available for license, there is no opportunity to influence or control production, and the non-exclusive license typically offered means potential competitors may obtain and use the same media, eviscerating the ability to use exclusive content. While some independent media agencies offer customized media upon request, they require significant planning well in advance and lack immediacy as the results are provided after the fact. Historically, traditional media outlets had the advantage of having dedicated personnel capable of going on site to generate desired content when there was breaking news. However, they cannot respond at a moment's notice and they simply cannot be everywhere at once.
[0022] Accordingly, in one or more embodiments of the present invention, a method of generating custom real-time media provides real-time access to media providers around the world that are capable of providing custom media on demand. A media requestor may request custom media to be generated at or near a service location of interest anywhere in the world. Available media providers located at or near the service location of interest may be identified and the media requestor may select a media provider to generate the custom real-time media. The method facilitates the direct or indirect provision of the requested custom media from the selected media provider to the media requestor in real-time. The media requestor may influence or control the production of the requested custom media while it is being generated and transmitted. Advantageously, the media requestor has access to a large number of readily available media providers practically all over the world capable of generating custom media on demand in real-time. Additionally, the method provides a mechanism to bring unknown parties together, allocate rights between the parties, facilitate a transaction, and monetize citizen journalism.
[0023]
[0024] For purposes of illustration, each media provider may execute the provider-side software application, or browse the web-based portal thereof, on the media provider's computing system (e.g., 300a-300g), which may be a smartphone (not shown). The media provider may log into their account with the server-side software application over a network connection (e.g., 120a-120g) and provide the server-side software application with information including, for example, their current location, availability to generate media, and on-hand equipment. Each media requestor, or client, may execute a client-side software application, or browse the web-based portal thereof, on the media requestor's computing system (e.g., 110a-110c), which may be a smartphone (not shown). Each media requestor requesting custom media may transmit over a network connection (e.g., 115a-115c), from the client-side software application, or web-based portal thereof, to the server-side software application, a service location of interest, anywhere in the world, where they would like custom media to be generated in real-time.
[0025] The server-side application may identify available media providers located at or near the service location of interest and provide (e.g., 115a-115c) the client-side software application, or web-based portal thereof, with information relating to one or more available media providers. The client-side software application, or web-based portal thereof, may provide a graphical user interface (not shown) that shows available media providers' actual locations on a map that includes the service location of interest. The media requestor may browse the map and receive detailed information about one or more of the available media providers including, for example, their current location, availability to generate media, on-hand equipment, and optionally licensing terms and samples of their portfolio. The media requestor may select an available media requestor to generate the requested custom media and the server-side software application may facilitate the provision of the custom media from the selected media provider to the media requestor. In certain embodiments, the custom media may be provided from the selected media provider to the media requestor directly via a sideband peer-to-peer network connection 130. In other embodiments, the custom media may be provided from the selected media provider to the media requestor indirectly via server 200. Advantageously, at any given time, a media requestor may login to the system, identify a service location of interest, and request custom real-time media be generated by one or more available media providers already located at or near the service location.
[0026]
[0027] Continuing,
[0028] Continuing,
[0029] Continuing,
[0030]
[0031] Continuing,
[0032]
[0033] In one or more embodiments of the present invention, a server-side software application 600 may perform a method of generating custom real-time media on demand. On an ongoing basis, the presentation layer or tier 610 may receive location information for available media providers that the application layer or tier 620 stores in the data layer or tier 630 and continuously, periodically, or at least occasionally updates. In this way, the server-side software application 600 maintains a data store of available media providers and their current or at least last reported locations. The locations of the media providers may be provided by location services of the smartphones, self-reported, or generated based on available information including, for example, one or more of GPS signals, network identification, cell of origin, lateration techniques, angulation techniques, location patterning as well as signal strength, Wi-Fi access point identification, Wi-Fi signal strength to identifiable access points, Wi-Fi triangulation, Bluetooth, Near-Field Communication, and any other suitable means of identifying the current location of available media providers.
[0034] The method may include receiving, from a media requestor, via the presentation layer or tier 610, a request for custom media to be generated at or near a service location of interest. As a preliminary matter, the application tier or later 620 of the server-side software application 600 may optionally exclude certain predetermined locations from serving as a service location. For example, the server-side software application 600 may restrict predetermined locations that are government restricted, on private land without right of entry, or otherwise pose a risk to media providers. The application layer or tier 620 of the server-side software application 600 may determine available media providers located at or near the service location of interest and potentially within a predetermined radius of the service location of interest by querying the data store of available media providers and their respective locations in the data layer or tier 630. The application layer or tier 620 of the server-side software application 600 may determine service capabilities for the available media providers located at or near the service location and store the date in the data layer or tier 630. The application layer or tier 620 of the server-side software application 600 may provide the client-side software application information corresponding to the available media providers via the presentation layer or tier 610. The media requestor may browse the map-based graphical user interface of the client-side software application and select a specific media provider from the available media providers located at or near the service location.
[0035] The server-side software application 600 may provide the media requestor with one or more licensing options for the custom media to be generated. In certain embodiments, the licensing options may include predetermined licensing options offered by the selected media provider. For example, custom commissioned, royalty-free, rights-ready, and rights managed, that are commonly used in the industry. In other embodiments, the licensing options may include custom licensing options proposed by the media requestor, where the selected media provider may agree to the custom licensing options proposed for a fee, respond with a counter proposal for a fee, or decline the assignment. In all embodiments, the licensing options may include one or more restrictions on the custom media to be generated including duration of use, geographic restrictions, type of use restrictions, type of media restrictions, and type of exclusivity, such as, for example, exclusive and non-exclusive. The presentation layer or tier 610 of the server-side software application 600 may receive the media requestor's selection of a media provider from the available media providers from the client-side software application. The request may include a media requestor's selection of licensing options for the custom media to be generated. Once received, the application layer or tier 620 of the server-side software application may facilitate the provision, directly or indirectly, of the custom media from the selected media provider to the media requestor in real-time.
[0036] In certain embodiments, the custom media may be provided from the selected media provider to the media requestor directly via a sideband peer-to-peer network connection facilitated by the server-side software application 600. In other embodiments, the custom media may be provided from the selected media provider to the media requestor indirectly via the server-side software application 600. In such embodiments, the selected media provider establishes a network connection with the server-side software application 600 and transmits the requested custom media to the server-side software application 600. The server-side software application 600 may forwards the custom media to the client-side software application, wait for the client-side software application to request the custom media, or store the custom media off-line for a later time or on-demand retrieval.
[0037] While the selected media provider is generating and transmitting the custom media to the media requestor, the media requestor may optionally transmit, directly or indirectly, real-time directives or instructions relating to the production of the custom media. Similarly, the selected media provider may optionally transmit, directly or indirectly, real-time questions to the media requestor. Other than sideband communication between the selected media provider and the media requestor, the media requestor interacts with the presentation layer or tier 610 of the server-side software application 600 through the graphical user interface of the client-side software application. Similarly, other than sideband communication between the selected media provider and the media requestor, all media providers interact with the presentation layer or tier 610 of the server-side software application 600.
[0038] In one or more embodiments, a non-transitory computer readable medium, comprising software instructions that, when executed by a processor, perform the above-noted method of generating custom real-time media on demand. The computer readable medium comprising the server-side software application 600 may be executed on the one or more computing resources, or servers (e.g., 200 of
[0039]
[0040] Computing system 200 may include one or more central processing units, sometimes referred to as processors (hereinafter referred to in the singular as “CPU” or plural as “CPUs”) 205, host bridge 210, input/output (“IO”) bridge 215, graphics processing units (singular “GPU” or plural “GPUs”) 225, and/or application-specific integrated circuits (singular “ASIC” or plural “ASICs”) (not shown) disposed on one or more printed circuit boards (not shown) that perform computational operations. Each of the one or more CPUs 205, GPUs 225, or ASICs (not shown) may be a single-core (not independently illustrated) device or a multi-core (not independently illustrated) device. Multi-core devices typically include a plurality of cores (not shown) disposed on the same physical die (not shown) or a plurality of cores (not shown) disposed on multiple die (not shown) that are collectively disposed within the same mechanical package (not shown).
[0041] CPU 205 may be a general-purpose computational device typically configured to execute software instructions. CPU 205 may include an interface 208 to host bridge 210, an interface 218 to system memory 220, and an interface 223 to one or more IO devices, such as, for example, one or more GPUs 225. GPU 225 may serve as a specialized computational device typically configured to perform graphics functions related to frame buffer manipulation. However, one of ordinary skill in the art will recognize that GPU 225 may be used to perform non-graphics related functions that are computationally intensive. In certain embodiments, GPU 225 may interface 223 directly with CPU 205 (and interface 218 with system memory 220 through CPU 205). In other embodiments, GPU 225 may interface 221 with host bridge 210 (and interface 216 or 218 with system memory 220 through host bridge 210 or CPU 205 depending on the application or design). In still other embodiments, GPU 225 may interface 233 with IO bridge 215 (and interface 216 or 218 with system memory 220 through host bridge 210 or CPU 205 depending on the application or design). The functionality of GPU 225 may be integrated, in whole or in part, with CPU 205.
[0042] Host bridge 210 may be an interface device that interfaces between the one or more computational devices and IO bridge 215 and, in some embodiments, system memory 220. Host bridge 210 may include an interface 208 to CPU 205, an interface 213 to IO bridge 815, for embodiments where CPU 205 does not include an interface 218 to system memory 220, an interface 216 to system memory 220, and for embodiments where CPU 205 does not include an integrated GPU 225 or an interface 223 to GPU 225, an interface 221 to GPU 225. The functionality of host bridge 210 may be integrated, in whole or in part, with CPU 205. IO bridge 215 may be an interface device that interfaces between the one or more computational devices and various IO devices (e.g., 240, 245) and IO expansion, or add-on, devices (not independently illustrated). IO bridge 215 may include an interface 213 to host bridge 210, one or more interfaces 233 to one or more IO expansion devices 235, an interface 238 to keyboard 240, an interface 243 to mouse 245, an interface 248 to one or more local storage devices 250, and an interface 253 to one or more network interface devices 255. The functionality of IO bridge 215 may be integrated, in whole or in part, with CPU 205 and/or host bridge 210. Each local storage device 250, if any, may be a solid-state memory device, a solid-state memory device array, a hard disk drive, a hard disk drive array, or any other non-transitory computer readable medium. Network interface device 255 may provide one or more network interfaces including any network protocol suitable to facilitate networked communications.
[0043] Computing system 200 may include one or more network-attached storage devices 260 in addition to, or instead of, one or more local storage devices 250. Each network-attached storage device 260, if any, may be a solid-state memory device, a solid-state memory device array, a hard disk drive, a hard disk drive array, or any other non-transitory computer readable medium. Network-attached storage device 260 may or may not be collocated with computing system 200 and may be accessible to the computing system (e.g., 110, 200, or 300 of
[0044] One of ordinary skill in the art will recognize that computing system 200 may be a conventional computing system or an application-specific computing system (not shown). In certain embodiments, an application-specific computing system (not shown) may include one or more ASICs (not shown) that perform one or more specialized functions in a more efficient manner. The one or more ASICs (not shown) may interface directly with CPU 205, host bridge 210, or GPU 225 or interface through IO bridge 215. Alternatively, in other embodiments, an application-specific computing system (not shown) may be reduced to only those components necessary to perform a desired function in an effort to reduce one or more of chip count, printed circuit board footprint, thermal design power, and power consumption. The one or more ASICs (not shown) may be used instead of one or more of CPU 205, host bridge 210, IO bridge 215, or GPU 225. In such systems, the one or more ASICs may incorporate sufficient functionality to perform certain network and computational functions in a minimal footprint with substantially fewer component devices.
[0045] As such, one of ordinary skill in the art will recognize that CPU 205, host bridge 210, IO bridge 215, GPU 225, or ASIC (not shown) or a subset, superset, or combination of functions or features thereof, may be integrated, distributed, or excluded, in whole or in part, based on an application, design, or form factor in accordance with one or more embodiments of the present invention. Thus, the description of computing system 200 is merely exemplary and not intended to limit the type, kind, or configuration of component devices that constitute a computing system 200 suitable for executing software methods in accordance with one or more embodiments of the present invention. Notwithstanding the above, one of ordinary skill in the art will recognize that computing system 200 may be a standalone, laptop, desktop, industrial, server, blade, or rack mountable system and may vary based on an application or design.
[0046]
[0047] Smartphone 300 may include a system-on-chip (“Sort”) 310 that integrates one or more processing cores (not shown), one or more graphics processing cores (not shown), network functionality, and battery management, and potentially other features capable of being integrated in a small and typically low power device suitable for use in smartphones. Smartphone 300 may include system memory 320, local storage 330, an integrated touchscreen-based display 340, and an integrated high resolution camera capable of recording video, audio, and photographic media. Smartphone 300 may also include a battery 360, a cellular network interface and a Wi-Fi network interface 380. Smartphone 380 may also include one or more short range network interfaces including, for example, a Bluetooth 390 interface, and a Near-Field Communications interface (not shown).
[0048] Advantages of one or more embodiments of the present invention may include one or more of the following:
[0049] In one or more embodiments of the present invention, a method of generating custom real-time media provides a media requestor with access to media providers around the world that are capable of providing custom real-time media on demand.
[0050] In one or more embodiments of the present invention, a method of generating custom real-time media allows a media requestor to identify available media providers located at or near a service location of interest and facilitates the provision of custom media from the selected media provider to the media requestor in real-time.
[0051] In one or more embodiments of the present invention, a method of generating custom real-time media allows a media requestor to influence or control the production of the requested custom media to be generated.
[0052] In one or more embodiments of the present invention, a method of generating custom real-time media allows the media requestor to transmit real-time directives from the media requestor to the selected media provider shortly before or while the selected media provider is transmitting the custom media.
[0053] In one or more embodiments of the present invention, a method of generating custom real-time media allows the selected media provider to transmit real-time questions from the selected media provider to the media requestor shortly before or while the selected media provider is transmitting the custom media.
[0054] In one or more embodiments of the present invention, a method of generating custom real-time media facilitates licensing of the requested custom media from the selected media provider to the media requestor.
[0055] In one or more embodiments of the present invention, a method of generating custom real-time media guarantees that the media requestor will receive requested custom media in accordance with pre-negotiated license terms.
[0056] In one or more embodiments of the present invention, a method of generating custom real-time media may be used to enhance an independent media agency.
[0057] In one or more embodiments of the present invention, a method of generating custom real-time media may be used to enhance syndication.
[0058] In one or more embodiments of the present invention, a method of generating custom real-time media may be used as part of a social network.
[0059] While the present invention has been described with respect to the above-noted embodiments, those skilled in the art, having the benefit of this disclosure, will recognize that other embodiments may be devised that are within the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the appended claims.