This document is a seminar report on the RFB (Remote Framebuffer) protocol. It provides an introduction to the basic parts and features of the RFB protocol, which allows remote access to graphical user interfaces. The report is organized into chapters that describe the representation of pixel data, protocol messages, handshaking messages, initialization messages, client-to-server messages, server-to-client messages, encodings, implementation of the protocol, and conclusions. The RFB protocol is used in Virtual Network Computing (VNC) and other remote desktop software to efficiently communicate between clients and servers to enable remote access.
Newfies-Dialer : Autodialer software - Documentation version 1.1.0Areski Belaid
Newfies-Dialer is an open source autodialer application designed and built to automate the delivery of interactive phone calls to contacts, clients and the general public.
http://www.newfies-dialer.org
Auto dialer Newfies-dialer documentation for latest version 3.9.2.
Newfies-Dialer is an Voice broadcasting solution built to support cloud based servers and can also work on standalone servers.
Newfies-Dialer : Autodialer software - Documentation version 1.1.0Areski Belaid
Newfies-Dialer is an open source autodialer application designed and built to automate the delivery of interactive phone calls to contacts, clients and the general public.
http://www.newfies-dialer.org
Auto dialer Newfies-dialer documentation for latest version 3.9.2.
Newfies-Dialer is an Voice broadcasting solution built to support cloud based servers and can also work on standalone servers.
CALM DURING THE STORM:Best Practices in Multicast SecurityJohnson Liu
Internet multicast introduces a range of new security threats to a network. These threats are not necessarily any more or less destructive than those found in unicast-only networks, but they represent a new class of vulnerability that may be unfamiliar to those with minimal multicast experience. Juniper Networks® Junos® operating system offers the most comprehensive set of features in the industry for securing a multicast infrastructure. This expertise comes from lessons learned after more than a decade of deployment experience in the world’s largest Internet backbones. The following is a detailed set of recommended best practices for securing a multicast infrastructure of Juniper Networks routers.
VSAN is a new storage solution from VMware that is fully integrated with vSphere. It automatically aggregates server disks in a cluster to create shared storage that can be rapidly provisioned from VMware vCenter during VM creation.
What is sensitive skin?
It is a large area flexible array of sensors, with data processing capabilities, with the ability to sense the surroundings.
It make possible the use of unsupervised machine in our midst.
Machines in unstructured environments
Societal needs and concerns
a) Health industry
b) Eco friendly
c) Difficulties of acceptance
iPDC-v1.3.0 - A Complete Technical Report including iPDC, PMU Simulator, and ...Nitesh Pandit
iPDC is a free Phasor Data Concentrator based on IEEEC37.118 synchrophasor standard. It also has Database Server for iPDC and PMU Simulator modules.
The objective of iPDC project is to create a IEEE C37.118 Synchrophasor standardized Phasor Data Concentrator and PMU Simulator, on which research students and others can develop and test their algorithms and applications. The purpose of iPDC released as a Free Software to its availability for users without any restriction regarding its usage and modification. And to get the contribution from users and developers all around the world.
iPDC do the time alignment and combining of the received data into frames as per IEEEC37.118 and can send to other iPDCs, and applications. iPDC can also archive received data in the MySQL database on local/remote machine. PMU Simulator is also IEEEC37.118 std compliant. Software is built to be working on Linux platform.
CALM DURING THE STORM:Best Practices in Multicast SecurityJohnson Liu
Internet multicast introduces a range of new security threats to a network. These threats are not necessarily any more or less destructive than those found in unicast-only networks, but they represent a new class of vulnerability that may be unfamiliar to those with minimal multicast experience. Juniper Networks® Junos® operating system offers the most comprehensive set of features in the industry for securing a multicast infrastructure. This expertise comes from lessons learned after more than a decade of deployment experience in the world’s largest Internet backbones. The following is a detailed set of recommended best practices for securing a multicast infrastructure of Juniper Networks routers.
VSAN is a new storage solution from VMware that is fully integrated with vSphere. It automatically aggregates server disks in a cluster to create shared storage that can be rapidly provisioned from VMware vCenter during VM creation.
What is sensitive skin?
It is a large area flexible array of sensors, with data processing capabilities, with the ability to sense the surroundings.
It make possible the use of unsupervised machine in our midst.
Machines in unstructured environments
Societal needs and concerns
a) Health industry
b) Eco friendly
c) Difficulties of acceptance
iPDC-v1.3.0 - A Complete Technical Report including iPDC, PMU Simulator, and ...Nitesh Pandit
iPDC is a free Phasor Data Concentrator based on IEEEC37.118 synchrophasor standard. It also has Database Server for iPDC and PMU Simulator modules.
The objective of iPDC project is to create a IEEE C37.118 Synchrophasor standardized Phasor Data Concentrator and PMU Simulator, on which research students and others can develop and test their algorithms and applications. The purpose of iPDC released as a Free Software to its availability for users without any restriction regarding its usage and modification. And to get the contribution from users and developers all around the world.
iPDC do the time alignment and combining of the received data into frames as per IEEEC37.118 and can send to other iPDCs, and applications. iPDC can also archive received data in the MySQL database on local/remote machine. PMU Simulator is also IEEEC37.118 std compliant. Software is built to be working on Linux platform.
I Pdc V1.3.0 A Complete Technical Report Including I Pdc, Pmu Simulator, An...Nitesh Pandit
iPDC is a free Phasor Data Concentrator that collects data from PMUs, and PDC/iPDC that are IEEEC37.118 Synchrophasors std compliant. iPDC do the time alignment and combining of the received data into frames as per IEEEC37.118 and can send to other iPDCs, and applications. iPDC can also archive received data in the MySQL database on local/remote machine. PMU Simulator is also IEEEC37.118 std compliant. Software is built to be working on Linux platform.
iPDC is a free Phasor Data Concentrator based on IEEEC37.118 synchrophasor standard. It also has Database Server for iPDC and PMU Simulator modules.
The objective of iPDC project is to create a IEEE C37.118 Synchrophasor standardized Phasor Data Concentrator and PMU Simulator, on which research students and others can develop and test their algorithms and applications. The purpose of iPDC released as a Free Software to its availability for users without any restriction regarding its usage and modification. And to get the contribution from users and developers all around the world.
The use of synchrophasors for monitoring and improving the stability of power transmission networks is gaining in significance all over the world. The aim is to monitor the system state, to intensify awareness for system stability and to make optimal use of existing lines. This way, system stability can be improved overall and even the transmission performance can be increased. The data from so many PMU’s and PDC’s needs to be collected and directed to proper channels for its efficient use. Thus we need to develop an efficient, flexible and hybrid data concentrator that can serve this purpose. Besides accepting the data from PMU’s, PDC should be able to accept the data also from other PDC. We have designed such a PDC (iPDC) that accepts data from PMU & PDC that are IEEEC37.118 standard compliant.
WAMS architecture with iPDC and PMU at different levels. This architecture enables iPDC to receive data either from a PMU or other iPDC. Both PMU and iPDC from whom the data is being received should be IEEE C37.118 synchrophasor standard compliant. It is hybrid architecture.
iPDC Design
The client server architecture is common in networks when two peers are communicating with each other. Of the two peers (PMU and iPDC) that are communicating with each other in WAMS one acts as a client and the other as a server. Since PMU saves the requests coming
from iPDC by sending data or configuration frames it acts as a server. It listens for command frames from iPDC. PMU-iPDC communication can be either over TCP or UDP communication protocols. On receiving command frames, PMU replies to the iPDC with data or configuration frames according to the type of request.
iPDC functionality is bifurcated as server and client. iPDC as a Client - When iPDC receives data or configuration frames its acts as a client. When acting as a client, it creates a new thread for each PMU or a PDC from whom it is going to receive data/configuration frames. This thread would establish connection between the two communication entities. It handles both TCP and UDP connections. The first frame that the server (PMU/PDC) would receive is the command for sending the configuration frame. When the server replies with the configuration frame, iPDC (client) would generate another request to start sending the data frames. On receiving
such a command frame, the server starts sending the data frames. If there is some change in the status bits of data frame which the client (iPDC) notices, it would take an action. For example if it notices a bit 10 has been set, it would internally send a command to server to send the latest configuration frame.
iPDC as a Server- When iPDC receives command frames from another PDC it would acts as a server. There would be two reserved ports one for UDP and other for TCP on which the PDC would receive command frame requests. Thus PDC now plays the role of PMU waiting
for command frames.
A Mobile and Web application for time measurement intended to get an accurate picture of the productive time in a production environment in order to reveal the root causes behind ineffective/idle time and to eliminate non-added activities/tasks .
Technical Key-words : Ionic 2, Angular 2, PouchDB, CouchDB ,
DB Replication Protocol, Django, Python NvD3 charts .
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Rfb
1. RFB PROTOCOL
B.Tech Seminar report
by
Saurabh Santhosh
ETAHECS043
Department of Computer Science And Engineering
Government Engineering College, Thrissur
December 2010
2. Seminar Report 2010
Acknowledgment
First of all, I thank the Almighty God for helping me complete this Seminar. I would
also like to express my sincere gratitude to Head of the Department of Computer
Science and Engineering Prof. Manoj Kumar, Assistant Prof. K S Valsaraj, Lec-
turers Mr. Ajay James and Mrs. Baby Syla for providing all the help,motivation
and encouragement from beginning till the end.I am Also hugely indebted to my
friends and other teachers for all their help and support.
Saurabh Santhosh
December 2010
Govt. Engineering College, Thrissur
Dept. of CSE, GEC, Thrissur i
5. Seminar Report 2010
List of Figures
1.1 Working of VNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Dept. of CSE, GEC, Thrissur iv
6. Abstract
Remote Desktop Softwares are those softwares which provide Remote Access. Remote
Access means the ability of a user to log onto a remote computer or network from a
distant location. This usually comprises of computers, a Network, and some remote
access software to connect to the network. Since this involves clients and servers con-
nected across a network,a protocol is essential for efficient communication between
them. RFB protocol is one of such protocols which is used by the client and servers
for communicating with each other and thereby making Remote Access possible.
The purpose of this Paper is to give a general idea as to how this Protocol actually
works. This paper also gives a broad idea about the various messages of this protocol
and how these messages are send and interpreted by the client and server modules.
This Paper also includes a Simple implementation of the Protocol which shows the
various messages and methods and how this protocol is practically used for gaining
remote access.
7. Seminar Report 2010
Chapter 1
Introduction
RFB (remote framebuffer) is a simple and efficient protocol which provide remote
access to graphical user interfaces.As its Name Suggests it works at the framebuffer
level and thus it is applicable to all windowing systems and applications. Eg. X11,
Windows and Macintosh. It should also be noted that there are other Protocols avail-
able and RFB is the protocol which is used in Virtual Network Computing (VNC)
and its various forms. Due to increase in number of Software products and Services
such protocols play a very important role nowadays.
Figure 1.1: Working of VNC
1.1 Basic Parts Of RFB Protocol
Display Protocol - the display part of the protocol is based on a simple idea. It is
actually based around a single graphics primitive: put a rectangle of pixel data at a
given x,y position.
Dept. of CSE, GEC, Thrissur 1
8. section 1.3 Seminar Report 2010
Input Protocol - based on a normal workstation model of a keyboard and multi-
button pointing device. Every keypress and mouse events and transferred and simu-
lated at the remote site.
1.2 Features of RFB
RFB protocol specifies the rules for communication between 2 entities RFB client
and RFB server. In Current versions it supports multiple Clients also.RFB is truly a
thin client protocol. The emphasis in the design of this protocol is to make a client
with very less requirements. Thus,Clients can run on widest range of hardware, and
the task of implementing a client is made very simple RFB protocol makes the client
stateless.
RFB protocol gained significance after it was used in VNC (Virtual Network Com-
puting) and is very popular protocol nowadays RFB protocol is Open unlike many
other Remote Access Protocols.
1.3 Organization Of the Report
1. Chapter 2 describes the Representation of Pixel Data and Protocol Extensions
2. Chapter 3 Introduces the Various Protocol Messages
3. Chapter 4 describes the Handshaking Messages and Security Types
4. Chapter 5 describes Initialisation Messages
5. Chapter 6 describes Client to Server Messages
6. Chapter 7 describes Server to Client Messages
7. Chapter 8 describes Various Encodings
8. Chapter 9 shows Protocol Implementation
9. Chapter 10 is the conclusion
Dept. of CSE, GEC, Thrissur 2
9. Seminar Report 2010
Chapter 2
REPRESENTATION OF PIXEL
DATA
The Interaction between server and client begins with a negotiation of the format and
encoding which will be used to send the pixel data. This step is included to make the
job of client easy. The server must always be able to supply the pixel data in the form
the client needs. In case the client can handle different formats,client can choose any
one it wishes. That is why this protocol is called a thin-Client Protocol.
Pixel Format refers to the representation of various individual colors by pixel val-
ues. The most common formats are 24-bit or 16-bit where bit-fields translate directly
to the primary colors , and 8-bit color map where a mapping can be used to obtain
RGB intensities.
Encoding refers to how a rectangle of the above said pixel data will be sent across
the channel. Every triangle of this pixel data is prefixed by a header which contains
the X,Y position of the rectangle on the screen,the width and height of this trian-
gle,and an encoding type which specifies how the pixel data is encoded. In practice
we normally use only the ZRLE, Hextile and CopyRect encodings since they provide
the best compression as far as typical desktops are concerned.
Dept. of CSE, GEC, Thrissur 3
10. section 2.1 Seminar Report 2010
2.1 Protocol extensions
Following are ways in which the protocol can be extended:
New encodings : A new encoding type can be added easily whilst maintaining
compatibility with existing clients and servers. Existing servers will simply ignore
requests encoding which they dont support.
Pseudo encodings : In addition, a client can request a pseudoencoding to declare
to the server that it supports a certain extension to the existing protocol. A server
which does not support the extension will simply ignore the new pseudo-encoding.
New security types :Adding a new security type gives additionalflexibility in
modifyingthe behaviour of the protocol without sacrificing compatibility with exist-
ing clients and servers. A client and server which agree on a new security type can
effectively communicate based on other protocols.
Dept. of CSE, GEC, Thrissur 4
11. Seminar Report 2010
Chapter 3
PROTOCOL MESSAGES
The RFB protocol can operate over any reliable transport channel, it can be either
byte-stream or messagebased. Usually it is used over a TCP/IP connection.
The protocol actually proceeds through three stages :
First is the handshaking phase in which the client and server agree upon the pro-
tocol version and the type of security to be used for communication.
The second stage is an initialization phase in which the client and server exchange
ClientInit and ServerInit messages. These messages will be discussed in detail later.
The final stage is the normal protocol interaction in which the server and client
exchange various other messages. The client can send any valid messages it wants,
and receive messages from the server as a result.
All these messages should begin with a message-type byte, followed by any message-
specific data. The various descriptions of protocol messages specified here use the
basic types U8, U16, U32,S8, S16, S32 which represent respectively 8, 16 and 32-bit
unsigned integers and8, 16 and 32-bit signed integers. All multiple byte integers spec-
ified (other than pixel values themselves) are in big endian order (most significant
byte first).
The type PIXEL is a derived type which mean a pixel value of bytesPerPixel
bytes, where 8 bytesPerPixel is the number of bits-per-pixel as agreed by the client
and server either using ServerInit message or a SetPixelFormat.
Dept. of CSE, GEC, Thrissur 5
12. Seminar Report 2010
Chapter 4
HANDSHAKING MESSAGES
4.1 ProtocolVersion
This phase begins by the server sending the client a ProtocolVersion message. This
informs client know which is the highest RFB protocol version number supported by
the server. The client then replies with another message giving the version number
of the protocol which should actually be used. A client can never request a protocol
version higher than that offered by the server. Thus both clients and servers indirectly
provide some level of backwards compatibility by this mechanism.
The ProtocolVersion message consists of 12 bytes interpreted as a string of ASCII
characters in the following format.
”RFB xxx.yyyn” where xxx and yyy are the major and minor version numbers,
usually padded with zeros.
4.2 Security
Next, the server and client must agree on the type of security to be used on the
connection. For this the server lists the security types which it supports by sending
the following message.
Dept. of CSE, GEC, Thrissur 6
13. section 4.3 Seminar Report 2010
After the Client Receive this message,it checks the contents. If the server listed at
least one valid security type client sends back a single byte.
If number-of-security-types is zero, then it can be considered that for some reason
the connection failed (e.g. the server cannot support the desired protocol version).
This is followed by a string describing the reason.
4.3 Security Types
VNC Authentication - when VNC authentication is to be used ,protocol data is to be
sent unencrypted While using this Authentication, Following Steps are used
The server sends a random 16-byte challenge:
The client encrypts the challenge with DES, using a password as key and sends
the 16-Byte response
Dept. of CSE, GEC, Thrissur 7
14. section 4.4 Seminar Report 2010
After this, The protocol continues with the SecurityResult message.
4.4 Security Result
By the end of this phase ,the server sends a word to inform the client whether the
security handshaking was successful.
Dept. of CSE, GEC, Thrissur 8
15. Seminar Report 2010
Chapter 5
INITIALISATION MESSAGES
After the handshaking pahse , the protocol passes to the initialisation phase.
This phase proceeds as follows:
The client sends a ClientInit message followed by the server sending a ServerInit
message.
5.1 ClientInit
Shared-flag field in the message is non-zero (true) if the server should try to share
the desktop by leaving other clients connected, zero (false) if it should give exclusive
access to the communicating client by disconnecting all other clients.
5.2 ServerInit
As described above, after receiving the ClientInit message, the server sends a ServerInit
message. This message is used to inform the client about the width and height of the
servers framebuffer, its pixel format and the name.
Dept. of CSE, GEC, Thrissur 9
16. section 5.2 Seminar Report 2010
PIXEL FORMAT
Server-pixel-format specifies the servers natural pixel format Bits-per-pixel is the
number of bits used for each pixel. This value should be greater than depth
If true-colour-flag is set (true) then the last six items specify how to extract vari-
ous intensities from the pixel value.
If true-colour-flag is not set (false) the six items serve as indices into a colour map
set using SetColourMapEntries.
Dept. of CSE, GEC, Thrissur 10
17. Seminar Report 2010
Chapter 6
CLIENT TO SERVER
MESSAGES
The various client to server message types defined in this paper are
For Additional Messages client must first determine that the server supports the
relevant extension by receiving some confirmation from the server
6.1 SetPixelFormat
This Message is used to set the format in which pixel values should be sent in
FramebufferUpdate messages. In Absence of SetPixelFormat message then the server
sends pixel values in its natural format as specified in the ServerInit message as
described earlier. Immediately after the client has sent this message the colour map
is made empty because it is no longer necessary.
Dept. of CSE, GEC, Thrissur 11
18. section 6.4 Seminar Report 2010
6.2 SetEncodings
This Message is used to set the encoding types in which pixel data can be sent
by the server.(also include pseudo-encodings). The server may or may not choose the
encodings suggested by the clients.This supports backward compatibility.
6.3 FramebufferUpdateRequest
This is the Most Important Message sent by the client to the server. The GUI is
transferred as a result of this request message.
This request message notifies the server that the client is interested in the area of
the framebuffer specified by x-position, y-position, width and height.
The server usually responds to a FramebufferUpdateRequest by sending a Frame-
bufferUpdate which will be described later.
A single FramebufferUpdate may be sent in reply to several FramebufferUpdateRequests.
This is responsible for the increased efficiency of RFB protocol.
Only if client has lost the contents of a particular area which it needs, then the
client sends FramebufferUpdateRequest with incremental set to zero.
Dept. of CSE, GEC, Thrissur 12
19. section 6.6 Seminar Report 2010
6.4 KeyEvent
A simple key press or release. Down-flag is non-zero (true) if the key is now
pressed, zero (false) if it is now released. The key itself is specified using the keysym
values defined by the X Window System which is used for simulation.
6.5 Keysym
For most ordinary keys, the keysym is the same as the corresponding ASCII value.
The interpretation of keysyms is a complex area due to the following reasons and
should be implemented with care :
The shift state should be taken into account. State of modifier keys such as Control
and Alt should be taken as modifying the interpretation of other keysyms.
6.6 PointerEvent
Indicates either pointer movement or a pointer button press or release which is
essential for its Simulation. The pointer is now at (x-position, y-position), and the cur-
rent state of buttons 1 to 8 are represented by bits 0 to 7 of button-mask respectively,
0 meaning up, 1 meaning down (pressed).
Dept. of CSE, GEC, Thrissur 13
20. Seminar Report 2010
Chapter 7
SERVER TO CLIENT
MESSAGES
The various server to client message types defined are
Before sending new messages a server must have determined that the client sup-
ports the relevant extension by receiving some confirmation from the client - usually
a request.This is done with the help of message specified earlier.
7.1 FramebufferUpdate
The contents of this message is used to reproduce the GUI at the client computer. A
framebuffer update consists of a sequence of rectangles of pixel data which the client
should put into its framebuffer.
Dept. of CSE, GEC, Thrissur 14
21. section 7.3 Seminar Report 2010
Followed By
7.2 SetColourMapEntries
This message is used only when the color map is used ; this message tells the client
that the specified pixel values should be mapped to the given RGB intensities as de-
scribed earlier.
Followed By
7.3 Bell
Ring a bell on the client if it has one.
Dept. of CSE, GEC, Thrissur 15
22. section 7.4 Seminar Report 2010
7.4 ServerCutText
Used to send text to client. There is also a similar Message from client to server.
Dept. of CSE, GEC, Thrissur 16
23. Seminar Report 2010
Chapter 8
ENCODINGS
The various encodings defined in the protocol standard are
8.1 Raw encoding
The simplest encoding type is raw pixel data. In this case the data consists of width-
height pixel values. This is the default encoding used,RFB servers should only produce
raw encoding unless the client specifically asks for some other encoding
8.2 CopyRect encoding
The CopyRect (copy rectangle) encoding is a simple and efficient encoding which can
be used if the client already has the same pixel data elsewhere in its framebuffer.
Dept. of CSE, GEC, Thrissur 17
24. section 8.3 Seminar Report 2010
8.3 RRE encoding
RRE stands for rise-and-run-length encoding and as its name implies, it is essentially
a 2-D analogue of run-length encoding.This is quite complex and is not often used.
Dept. of CSE, GEC, Thrissur 18
27. Seminar Report 2010
Chapter 10
CONCLUSION
A Basic Idea of Remote Access and Remote Computing was given .The Various Mes-
sages used in the RFB protocol were specified in detail and the detailed description
of various working aspects of the RFB protocol were defined. In addition an imple-
mentation example was shown for further understanding of the protocol and also to
make it possible for anyone to program a server or client based on this protocol.
Dept. of CSE, GEC, Thrissur 21
28. Seminar Report 2010
References
[1] Tristan Richardson; Quentin Stafford-Fraser; Kenneth R. Wood; and Andy Hop-
per. Virtual Network Computing IEEE Internet Computing 2
[2] Richardson and Levine. IETF draft , 2009
[3] The RFB Protocol Documentation Version 3.8,,November 2000.
Dept. of CSE, GEC, Thrissur 22