User controlled multi-device media-on-demand system
Abstract
A method for providing configurable access to media in a media-on-demand system also can include delivering the media to a first client device in a format compatible with the first client device; interrupting the delivery of the media; recording a bookmark specifying a position in the media where the interruption occurred; and suming delivery of the media to a second client device, the resumed delivery beginning at a position in the media specified by the recorded bookmark. The method further can include identifying device properties for each of the first and second client devices; delivering the media to the first client device in a format compatible with the identified device properties for the first client device; and, delivering the media to the second client device in a format compatible with the identified device properties for the second client device.
Claims
exact text as granted — not AI-modified1 .- 27 . (canceled)
28 . A system for resuming transmission of a video, to a device, from a point preceding a point in the video at which the video was paused at another device, the system comprising:
a first video receiving device configured to:
transmit a first request for a video, wherein the first request comprises a user identifier;
cause the video to be displayed; and
transmit a second request to pause the video at a pause point in the video;
a second video receiving device configured to:
transmit a third request, including the user identifier, to resume the video from the pause point; and
cause the video to be displayed;
a media-on-demand server configured to:
receive, from the first video receiving device, the first request for the video;
receive, from the first video receiving device, the second request to pause the video;
based on the second request to pause the video:
calculate a time code that precedes the pause point by subtracting a time offset from the pause point;
transform, in a memory of the media-on-demand server, a data structure associated with the user identifier to include an identifier of the video, the user identifier, and the calculated time code;
receive, from the second video receiving device, the third request to resume the video from the pause point;
based on the third request to resume the video from the pause point:
retrieve, from the memory, based on the user identifier, the data structure associated with the user identifier;
identify, based on the time code in the data structure, a resume point in the video; and
transmit the video, beginning from the resume point, to the second video receiving device.
29 . The system of claim 28 , wherein the time offset is a set time offset, wherein calculating the time code comprises subtracting the set time offset from the pause point.
30 . The system of claim 28 , wherein the time offset is a variable time offset.
31 . The system of claim 30 , wherein the media-on-demand server is further configured to calculate the variable time offset based on a transitory delay of the second request between the first video receiving device and the media-on-demand server.
32 . The system of claim 31 , wherein calculating the time code comprises subtracting the calculated variable time offset from the pause point.
33 . The system of claim 28 , wherein the data structure is a first data structure, wherein the calculated time code is a first time code, further comprising:
a second server configured to store a second data structure associated with the user identifier, wherein the second data structure includes a second identifier of the video and a second time code.
34 . The system of claim 33 , wherein the second video receiving device is further configured to:
compare the first time code to the second time code; determine that the first time code is different from the second time code; and based on determining that the first time code is different from the second time code, provide an option to select which of the first time code and the second time code is a correct time code.
35 . A system for resuming transmission of a video, to a device, from a point preceding a point in the video at which the video was paused at another device, the system comprising:
a first video receiving device configured to:
transmit a first request for a video, wherein the first request comprises user identifier;
cause the video to be displayed; and
transmit a second request to pause the video at a pause point in the video;
a second video receiving device configured to:
transmit a third request, including the user identifier, to resume the video from the pause point; and
cause the video to be displayed;
a media-on-demand server configured to:
receive, from the first video receiving device, the first request for the video;
receive, from the first video receiving device, the second request to pause the video;
based on the second request to pause the video:
transform, in a memory of the media-on-demand server, a data structure associated with the user identifier to include an identifier of the video, the user identifier, and a time code associated with the pause point;
receive, from the second video receiving device, the third request to resume the video from the pause point; based on the third request to resume the video from the pause point:
retrieve, from the memory, based on the user identifier, the data structure associated with the user identifier;
identify the time code associated with the pause point in the data structure;
calculate a resumption point that precedes the time code by subtracting a time offset from the time code; and
transmit the video, beginning from the resumption point, to the second video receiving device.
36 . The system of claim 35 , wherein the time offset is a set time offset, wherein calculating the resumption point comprises subtracting the set time offset from the time code.
37 . The system of claim 35 , wherein the time offset is a variable time offset.
38 . The system of claim 37 , wherein the media-on-demand server is further configured to calculate the variable time offset based on a transitory delay of the second request between the first video receiving device and the media-on-demand server.
39 . The system of claim 38 , wherein calculating the resumption point comprises subtracting the calculated variable time offset from the time code.
40 . The system of claim 35 , wherein the data structure is a first data structure, wherein the time code is a first time code, further comprising:
a second server configured to store a second data structure associated with the user identifier, wherein the second data structure includes a second identifier of the video and a second time code.
41 . The system of claim 40 , wherein the second video receiving device is further configured to:
compare the first time code to the second time code; determine that the first time code is different from the second time code; and based on determining that the first time code is different from the second time code, provide an option to select which of the first time code and the second time code is a correct time code.
42 . A method for resuming transmission of a video, to a device, from a point preceding a point in the video at which the video was paused at another device, the method comprising:
receiving, at a media-on-demand server, from a first video receiving device, a first request for the video, wherein the first request comprises a user identifier; transmitting, from the media-on-demand server, the video for display on a display screen coupled to the first video receiving device; receiving, at the media-on-demand server, from the first video receiving device, a second request to pause the video at a pause point in the video; based on the second request to pause the video:
calculating a time code that precedes the pause point by subtracting a time offset from the pause point;
transforming, in a memory of the media-on-demand server, a data structure associated with the user identifier to include an identifier of the video, the user identifier, and the calculated time code;
receiving, at the media-on-demand server, from a second video receiving device, a third request, including the user identifier, to resume the video from the pause point; based on the third request to resume the video from the pause point:
retrieving, from the memory, based on the user identifier, the data structure associated with the user identifier;
identifying, based on the time code in the data structure, a resume point in the video; and
transmitting the video, beginning from the resume point, from the media-on-demand server to the second video receiving device.
43 . The method of claim 42 , wherein the time offset is a set time offset, wherein calculating the time code comprises subtracting the set time offset from the pause point.
44 . The method of claim 42 , wherein the time offset is a variable time offset.
45 . The method of claim 44 , further comprising calculating the variable time offset based on a transitory delay of the second request between the first video receiving device and the media-on-demand server.
46 . The method of claim 45 , wherein calculating the time code comprises subtracting the calculated variable time offset from the pause point.
47 . The method of claim 42 , wherein the data structure is a first data structure, wherein the calculated time code is a first time code, further comprising:
storing, at a second server, a second data structure associated with the user identifier, wherein the second data structure includes a second identifier of the video and a second time code.
48 . The method of claim 47 , further comprising:
comparing the first time code to the second time code; determining that the first time code is different from the second time code; and based on determining that the first time code is different from the second time code, causing an option to be provided at the second video receiving device, wherein the option allows the user to select which of the first time code and the second time code is a correct time code.
49 . A method for resuming transmission of a video, to a device, from a point preceding a point in the video at which the video was paused at another device, the method comprising:
receiving, at a media-on-demand server, from a first video receiving device, a first request for the video, wherein the first request comprises a user identifier; transmitting, from the media-on-demand server, the video for display on a display screen coupled to the first video receiving device; receiving, at the media-on-demand server, from the first video receiving device, a second request to pause the video at a pause point in the video; based on the second request to pause the video:
transforming, in a memory of the media-on-demand server, a data structure associated with the user identifier to include an identifier of the video, the user identifier, and a time code associated with the pause point;
receiving, at the media-on-demand server, from a second video receiving device, a third request, including the user identifier, to resume the video from the pause point; based on the third request to resume the video from the pause point:
retrieving, from the memory based on the user identifier, the data structure associated with the user identifier;
identifying the time code associated with the pause point in the data structure;
calculating a resumption point that precedes the time code by subtracting a time offset from the time code; and
transmitting the video, beginning from the resumption point, to the second video receiving device.
50 . The method of claim 49 , wherein the time offset is a set time offset, wherein calculating the resumption point comprises subtracting the set time offset from the time code.
51 . The method of claim 49 , wherein the time offset is a variable time offset.
52 . The method of claim 51 , further comprising calculating the variable time offset based on a transitory delay of the second request between the first video receiving device and the media-on-demand server.
53 . The method of claim 52 , wherein calculating the resumption point comprises subtracting the calculated variable time offset from the time code.
54 . The method of claim 49 , wherein the data structure is a first data structure, wherein the calculated time code is a first time code, further comprising:
storing, at a second server, a second data structure associated with the user identifier, wherein the second data structure includes a second identifier of the video and a second time code.
55 . The method of claim 54 , further comprising:
comparing the first time code to the second time code; determining that the first time code is different from the second time code; and based on determining that the first time code is different from the second time code, causing an option to be provided at the second video receiving device, wherein the option allows the user to select which of the first time code and the second time code is a correct time code.
56 . The system of claim 28 , wherein the media-on-demand is further configured to:
receive, during the transmission of the video beginning from the resume point, from the second video receiving device, a fourth request to seek in the video to a point prior to the resume point; and in response to receiving the fourth request, transmitting the video, beginning from the prior point, to the second video receiving device.
57 . The method of claim 42 , further comprising:
receiving, at the media-on-demand server, during the transmission of the video beginning from the resume point, from the second video receiving device, a fourth request to seek in the video to a point prior to the resume point; and in response to receiving the fourth request, transmitting the video, beginning from the prior point, from the media-on-demand server to the second video receiving device.Join the waitlist — get patent alerts
Track US2019174197A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.