Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning

Page is under review


Table of Contents

Introduction

...

draw.io Diagram
bordertrue
diagramNameRDK4_Architecture
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1260
revision2


High-level architecture :

Image Added

Thunder Framework Overview

...

  • Interconnection between plugins is  based on interfaces.

Architectural

...

Focus

Agnostic to process boundaries (JSONRPC/COMRPC)

...

draw.io Diagram
bordertrue
diagramNameJSONRPC-COMRPC Process transparency
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth601667
revision12

 Most important part of framework is to make sure we can run processes & separate process, we can run nano/micro services out of process. So, we need to communicate to nano/micro services throughout API's.

...

  • If a command comes in on settop box ,it will actually be turn into message for eg in above figure ,the Webkit browser will send this message through pipeline to framework.
    Three pipelines coming out of the settop box, different pipelines for different kind of messages.
  • Received message will be deserialized that is getting back to original message and do get cpu usage. After which, we will look at the message where it has to sent to, that message will be packed with where it will send to and it is forward on to threadpool.
  • The threadpool are actually multiple threads maintained by multiple persons. Person pickups the job and secure it ,As in diagram the person is evaluating CPU Usage using machine, CPU Usage value is noted down on the message(eg: CPU usage is 50% in above figure) and send back to from where we initially got the message.
  • Here messages are handled by thread switch. One is communication thread and the other is thread that handled our request. This way the amount of threads used in the system will not increase when multiple connections are created, the more connections you create it will not lead to multiple threadings .

...

This gives us information regarding once system is ready ,what kind of micro/nano services are all available.
Difference between micro and nano is that micro service actually requires graphics -graphical resources or player resources.


Referrences : 

Webinar : RDK 4.0 Native App