Chronology
Total development time: 30 months
Stage 1: vertical scaling (March - June 2021)
March 2021
- Started project design and architecture
April 2021
- Develop Mafalda module (vertical scaling core)
May 2021
June 2021
- Mafalda module (vertical scaling core) has 100% tests coverage for both lines, statements, functions and branches
Stage 2: remote control (July - October 2021)
July 2021
- Design of horizontal scaling architecture and remote control protocol
- Started development of Remote Mediasoup and Remote Mafalda clients
- Unified APIs of local libraries and remote clients (both pass the same API acceptance tests)
- Ensure no more Workers than CPUs are being used, also from different processes (using FsSet module internally)
- Started development of Remote Mafalda and Remote Mediasoup servers
August 2021
- Develop Remote Mediasoup and Remote Mafalda servers
- Design P2P decentralized federation protocol for horizontal scalability
- First corporate client of vertical scaling (Deepgrid Datacentre)
- Improved security and APIs homogeneity
September 2021
- Both Remote Mediasoup and Remote Mafalda clients and servers are feature complete
- Remote Mafalda integration tests are passing
October 2021
- Improve tests coverage of remote control and fix tests auxiliar dependencies
- Fix remote objects protocol and full restore of remote state on connection
- Adjust to new Mediasoup API (removal of leaked private properties and methods)
November 2021
- Improved documentation
- All Mafalda SFU modules are composable between them
December 2021
- Implemented Mediasoup horizontal scalability, with 100% tests coverage
January 2022
- Implemented Mediasoup cluster, with 100% tests coverage
- Improve reliability of remote control
- 100% tests coverage for all remote control modules
February and March 2022
Development was temporaly paused due to professional responsibilities.
Stage 3: Easy porting of actual applications (April - July 2022 and December 2022 - January 2023)
April 2022
- Develop transparent reconnections support for Remote Mediasoup client
May 2022
- Fully implement transparent reconnections support for Remote Mediasoup client
- Port EduMeet to
Remote Mediasoup
in just 40 lines of code
June 2022
- Define customized linting configuration and unify code style in all projects
- De-duplicate
appData
objects inRemote Mediasoup
July 2022
- Finish de-duplication of
appData
objects inRemote Mediasoup
August to November 2022
Development was temporaly paused due to professional responsibilities.
December 2022
- Fix final bugs for porting EduMeet to
Remote Mediasoup
- Automate and update projects documentation
January 2023
- Update projects documentation and main webpage
- Update Mafalda SFU repositories to use new
Remote Mediasoup
and ROPE client APIs - Improve testing, linting and documentation generation in all projects, and automate them in CI servers
- Start design and architecture of
Mediasoup vertical
module
Stage 4: Mediasoup vertical scaling & packages publishing (February - December 2023)
February 2023
- Work on implement vertical scaling of Mediasoup, based on code from Mafalda module.
March 2023
- Improve usage and publish of standalone servers
April 2023
- Improve publish of standalone servers and client libraries
- Publish packages to NPM and Github Packages Registry
May 2023
- Update web page and documentation
- Improve stability of CI servers and standalone packages
- Implement packages licenses system
June 2023
- Improve documentation
- Improve clients-servers connections security
- Reduce size of standalone servers
July 2023
- QA in a Box: create npm package with all the needed tools and unified config files for all the Mafalda SFU projects
August 2023
Development was temporaly paused due to professional responsibilities.
September 2023
- Improve projects stability and reliability
October 2023
- Improve projects testing
November 2023
- Improve reliability of Horizontal and Clustered Mediasoup, and prepare compatibility with Mediasoup Vertical
December 2023
- Finish migration of original Mafalda module to Mediasoup Vertical, and compatibility with Mediasoup API
- Investors documentation
January 2024
- Automate testing and publishing of all packages
- Improve investors documentation
February 2024
- Automate testing and publishing of all packages
Stage 5: Aggregated scalability (March 2024 - Currently)
Roadmap
All dates are estimated and can suffer of variations depending of the found difficulties, development speed, or due to having other personal or professional priorities. If you are interested on any of the future roadmap topics, contact us to discuss a sponsorship or commercial services.
Stage 6: Mediasoup as a Service (April - September 2024)
Notify about actual servers usage so it’s possible to spin-up more instances on demand, as a previous step to start offering Remote Mediasoup instances on the cloud.
Stage 7: Mafalda Monitor: network monitorization (October 2024 - January 2025)
Tool to monitor in real time the usage and capacity of all servers and clients
in the network: CPU usage of Worker
s, number of Router
s and Transport
s…
Stage 8: Mafalda Swarm: P2P decentralized scaling (February - July 2025)
Use of a Distributed Hash Table to register the Mafalda instances and send
requests directly between them, without a central controller. Also use it to
search for original Producer
s of a stream and ask for them to connect.