Difference between revisions of "GreenLight BlackBox 2.0"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(New page: ==Project Overview== These CalVR display modes allow two users to simultaneously use the StarCAVE or Nexcave with dual head tracking, while minimizing parallax in a balanced manner for bot...)
 
(Status)
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Project Overview==
 
==Project Overview==
These CalVR display modes allow two users to simultaneously use the StarCAVE or Nexcave with dual head tracking, while minimizing parallax in a balanced manner for both users.
+
Recent application for the GreenLight project, allowing users to visit the BlackBox virtually while observing live data from the physical BlackBox, such as power consumption and temperature readings. This allows non-obtrusive observation of the data, which could otherwise be affected if one were to enter the actual BlackBox. Additionally, a user can look at historical data of the components, with an effective "4D" display in which a range of data (spanning many days) is shown all at once via color gradients. The 8 racks within the Sun Data Center (the BlackBox) are populated with the components/servers/computers that are actually there via querying an up-to-date database of the hardware specs, along with the up-to-date energy statistics.
 
+
There are two modes under which the display will operate: single-user mode and multi-user mode. Under single-user mode, the display is perfect for the primary user and ignores any other head trackers in the CAVE. Under multi-user mode, each screen is partitioned into multiple zones, each of which is visualized by an independent camera. Each camera is set via an interpolation between the two users that is weighted based on how directly each user is facing the respective zone. When both users face directly at the same zone, that zone's camera location is set to balance the view-error between the users evenly, resulting in an equal amount of minimal immersion loss for each users. When both users face opposite sides of the cave, the zones cameras will be positioned purely based on the user's tracking that is facing that zone, resulting in each user seeing the zones before them in optimal quality (as the other user is ignored). When one user is looking directly at a zone and the second user is seeing the zone only peripherally, the camera is positioned to display the zone better for the user facing directly at the zone. The interpolation between the user locations, based on the users' orientations, is continuous and determined independently for each zone, resulting in a more continuous screen image as the zone quantity increases.
+
  
 
==Status==
 
==Status==
 +
''Phase 1 - John Mangan''
 
* Load in BlackBox
 
* Load in BlackBox
 
* Load in racks/doors/waterpipes/electrical within box (separate entities)
 
* Load in racks/doors/waterpipes/electrical within box (separate entities)
 
* Racks & doors interaction/animation
 
* Racks & doors interaction/animation
* Populate the racks with hardware components based on files
+
* Populate the racks with hardware components from flat files
 
* (High-level) Config file mapping for components to textures -- No more need to make individual server models.
 
* (High-level) Config file mapping for components to textures -- No more need to make individual server models.
 
* Update hardware data from remote site (message sending instead of file reading, no NFS delay)
 
* Update hardware data from remote site (message sending instead of file reading, no NFS delay)
 
* Transparency mode for non-component entities
 
* Transparency mode for non-component entities
* Read in power consumption data from remote site and display it via color gradients, relative to expected value for the component
+
* Read in power consumption data from remote site, store it meaningfully, and display it via a color relative to expected value range for the component
* Selection interface to target specific components in the racks
+
* Selection interface to target specific components in the racks (non-selected components are transparent)
 +
* Selection interface extended to allow cluster selection (clusters defined by name in the config file)
 +
* Heuristics for expected min/max wattage value per component in the racks
 +
* Visual mouse/wand over effects: scale up components in rack
 +
* Visual mouse/wand over effects: re-color doors/racks
 +
* Read in power consumption data from DB over a range of time
 +
* Display power consumption for a range of data via a color graph across the face of each part (via shader)
 +
* Handle component transparency via shaders
 +
* Legend added to 'Power Consumption' submenu which defines the color gradient and outlier cases
 +
* Toggle as to whether or not to show texture faces (useful to turn off textures when looking at historical data)
 +
* Demo mode, which will load default textures  on rack components when active
 +
* Created a List MenuItem (MenuList) for the general Menu system (and used to create timestamps)
 +
* Poll database for a user-set time range via start & end timestamps
 +
* Toggle to determine color gradient values based on the available data for each individual item, as opposed to the standard min/max for that cluster type.
  
==To-Do==
+
''Phase 2 - Alfred Tarng''
* Heuristics for expected min/max wattage values per component
+
* Runs through osgEarth
* Read in power consumption data over a range of time in the past and display (animate through) it
+
** Displays Blackbox in correct place on campus
 +
*** Placed in correct position (lat/long for center of box: 32.874264,-117.236074).
 +
*** scaled, oriented
 +
** Added menu item to Blackbox menu which will change the camera to a place in front of the container
 +
*** Created action button under Blackbox menu with label "Go to Model" or similar
 +
*** Move camera from current position to new position on planet, looking at Blackbox from south side
 +
 
 +
* Added level of detail support (LOD): distinguish three zones: out of sight, in sight, within reach
 +
** preFrame will be one of three callbacks (withinImage:Screenshot-4.png reach). Two more will be available for "in sight" and "out of sight"; move respective code from other parts to respective callbacks
 +
** Added new code to support "out of sight" representation, for instance cube or sphere or similar as placeholder for Blackbox (eg, billboarded low-res texture)
 +
[[Image:Screenshot-4.png]]
 +
 
 +
''Phase 3 - Alfred Tarng''
 +
* Added sound with new Linux audio server: sonify recorded data, alarm sound when box overheats/turns off
 +
** pitch changes according to the power consumption at a given time.
 +
* Power consumption is now animated when selecting individual components
 +
* Animation Widget for kernel (menu item, new popup window)
 +
 
 +
* Some Notes for future developers, the sound files need to be specified via the configuration file, as well as position attributes when integrating with the earth.
 +
** There is a sample configuration file for reference on the git repository.
 +
[[Image:GreenLigh_Sonified_Animation_Shot.png]]
  
 
==Future Work==
 
==Future Work==
* Auto-pilot version of plugin (for demos, especially when a wand isn't available)
+
* Integrating new Model of NexCAVE and Vroom models.
* Run through OssimPlanet
+
* Incorporate new smooth camera transition code.
 +
* Improve mechanism of LOD switching behaviour.
 +
 
 +
* When above max expected value, create a particle system to show the unit is smoking (as if burning up)
 
* Temperature zones (pull data and display)
 
* Temperature zones (pull data and display)
* Temperature zones over a range of time from the past, animate through
+
** Temperature zones over a range of time from the past, animate through
 +
* Possible cluster view? Wattage per cluster, along with the graph node/edge concept from Covise 199 project?
  
 
==Participants==
 
==Participants==
Line 29: Line 65:
 
Software Developers:
 
Software Developers:
  
* [http://www.linkedin.com/in/manganse John Mangan]
+
* [http://www.linkedin.com/in/manganse John Mangan] - Phase 1
 +
* Alfred Tarng - Phase 2
  
 
Project Advisors:
 
Project Advisors:
Line 40: Line 77:
  
 
* Andrew Prudhomme
 
* Andrew Prudhomme
 +
 +
Initial Concept Base:
 +
 +
* [[GreenLight_Blackbox]]

Latest revision as of 15:03, 5 June 2012

Contents

Project Overview

Recent application for the GreenLight project, allowing users to visit the BlackBox virtually while observing live data from the physical BlackBox, such as power consumption and temperature readings. This allows non-obtrusive observation of the data, which could otherwise be affected if one were to enter the actual BlackBox. Additionally, a user can look at historical data of the components, with an effective "4D" display in which a range of data (spanning many days) is shown all at once via color gradients. The 8 racks within the Sun Data Center (the BlackBox) are populated with the components/servers/computers that are actually there via querying an up-to-date database of the hardware specs, along with the up-to-date energy statistics.

Status

Phase 1 - John Mangan

  • Load in BlackBox
  • Load in racks/doors/waterpipes/electrical within box (separate entities)
  • Racks & doors interaction/animation
  • Populate the racks with hardware components from flat files
  • (High-level) Config file mapping for components to textures -- No more need to make individual server models.
  • Update hardware data from remote site (message sending instead of file reading, no NFS delay)
  • Transparency mode for non-component entities
  • Read in power consumption data from remote site, store it meaningfully, and display it via a color relative to expected value range for the component
  • Selection interface to target specific components in the racks (non-selected components are transparent)
  • Selection interface extended to allow cluster selection (clusters defined by name in the config file)
  • Heuristics for expected min/max wattage value per component in the racks
  • Visual mouse/wand over effects: scale up components in rack
  • Visual mouse/wand over effects: re-color doors/racks
  • Read in power consumption data from DB over a range of time
  • Display power consumption for a range of data via a color graph across the face of each part (via shader)
  • Handle component transparency via shaders
  • Legend added to 'Power Consumption' submenu which defines the color gradient and outlier cases
  • Toggle as to whether or not to show texture faces (useful to turn off textures when looking at historical data)
  • Demo mode, which will load default textures on rack components when active
  • Created a List MenuItem (MenuList) for the general Menu system (and used to create timestamps)
  • Poll database for a user-set time range via start & end timestamps
  • Toggle to determine color gradient values based on the available data for each individual item, as opposed to the standard min/max for that cluster type.

Phase 2 - Alfred Tarng

  • Runs through osgEarth
    • Displays Blackbox in correct place on campus
      • Placed in correct position (lat/long for center of box: 32.874264,-117.236074).
      • scaled, oriented
    • Added menu item to Blackbox menu which will change the camera to a place in front of the container
      • Created action button under Blackbox menu with label "Go to Model" or similar
      • Move camera from current position to new position on planet, looking at Blackbox from south side
  • Added level of detail support (LOD): distinguish three zones: out of sight, in sight, within reach
    • preFrame will be one of three callbacks (withinImage:Screenshot-4.png reach). Two more will be available for "in sight" and "out of sight"; move respective code from other parts to respective callbacks
    • Added new code to support "out of sight" representation, for instance cube or sphere or similar as placeholder for Blackbox (eg, billboarded low-res texture)

Screenshot-4.png

Phase 3 - Alfred Tarng

  • Added sound with new Linux audio server: sonify recorded data, alarm sound when box overheats/turns off
    • pitch changes according to the power consumption at a given time.
  • Power consumption is now animated when selecting individual components
  • Animation Widget for kernel (menu item, new popup window)
  • Some Notes for future developers, the sound files need to be specified via the configuration file, as well as position attributes when integrating with the earth.
    • There is a sample configuration file for reference on the git repository.

GreenLigh Sonified Animation Shot.png

Future Work

  • Integrating new Model of NexCAVE and Vroom models.
  • Incorporate new smooth camera transition code.
  • Improve mechanism of LOD switching behaviour.
  • When above max expected value, create a particle system to show the unit is smoking (as if burning up)
  • Temperature zones (pull data and display)
    • Temperature zones over a range of time from the past, animate through
  • Possible cluster view? Wattage per cluster, along with the graph node/edge concept from Covise 199 project?

Participants

Software Developers:

Project Advisors:

Development Assistance:

  • Philip Weber
  • Andrew Prudhomme

Initial Concept Base: