The Comcast Innovation Fund provides grants for both open source and eductional research. The Open Source Development Grants fund development of open source software in areas benefiting cable, internet and broadband industries.
For more information, please visit the Comcast Innovation Fund.
Traffic Control is an Open Source implementation of a Content Delivery Network (CDN). Originally developed by Comcast, it was released as a Comcast Open Source software in April 2015. In late 2016, Comcast was honored to have Traffic Control accepted by the Apache Software Foundation and renamed to Apache Traffic Control. It is currently under incubation and available at Apache Traffic Control.
At Comcast, we are always looking for new talent to join our diverse and growing teams.
Employees in serviceable areas enjoy free digital TV and Internet service as well as deeply discounted phone service, and other features.
Redirector is a collection of tools that facilitate redirection of incoming connections to a set of trusted backend servers based on a set of rules that operate on parameters in the incoming request. Redirector can assist with load-balancing across the backend servers and traffic-shaping to two versions of an application.
Bynar is a tool for automating server remediation across multiple data centers. Many applications require quick, and fast, replacements of hardware as they fail, or the cluster can become degraded. Bynar is designed to automate the process for hardware failures gracefully, in turn saving you time and money.
The jrugged library allows your code to adapt to network issues in a responsible way.
The jrugged library provides straightforward add-ons to existing code to make it more robust and easier to manage. Examples include CircuitBreaker, Initializer, PerformanceMonitor and Monitorable.
Most of these classes implement a ServiceWrapper interface to allow them to be applied around existing services using the Decorator design pattern. Those classes providing operational information, such as PerformanceMonitor and Monitorable can be wrapped in classes that expose their data to JMX controls or on web-accessible health status pages as desired.
Sheens is an automation engine that hosts message-processing state machines. These machines process and emit messages efficiently and atomically. The initial motivation was implementing IoT-oriented home automations; however, Sheens has been useful in other settings.
Sheens is easy to integrate via HTTP, WebSockets, MQTT, plain TCP, Go or C applications, or via other glue. For example, we have integrated Sheens with several internal services, AWS IoT, Home Assistant, and other frameworks.
The structure and behavior of sheens are amenable to standardization, and multiple implementations are feasible and practical. The Sheens engine is highly programmable, so tools (e.g., debuggers, visualizations, monitors, analyzers) are often easy to implement.
CMB is a general purpose open source message bus for the cloud.
The service is API compatible with Amazon’s SQS/SNS and is built on Cassandra and Redis with the goal of linear horizontal scalability.
Sirius is a library for distributing and coordinating data updates amongst a cluster of nodes.
Sirius enables a cluster of nodes to keep developer-controlled in-memory data structures eventually consistent, allowing I/O-free access to shared information.
A compact framework for building Android apps with an MVP architecture. Blueprint helps Android devs build scrollable lists of discrete components using the Android RecyclerView library.
A framework designed around helping you and your team build thoughtful, pattern-driven user interfaces using the atomic design principles.
The webpack wrapper around patternlab-node core, providing tasks to interact with the core library and move supporting frontend assets.
A micro-library for gathering frontend web page performance data.
Surf-N-Perf provides a simple to use API to gather User Timing and other important performance data in any browser.
Using speed tier data to add a qualifying metric to standard speed test results, users will now know whether their experience is poor, good or great.
ns-3 bindings to support simulation evaluations of Distributed Monotonic Clocks (DMC).
Distributed monotonic clocks (DMC) whose timestamps can reflect causality but which have a component that stays close to wall clock time. This scheme builds on previous hybrid logical clock proposals by adding important operational hooks and by building in mechanisms to prevent a single runaway system clock from dragging a whole cluster's logical clocks forward into the future. More at YouTube.
Documentation for running RDK profiles ( Video, broadband, Camera ) on Raspberrypi boards.
Traffic Control is a caching server control plane application used to aggregate caching servers into a Content Delivery Network (CDN).
The CDN caching software chosen for Traffic Control is Apache Traffic Server (ATS). Although the current release only supports ATS as a cache, this may change with future releases.
Running YARN on Kubernetes with PetSet controller.
Apache Hadoop YARN (Yet Another Resource Negotiator) is a cluster management technology. This allows you to build an Image for deploying the kube-yarn artifacts without any local dependencies.
Server remediation as a service
Bynar is an open source system for automating server maintenance across the datacenter. Bynar builds upon many years of experience automating the drudgery of server repair. The goal is to have the datacenter maintain itself.
A tool for testing and validation of firewall rules
In a firewall heavy environment, being able to test and validate your firewall rules is essential. This utility aims to automate that by having "rules files" which this script then procesess and will SSH into each machine and try connecting to the target host on the specified port.
A layout engine for Android that decouples layouts from the View containers. We developed FreeFlow to overcome limitations we encountered as we worked to develop our next generation of Android apps.
FreeFlow is a composition based approach to Android Layouts. As opposed to default Android Layouts, FreeFlow Layouts are swappable at runtime which allows views to their new states smoothly. The fundamental difference here is that FreeFlow prefers Composition over Inheritance which makes the system a lot more adaptable.
Simple and light weight interface to the CCSP Bus.
Run your cucumber-jvm tests in parallel across all your devices.
Zucchini sits on top of cucumber-jvm and maven to provide higher testing throughput by enabling concurrent test execution. A test author specifies a description of each of the devices (or browsers) under test as well as the cucumber feature files to execute and zucchini runs the tests in parallel with a separate backing cucumber runtime for each device under test. Upon completion, all of these tests are compiled into a single report made available in an html format.
Websocket wrapper that provides a simple API for making new connections, sending messages on that connection, and providing a way to handle received messages.
gots (Go Transport Streams) is a library for working with MPEG transport streams.
It provides abstractions for reading packet information and program specific information (psi).
Package currently provides AAC parsing capabilities. This package performs a full parse of AAC-LC and HE-AACv1 bitstreams. Bitstreams with Parametric Stereo (HE-AACv2) are not yet supported, but AAC bitstream data and SBR data will be extracted. The AAC decode from the parsed data to LPCM (.wav) is not yet implemented. Please help us expand and test this library!
The collection of small common packages for the webpa project.
WebPA is a lightweight connectivity socket, with lower-level protocol connectivity between devices, and the cloud — much like a websocket. It works by each client registering with the cloud, so that it maintains a socket connection to the cloud. On the cloud side, APIs enable polls through which other cloud components could receive events, or translate them in to a TR-181 device data model for further analysis.
C implementation of the Web Routing Protocol
The goal of this layer is to enable devices to interact with a centralized web router (cluster) that routes the messages to/from various services on the other side. From the service perspective, this layer provides a centralized mechanism to directly interact with millions of authorized devices in the field in a scalable manor.