Abstract:
In a method and system for characterizing Internet application performance, requests for media items from at least one client can be identified. For each of request, a request time, an Internet service provider identity, a location of the client, a data quantity transferred, and an elapsed time for fulfillment of the request can be determined. An evaluation period, a geographic boundary, and an Internet service provider can be identified, and matching requests can be determined, where the matching requests have a request time within the evaluation period, a location within the geographic boundary, and an Internet service provider identity corresponding to the Internet service provider. A transfer rate for each matching request can be calculated based on the data quantity transferred and elapsed time. A percentage of matching requests with a transfer rate meeting a transfer threshold can then be calculated.
Abstract:
A media sharing system receives a media stream from a broadcaster system. The media sharing system streams a transcoded version of the media stream to user devices that request the media stream broadcast. Additionally, as the media stream is received from the broadcaster system, the media sharing system generates media segments that include the content of the media stream. Based on programming information received for the media stream, the media sharing system creates a media clip for each program included in the media stream. The media sharing system uses content from the media segments to generate the media clips. Further, as a user is viewing a media stream broadcast to the user's device by the media sharing system, the user may request the creation of a media clip from the media stream. The system identifies media segments that include content of the desired media clip and creates the media clip.
Abstract:
In a method and system for characterizing Internet application performance, requests for media items from at least one client can be identified. For each of request, a request time, an Internet service provider identity, a location of the client, a data quantity transferred, and an elapsed time for fulfillment of the request can be determined. An evaluation period, a geographic boundary, and an Internet service provider can be identified, and matching requests can be determined, where the matching requests have a request time within the evaluation period, a location within the geographic boundary, and an Internet service provider identity corresponding to the Internet service provider. A transfer rate for each matching request can be calculated based on the data quantity transferred and elapsed time. A percentage of matching requests with a transfer rate meeting a transfer threshold can then be calculated.
Abstract:
A solution is provided for selectively caching streaming media based on playback data associated with the streaming media. Each media stream is divided into a number of media chunks. Spatial locality and temporal locality of each media chunk is analyzed based on playback data of the media chunk and the corresponding media stream. Based on the spatial locality and temporal locality, a spatial score and temporal score are generated, respectively. Aggregation of the spatial score and temporal score produces a final score for the media chunk. The media chunks are ranked based on their final scores, where all or a number of media chunks are selected based on their rankings for being cached. The ranking of a cached media chunk decays over time, and the ranking of a cached media chunk is dynamically recalculated when another video chunk is to be cached.
Abstract:
Implementations disclose merged video streaming, authorization, and metadata request. A method includes receiving, by a streaming server, a first request to view a media item from a client device via a connection between the client device and the streaming server, and sending a second request to an authorization server to verify that the client device is authorized to play the media item. The method further includes: prior to receiving a response from the authorization server, providing an encrypted portion of the media item to the client device via the connection, receiving, from the authorization server, a verification that the client device is authorized to play the media item, and sending, via the connection between the client device and the streaming server, a cryptography key for decrypting the encrypted portion of the media item to the client device.
Abstract:
A system and method for a live streaming platform that can redundantly process input streams in parallel ingestion pipelines is disclosed herein. Ingested input streams in the parallel pipelines can be segmented using a stable segmentation function that creates identical segments in each of the streams in the pipelines. If errors occur, or there are disruptions in one or more of the input streams or pipelines, the live streaming platform can switch between the input streams on a per segment basis to provide reliable streaming feeds to a content distribution network. A master stream can be constructed from each of the master segments per a time period based on a reliability of each of the input streams and segments. Practicing pipeline affinity by selecting subsequent master segments from the same pipeline can minimize glitches.
Abstract:
Implementations disclose merged video streaming, authorization, and metadata request. A method includes receiving, by a streaming server, a first request to view a media item from a client device via a connection between the client device and the streaming server, and sending a second request to an authorization server to verify that the client device is authorized to play the media item. The method further includes: prior to receiving a response from the authorization server, providing an encrypted portion of the media item to the client device via the connection, receiving, from the authorization server, a verification that the client device is authorized to play the media item, and sending, via the connection between the client device and the streaming server, a cryptography key for decrypting the encrypted portion of the media item to the client device.
Abstract:
A solution is provided for selectively caching streaming media based on playback data associated with the streaming media. Each media stream is divided into a number of media chunks. Spatial locality and temporal locality of each media chunk is analyzed based on playback data of the media chunk and the corresponding media stream. Based on the spatial locality and temporal locality, a spatial score and temporal score are generated, respectively. Aggregation of the spatial score and temporal score produces a final score for the media chunk. The media chunks are ranked based on their final scores, where all or a number of media chunks are selected based on their rankings for being cached. The ranking of a cached media chunk decays over time, and the ranking of a cached media chunk is dynamically recalculated when another video chunk is to be cached.
Abstract:
A system and method for a live streaming platform that can redundantly process input streams in parallel ingestion pipelines is disclosed herein. Ingested input streams in the parallel pipelines can be segmented using a stable segmentation function that creates identical segments in each of the streams in the pipelines. If errors occur, or there are disruptions in one or more of the input streams or pipelines, the live streaming platform can switch between the input streams on a per segment basis to provide reliable streaming feeds to a content distribution network. A master stream can be constructed from each of the master segments per a time period based on a reliability of each of the input streams and segments. Practicing pipeline affinity by selecting subsequent master segments from the same pipeline can minimize glitches.