A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

Threads, SMP, and Microkernels
15 th Annual Tcl/Tk Conference October 2008 Timothy L. Tomkinson Fellow Software Engineer Northrop Grumman Electronic Systems Remote Control of Test Equipment.
A new Network Concept for transporting and storing digital video…………
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
The road to reliable, autonomous distributed systems
What is a Programming Language? The computer operates using binary numbers. The computer only knows about 1’s and 0’s. Humans can also use 1’s and 0’s,
Course Overview Introduction Computer System Structures
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Computer Software.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
Cloud Computing.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Institute of Informatics & Telecommunications – NCSR “Demokritos” Ellogon and the challenge of threads Georgios Petasis Software and Knowledge Engineering.
ProCol~ A jEdit Plugin for Remote Project Collaboration Justin Dieters Spring 2004 CS470 Final Presentation.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Open Web App. Purpose To explain Open Web Apps To explain Open Web Apps To demonstrate some opportunities for a small business with this technology To.
CHAPTER FOUR COMPUTER SOFTWARE.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Computer Programming 12 Mr. Jean March 19 th, 2013.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
DCE (distributed computing environment) DCE (distributed computing environment)
VirtualBox What you need to know to build a Virtual Machine.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Java Tutorial Ethan New York University.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
We will talking about story of JAVA language. By Kristsada Songpartom.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Introduction Why are virtual machines interesting?
Computing at SSRL: Experimental User Support Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Goals Structural Biology Collaboratory Allow a team of researchers distributed anywhere in the world to perform a complete crystallographic experiment.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Chapter 4: Threads.
BLU-ICE & The Distributed Control System Past, Present, and Future
The Mach System Sri Ramkrishna.
CASE STUDY 1: Linux and Android
An Overview of Java.
Chapter 3: Windows7 Part 1.
Chapter 4: Threads.
Chapter 2: System Structures
Outline Chapter 2 (cont) OS Design OS structure
Prof. Leonardo Mostarda University of Camerino
A Remote Collaboration Environment for Protein Crystallography
Chapter 2: Operating-System Structures
Outline Operating System Organization Operating System Examples
Sending data to EUROSTAT using STATEL and STADIUM web client
Presentation transcript:

A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory General Goal: Allow a team of researchers distributed anywhere in the world to perform a complete crystallographic experiment, from data collection to structure publication. User at SSRL Team Member at Home Lab Remote Collaborator Collaboratory Manager Equipment Control DataCPU Internet Local Area Network

X-ray Diffraction Experiments Give the Detailed Atomic Structure of Protein Molecules Diffraction data Electron density Molecular model of Cholera toxin Protein crystal

Protein Diffraction Work Bears Several Similarities to the High Energy Physics Field Experiments performed at National facilities Large user base ~4 users per group ~90 groups per year at each beamline Big datasets Current detectors: ~0.6 Terabyte/year CCD next generation: ~20 Tb/year Acquisition software must perform well since each group has ~50 hours experimental time No downtime is possible Very little time for data backup Graphical user interface Users need shared access to data during an extended analysis period SSRL Synchrotron Source

Designing a Modern System from the Ground Up High Performance Computing Environment at the Beamline l Distributed Architecture l Cross Platform Compatibility l GUI’s Implemented in Tcl/Tk Extending this System for Remote Access l Viewing the Data from a Remote Platform l Live Video Feed from the Experimental Floor l Remote File Access and Data Archiving l General Security Considerations l Delivering X-window Legacy Applications with Terminal Server

The Problem of Multiple, Simultaneous User Interfaces

The Problem of Multiple Hardware Hosts

Solution: Distributed Control System (DCS)

A Peek Inside the DCS Server

Cross-Operating System Library (XOS) Features Supports portable, multithreaded, distributed programs Network communication using simplified socket objects. Thread creation and synchronization with mutexes and semaphores. Memory mapped files and hash tables. Inter-thread communication with message queues and Win32-style messages. Compile-time approach Header file xos.h loads appropriate, system-dependent include files. Advantages l Portability Compile code on Digital Unix, IRIX, OpenVMS, Windows NT/95. Easy to port to new platforms similar to any of the above. l Reliability Simpler APIs leads to more reliable code. Less need to study different platforms; easy for novice programmers. l Performance Native system calls on each platform for maximum performance No runtime overhead for platform independence. l Open Source

Tcl / Tk for GUI Development Source: John Ousterhoust, IEEE Computer, March 1998 Rapid Development l GUI needs only a fraction of the code necessary in C, C++ or Java. l Easy for the novice programmer! l Quick coding & easy maintenance is essential for rapidly changing beamline environment.

Other Advantages of Tcl /Tk Platform Independence Unix, VMS, Mac, and Win32. Scripts can be distributed without compilation and run on any computer Tcl/Tk has been installed on. Or…scripts can be bundled with Tcl/Tk binaries and distributed as a single executable file. Extensible in C/C++ Tcl was designed to be extended readily in C or C++. High performance code, multiple threads, etc., best implemented as extensions. XOS library is used for sockets. Object Orientation The [Incr Tcl] extension to Tcl provides object-oriented features such as classes. The [Incr Widgets] extension provides an object oriented framework for building complex widgets from built-in Tcl widgets.

Data Collection GUI written in Tcl/Tk

Adding a JPEG Compressor to the System

A Web-based Data Viewer at

Video Feeds from the Experimental Floor Sample Manipulation Beamline Instruments Videoconference

Architecture for Remote Video

Transparent File Access For Remote Collaborators

Metadata for Diffraction Images File Header Thumbnail View File Parameters Creation date Access control list Tape archive status User annotation Annotation by data processing software Move, rename, and copy tracking Larger JPEG View

Architecture for Remote Archiving

General Security Architecture

Legacy Applications Can Run Within X-window on Metaframe SGI Desktop at home lab Windows Terminal Server at SSRL Seen Through ICA Connection WRQ Reflection-X Showing SGI Desktop at SSRL Data Analysis Application Running at SSRL

Summary: Four Platforms for Remote Access