IP Library Granted Patent US 11,930,254
Granted Patent B2
US 11,930,254 · App. 17/220,590 · Granted Mar 12, 2024

Patchable remote element for data manipulation

Inventor: Iraj Sodagar (Los Angeles, CA)
Assignee: TENCENT AMERICA LLC
H04N21/8543H04L65/65H04L65/70H04L65/75
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 11,930,254
App. No.
17/220,590
Granted
Mar 12, 2024
Kind
B2
Abstract

There is included a method and apparatus comprising computer code configured to cause a processor or processors to perform obtaining media content from a first content server, determining whether a manifest indicates presence of a remote element, resolving the remote element, manipulating an updated remote element, and streaming at least one of the media content from the first content server and another media content from a second content server based on manipulating the updated remote element.

Claims (58)

1. A method for streaming media content, the method performed by at least one processor and comprising:

obtaining media content from a first content server based on determining to stream the media content from the first content server to a client device;

determining whether a manifest, included with the media content from the first server, indicates presence of a remote element;

resolving, in response to determining that the manifest indicates presence of the remote element, the remote element by updating a default remote element, included with the manifest, to an updated remote element signaling both to stream, to the client device, another media content from a second content server and to check, by the client device, for an event stream update indicating to resume a stream to the client device and from the first server while the other media content is streamed, to the client device, from the second content server, wherein resolving the remote element comprises resolving, in parallel, both an Xlink URL and an @patchURL, wherein the Xlink URL is a different URL than that of the @patchURL, and wherein resolving the Xlink URL comprises determining an updated time period as compared to a time period indicated in the manifest, and wherein resolving the @patchURL comprises determining to add the remote EventStream element to the updated remote element while the client device maintains a connection to the first content server;

manipulating, while the other media content is streamed, to the client device and from the second content server, the updated remote element after the default remote element is resolved, to the resolved remote element, based on a signaling by a document, of the event stream update, stored in a remote location; and

streaming, to the client device, at least one of the media content from the first content server and the other media content from the second content server based on manipulating the updated remote element,

wherein said signaling signals retrieving of a plurality of instructions, after the remote element is resolved, and applying the retrieved instructions to the resolved remote element.

2. The method according to claim 1 ,

wherein manipulating the updated remote element comprises obtaining an extensible markup language (XML) patch from the document.

3. The method according to claim 1 ,

wherein, in a case in which the other media content from the second content server is streamed, a connection to the first server is maintained by the client device while the client device is streaming the another media content.

4. The method according to claim 3 , further comprising:

determining, in the case in which the other media content from the second content server is streamed, whether to terminate the streaming of the other media content before a termination time indicated in the updated remote element.

5. The method according to claim 4 , further comprising:

terminating the streaming of the other media content, before the termination time indicated in the updated remote element, based on an update from the first content server to the client device while the client device is streaming the other media content.

6. The method according to claim 1 ,

wherein manipulating the updated remote element comprises manipulating a Media Presentation Description (MPD) provided by the first content server.

7. The method according to claim 6 ,

wherein streaming the at least one of the media content from the first content server and the other media content from the second content server based on manipulating the updated remote element comprises Dynamic Adaptive Streaming over HTTP (DASH) streaming.

8. The method according to claim 6 ,

wherein resolving the remote element comprises accessing a plurality of links included in the MPD.

9. The method according to claim 8 ,

wherein a first link of the links is to the resolved remote element to replace the default remote element included in the MPD.

10. The method according to claim 9 ,

wherein a second link of the links is to a patch comprising instructions to manipulate the resolved report element.

11. An apparatus for video signaling, the apparatus comprising:

at least one memory configured to store computer program code;

at least one processor configured to access the computer program code and operate as instructed by the computer program code, the computer program code including:

obtaining code configured to cause the at least one processor to obtain media content from a first content server based on determining to stream the media content from the first content server to a client device;

determining code configured to cause the at least one processor to determine whether a manifest, included with the media content from the first server, indicates presence of a remote element;

resolving code configured to cause the at least one processor to resolve, in response to determining that the manifest indicates presence of the remote element, the remote element by updating a default remote element, included with the manifest, to an updated remote element signaling both to stream, to the client device, another media content from a second content server and to check, by the client device, for an event stream update indicating to resume a stream to the client device and from the first server while the other media content is streamed, to the client device, from the second content server, wherein resolving the remote element comprises resolving, in parallel, both an Xlink URL and an @patchURL, wherein the Xlink URL is a different URL than that of the @patchURL, and wherein resolving the Xlink URL comprises determining an updated time period as compared to a time period indicated in the manifest, and wherein resolving the @patchURL comprises determining to add the remote EventStream element to the updated remote element while the client device maintains a connection to the first content server;

manipulating, while the other media content is streamed, to the client device and from the second content server, code configured to cause the at least one processor to manipulate the updated remote element after the default remote element is resolved, to the resolved remote element, based on a signaling by a document, of the event stream update, stored in a remote location; and

streaming code configured to cause the at least one processor to stream, to the client device, at least one of the media content from the first content server and the other media content from the second content server based on manipulating the updated remote element,

wherein said signaling signals retrieving of a plurality of instructions, after the remote element is resolved, and applying the retrieved instructions to the resolved remote element.

12. The apparatus according to claim 11 ,

wherein manipulating the updated remote element comprises obtaining an extensible markup language (XML) patch from the document.

13. The apparatus according to claim 11 ,

wherein, in a case in which the other media content from the second content server is streamed, a connection to the first server is maintained by the client device while the client device is streaming the another media content.

14. The apparatus according to claim 13 , the computer program code further includes:

determining code configured to cause the at least one processor to determine, in the case in which the other media content from the second content server is streamed, whether to terminate the streaming of the other media content before a termination time indicated in the updated remote element.

15. The apparatus according to claim 14 , the computer program code further includes:

terminating code configured to cause the at least one processor to terminate the streaming of the other media content, before the termination time indicated in the updated remote element, based on an update from the first content server to the client device while the client device is streaming the other media content.

16. The apparatus according to claim 11 ,

wherein manipulating the updated remote element comprises manipulating a Media Presentation Description (MPD) provided by the first content server.

17. The apparatus according to claim 16 ,

wherein streaming the at least one of the media content from the first content server and the other media content from the second content server based on manipulating the updated remote element comprises Dynamic Adaptive Streaming over HTTP (DASH) streaming.

18. The apparatus according to claim 16 ,

wherein resolving the remote element comprises accessing a plurality of links included in the MPD.

19. The apparatus according to claim 18 ,

wherein a first link of the links is to the resolved remote element to replace the default remote element included in the MPD, and

wherein a second link of the links is to a patch comprising instructions to manipulate the resolved report element.

20. A non-transitory computer readable medium storing a program causing a computer to execute a process, the process comprising:

obtaining media content from a first content server based on determining to stream the media content from the content server to a client device;

determining whether a manifest, included with the media content from the first server, indicates presence of a remote element;

resolving, in response to determining that the manifest indicates presence of the remote element, the remote element by updating a default remote element, included with the manifest, to an updated remote element signaling both to stream, to the client device, another media content from a second content server and to check, by the client device, for an event stream update indicating to resume a stream to the client device and from the first server while the other media content is streamed, to the client device, from the second content server, wherein resolving the remote element comprises resolving, in parallel, both an Xlink URL and an @patchURL, wherein the Xlink URL is a different URL than that of the @patchURL, and wherein resolving the Xlink URL comprises determining an updated time period as compared to a time period indicated in the manifest, and wherein resolving the @patchURL comprises determining to add the remote EventStream element to the updated remote element while the client device maintains a connection to the first content server;

manipulating, while the other media content is streamed, to the client device and from the second content server, the updated remote element after the default remote element is resolved, to the resolved remote element, based on a signaling by a document, of the event stream update, stored in a remote location; and

streaming, to the client device, at least one of the media content from the first content server and the other media content from the second content server based on manipulating the updated remote element,

wherein said signaling signals retrieving of a plurality of instructions, after the remote element is resolved, and applying the retrieved instructions to the resolved remote element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: SODAGAR, IRAJ
To: TENCENT AMERICA LLC
Reel/Frame 055801/0345 →
Continuity (5)
Provisional Application 63042282 · Jun 22, 2020
Provisional Application 63010285 · Apr 15, 2020
Provisional Application 63009150 · Apr 13, 2020
Provisional Application 63006666 · Apr 7, 2020
Related Publication 20210314674A1 · Oct 7, 2021
Cited By (1)
US 12,368,905