Archive - Products RSS Feed

Building The World’s Fastest Remote Desktop Management – Part 2

Kaseya Remote Control

In his earlier blog post, Chad Gniffke outlined some of the key technologies underpinning the new Kaseya Remote Control solution in VSA release 7.0. This includes using modern video codecs to efficiently transmit screen data.

Going beyond these items, the engineering team at Kaseya has looked at every aspect of the remote desktop management workflow to shave precious seconds off the time required to establish a session.

In this post, we review three changes that have a big impact on both the time to connect and the experience once connected.

Keeping it Lean

When it comes to performance, what’s sometimes more important than what you do is what you don’t do. In the new Kaseya Remote Control, we have applied this principle in several areas.

When first connecting to a new agent, downloading remote desktop management binaries to the agent will represent a substantial portion of the connect time. With the new Kaseya Remote Control in VSA 7.0, this delay has been completely eliminated: Everything needed for Remote Control is now included with the agent install itself, and is always available for immediate use.

Likewise, the time to schedule and run an agent procedure against an agent has traditionally accounted for a large portion of the time to connect. Rather than attempt to optimize this, the new Remote Control doesn’t run an agent procedure at all. Instead, it maintains a persistent connection to the VSA server over a dedicated network connection that’s always on, and always available to start Remote Control immediately.

Making it Parallel

Establishing a Remote Control session involves a surprising number of individual steps. In broad strokes, we need to:

  • Launch the viewer application.
  • Establish a connection from the viewer to the VSA server.
  • Perform encryption handshakes to ensure each connection is secure.
  • Send Remote Control session details to the agent.
  • Wait for the user to accept the Remote Control session (if required by policy).
  • Establish relayed connectivity.
  • Collect network candidates for P2P connectivity.
  • Transmit P2P connection candidates over the network.
  • Perform P2P connectivity tests.
  • Select the best available network connection to start the session on.

But it turns out most of these steps can be performed in parallel – at least to some degree. For example, the information required to start a P2P connection to an agent can be collected while establishing an encrypted connection to the VSA. If user acceptance is required, a complete P2P connection can usually be negotiated long before the user approves the session. This dramatically reduces the overall time required to establish each session.

Utilizing the Hardware

Once connected to a remote agent, Kaseya Remote Control will start streaming full screen video data over the network connection, and drawing it to the viewer’s screen. The video codec under the hood ensures that a minimal amount of data is sent over the network, especially if nothing much is changing on screen. But on the viewer side, we still need to render the entire remote image to screen, at up to 20 frames per second. This can result in increased CPU load and battery drain on the viewer machine.

To reduce the impact on the viewer side, the new Kaseya Remote Control in VSA 7.0 now uses graphics hardware to scale and render the remote video content to screen. Modern graphics cards can perform these operations very efficiently, resulting in a reduced drain on system resources. This will be especially obvious when maintaining long-running connections to multiple remote agents.

Diving Deeper

These items represent a handful of the many changes going into our new Kaseya Remote Control to speed up connect times, and improve the experience once connected.

To find out more, stop by the Product Lab at Kaseya Connect in Las Vegas next week! And watch this space for a future post about the brand new P2P connection establishment technology that forms the backbone of our next generation Kaseya Remote Control.

Building The World’s Fastest Remote Desktop Management: Part 1

In 2004 I installed my first Kaseya Agent and launched my first Kaseya remote desktop management session. Never before had I been able to remotely access a NAT’d device without a mapped IP.  It connected in 60-180 seconds, most of the time, and I was awestruck!

Fast forward 10 years and the game has changed -and so must we.  On May 30th, 2014 we will release our new Kaseya Remote Control solution as part of VSA 7.0.

Kaseya Remote Control

The focus for this project has been on 3 key objectives:

  • Connect in 6 seconds
  • Connect 99% of the time
  • Perform well over latent connections

To meet these objectives, fundamental changes were required.   VSA 7.0 brings new code, new methods, and new technology to the product.

Agent to Server Persistence

The VSA Server and Agent have a small yet powerful addition in 7.0. These additions establish a lightweight, always-on connection between server and agent.  Because of this persistent connection, commands can be sent, received and responded to in milliseconds.  In the case of Remote Control, the admin can initiate a remote access request and receive a response from the agent in near real-time.  This addition increases the time-to-connect speed substantially!

Non-Sequential Communication Channels

Current Kaseya technology communicates in a very sequential manner, meaning there is a “wait in line” restriction that may slow down on-demand requests. With the new communication layer, remote control requests no longer get queued behind other activities on the agent. In addition, we now perform all activities required to set up a remote control session in parallel. For example, if end user permission is required to start a session, connectivity will be established behind the scenes in the meantime, so it’s ready to go when the user is.

Video Codec and Hardware Acceleration

Unlike many competitors’ solutions, Kaseya Remote Control is built using a video codec.  Large video streaming firms like Netflix and Hulu use similar codecs to send hi-def movies to your computer.   With the advent of these services, innovation in video codec technology continues to grow.  Most has been focused on increasing video quality (i.e. hi-def) while reducing the bandwidth required.  As the demand for 4K video increases, this technology will only become more efficient.  Leveraging these efficiencies will only increase our performance.

Leveraging hardware acceleration is another area of opportunity.  By using well known video codec technology it is possible to leverage the GPU, to perform hardware acceleration, on both the admin and endpoint.  This drives increased performance and responsiveness.  Additionally, with more people watching video on their mobile devices, it is possible to leverage mobile GPU’s,  therefore ensuring the user experience is never compromised, no matter the device.

And We Are Just Getting Started

The best thing about this remote desktop management project is that we are just getting started.  We believe it will be faster, more reliable and perform well under any circumstances.  If you want a sneak peek at our new Kaseya Remote Control and you are an existing Kaseya customer, come join us in Las Vegas for Kaseya Connect, our annual user conference.  We hope to see you there.

Stay tuned for Part 2 as we take a deeper look at the technology behind Kaseya Remote Control.

Page 3 of 3«123
-->