Abstract:
Embodiments of the invention provide techniques for encoding chunks of a video file in parallel. Embodiments may divide a source video file into a plurality of chunks, and may encode each chunk at a rate based upon complexity data associated with the chunk. The encoded chunks may then be reassembled to produce an encoded video file.
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:
A set of variations of a user experience on a subscription-based online site are tested, where each of the set of variations is distinct from other variations in the set of variations. Each of a group of users is assigned to one of the set of variations. For each user request received during a predetermined window of time, one of the set of variations is determined for use in processing the user request, based on a user associated with the user request, and the respective user request is processed using the determined variation. Long-term user metric information relating to subscription services for the subscription-based online site is determined, with respect to the group of users. At least one of the set of variations is then rated based on the determined long-term user metric information.
Abstract:
Approaches, techniques, and mechanisms are disclosed for implementing a distributed firewall. In an embodiment, many different computer assets police incoming messages based on local policy data. This local policy data is synchronized with global policy data. The global policy data is generated by one or more separate analyzers. Each analyzer has access to message logs, or information derived therefrom, for groups of computer assets, and is thus able to generate policies based on intelligence from an entire group as opposed to an isolated asset. Among other effects, some of the approaches, techniques, and mechanisms may be effective even in computing environments with limited supervision over the attack surface, and/or computing environments in which assets may need to make independent decisions with respect to how incoming messages should be handled, on account of latency and/or unreliability in connections to other system components.
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:
Techniques for selecting and ordering groups of titles to present as recommendations. In one embodiment, for example, a method performed by one or more computing devices of an online services comprises selecting, for each of a plurality of row positions, a group of titles to fill the row position based at least in part on a relevance score computed for the group of titles. The relevance score is based at least in part on a personalized ranking for a particular user of titles in the groups in titles selected to fill the row positions. The groups of titles selected to fill to the row positions are presented as recommendations to the particular user as a sequence of rows in which each row in the sequence corresponds to one of the selected groups of titles.
Abstract:
Techniques for transmitting a digital content stream through a network between a plurality of content servers and a content player. Network performance information for the plurality of content servers is retrieved. Embodiments then determine a mapping of the plurality of content servers to a plurality of portions of a content buffer on the content player, based on the retrieved network performance information. A request is transmitted to each of the plurality of content servers to transmit digital content associated with the corresponding portion of the content buffer.
Abstract:
In one approach, a controller computer performs a pre-processing phase involves applying automatic facial recognition, audio recognition, and/or object recognition to frames or static images of a media item to identify actors, music, locations, vehicles, and props or other items that are depicted in the program. The recognized data is used as the basis of queries to one or more data sources to obtain descriptive metadata about people, items, and places that have been recognized in the program. The resulting metadata is stored in a database in association with time point values indicating when the recognized things appeared in the particular program. Thereafter, when an end user plays the same program using a first-screen device, the stored metadata is downloaded to a second-screen device of the end user. When playback reaches the same time point values on the first-screen device, one or more windows, panels or other displays are formed on the second-screen device to display the metadata associated with those time point values.
Abstract:
One embodiment of the invention disclosed herein provides techniques for distributing tasks to skilled workers participating in a managed crowd-sourcing workforce. A crowd worker routing system receives a request for a task assignment from a first worker participating in the crowd-sourcing workforce. The crowd worker routing system retrieves one or more scores associated with the first worker, wherein each score is related to the performance of the first worker with respect to completing a prior set of task assignments. The crowd worker routing system determines that a first task assignment included in a first set of task assignments is related to a first score included in the one or more scores. The crowd worker routing system determines whether to route the first task assignment to the first worker for completion based on the first score and one or more routing rules.
Abstract:
A security application manages security and reliability of networked applications executing collection of interacting computing elements within a distributed computing architecture. The security application monitors various classes of resources utilized by the collection of nodes within the distributed computing architecture and determine whether utilization of a class of resources is approaching a pre-determined maximum limit. The security application performs a vulnerability scan of a networked application to determine whether the networked application is prone to a risk of intentional or inadvertent breach by an external application. The security application scans a distributed computing architecture for the existence of access control lists (ACLs), and stores ACL configurations and configuration changes in a database. The security application scans a distributed computing architecture for the existence of security certificates, places newly discovered security certificates in a database, and deletes outdated security certificates. Advantageously, security and reliability are improved in a distributed computing architecture.