Go to the Penn State Home page

Go to the CLC Home page

Go to the ITS Home page
This site uses .Net links. Please use Text Only version for screen readers.  Text Only Printable Version    Secure Server Search CLC:   
   
  CLC Home
  News
  Labs
  Classrooms
  Overview
  Scheduling
  Resources
  Design Standards
  News
  Help
  Assistive Technology
  Printing
  Disk Space
  Authentication
  Lab Admin Support
  Contacts
  About Us
  Search

Classroom Setup and Control
How It Works

Links: Home

Summary

It's magic.

Background

Quite a few years ago we wrote our own software that was installed on lab Windows computers in order to update the software on that computer.  "Pushing" files to the remote computers was unreliable and time-consuming because they were often turned off or there were network problems.  "Update Service" (UpdtServ for short) runs as a service and checked to see what needed to be installed whenever the computer was started, as well as random times in the middle of the night.

Software installation has since evolved to use Active Directory Group Policies and assignments of packages based on OU (Organizational Unit).  UpdtServ still installs a few things that can't be done correctly with "MSI" (Microsoft Installer) files. 

At some point we added a command and control subsystem to UpdtServ.   We can broadcast a UDP packet onto the remote subnet and all the computers that are on and running UpdtServ reply to the central utility.   This proved very useful for quickly checking what all the computers in the many locations were up to at any given time.

Then, a few years ago, and instructor teaching in one of the labs asked if there was a way to keep his students from using the computers at certain times during the class.   A command to "lock" the computer (put up a full-screen window that prevents any programs from being used) as developed, and a web-based system for displaying a "map" of the room and issuing commands to all or individual computers was developed.

The Class Control system works fairly well, except a web browser is not a great user interface for something like this, and the server-side program need to wait some period for all the lab computers to respond before sending html back to the podium's browser.

All these programs are written in VB 6, which is fast to develop with and reliable when deployed.

New System

With some additional function needed ("eTesting" setup and control) we decided to develop a new control program that would:

Details

On startup, Classroom Setup does the following:

At this point, packets are received from the student computers asynchronously, and the display is updated accordingly.  When the instructor presses a button to send a command to all the computers, all the label background colors are changed to yellow (not replying).  When a reply is received, the background color is changed to a color defined for that reply (there is a legend on the screen).  We have to think of something to do for users that are color blind.

On exit, Classroom Setup sends a "monitor off" command to all computers.  UpdtServ will also expire the monitor setting after 8 hours if no "off" is received.

All actions, commands, and replies are logged to the text control at the bottom of the application window; this information is also sent to the central database to aid in problem determination.  Any error messages are also logged centrally. 

Classroom Setup is written in VB.Net.   It uses the Udpport control from nSoftware to send encrypted packets to the lab computers and listen for replies.  There are various security measures to prevent and detect unauthorized use.

 

 


© 2006, The Pennsylvania State University. All rights reserved.
This site maintained by the Classroom and Lab Computing group of Information Technology Services.
Suggestions and comments about this web site: CLC Webmasters; Other contacts here.

This page was last modified: 4/21/2004 11:28:11 AM.