guug presentation nx

30
_ _ __ __ | \ | |\ \ / / | \| | \ V / | . ` | > < | |\ | / . \ |_| \_|/_/ \_\ The next stage in desktop network computing...

Upload: franco-giovanolli

Post on 14-May-2017

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUUG Presentation NX

_ _ __ __ | \ | |\ \ / / | \| | \ V / | . ` | > < | |\ | / . \ |_| \_|/_/ \_\

The next stage in desktop network computing...

Page 2: GUUG Presentation NX

Plain Vanilla X Flowchart

. . . . . +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ | | . | | | | . | Remote X | | | X . | application | | local X | <−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | . X | KDE / GNOME | | | . | session | | | . | | +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ . . . . .

Page 3: GUUG Presentation NX

Plain Vanilla X Flowchart

. . . . . +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ | | . | | | | . | Remote X | | | X . | application | | local X | <−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | . X | KDE / GNOME | | | . | session | | | . | | +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ . . . . .

Often executed via "ssh −X ..."

Page 4: GUUG Presentation NX

Plain Vanilla X Flowchart

. . . . . +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ | | . | | | | . | Remote X | | | X . | application | | local X | <−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | . X | KDE / GNOME | | | . | session | | | . | | +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ . . . . .

Often executed via "ssh −X ..." With (some) compression: "ssh −X −C ..."

Page 5: GUUG Presentation NX

Plain Vanilla X Flowchart

. . . . . +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ | | . | | | | . | Remote X | | | X . | application | | local X | <−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | . X | KDE / GNOME | | | . | session | | | . | | +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ . . . . .

Often executed via "ssh −X ..." With (some) compression: "ssh −X −C ..." Works (quite) well over LAN

Page 6: GUUG Presentation NX

Plain Vanilla X Flowchart

. . . . . +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ | | . | | | | . | Remote X | | | X . | application | | local X | <−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− . −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | . X | KDE / GNOME | | | . | session | | | . | | +−−−−−−−−−−−−−+ . +−−−−−−−−−−−−−+ . . . . .

Often executed via "ssh −X ..." With (some) compression: "ssh −X −C ..." Works (quite) well over LAN Sucks over Internet or Low Bandwidth Connections

Page 7: GUUG Presentation NX

NX Flowchart: the "Proxies"

. . +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | | | . | | | | | | | | . | | | Remote X | | | | local | . | remote | | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−− . −−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | . | system | | KDE / GNOME | | | | | . | | | session | | | | | . | | | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ . .

NX plugs two proxying systems into the connection Local and remote proxies are basically the same What is low bandwidth? −−> Not ADSL (like some of our American friends tend to assume) −−> But ISDN or Modem (even GSM Modem with only 9.600 Baud....)

NX proxying system consists of compression libraries, nxproxy and nxagent programs

Page 8: GUUG Presentation NX

NX Flowchart: Proxies run "X" on each side

. . +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | | | . | | | | | | | | . | | | Remote X | | | X | local | . | remote | X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−− . −−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | . | system | | KDE / GNOME | | | | | . | | | session | | | | | . | | | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ . .

Both proxy systems talk "X" to their respective local endpoints Remote proxy system pretends to be the X server to the remote application (so no change is required for remote application) Local proxy system includes an X server (for Windows) or uses another local one

Page 9: GUUG Presentation NX

NX Flowchart: Proxies compress/decompress traffic in between them

. . +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | | | . | | | | | | | | . | | | Remote X | | | X | local | . | remote | X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−− . −−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | . | system | | KDE / GNOME | | | | | . | | | session | | | | | . | | | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ decompression . compression .

Compression/decompression: ==========================

Remote proxy system compresses all traffic Local proxy system decompresses all traffic

(...and vice versa)

Page 10: GUUG Presentation NX

NX Flowchart: Proxies cache traffic and keep cache in sync

. . +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | | | . | | | | | | | | . | | | Remote X | | | X | local | . | remote | X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−− . −−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | . | system | | KDE / GNOME | | | | | . | | | session | | | | | . | | | | +−−−−−−−−−−−−−+ | | . | | +−−−−−−−−−−−−−+ | | . | | | | . | | +−−−−−−−−−−−−+ . +−−−−−−−−−−−−+ decompression . compression caching . caching

Caching: ========

Remote proxy system caches most traffic Local proxy system caches most traffic Both caches are kept in sync Same pieces are not transferred twice (but taken from cache) Similar pieces are not transferred in full, but use a "differential" transfer Caches may be made "persistent" (saved to disk and re−used in future sessions)

Page 11: GUUG Presentation NX

NX Flowchart: Proxies run "NX" in between them (excellent performance even over ISDN)

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | | | Remote X | | | X | local | (internet, modem) | remote | X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | | system | | KDE / GNOME | | | | | | | | session | | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

NX "protocol" / NX communication: ================================= −− is used for communication and transfer in between proxy systems −− uses highly efficient, very intelligent algorithms (result of years of research and development) −− works extremely well over modem and ISDN connections

Page 12: GUUG Presentation NX

NX Flowchart: Proxies reduce "roundtrips" to nearly Zero

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | | | Remote X | | | X | local | (internet, modem) | remote | X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | "roundtrips" | system | | KDE / GNOME | | | | | nearly at zero | | | session | | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

NX "protocol" / NX communication: ================================= −− is used for communication and transfer in between proxy systems −− uses highly efficient, very intelligent algorithms (result of years of research and development) −− works extremely well over modem and ISDN connections −− achieves miracles even for badly designed X applications (which produce lots of unnecessary "roundtrips") −− reduces roundtrips to nearly Zero, compared to vanilla X

Page 13: GUUG Presentation NX

NX Flowchart: the role of the "agent"

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | | | Remote X | | | X | local | (internet, modem) | remote | (nxagent based X | application | | local X | <−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−>| NX proxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | system | "roundtrips" | system | on Xnest) | KDE / GNOME | | | | | nearly at zero | | | session | | | | "nxproxy" | | "nxproxy" | | | +−−−−−−−−−−−−−+ | plus | | plus | +−−−−−−−−−−−−−+ | libraries | | libraries | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

−− "nxagent" (handling remote X connections) is/was based on "Xnest" (heavily modified / largely re−designed) −− nxagent currently only handles full−desktop sessions −− doesn't support "rootless" X (for single application window mode) −− instead, in single application window mode the connection goes directly to the nxproxy

Page 14: GUUG Presentation NX

NX Flowchart: connection to remote MS Windows....

+−−−−−−−−−−−−−−+ | Windows Ter− | | minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | or XP Prof. | | | | | +−−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

Other types of connections are possible: −− MS Windows Terminal Servers −− MS Windows XP Professional Edition (allows 1 remote connection)

Page 15: GUUG Presentation NX

NX Flowchart: connection to remote MS Windows uses "RDP"....

+−−−−−−−−−−−−−−+ RDP | Windows Ter− | | minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | or XP Prof. | | | | | +−−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

−− remote connections to Windows use RDP ("Remote Desktop Protocol")

Page 16: GUUG Presentation NX

NX Flowchart: connection to remote MS Windows uses RDP

+−−−−−−−−−−−−−−+ RDP | Windows Ter− | ,−−−−−−−−>| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ / | or XP Prof. | | | | | / +−−−−−−−−−−−−−−+ | | | |<−−−−−−−−−' +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

−− remote connections to Windows use RDP ("Remote Desktop Protocol")

Page 17: GUUG Presentation NX

NX Flowchart: connection to remote MS Windows uses RDP with the help of "nxdesktop" (agent)

+−−−−−−−−−−−−−−+ RDP | Windows Ter− | nxdesktop ,−−−−−−−−>| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ (based on / | or XP Prof. | | | | | rdesktop) / +−−−−−−−−−−−−−−+ | | | |<−−−−−−−−−' +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ decompression compression caching caching

"agent" handling remote RDP connections is based on "rdesktop" (by Matt Chapman)

Page 18: GUUG Presentation NX

NX Flowchart: connection to remote VNC server....

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | (Tight)VNC− | decompression compression | Server | caching caching | | +−−−−−−−−−−−−−−+

Thirdly, NX supports connections to remote (Tight)VNC servers

Page 19: GUUG Presentation NX

NX Flowchart: connection to remote VNC server uses "RFB"

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ RFB | (Tight)VNC− | decompression compression | Server | caching caching | | +−−−−−−−−−−−−−−+

VNC stands for "Virtual Network Computing" VNC uses the RFB ("Remote FrameBuffer") protocol

Page 20: GUUG Presentation NX

NX Flowchart: connection to remote VNC server uses RFB

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | |<−−−−−−−−−. | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ \ RFB | (Tight)VNC− | decompression compression `−−−−−−−> | Server | caching caching | | +−−−−−−−−−−−−−−+

VNC stands for "Virtual Network Computing" VNC uses the RFB ("Remote FrameBuffer") protocol

Page 21: GUUG Presentation NX

NX Flowchart: connection to remote VNC server uses RFB with the help of "vncviewer"

+−−−−−−−−−−−−+ +−−−−−−−−−−−−+ | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | | | NX "protocol" | | | | X | local | (internet, modem) | remote | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy | | display | | | "roundtrips" | | | | | | nearly at zero | | | | | | | | +−−−−−−−−−−−−−+ | | | | | | | |<−−−−−−−−−. | | | | nxviewer \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ (based on \ RFB | (Tight)VNC− | decompression compression vncviewer)`−−−−−−−> | Server | caching caching | | +−−−−−−−−−−−−−−+

"agent" handling remote VNC connections is based on vncviewer

Page 22: GUUG Presentation NX

NX Flowchart: all connection types

+−−−−−−−−−−−−−−+ RDP | Windows Ter− | nxdesktop ,−−−−−−−−>| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ (based on / | or XP Prof. | | | | | rdesktop) / +−−−−−−−−−−−−−−+ | | | |<−−−−−−−−−' +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | | | Remote X | | | X | local | (internet, modem) | remote | (nxagent based X | application | | local X | <−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−>| nxproxy |<−−−−−−−−−−−−−−−−−−−−−−−−−−>| (or full | | display | | | "roundtrips" | | on Xnest) | KDE / GNOME | | | | | nearly at zero | | | session | | | | | | | | | +−−−−−−−−−−−−−+ | | | | +−−−−−−−−−−−−−+ | | | |<−−−−−−−−−. | | | | nxviewer \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−−−+ (based on \ RFB | (Tight)VNC− | decompression compression vncviewer)`−−−−−−−> | Server | caching caching | | +−−−−−−−−−−−−−−+

Composite picture of all possible connections

Page 23: GUUG Presentation NX

NX Flowchart: all connection types (with "agents")

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| nxproxy |<−−−−−−−−−−−−−−−−−−−−<| nxproxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | | "roundtrips" | | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

Maybe this drawing makes the individual components more visible....

Page 24: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| nxproxy |<−−−−−−−−−−−−−−−−−−−−<| nxproxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | | "roundtrips" | | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

Page 25: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips

Page 26: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips over NX: Mozilla startup produces near−Zero roundtrips

Page 27: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips over NX: Mozilla startup produces near−Zero roundtrips

over plain old vanilla X: Mozills startup takes 7 minutes over a 9.600 baud modem connection

Page 28: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips over NX: Mozilla startup produces near−Zero roundtrips

over plain old vanilla X: Mozills startup takes 7 minutes over a 9.600 baud modem connection over NX: Mozilla startup takes 20 seconds over a 9.600 baud modem connection

Page 29: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips over NX: Mozilla startup produces near−Zero roundtrips

over plain old vanilla X: Mozills startup takes 7 minutes over a 9.600 baud modem connection over NX: Mozilla startup takes 20 seconds over a 9.600 baud modem connection

Page 30: GUUG Presentation NX

NX Flowchart

+−−−−−−−−−−−−−−+ +−−−−−−−−−−−+ RDP | Windows Ter− | | nxdesktop | ,−−−−−−−−<| minal Server,| +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | / | or XP Prof. | | | | | | | / +−−−−−−−−−−−−−−+ | | | | | <−−' +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | | | | | | | | NX "protocol" | +−−−−−−−−−−−+ | Remote X | | | X | local | (internet, modem) | remote | | nxagent | X | application | | local X |<−−−−−−−−−<| NX proxy |<−−−−−−−−−−−−−−−−−−−−<| NX proxy | | <−−−−−−−−−−−−−−−−−−−<| (or full | | display | | system | "roundtrips" | system | | | | KDE / GNOME | | | | | nearly at zero | +−−−−−−−−−−−+ | session) | | | | | | | | | +−−−−−−−−−−−−−+ | | | +−−−−−−−−−−−+ +−−−−−−−−−−−−−+ | | | | | <−−. | | | | | | \ +−−−−−−−−−−−−−−+ +−−−−−−−−−−−−+ +−−−−−−−−−−|−+ (agent) | \ RFB | (Tight)VNC− | decompression compression | nxviewer | `−−−−−−−−<| Server | caching caching +−−−−−−−−−−−+ | | +−−−−−−−−−−−−−−+

A few facts... ==============

over plain old vanilla X: Mozilla startup produces 6.000 roundtrips over NX: Mozilla startup produces near−Zero roundtrips

over plain old vanilla X: Mozills startup takes 7 minutes over a 9.600 baud modem connection over NX: Mozilla startup takes 20 seconds over a 9.600 baud modem connection