Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of resuming playback of a media program, the playback initiated by a first device and resumed on a second device, the method comprising: receiving, by a media server, a first request to transmit the media program to the first device; streaming, by the media server, the media program to the first device; during the streaming, monitoring, by the media server, an event from the streaming of the media program to the first device to generate media program streaming information; during the streaming, transmitting, by the media server, the media program streaming information to a media program provider including the event before the media program is one or more of stopped and paused on the first device; receiving, by the media server, a second request to resume transmission of the media program from a second device, wherein the request includes a playback temporal location within the media program that was inferred based on the event included in the media program streaming information, and wherein the event did not include the playback temporal location; and resuming, by the media server, transmission of the media program to the second device from the temporal location received from the media program provider.
A method for resuming media playback across devices. A media server streams a media program to a first device, monitors the streaming for events (not including playback position), and sends media program streaming information including these events to a media program provider *before* the program is stopped or paused on the first device. When a second device requests to resume playback, the media server receives a temporal location within the media program from the media program provider. This temporal location is inferred by the provider based on the events from the first stream but does *not* include current playback position. The media server then resumes streaming to the second device from this inferred temporal location.
2. The method of claim 1 , further comprising: receiving a monitoring application from the media program provider, the monitoring application configured to generate the media program streaming information.
The method of resuming media playback where the media server receives a monitoring application from the media program provider. This monitoring application runs on the media server and is specifically configured to generate the media program streaming information about the streaming session with the first device. This offloads the streaming information generation from the media server itself to a module provided by the content provider.
3. The method of claim 1 , wherein: the media program streaming information provides information regarding a playback state of the first device.
The method of resuming media playback where the media program streaming information sent to the media program provider provides information regarding the playback state of the first device. This includes details about the player's state, such as whether it's playing, paused, buffering, or has encountered an error during streaming.
4. The method of claim 3 , wherein: the playback state is used to determine a current temporal position based on when streaming was one or more of stopped and paused on the first device, and the current temporal position being different from the playback temporal position.
The method of resuming media playback where the playback state information from the first device (playing, paused, buffering) is used to determine the current temporal position when streaming was stopped or paused on the first device. Critically, the temporal position to resume from on the second device is *different* from the temporal position where the first device stopped, allowing for buffering, scene changes or other contextual adjustments.
5. The method of claim 1 , wherein the media server is a flash server.
The method of resuming media playback where the media server is specifically implemented as a flash server. This highlights a specific implementation environment where the described synchronization method would be used.
6. A method for resuming playback of a media program, the playback initiated by a first device and resumed on a second device, comprising: receiving, from the first device, a first request to initiate transmission of a media program from a media server to the first device; transmitting a media program identifier to the first device, the media program identifier identifying the media program to be streamed by the media server to the first device; receiving media program streaming information from the media server before the media program is one or more of stopped and paused on the first device, the media program streaming information generated from monitored streaming of the media program from the media server to the first device and including an event from the streaming of the media program; receiving, from the second device, a second request to resume transmission of the media program from the media server to the second device; inferring a temporal location within the media program from which to resume transmission of the media program at least in part from the event in the media program streaming information received from the media server, wherein the event did not include the temporal location; and transmitting a media program identifier and information describing the temporal location to the second device.
A method for resuming media playback across devices, involving the media program provider. First, the provider receives a request from a first device to initiate streaming of a media program from a media server. The provider sends a media program identifier back to the first device. The provider then receives media program streaming information from the media server *before* playback is stopped or paused on the first device, including events (not location) from the monitored stream. When a second device requests to resume, the provider infers the temporal location within the media program from these events and sends a media program identifier and the temporal location to the second device.
7. The method of claim 6 , wherein: the media program streaming information provides information regarding a playback state of the first device.
The method of resuming media playback across devices, where the media program streaming information provides information regarding a playback state of the first device. This state information might include whether the stream is playing, paused, buffering, or experiencing errors.
8. The method of claim 7 , wherein: the playback state comprises a current temporal position based on when the streaming of the media program was one or more of stopped and paused on the first device, and the current temporal position being different from the playback temporal position.
The method of resuming media playback across devices, where the playback state information comprises a current temporal position based on when the streaming was stopped or paused on the first device. The temporal position to resume from on the second device is *different* from the current temporal position where the first device stopped.
9. The method of claim 6 , wherein inferring the temporal location comprises: using a buffer size of the first device to determine the temporal location that is different from a current temporal position when the streaming of the media program was one or more of stopped and paused on the first device.
The method of resuming media playback across devices, where inferring the temporal location involves using the buffer size of the first device to determine a temporal location that is different from the current temporal position when streaming stopped or paused. This accounts for buffered content when determining the resume point.
10. The method of claim 6 , wherein determining the temporal location comprises: using a transmission channel bandwidth between the media server and the first device to determine the playback temporal location that is different from a current temporal position when the streaming of the media program was one or more of stopped and paused on the first device.
The method of resuming media playback across devices, where determining the temporal location involves using the transmission channel bandwidth between the media server and the first device to determine the playback temporal location. This is a means to adjust current playback position accounting for network conditions.
11. The method of claim 6 , wherein determining the temporal location comprises: using media program metadata to determine the current temporal location such that playback of the media program on the second device begins at a beginning of a scene, wherein the playback temporal position is different from a current temporal position when the streaming of the media program was one or more of stopped and paused on the first device.
The method of resuming media playback across devices, where determining the temporal location involves using media program metadata (scene markers, chapter divisions) to determine a current temporal location such that playback on the second device begins at a beginning of a scene, even if it is different from the current playback position when the stream was stopped on the first device.
12. A non-transitory computer-readable storage medium containing instructions for resuming playback of a media program, the playback initiated by a first device and resumed on a second device, the instructions, when executed, control a media server to be configured for: receiving, by a media server, a first request to transmit the media program to the first device; streaming, by the media server, the media program to the first device; during the streaming, monitoring, by the media server, an event from the streaming of the media program to the first device to generate media program streaming information; during the streaming, transmitting, by the media server, the media program streaming information to a media program provider including the event before the media program is one or more of stopped and paused on the first device; receiving, by the media server, a second request to resume transmission of the media program from a second device, wherein the request includes a temporal location within the media program that was inferred based on the event included in the media program streaming information, and wherein the event did not include the temporal location; and resuming, by the media server, transmission of the media program to the second device from the temporal location received from the media program provider.
A non-transitory computer-readable storage medium containing instructions for a media server to resume media playback across devices. The instructions configure the media server to stream media to a first device, monitor events (excluding location) during streaming, and transmit streaming information including events to a media program provider *before* stopping/pausing. Upon receiving a resume request from a second device including a temporal location inferred from the events, the server resumes streaming to the second device from that temporal location.
13. The non-transitory computer-readable storage medium of claim 12 , further comprising: receiving a monitoring application from the media program provider, the monitoring application configured to generate the media program streaming information.
The non-transitory computer-readable storage medium for resuming media playback, wherein the instructions further configure the media server to receive a monitoring application from the media program provider that generates the media program streaming information. The application runs on the media server.
14. The non-transitory computer-readable storage medium of claim 12 , wherein: the media program streaming information provides information regarding a playback state of the first device.
The non-transitory computer-readable storage medium for resuming media playback, wherein the media program streaming information provides information regarding a playback state of the first device such as playing, paused, or buffering.
15. The non-transitory computer-readable storage medium of claim 14 , wherein: the playback state is used to determine a current temporal position based on when streaming was one or more of stopped and paused on the first device, and the current temporal position being different from the playback temporal position.
The non-transitory computer-readable storage medium for resuming media playback, wherein the playback state is used to determine a current temporal position based on when streaming stopped/paused. The resume temporal position will be *different* from the stop/pause position on the first device.
16. A non-transitory computer-readable storage medium containing instructions for resuming playback of a media program, the playback initiated by a first device and resumed on a second device, the instructions, when executed, control a computer system to be configured for: receiving, from the first device, a first request to initiate transmission of a media program from a media server to the first device; transmitting a media program identifier to the first device, the media program identifier identifying the media program to be streamed by the media server to the first device; receiving media program streaming information from the media server before the media program is one or more of stopped and paused on the first device, the media program streaming information generated from monitored streaming of the media program from the media server to the first device and including an event from the streaming of the media program; receiving, from the second device, a second request to resume transmission of the media program from the media server to the second device; inferring a temporal location within the media program from which to resume transmission of the media program at least in part from the event in the media program streaming information received from the media server, wherein the event did not include the temporal location; and transmitting a media program identifier and information describing the temporal location to the second device.
A non-transitory computer-readable storage medium containing instructions for a computer system (the media program provider) to coordinate resumed media playback across devices. The instructions configure the system to receive a streaming request from a first device, send it a media program identifier, receive streaming information (including non-location events) from the media server *before* stopping/pausing, and upon receiving a resume request from a second device, infer the temporal location and send the media program identifier and temporal location to the second device.
17. The non-transitory computer-readable storage medium of claim 15 , wherein: the media program streaming information provides information regarding a playback state of the first device.
The non-transitory computer-readable storage medium for coordinating resumed media playback, wherein the media program streaming information provides information regarding a playback state of the first device.
18. The non-transitory computer-readable storage medium of claim 16 , wherein: the playback state comprises a current temporal position based on when the streaming of the media program was one or more stopped and paused on the first device, and the current temporal position being different from the playback temporal position.
The non-transitory computer-readable storage medium for coordinating resumed media playback, wherein the playback state comprises the temporal position based on when streaming was stopped/paused. This temporal position will be *different* from the resume temporal position on the second device.
19. The non-transitory computer-readable storage medium of claim 15 , wherein determining the temporal location comprises: using a buffer size of the first device to determine the temporal location that is different from a current temporal position when the streaming of the media program was one or more of stopped and paused on the first device.
The non-transitory computer-readable storage medium for coordinating resumed media playback, wherein determining the temporal location uses the buffer size of the first device to adjust the temporal location.
20. The non-transitory computer-readable storage medium of claim 15 , wherein determining the temporal location comprises: using a transmission channel bandwidth between the media server and the first device to determine the playback temporal location that is different from a current temporal position when the streaming of the media program was more of stopped and paused on the first device.
The non-transitory computer-readable storage medium for coordinating resumed media playback, wherein determining the temporal location uses the transmission channel bandwidth between the media server and the first device to adjust the temporal location.
21. The non-transitory computer-readable storage medium of claim 15 , wherein determining the temporal location comprises: using media program metadata to determine the current temporal location such that playback of the media program on the second device begins at a beginning of a scene, wherein the playback temporal position is different from a current temporal position when the streaming of the media program was one or more of stopped and paused on the first device.
The non-transitory computer-readable storage medium for coordinating resumed media playback, wherein determining the temporal location uses media program metadata to determine a new current temporal location. Playback may begin at the start of a scene instead of the current location when the streaming was stopped/paused.
22. The method of claim 1 , wherein the playback temporal location within the media program is inferred based on a buffer size of the first device to adjust a current temporal position in which the streaming of the media program was one or more of stopped and paused.
The method of resuming media playback across devices, where the playback temporal location is inferred based on the buffer size of the first device to adjust a current temporal position in which the streaming of the media program was stopped/paused.
23. The method of claim 1 , wherein the playback temporal location within the media program is inferred based on a transmission bandwidth between the media server and the first device to adjust a current temporal position in which the streaming of the media program was one or more of stopped and paused.
The method of resuming media playback across devices, where the playback temporal location is inferred based on a transmission bandwidth between the media server and the first device to adjust a current temporal position in which the streaming of the media program was stopped/paused.
24. The method of claim 1 , wherein the playback temporal location within the media program is inferred by adjusting a current temporal position in which the streaming of the media program was one or more of stopped and paused using metadata for the media program.
The method of resuming media playback across devices, where the playback temporal location is inferred by adjusting a current temporal position in which the streaming of the media program was stopped/paused using metadata for the media program.
25. The method of claim 1 , wherein the playback temporal location within the media program is inferred by calculating a time period that has elapsed after the event.
The method of resuming media playback across devices, where the playback temporal location within the media program is inferred by calculating a time period that has elapsed after the event.
26. The method of claim 1 , further comprising: transmitting media program streaming information to the media program provider periodically during the streaming.
The method of resuming media playback across devices, further comprising transmitting media program streaming information to the media program provider periodically during the streaming, not just at the end.
Unknown
September 26, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.