diff --git a/Finance-plan.drawio b/Finance-plan.drawio new file mode 100644 index 0000000..bdd7d9d --- /dev/null +++ b/Finance-plan.drawio @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Finance-plan.drawio.png b/Finance-plan.drawio.png new file mode 100644 index 0000000..be5af59 Binary files /dev/null and b/Finance-plan.drawio.png differ diff --git a/March-plan.drawio b/March-plan.drawio new file mode 100644 index 0000000..1dbb023 --- /dev/null +++ b/March-plan.drawio @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/March-plan.drawio.png b/March-plan.drawio.png new file mode 100644 index 0000000..60a3be7 Binary files /dev/null and b/March-plan.drawio.png differ diff --git a/plan.org b/plan.org new file mode 100644 index 0000000..b60deee --- /dev/null +++ b/plan.org @@ -0,0 +1,139 @@ +* Xplane Streaming project with Combination of my PhD + +The Xplane WebRTC project takes inspiration from Google Stadia +for a streaming based solution for playing video games. But our +plan is to build one specifically for flight simulators. We target +Xplane 11 for being cross platform and completely offline dependent +on sceneries with reasonable documentation on usage of the SDK to use the game. +The novelty of the project being all aspects of the project will be completely open source. +There are already major segments of the project complete and have been tested which will +be mentioned in the appropriate section for the necessary details. I am also investing +in my PhD to familiarize myself to work with slim down kernels on HPC scenarios +(This will help me extend the Xplane to run on a distributed scenario). This +project is fun long term work and has no heavy deadlines but rather the art of +optimizing the current paradigm of how we use heavy workload applications. +The following above is a really high level abstraction description of the +projects and barely covers the depth of what the project intends to push forward. + +The big question is what parts have been rebuilt for the project and how they +contribute to the end goal of the project. The first property of the project is +that it should be able to run on a p2p network. P2PRC is a p2p orchestrator designed +to run applications in a p2p network using Containers initially. There are plans to +extend it to run on Uni-kernels and based on my PhD extend it to run on a Multi-kernel +paradigm as well. This will be our custom alternative to Kubernetes which will be used to +distribute and run on workloads on p2p effectively. This would make our entire run on +Anyone's machine which can reside behind NAT. + +We also intend to make an open source solution to distribute a slim down version of X Plane +so that nodes can quickly Spawn Xplane instantly with only the required scenery needed. +This will be in contrast to running the full scenery of the game which is around 55 GB. +Something novel that could be worked on here is a novel approach to only send the scenery +of the flight path when distributing the game. This will mean building parsers for the +Xplane scenery files and then finding techniques to only get a correct set of scenery +files needed in other machines. The techniques are expected to open source but since the +scenery files are proprietary they are expected to be public. + +The streaming part of the project is expected to use the browser standard WebRTC sockets +with the corresponding sockets. This is because there is already massive development +of the chromium browser with GPU encoders and decoders for faster performance. +We have already built a prototype which has been tested and seems to work as intended. + +The PhD will be one of a long term novel approach which will support Multi-kernels with +TAG based architecture support for running C++ programs more securely. This might mean +most parts of the PhD might not be used. The Multi-kernel approach is definitely an +interesting area to experiment on to figure out how the project would use such an +approach and this open lot of areas of future research and hopefully better +performant flight simulators with better purposed algorithm to offload tasks to +devices such as FPGAs or potato machines in abstraction layer similar to speaking nodes in an network. + + + +** The short term plan: +- [ ] To do a full review of all the work currently complete. +- [ ] To set up clusters for testing Xplane 11. +- [ ] To set up nice documentation for setting up the Xplane 11 project. +- [ ] To allow players to play around with the Xplane 11 game as Beta testers. +- [ ] Plans for constant updates for the project broadcasted to the community. +- [x] To sync with developers interested in the project and track how much potential contribution is possible from an external community. +- [ ] Start planning ways to incentivize developers interested in working on the project. + +** Invested amount + - Akilan & family (60,000 pounds) - Research and Development + +** Released to market + - Market release (March 2026) + +** Invested projects + - P2PRC (p2p orchestrator) + - CHERI based memory allocators (Research for fast C memory allocators to be injected to Xplane) + +** Release plan: + - Testers version for Xplane single instance to selected people (1st March 2025) + - Multiple instance of Xplane (1st April 2025) + - Xplane UDP communication protocol (1st June) + +** Business plan +The business plan for the flight sim project is initially self host +versions of the game where a user can pay 4$ a month to try running their +game setup on our servers to start with. We plan to gain traction +through our open source to create a framework to allow more developers +to spawn companies on top of the project such as: +- (1.1) White labelling to Airline compaines with maintenance as apart + of a formulated contract. +- (1.2) Adding servers to the network to generate income (With P2PRC) +- (1.3) Legal firms to follow FAA rules to be built on top of (1.1) +- (1.4) Flight schools on-prem setup with remote learning. +- (1.5) Researchers using the platform to test flight models on the simulator. + +** Intermediate Release plan +This release plan looks into 3 parallel segments of releases. The one which is +P2PRC release plan, PhD work release and flight sim release plan. We intend +to have to this ready by the mid of march to present to researchers in Leeds +and Andre from Lyon. + +*** P2PRC release +The P2PRC release consists of work done by me (Akilan Selvacoumar) and Jose Fernandes. +This will be official task orchestrator to run Xplane accross multiple machines. +The main focus to get stable release out of the +way which would focus on the Haskell bindings, +Nix Flake, Automated domain mapping and a stable +framework to deploy tasks on a baremetal build. + +On the basis of this work we will apply to local +conference allowing users to experience using +the project on the fly as we talk through our +demo giving a magic element to automation we +have done. + +*** Flight sim work +We will start resuming work on flight sim project +by starting to host previous work done such as +remote game play. We are also focusing on adding +remote keyboard and mouse inputs embedded to the +browser with a farmework to stream data to a +database. We will build everything module +by module which will be language agnostic +since we will have to swap out a lot of modules +such as the Go implementations to a inherently +strongly typed language such as Haskell while +keeping the performance sensitive parts in C++. + +[[./March-plan.drawio.png]] + +*** Finance +This is a expensive endavour to fund but worth +self financing due to freedom of control required +in decisions. The industry is in shitshow and +requires strong leadership from domain experts +with a technically good track record. + +This means in laymen terms I (Akilan Selvacoumar) +will be fully finance intially this project +on whatever I can give in (Time and required resource +with the limited finance I have). As pointed +out in figure [[fig:finance]] most of us savings from +part time work and family funds will initially +grow this project. + +#+NAME: fig:finance +[[./Finance-plan.drawio.png]] diff --git a/plan.org~ b/plan.org~ new file mode 100644 index 0000000..07d4f53 --- /dev/null +++ b/plan.org~ @@ -0,0 +1,99 @@ +* Xplane Streaming project with Combination of my PhD + +The Xplane WebRTC project takes inspiration from Google Stadia +for a streaming based solution for playing video games. But our +plan is to build one specifically for flight simulators. We target +Xplane 11 for being cross platform and completely offline dependent +on sceneries with reasonable documentation on usage of the SDK to use the game. +The novelty of the project being all aspects of the project will be completely open source. +There are already major segments of the project complete and have been tested which will +be mentioned in the appropriate section for the necessary details. I am also investing +in my PhD to familiarize myself to work with slim down kernels on HPC scenarios +(This will help me extend the Xplane to run on a distributed scenario). This +project is fun long term work and has no heavy deadlines but rather the art of +optimizing the current paradigm of how we use heavy workload applications. +The following above is a really high level abstraction description of the +projects and barely covers the depth of what the project intends to push forward. + +The big question is what parts have been rebuilt for the project and how they +contribute to the end goal of the project. The first property of the project is +that it should be able to run on a p2p network. P2PRC is a p2p orchestrator designed +to run applications in a p2p network using Containers initially. There are plans to +extend it to run on Uni-kernels and based on my PhD extend it to run on a Multi-kernel +paradigm as well. This will be our custom alternative to Kubernetes which will be used to +distribute and run on workloads on p2p effectively. This would make our entire run on +Anyone's machine which can reside behind NAT. + +We also intend to make an open source solution to distribute a slim down version of X Plane +so that nodes can quickly Spawn Xplane instantly with only the required scenery needed. +This will be in contrast to running the full scenery of the game which is around 55 GB. +Something novel that could be worked on here is a novel approach to only send the scenery +of the flight path when distributing the game. This will mean building parsers for the +Xplane scenery files and then finding techniques to only get a correct set of scenery +files needed in other machines. The techniques are expected to open source but since the +scenery files are proprietary they are expected to be public. + +The streaming part of the project is expected to use the browser standard WebRTC sockets +with the corresponding sockets. This is because there is already massive development +of the chromium browser with GPU encoders and decoders for faster performance. +We have already built a prototype which has been tested and seems to work as intended. + +The PhD will be one of a long term novel approach which will support Multi-kernels with +TAG based architecture support for running C++ programs more securely. This might mean +most parts of the PhD might not be used. The Multi-kernel approach is definitely an +interesting area to experiment on to figure out how the project would use such an +approach and this open lot of areas of future research and hopefully better +performant flight simulators with better purposed algorithm to offload tasks to +devices such as FPGAs or potato machines in abstraction layer similar to speaking nodes in an network. + + + +** The short term plan: +- [ ] To do a full review of all the work currently complete. +- [ ] To set up clusters for testing Xplane 11. +- [ ] To set up nice documentation for setting up the Xplane 11 project. +- [ ] To allow players to play around with the Xplane 11 game as Beta testers. +- [ ] Plans for constant updates for the project broadcasted to the community. +- [x] To sync with developers interested in the project and track how much potential contribution is possible from an external community. +- [ ] Start planning ways to incentivize developers interested in working on the project. + +** Invested amount + - Akilan & family (60,000 pounds) - Research and Development + +** Released to market + - Market release (March 2026) + +** Invested projects + - P2PRC (p2p orchestrator) + - CHERI based memory allocators (Research for fast C memory allocators to be injected to Xplane) + +** Release plan: + - Testers version for Xplane single instance to selected people (1st March 2025) + - Multiple instance of Xplane (1st April 2025) + - Xplane UDP communication protocol (1st June) + +** Business plan +The business plan for the flight sim project is initially self host +versions of the game where a user can pay 4$ a month to try running their +game setup on our servers to start with. We plan to gain traction +through our open source to create a framework to allow more developers +to spawn companies on top of the project such as: +- (1.1) White labelling to Airline compaines with maintenance as apart + of a formulated contract. +- (1.2) Adding servers to the network to generate income (With P2PRC) +- (1.3) Legal firms to follow FAA rules to be built on top of (1.1) +- (1.4) Flight schools on-prem setup with remote learning. +- (1.5) Researchers using the platform to test flight models on the simulator. + +** Intermediate Release plan +This release plan looks into 3 parallel segments of releases. The one which is +P2PRC release plan, PhD work release and flight sim release plan. We intend +to have to this ready by the mid of march to present to researchers in Leeds +and Andre from Lyon. + +*** P2PRC release +The P2PRC release consists of work done by me (Akilan Selvacoumar) and Jose Fernandes. + +[[./March-plan.drawio.png]] + +[[./Finance-plan.drawio.png]] diff --git a/plan.pdf b/plan.pdf new file mode 100644 index 0000000..ed047fc Binary files /dev/null and b/plan.pdf differ diff --git a/plan.tex b/plan.tex new file mode 100644 index 0000000..45c70d1 --- /dev/null +++ b/plan.tex @@ -0,0 +1,195 @@ +% Created 2025-02-20 Thu 16:23 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\author{Akilan} +\date{\today} +\title{} +\hypersetup{ + pdfauthor={Akilan}, + pdftitle={}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 29.4 (Org mode 9.6.15)}, + pdflang={English}} +\begin{document} + +\tableofcontents + +\section{Xplane Streaming project with Combination of my PhD} +\label{sec:org764c80e} + +The Xplane WebRTC project takes inspiration from Google Stadia +for a streaming based solution for playing video games. But our +plan is to build one specifically for flight simulators. We target +Xplane 11 for being cross platform and completely offline dependent +on sceneries with reasonable documentation on usage of the SDK to use the game. +The novelty of the project being all aspects of the project will be completely open source. +There are already major segments of the project complete and have been tested which will +be mentioned in the appropriate section for the necessary details. I am also investing +in my PhD to familiarize myself to work with slim down kernels on HPC scenarios +(This will help me extend the Xplane to run on a distributed scenario). This +project is fun long term work and has no heavy deadlines but rather the art of +optimizing the current paradigm of how we use heavy workload applications. +The following above is a really high level abstraction description of the +projects and barely covers the depth of what the project intends to push forward. + +The big question is what parts have been rebuilt for the project and how they +contribute to the end goal of the project. The first property of the project is +that it should be able to run on a p2p network. P2PRC is a p2p orchestrator designed +to run applications in a p2p network using Containers initially. There are plans to +extend it to run on Uni-kernels and based on my PhD extend it to run on a Multi-kernel +paradigm as well. This will be our custom alternative to Kubernetes which will be used to +distribute and run on workloads on p2p effectively. This would make our entire run on +Anyone's machine which can reside behind NAT. + +We also intend to make an open source solution to distribute a slim down version of X Plane +so that nodes can quickly Spawn Xplane instantly with only the required scenery needed. +This will be in contrast to running the full scenery of the game which is around 55 GB. +Something novel that could be worked on here is a novel approach to only send the scenery +of the flight path when distributing the game. This will mean building parsers for the +Xplane scenery files and then finding techniques to only get a correct set of scenery +files needed in other machines. The techniques are expected to open source but since the +scenery files are proprietary they are expected to be public. + +The streaming part of the project is expected to use the browser standard WebRTC sockets +with the corresponding sockets. This is because there is already massive development +of the chromium browser with GPU encoders and decoders for faster performance. +We have already built a prototype which has been tested and seems to work as intended. + +The PhD will be one of a long term novel approach which will support Multi-kernels with +TAG based architecture support for running C++ programs more securely. This might mean +most parts of the PhD might not be used. The Multi-kernel approach is definitely an +interesting area to experiment on to figure out how the project would use such an +approach and this open lot of areas of future research and hopefully better +performant flight simulators with better purposed algorithm to offload tasks to +devices such as FPGAs or potato machines in abstraction layer similar to speaking nodes in an network. + + + +\subsection{The short term plan:} +\label{sec:org0b6b00e} +\begin{itemize} +\item[{$\square$}] To do a full review of all the work currently complete. +\item[{$\square$}] To set up clusters for testing Xplane 11. +\item[{$\square$}] To set up nice documentation for setting up the Xplane 11 project. +\item[{$\square$}] To allow players to play around with the Xplane 11 game as Beta testers. +\item[{$\square$}] Plans for constant updates for the project broadcasted to the community. +\item To sync with developers interested in the project and track how much potential contribution is possible from an external community. +\item[{$\square$}] Start planning ways to incentivize developers interested in working on the project. +\end{itemize} + +\subsection{Invested amount} +\label{sec:org36c669a} +\begin{itemize} +\item Akilan \& family (60,000 pounds) - Research and Development +\end{itemize} + +\subsection{Released to market} +\label{sec:org9d26526} +\begin{itemize} +\item Market release (March 2026) +\end{itemize} + +\subsection{Invested projects} +\label{sec:orgacf704d} +\begin{itemize} +\item P2PRC (p2p orchestrator) +\item CHERI based memory allocators (Research for fast C memory allocators to be injected to Xplane) +\end{itemize} + +\subsection{Release plan:} +\label{sec:orgd4f2de3} +\begin{itemize} +\item Testers version for Xplane single instance to selected people (1st March 2025) +\item Multiple instance of Xplane (1st April 2025) +\item Xplane UDP communication protocol (1st June) +\end{itemize} + +\subsection{Business plan} +\label{sec:org06fee0e} +The business plan for the flight sim project is initially self host +versions of the game where a user can pay 4\$ a month to try running their +game setup on our servers to start with. We plan to gain traction +through our open source to create a framework to allow more developers +to spawn companies on top of the project such as: +\begin{itemize} +\item (1.1) White labelling to Airline compaines with maintenance as apart +of a formulated contract. +\item (1.2) Adding servers to the network to generate income (With P2PRC) +\item (1.3) Legal firms to follow FAA rules to be built on top of (1.1) +\item (1.4) Flight schools on-prem setup with remote learning. +\item (1.5) Researchers using the platform to test flight models on the simulator. +\end{itemize} + +\subsection{Intermediate Release plan} +\label{sec:org314e968} +This release plan looks into 3 parallel segments of releases. The one which is +P2PRC release plan, PhD work release and flight sim release plan. We intend +to have to this ready by the mid of march to present to researchers in Leeds +and Andre from Lyon. + +\subsubsection{P2PRC release} +\label{sec:org8bd649a} +The P2PRC release consists of work done by me (Akilan Selvacoumar) and Jose Fernandes. +This will be official task orchestrator to run Xplane accross multiple machines. +The main focus to get stable release out of the +way which would focus on the Haskell bindings, +Nix Flake, Automated domain mapping and a stable +framework to deploy tasks on a baremetal build. + +On the basis of this work we will apply to local +conference allowing users to experience using +the project on the fly as we talk through our +demo giving a magic element to automation we +have done. + +\subsubsection{Flight sim work} +\label{sec:org0110678} +We will start resuming work on flight sim project +by starting to host previous work done such as +remote game play. We are also focusing on adding +remote keyboard and mouse inputs embedded to the +browser with a farmework to stream data to a +database. We will build everything module +by module which will be language agnostic +since we will have to swap out a lot of modules +such as the Go implementations to a inherently +strongly typed language such as Haskell while +keeping the performance sensitive parts in C++. + +\begin{center} +\includegraphics[width=.9\linewidth]{./March-plan.drawio.png} +\end{center} + +\subsubsection{Finance} +\label{sec:org874fb2a} +This is a expensive endavour to fund but worth +self financing due to freedom of control required +in decisions. The industry is in shitshow and +requires strong leadership from domain experts +with a technically good track record. + +This means in laymen terms I (Akilan Selvacoumar) +will be fully finance intially this project +on whatever I can give in (Time and required resource +with the limited finance I have). As pointed +out in figure \ref{orgb55af99} most of us savings from +part time work and family funds will initially +grow this project. + +\begin{center} +\includegraphics[width=.9\linewidth]{./Finance-plan.drawio.png} +\label{orgb55af99} +\end{center} +\end{document}