Determining a time-state metric includes receiving a stream of raw data values of an attribute. Each received raw data value of the attribute is associated with a timestamp. It further includes converting the received stream of raw data values into a timeline representation of the attribute over time. The timeline representation comprises a sequence of spans. A span comprises a span start time, a span end time, and a span value. The span value comprises an encoding of one or more values of the attribute over a time interval determined by the span start time and the span end time. It further includes determining a time-state metric according to a timeline request configuration. The timeline request configuration comprises one or more timeline operations. The time-state metric is computed at least in part by performing a timeline operation on the timeline representation of the attribute.
In various embodiments, a process includes obtaining, from a first entity external to a client device, a data capture configuration specifying fields permitted to be captured on the client device from a network request and/or a corresponding network response. The process includes intercepting, on the client device, the network request and/or the corresponding network response. The network request may be generated by the application and associated with an application event. In response to intercepting the network request and/or the corresponding network response, the process determines the fields permitted to be captured based at least in part on the data capture configuration and captures select field-value pairs from a header and/or a body of the network request and/or a corresponding network response according to the data capture configuration. The process includes reporting, to a second entity external to the client device, the captured select field-value pairs.
Facilitating analytics such as retrospective analysis includes ingesting session data. It further includes summarizing the session data and generating leaf-level summarizations of leaf groups present in the session data. It further includes storing the leaf-level summarizations. It further includes deriving parent-level summarizations for a parent group from leaf-level summarizations of leaf groups that are children of the parent group.
H04L 41/0631 - Management of faults, events, alarms or notifications using root cause analysisManagement of faults, events, alarms or notifications using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
Evaluating multi-dimensional information includes providing a plurality of initial dimensions. Each dimension represents a factor related to performance. It further includes receiving a first selection of a value for a first dimension in the plurality of initial dimensions. It further includes providing a plurality of potentially significant dimensions from among a set of dimensions. It further includes receiving a second selection of a second dimension from among the plurality of potentially significant dimensions. It further includes determining the plurality of potentially significant dimensions based on an indication of presence of outliers in the potentially significant dimension. A dimension that significantly affects performance is identified.
42 - Scientific, technological and industrial services, research and design
Goods & Services
Software as a service (SaaS) services featuring computer software platforms that enable users to access, view, analyze and interact with data that is collected from various sources in real-time.
A set of Internet Protocol (IP) addresses is received wherein each IP address is associated with a corresponding set of features. For an IP address in the set, the IP address is evaluated based at least in part on a set of inclusion criteria. For the IP address in the set, a likelihood that the IP address is residential or non-residential is generated based at least in part on the corresponding set of features and the evaluation of the IP address based at least in part on the set of inclusion criteria. For the IP address in the set, a training sample is generated that includes the IP address, at least some of the corresponding set of features, and a label. A labeled training data set is output that includes the training sample, where an IP address classifier is trained using the labeled training data set.
Visual composition of stateful metrics includes receiving, via a user interface, an indication of a user interaction with respect to a visual representation of a timeline operator included in a stateful metric that is being visually composed. It further includes, based on the indication of the user interaction with respect to the visual representation of the timeline operator, providing visual feedback.
Determining a stateful metric includes receiving a first mapped event that is generated based on semantic mapping of a first raw event associated with a first time. It further includes receiving a second mapped event that is generated based on semantic mapping of a second raw event associated with a second time that is subsequent to the first time. It further includes determining a stateful metric based on the first mapped event and the second mapped event.
42 - Scientific, technological and industrial services, research and design
Goods & Services
software as a service (SaaS) services featuring computer software platforms that enable users to access, view, analyze and interact with data that is collected from various sources in real-time
Establishing a data store of content metadata includes receiving, from a content player executing on a client device, an indication of content played by the content player, the indication comprising one or more pieces of metadata associated with the content. It further includes selecting a set of one or more rules applicable to parsing the metadata associated with the content. It further includes processing the metadata at least in part by applying the selected parsing rules to at least a portion of the metadata associated with the content. It further includes storing, to a data store, at least some of the processed metadata associated with the content.
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/658 - Transmission by the client directed to the server
Determining a time-state metric includes receiving a stream of raw data values of an attribute. Each received raw data value of the attribute is associated with a timestamp. It further includes converting the received stream of raw data values into a timeline representation of the attribute over time. The timeline representation comprises a sequence of spans. A span comprises a span start time, a span end time, and a span value. The span value comprises an encoding of one or more values of the attribute over a time interval determined by the span start time and the span end time. It further includes determining a time-state metric according to a timeline request configuration. The timeline request configuration comprises one or more timeline operations. The time-state metric is computed at least in part by performing a timeline operation on the timeline representation of the attribute.
Generating automatic diagnostics alerts is disclosed. At a first time, a set of quality metrics for a plurality of groups of streaming sessions is computed. An anomaly is identified at least in part by performing anomaly detection using the set of quality metrics and historical information. A cause of the identified anomaly is diagnosed. An alert is generated based at least in part on the diagnosis.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/647 - Control signaling between network components and server or clientsNetwork processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging between two different networks, e.g. between IP and wireless
42 - Scientific, technological and industrial services, research and design
Goods & Services
Software as a service (SaaS) services featuring computer software platforms that enable users to access, view, analyze and interact with data that is collected from various sources in real-time
Resource allocation includes generating a resource allocation identifier corresponding to a resource allocation request. The resource allocation request pertains to allocation of a resource associated with streaming of an audiovisual content item. The resource allocation identifier comprises a first portion and a second portion, the first portion comprising a key, and the second portion comprising information associated with contextual metadata pertaining to the corresponding resource allocation request. It further includes performing a first transmission of a first message including the resource allocation identifier. The first message including the resource allocation identifier is directed to a first address associated with a first entity. It further includes performing a second transmission of a second message. Transmission of the second message causes transmission of the resource allocation request. The second message is directed to a second address associated with a second entity. The first address and the second address are different.
Resource allocation includes receiving a first message comprising a resource allocation identifier. It further includes, at a time subsequent to receiving the first message, receiving a second message comprising a resource allocation request pertaining to allocation of a resource associated with streaming of an audiovisual content item. It further includes matching the resource allocation request with the resource allocation identifier. It further includes, based at least in part on the match, receiving contextual metadata associated with the resource allocation request. It further includes facilitating resource allocation at least in part by using the contextual metadata.
H04N 21/84 - Generation or processing of descriptive data, e.g. content descriptors
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Resource allocation includes generating a resource allocation identifier corresponding to a resource allocation request. The resource allocation request pertains to allocation of a resource associated with streaming of an audiovisual content item. The resource allocation identifier comprises a first portion and a second portion, the first portion comprising a key, and the second portion comprising information associated with contextual metadata pertaining to the corresponding resource allocation request. It further includes performing a first transmission of a first message including the resource allocation identifier. The first message including the resource allocation identifier is directed to a first address associated with a first entity. It further includes performing a second transmission of a second message. Transmission of the second message causes transmission of the resource allocation request. The second message is directed to a second address associated with a second entity. The first address and the second address are different.
Resource allocation includes receiving a first message comprising a resource allocation identifier. It further includes, at a time subsequent to receiving the first message, receiving a second message comprising a resource allocation request pertaining to allocation of a resource associated with streaming of an audiovisual content item. It further includes matching the resource allocation request with the resource allocation identifier. It further includes, based at least in part on the match, receiving contextual metadata associated with the resource allocation request. It further includes facilitating resource allocation at least in part by using the contextual metadata.
H04N 21/84 - Generation or processing of descriptive data, e.g. content descriptors
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
16.
Correlating playback information of video segments
Correlating information associated with playback of video segments is disclosed. Information associated with playback of a first video segment is obtained. Information associated with playback of a second video segment is obtained. The information associated with playback of the first video segment is correlated with the information associated with playback of the second video segment based at least in part on at least one of a client application identifier, a video session identifier, and a set of timestamps. Output is provided based at least in part on the correlating.
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/658 - Transmission by the client directed to the server
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/4425 - Monitoring of client processing errors or hardware failure
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
G06Q 30/0242 - Determining effectiveness of advertisements
17.
Automatic diagnostics alerts for streaming content encoded by multiple entities
Automatic diagnostics alerts for streaming multiple types of content is disclosed. At a first time, a set of metrics for a plurality of groups of streaming sessions is computed. A streaming session in a group is associated with streaming of a piece of content encoded by an entity. The streaming of the piece of content encoded by the entity is associated with streaming of another piece of content. An anomaly is identified at least in part by performing anomaly detection using the set of metrics. A cause of the identified anomaly is diagnosed. An alert is generated based at least in part on the diagnosis.
H04L 41/0631 - Management of faults, events, alarms or notifications using root cause analysisManagement of faults, events, alarms or notifications using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
18.
Automatic diagnostics alerts for streaming content encoded by multiple entities
Automatic diagnostics alerts for streaming multiple types of content is disclosed. At a first time, a set of metrics for a plurality of groups of streaming sessions is computed. A streaming session in a group is associated with streaming of a piece of content encoded by an entity. The streaming of the piece of content encoded by the entity is associated with streaming of another piece of content. An anomaly is identified at least in part by performing anomaly detection using the set of metrics. A cause of the identified anomaly is diagnosed. An alert is generated based at least in part on the diagnosis.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 41/0631 - Management of faults, events, alarms or notifications using root cause analysisManagement of faults, events, alarms or notifications using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
Establishing a data store of content metadata includes receiving, from a content player executing on a client device, an indication of content played by the content player, the indication comprising one or more pieces of metadata associated with the content. It further includes selecting a set of one or more rules applicable to parsing the metadata associated with the content. It further includes processing the metadata at least in part by applying the selected parsing rules to at least a portion of the metadata associated with the content. It further includes storing, to a data store, at least some of the processed metadata associated with the content.
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/658 - Transmission by the client directed to the server
20.
Remote multi-target client monitoring for streaming content
Remote multi-target client monitoring for streaming content is disclosed. Raw data generated within a remote client device is received from the client device. The raw data is associated with content playback. An adaptor is used to translate the raw data into a unified data model. The translating comprises determining, from the raw data, a designation of at least one of a start and an end of a monitoring session.
Remote multi-target client monitoring for streaming content is disclosed. Raw data generated within a remote client device is received from the client device. The raw data is associated with content playback. An adaptor is used to translate the raw data into a unified data model. The translating comprises determining, from the raw data, a designation of at least one of a start and an end of a monitoring session.
Delivering an advertisement is disclosed. Local user information is collected. Examples of local user information include language settings, web browser history, and actions taken by a user with respect to various applications. An advertisement is selected from a plurality of advertisements based at least in part on the local user information. The selected advertisement is caused to be displayed.
Generating automatic diagnostics alerts is disclosed. At a first time, a set of quality metrics for a plurality of groups of streaming sessions is computed. An anomaly is identified at least in part by performing anomaly detection using the set of quality metrics and historical information. A cause of the identified anomaly is diagnosed. An alert is generated based at least in part on the diagnosis.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04N 21/647 - Control signaling between network components and server or clientsNetwork processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging between two different networks, e.g. between IP and wireless
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
Generating automatic diagnostics alerts is disclosed. At a first time, a set of quality metrics for a plurality of groups of streaming sessions is computed. An anomaly is identified at least in part by performing anomaly detection using the set of quality metrics and historical information. A cause of the identified anomaly is diagnosed. An alert is generated based at least in part on the diagnosis.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04N 21/647 - Control signaling between network components and server or clientsNetwork processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging between two different networks, e.g. between IP and wireless
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Delivering an advertisement is disclosed. Local user information is collected. Examples of local user information include language settings, web browser history, and actions taken by a user with respect to various applications. An advertisement is selected from a plurality of advertisements based at least in part on the local user information. The selected advertisement is caused to be displayed.
Controlling dynamic reporting of content distribution performance information from a client is disclosed. The content distribution performance information associated with the delivery of content is generated. The content distribution performance information is reported to a content distribution monitor at a first reporting level. In response to a triggering event, the first reporting level is changed to a second reporting level. Additional content distribution performance information is reported according to the second reporting level.
Generating streaming decisions at one or more remote servers on behalf of a local client is disclosed. An indication of a content request, multi-dimensional client information, and local state information are received from a client device. A record specific to the client device is generated, in a data store, using the received local state information. The data store includes a plurality of records corresponding to respective different client devices. A set of instructions usable by the client device to obtain and play content is determined based at least in part the local state information received from the client device. The determined set of instructions is transmitted to the client device.
Establishing a data store of content metadata includes receiving, from a content player executing on a client device, an indication of content played by the content player, the indication comprising one or more pieces of metadata associated with the content. It further includes selecting a set of one or more rules applicable to parsing the metadata associated with the content. It further includes processing the metadata at least in part by applying the selected parsing rules to at least a portion of the metadata associated with the content. It further includes storing, to a data store, at least some of the processed metadata associated with the content.
Directing a content player to a content source is disclosed. A first manifest request from a client requesting content is received at a server. The manifest request includes information generated as a result of the client contacting a content management system and in response, receiving from the content management system information associated with the client and a direction to the server. Based at least in part on the received information, at least one of a bitrate and a content source is determined. Instructions are sent to the client based at least in part on the determination. The client is configured to obtain the requested content according to the instructions.
Facilitating a decision of a content player is disclosed. In some cases, performance information associated with a content player is received. The information is received from a client. A determination is made that an update should be sent to the client. The update is sent to the client. In other cases, information is received from an external entity. Based at least in part on the received information, an instruction is sent to a content player.
Selecting an optimal bitrate range is disclosed. A request for content from a first client is received. An optimal subset of bitrates for the first client is determined. The optimal subset of bitrates for the first client is determined based at least in part on one or more real-time quality measures. A different optimal subset of bitrates is determined for a second client. An indication of the optimal subset of bitrates determined for the first client is provided to the first client. The first client is configured to obtain content according to the indication of the optimal subset of bitrates.
Directing a content player to a content source is disclosed. A message from a content management system including information associated with a client that is currently requesting content is received. Based at least in part on the information included in the message, a set of content sources is determined. Instructions indicating the set of content sources for the client are sent to the content management system.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Facilitating a decision of a content player is disclosed. In some cases, performance information associated with a content player is received. The information is received from a client. A determination is made that an update should be sent to the client. The update is sent to the client. In other cases, information is received from an external entity. Based at least in part on the received information, an instruction is sent to a content player.
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
H04L 67/61 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/2547 - Third party billing, e.g. billing of advertiser
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/658 - Transmission by the client directed to the server
H04W 4/021 - Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
G06F 11/32 - Monitoring with visual indication of the functioning of the machine
Per-viewer engagement-based video optimization is disclosed. A request for content associated with a first client is received. A model associated with the first client is obtained. The obtained model comprises at least one of behavior and playback preferences of a viewer associated with the first client. The obtained model is used to determine, for the first client, an optimal set of instructions usable to obtain content. A different set of instructions is determined to be optimal for a second client. The optimal set of instructions determined for the client is provided as output. The first client is configured to obtain content according to the optimal set of instructions determined for the first client.
H04N 21/466 - Learning process for intelligent management, e.g. learning user preferences for recommending movies
H04N 21/25 - Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication or learning user preferences for recommending movies
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/45 - Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies or resolving scheduling conflicts
35.
Correlating playback information of video segments
Correlating information associated with playback of video segments is disclosed. Information associated with playback of a first video segment is obtained. Information associated with playback of a second video segment is obtained. The information associated with playback of the first video segment is correlated with the information associated with playback of the second video segment based at least in part on at least one of a client application identifier, a video session identifier, and a set of timestamps. Output is provided based at least in part on the correlating.
H04H 60/33 - Arrangements for monitoring the users' behaviour or opinions
H04H 60/32 - Arrangements for monitoring conditions of receiving stations, e.g. malfunction or breakdown of receiving stations
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/4425 - Monitoring of client processing errors or hardware failure
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/658 - Transmission by the client directed to the server
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
Correlating information associated with playback of video segments is disclosed. Information associated with playback of a first video segment is obtained. Information associated with playback of a second video segment is obtained. The information associated with playback of the first video segment is correlated with the information associated with playback of the second video segment based at least in part on at least one of a client application identifier, a video session identifier, and a set of timestamps. Output is provided based at least in part on the correlating.
H04H 60/33 - Arrangements for monitoring the users' behaviour or opinions
H04N 7/10 - Adaptations for transmission by electrical cable
H04N 7/025 - Systems for transmission of digital non-picture data, e.g. of text during the active part of a television frame
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/658 - Transmission by the client directed to the server
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/4425 - Monitoring of client processing errors or hardware failure
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
G06Q 30/02 - MarketingPrice estimation or determinationFundraising
Per-viewer engagement-based video optimization is disclosed. A request for content associated with a first client is received. A model associated with the first client is obtained. The obtained model comprises at least one of behavior and playback preferences of a viewer associated with the first client. The obtained model is used to determine, for the first client, an optimal set of instructions usable to obtain content. A different set of instructions is determined to be optimal for a second client. The optimal set of instructions determined for the client is provided as output. The first client is configured to obtain content according to the optimal set of instructions determined for the first client.
H04N 21/466 - Learning process for intelligent management, e.g. learning user preferences for recommending movies
H04N 21/25 - Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication or learning user preferences for recommending movies
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/45 - Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies or resolving scheduling conflicts
Data collection management is disclosed. A data collection configuration is obtained. The data collection configuration is translated into executable code in a language usable to collect data. Data is collected using the executable code. The collected data values are provided as output. Metrics management is also disclosed. A configuration of a metric is obtained. The metric configuration includes a definition of how computation of the metric is to be performed and a mapping between a computation input and collected data. Collected data values are obtained based at least in part on the mapping. Metric values are computed according to the definition. One or more results associated with the computed metric values are stored.
Custom traffic tagging on a control plane backend is disclosed. Information associated with a video session is obtained. Based at least in part on at least some of the obtained information associated with the video session, additional metadata to associate with the video session is determined. The additional metadata is determined from metadata obtained from one or more disparate sources. The video session is associated with the determined additional metadata.
Fault isolation in over-the-top content (OTT) broadband networks is disclosed. Network topology information associated with a network service provider is received. Session information associated with one or more streaming sessions is received. A predictive model is generated for predicting session quality at least in part by using at least some of the network topology and session summary information as features. The predictive model is used to determine a first prediction of session quality using a first set of feature values. A second set of feature values is generated at least in part by replacing a first feature value in the first set of feature values with a replacement value. The predictive model is used to determine a replacement prediction of session quality using the second set of feature values including the replacement value with which the first feature value was replaced. Based at least in part on the first prediction and the replacement prediction, an impact of the first feature value on session quality is determined. A fault in a content delivery ecosystem is isolated based at least in part on the determined impact of the first feature value on session quality.
41 - Education, entertainment, sporting and cultural services
Goods & Services
educational services, namely, arranging and conducting conferences on topics related to online video and multimedia content management, control, transmission, delivery, optimization, monetization, development and end user experiences and distribution of training material therewith
Providing network insights is disclosed. A mapping between a device identifier and one or more nodes in a network topology associated with a network service provider is obtained. End user experience data associated with the device identifier is obtained. Based at least in part on the device identifier. at least some of the obtained end user experience data is associated with at least some of the one or more nodes in the network topology associated with the network service provider. Processing is performed based at least in part on the association of the at least some of the obtained end user experience data with the at least some of the one or more nodes in the network topology associated with the network service provider. Output is provided based at least in part on the processing.
H04L 12/24 - Arrangements for maintenance or administration
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/12 - Arrangements, apparatus, circuits or systems, not covered by a single one of groups characterised by the data terminal
H04W 4/18 - Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
42 - Scientific, technological and industrial services, research and design
Goods & Services
Providing a web site that provides downloadable software, and downloadable software for online video players, namely software libraries and software development kits, that enables users to access data, reports, and information related to the management, control, transmission, delivery and end user experiences of audio, video, and other multimedia content via Internet and through wireless communications. Telecommunications and multimedia services, namely, transmission, distribution and delivery of multimedia content via a global computer network; telecommunications consulting in the field of multimedia content transmission; consulting in the field of multimedia content transmission. Providing a web site that provides use of on-line non-downloadable software that enables users to access data, reports, and information related to the management, control, transmission, delivery and end user experiences of audio, video, and other multimedia content via Internet and through wireless communications; consulting services related to the foregoing; software as a service (SAAS) services featuring software for accessing, facilitating and controlling the transmission of multimedia content; technical support services in the field of multimedia content transmission.
42 - Scientific, technological and industrial services, research and design
Goods & Services
Telecommunications and multimedia services, namely, transmission, distribution and delivery of multimedia content via a global computer network; telecommunications consulting in the field of multimedia content transmission; consulting in the field of multimedia content transmission; technical support services in the field of multimedia content transmission Providing a web site featuring technology that enables users to access data, reports, and information related to the management, control, transmission, delivery and end user experiences of audio, video, and other multimedia content via Internet and through wireless communications; consulting services related to the foregoing; software as a service (SAAS) services featuring software for accessing, facilitating and controlling the transmission of multimedia content
Delivering information over a distribution network is disclosed. A first assignment of one or more sources peers in the distribution network is sent to a source peer in the distribution network. At least one of a change in a network condition and a policy change is detected. It is determined that at least one modification should be made to the first assignment. A second assignment of one or more source peers in the distribution network is sent to the source peer.
Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video streamElementary client operations, e.g. monitoring of home network or synchronizing decoder's clockClient middleware
H04H 20/10 - Arrangements for replacing or switching information during the broadcast or during the distribution
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/20 - Servers specifically adapted for the distribution of content, e.g. VOD serversOperations thereof
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.
H04H 20/10 - Arrangements for replacing or switching information during the broadcast or during the distribution
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video streamElementary client operations, e.g. monitoring of home network or synchronizing decoder's clockClient middleware
H04N 21/20 - Servers specifically adapted for the distribution of content, e.g. VOD serversOperations thereof
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
Generating streaming decisions at one or more remote servers on behalf of a local client is disclosed. An indication of a content request, multi-dimensional client information, and local state information are received from a client device. A record specific to the client device is generated, in a data store, using the received local state information. The data store includes a plurality of records corresponding to respective different client devices. A set of instructions usable by the client device to obtain and play content is determined based at least in part the local state information received from the client device. The determined set of instructions is transmitted to the client device.
Directing a content player to a content source is disclosed. A message from a content management system including information associated with a client that is currently requesting content is received. Based at least in part on the information included in the message, a set of content sources is determined. Instructions indicating the set of content sources for the client are sent to the content management system.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
50.
Dynamic bitrate range selection in the cloud for optimized video streaming
Selecting an optimal bitrate range is disclosed. A request for content from a first client is received. An optimal subset of bitrates for the first client is determined. The optimal subset of bitrates for the first client is determined based at least in part on one or more real-time quality measures. A different optimal subset of bitrates is determined for a second client. An indication of the optimal subset of bitrates determined for the first client is provided to the first client. The first client is configured to obtain content according to the indication of the optimal subset of bitrates.
Managing synchronized data requests is disclosed. Examples of synchronized data requests include viewer-induced synchronization, failure-induced synchronization, and player-induced synchronization. Information indicative of a potential occurrence of an amount of synchronized requests for audiovisual content that has a potential to have a detrimental impact on one or more components within a content delivery network is obtained. Subsequent to obtaining the information, one or more remediation actions are automatically caused to occur.
Controlling delivery of a video asset to a client is disclosed. A request for a manifest file is received. Manifest file components are retrieved. A dynamic manifest file is assembled from a set of manifest file components.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Distributing information over a network is disclosed. Nodes are grouped into regions. Preferred nodes are designated. A source of content to be delivered to a preferred node using a preferred algorithm is indicated to at least one preferred node. At least one common node is assigned the preferred node as a relay of information.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
54.
Custom traffic tagging on the control plane backend
Custom traffic tagging on a control plane backend is disclosed. Information associated with a video session is obtained. Based at least in part on at least some of the obtained information associated with the video session, additional metadata to associate with the video session is determined. The additional metadata is determined from metadata obtained from one or more disparate sources. The video session is associated with the determined additional metadata.
Data collection management is disclosed. A data collection configuration is obtained. The data collection configuration is translated into executable code in a language usable to collect data. Data is collected using the executable code. The collected data values are provided as output. Metrics management is also disclosed. A configuration of a metric is obtained. The metric configuration includes a definition of how computation of the metric is to be performed and a mapping between a computation input and collected data. Collected data values are obtained based at least in part on the mapping. Metric values are computed according to the definition. One or more results associated with the computed metric values are stored.
Improving a content player engagement is described. An engagement of a first content player with respect to a content item being downloaded by the first client is measured. Performance information associated with the first content player is obtained. A quantitative relationship between the engagement and the performance information is determined. How a second client obtains the same content is adjusted based at least in part on the determined quantitative relationship.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Monitoring performance data associated with a content player is disclosed. Information relating to the state of a content player is obtained on a time driven basis. At least a portion of the obtained information is reported, via a communications interface, to a content distribution monitoring server.
Improving a content player is disclosed. A monitoring module is configured to obtain status information associated with a content player. The monitoring module is loaded. Status information associated with the content player is obtained. A report of at least a portion of the obtained status information is made to a monitoring service.
Providing network insights is disclosed. A mapping between a device identifier and one or more nodes in a network topology associated with a network service provider is obtained. End user experience data associated with the device identifier is obtained. Based at least in part on the device identifier. at least some of the obtained end user experience data is associated with at least some of the one or more nodes in the network topology associated with the network service provider. Processing is performed based at least in part on the association of the at least some of the obtained end user experience data with the at least some of the one or more nodes in the network topology associated with the network service provider. Output is provided based at least in part on the processing.
H04L 12/24 - Arrangements for maintenance or administration
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/12 - Arrangements, apparatus, circuits or systems, not covered by a single one of groups characterised by the data terminal
H04W 4/18 - Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
Controlling dynamic reporting of content distribution performance information from a client is disclosed. The content distribution performance information associated with the delivery of content is generated. The content distribution performance information is reported to a content distribution monitor at a first reporting level. In response to a triggering event, the first reporting level is changed to a second reporting level. Additional content distribution performance information is reported according to the second reporting level.
Delivering a video stream is disclosed. A request for the video stream is received. A past portion of the video stream is delivered to a client. The past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer. Receiving a video stream is also disclosed. A request for the video stream is transmitted. A past portion of the video stream is received. The received past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Facilitating the distribution of content is disclosed. A request for content is received from a requesting peer. A peer type of the requesting peer is determined. Determining the peer type of the requesting peer includes determining whether the requesting peer is a regular peer or a lightweight peer. A regular peer is one that is able to accept incoming connection requests and initiate connections. A lightweight peer is one that has less functionality than the regular peer.
Some content players use manifest files to obtain and play video content. The manifest files include metadata information for obtaining video chunks that together constitute a full video, and can be used by content players to obtain the chunks, stitch them together, and render the video as a stream. Described herein are techniques for dynamically generating manifest files. A request for a manifest file is received, such as from a video player. Manifest file contents are retrieved, such as from an original manifest file. A manifest file to be used by a video player to fetch video chunks is then dynamically generated and returned.
Allocating resources in a content delivery environment is disclosed. An initial demand from initial clients for content is serviced by assigning those initial clients a first content source. A determination is made that additional demand from additional clients is either present or anticipated for the first content source. The initial demand and the additional demand together have a potential to overload the first content source. An interaction with a first initial client is adjusted to allow the additional demand to be at least partially serviced without overloading the content source.
G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Tracking distribution of content is disclosed. A path of a data transfer event associated with content distribution is discovered. The transfer path is predetermined at least in part by a third party and includes a plurality of network components. Information related to the data transfer event is associated with each of the plurality of network components. The information associated with each network component is recorded.
Advanced resource selection is disclosed. A request from a client to resolve an augmented domain is received at a Domain Name System (DNS) server. Information is extracted from the augmented domain name. The extracted information is used to select a particular resource from a set of resources to provide content to the client.
H04L 29/12 - Arrangements, apparatus, circuits or systems, not covered by a single one of groups characterised by the data terminal
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
H04L 101/33 - Types of network names containing protocol addresses or telephone numbers
Advanced resource selection is disclosed. A request from a client to resolve an augmented domain is received at a Domain Name System (DNS) server. Information is extracted from the augmented domain name. The extracted information is used to select a particular resource from a set of resources to provide content to the client.
Delivering information over a distribution network using a distribution manager is disclosed. A first assignment of one or more sources peers in the distribution network is sent to a destination peer in the distribution network. At least one of a change in a network condition and a policy change is detected. It is determined that at least one modification should be made to the first assignment. A second assignment of one or more source peers in the distribution network is sent to the destination peer.
G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/63 - Control signaling between client, server and network componentsNetwork processes for video distribution between server and clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB'sCommunication protocolsAddressing
09 - Scientific and electric apparatus and instruments
38 - Telecommunications services
42 - Scientific, technological and industrial services, research and design
Goods & Services
Computer software for accessing, facilitating and controlling the transmission of multimedia content. Telecommunications and multimedia services, namely, transmission, distribution and delivery of multimedia content via a global computer network; telecommunications consulting in the field of multimedia content transmission; consulting in the field of multimedia content transmission; technical support services in the field of multimedia content transmission. Providing a web site featuring technology that enables users to access data, reports, and information related to the management, control, transmission, delivery and end user experiences of audio, video, and other multimedia content via Internet and through wireless communications; consulting services related to the foregoing.
Distributing information over a network is disclosed. Nodes are grouped into regions. Preferred nodes are designated. A source of content to be delivered to a preferred node using a preferred algorithm is indicated to at least one preferred node. At least one common node is assigned the preferred node as a relay of information.
Managing synchronized data requests is disclosed. Examples of synchronized data requests include viewer-induced synchronization, failure-induced synchronization, and player-induced synchronization. Information indicative of the potential occurrence of a detrimental amount of synchronized requests in a content delivery infrastructure is received. One or more remediation actions is automatically caused to occur.
G06F 17/30 - Information retrieval; Database structures therefor
H04N 21/60 - Network structure or processes for video distribution between server and client or between remote clientsControl signalling between clients, server and network componentsTransmission of management data between server and clientCommunication details between server and client
H04N 21/6332 - Control signals issued by server directed to the network components or client directed to client
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Directing a video player to a video source is disclosed. An indication that a client requires video streaming instructions is received. A past download performance for a plurality of clients that or correlated to the client requiring video streaming instructions is determined. At least one of: a content source, and a bitrate, is selected, based at least in part on the determined past download performance of the plurality of correlated clients. The client is provided with instructions based at least in part on the selection.
Detecting a problem in a content distribution is disclosed. Performance information associated with a first content player is received form a first client. Performance information associated with a second content player is received from a second client. The information received from the first client and the second client is aggregated. A determination is made, from the aggregated information, that a problem is indicated. Alternate techniques for detecting a problem in a content distribution are also disclosed.
Improving a content player engagement is described. An engagement of a first content player with respect to a first content item being downloaded by the first client is measured. Performance information associated with the first content player is received. A quantitative relationship between the engagement and the performance information is determined. A setting associated with a download of the first content item by a second client is adjusted.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Improving a content player is disclosed. A monitoring module is configured to obtain status information associated with a content player. The monitoring module is loaded. Status information associated with the content player is obtained. A report of at least a portion of the obtained status information is made to a monitoring service.
Delivering content in a content delivery network is disclosed. A request to retrieve digital content is received from a first client. A second client known to have the digital content and known to be capable of serving the content at the time of the request is selected. The second client is chosen from a plurality of clients in one or more service provider networks. The service provider networks have granted permission to the content delivery network to use the second client's uplink bandwidth. The second client is instructed to serve the digital content to the first client in a data transfer. Information associated with the data transfer event is recorded for use in financial settlement between the content delivery network with the network service provider whose uplink bandwidth was utilized by the second client.
Detecting a problem in a content distribution is disclosed. Performance information associated with a first content player is received form a first client. Performance information associated with a second content player is received from a second client. The information received from the first client and the second client is aggregated. A determination is made, from the aggregated information, that a problem is indicated. Alternate techniques for detecting a problem in a content distribution are also disclosed.
Monitoring performance data associated with a content player is disclosed. Information relating to the state of a content player is obtained on a time driven basis. At least a portion of the obtained information is reported, via a communications interface, to a content distribution monitoring server.
Delivering a video stream is disclosed. A request for the video stream is received. A past portion of the video stream is delivered to a client. The past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer. Receiving a video stream is also disclosed. A request for the video stream is transmitted. A past portion of the video stream is received. The received past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer.
Distributing information over a network is disclosed. Nodes are grouped into regions. Preferred nodes are designated. A source of content to be delivered to a preferred node using a preferred algorithm is indicated to at least one preferred node. At least one common node is assigned the preferred node as a relay of information.
G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Tracking distribution of content is disclosed. A path of a data transfer event associated with content distribution is discovered, wherein the transfer path is predetermined at least in part by a third party and wherein the path of transfer includes a plurality of network components. Information related to the data transfer event is associated with each of the plurality of network components. The information associated with each network component is recorded.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Facilitating the distribution of content is disclosed. A request for content is received from a requesting peer. A peer type compatibility criteria is applied to an allocation process that allocates at least one sending peer to deliver the content to the requesting peer. The peer type compatibility criteria ensures that a lightweight peer is paired with a regular peer.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Delivering information over a distribution network using a distribution manager is disclosed. A first source peer is designated at the distribution manager to function as a first content source for a first destination peer. A second source peer is designated at the distribution manager to function as a second content source for a second destination peer. The designation at the distribution manager of the second source peer to function as a second content source for the second destination peer is dependent on an anticipated effect of the designation at the distribution manager of the first content source for the first destination peer.
H04N 21/63 - Control signaling between client, server and network componentsNetwork processes for video distribution between server and clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB'sCommunication protocolsAddressing
Facilitating the distribution of content is disclosed. A request for content is received from a requesting peer. A peer type compatibility criteria is applied to an allocation process that allocates at least one sending peer to deliver the content to the requesting peer. The peer type compatibility criteria ensures that a lightweight peer is paired with a regular peer.
Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.
H04N 21/20 - Servers specifically adapted for the distribution of content, e.g. VOD serversOperations thereof
H04N 21/40 - Client devices specifically adapted for the reception of, or interaction with, content, e.g. STB [set-top-box]Operations thereof
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/222 - Secondary servers, e.g. proxy server or cable television Head-end
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video streamElementary client operations, e.g. monitoring of home network or synchronizing decoder's clockClient middleware
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
H04N 21/63 - Control signaling between client, server and network componentsNetwork processes for video distribution between server and clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB'sCommunication protocolsAddressing
H04N 21/443 - OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Detecting a problem in a content distribution is disclosed. Performance information associated with a first content player is received form a first client. Performance information associated with a second content player is received from a second client. The information received from the first client and the second client is aggregated. A determination is made, from the aggregated information, that a problem is indicated. Alternate techniques for detecting a problem in a content distribution are also disclosed.
Delivering information over a distribution network using a distribution manager is disclosed. A first source peer is designated at the distribution manager to function as a first content source for a first destination peer. A second source peer is designated at the distribution manager to function as a second content source for a second destination peer. The designation at the distribution manager of the second source peer to function as a second content source for the second destination peer is dependent on an anticipated effect of the designation at the distribution manager of the first content source for the first destination peer.
Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computerOutput arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
G06F 13/00 - Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
H04N 5/445 - Receiver circuitry for displaying additional information
H04N 7/18 - Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
H04N 7/173 - Analogue secrecy systemsAnalogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
Delivering a video stream is disclosed. A request for the video stream is received. A past portion of the video stream is delivered to a client. The past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer. Receiving a video stream is also disclosed. A request for the video stream is transmitted. A past portion of the video stream is received. The received past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Delivering a video stream is disclosed. A request for the video stream is received. A past portion of the video stream is delivered to a client. The past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer. Receiving a video stream is also disclosed. A request for the video stream is transmitted. A past portion of the video stream is received. The received past portion has a marker time that precedes a current time by an interval that corresponds to a buffer length in a client buffer.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs