Abstract:
A data processing method, comprising: using computing apparatus, causing instantiating a plurality of baseline application instances that are running a first version of software, and one or more canary application instances that are running a second version of the software; using computing apparatus including a load balancer, causing selectively routing a first proportion of incoming requests to the baseline instances, and routing a second proportion of the incoming requests to the canary instances; monitoring the plurality of canary instances to collect performance data for performance metrics; determining that the performance data indicates a negative performance issue, and in response thereto: using computing apparatus, automatically updating the first proportion to be larger and updating the second proportion to be smaller, and then reconfiguring the load balancer based upon the first proportion and the second proportion; terminating one or more of the canary application instances.
Abstract:
Techniques are disclosed for generating preference rankings in response to requests for streaming media content received from client devices. The preference rankings are used to indirectly partition streaming media content across different content distribution networks (CDNs). Such partitions may be referred to as a “soft” partition, as all of the streaming media content remains available from each CDN. That is, the partitioning of content across CDNs is not absolute, and any content item may be requested from any CDN. Doing so ensures that content remains available even where the preferred CDN for a given content item fails, while at the same time increasing the probability of a cache hit at the CDNs, without increasing the cost or the actual cache sizes of the content caches of different CDNs.
Abstract:
The disclosure describes a proxy server application that supports the dynamic modification of proxy rules implemented by a proxy server. The proxy rules implemented by the proxy server specify network behaviors to be performed at various points during the handling of requests from client applications. A proxy server implements the proxy rules by processing one or more user-generated network traffic filters for managing network traffic. In an embodiment, users generate network traffic filters by creating network traffic filter source code that specify processing steps to be performed by a proxy server relative to network messages the proxy server receives. In an embodiment, user-generated network traffic filters may be added, removed, reordered, or otherwise modified in a proxy server application at runtime in order to respond to current network conditions or to achieve other desired proxy configurations.
Abstract:
One embodiment of the present invention sets forth a technique for providing a variation of digital content that is based on a client-specified context token. Localized digital assets, e.g., graphics resources, video resource, audio resources, and text string resources, are stored as a collection of records and are dynamically linked to a assemble a software system based on the client-specified context token to generate the variation of digital content. The client receives the assembled variation of the digital content including the localized digital assets specified by the client-provided context.
Abstract:
One embodiment of the present invention sets forth a technique for adapting playback bit rate to available delivery bandwidth in a content delivery system comprising a content server and a content player. A content player periodically estimates whether a given playback bit rate can feasibly provide complete playback for a given title assuming currently available bandwidth. If playback becomes unfeasible at a current bit rate assuming currently available bandwidth, then the content player adapts the bit rate downward until a feasible bit rate is achieved. If playback is feasible using a higher bit rate, then the content player may adapt the bit rate upward.
Abstract:
Provided herein are systems and methods for monitoring and assessing the security and risk presented by applications deployed in a complex computing environment. An exemplary application security system includes a server having a processing device in communication with storage systems, computing devices executing application instances configured to receive and transmit information over a network, and a security testing system including a first test module that is associated with a first application, which is associated with one or more of the application instances. The processing device of the server retrieves information about the first application, including current dependency information of the first application, calculates a security risk score for the first application based on the information, determines a security priority level associated with first application, and associates the security priority level of the first application with the first application in a database of application security information.
Abstract:
In an approach, a target computing device receives a pairing request from a controller computing device, the pairing request including controller credentials that were previously received by the controller computing device from an authentication server computer and encrypted under a service key. The target computing device forwards the pairing request to the authentication server, the authentication server computer being configured to return a pairing response based at least in part on the controller credentials. The target computing device receives the pairing which includes a shared secret encrypted under a target device key and the same shared secret encrypted under a controller key. The target computing device decrypts the shared secret encrypted under the target device key and forwards the shared secret encrypted under the controller key to the controller device. Using the decrypted shared secret, the target computing device establishes a secure connection to the controller computing device.
Abstract:
One embodiment of the present invention sets forth a technique for replicating a file within a network of servers. The technique includes determining one or more regional master servers included in a regional cluster of servers and causing each regional master sever to retrieve a file from a fill source. The technique further includes, for at least one local cluster of servers included in the regional cluster of servers, determining one or more local master servers included in the at least one local cluster of servers, and causing each local master server to retrieve the file from one of the one or more regional master servers.
Abstract:
In one embodiment of the present invention, an encoding bitrate ladder selector tailors bitrate ladders to the complexity of source data. Upon receiving source data, a complexity analyzer configures an encoder to repeatedly encode the source data-setting a constant quantization parameter to a different value for each encode. The complexity analyzer processes the encoding results to determine an equation that relates a visual quality metric to an encoding bitrate. The bucketing unit solves this equation to estimate a bucketing bitrate at a predetermined value of the visual quality metric. Based on the bucketing bitrate, the bucketing unit assigns the source data to a complexity bucket having an associated, predetermined bitrate ladder. Advantageously, sagaciously selecting the bitrate ladder enables encoding that optimally reflects tradeoffs between quality and resources (e.g., storage and bandwidth) across a variety of source data types instead of a single, “typical” source data type.
Abstract:
In an approach, a method comprises using a server computer in a media content delivery system that is configured to selectively deliver a particular media title from among a library of titles, for a source title, generating title data that specifies an order of a plurality of titles that are related to the source title based on a plurality of stored probability values; wherein each probability value in the plurality of probability values represents, for each particular title of the plurality of titles, a likelihood of selecting the particular title after playing the source title; using the server computer, receiving title impression data, wherein the title impression data specifies a plurality of browsed titles that were browsed from among the plurality of titles but may have not been selected for interaction; using the server computer, receiving title interaction data, wherein the title interaction data specifies a plurality of selected titles that were selected for interaction from the plurality of browsed titles; based on the title interaction data, the title impression data and a statistical model, re-calculating the plurality of probabilities.