IP Library Granted Patent US 8,838,748
Granted Patent B2
US 8,838,748 · App. 12/957,920 · Granted Sep 16, 2014

Media mashup system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,838,748
App. No.
12/957,920
Granted
Sep 16, 2014
Kind
B2
Abstract

A media mashup system functions as a virtualizable endpoint called an Intelligent Multimedia Pod, or IMP, that ensures a reliable and high-quality multimedia user-experience for a variety of mobile user devices such as intelligent phones etc. The media mashup platform uses a web 2.0 media mashup model that offers several key features including Near Real Time (NRT) service continuity, control-proxy for a mobile-friendly web-surfing experience, finely-filtered content aggregation based on meta-data, context sensors and buddy blaster content sharing/recommendation. These features are brought together using a web 2.0 service mashup model that integrates media meta-data together with various context sensors including mobility-related sensors such as location and presence, time-of-day, voice commands, as well as time-shifted playback.

Claims (61)

1. A method by which a server system enables sharing of media among client end devices, comprising:

segmenting relatively long media objects into shorter, independently referenced media chunks;

transcoding each of the media chunks into one or more distinct transcoding formats compatible with respective client end devices for rendering thereon;

enabling user manipulation of references to the media chunks including transmission of references from one client end device to another to enable user sharing of a viewing experience; and

upon activation of a reference to one of the media chunks at a client end device, supplying the media chunk to the client end device in a respective transcoding format compatible with the client end device for viewing thereon,

wherein the server system automatically detects a client end device based on a combination of one or more properties of an operating environment of the client end device, the properties including identifications of a browser and an operating system executed by the client end device, by:

maintaining a device database populated with information describing media-related capabilities and attributes of a plurality of client end devices;

upon receiving a request message from the client end device, applying a user agent (UA) identifier from the request message to the device database to identify a best-matching user interface (UI) to be rendered on the client end device; and

supplying the best-matching UI to the client end device in response to the request.

2. A method according to claim 1 wherein maintaining the device database comprises:

obtaining device information from one or more published device databases including first information about the plurality of client end devices; and

adding the first information from the one or more published device databases to second information regarding use of the plurality of client end devices in a distributed media sharing application.

3. A method according to claim 1 further comprising determining the best-matching UI to serve to the client end device based on xHTML properties and cascading style sheets (CSS) attributes of a browser executing on the client end device.

4. A method according to claim 1 wherein the best-matching UI supplied to the client end device dynamically enables operating features of the client end device based on the capabilities of the client end device.

5. A method according to claim 1 further comprising executing a series of tests for determining the operating environment of the client end device and populating the device database accordingly.

6. A method according to claim 1 wherein the device database is configured to categorize the client end devices into a plurality of UI categories including touch-based, table-driven and single-column categories.

7. A method according to claim 1 wherein the device database is configured to categorize the client end devices into a plurality of media viewing categories based on distinct transcoding formats used for media playback on the client end devices.

8. A method according to claim 1 , further comprising:

maintaining digital rights management (DRM) information for the media objects; and

limiting the sharing of the media objects among the users based on the DRM information and bounds of fair use.

9. A method according to claim 1 , wherein the server system provides personalization of media sharing among a plurality of client end devices, by:

dynamically forming and maintaining media circle information defining media circles, each media circle being a respective group of users of the client end devices all sharing one or more interests in a particular set of media as expressed in media sharing activities of the users of the group; and

upon selection of a particular media to be shared, dynamically selecting a corresponding media circle and transmitting copies of particular media to the users of the selected media circle.

10. A method according to claim 1 , wherein the server system creates a mashup of media and related data objects for delivery to a client end device as part of a user interface (UI) tailored for use by a category of client end devices, by:

maintaining a plurality of source media clips previously transcoded into distinct video formats, bit rates and resolutions;

providing a customized playlist to the client end device, the customized playlist including references to at least some of the source media clips; and

upon receiving a request including a reference to a requested source media clip to be played on the client end device:

(1) stitching the requested source media clip together with at least one other source media clip in a single video format, bit rate and resolution appropriate for rendering on the client end device; and

(2) delivering the stitched-together source media clips to the client end device for playback thereon.

11. A method according to claim 1 , wherein the references to the media chunks are media markers denoting time intervals of a media object, a time interval being a portion of a run-time of the media object.

12. A method according to claim 11 , wherein the media markers include respective uniform resource indicators each including a start time and an end time of a respective time interval of a media object.

13. A method according to claim 11 , wherein the media markers referencing a media object are stored in a file having a path name corresponding to a hierarchical tree structure corresponding to named-attribute values in a predetermined attribute order, allowing for quick lookup of the media without a need for a database lookup.

14. A method according to claim 13 , wherein a path lookup points to a metadata file containing the media markers of the file ordered by starting time.

15. A server system for enabling sharing of media among client end devices, comprising:

communication circuitry operative to be communicatively coupled to the client end devices; and

processing circuitry operative to:

(1) segment relatively long media objects into shorter, independently referenced media chunks;

(2) transcode each of the media chunks into one or more distinct transcoding formats compatible with respective client end devices for rendering thereon;

(3) enable user manipulation of references to the media chunks including transmission of references from one client end device to another to enable user sharing of a viewing experience; and

(4) upon activation of a reference to one of the media chunks at a client end device, supply the media chunk to the client end device in a respective transcoding format compatible with the client end device for viewing thereon,

the server system being further operative for automatically detecting a client end device based on a combination of one or more properties of an operating environment of the client end device, the properties including identifications of a browser and an operating system executed by the client end device,

the server system further including a device database populated with information describing media-related capabilities and attributes of a plurality of client end devices; and

the processing circuitry being further operative to:

(1) upon receiving a request message from the client end device, apply a user agent (UA) identifier from the request message to the device database to identify a best-matching user interface (UI) to be rendered on the client end device; and

(2) supply the best-matching UI to the client end device in response to the request.

16. A server system according to claim 15 , further operative for providing personalization of media sharing among a plurality of client end devices,

the processing circuitry being further operative to:

(1) dynamically form and maintain media circle information defining media circles, each media circle being a respective group of users of the client end devices all sharing one or more interests in a particular set of media as expressed in media sharing activities of the users of the group; and

(2) upon selection of a particular media to be shared, dynamically select a corresponding media circle and transmitting copies of particular media to the users of the selected media circle.

17. A server system according to claim 15 ,

wherein the processing circuitry includes a memory for storing a plurality of functional software modules including a client proxy module, a stream server module, a stream control module, and a meta-database manager module; and the processing circuitry is further operative to execute the functional software modules to further perform:

engaging in peer-to-peer operations with peer server systems including discovery, synchronization and backup;

scrubbing external web sites for media metadata related to media known to the server system and provided to client end devices by the server system; and

delivering the known media to the client end devices.

18. A server system according to claim 15 , further operative to create a mashup of media and related data objects for delivery to a client end device as part of a user interface (UI) tailored for use by a category of client end devices,

wherein the processing circuitry is further operative to:

(1) maintain a plurality of source media clips previously transcoded into distinct video formats, bit rates and resolutions;

(2) provide a customized playlist to the client end device, the customized playlist including references to at least some of the source media clips; and

(3) upon receiving a request including a reference to a requested source media clip to be played on the client end device:

(i) stitching the requested source media clip together with at least one other source media clip in a single video format, bit rate and resolution appropriate for rendering on the client end device; and

(ii) delivering the stitched-together source media clips to the client end device for playback thereon.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 034539 FRAME: 0983. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 2, 2019
From: AZUKI SYSTEMS, INC.
To: ERICSSON AB
Reel/Frame 049059/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2014
From: AZUKI SYSTEMS, INC.
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 034539/0983 →
RELEASE OF SECURITY INTEREST Recorded Feb 18, 2014
From: LIGHTHOUSE CAPITAL PARTNERS VI, L.P.
To: AZUKI SYSTEMS, INC.
Reel/Frame 032233/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2011
From: NAIR, RAJ; ROBERTS, ANDREW F.; LIN, ICHANG
To: AZUKI SYSTEMS, INC.
Reel/Frame 025946/0675 →
SECURITY AGREEMENT Recorded Jan 3, 2011
From: AZUKI SYSTEMS, INC.
To: LIGHTHOUSE CAPITAL PARTNERS VI, L.P.
Reel/Frame 025574/0571 →