Announcing the TNTserverTM
Introduction
TNTmips, TNTedit, and TNTview already support the efficient creation, management, and viewing of these kinds of very large geodata sets, which are rapidly approaching terabytes in aggregate size. The unique, free TNTatlas product provides the basis for wide scale public or confidential distribution and simple application of large pieces of these geodata sets via CD and DVD media. The efficient use of huge geodata sets on desktop PCs is something that MicroImages constantly strives to do better than any competitor.
Beginning about 2 years ago, as the popular use of Internet browsers expanded to all nations, MicroImages began receiving your requests for a means of accessing and using large collections of geodata over the Internet and/or for internal enterprise service applications using a private LAN. A typical early request from an international dealer was for a network-based storage and retrieval system for 1 million airforce 9" by 9" airphotos to be scanned into digital format. Even if these airphotos were scanned at a low 1000 by 1000 pixels per inch, each would be about 80 megabytes. Thus, this project would create an image database of 80 terabytes, assuming only black and white airphotos were available. Even with this low scan resolution and possible image compression, which is not popular with airphoto interpreters, this is a large image geodata base compared with any possible GIS layers that might be added to it. However, assuming that adequate storage could be assembled, this dealer knew that this geodata could be readily dealt with in TNT Project Files and TNTatlases, probably organized by military district or some other convenient geographical unit.
One immediate response to these kinds of requests was to make the low-cost TNTatlas product free, whether used on a distribution CD or installed on a Windows, Mac, or UNIX platform. This addressed the use of TNT geodata bases for internal LAN based applications. A more recent step was the introduction of the concept of APPLIDATs, which allow the network distribution of simple applications with the site-specific geodata needed by the end user. This effort continues with the expansion of SML and its conversion into a stand-alone Windows application.
MicroImages is now introducing another new piece of the puzzle. The TNTserver product provides the world’s fastest access to massive TNT Project Files using the ubiquitous Internet browser. The TNTserver can rapidly retrieve and geographically combine and serve up the geodata layers in your TNTatlases via the Internet or your private LAN. The TNTserver product uses low-cost NT Intel desktop PCs. As the popularity of your TNTserver based geo-products grows, additional low-cost desktop technology can be used to continue to provide fast service to meet your expanding demand.
A Java applet is also included as part of the package. It is set up to be downloaded automatically into the client’s browser when they enter the TNTserver portion of the host web server. This applet will automatically run in the local browser and provide the interface for extracting information from the TNTserver and the TNTatlases it hosts. While this sample applet provides access to the normal browser controls and functions, it also provides and manages the layer lists and selection tools, navigation tools, cursor map coordinates, and so on. For example, the Internet client can request that the TNTserver show or hide layers, zoom, move down a level, move laterally, and so on. The Java applet’s source code is also provided, so it can be modified by the owner of the TNTserver. This allows the site’s manager to change the applet’s appearance and add or delete features. New features will also need to be added to Java clients as new access functions are provided and documented for the TNTserver.
The Java applet executes in the virtual Java engine embedded in the client’s browser. It provides the local interface, collects information from the user, and communicates the composite request to the host site via the Internet or an internal network or LAN. The TNTserver then locates, extracts, and combines the layers for the area, scale, and so on, into a composite image and sends it together with other auxiliary data back into the Java applet, creating the client’s view in the browser. The auxiliary data contains information about the composite image needed by the applet, such as the geo-location, metadata, corner coordinates, and so on. The applet can also be expanded to locally perform simple geospatial analyses. For example, the applet could provide the measurement tools for local use independent of the TNTserver, which simply supplies the composite georeferenced image.
It is important to note that the TNTserver is not a network Project File server that serves up RVC objects to the client. It serves up only a composite image with embedded vectors, CAD, and other layers and auxiliary descriptive data and metadata.
The current version of the TNTserver supports the use of these TNTatlas features: layer control; layer names; zoom, pan, and other navigation; legends; metadata; scale bar; coordinate display; printing via browser; and integration into an existing web server’s HTML pages.
The items that might be added next to the TNTserver and sample Java applet are the measurement tools, DataTips, and the use of styles in legends. Viewing attributes from within the atlas Project Files or from some other Microsoft Access or Oracle database server will come later.
Browser Applet(s). As noted earlier, source code for the Java applet will be provided and can be freely used and/or modified. This sample applet will be expanded as new server features and protocol are added. The latest applet can be set up in HTML on the host site so that it automatically downloads into a client’s browser and starts whenever the TNTserver is accessed. It will then be cached by the server on the local hard drive for reuse until the browser purges it or a new version is posted.
Server Protocol. We anticipate that many buyers of the TNTserver will provide their own custom Java applets. Documentation of the TNTserver protocol is provided to support the modification, extension, or replacement of the sample Java Applet(s). It describes the protocol used by the current functions the TNTserver supports, the parameters it accepts from Java, and the image and auxiliary data returned.
HTML. It is likely that any web site will use HTML to set up their web site and to control when and how their TNTserver is started. This HTML script could describe the site, present logos and instructions, set frames, provide an initial reference map, and so on. A basic front-end, sample start-up HTML page will be supplied if needed. Anyone who already has set up a web site with HTML will not need this.
Sample Sites. An example site’s configuration will provide some idea of what a suitable system might be. The Maryland Department of Natural Resources (MDNR) has more than 120 gigabytes of geodata in TNTatlas form. This geodata consists of such layers for the whole state as 1/1,200 scale color-infrared digital orthophoto quads, extensive vector overlays, private property maps and relational data tables, and so on. They currently view this geodata bank from hundreds of PCs using TNTatlas and MI/X for remote access. The TNTserver is currently being installed to provide public access to all this geodata for anyone in the state or the world.
MDNR has designed their TNTserver to support 10 simultaneously connected clients with 3 simultaneous compute threads (jobs). A T1 line (~1 megabit per second) is being used for Internet access. They have purchased a dual processor 400 MHz PC for use with NT with 640 Mb of memory for the server. The drive space will be a minimum of 120 gigabytes located on separate file servers sharing the TNTatlases with other internal LAN users who remotely access it with the conventional X Server-based TNTatlas product. Watch the "what’s new" page at microimages.com for a link to the MDNR TNTserver and all this massive geodata. It may be up and running in a demo mode by the time you read this.
Preliminary tests reported by MDNR showed our initial single 266 MHz test platform with 1 compute thread serviced 5 active, logged-in users of the TNTserver without degradation in performance. The test used the entry level Workstation product.
MicroImages has just set up and is debugging a sample TNTserver site at http://atlas.microimages.com. This site is built from 4 matched 400-megahertz, $500 COMPAQ personal computers using Workstation NT and mounted on our T1 access line. At the moment, each computer processor will run 2 compute threads, and your incoming tasks will be randomly assigned by software to the next available machine. Next, a more sophisticated load balancer will be added on as a front end, 5th inexpensive traffic director computer. Finally, about 150 gigabytes of storage will be added on an inexpensive file server. We estimate that this 6 computer setup and drive space tied together by a 100 megabit Ethernet will cost about $4500. It can be readily expanded to service more traffic by adding more $500 PCs and more hard drive space at $200 per 30 gigabytes.
MicroImages’ sample TNTserver will house a variety of test TNTatlas products, most of which will be supplied by you. Any TNT client can provide MicroImages with a TNTatlas of up to 100 megabytes to be added to this test site. This will allow you to try the TNTserver and demonstrate it to others. Of course, links back to you or your web site will be provided. Please also plan to provide some explanatory materials about your sample TNTatlas, including graphics. MicroImages will use these materials to construct an HTML front end for your sample atlas, or you can supply the complete HTML front end.
Important: Two TNT product keys cannot be daisy chained together on a single I/O port!
Compute Threads. The basic TNTserver will be set to service 2 client requests simultaneously. In other words, the TNTserver is multi-threaded, and for the basic product price will automatically start up to 2 simultaneous compute threads.
It is recommended by Microsoft and Intel that for the best performance with NT 4.0, the number of compute threads should be set at no more than the sum of the number of processors plus 1. As a result, this basic TNTserver product can be used on a single processor with the number of threads set to 2. When multiple processors are used, additional compute threads must be purchased.
The manager of the site hosting the TNTserver can adjust the compute performance by setting the number of compute threads allowed (for the basic product, this can be set at 1 or 2). For example, the basic product can be expanded from 2 to 5 compute threads for a single platform quad processor-based NT server. The price for this expanded capacity has not been established but will cost some percentage add-on to the basic product’s price.
I/O Threads. There is no limit on the number of clients that can be connected to the basic product. In other words, the number of simultaneous input and output processes supported can be set to any level. The TNTserver input and output processes are multi-threaded. This means a lot of clients can be connected and their input and output juggled and queued up for a turn at a compute thread. The site manager can, as needed, set a limit on the number of client input (threads) that can be connected and queued up for service. When this limit is exceeded, the TNTserver will send a message back to the client that the server is busy.
For example, with a dual processor TNTserver running under Windows NT Workstation 4.0, the number of input threads (simultaneous inputs) should be set to 10, while the number of output threads is not limited at all. Your license for your operating system, in this case NT Workstation 4.0, places a limit of 10 on the number of connections it will support. Thus, the various product levels of NT control the number of input compute threads, with the entry level Workstation NT 4.0 providing 10 and the high end Windows NT Server-Enterprise Edition products allowing 1000s of users and providing load balancing across 32 NT-based systems.
The size of your TNTserver site can be huge if you have the drive space. This size will have little impact on the use of these materials. You are already aware that a TNTatlas can be huge or exist in multiple pieces. The MDNR atlas is in several pieces totaling 120 gigabytes. A properly structured TNTatlas could be almost any size with little impact on its network access and use. The TNTatlas is still built from objects in a Project File that are being read by the TNTserver, just as with other TNT products. The size of the rasters in a TNTatlas will have little impact on their access via the TNTserver, since they use the standard Project File pyramiding, tiling, and compression. Vector and other graphical objects should not be too large individually, but can be present in any number. Finally, overlaying many layers on a single base will slow access in any TNT product, including a TNTatlas. However, this factor will soon be removed by improvements in the TNT products’ object handling, and in TNTatlas in particular.
Multilingual. Yes, TNTserver supports building a site in your language. The Java client uses resource files, fonts, and other language resources just like the other TNT products. Your TNTatlas can already be constructed in your language.
Availability. The prototype of the TNTserver is ready to ship.
Cost. $5000 for basic system, servicing 2 simultaneous clients (2 compute threads).
Upgrades. Upgrades will be provided free of charge until such time that MicroImages concludes that the suite of basic features is complete.