MMC Architecture Workshop
October 21.1997
Michael Wright’s Presentation I &II
showed his VGs
vgs will be on the web, send to bryan allen
no questions
Edgar Voelkl’s Presentation- what can’t we do today
showed his VGs
LEO is in communication speed with the microscope and leading...
shack "idea"
NZ - when thinking about day to day archiving.. have permanent and throw-away data (archival info vs. scratchpad)
EV - when save image.. gets a number tag, etc... on-line for several mo... server changes the owner of file within 10 min (to protect from changes)
NZ - so currently have no scratchpad... once save as... it is saved
JAR - if other people want to use that image.. no info about what it is about... no metadata
but, are people going to use and need to search for images
Ginny - how store from various instruments
EV - a folder exists for each instrument.. 50GB system.. fully backed-up...
Reza - why not make the archive the responsibility of the client side
EV - ensures that everything is secure, etc.
TAN - as user center feel it is their duty to provide this capability
Reza - sounds like a headache
EV - only the saving to CD
MOK - back-ups are on tape.. what he is describing is local to ORNL... are you proposing this for the MMC
EV- not clear if need to have centralized storage across MMC
MOK - perhaps a distributed system
JAR - we need to maybe design a system and agree on it... will need lots of metadata if plan on a centralized system for searching
JHunt - can purchase databases
Hans - archiving is still not a problem... need to have the ability to associate lots of information with an experiment.. there is no problem on the market that can do that... there are also many kinds of data... need to get all this info together and a means to search it.. has this been discussed at all...
JHunt - maybe we can blow $50K as a group to do this... go and buy it.. Documentum (for drug qualification)
Hans - can it be customizable
JHunt - our needs are not unique.. Documentum has a package to handle this.. start at the $100K
Hans- does this allow Java plug-ins to hook into this data
NZ - what about notebooks and Habanero toolset... these are beginning to develop into this manner.. there is a location... it is not working yet
JHunt - Hans and he have different concerns.. providing storage for customers with far less $$ than the collaboratory... direct appln of money may fix it for us
Bryan Allen’s Presentation
showed his VGs
breakdown: enabling functions, collaboration functions, device interaction, persistence
ORB- an applet...
Hans - where would core software sit on the next generation architecture..
DBA - on real-time command and control software level
NZ - needs to be through JAVA.
Hans - this is a very good architeture to design expts
Jhunt - why not use the next generation architecture now?
DBA - have heard primarily about the cruder API architecture since became involved in MMC
NZ - embedded processor does not need to be in the instrument... if asked microscope companies to include an embedded processor... they would not do it
Jhunt - whole purpose of all of this is that implementation is a detail... processor need not be on the microscope
Ray - all can be done on JAVA
How much persistence do we really need? Do we need to be able to re-trace our footsteps? How do we search these entities? what about metadata and/or metadata encapsulation? relational databases help with searching...
Need to integrate the electronic notebooks more...
JAR - there is another box... what about specimens?
Other Presentations
JARome
Security issues
Entrust - canadian company going public soon; labs use it; use two key-pairs; escrowed key is an advantage with foreign users; under your control, not the governments; can replace the netscape security with the entrust; can use entrust-aware applns
MMC applns would need to keep track of public key
Entrust certificates are expensive - $157 each... but can be re-issued to new users (can revoke first users certificate)... had a deal to buy $50 each up until June, but no applns could use them
within the architecture.. need a call to the security service to allow that call
user only needs to keep track of private key
will use authority certificates being generated by LBNL... this will bind things like training, reservations, etc. - the security engine will check keys as well as the certificate to see what that user has the authority to do
Ray - design the architecture so that security is a plug-in and that as things change can modify readily
NZ - couldn’t use simplify it by using DBA’s model... and check it as come into it... then the APIs don’t need to check
JAR - don’t agree..need to check on every appln
NZ - don’t agree... don’t need so many checks
Ray - need to minimize and/or optimize the number of places that you check security
JAR - set of security functions that are turned on depends on the role of the user
Bahram Pavram -
Software busconcentrate on the instrument services aspects... think in terms of properties, actions and results
from user point of view... there is a directory of instruments with an associated list of location, description, etc as well as a list of properties (functions) which can be utilized by that instrument
use a set of general commands... that use a shell to be used by a particular instrument
in multiple user environment... need this to be multicast
NZ - a lot of info... need to examine more and decide which functionalities are being used
BP - need to decide what the best strategy is from the user standpoint
NZ - two ways of viewing it... what is everything you can control. vs. what do you actually need
BP- user profile is a different issue... that is, what functions can a user actually access
in the long-term each instrument will have it’s own individual interface
JHunt - the web-based description that BP and he have developed is also useful... need a plan for common control for instruments
EV - Max would like to have the microscope with an outside computer that does outside control, Hitachi does it more directly to microscope itself...
JHunt - need to write a program to access the kind of control that each vendor provides... need a high level control algorithm
JHunt - so encapsulate it so that it makes no difference, need to go to the point where can get commonality... need to think software bus implementation...
BP - object-request broker locates the service that you require.. just tells you if you can do it and then performs it
MCW - need workshop to be about architecture... need to create the APIs... BP has a 3 layer model of property, function and instrument implementation
Hans - this model should include detectors as well
MCW - where does abstraction occur
JHunt - maybe should be a fourth layer... between the function and instrumentation implementation layer... this model does not yet deal with large amounts of data coming from the detector (hidden in this model)
Hans - what we really want to do is do experiments... need to shift to expt-oriented thinking.. expter must implement the expt - must include detectors and imaging as well, does software bus thinking include detectors as well...
BP - info can come from detector, from CCD camera... have two sets of data source - control parameters for dynamic studies and information being generated
JAR - from users point of view... have several computers with various diagnostics in the actual microscope room... but if running remotely only have one screen
NZ - what does the user need in front of him? how many computers
BP - new products... Orbix manager allows you to build diagnostics systems into the ORB... can be presented to the end-user... also Orbix Talk and Orbix Event to handle broadcast... "talk" has reliable multicast and logging information
DBA - what about licenses for the Orblets... the developer’s pay the license fee
JHunt - you don’t pay for the clients... Forte has a variety of solutions as well and their clients are now free as well
NZ - what are the functions that you have -- shift, tilt, mag... what else? Need to be flexible enough to cover all instruments to be used in the collaboratory... e.g.- if know functionality can design the API to do that
JAR - need to design the set of commands for the SHACK
Pass by microscope manufacturer
Instrument Control
Hans de Ruitjer
Detector Systems
want to open Pandora’s box on how implement this... like to see our need to integrate all of this together... should have the same philosophy locally as well... should aim for one local one and one remote one
JAR - do present Pcs have enough computer power to do this?
Hans - for the most part, the answer is yes
More microscopists are thinking of doing expts, not just data... need to combine the information (metadata??)... e.g. - Z Contrast/HRPEELS
Microscope control aspects are much older... microscopes are much more adaptable to exptl modifications... but now we need to include detectors in this scenario
if want to talk to detectors... still need to break-into the detectors... need to make the detectors more open system..
two aspects - hardware and software
two ways to get one computer in the room
1) one computer talking to many signals and the computer control
or... 2) could have microscopes and detectors be TCP/IP nodes on the network (better soln.. could even combine several instruments in an expt)
every detector should have a driver
software bus idea implements this scenario
need to convince manufacturers to implement this technology (need to get these to work together)
last point - once all detectors are on-line enet and software bus in place... still need some implementation for expts.... there are timing issues where various detectors need to talk to each other - can’t always do independent... need to develop a core to design expts.as well as the "architecture"
NZ - yes, I like it, but realistically need to decide on short-term goals... this vision could be an output of the MMC (the ideal down the road)
Hans - software bus in place to talk to instruments... software needs to be developed to design expts... or do we stick with Timbuktu and run comml applns
NZ - Timbuktu is not considered a solution... only OK to start things up
JHunt - need to get everyone interacting and defining standards for communication... we have an opportunity here to allow the microscopes community to interact... we have a lot of little problems (an engineering project)... could define a common interface and have the manufacturer bring theirs up to there or could kludge things to what the manufacturers currently have supplied us with... we are working very abstractly about philosophy
Hans - need to go to open systems across the board.. open= detector with driver and e-net connection
JHunt - UNIX is "open" because people come together and define standards
Hans - but this is "open" hardware, not software that I am referring to
JHunt - is Gatan an "open" system.?..no, despite the fact the everything is controllable through a network... but it is specific to DM... there is no common standard...
Ginny - is "open" system still a useful term?
Hans - currently in EM, every vendor has hardware and software to run the instrument, the functionality of instruments is defined by the vendor-specific software...would prefer to see an "open" system that can be accessed
MCW - have many layers do we need
DBA - the user interface can be up-loaded in real-time in an intelligent way from the server
John Hunt
Imaging and Analysis
why is Timbuktu not a good soln..need to think about this before we can declare that web-based control is the right soln.
old microscopes are linked to a PC and treated as a complete system
if we can come up with the descriptions for how the CCD camera or xray system connects to the LAN, etc... (in an extensible manner) ... we have accomplished something
DBA - what if the computer is a Windows 3.1 machine...
JH - wouldn’t touch it...would put another machine somewhere?
there should be only one computer that the user has to touch... there can be more computers around...Hans agrees
Instrumentation evolution - bleeding, leading maturing and maturity... need to support all of it.. some of these instruments have very little built-in automation
most selling instrumentation is leading edge (level II)
despite computer automation, system complexity has increased... need to integrate more
need to provide interfaces for both basic and bleeding edge users
Gatan TEM automation - TEM autotuning, magnification calibration, TEM system control (icon control, image centric contro, context images), automated/assisted image acquisition, automated image analysis, specimen maps and digital notebooks
BP - can you give an example of automated image analysis
JH - particle size analysis... dimensionality measurements, e.g.
JH - automated image analysis will be hard with a web-browser interface... eventually you would prefer to use it locally (e.g. via a downloadable image analysis program that has a finite lifetime)
LFA - do you foresee an efficient way to show specimen maps/digital notebooks during the course of an expt? we still always go back to paper and pencil
JH - 15 hrs ago the geological researchers were using this technology...
JAR - Human Genome people have Java-based tools.
JH - we should steal what we can... wait for other things... reluctantly create what we have to (minimalistically)
Hans - digital notebooks can be integrated by querying the instrumentation for operating conditions
JH - Example: when acquire an image... get all imaging parameters (some timing problems... latency on order of 30 sec.)...use a tensor to map the stage coordinates between expts when the specimen is removed and reinserted (depends on reference parameters and calibration)... a layer manager is used to relate the "children" images (metadata)...
Hans - how do we do this on the remote side?
JH - showed for 2 reasons... to show what is available - Gatan has a high level control package that is instrument-independent... the next step is to use commodity functions (all microscopes have) and unique functions...2nd reason to show is that there are certain functions that cannot be performed on web-based browsers...
JAR - but NGI
NZ - but it will matter to the clients
Hans - Why can high level functionality not be available on web-based browser? can you give an example of BW-limited problems?
JH - implementation burden on manuf. to develop dual interfaces on all machines..
MCW - there is a difference between whether it can be done and whether it is practical (for the reasons given above)
Hans - it would be good if core software was available as building blocks for expt. and get us away from the limited, specific software available from indl. manuf. -- use Java blocks to design the appropriate expts.... why can’t the expt-er write a java script for the appropriate expt.
JH - does not believe that the manuf. will make this all available
NZ - doesn’t expect manuf. to implement every functionality of their microscope onto a web-browser... would put them out of business and no-one would want to buy the proprietary, specialized software
Razdan -ASU
Partnership for Research in Stereo Modeling - remote operation of the SPM
NSF funded - Interactive visualization in science and engineering
www site for educational thrust
started in May... first attempts are quick and dirty
goals: live viewing; create web tools to view ad analyze images; capability for remote
operation
use an SGI server wtih Micro-app, utility app, Httpd, CGI: with connections to remote operator, other clients and canned image/data storage capabilities
have embedded software in topometrix to communicate with microscope control via sockets
receive and send data from the microscope running on a SGI O2
examine 3D data
software runs on SGI in C++, acts as a go-between the web clients and microscope
creates a JPEG image which is fed to the clients as either 2D or 3D data
2D JPEG mutli-threaded CGI program using server push, 3D uses pull technology
WWW Client (2D) - web brosers... web client for remote control..
Java Applet - provides simple user interface to remotely operate the SPM
3D PLUG-IN... allows for image manipulation.. each client can control the viewing parameters... rendering is a netscape plug-in local to the client
future: measurement and characterization tools... extend technology to other instruments... conferencing feature between clients for redlining and communication.. update with new web technologies as they emerge
website: see link on workshop website: http://invsee.eas.asu.edu/remote/
Open GL libraries are available from Microsoft
simple user interface to select area of scanning... and submit... via Netscape (or any Java-enabled browser)
Hans - are you trying to implement some microscope control to set operating parameters
Rasdan- plan to move forward, will have to implement security.... as more and more controls... have to deal with real estate issues
Rasdan - similar to an embedded controller... clients don’t see how many computers, etc. are involved... interested in the core software ideas espoused by Hans... always will need a device independent layer that each instrument manufacturer will need to conform to
Christopher Morgan - California State, Hayward (MOK connection)
Microscope and Graphic Imaging Center (Magic)
home site of a network of microscopes within the CSU system...
provide local and remote access for optical and electron microscopes
Philips XL-40 EM (primary instrument)... there are others involved
IP over modem...
using PC Anywhere and Timbuktu to some extend
custom, in-house software (IRSA)
outreach program with high schools (distributed learning resources program for education outreach)
Basic model - an instrument is controlled over SCSI bus.. controlled by a SEM-PC
use PC Anywhere on SEM-PC (several problems with that)... now use a direct custom control through a library...have an API supplied by Philips... use intermediary or proxy software in-between..
now going to a central server model... capture video separately through campus cable and/or VC network (like one of the instruments) - also captured through Sun workstation... trying to do a modular approach where things just plug-in
Networking (internet, ATM, modem, Internet 2 proposals)... GUI.. software development (object-oriented, tool-based)... distributed systems
NZ - IRSA sends what kind of protocols? it is JAVA, so it is multi-platform...
CM - RPC protocols like Sun protocols
have a push technology for JPEG images.... runs as a separate process.. that is the nice thing about UNIX machines
wants to work with us to make sure that what we develop is applicable across many fields
Cam Hubbard -beamlines
see VG
KBA - videoconferencing
what are the requirements and how flexible do we have to be...do we want to electronically mimic how we currently operate microscopes or create a new electronic way that is more optimized to use BW
Ray Bair - PNNL
DOE2000 ... Collaborative Session Management (PNNL/ANL)
There are several classes of tools that share an infrastructure... real time tools for 2-->> n people working together... and anyone an act on that tool and everybody sees it at once... pass events and pass data requires a framework so operate on
Cross-platform is necessary
Wanted a flexible framework that you could add onto as needed
NCSA Habanero - Univ. of Illinois, Champaign-Urbana... provides a user environment from which you can join a collaborative session...with it’s own session control interface... operates with a client/server architecture...you get a pallette with a selection of tools you might use in your collaborations... everyone sees what you see and/or open up...all written in JAVA...
features: collaborative framework, supports a wide variety of tools, cross-platform with JAVA development kit, provides routing, synchronization, arbitration; shared events; provides sharing of state data; applns leverage new framework developments such as CORBA
DOE2000 Habanero additions - security API, improved floor control, multiple modes including 3D virtual rooms, additional tools - shared screens (televiewer), audio/video (Mbone, CUSeeME), shared netscape browser (Webtour), shared editors, instruments, etc.
EMSL Televiewer - only screen display tool that is platform-independent... not remote... share anything on your screen with anyone, anywhere, & print, save, copy shared screen regions. Server provides translations for the platforms, screens in use. Sends compressed difference data (which is fast). Not fast for video screens where lots of things are changing.
Multi-pane Whiteboard - with thumbnails, parallel work within distributed groups, draw text, lines, shapes, etc... came out of summer project- a Habanero tool
Finished a software distribution agreement... next release date is Oct. 31...beta release on the website...http://www.emsl.pnl.gov/docs/collab (has better installation procedures)
Windows NT testing starts in Nov... works on W’95, IRIX, Sun Solaris, Macs now
Exhibit at SC’97 in San Jose, CA -- November 17-20.
Nestor -ANL
MMC User Interface...
Not going to talk about what I’m doing, because that is irrelevant...Would like to have us define the functionality contained within the user interface.
Starting functionality list:
• platform independent,
• intuitive GUI,
• responsive to the user,
• adaptable to lots of instruments,
• provides what the user needs to do the expt.
communication & control: user interface (www/rcp)... server... communication API... instrument driver appln... microscope --- what about data? what about intelligent agents?
SUN and GTS have donated about $250K in equipment to us - 300Hz with software and hardware to do video serving as well as video conferencing (two complete video boards)... gives us a baseline for comparison...same baseline across the laboratories
APIs command structure "in" to API (translator) which sends control syntex (defined by the microscope manufacturer) to the microscope... question is whether the info goes directly to the microscope or through another
we can create the command structure at this workshop
Design Criteria:
• client platform (CPU speed, desktop area)
• connectivity of user
• variable user level
• instrument safety
• instrument data format
• API/instrument communication speed
Basic Functions to be implemented (novice level - indt of system)
• translate/tilt... do we specify a distance?
• focus image
• adjust prove
• magnify image... do we just increase and decrease?
• change modes
• change acquisition rates
• change resolution
• change detectors
• read/write instrument parameters
• recall/store data (images, spectra, text)
Expert Level Functions
• instrument alignments
• full e-o adjustments
• expert modes (HREM, holography, HADF/STEM, EFI, Spectral images)
Local Level Functions
• gun operations
• specimen exchange
• calibrations
• start up
• vacuum
Screen turf is an issue... what do you put on the screen at any given point in time... users might have small screens... use tabbed interfaces
DBA- user interfaces from NASA/AMES... use a drag and drop interface for control like LabView... fully customizable on the fly... can see that this could be called up for specific instruments .. when sign onto an instrument get a specific control panel
Hans - like EMiSPEC system... you get the pages and controls you need for the expt. you are running... customizable workspaces
BP - do you match expts to the instruments? could do this easily
Hans - basic microscope control API...who produces these customizable workspaces... can we probe a little bit at this point?
NZ - sees us leaving with idea of control algorithms... what should baseline be for the translate command, for example? Is it move 1 micron? Then who is in charge of the translator? ... Philips (Max would like to see)--- us to say that he wants this operation done-- and he will write it for us...But, the XL30 people give us an RS232 port and they want us to write the API... so the scenario varies. But nonetheless, we have to sit down and decide what the command structure looks like... we have to live with the control syntax (the manuf. limit us here in the current instrumentation).
NZ - we need to decide on the command structure first... then the rest will come.
Command Structure -->> Translators (API) -->> Control Syntax
we do this here do this once manuf. dictate this for now
Jim Mabon - U of I
Training and teaching aspects...
how to use collaboratory...how to use instrument interface
classroom use issues needs to be addressed
JAR- wants to issue training certificates
Agenda for rest of the meeting:
Define the process for the remainder of the workshop
Hans - what is the goal? Control the microscope...what functionalities do we want? Do we want images, microanalysis?
EV - what about the SHACK on a secure link?
JH- as a functionality test? this would be a subset of the larger picture that we could create... at the levels we are at... it doesn’t matter what kind of data we are dealing with...(CCD cameras, video signal, eds, eels..)
JH - this is pretty simple asynchronous control, but Hans brought up some other issues that need to be considered down the line that would need to be done synchronously... we need to put together a first-level spec document
Hans - will Gatan include our spec vision for a CCD camera
John - if it is good, it will be an open std Gatan will adhere to...otherwise will be a tack-on for the MMC
Hans - so we will come up with a std of how to talk to instruments... on an API level... without really worrying about how to do expt. ...doesn’t think we can do this like this
NZ - need to comm. between clients and data (detector, CCD camera, SPM image)... need the user interface to say that it needs x,y,z done... we need to list these and then specify how to do these...
data layer...instrument layer...client layer ... expt layer
different levels of functionality are required for different users
JH - differentiated between CCD cameras, xray systems, etc..... because sometimes there really is only one major manufacturer... could be extensible and added-on to
JH- need to create specifications on larger projects like this...
MCW: let’s do a 1D layer model...
Experiment Layer
Device Dependent Layer
Specific Layer
Device Independent Layer
Device Dependent Layer
Device Device Device
Property List (SEM, TEM, microprobe, SPM)
sample:
translate, tilt, height, exchange, environmental changes,source: adjust HT, filament adjust, emission, alignment,
operational mode
: TEM/nanoprobe, STEM, Diffraction.probe forming system:
focus, position probe (trans, tilt), aperture (selection, positioning), probe current, spot size, alignment (stigmation, etc), energy-filter, holographyimaging system:
focus, alignments, aperture (selection, positioning), image shifts, stigmationscanning modes:
raster rate, size/type, resolution, shifts, alignments, blanking, magnificationprojection system:
magnification, camera length, alignments, stigmators, aperture (selection, positioning), holography, de-scanningdetector system:
CCD Camera, TV camera, PSD, EELS, AES, WDS, EDS, BSE, SEI, BF/ADF/HAADF, CD, specimen current, IR cameras, EBSP, energy-filter, screen-lifting,display or data transfer (rate, size, format, compression)
store/recall (rate, size, format)
vacuum
active (novice, expert, admin) /passive (lurker, collaborator) modes
red = novice
Command Units:
Translate linked to magnification. (related back to image)...screen units
Tilt/rotate... units of degrees
Focus... medium and fine increments/decrements... show a delta window/zero
Stigmators... medium and fine increments/decrements
Position Probe...x/y shifts
Morning Discussion:
server performs conversion to GIF/JPEG... no burden on client-side
those who write browser interfaces will decide how the data is to be display...wilth server performing the necessary conversions... JAVA applets can perform this
looks like there will be a west coast and a east coast contingent... east more on the user interface, west on the software bus
NZ - need to make sure that everything talks to each other... what client throws up must be interpretable... not everything will be a JAVA-based browser
BP - CGI v IOP
NZ - will have to allow both CGI and IOP communications
DBA - CGI is a gateway through http
NZ - doesn’t understand protocols for IOP...
BP - need a bridge/translator to read client command and translate to IOP
Chris - advantage of centralized server is that you can use a variety of streams/commands
JH - if someoone decides to use CGI.. they are just using another access route, don’t need to specify standards... maybe fastest way for testing and implementation
NZ - how do I wraite something that I can test now quickly... and still allow for modifications later
BP - IOP... internet interoperable protocol... attempt to let multiple CORBA vendors to allow their stuff to talk to each other... another new thing - sickyIOP
MCW - IOP is a freebie
MCW - are emerging with two different drawings that are not necessarily incompatible with each other... which view is most useful depends on the details we decide on
Chris - there are both hardware and software architectures to be considered
JAR - what is it we need to do?
DBA - we are talking several different things....what are the commands/API that are appropriate for the model that we use... we haven’t really agreed on the picture
JAR - our diagram may not be drawable
JH - aim for getting something together within a month... it is unreasonable to come with all the answers today...
JAR - need to make sure that what we do is extensible and flexible...may have to change the hardware interfaces, but the basic architecture will be the same.
JH - need to understand bridge technology between DCON and CORBA
JAR - what about firewalls
JH - Microsoft will probably take care of that
DBA - have to use DCON if writing to Microsoft Explorer
JAR - will we require Explorer or both Netscape/Explorer
MCW - there are other issues being explorer for monopolies.. whether Explorer should be free and so pervasive
Jan- it is not easy to delete Explorer
Ray - need to leave it and disable it
JAR - we need to make some of these decisions now.. will we support both Explorer and Netscape... could go with only Netscape, but not only Explorer....then we don’t have to worry about DCON if we choose Netscape
MCW - must support all 3 platforms...Netscape allows that
JH - since the bridges exist to go into DCON can probably accommodate this...
MCW - community wil eventually resolve DCON/Corba issues
BP - believes that a bridge for these already exist... security is not clear
DBA - even at the html level... need to accommodate multiple browsers....bridges may not be enough at the appropriate level...if support both, must be done all the way down the tree
JAR - sounds like we have decided to use Netscape
BP - not true... mutlicasting capability is an issue... we just use a JAVA applet
JAR - do we need multicasting for these applns?
Chris - yes
JAR - no.. streaming A/V to many may be enough... but these collaboratories may be 3 participants for multicasting... can do lurking with streaming alone
NZ - a reflector may be sufficient
Chris - intelligent MC only uses links that you require... no flooding of the network
Ray - router issue... those that won’t program routers to do MC are waiting for the routers codes to settle down to be reliable.. . it is not that they don’t want to do MC in general
Chris - need an architecture that needs a hook into MC
Jim - should command set be fully extensible
MCW - EV wants us to define a minimum scenario.... define a exptl scenario that is simple and would be useful to all sites
Ginny - this interface assumes that everyone is a microscopist... we are not dealing with total amateurs... how general is the interface... should this be a beginning step in their training...
NZ - we assume that these people have used a microscope... we don’t want something that serves for training per se
MCW - need to design at high enough level that we can accommodate many viewers for distance learning as well as high level research collaborations.... extensible architectures require similar sorts of syntax for commands... need to distinguish architecture design from implementation
RJLEE has a copy of this...
User Interface -->> server ---> microscope -->> slow-scanTV
SUN + video cards l
l<<------------------------------------------------l
web/remote serial/PC on-board computer
httpd asciii/api today
the presence of the PC between server/microscope allows data, spectroscopy data to be sent
BP uses IOP/Java on the httpd communcation point... could run httpd and IIOP scenarios in parallel (need a switch)
two video cards with SUN - one for High rate, one for low rate... each with two plugs
Our Philips at ORNL.... not a slow scan camera... need a TV signal
server will need to know what kind of microscope it is talking to....
can we in the short term use the SUN server to create this for: Philips Hitachi (VG&IBM LEEM headaches) Kratos Zeiss JEOL?
have server send ASCII to microscope and have it "expect" a specific ASCII string back (program is called EXPECT and it is from NIST)...a CGI extension (common gateway interface... an interface outside the web browser)
have appropriate ASCII control codes for JEOL, Hitachi and Philips and Zeiss
can then create a matrix for command codes/microscope/DAS(Emispec).... can compile this rapidly - a kludge... gray-out inappropriate buttons
cycle colors red/green to let you know that command is sent/received/acted on
JAR - what NZ is proposing works... can this be modified to a more sophisticated architecture
Hans - need a computer in this scenario to acquire data
Jan - what format does spectroscopy data come out in
Hans - we are heading for a home-grown solution...
NZ - need something up and running... check it for how well it works...
Hans - where does EMiSPEC fit it... we need a core that integrates all of this... if we go home-grown the detector manuf. will be hesitant to be involved.... their system is already integrated... just hook this in with a JAVA plug-in to get browser access... MMC cannot afford to pick a manufacturer in particular... Emispec system includes all the data to run this. .. with homegrown stuff can control the microscope... but to gather spectroscopy data, this is more difficult due to the proprietary nature of their software... do we work with all the detector manuf, or do we deal with something like EMiSPEC? Or can ask all the vendors to write a script/API so as to react to the command "start EDS".... needs to know what the MMC decisions are ...
Bill Mollon - Noran and Oxford... supply commands to talk to EDS detector via PC
NZ - believes we an do this in 3 wks... similar to the SPM work.. in time for SC’97
Focus in on the PC between the server and microscope (EV/Hans)...Hans - how does MMC view the role of the industrial persons...he envisions the "core" being similar to what EMiSPEC does with a link to a JAVA browser... they are in a position to do this well, but their soln would not be "collab"...Do we want one local computer talking to all the detectors? in principle, they can do everything (not a commercial product, yet)....go straight to the detectors (EMiSPEC) with an RS232 to the microscope...in long term want detectors to be nodes on the network (ORTECs (Billl Hardy s’ behaves like this)... but for now, communications with detectors are proprietary.... but need to buy EMiSPec’s hardware soln which includes MCA and pulse processor...
JAR - we shouldn’t reinvent the wheel, should use comml solns if available...we are going to have to use a manuf. soln to talk to these
NZ - question comes down to $$ and how???
NZ - do we require to MMC members to go and buy what we have....
right now a faster route is to use DM and camera to talk to microscope... JH has the hooks to do this... if not complete, not a fast solution...CM200 has DM on it... just need to connect for instrument control
what is a practical thing to do for SC97... webcast from NZ, Timbuktu Pro, dedicated machine from LBNL..but was hoping to get SUNs up and broadcast on one page from all the sites.. maybe only have control over one of the them...the other trick is to post the DM page on the web page
Jan - could just send channel by channel spectroscopy data to users and they use DTSA.. do you want users to do EDS analysis through web browsers...
EV - for spectroscopy , if talk directly to the hardware, you are throwing out the software that the vendors provide
Hans - what we are planning to do is very similar to what ES has already done...maybe it is ambitious to just bring any old EDS system on-line... maybe MMC should invite industry to create MMS spec’d products... let the indy compete...
EV - can we run ES stuff through Netscape...(within 1 yr should be available)
Hans - need to do it as an open bid... need our data acquisition systems to do the following...GATAN and ES are already on this route...
WHAT WE HAVE DONE:
• a short-term model to bring us up and running
• list of functions/operations for the basic user interface... first-cut design
• ID need for integration of detectors/microscopes...need to write a spec for what comml acquisition systems should provide in the future...in the short-term need to integrate legacy systems (either ourselves or through comml. systems).
Experimental Modules:
through focal series
auto alignment
JH: begin all MMC mail traffic with "MMC:"
audio issues in VC.... not much drop-out, seems to be more machine-dependent on the audio card being used
JAR: Stu Loken was with group watching Mbone feed, in general they didn’t need talking heads... they really needed chat, whiteboards and shared screens, etc.... but they didn’t believe that they needed to see people. They were using things like NetMeeting.
NZ: out CUSeeME interactions have been OK
NZ : the key thing is that we already know each toher.. but, if you are working with somebody that you do not know well, talking heads allow better interactions.
MCW: the meeting minutes have been sent out by email, DBA and MCW will put these on the websites.
DBA is working on a form to allow easy uplinks to the website
MCW: the electronic notebook... what should we do about it.
NZ: there are 3 notebooks up and running... a public one, a private one, and his personal one at the microscope for logging expts.
NZ: can use on a day to day basis, if it were on the VG computer, but that is an OS/2 box that cannot be modified. So currently has to run notebookj on a separate machine from his microscope control computer (inconvenient).
MCW: should we create a notebook for the software development per se? Is that a reasonable thing to do?
BP: the toolkit that he uses has an underlying database, but that is only for local people... ...will put code on an ftp site (prefers not to put in the electronic notebook)
MCW: nestor has the webpages for doe2000... meeting minutes, etc. will go on the website that DBA is handling.. materials science research info will be go nestor’s webpage
BP: there is an MMC site at LBNL.... they can put stuff on there and we can link to it.
NZ: add the link to BPs site to the NCEM site
NZ: need to migrate the home page to a more collaboratory-centric rather than a collection-centric...
MCW: what do we do now? we don’t have a diagram that we have all agreed to. but we can set up some tasks and timeframes...there seems to be a west coast crew that we create a template format for other to test... the question is "how general is the west coast solution"... who is going to specify the device drivers... how do we proceed.. how do we define the role of industry in this effort? ...
NZ: what we need to define at the end of the day is a list of items that need to be implemented... and put it down in some detail... and then a) implement it ourselves of b) put it out to our indy partners for review/comments.... then we have a generic specification decided upon by the MMC group (including indy)... need to do this for both our current systems as well as for the future systems that we are envisioning... this comes down writing specifications....
MCW: so you guys are going to create a functional specification in sufficient detail that the computer scientists can then write what needs to be written?
NZ: need to make sure that it is clear in our minds what we want to do and then get information from JH and Hans, etc...need to be able to produce the document and clarify these issues before we put it out to the rest of the world.. want to avoid reinventing the wheel... how do we make use of their expertise... how do we use them in our MMC and get their input?
Architecture Working Group:
see Bryan’s drawings esp. of JHs structure
server controls the component through an ORB, but also restricts access and performs some expt integration
clients interact via CORBA, HTTP/CGI, DCOM
hardware vs. software models... software architecture (DBAs drawing absent the layers)
Ray: how would you integrate these kinds of concepts (DBA drawing) with Habanero... i.e. set up collaborative clients... just look at the conceptual level
embedded web server concepts seem to be expanding... web servers in ROM.. on a chip
Hans: real-time acquisition and servers need to be separate systems
everyone agres
JAR: how send real-time data to the web server
JH: the web server talks to components which sends data in real time... which then propagates upwards to the clients...
DBA: can be done through the ORB, through a JAVA applet...
JH: implementation can be however you would want it
Tasks/Timelines
John, Bahram, Chris and Mike will take what they are already doing, make it more general and supply the info to us as a template
meanwhile:
• others will get up to speed on CORBA, IOP
• other will be working on a user interface
• implementing the short-term solution (http-based)
JAR: what other collaboratory tools are required for us to collaborate....other than instrument control,
MCW: look into Habanero after October 31 re-release
NZ: original Habanero was a bunch of little applns.. games, etc... it was basically a chat window with a history to it... when you logged in, it would update you as to what you missed.
JAR: could envision a chat window where you post archived images... draw on them...etc. suspects that Habnero may not included this capability
NZ: Habanero.. has archival retrieval as well as annotation capability as well as whiteboard capabilities that everyone an view at once
MCW: VC tools are incorporating more and more communication tools such as whiteboard
JAR: what about the reception area/information center for the collaboratory?
NZ: difficult to do...a black art; better done through organic entity
JAR: what about the reservation desk...issuing certificates
MCW: bureaucratic paperwork process across the sites
KBA: what about definitions about capabilities with links to appropriate sites
TIMELINE/SCHEDULE:
BPl,BP,Chris - will be getting together every 2 wks and generating a white paper/IDL and create a working set of stub layers... will know in one mo. if it can be done.... after second mo... would be looking for comments from others
"Component Server Transport Layer White Paper" - John Hunt, 11/22/97;
"Component server draft RFC" - John Hunt, 12/22/97
Publish/communicate results
Build a prototype system
SC’97 short term expt - Nestor 11/17/97
bring multiple facilities on-line: DBA,
document process into the notebook
Basic User Interface
command description draft- Nestor 11/17/97
RFC - Nestor & others -
CCD output to the web: EV, John Hunt, NZ
Issue certificates to collaboratory members: JAR
Set-up Secure Servers and Certificate servers: JAR
Publish security architecture: JAR
Develop Prototype MMC Collaborative webspace: NZ, DBA
Publish talks, minutes, results from workshop: DBA
Plan for public workshop for next year: LFA
MM98 Symposium: EV, NZ, MOK
Investigate Notebook instantiation/shelf concept: DBA
Attendees:
michael wright
kba
hans de ruitjer
ray bair
gary casuchio
nancy
christopher morgan
mike o’keefe
jim bentley
ringnalda
carl mcdonald?
arvid
ted
cam
larry
asu
ginny
jim
steve ... anl
matt ... anl
nestor
john hunt
edgar
bill mollon
bryan allen
bahram pavram
charlie neilson
Bryan: link to the Virtual SEM/Virtual TEM sites