Distributed Image Reformation Lockheed Martin M&DS Reconnaissance Systems Advanced SW Concepts Group Advanced SW Concepts Group • Evaluate, prototype and integrate newest software technologies into LMM&DS-RS software systems. • Primary focus – Distributed Processing Systems • Primary language – Java Advanced SW Concepts Group • Technology areas – Remote Method Invocation (RMI) – Jini • JavaSpaces – Rio – JXTA – Advanced Database Concepts • Spatial databases Image Reformation Problem • Synthetic Aperture Radar data is processed to look like a black & white photograph • This product is in a simple, but unique proprietary format. – Very similar to the RAW image format • The produced image can be very large – 2 GB not uncommon Image Reformation Problem • Our customers are wanting web-based access to this data. • Commercial web browsers do not support the proprietary format – They probably never will – Size of product would make for a very unpleasant download time. Image Reformation Problem • Solution – Convert proprietary format to JPEG and / or GIF image formats. – GIF retains resolution • Not much compression – Still going to have very long download times • BUT…you can look at it in a web browser Image Reformation Problem • JPEG – Lossy compression – Can be viewed in web browser – If user is willing to accept some loss in resolution, JPEG is an acceptable format. Image Reformation • Allow user to select GIF or JPEG file reformation depending on resolution required. New Problem • Due to the size of the imagery, reformatting to GIF or JPEG is a time consuming (and expensive) undertaking. • On a Sun 6500 machine – Average 25 minutes for conversion to JPEG – Longer than it takes to produce the product in the first place Proposed Solution • Reformation via Distributed Processing Architecture. • Dedicate a “network” of hardware to the reformation task. • Parse large original image into “chunks” to be reformatted on various network machines. Enabling Technology • Jini / JavaSpaces – Java language (hardware independent) services • Object Flow Architecture Architecture • Parse original image into Java language objects. • Put those objects into a JavaSpace. • Deploy reformatting Jini enabled services to network machines. • Services retrieve imagery objects from JavaSpace, reformat, put objects back into JavaSpace, repeat until done. Architecture Object Reformation Service Object Reformation Service Image Decompostion Service Object Reformation Service Raw image object Object Reformation Service JavaSpace All services reside on different hardware platforms Architecture Object Reformation Service Object Reformation Service Image Decompostion Service Object Reformation Service Raw image object Object Reformation Service JavaSpace Architecture Object Reformation Service Object Reformation Service Image Decompostion Service Object Reformation Service Raw image object Reformatted image object Object Reformation Service JavaSpace Architecture Object Reformation Service Object Reformation Service Image Recompostion Service Object Reformation Service Raw image object Reformatted image object Object Reformation Service JavaSpace Etc, etc, etc... Design Concerns • Optimal size for image objects. – Network bandwidth, latency • Book keeping system – What chunk goes where? • Jini / JavaSpace technology is very new, it is evolving at a rapid pace. – V1.1 is current – V1.2 is in Release Candidate state • has not been tested with Java 1.4 References • Professional Jini – Sing Li - Wrox Press • JavaSpaces Principles, Patterns, and Practice – Freeman, Hupfer, Arnold - Addison Wesley • Core Jini – W. Keith Edwards - Prentice Hall References • www.jini.org • www.javasoft.com • subscribe to: – JAVASPACES-USERS@JAVA.SUN.COM Point of contact • Bill A. Rawlings – Applications SW Engineering Manager – Advanced SW Concepts Group – Lockheed Martin M&DS Reconnaissance Systems – bill.a.rawlings@lmco.com – (623)925-7574