The described technology is generally directed towards developing an adaptive bitrate stack (ladder) on a per-title basis. Variable bitrate encodings are used to obtain complexity information for a title and per-frames scores for the encodings; another encoding provides scene data. The complexity information is analyzed and processed based on the scene data to determine scene-based (e.g., objective and/or subjective quality) scores, which are used to determine scores for the encodings. The results are used to derive a candidate stack, comprising various resolutions and bitrates that provide desirable results. The candidate stack is evaluated by encoding the title using the candidate stack. These encodings are evaluated to select one resolution from any duplicate resolutions for a bitrate (e.g., based on relative quality), resulting in a pruned, final ladder that is associated with the title as the adaptive bitrate stack to be used for streaming that title's content.
H04N 19/14 - Complexité de l’unité de codage, p.ex. activité ou estimation de présence de contours
H04N 19/105 - Sélection de l’unité de référence pour la prédiction dans un mode de codage ou de prédiction choisi, p.ex. choix adaptatif de la position et du nombre de pixels utilisés pour la prédiction
H04N 19/146 - Débit ou quantité de données codées à la sortie du codeur
H04N 19/142 - Détection de coupure ou de changement de scène
H04N 19/132 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage adaptatif caractérisés par l’élément, le paramètre ou la sélection affectés ou contrôlés par le codage adaptatif Échantillonnage, masquage ou troncature d’unités de codage, p.ex. ré-échantillonnage adaptatif, saut de trames, interpolation de trames ou masquage de coefficients haute fréquence de transformée
The described technology is generally directed towards validating content selection graphs for use in an in-memory content selection graph data store. When a content selection graph data is generated, the graph nodes can correspond to prebuilt response data. The response data for any of the nodes can be verified against rules based on the type of a node, for example, as well as based on client-specific information for types of clients. The overall validation process can validate the content selection graph for subsequent use, can result in errors or warnings being logged (which may or may not render the graph unusable, e.g., depending on severity), or can fail the content selection graph. If validated, the content selection graph can be used to rapidly return response data when content from the graph is requested.
The described technology is generally directed towards coordinating the generation, validation and enabling of content selection graphs in an in-memory content selection graph data store. When a set of content selection graphs is requested, a coordinator starts the generation of the relevant graphs. Upon successful generation, the coordinator starts a validation of the generated graphs against rules for the nodes/response data in the graphs. If the generated graphs pass validation, the coordinator enables the graph set for use in an in-memory cache, whereby when a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain and return the response data as the requested content selection data.
The described technology is generally directed towards maintaining content selection graphs in an in-memory content selection graph data store in association with respective start times that indicates when the respective graphs become active. When a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain the requested content selection data. The response data can be prebuilt, e.g., in a set of active graphs for different client types, so that the response can be returned generally as is from the active graph in the set for that particular client type. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
The described technology is generally directed towards comparing two images for content differences, such as images based on the frames of a show and a derivative version of that show. Frame pairs such as from an original show and its derivative version are processed into image pairs, which can include decoding, scaling, luminance extraction and/or filtering. An edge pixel image is obtained via edge detection for each image. Edge pixels in one image are compared against a counterpart edge pixel (and possibly neighboring pixels) in the other image to determine matches (matching edge pixels) and mismatches. An image with too many errors based on the mismatches is deemed as a candidate for further review. A difference image can be generated to assist a reviewer in detecting where the mismatches were detected. By repeating for the various frames, a show can be automatically compared against its derivative for content differences.
G06V 10/75 - Appariement de motifs d’image ou de vidéo; Mesures de proximité dans les espaces de caractéristiques utilisant l’analyse de contexte; Sélection des dictionnaires
G06V 10/32 - Normalisation des dimensions de la forme
G06V 20/40 - RECONNAISSANCE OU COMPRÉHENSION D’IMAGES OU DE VIDÉOS Éléments spécifiques à la scène dans le contenu vidéo
G06F 18/22 - Critères d'appariement, p.ex. mesures de proximité
6.
Creating cloud-hosted, streamed augmented reality experiences with low perceived latency
A technology that streams graphical components and rendering instructions to a client device, for the client device to perform the final rendering and overlaying of that content onto the client's video stream based on the client's most recent tracking of the device's position and orientation. A client device sends a request for augmented reality drawing data to a network device. In response, the network device generates augmented reality drawing data, which can be augmented reality change data based on the augmented reality information and previous client render state information, and sends the augmented reality drawing data to the client device. The client device receives the augmented reality drawing data and renders a visible representation of an augmented reality scene comprising overlaying augmented reality graphics over a current video scene obtained from a camera of the client device.
The described technology is directed towards generating a new video image sequence (e.g., for playback at 30 frames per second) based on an existing video image sequence (e.g., originated for playback at 24 frames per second). The technology is based on processing frames, e.g., adjacent pairs of frames in a four-frame sequence, to obtain candidate frames for selecting a similar candidate frame to insert into the original sequence to create the new sequence (e.g., a five-frame sequence). Aspects include selecting a repeated frame to insert or creating a new frame from existing frames to insert, to generate the new sequence based on a difference/scoring comparison.
H04N 19/587 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage prédictif mettant en œuvre un sous-échantillonnage ou une interpolation temporels, p.ex. décimation ou interpolation subséquente d’images dans une séquence vidéo
The described technology is directed towards a production shot design system that facilitates previsualizing scene shots, including by members of a production crew (running client devices) in different locations in a collaborative and secure shot construction environment. Modifiable scene elements' properties and camera data can be manipulated to build a scene (shot) containing modifiable and non-modifiable scene elements. In an online, shared camera mode, changes to a scene can be communicated to other client devices, e.g., virtually immediately, so that each client device displays the change for other users to see at an interactive frame rate. Scene changes can also be made locally and/or in an offline mode before communicating to other users. In various aspects, animation and a video plane camera/video plane (e.g., greenscreen) are integrated into the production shot design system.
The described technology is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Also garbage collected is storage space including related data structures used to generate and validate graphs.
G06F 12/00 - Accès à, adressage ou affectation dans des systèmes ou des architectures de mémoires
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
The technology described herein is generally directed towards relating inconsistent identifiers of the same entertainment data entity (such as a movie) to one another. A global identification service, given an entertainment data entity identifier, returns identifier information and related data according to other naming conventions. Canonicalization rules and standards provide a consistent identifier for variously named/identified entertainment entities. A canonicalized identifier (or another identifier) may be part of a URN-based naming convention that identifies the entertainment data entity, as well as the organization that owns the entity and an authority within the organization that is responsible for that entertainment data entity.
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p.ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
The described technology is generally directed towards comparing two images for content differences, such as images based on the frames of a show and a derivative version of that show. Frame pairs such as from an original show and its derivative version are processed into image pairs, which can include decoding, scaling, luminance extraction and/or filtering. An edge pixel image is obtained via edge detection for each image. Edge pixels in one image are compared against a counterpart edge pixel (and possibly neighboring pixels) in the other image to determine matches (matching edge pixels) and mismatches. An image with too many errors based on the mismatches is deemed as a candidate for further review. A difference image can be generated to assist a reviewer in detecting where the mismatches were detected. By repeating for the various frames, a show can be automatically compared against its derivative for content differences.
G06V 10/75 - Appariement de motifs d’image ou de vidéo; Mesures de proximité dans les espaces de caractéristiques utilisant l’analyse de contexte; Sélection des dictionnaires
G06K 9/62 - Méthodes ou dispositions pour la reconnaissance utilisant des moyens électroniques
G06V 10/32 - Normalisation des dimensions de la forme
G06V 20/40 - RECONNAISSANCE OU COMPRÉHENSION D’IMAGES OU DE VIDÉOS Éléments spécifiques à la scène dans le contenu vidéo
12.
Collection of timepoints and mapping preloaded graphs
The described technology is generally directed towards causing the generation of a content selection graph (or set of graphs) upon receipt of a notification that a new graph or replacement graph is needed with respect to a starting timepoint. For a new graph, a timepoint for that new graph indicates the need for the new graph at a given starting time. For a replacement graph, a notification (subscribed from a monitoring service) can indicate that an existing graph has changed; a replacement graph is generated with a graph identifier of the replacement graph, which then replaces the graph identifier of the existing graph in the mappings of valid graphs to start times. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
G06F 16/215 - Amélioration de la qualité des données; Nettoyage des données, p.ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
The described technology is directed towards presenting a server overload condition that can result from a spike in client requests. Upon receiving an incoming client request for data at a server, a request buffer condition of a client request buffer (e.g., a counter) is evaluated to determine whether the client request corresponds to an anticipated overload state with respect to a request-handling capability of the server, e.g., whether the client request buffer is full. If so, an overload response (e.g., a retry response) is returned to the client indicating so that the client retries a corresponding client request after a time delay. If not in the anticipated overload state, the request is further processed, e.g., to provide a regular response containing the requested data, such as by adding a request information entry associated with the incoming client request to the client request buffer and updating the request buffer condition.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
The described technology is generally directed towards developing an adaptive bitrate stack (ladder) on a per-title basis. Variable bitrate encodings are used to obtain complexity information for a title and per-frames scores for the encodings; another encoding provides scene data. The complexity information is analyzed and processed based on the scene data to determine scene-based (e.g., objective and/or subjective quality) scores, which are used to determine scores for the encodings. The results are used to derive a candidate stack, comprising various resolutions and bitrates that provide desirable results. The candidate stack is evaluated by encoding the title using the candidate stack. These encodings are evaluated to select one resolution from any duplicate resolutions for a bitrate (e.g., based on relative quality), resulting in a pruned, final ladder that is associated with the title as the adaptive bitrate stack to be used for streaming that title's content.
H04N 19/14 - Complexité de l’unité de codage, p.ex. activité ou estimation de présence de contours
H04N 19/105 - Sélection de l’unité de référence pour la prédiction dans un mode de codage ou de prédiction choisi, p.ex. choix adaptatif de la position et du nombre de pixels utilisés pour la prédiction
H04N 19/142 - Détection de coupure ou de changement de scène
H04N 19/132 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage adaptatif caractérisés par l’élément, le paramètre ou la sélection affectés ou contrôlés par le codage adaptatif Échantillonnage, masquage ou troncature d’unités de codage, p.ex. ré-échantillonnage adaptatif, saut de trames, interpolation de trames ou masquage de coefficients haute fréquence de transformée
H04N 19/146 - Débit ou quantité de données codées à la sortie du codeur
15.
Monitoring service for pre-cached data modification
The described technology is generally directed towards detecting and propagating changes that affect information maintained in a cache. Data may be pre-cached in advance of its actual need, however such data can change, including in various different source locations. A change monitoring/signaling service detects relevant changes and publishes change events to downstream listeners, including to a cache population service that updates pre-cache data as needed in view of such data changes. Per-user-specific data also may be pre-cached, such as when a user logs into a data service.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
G06F 12/128 - Commande de remplacement utilisant des algorithmes de remplacement adaptée aux systèmes de mémoires cache multidimensionnelles, p.ex. associatives d’ensemble, à plusieurs mémoires cache, multi-ensembles ou multi-niveaux
The described technology is directed towards obtaining and returning time offset data instead of current data in response to a data request. The time offset data may be limited to privileged clients only, and only provided thereto when desired, using a time offset value set by the client, for example. For example, a privileged user may request time offset data corresponding to a future time so as to preview how the data may be presented at a future time. Time offset data may be used by a system entity to fill a cache, e.g., as secondary cached data that may be used once primary cached data expires.
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
17.
Creating cloud-hosted, streamed augmented reality experiences with low perceived latency
A technology that streams graphical components and rendering instructions to a client device, for the client device to perform the final rendering and overlaying of that content onto the client's video stream based on the client's most recent tracking of the device's position and orientation. A client device sends a request for augmented reality drawing data to a network device. In response, the network device generates augmented reality drawing data, which can be augmented reality change data based on the augmented reality information and previous client render state information, and sends the augmented reality drawing data to the client device. The client device receives the augmented reality drawing data and renders a visible representation of an augmented reality scene comprising overlaying augmented reality graphics over a current video scene obtained from a camera of the client device.
The described technology is directed towards sending metadata related to a video to a client device, such as events that describe a portion of that video, such as in a hidden stream. In one or more implementations, the enhanced metadata comprises nodes used to build part of a relationship graph. This allows interested clients to switch between the feature playback and interacting with the metadata. Further, searches through the enhanced metadata may be performed to find matching video portions, and summaries or highlights of one or more videos may be assembled by accessing information in the enhanced metadata.
G06F 16/16 - Opérations sur les fichiers ou les dossiers, p.ex. détails des interfaces utilisateur spécialement adaptées aux systèmes de fichiers
G06F 5/12 - Moyens de contrôle de niveau de remplissage; Moyens de résolution des conflits d'utilisation, c. à d. des conflits entre des opérations simultanées de mise en file d'attente et de retrait de file d'attente
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/236 - Assemblage d'un flux multiplexé, p.ex. flux de transport, en combinant un flux vidéo avec d'autres contenus ou données additionnelles, p.ex. insertion d'une adresse universelle [URL] dans un flux vidéo, multiplexage de données de logiciel dans un flu; Remultiplexage de flux multiplexés; Insertion de bits de remplissage dans le flux multiplexé, p.ex. pour obtenir un débit constant; Assemblage d'un flux élémentaire mis en paquets
H04N 21/4722 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés pour la requête de données additionnelles associées au contenu
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/84 - Génération ou traitement de données de description, p.ex. descripteurs de contenu
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/858 - Création de liens entre données et contenu, p.ex. en liant une URL à un objet vidéo en créant une zone active ("hotspot")
H04L 65/70 - Mise en paquets adaptés au réseau des données multimédias
The described technology is generally directed towards a surf mode of operation for streaming content such as video content, in which different content is arranged as different channels though which a user can surf by changing the streaming channels. The starting times of the different content can be staggered. Aspects comprise streaming first content corresponding to a first interactively selectable streaming channel to an output device, receiving a change request to change to a second interactively selectable streaming channel, and in response to the receiving the change request, streaming second content corresponding to the second interactively selectable streaming channel to the output device.
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/8549 - Création de résumés vidéo, p.ex. bande annonce
H04N 21/462 - Gestion de contenu ou de données additionnelles, p.ex. création d'un guide de programmes électronique maître à partir de données reçues par Internet et d'une tête de réseau ou contrôle de la complexité d'un flux vidéo en dimensionnant la résolution o
The described technology is directed towards repurposing expired cached data when no unexpired data is available. Cached, unexpired data is used in response to a request when such data exists. If such data does not exist, e.g., at a front-end data service, then an attempt to obtain the requested data from another (e.g., back-end data service) is made. If the attempt is unsuccessful, and expired cached data exists, the expired cached data is returned in response to the request, e.g., instead of returning an error. A back-end data service may similarly return expired cached data when the back-end data service is unable to obtain unexpired requested data elsewhere. An emergency mode may be entered in which data, whether expired or not, is returned from a cache when such data exists, such as when an attempt to obtain the data elsewhere is known in advance to be futile.
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p.ex. par mise en antémémoire
H04L 67/60 - Ordonnancement ou organisation du service des demandes d'application, p.ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises
H04L 67/5682 - Politiques ou règles de mise à jour, de suppression ou de remplacement des données stockées
The described technology is directed towards data-driven navigation, in which a next navigation location depends on variable data associated with an interactive user interface element (rather than a fixed link). The data may be in a hierarchy of data models. A menu contains interactive navigation elements, each bound to a data model. A selected interactive navigation element results in locating a data model associated with the selected element. The data model is used to determine the next navigation location. Also described is hierarchical navigation to one item of a level as well as lateral and peer navigation.
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p.ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
G06F 16/48 - Recherche caractérisée par l’utilisation de métadonnées, p.ex. de métadonnées ne provenant pas du contenu ou de métadonnées générées manuellement
G06F 16/40 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet de données multimédia, p.ex. diaporama comprenant des données d'image et d’autres données audio
G06F 40/14 - Documents en configuration arborescente
Determining the rendering of user interface (UI) elements, referred to as views, based upon styleable transitions between possible states of a view. Transitions may include animation, such as to smoothly enter a view into or exit a view out of a scene over a number of rendering frames. Transitions also may be applied to view state changes related to a UI element, such as to indicate hovered over, focused, listening (for speech), selected and/or pressed. View state changes also may be animated.
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
The described technology is directed towards generating a new video image sequence (e.g., for playback at 30 frames per second) based on an existing video image sequence (e.g., originated for playback at 24 frames per second). The technology is based on processing frames, e.g., adjacent pairs of frames in a four-frame sequence, to obtain candidate frames for selecting a similar candidate frame to insert into the original sequence to create the new sequence (e.g., a five-frame sequence). Aspects include selecting a repeated frame to insert or creating a new frame from existing frames to insert, to generate the new sequence based on a difference/scoring comparison.
H04N 19/587 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage prédictif mettant en œuvre un sous-échantillonnage ou une interpolation temporels, p.ex. décimation ou interpolation subséquente d’images dans une séquence vidéo
The described technology is generally directed towards predicting a need for provisioned (e.g., cloud computing) resources so that the provisioned resources are proactively provisioned and operational before their actual need. Historical data is used to predict upcoming resource demand so that resources begin to be scaled up to meet demand in advance, at a prediction time, given that there is a “spin-up” delay between requesting resources and their actual availability. The predictive resource provisioning is adaptable to override customary historical data with expected exceptions, and is flexible to handle variable spin-up times, constraints, and optimizations.
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
H04L 67/60 - Ordonnancement ou organisation du service des demandes d'application, p.ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises
The described technology is generally directed towards integrated tools for editing and otherwise working with close-captioning captions (or subtitles), including an on-screen editing interface that allows a user to select and edit caption text directly on-screen. Caption editing can include changing positioning metadata associated with a caption, changing timing metadata associated with a caption, and/or changing text content/text style metadata of a caption. A counter is provided to assist the user with respect to how many additional characters can be added to the caption. Also provided is a search interface that locates captions within a large set of captions, such as the full set of captions for a video.
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/488 - Services de données, p.ex. téléscripteur d'actualités
G06F 40/166 - Traitement de texte Édition, p.ex. insertion ou suppression
The described technology is directed towards an image providing service, including an image processing service that composites a base image into a resultant image, e.g., by resizing an image, overlaying text and so forth based upon a purpose for that image and/or a client device class; other parameters such as design information, protection and so forth also may be specified. When a client requests an image including by specifying a purpose and size in a request to an endpoint (e.g., URL) for an image, the image processing service locates or composites a resultant image corresponding to the request, and returns the resultant image or a modified (e.g., resized) resultant image in response to the request. Clients thus obtain images based upon a desired purpose without having to do client-side image processing including image compositing.
H04N 21/658 - Transmission du client vers le serveur
H04N 21/2343 - Traitement de flux vidéo élémentaires, p.ex. raccordement de flux vidéo ou transformation de graphes de scènes MPEG-4 impliquant des opérations de reformatage de signaux vidéo pour la distribution ou la mise en conformité avec les requêtes des utilisateurs finaux ou les exigences des dispositifs des utilisateurs finaux
The described technology is directed towards returning less data than is available for a data item in response to a request to a data service. A virtual graph node is returned in response to client requests, in which the virtual node comprises a relatively lightweight set of information relative to the full set of information for the data item, e.g., maintained in a main (graph) node. A requesting client indicates that a virtual node is desired, and receives a response comprising the virtual node, generally processed from the main node's data into a reduced subset of the main node. The main node may be cached at the data service, and returned if and when requested.
G06F 16/00 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
G06F 16/51 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/28 - Bases de données caractérisées par leurs modèles, p.ex. des modèles relationnels ou objet
G06F 16/2457 - Traitement des requêtes avec adaptation aux besoins de l’utilisateur
G06F 16/80 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet de données semi-structurées, p.ex. données structurées par un langage de balisage tels SGML, XML ou HTML
The described technology is directed towards locating and using a template for processing data item data from a general form into a client-specific form for returning in response to a client request. A client request includes a data item identifier and client-specific information. The data item's identifier is processed into a data type and/or identifier, e.g., a string. The client-specific information is used to determine a device class, device type and/or client platform software version. The template is found in a hierarchy of templates based upon the client-specific information and the data type or data ID string, e.g., the client-specific information may be used to determine a subset of template folders that is evaluated to find a file with a filename matching the string. The folders may be ordered from most-specific to least-specific, so as to locate the most specific template file that applies.
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p.ex. par mise en antémémoire
H04L 67/10 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
H04L 43/55 - Test de la qualité du niveau de service, p.ex. simulation de l’utilisation du service
H04L 65/1045 - Mandataires, p.ex. pour le protocole d'initiation de session [SIP]
H04L 67/51 - Découverte ou gestion de ceux-ci, p.ex. protocole de localisation de service [SLP] ou services du Web
H04L 67/56 - Approvisionnement des services mandataires
H04L 67/60 - Ordonnancement ou organisation du service des demandes d'application, p.ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises
H04L 67/566 - Regroupement ou agrégation de demandes de service, p.ex. pour un traitement unifié
H04L 67/5682 - Politiques ou règles de mise à jour, de suppression ou de remplacement des données stockées
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 41/5054 - Déploiement automatique des services déclenchés par le gestionnaire de service, p.ex. la mise en œuvre du service par configuration automatique des composants réseau
H04L 43/10 - Surveillance active, p.ex. battement de cœur, utilitaire Ping ou trace-route
H04L 43/045 - Traitement des données de surveillance capturées, p.ex. pour la génération de fichiers journaux pour la visualisation graphique des données de surveillance
H04L 67/02 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP]
H04L 67/00 - Dispositions ou protocoles de réseau pour la prise en charge de services ou d'applications réseau
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
The described technology is directed towards determining the rendering of user interface (UI) elements, referred to as views, based upon styles, in which styles comprise property values such as color value data, font data, border data, position data, and/or animation-related data applied to a view. A view object instance is returned upon request based upon an identifier that is used to select an unstyled view object and a style applied to that view object. The styles may be maintained as a fixed set of styles for a runtime session.
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 8/38 - Création ou génération de code source pour la mise en œuvre d'interfaces utilisateur
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 40/154 - Transformation en arborescence pour documents en configuration arborescente ou balisés, p.ex. langages XSLT, XSL-FO ou feuilles de style
31.
CREATING A GRAPH FROM ISOLATED AND HETEROGENEOUS DATA SOURCES
The described technology is directed towards returning user interface graph nodes in a graph node format that client device platform software expects, regardless of how the underlying data is maintained, e.g., in various data sources and in various formats. When a client requests a data item (graph node) from a data service and the data service does not have a valid cached copy, the request is processed into one or more requests to backing data source(s) for the data item's dataset. The response or responses containing that data are assembled and transformed into a graph node that is returned to the client. Also described is caching data items at various requesting entity levels/request handling entity levels, batching data item requests between levels, multiplexing identical requests, and using ETags to avoid sending already existing, unchanged data between entities.
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04N 21/431 - Génération d'interfaces visuelles; Rendu de contenu ou données additionnelles
H04N 21/858 - Création de liens entre données et contenu, p.ex. en liant une URL à un objet vidéo en créant une zone active ("hotspot")
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuées; Architectures de systèmes de bases de données distribuées à cet effet
G06F 16/71 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p.ex. publication, conservation de pages ou liens automatiques
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
32.
Maintaining and updating software versions via hierarchy
The described technology is directed towards maintaining and using a version-based hierarchy of software resources (e.g., file system files) to return version-specific responses to clients. A client sends its version information with each data request, and gets back a response based upon that version. Version changes are made by maintaining the current version of each software code resource and overriding the current version with a previous version for clients as needed. The technology allows updates (e.g., for new devices and new software resource versions) to be supported by inserting resources into the resource hierarchy and moving resources therein based upon versioning. A system based on deltas is also contemplated, in which only parts of a file may be changed relative to a different version, instead of overriding the entire file.
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
H04L 67/00 - Dispositions ou protocoles de réseau pour la prise en charge de services ou d'applications réseau
H04N 21/458 - Ordonnancement de contenu pour créer un flux personnalisé, p.ex. en combinant une publicité stockée localement avec un flux d'entrée; Opérations de mise à jour, p.ex. pour modules de système d'exploitation
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04L 67/02 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP]
H04N 21/443 - Procédés de système d'exploitation, p.ex. démarrage d'un boîtier décodeur STB, implémentation d'une machine virtuelle Java dans un boîtier décodeur STB ou gestion d'énergie dans un boîtier décodeur STB
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04L 65/612 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p.ex. radio sur Internet pour monodiffusion [unicast]
H04L 65/75 - Gestion des paquets du réseau multimédia
H04L 67/60 - Ordonnancement ou organisation du service des demandes d'application, p.ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p.ex. par mise en antémémoire
H04L 67/1004 - Sélection du serveur pour la répartition de charge
The described technology is directed towards a pre-child user interface element in a user interface tree that draws before the parent element draws, (and thus before any conventional child element of the parent draws). For example, based upon current state data such as whether the parent element has focus, the pre-child may draw a highlight or the like before (so as to be beneath) drawing the representation of the parent element, to indicate the focused state (or and/or other current state or states). The user interface tree maintains a property that it is composable because the parent user interface element code is independent of what any of its pre-child element or pre-children elements do when invoked.
The described technology is generally directed towards pull locomotion, which allows users to move around a virtual reality environment (typically larger than their physical environment) by interacting with pull targets, which comprise interactive objects displayed in the reality environment. When (e.g., via a controller) the user reaches grabs a pull target and pulls the controller back towards the user, the user's perceived position moves toward the target, as if the environment is being pulled to the user. A push motion generally results in moving the user's perceived position away from the target. The perceived movement can be gradual in the environment, relative to the speed of the pull or push. The pulling and pushing facilitate an interactive narrative experience or enhance interactive game play.
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/01 - Dispositions d'entrée ou dispositions d'entrée et de sortie combinées pour l'interaction entre l'utilisateur et le calculateur
G06F 3/04815 - Interaction s’effectuant dans un environnement basé sur des métaphores ou des objets avec un affichage tridimensionnel, p.ex. modification du point de vue de l’utilisateur par rapport à l’environnement ou l’objet
A63F 13/57 - Simulations de propriétés, de comportement ou de déplacement d’objets dans le jeu, p.ex. calcul de l’effort supporté par un pneu dans un jeu de course automobile
The described technology is directed towards returning expanded data, beyond the data that was specifically requested, to a client, in order to reduce or eliminate likely subsequent requests for more data. Client requests for data items are processed by expansion rule logic to find an expansion rule set (e.g., file) corresponding to the identified data item. The rule set is used to expand requests for certain data items into expanded requests that return more data items than those requested. Client devices receive, cache and (often) use the cached expanded data items, which thereby reduces the overall number of requests to the data service. Expansion rules may be based upon observations (e.g., machine learned and/or manual) of request patterns, so as to reasonably predict which data item or items clients will likely next need, and return those as expanded data items in anticipation of their need.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
G06F 16/951 - Indexation; Techniques d’exploration du Web
36.
Preloaded content selection graph for rapid retrieval
The described technology is generally directed towards maintaining content selection graphs in an in-memory content selection graph data store in association with respective start times that indicates when the respective graphs become active. When a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain the requested content selection data. The response data can be prebuilt, e.g., in a set of active graphs for different client types, so that the response can be returned generally as is from the active graph in the set for that particular client type. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
37.
Garbage collection of preloaded time-based graph data
The described technology is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Also garbage collected is storage space including related data structures used to generate and validate graphs.
G06F 12/00 - Accès à, adressage ou affectation dans des systèmes ou des architectures de mémoires
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
The described technology is directed towards a production shot design system that facilitates previsualizing scene shots, including by members of a production crew (running client devices) in different locations in a collaborative and secure shot construction environment. Modifiable scene elements' properties and camera data can be manipulated to build a scene (shot) containing modifiable and non-modifiable scene elements. In an online, shared camera mode, changes to a scene can be communicated to other client devices, e.g., virtually immediately, so that each client device displays the change for other users to see at an interactive frame rate. Scene changes can also be made locally and/or in an offline mode before communicating to other users. In various aspects, animation and a video plane camera/video plane (e.g., greenscreen) are integrated into the production shot design system.
The described technology is generally directed towards generating content selection graphs in an in-memory content selection graph data store in association with respective start times that indicate when the respective graphs become active. When a content selection graph is needed for a given timepoint, a node identifier is used to obtain response data that is cached for that node identifier and timepoint. Edge data associated with the node identifier is used to determine a next node for obtaining its response data for caching, and so on. The response data can be prebuilt, e.g., generated in a set of active graphs for different client types, so that a response can be returned generally as is from the active graph in the set for the node identifier and that particular client type. For efficiency, operations can be used to avoid processing a node identifier more than once when generating a graph.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
The described technology is generally directed towards validating content selection graphs for use in an in-memory content selection graph data store. When a content selection graph data is generated, the graph nodes can correspond to prebuilt response data. The response data for any of the nodes can be verified against rules based on the type of a node, for example, as well as based on client-specific information for types of clients. The overall validation process can validate the content selection graph for subsequent use, can result in errors or warnings being logged (which may or may not render the graph unusable, e.g., depending on severity), or can fail the content selection graph. If validated, the content selection graph can be used to rapidly return response data when content from the graph is requested.
The described technology is generally directed towards coordinating the generation, validation and enabling of content selection graphs in an in-memory content selection graph data store. When a set of content selection graphs is requested, a coordinator starts the generation of the relevant graphs. Upon successful generation, the coordinator starts a validation of the generated graphs against rules for the nodes/response data in the graphs. If the generated graphs pass validation, the coordinator enables the graph set for use in an in-memory cache, whereby when a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain and return the response data as the requested content selection data.
The described technology is generally directed towards causing the generation of a content selection graph (or set of graphs) upon receipt of a notification that a new graph or replacement graph is needed with respect to a starting timepoint. For a new graph, a timepoint for that new graph indicates the need for the new graph at a given starting time. For a replacement graph, a notification (subscribed from a monitoring service) can indicate that an existing graph has changed; a replacement graph is generated with a graph identifier of the replacement graph, which then replaces the graph identifier of the existing graph in the mappings of valid graphs to start times. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
G06F 16/215 - Amélioration de la qualité des données; Nettoyage des données, p.ex. déduplication, suppression des entrées non valides ou correction des erreurs typographiques
The technology described herein is directed towards content rights data that are associated with content (a data item) to make that content selectively available or unavailable in responses by a data service to client requests. A client includes client content rights data in association with each request, (e.g., via a token), and the data service uses that client content rights data as query parameters (constraint criteria) in making a request for a data item. Client content rights data also may be used for accessing cached data. Availability constraints may include client location, brand, channel, device class and time (commence and cease).
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04N 21/442 - Surveillance de procédés ou de ressources, p.ex. détection de la défaillance d'un dispositif d'enregistrement, surveillance de la bande passante sur la voie descendante, du nombre de visualisations d'un film, de l'espace de stockage disponible dans l
The technology described herein is generally directed towards relating inconsistent identifiers of the same entertainment data entity (such as a movie) to one another. A global identification service, given an entertainment data entity identifier, returns identifier information and related data according to other naming conventions. Canonicalization rules and standards provide a consistent identifier for variously named/identified entertainment entities. A canonicalized identifier (or another identifier) may be part of a URN-based naming convention that identifies the entertainment data entity, as well as the organization that owns the entity and an authority within the organization that is responsible for that entertainment data entity.
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p.ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
The described technology is directed towards having multiple paths through streamed media content, such as a video. The content may be represented as a state machine of states, in which each state corresponds to one or more periods of one or more segments, and transitions to one or more other states. When a state is able to transition to different states, one or more criteria may be used to select one of the transition paths to a next state. Segments corresponding to unknown paths (where the transition decision is not yet available) may be selected and streamed for buffering via a multiple path buffering mechanism.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/2668 - Création d'un canal pour un groupe dédié d'utilisateurs finaux, p.ex. en insérant des publicités ciblées dans un flux vidéo en fonction des profils des utilisateurs finaux
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
G06N 7/00 - Agencements informatiques fondés sur des modèles mathématiques spécifiques
H04L 12/707 - Prévention ou récupération du défaut de routage, p.ex. reroutage, redondance de route "virtual router redundancy protocol" [VRRP] ou "hot standby router protocol" [HSRP] par redondance des chemins d’accès
H04N 21/44 - Traitement de flux élémentaires vidéo, p.ex. raccordement d'un clip vidéo récupéré d'un stockage local avec un flux vidéo en entrée ou rendu de scènes selon des graphes de scène MPEG-4
The described technology is generally directed towards providing a visible waveform representation of an audio signal, by processing the audio signal with a polynomial (e.g., cubic) mapping function. Coefficients of the polynomial mapping function are predetermined based on constraints (e.g., slope information and desired range of the resultant curve), and whether the plotted audio waveform corresponds to sound field quantities or power quantities. Once the visible representation of the reshaped audio waveform is displayed, audio and/or video editing operations can be performed, e.g., by time-aligning other audio or video with the reshaped audio waveform, and/or modifying the reshaped audio waveform to change the underlying audio data.
G10H 7/08 - Instruments dans lesquels les sons sont synthétisés à partir d'une mémoire de données, p.ex. orgues à calculateur par le calcul de fonctions ou d'approximations polynomiales afin de déterminer l'amplitude en des points d'échantillonnage successifs d'une forme d'onde sonore
G10H 7/00 - Instruments dans lesquels les sons sont synthétisés à partir d'une mémoire de données, p.ex. orgues à calculateur
47.
Monitoring service for pre-cached data modification
The described technology is generally directed towards detecting and propagating changes that affect information maintained in a cache. Data may be pre-cached in advance of its actual need, however such data can change, including in various different source locations. A change monitoring/signaling service detects relevant changes and publishes change events to downstream listeners, including to a cache population service that updates pre-cache data as needed in view of such data changes. Per-user-specific data also may be pre-cached, such as when a user logs into a data service.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 12/128 - Commande de remplacement utilisant des algorithmes de remplacement adaptée aux systèmes de mémoires cache multidimensionnelles, p.ex. associatives d’ensemble, à plusieurs mémoires cache, multi-ensembles ou multi-niveaux
The described technology is directed towards evaluating client-specific information and possibly other information to determine whether to return less data than is available for a data item in response to a request for graph node data to a data service, and/or return expanded graph node data. When a request for graph data is received, client-specific information is used at least in part by a data service in determining whether to return a virtual graph node comprising a relatively lightweight set of information relative to the full set of information maintained in a main (graph) node. The client-specific information is also used in determining whether to return expanded data beyond that requested, e.g., for caching at the client in anticipation of it likely being needed by the client.
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
H04L 43/0811 - Surveillance ou test en fonction de métriques spécifiques, p.ex. la qualité du service [QoS], la consommation d’énergie ou les paramètres environnementaux en vérifiant la disponibilité en vérifiant la connectivité
H04N 21/6334 - Signaux de commande issus du serveur dirigés vers des éléments du réseau ou du client vers le client pour l’autorisation, p.ex. en transmettant une clé
H04N 21/462 - Gestion de contenu ou de données additionnelles, p.ex. création d'un guide de programmes électronique maître à partir de données reçues par Internet et d'une tête de réseau ou contrôle de la complexité d'un flux vidéo en dimensionnant la résolution o
H04N 21/4335 - Opérations de gestion interne, p.ex. établissement de priorité de contenu pour l'effacement dû à des restrictions d'espace de stockage
49.
Data delivery architecture for transforming client response data
The described technology is directed towards a data transformation pipeline architecture of a data service that processes generalized datasets into datasets (e.g., video data or graph nodes) customized for a particular client device. Described herein is maintaining a set of data transformation models at a data service, and upon receiving a client request for data, selecting a relevant subset of the transformation models and arranging the subset into a data transformation pipeline. In general, the pipeline of transformation models transforms the generalized data into the format and shape that each client device expects. The subset may be selected based upon device type, device class and/or software version information (and possibly state data) sent with each data request. The transformation models may be maintained in a hierarchical data store such as files in a file system to facilitate retrieval by searching the hierarchy for appropriate transformation models.
The described technology is generally directed towards a surf mode of operation for streaming content such as video content, in which different content is arranged as different channels though which a user can surf by changing the streaming channels. The starting times of the different content can be staggered. Aspects comprise streaming first content corresponding to a first interactively selectable streaming channel to an output device, receiving a change request to change to a second interactively selectable streaming channel, and in response to the receiving the change request, streaming second content corresponding to the second interactively selectable streaming channel to the output device.
H04N 5/445 - Circuits de réception pour visualisation d'information additionnelle
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/8549 - Création de résumés vidéo, p.ex. bande annonce
H04N 21/462 - Gestion de contenu ou de données additionnelles, p.ex. création d'un guide de programmes électronique maître à partir de données reçues par Internet et d'une tête de réseau ou contrôle de la complexité d'un flux vidéo en dimensionnant la résolution o
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/438 - Interfaçage de la voie descendante du réseau de transmission provenant d'un serveur, p.ex. récupération de paquets MPEG d'un réseau IP
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés
The described technology is directed towards maintaining a cache of data items, with cached data items having current value subsets and next value subsets. The cache is accessed for data item requests, to return a cache miss if a requested data item is not cached, to return data from the current value subset if not expired, to return data from the next value subset if the current value subset is expired and the next value subset is not expired, or to return a cache miss (or expired data) if both subsets are expired. Cached data items are refreshed, (e.g., periodically), when a data item's current value subset is expired by replacing the data item's current value subset with the next value subset and caching a new next value subset, or caching a new next value subset when the next value subset will expire within a threshold time.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
52.
Endpoint abstraction for service-to-service communication
The described technology is generally directed towards an abstraction and file model used for subscriber service and publisher service communication. The abstraction and file model enables dynamically changing the underlying communication mechanisms and introducing optimizations such as caching (reducing latency) and batching (improving bandwidth utilization) transparently, without any change to the subscriber or publisher code. The abstraction also facilitates introducing intermediate lightweight message-oriented middleware and provides for transparently scaling communication.
The described technology is directed towards obtaining and returning time offset data instead of current data in response to a data request. The time offset data may be limited to privileged clients only, and only provided thereto when desired, using a time offset value set by the client, for example. For example, a privileged user may request time offset data corresponding to a future time so as to preview how the data may be presented at a future time. Time offset data may be used by a system entity to fill a cache, e.g., as secondary cached data that may be used once primary cached data expires.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/454 - Filtrage de contenu, p.ex. blocage des publicités
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
The described technology is generally directed towards batching two or more data requests into a batch request that is sent to a data-providing entity such as a client data access layer coupled to a data service. Described is maintaining a mapping of the requests to requesting entities so that the responses to a batched request, which may be separately streamed, may be assembled into a batch response to the requesting entity. Also described is multiplexing a plurality of requests for the same data item into a single request, which may be added to a batch request, and de-multiplexing the single response into separate responses to each requesting entity.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
The described technology is directed towards a cache framework that accesses a tier of ordered caches, in tier order, to satisfy requests for data. The cache framework may be implemented at a front-end service level server, and/or a back end service level server, or both. The cache framework handles read-through and write-through operations, including handling batch requests for multiple data items. The cache framework also facilitates dynamically changing the tier structure, e.g., for adding, removing, replacing and/or reordering caches in the tier, e.g., by re-declaring a data structure such as an array that identifies the tiered cache configuration.
The described technology is directed towards presenting a server overload condition that can result from a spike in client requests. Upon receiving an incoming client request for data at a server, a request buffer condition of a client request buffer (e.g., a counter) is evaluated to determine whether the client request corresponds to an anticipated overload state with respect to a request-handling capability of the server, e.g., whether the client request buffer is full. If so, an overload response (e.g., a retry response) is returned to the client indicating so that the client retries a corresponding client request after a time delay. If not in the anticipated overload state, the request is further processed, e.g., to provide a regular response containing the requested data, such as by adding a request information entry associated with the incoming client request to the client request buffer and updating the request buffer condition.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
The described technology is generally directed towards providing a visible waveform representation of an audio signal, by processing the audio signal with a polynomial (e.g., cubic) mapping function. Coefficients of the polynomial mapping function are predetermined based on constraints (e.g., slope information and desired range of the resultant curve), and whether the plotted audio waveform corresponds to sound field quantities or power quantities. Once the visible representation of the reshaped audio waveform is displayed, audio and/or video editing operations can be performed, e.g., by time-aligning other audio or video with the reshaped audio waveform, and/or modifying the reshaped audio waveform to change the underlying audio data.
G10H 7/08 - Instruments dans lesquels les sons sont synthétisés à partir d'une mémoire de données, p.ex. orgues à calculateur par le calcul de fonctions ou d'approximations polynomiales afin de déterminer l'amplitude en des points d'échantillonnage successifs d'une forme d'onde sonore
G10H 7/00 - Instruments dans lesquels les sons sont synthétisés à partir d'une mémoire de données, p.ex. orgues à calculateur
The described technology is generally directed towards integrated tools for editing and otherwise working with close-captioning captions (or subtitles), including an on-screen editing interface that allows a user to select and edit caption text directly on-screen. Caption editing can include changing positioning metadata associated with a caption, changing timing metadata associated with a caption, and/or changing text content/text style metadata of a caption. A counter is provided to assist the user with respect to how many additional characters can be added to the caption. Also provided is a search interface that locates captions within a large set of captions, such as the full set of captions for a video.
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/488 - Services de données, p.ex. téléscripteur d'actualités
G06F 40/166 - Traitement de texte Édition, p.ex. insertion ou suppression
59.
Cache map with sequential tracking for invalidation
The described technology is directed towards efficiently invalidating cached data (e.g., expired data) in a hash-mapped cache, e.g., on a timed basis. As a result, data is able returned from the cache without checking for whether that data is expired, (if desired and acceptable), because if expired, the data is only briefly expired since the last invalidation run. To this end, a data structure such as a linked list is maintained to track information representative of hash-mapped cache locations of a hash-mapped cache, in which the information tracks a sequential order of entering data into each hash-mapped cache location. An invalidation run is performed on part of the hash mapped cache, including using the tracking information to invalidate a sequence of one or more cache locations, e.g., only the sequence of those locations that contain expired data.
G06F 12/121 - Commande de remplacement utilisant des algorithmes de remplacement
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens pseudo-associatifs, p.ex. associatifs d’ensemble ou de hachage
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
The described technology is directed towards having user interface objects rendered on a client device based upon provider data of at least part of a client provider graph. The client provider graph comprises a plurality of providers (graph nodes), in which each provider has provider data corresponding to user interface object data. The data of one provider has a reference set containing one or more references (e.g., edges) that each identify another provider, thus forming the graph. Client requests for other provider data are made based upon the reference set. The other provider data is received in response to the client requests, and is maintained at the client (e.g., in a client cache) to build the client graph.
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
61.
Configurable stylized transitions between user interface element states
Determining the rendering of user interface (UI) elements, referred to as views, based upon styleable transitions between possible states of a view. Transitions may include animation, such as to smoothly enter a view into or exit a view out of a scene over a number of rendering frames. Transitions also may be applied to view state changes related to a UI element, such as to indicate hovered over, focused, listening (for speech), selected and/or pressed. View state changes also may be animated.
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
62.
Monitoring service for pre-cached data modification
The described technology is generally directed towards detecting and propagating changes that affect information maintained in a cache. Data may be pre-cached in advance of its actual need, however such data can change, including in various different source locations. A change monitoring/signaling service detects relevant changes and publishes change events to downstream listeners, including to a cache population service that updates pre-cache data as needed in view of such data changes. Per-user-specific data also may be pre-cached, such as when a user logs into a data service.
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
The described technology is directed towards normalizing input received from various types of device types for providing the input to user interface (UI) elements in a unified way that reflects the invoke intent of the user. Input from different device types is classified as button input, pointer input or command input, and routed to a corresponding button provider, pointer provider or command provider. Each provider includes logic for communicating input data (e.g., events) to a UI element or elements. Based upon the input events, a UI element can execute a corresponding invoke handler to take an invoke action for that particular event.
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/038 - Dispositions de commande et d'interface à cet effet, p.ex. circuits d'attaque ou circuits de contrôle incorporés dans le dispositif
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 3/0487 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer
The described technology is directed towards sending metadata related to a video to a client device, such as events that describe a portion of that video, such as in a hidden stream. In one or more implementations, the enhanced metadata comprises nodes used to build part of a relationship graph. This allows interested clients to switch between the feature playback and interacting with the metadata. Further, searches through the enhanced metadata may be performed to find matching video portions, and summaries or highlights of one or more videos may be assembled by accessing information in the enhanced metadata.
G06F 16/16 - Opérations sur les fichiers ou les dossiers, p.ex. détails des interfaces utilisateur spécialement adaptées aux systèmes de fichiers
H04N 21/236 - Assemblage d'un flux multiplexé, p.ex. flux de transport, en combinant un flux vidéo avec d'autres contenus ou données additionnelles, p.ex. insertion d'une adresse universelle [URL] dans un flux vidéo, multiplexage de données de logiciel dans un flu; Remultiplexage de flux multiplexés; Insertion de bits de remplissage dans le flux multiplexé, p.ex. pour obtenir un débit constant; Assemblage d'un flux élémentaire mis en paquets
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/858 - Création de liens entre données et contenu, p.ex. en liant une URL à un objet vidéo en créant une zone active ("hotspot")
H04N 21/4722 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés pour la requête de données additionnelles associées au contenu
H04N 21/84 - Génération ou traitement de données de description, p.ex. descripteurs de contenu
G06F 5/12 - Moyens de contrôle de niveau de remplissage; Moyens de résolution des conflits d'utilisation, c. à d. des conflits entre des opérations simultanées de mise en file d'attente et de retrait de file d'attente
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
The described technology is generally directed towards combining (multiplexing) two or more pending data requests for the same data item into a single request that is sent to a data providing entity such as a back-end data service. Described is maintaining a mapping of the requests to requesting entities so that a single response to a multiplexed request having data for a requested data item may be re-associated (de-multiplexed) to each requesting entity that requested that data item. Also described is batching a plurality of requests, which may include one or more multiplexed requests, into a batch request sent to a data providing entity.
The described technology is directed towards a data transformation pipeline architecture of a data service that processes generalized datasets into datasets (e.g., video data or graph nodes) customized for a particular client device. Described herein is maintaining a set of data transformation models at a data service, and upon receiving a client request for data, selecting a relevant subset of the transformation models and arranging the subset into a data transformation pipeline. In general, the pipeline of transformation models transforms the generalized data into the format and shape that each client device expects. The subset may be selected based upon device type, device class and/or software version information (and possibly state data) sent with each data request. The transformation models may be maintained in a hierarchical data store such as files in a file system to facilitate retrieval by searching the hierarchy for appropriate transformation models.
The described technology is directed towards returning less data than is available for a data item in response to a request to a data service. A virtual graph node is returned in response to client requests, in which the virtual node comprises a relatively lightweight set of information relative to the full set of information for the data item, e.g., maintained in a main (graph) node. A requesting client indicates that a virtual node is desired, and receives a response comprising the virtual node, generally processed from the main node's data into a reduced subset of the main node. The main node may be cached at the data service, and returned if and when requested.
G06F 16/00 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
G06F 16/51 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 16/28 - Bases de données caractérisées par leurs modèles, p.ex. des modèles relationnels ou objet
G06F 16/2457 - Traitement des requêtes avec adaptation aux besoins de l’utilisateur
G06F 16/80 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet de données semi-structurées, p.ex. données structurées par un langage de balisage tels SGML, XML ou HTML
The described technology is directed towards scrollable user interface containers, and allows mixing snap items and smooth items in the same container. Snap point ranges that correspond to container snap items are specified, such as by pixel values or per container item to be rendered. When because of a scroll operation a snap item of the container overlaps a boundary of a viewing port (e.g., if rendered), the scroll position is adjusted based upon a snap point range limit to snap the snap item for rendering based upon the viewing port boundary.
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/0485 - Défilement ou défilement panoramique
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
G06F 3/0483 - Interaction avec des environnements structurés en pages, p.ex. métaphore livresque
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
The described technology is generally directed towards predicting a need for provisioned (e.g., cloud computing) resources so that the provisioned resources are proactively provisioned and operational before their actual need. Historical data is used to predict upcoming resource demand so that resources begin to be scaled up to meet demand in advance, at a prediction time, given that there is a “spin-up” delay between requesting resources and their actual availability. The predictive resource provisioning is adaptable to override customary historical data with expected exceptions, and is flexible to handle variable spin-up times, constraints, and optimizations.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 12/911 - Contrôle d’admission au réseau et allocation de ressources, p.ex. allocation de bande passante ou renégociation en cours de communication
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
The described technology is directed towards a pre-child user interface element in a user interface tree that draws before the parent element draws, (and thus before any conventional child element of the parent draws). For example, based upon current state data such as whether the parent element has focus, the pre-child may draw a highlight or the like before (so as to be beneath) drawing the representation of the parent element, to indicate the focused state (or and/or other current state or states). The user interface tree maintains a property that it is composable because the parent user interface element code is independent of what any of its pre-child element or pre-children elements do when invoked.
G06F 17/00 - TRAITEMENT ÉLECTRIQUE DE DONNÉES NUMÉRIQUES Équipement ou méthodes de traitement de données ou de calcul numérique, spécialement adaptés à des fonctions spécifiques
G06F 17/22 - Manipulation ou enregistrement au moyen de codes, p.ex. dans une séquence de caractères de texte
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
71.
Endpoint abstraction for service-to-service communication
The described technology is generally directed towards an abstraction and file model used for subscriber service and publisher service communication. The abstraction and file model enables dynamically changing the underlying communication mechanisms and introducing optimizations such as caching (reducing latency) and batching (improving bandwidth utilization) transparently, without any change to the subscriber or publisher code. The abstraction also facilitates introducing intermediate lightweight message-oriented middleware and provides for transparently scaling communication.
The described technology is generally directed towards matching subscriber services to publisher services based on any number of arbitrary subscriber-specified attributes. In general, each publisher services register its capabilities as a set of attributes in a repository data store, e.g., a database. When a subscriber service wants a matching publisher service, the subscriber service specifies which attributes the subscriber service wants matched, and the repository's affiliated matching process uses the registered attributes of the publisher services to seek a match.
The subject disclosure is directed towards transitioning from an existing screen (e.g., a page or the like) to a new screen, in which element(s)/control(s) of the existing screen are shared to the new screen. An existing screen acts as a source screen to provide element-related data (e.g., names) of its existing elements; the existing elements are intersected with those desired by the new/destination screen. The destination screen takes over ownership of any common elements. A navigation service may coordinate the exchange of information and the transition. The transition may include animations and/or other effects to provide a visually smooth transition or the like between screens.
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/14 - Sortie numérique vers un dispositif de visualisation
74.
Providing responsive video previews during rewind and fast forward
The subject disclosure is directed towards on-demand downloading of trickplay images during fast forwarding or rewinding of streaming video. A next trickplay image is selected and downloaded based upon the fast forward or rewind rate and the current location in the video. To ensure sufficient download time, the trickplay image may be chosen with a specified quality/resolution based upon historical timing data (e.g., a running average) to adaptively adjust to network bandwidth changes.
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés
G11B 27/30 - Indexation; Adressage; Minutage ou synchronisation; Mesure de l'avancement d'une bande en utilisant une information détectable sur le support d'enregistrement en utilisant des signaux d'information enregistrés par le même procédé que pour l'enregistrement principal sur la même piste que l'enregistrement principal
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/2387 - Traitement de flux en réponse à une requête de reproduction par un utilisateur final, p.ex. pour la lecture à vitesse variable ("trick play")
H04N 21/432 - Opération de récupération de contenu d'un support de stockage local, p.ex. disque dur
H04N 21/442 - Surveillance de procédés ou de ressources, p.ex. détection de la défaillance d'un dispositif d'enregistrement, surveillance de la bande passante sur la voie descendante, du nombre de visualisations d'un film, de l'espace de stockage disponible dans l
H04N 21/462 - Gestion de contenu ou de données additionnelles, p.ex. création d'un guide de programmes électronique maître à partir de données reçues par Internet et d'une tête de réseau ou contrôle de la complexité d'un flux vidéo en dimensionnant la résolution o
H04N 21/6587 - Paramètres de contrôle, p.ex. commande de lecture à vitesse variable ("trick play") ou sélection d’un point de vue
Techniques are provided for automatically generating a mock object from a description of a real object, such as for use in testing. Mock object generation logic parses the description to determine interface(s) of the real object, which are replicated in the mock object, and to determine method(s) of the real object, which are simulated in the mock object. The mock object generation logic may generate a description of the mock object that is then compiled into the mock object for execution. Data types may be validated so that the arguments and/or return values from the mock object meet the expectations of a calling object.
The described technology is directed towards efficiently invalidating cached data (e.g., expired data) in a hash-mapped cache, e.g., on a timed basis. As a result, data is able returned from the cache without checking for whether that data is expired, (if desired and acceptable), because if expired, the data is only briefly expired since the last invalidation run. To this end, a data structure such as a linked list is maintained to track information representative of hash-mapped cache locations of a hash-mapped cache, in which the information tracks a sequential order of entering data into each hash-mapped cache location. An invalidation run is performed on part of the hash mapped cache, including using the tracking information to invalidate a sequence of one or more cache locations, e.g., only the sequence of those locations that contain expired data.
G06F 12/121 - Commande de remplacement utilisant des algorithmes de remplacement
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens pseudo-associatifs, p.ex. associatifs d’ensemble ou de hachage
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
The described technology is directed towards handling errors in an application program that allows for a taxonomy and precedence order of errors. Exception wrapping includes preserving relevant information with an exception, and consolidates a series of errors into a single dominant exception instance that is handled appropriately depending on the exception type. Also described is a centralized exception manager that outputs an interactive dialog based upon the exception type, and takes a recovery action based upon user interaction with the dialog.
The described technology is directed towards a button repeat system that allows different repeat behaviors (e.g., interval times between repeats) to be customized for any view (user interface element) and for any button. A designer specifies an interval set comprising interval times to use in an associated view to repeat a button that is pressed and held. Using global information across views, a button that is pressed and held may continue to repeat as focus changes among views. The repeating may continue without needing to reset to the first interval time of the interval set of each view as focus changes, so that, for example, a rapidly repeating button does not appear to change its repetition rate as focus changes among views.
G06F 3/023 - Dispositions pour convertir sous une forme codée des éléments d'information discrets, p.ex. dispositions pour interpréter des codes générés par le clavier comme codes alphanumériques, comme codes d'opérande ou comme codes d'instruction
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 3/0488 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant un écran tactile ou une tablette numérique, p.ex. entrée de commandes par des tracés gestuels
G06F 3/0489 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant des touches de clavier dédiées ou leurs combinaisons
The described technology is directed towards virtual input devices that take application program-directed input from automation and/or remote devices, such as over a network, instead of via actual user input via a physical device, for example. This allows an automation framework to insert input into an application program, such as for automated testing without modifying any of the application's other components. The virtual input devices may be object instances or the like that receive their input from function calls based upon the type of input and output events, e.g., to simulate keyboard input/output (I/O), mouse or other pointer I/O, voice, gesture, and other command I/O, and so forth.
G06F 3/038 - Dispositions de commande et d'interface à cet effet, p.ex. circuits d'attaque ou circuits de contrôle incorporés dans le dispositif
G06F 3/0487 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
The described technology is generally directed towards combining (multiplexing) two or more pending data requests for the same data item into a single request that is sent to a data providing entity such as a back-end data service. Described is maintaining a mapping of the requests to requesting entities so that a single response to a multiplexed request having data for a requested data item may be re-associated (de-multiplexed) to each requesting entity that requested that data item. Also described is batching a plurality of requests, which may include one or more multiplexed requests, into a batch request sent to a data providing entity.
The described technology is directed towards a factory identification system, in which a factory object is provided with a factory identifier (ID) that specifies information regarding a desired object that is more specific than specifying an interface. Additional construction parameters such as an object ID may be provided to further describe the desired object. Also described are object caching and reuse, and tagging the object with information that may be preserved and later used to recreate an object.
The described technology is directed towards an asynchronous dispatcher including control logic that manages a queue set, including to dequeue and execute work items from the queue on behalf of application code executing in a program. The dispatcher yields control to the program to allow the program and application code to be responsive with respect to user interface operations.
The described technology is directed towards maintaining a cache of data items, with cached data items having current value subsets and next value subsets. The cache is accessed for data item requests, to return a cache miss if a requested data item is not cached, to return data from the current value subset if not expired, to return data from the next value subset if the current value subset is expired and the next value subset is not expired, or to return a cache miss (or expired data) if both subsets are expired. Cached data items are refreshed, (e.g., periodically), when a data item's current value subset is expired by replacing the data item's current value subset with the next value subset and caching a new next value subset, or caching a new next value subset when the next value subset will expire within a threshold time.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 12/26 - Dispositions de surveillance; Dispositions de test
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
The described technology is directed towards a cache framework that accesses a tier of ordered caches, in tier order, to satisfy requests for data. The cache framework may be implemented at a front-end service level server, and/or a back end service level server, or both. The cache framework handles read-through and write-through operations, including handling batch requests for multiple data items. The cache framework also facilitates dynamically changing the tier structure, e.g., for adding, removing, replacing and/or reordering caches in the tier, e.g., by re-declaring a data structure such as an array that identifies the tiered cache configuration.
The described technology is directed towards repurposing expired cached data when no unexpired data is available. Cached, unexpired data is used in response to a request when such data exists. If such data does not exist, e.g., at a front-end data service, then an attempt to obtain the requested data from another (e.g., back-end data service) is made. If the attempt is unsuccessful, and expired cached data exists, the expired cached data is returned in response to the request, e.g., instead of returning an error. A back-end data service may similarly return expired cached data when the back-end data service is unable to obtain unexpired requested data elsewhere. An emergency mode may be entered in which data, whether expired or not, is returned from a cache when such data exists, such as when an attempt to obtain the data elsewhere is known in advance to be futile.
The described technology is directed towards an object-oriented programming (OOP) system and library that maps conventional object-oriented concepts such as class hierarchies, interfaces, and static methods and properties onto a prototypal object system such as JavaScript®. Various functions of the OOP system are called to create a class-like structure that is instantiated into an object instance upon request. The OOP system allows for use of a wrapper pattern to wrap selected objects with added functionality such as validation and tracing, and to provide enhanced functionality with respect to properties, such as to call a function associated with a property when the property's value changes, and/or to lazily generate property values only when accessed.
The described technology is directed towards obtaining and returning time offset data instead of current data in response to a data request. The time offset data may be limited to privileged clients only, and only provided thereto when desired, using a time offset value set by the client, for example. For example, a privileged user may request time offset data corresponding to a future time so as to preview how the data may be presented at a future time. Time offset data may be used by a system entity to fill a cache, e.g., as secondary cached data that may be used once primary cached data expires.
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
H04N 21/454 - Filtrage de contenu, p.ex. blocage des publicités
The described technology is directed towards having multiple paths through streamed media content, such as a video. The content may be represented as a state machine of states, in which each state corresponds to one or more periods of one or more segments, and transitions to one or more other states. When a state is able to transition to different states, one or more criteria may be used to select one of the transition paths to a next state. Segments corresponding to unknown paths (where the transition decision is not yet available) may be selected and streamed for buffering via a multiple path buffering mechanism.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06N 7/00 - Agencements informatiques fondés sur des modèles mathématiques spécifiques
H04L 12/707 - Prévention ou récupération du défaut de routage, p.ex. reroutage, redondance de route "virtual router redundancy protocol" [VRRP] ou "hot standby router protocol" [HSRP] par redondance des chemins d’accès
89.
Cache map with sequential tracking for invalidation
The described technology is directed towards efficiently invalidating cached data (e.g., expired data) in a hash-mapped cache, e.g., on a timed basis. As a result, data is able returned from the cache without checking for whether that data is expired, (if desired and acceptable), because if expired, the data is only briefly expired since the last invalidation run. To this end, a data structure such as a linked list is maintained to track information representative of hash-mapped cache locations of a hash-mapped cache, in which the information tracks a sequential order of entering data into each hash-mapped cache location. An invalidation run is performed on part of the hash mapped cache, including using the tracking information to invalidate a sequence of one or more cache locations, e.g., only the sequence of those locations that contain expired data.
G06F 12/121 - Commande de remplacement utilisant des algorithmes de remplacement
G06F 12/0891 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens d’effacement, d’invalidation ou de réinitialisation
G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache utilisant des moyens pseudo-associatifs, p.ex. associatifs d’ensemble ou de hachage
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
90.
Maintaining and updating software versions via hierarchy
The described technology is directed towards maintaining and using a version-based hierarchy of software resources (e.g., file system files) to return version-specific responses to clients. A client sends its version information with each data request, and gets back a response based upon that version. Version changes are made by maintaining the current version of each software code resource and overriding the current version with a previous version for clients as needed. The technology allows updates (e.g., for new devices and new software resource versions) to be supported by inserting resources into the resource hierarchy and moving resources therein based upon versioning. A system based on deltas is also contemplated, in which only parts of a file may be changed relative to a different version, instead of overriding the entire file.
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 21/458 - Ordonnancement de contenu pour créer un flux personnalisé, p.ex. en combinant une publicité stockée localement avec un flux d'entrée; Opérations de mise à jour, p.ex. pour modules de système d'exploitation
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/443 - Procédés de système d'exploitation, p.ex. démarrage d'un boîtier décodeur STB, implémentation d'une machine virtuelle Java dans un boîtier décodeur STB ou gestion d'énergie dans un boîtier décodeur STB
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 16/951 - Indexation; Techniques d’exploration du Web
The described technology is directed towards handling errors in an application program that allows for a taxonomy and precedence order of errors. Exception wrapping includes preserving relevant information with an exception, and consolidates a series of errors into a single dominant exception instance that is handled appropriately depending on the exception type. Also described is a centralized exception manager that outputs an interactive dialog based upon the exception type, and takes a recovery action based upon user interaction with the dialog.
The described technology is directed towards sharing asynchronous (async) tasks between task chains, including in a way that prevents cancellation of lower-level chain entity from cancelling a shared async task. A shared async task is wrapped in multiplexer code that maintains lower-level entity identities as a set of listeners of the shared async task, and when a listener cancels, only removes that listener from the set of listeners so that the shared async task does not cancel as long as one listener remains in the set. Also described is optimization to share an async task, and wrapping tasks in cancel-checking code that prevents the task from running its work if the task is intended to be cancelled but is queued to run before the cancel request is queued to run.
The described technology is directed towards locating and using a template for processing data item data from a general form into a client-specific form for returning in response to a client request. A client request includes a data item identifier and client-specific information. The data item's identifier is processed into a data type and/or identifier, e.g., a string. The client-specific information is used to determine a device class, device type and/or client platform software version. The template is found in a hierarchy of templates based upon the client-specific information and the data type or data ID string, e.g., the client-specific information may be used to determine a subset of template folders that is evaluated to find a file with a filename matching the string. The folders may be ordered from most-specific to least-specific, so as to locate the most specific template file that applies.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
The described technology is generally directed towards batching two or more data requests into a batch request that is sent to a data-providing entity such as a client data access layer coupled to a data service. Described is maintaining a mapping of the requests to requesting entities so that the responses to a batched request, which may be separately streamed, may be assembled into a batch response to the requesting entity. Also described is multiplexing a plurality of requests for the same data item into a single request, which may be added to a batch request, and de-multiplexing the single response into separate responses to each requesting entity.
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
The described technology is directed towards returning expanded data, beyond the data that was specifically requested, to a client, in order to reduce or eliminate likely subsequent requests for more data. Client requests for data items are processed by expansion rule logic to find an expansion rule set (e.g., file) corresponding to the identified data item. The rule set is used to expand requests for certain data items into expanded requests that return more data items than those requested. Client devices receive, cache and (often) use the cached expanded data items, which thereby reduces the overall number of requests to the data service. Expansion rules may be based upon observations (e.g., machine learned and/or manual) of request patterns, so as to reasonably predict which data item or items clients will likely next need, and return those as expanded data items in anticipation of their need.
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/951 - Indexation; Techniques d’exploration du Web
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
G06T 1/20 - Architectures de processeurs; Configuration de processeurs p.ex. configuration en pipeline
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
The described technology is directed towards having user interface objects rendered on a client device based upon provider data of at least part of a client provider graph. The client provider graph comprises a plurality of providers (graph nodes), in which each provider has provider data corresponding to user interface object data. The data of one provider has a reference set containing one or more references (e.g., edges) that each identify another provider, thus forming the graph. Client requests for other provider data are made based upon the reference set. The other provider data is received in response to the client requests, and is maintained at the client (e.g., in a client cache) to build the client graph.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
The described technology is generally directed towards a subscriber service using configurable data (e.g., a declarative configuration file) data to make service calls to publisher endpoints. Dynamic reconfiguration of the data changes the service call communication parameters without needing to bring down the subscriber server or its service, and/or without needing to modify/rewrite programs for the reconfiguration.
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 12/24 - Dispositions pour la maintenance ou la gestion
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04N 21/25 - Opérations de gestion réalisées par le serveur pour faciliter la distribution de contenu ou administrer des données liées aux utilisateurs finaux ou aux dispositifs clients, p.ex. authentification des utilisateurs finaux ou des dispositifs clients ou
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
The described technology is directed towards an image providing service, including an image processing service that composites a base image into a resultant image, e.g., by resizing an image, overlaying text and so forth based upon a purpose for that image and/or a client device class; other parameters such as design information, protection and so forth also may be specified. When a client requests an image including by specifying a purpose and size in a request to an endpoint (e.g., URL) for an image, the image processing service locates or composites a resultant image corresponding to the request, and returns the resultant image or a modified (e.g., resized) resultant image in response to the request. Clients thus obtain images based upon a desired purpose without having to do client-side image processing including image compositing.
H04N 21/658 - Transmission du client vers le serveur
H04N 21/2343 - Traitement de flux vidéo élémentaires, p.ex. raccordement de flux vidéo ou transformation de graphes de scènes MPEG-4 impliquant des opérations de reformatage de signaux vidéo pour la distribution ou la mise en conformité avec les requêtes des utilisateurs finaux ou les exigences des dispositifs des utilisateurs finaux
The technology described herein is directed towards content rights data that are associated with content (a data item) to make that content selectively available or unavailable in responses by a data service to client requests. A client includes client content rights data in association with each request, (e.g., via a token), and the data service uses that client content rights data as query parameters (constraint criteria) in making a request for a data item. Client content rights data also may be used for accessing cached data. Availability constraints may include client location, brand, channel, device class and time (commence and cease).
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04N 21/442 - Surveillance de procédés ou de ressources, p.ex. détection de la défaillance d'un dispositif d'enregistrement, surveillance de la bande passante sur la voie descendante, du nombre de visualisations d'un film, de l'espace de stockage disponible dans l
100.
Display screen or a portion thereof with a graphical user interface