Title: AWIPS%20II%20Thin%20Client%20Development%20Jebb%20Stewart%20NOAA/ESRL/GSD%20Affiliated%20with%20Colorado%20State%20University%20Cooperative%20Institute%20for%20Research%20in%20the%20Atmosphere%20(CIRA)%20September%2029th
1 AWIPS II Thin Client DevelopmentJebb
StewartNOAA/ESRL/GSDAffiliated with Colorado
State University Cooperative Institute for
Research in the Atmosphere (CIRA)September 29th
Earth System Research Laboratory Global Systems
Division Technology Outreach Branch
2Project Overview
- Thin Client OSIP Documents at Gate Three
- AWIPS II Thin Client Analysis and Evaluation
3Development Objectives
- Extend CAVE to support
- Center Weather Service Units (CWSUs)
- Weather Service Offices (WSOs)
- Incident Support Specialists (ISS) including
Incident Meteorologists (IMETs) - NCEP Centers to partially support Continuity of
Operations Planning (COOP) - River Forecast Centers (RFCs)
4Development Objectives (Continued)
- To enable Common AWIPS Visualization Environment
(CAVE) to work outside local area network. - Add Windows OS Compatibility
- Low bandwidth and capability to work on any type
of internet access (satellite/BGAN, wireless,
local network) requirements. - Many base requirements have been pulled from
FX-Net program. - Thin Client Requirements document contains many
more.
5Results From Analysis
- Analysis was performed on new versions of CAVE as
they were released. Last in depth analysis was
R1G1-3. - Basically Functionality (ie Weather Browsing)
works. - Some Missing Requirements.
- Performance Problems within Windows Environment
need to be resolved.
6AWIPS II Remote Mode
- AWIPS II has built in capability to run in
Remote Mode - Remote mode no longer requires HDF5 file mount
and accesses all data through HTTP - To enable Remote mode.
- Add or uncomment line awips.modeclient
- In regular CAVE installation
- CAVE_INSTALLATION_PATH/configuration/config.in
i - In ADE
- com.raytheon.viz.product.awips -gt config.ini
7AWIPS II Remote Mode Ports Required
Service Name Port Number Capability
Localization Service 9581 This service is used to load localization configuration during startup and requests for data. (Required)
Messaging Service (AMQP) 5672 This service feeds product meta information such as product inventory and new product notification.
Remote Access Gained using either SSH Tunnels or
VPN connection
8Possible Client Types Explored
- AWIPS 2 Built and optimized on Linux. How do we
provide a multiple OS solution? - Virtual Desktop
- A remote desktop capability using NoMachine (NX)
technology where CAVE runs on a remote server and
user views the screen as it changes (similar to a
streaming movie). - Virtual Machine
- On client hardware, A virtual machine is running
an instance of Linux operating system using
VirtualBox software. CAVE runs natively on Linux
OS within Virtual Machine and is viewed on
client. - Native Windows
- CAVE runs natively on Windows operating system
9Virtual Client
Pros Cons Risks Proposed Action
CAVE running in Linux native mode. (No porting necessary) One well-known TCP/IP port (SSH). Simple X-Windows client interface. Minimal systems administration support required. Efficient bandwidth utilization. Perceived performance is highly dependent upon network availability. Hardware must scale with number of connected clients. Requires high network availability. Requires additional hardware cost on server side. Video driver compatibility (low risk). Evaluate single client instance load/demand running on one server. Evaluate multiple client instances running on one server. Evaluate other scalability options (cloud, etc.). Evaluate NX web client. Verify proper video drivers.
10Virtual Machine
Pros Cons Risks Proposed Action
CAVE running in Linux native mode. (No porting necessary) Available on multiple operating systems Some line offices already use this solution for AWIPS 1 - D/2D with effective results and minimal logistical impact. Unknown additional security requirements for two operating systems running on one machine. OpenGL support minimal in Virtual Machine software. Poorest performance of all offered solutions. Security may restrict access to one or both TCP/IP ports. Undefined security policy for virtual machine on Windows. Users need administration expertise for virtual machine Assess TCP/IP port hardening issues. Determine NWS security policies. Feasibility evaluation. Monitor Open GL development in Virtual Machine software.
11Native Windows
Pros Cons Risks Proposed Action
Native binaries mean best performance of all evaluated options. No Linux system administration needed on client-side. Modifications and optimization required to run in Windows Environment. Each new version of CAVE needs to be modified to support Windows OS Environment. Third party tools / APIs may need porting/testing. All Test Cases may need to be re-ran in Windows Environment Assess TCP/IP port hardening issues. Gather requirements for third-party tools.
12Use Case Matrix
Client Type Security Impact Failure Impacts CWSU Use Case (High Availability/High Speed) WSO Use Case (High Availability/Moderate Speed) IMET Use Case (Moderate-Low Availability/Moderate-Low Speed)
Virtual Client Low Moderate (3 points of failure) Virtual Client. CAVE client. EDEX Server. No Yes No
Virtual Machine Moderate High (4 points of failure) Virtual Machine. Platform VM interface. CAVE client. EDEX server. Yes Yes No
Native Windows Moderate Low (2 points of failure) CAVE client EDEX server Yes Yes Yes
13Porting To WindowsItems Required
- Need proper Eclipse environment. 3.4.1
- Setup Python 2.6 Including additional support
libraries (NUMPY, SCIPY, etc) - Verify libraries available in site-packages on
Linux - Setup JAVA, 1.6 Plus Additional Libraries
- Java Imaging, Java imaging IO, JAVA 3D.
- Modifications to code
- Path Problems (C\\users\jstewart) incorrectly
appended to all file paths - Newer JEP version slightly different API.
- Script Template Path Problems
- Native Library Support libmeteolib
(Contouring), JEP (Python interaction). - Used Cygwin to recompile missing native libraries
14Porting to WindowsIssues
- OpenGL/Graphics Card interaction messy,
refreshing canvas problems. - Delay problems. Items behind the scenes take
longer than on Linux and using client without
waiting results in errors. - UI (Creating widgets, alerts) needs additional
work.
15Porting to WindowsFuture Items
- As new releases are created, need to verify
portability of changes. - Any extensions created may require additional
porting if not 100 java. - Only Basic Functionality has been tested on
Windows OS, Other tools (ie GFE ) require
further testing
16Other Thin Client Development
- Improve bandwidth utilization by using
compression on Thrift objects. - Google Earth Export.
- Other Missing Requirements.
17Questions?Discussion