sunflash-Distributed to mailing list sun/NC/north-carolina sunflash-Send requests, problems to owner-sunflash@suntri.east.sun.com ---------------------------------------------------------------------------- The Florida SunFlash Third Party Announcements SunFLASH Vol 57 #5 September 1993 ---------------------------------------------------------------------------- Abstracts 57.05.A Adobe Illustrator for the Sun Platform Now Shipping Adobe Illustrator 3.5 is the first Adobe application ported to the Sun platform. This powerful illustration and single-page design application enables users to create and compose all elements of a page on Sun workstations running Solaris 1.1 57.05.B Aggregate Computing's Educational Newsletter Welcome to Distributed Directions, the distributed computing newsletter from Aggregate Computing. Whether you are a developer, manager, or executive, Distributed Directions is designed to keep you informed about the latest distributed computing technologies Subject: TOWARD DISTRIBUTED PROCESSING: A MANAGEMENT PERSPECTIVE Subject: WHY NETSHARE WASN'T WRITTEN IN A DAY Subject: SOLVING THE TOWERS OF HANOI PUZZLE Subject: DISTRIBUTED COMPUTING 101: A GLOSSARY Subject: DEVELOPMENT ISSUES FOR DISTRIBUTED APPLICATIONS 57.05.C SunSoft Press Book: "GUIDE TO SOLARIS" Written for the end user, this book covers the Solaris environment. 57.05.D SunSoft Press Book: "SOLARIS INTERNATIONAL DEVELOPER'S GUIDE" This book covers how to create global applications on the Solaris environment for either SPARC or x86 platforms. -------------------------------------------------------------------------------- Subject: Adobe Illustrator for the Sun Platform Now Shipping Org: Adobe Systems Incorporated Phone: (415) 962-2197 Resellers: * Apunix Computer Services, 1-800-8AP-UNIX, ext. 106 * HIGHLAND Digital, 415-493-8550 * Qualix Group, Inc., 1-800-245-8649 * UNIX CENTRAL, 1-800-553-8649 Adobe Illustrator for the Sun Platform Now Shipping New Resellers Offer Easy Access to Products, Service and Support; New Multi-User Pricing Structure Announced Mountain View, Calif. (August 16, 1993) (NASDAQ:ADBE) -- Adobe Systems Incorporated today announced the availability of Adobe Illustrator (TM) 3.5 software for Sun (TM) workstations and servers, the first Adobe (TM) application ported to the Sun platform. This powerful illustration and single-page design application enables users to create and compose all elements of a page on Sun workstations running Solaris (R) 1.1 (SunOS (TM) 4.1.x). Adobe also announced four new resellers of its software product and a competitive multi-user pricing structure. "We are pleased to offer Adobe Illustrator 3.5 for Sun to the UNIX (R) community," said Steve MacDonald, Adobe's senior vice president and general manager, Systems Products Division. "The combination of Adobe's sophisticated graphics software and the strength of our resellers who focus on the Sun computer market gives end users the access to the product, service and support they demand." Initially, four resellers will deliver Adobe Illustrator to the workstation market. Those resellers include Apunix Computer Services, HIGHLAND Digital, Qualix Group, Inc. and UNIX CENTRAL. Adobe Illustrator 3.5 for Sun is available at a suggested retail price of $995 for a single workstation license, $3,995 for five users and $6,995 for ten users. This version of Adobe Illustrator offers several key features,including an X Server (TM) from Integrated Computer Solutions, Inc. (ICS (TM)), with a Display PostScript (TM) extension that ensures consistency between screen display and printed output. The retail package also includes Adobe Separator (TM), a color separation program that allows users to produce accurate color separation negatives for offset printing. With the application's powerful drawing, text-handling and graphing tools, users can create high-quality charts and graphs. In addition, users can edit in "preview" and "preview selection" modes for immediate access to artwork. Adobe Illustrator files created on the Sun platform can be transferred for use in Adobe Illustrator on other platforms and can be imported as EPS files into other applications for Macintosh (R), Windows (TM) and UNIX. Customers can purchase the product through Adobe's authorized UNIX resellers at the following contact numbers: * Apunix Computer Services, 1-800-8AP-UNIX, ext. 106 * HIGHLAND Digital, 415-493-8550 * Qualix Group, Inc., 1-800-245-8649 * UNIX CENTRAL, 1-800-553-8649 Adobe Systems Incorporated, founded in 1982, is headquartered in Mountain View, California. Adobe develops, markets and supports computer software products and technologies that enable users to create, display, print and communicate electronic documents. The company licenses its technology to major computer and publishing suppliers, and markets a line of type and application software products. Revenue for fiscal 1992 exceeded $265 million. Adobe, Adobe Illustrator, Adobe Separator and Display PostScript are trademarks of Adobe Systems Incorporated which may be registered in certain jurisdictions. Sun, Sun OS and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. X Server and ICS are trademarks of Integrated Computer Solutions, Inc. UNIX is a registered trademark of UNIX System Laboratories, Inc. Macintosh is a registered trademark of Apple Computer, Inc. Windows is a trademark of Microsoft Corporation. -------------------------------------------------------------------------------- Subject: Aggregate Computing's Educational Newsletter From: Lisa Rivers lisa@aggregate.com Org: Aggregate Computing, Inc. Address: 300 South Highway 169, Suite 400 Minneapolis, MN 55426 Phone: 800-966-1666 612-546-5579 Fax: 612-546-9485 E-mail: newsletter@aggregate.com Distributed Directions The Distributed Computing Newsletter Published Quarterly by Aggregate Computing, Inc. Volume 1, Number 3 August 1993 Volume 1, Number 1 and Volume 1, Number 2 are also avaiable from Aggregate Computing, Inc. Just send your request to newsletter@aggregate.com. ******************************************************************************** Copyright 1993 Aggregate Computing, Inc. All rights reserved. Aggregate is a registered trademark and NetMake, NetShare, and NetShare SDK are trademarks of Aggregate Computing, Inc. All other trademarks are the property of their respective holders. You are free to forward unmodified sections of this newsletter via e-mail if you include this copyright notice. ******************************************************************************** Welcome to Distributed Directions, the distributed computing newsletter from Aggregate Computing. Whether you are a developer, manager, or executive, Distributed Directions is designed to keep you informed about the latest distributed computing technologies. If you manufacture software or if software applications are critical to your company's mission, you should know what's happening in the world of distributed computing. ******************************************************************************** We welcome your opinions, suggestions, and ideas. Send your comments to: Aggregate Computing, Inc. 300 South Highway 169, Suite 400 Minneapolis, MN 55426 Phone: 800-966-1666 612-546-5579 Fax: 612-546-9485 E-mail: newsletter@aggregate.com ******************************************************************************** In This Issue... Toward Distributed Processing: A Management Perspective Why NetShare Wasn't Written in a Day Solving the Towers of Hanoi Puzzle Distributed Computing 101: A Glossary Series: Development Issues for Distributed Applications Choosing a Communication Model ******************************************************************************** Subject: TOWARD DISTRIBUTED PROCESSING: A MANAGEMENT PERSPECTIVE As a manager, you are concerned with time to market and competitive advantage. You are also interested in productivity, quality, and optimizing your current investment in hardware and legacy systems. As companies like yours moved from mainframe to client-server environments, early application development tools focused on data distribution. To optimize all the processing power of your network and enable much needed application performance improvements, you must now move to the next stage in the evolution of client-server tools: distributed processing. One way to do just that is with Aggregate(R) Computing's NetShare SDK(TM) (Software Development Kit). NetShare SDK allows you to treat your network like a virtual multiprocessor, giving your applications the power to automatically and intelligently find and use network-wide computing resources. Resource management makes NetShare unique, providing the underlying intelligence about the network and its resources. With the power, intelligence, and flexibility of resource management combined with the full UNIX process semantics, speed, and reliability of task management, NetShare SDK is an excellent distributed application development platform. NetShare SDK's ability to mask machine and operating system boundaries allows developers to easily write portable code and frees the user from manually navigating complex networks. This means neither developers nor users have to be "network smart." NetShare SDK is extensible and modular so developers can "plug & play" with existing system-level services, including distributed file systems, naming services, security, and transport protocols. This allows you to incorporate NetShare with your own site-specific core services. The open architecture will easily adapt to tomorrow's emerging standards. To prevent any single point of failure, redundancy is built in. NetShare can detect a service absence or failure and automatically restart that missing or failed service. NetShare SDK also provides a graphical configuration tool so you can centrally administer, configure, and control all NetShare services and applications. NetShare SDK provides a faster, easier, and more productive way to develop new applications. The kit also provides an easy path for the migration of legacy applications to distributed processing, protecting your investment in existing applications. By utilizing all available and unused CPU cycles, your current hardware investment is also protected and fully exploited. By masking network and operating system complexities, NetShare requires minimal system administration, little programming effort, and no network knowledge. With NetShare SDK, you can increase developer productivity, decrease time to market, ensure high quality products, and gain competitive advantage. For a complete reprint of the white paper, "Using the NetShare SDK to Build a Distributed Application: A Technical Discussion," call 1-800-966-1666 or send e-mail to info@aggregate.com. ****************************************************************************** Subject: WHY NETSHARE WASN'T WRITTEN IN A DAY by Mark Gooderum Rome wasn't built in a day, and neither were the NetShare distributed computing services. This article explains the underlying complexity that makes NetShare appear deceptively simple. You'll see how NetShare does all the work, so you don't have to. ROBUSTNESS Machines go up, network links go down, programs fail. Even the NetShare services are vulnerable to occasional fatal problems like full disks, running out of memory, or a system administrator accidently killing the wrong process. You don't want to spend even five minutes trying to track these sorts of problems. The NetShare Services start and restart themselves as needed, without human intervention. In case of failure, NetShare automatically restarts your tasks on the best machine available at the time of the failure, not on what was the second best machine at the time the job started. That could have been hours ago. FILE SYSTEM SUPPORT One of the biggest problems in a heterogeneous environment is file system support. Most sites use Network File System (NFS) for distributed file systems even though it does not solve the problem of making all files available on all machines at all times under all reasonable conditions. Using the NFS automounter is a common solution, but an automounted file system is often not mounted on all other systems. NetShare knows what file systems are automounted so the correct path is used. This is especially critical in linked or cascaded automounts where a single path may cause related file systems to be mounted. NetShare works with automounter to use the environment you created so carefully. If a file system isn't mounted, the NetShare services mount it for you. Unlike similar services (like rexd), the mounts are shared between all processes needing a file system but without the configuration headaches and single threading system bottlenecks. Exports can differ between machines. In case of an error, NetShare attempts to recover by doing a "legal" mount based on what is exported rather than a simple mount of the entire file system that could cause jobs from a server to fail on a client. PERFORMANCE AND OVERHEAD Performance is critical but not easy to get. A simple rsh can take one to two seconds. Since most of this setup is synchronous, you incur this cost at every request. If the overhead takes longer than the task, even simple tasks can run slower in parallel than serially. NetShare uses resident servers that aggressively share and cache information. All the services operate asynchronously to maximize available parallelism, so total latency is significantly reduced. Visible overhead becomes negligible. Because of implementation constraints, other services use reliable, stream-oriented connections for control and I/O. This approach adds significant overhead as well as one or more file descriptors for every task. When you're out of file descriptors, you're out of luck. And without reliable streams, you run into buffering limits and other problems. NetShare provides better performance by using a reliable, asynchronous message service that exists in the client library, with no kernel modifications required. With NetShare, scalability is limited by available horsepower and memory rather than file descriptor table size. SECURITY If you are in a large network with PCs or other "unsecure" hosts, you are vulnerable to false requests. NetShare provides a combination of a special, private authentication involving encryption of security-related information and a complete handshaking sequence before request acceptance. This makes NetShare more secure than any non-authenticated RPC-based services and at least as secure as reliable services like rsh and rlogin. NetShare also provides full support for Kerberos and Data Encryption Standard (DES) authentication. RESOURCE MANAGEMENT Current off-the-shelf, public domain, or database applications, do not provide the kind of flexibility, high performance, low overhead, and easy administration that a customized resource management system can. NetShare requires no one fixed metric, specialized hardware, or fixed license software. CONCLUSION Distributed computing is not easy. NetShare provides transparent, intelligent, and automatic distributed processing so you can concentrate on what you do best, developing software for your specific business. ABOUT THE AUTHOR... Mark Gooderum is a software engineer at Aggregate Computing and the primary developer of the NetShare Task Management Service. ******************************************************************************** Subject: SOLVING THE TOWERS OF HANOI PUZZLE by Ted Stockwell In the last issue, we challenged you to find the solution to the Towers of Hanoi puzzle using make. The puzzle consists of three posts. On the first post is a stack of disks. The disks are stacked in order, with the largest disk on the bottom of the stack and the smallest on the top. The goal is to use all three posts to move the entire stack from the first post to the third post, moving only one disk at a time and without setting a larger disk on top of a smaller disk. The solution may not be obvious at first. The height of each stack is counted using base one arithmetic. This allows subtraction to be computed using the $(@:1=) pattern matching macro. Then, make is invoked recursively to move each disk until they have all been moved from the first post to the third. Here is the solution to the puzzle. HERE = first THERE = third SPARE = second DEPTH = 1111111 target: but_first @make DEPTH=$(DEPTH) $(DEPTH) but_first: @echo "The towers of Hanoi. Height = $(DEPTH)" @echo "(Note: The tower height and disk numbers are given in base one)" move_disk: @echo "Move disk $(DISK) from $(HERE) tower to $(THERE) tower" 1: @make move_disk DISK=$@ HERE=$(HERE THERE=$(THERE) %1: @make $(@:1=) HERE=$(HERE) THERE=$(SPARE) SPARE=$(THERE) @make move_disk DISK=$@ HERE=$(HERE) THERE=$(THERE) @make $(@:1=) HERE=$(SPARE) THERE=$(THERE) SPARE=$(HERE) ABOUT THE AUTHOR... Ted Stockwell is a software engineer at Aggregate Computing. ******************************************************************************** Subject: DISTRIBUTED COMPUTING 101: A GLOSSARY With new technology comes a new vocabulary. Here are some general distributed computing terms used in this issue of Distributed Directions. application programming interface (API). A set of external procedures, implemented as library routines, that an application can call to perform well-defined functions. client-server. A distributed computing model characterized by the division of the application into separate client and server processes. The client process makes requests of the server process that in turn performs some action. Data Encryption Standard (DES). A type of public key encryption protocol used to encrypt data that can then be securely transmitted over insecure mediums. distributed processing. Distribute work across networked workstations and servers to utilize resources and enhance performance. network-wide computing. Access to and integration of existing resources on a network. Kerberos. The name of a ticket-based, private key encryption protocol and security architecture developed at MIT and incorporated as part of many distributed computing environments. legacy application. An existing, sometimes outdated, application that must be integrated with others like it to provide enterprise-wide computing. Network File System. (NFS) Provides transparent network access to disks that are physically attached to other workstations on the network but does not provide a single, logical view of the network. Resource Management Service. The unique component of NetShare that collects and maintains state and status information about resources on the network. This information allows distributed applications to make intelligent decisions about the best resource(s) on the network on which to execute tasks without any knowledge of the network. Task Management Service. The component of NetShare that creates, runs, and manages tasks running on network resources. ******************************************************************************** SERIES: Subject: DEVELOPMENT ISSUES FOR DISTRIBUTED APPLICATIONS by D. Dean Mason This article is the third in a series that addresses development issues for distributed computing applications and discusses choosing a communication model. The following information is reprinted with the permission of UNIX Review. CHOOSING A COMMUNICATION MODEL Although it sounds as if RPC is an easy winner over low-level interfaces, the choice is not quite so simple. While it is true that a high-level RPC interface frees the developer from many details, it also restricts the developer's ability to tune an application in response to those details. Furthermore, if a distributed application does not require data encapsulation, security, or other RPC built-ins, then it is not clear that RPC is such an advantage. Low-level interfaces provide flexibility. An application is free to respond to incoming data synchronously or asynchronously. Developers can set interrupts or poll or wait or send whatever they please over the interface. Consequently, low-level interfaces are generally an excellent choice for peer-to-peer and asynchronous distributed applications. RPC packages are not nearly as flexible. While it is efficient to have all the code generated automatically, the user may not want some (or all) of the code that is generated. Furthermore, most RPC packages require the use of their own event loop, around which the application developer must build the remainder of the application. Worst of all, RPC packages have an a priori slant toward the client-server model. The generated stubs are neatly separated into client and server stubs, which does not help much when you have decided to use a peer-to-peer distribution model. RPC is a natural choice, however, for client-server applications. Indeed, its procedural semantics are ideally suited for all sorts of request and response distributed applications. In particular, applications that have a well-defined procedural flow are excellent candidates for client-server distribution since RPC allows applications to be easily split and distributed along their natural procedural boundaries. Next Issue: Component placement ABOUT THE AUTHOR... D. Dean Mason is Aggregate's Vice President of Software Development and a recognized expert in distributed application development. For a complete reprint of this article, "Distributed Programming," call 1-800-966-1666 or send e-mail to newsletter@aggregate.com. -------------------------------------------------------------------------------- From: Karin.Ellison@Eng.sun.com Subject: SunSoft Press Book: "GUIDE TO SOLARIS" GUIDE TO SOLARIS by John Pew Written for the end user, this book covers the Solaris environment, including a two-chapter overview Of Solaris, 7 chapters on how to use the DESKSET tools, 5 chapters on SUNOS COMMAND LINE PROGRAMMING (for the traveler who doesn't have access to OpenWindows), and 2 chapters on BASIC SYSTEM ADMINISTRATION TASKS (booting, backup, copying, etc). Special sections are included on customizing the environment. A SunSoft Press/Ziff-Davis Press copublished book. Paper; 625 pages; $34.95 US; ISBN 1-56276-087-4 -------------------------------------------------------------------------------- From: Karin.Ellison@Eng.sun.com Subject: SunSoft Press Book: "SOLARIS INTERNATIONAL DEVELOPER'S GUIDE" SOLARIS INTERNATIONAL DEVELOPER'S GUIDE by Bill Tuthill This book covers how to create global applications on the Solaris environment for either SPARC or x86 platforms. Detailed instructions are provided on developing software with the SunOS system libraries and the OpenWindows desktop environment. Guidelines are given for major language markets around the world, including multibyte Asian languages and key European languages. A SunSoft Press/PTR Prentice Hall copublished book. Paper; 216 pages; $30 US; ISBN 0-13-031063-8 ********************************************************************** For information about SunFlash send mail to info-sunflash@Sun.COM. Subscription requests should be sent to sunflash-request@Sun.COM. Archives are on draco.nova.edu, ftp.uu.net, sunsite.unc.edu, src.doc.ic.ac.uk and ftp.adelaide.edu.au All prices, availability, and other statements relating to Sun or third party products are valid in the U.S. only. Please contact your local Sales Representative for details of pricing and product availability in your region. Descriptions of, or references to products or publications within SunFlash does not imply an endorsement of that product or publication by Sun Microsystems. Send brief articles (e.g. third party announcements) and include contact information (non-800#, fax #, email, etc) to: John McLaughlin, SunFlash editor, flash@Sun.COM. +1 305 351 4909