

Keith Ball
March 9, 1983

Network products


Looking at possible new network products, there are 2 main
market places.

       1) mini-computer competition - closed net type
       2) Net connected to mainframe - open net type

These net types are not realisitic structures, but only ideals.
However, they are a good analytical tool for defining priorities
for new products based on which of the 2 markets we wish to
emphasize.

1) mini competition market

Why do people buy mini computers?

       a) most important - MULTI-USER APPLICATIONS involving
          shared data.  Security demanded of shared data.
       b) Currrent availability of application software.
       c) performance - thruput

Why people buy personal computers?

       a) single user applications, e.g. word processing
          and personal data bases.
       b) cost, software and hardware
       c) better price/performance then the large computer
          running single user software.

Currently our net provides most of the single user end :

     Software :
       a) word processsing
       b) spread sheet

       more needed : e.g. personal record management and
                          graphics

     We can now share data between users to a limited degree.
     Also, local disks on a Concept gives the user secure
     personal data.

To compete with the minis we must provide services required of
the mini.

       a) Multi-user applications with shared data require a
          common data base. This requires :

               - file server
               - data base server

          Servers provide controlled access to data as well as
          shared data.  Controlling user data access gives us
          the ability to enforce data security.

              Commercial applications :

               - accounting
               - inventory
               - MRP
               - production management
               - administration, personnel and payroll
               - finance, credit

              Education applications :

               - on-line library
               - CAI
               - literary search - communication with other
                 repositories

       b) Net to Net communications - short and long distances

          All nets are open, therefore, we must support
          communication between nets, over hybrid nets and
          between nets and main frames for the closed type net as
          well as the open net type.

          Services required :

               - file sending and receiving; automated, batched
               - remote access to shared data; e.g. off-site
                 sales terminals

          These Services demand gateways :

               - Broadband; the higher level net to connect local
                 nets together.  UBI or Sytek working with Corvus
                 provide the technology.

               - SNA; a link into the IBM market.  It allows
                 users to send local office data to a client's or
                 the corporate's remote IBM main frames.

               - X.25; interface to packet switching long haul
                 nets

          and servers :

               - modem servers; phone connection to National nets

     ????????  - PBX server or is it a gateway

          off-site data access require one of two solutions :

               - Off-site access to the data is made via a
                 computer which runs the user inteface to the
                 data base system and accesses the net via the
                 modem server or a gateway.

               - A second method utilizes a terminal connected to
                 a modem which calls the net through a modem
                 server.  The terminal communicates to a
                 dedicated node, which can be another server.
                 This node supplies to the terminal the user
                 interface to the data base.  The data flows from
                 the terminal to a modem server.  It then sends
                 the data to a node, a workstation or server
                 either dedicated to this service or one where
                 the task is running in background. The node
                 takes the users requests and accesses the data
                 base. The data base, either on a data base or
                 file server, sends the data requested back to
                 the node.  The node then sends the data
                 requested by the user back to the terminal via
                 the modem server.

          The use of gateways and servers require the definition
          of protocols and the software to support them on the
          servers and workstations.

          Needed protocols :

                internet, terminal, server protocols.

       c) archival, backup/recovery and distribution

               - User needs to migrate old information out of the
                 main secondary storage units but still retain
                 access to the data.  This service will be
                 provided on our net by a Bank server.
                 Workstation based floppies and Banks would be
                 useful to save personal information.

               - Backup/recovery can be served by the Remote
                 Mirror option used with Archival storage
                 software.  However, the Bank server will be a
                 better solution to this problem.  The Archival
                 storage gives backup/recovery on the volume
                 level.  The bank gives it on a file level.
                 Furthermore, the medium will be transportable to
                 other tape machines (conversation on 3/1 with
                 engineers) which is not the case for the mirror.

               - If the Bank medium, the loop cartridge video
                 tapes, can be written by one machine and read
                 back reliably by another machine then distri-
                 bution can be made with the Bank.  Engineering
                 says this will be true.  Other factors :  how
                 well medium stores and retains physical
                 integrity;  how easy it is to erase the tape,
                 will tape retain information if stored for long
                 periods of time.  Floppies are also a viable
                 distribution medium.  However, they require a
                 workstation local unit and more of medium,
                 diskettes, then the Bank requires tapes.

              - according to engineering opinion the mirror will
                phased out when the Bank is introduced.

       d) printers

               - We need 4 types of printers :

                       - fast for data processing, not
                         necessarily high quality

                       - letter quality.  Need enhancements, high
                         quality print but not necessarily high
                         speed.

                       - graphics.  Two types, a) dot matrix and
                         b) plotter.

                       - laser printer.  Has all above but is
                         expensive.  Typesetting capabilities.

               - All 4 must be a shared resource on the
                 net.  A single server should support any
                 combination of letter
                 quality, data processing and graphic printers.
                 The laser printer
                 must have the network interface built into it.

               - graphics requires workstation software to format
                 the data to be sent to the server controlling
                 the printer.  This software must use data files
                 from existing applications, like LogiCalc, or
                 new data from new applications which allow the
                 user to draw, like chart making or engineering
                 designs.

               - Instead of requiring the application to send
                 printer dependent character sequences a Graphics
                 server can be developed which supports a printer
                 independent interface to perform graphics.

               - Typesetting can be accomplished with workstation
                 software which can format a file and send it to
                 the laser printer server.  The laser printer interprets
                 the data and prints it.  This requires a pretty
                 substantial computer to be built into the laser
                 printer, the level of a Concept.  It may also
                 require local mass storage, which is needed to
                 store fonts and possibly management software.

               - A low cost printer must be available to attach
                 to the workstation for personal use.

       e) software development tools

               - Most buyers of mini computers will build custom
                 software to fulfill their business requirements.
                 It is necessary we provide adequate development
                 tools, like the minis, for this purpose.

               - Internal and external software developers
                 seperate from our customers require these to
                 build and expand our product.

               - products :

                       - Report generator
                       - languages: Pascal, C, COBOL,
                         Fortran, BASIC, Modula-2, Assembly,
                         Ada (?), others???
                       - symbolic debuggers.
                       - design tools
                         - Software to build on-line graphic
                           designs such as flowcharts,
                           structure trees, etc.
                         - HIPO charts

                       - revision maintenance
                         - logs current sources and archives
                           older revisions.

                       - libraries for workstation, server, net,
                         and protocol interfaces.  Allows new
                         applications to be added to the
                         workstation while maintaining user
                         interface standard.  Also, may give data
                         and function integeration between
                         applications, ie. sharing data.

                       - complex command language.  Allows user
                         to build new applications from existing
                         software.  Also needed for installation
                         management The command interface must
                         take input from the net, workstation
                         keyboard, and the data coms
                         transparently.

                      - a data base language interface to the
                        programming languages.

       f) installation management tools

               - configuration management
                       - Constellation II software
                       - Each server needs installation procedure
                       - mass stroage, nodes, users/servers, net
                         topology.

               - diagnostics
                       -servers
                       -workstations
                       -disks
                       -net

               - activity monitors,
                       Monitoring of the system performance.
                       This is the network and the servers.  It
                       tells the system manager what is the
                       "system as the net" is doing.
                            - accounting ??

               - command language on workstation
                       Allows simple executable procedures to be
                       developed to perform management task;
                       e.g. backup.


2) Main frame connect market place

   All the previously mentioned products would be useful or
   necessary with this market.  However, emphasis is not on
   building a self-sufficient net but in providing access to a
   main frame for the multi-user applications and using net-local
   resources for the single-user applications performed on the
   workstations.  Data from the main frame is available to the
   net via file transfers and cached data base mechanisms.


       Product areas :

       - Terminal emulators
               - needs gateways, same type as the previously
                 mentioned.
               - protocols - mainly terminal and internet
                             protocols

       - Cached data bases

         User has access to shared global data on the main frame
         via 2 methods :

         1) For data base updates, the user runs a terminal
            emulator and talks to the main frame's user interface
            to change the data base.  A special user friendly
            interface to the data base can be written on the
            workstation.  This method may require software to be
            written on the main frame to support a remote program
            language interface to the data base.

         2) If the user wishes to access the data but not update
            it then net-local applications can send data requests
            to the main frame to get large blocks of information
            and store it locally.  Then, the user can do all the
            data manipulations locally removing the burden from
            the mainframe.

            For example, a program to do inventory forecasting
            may read the production data base on the main frame.
            It gets a large "chunk" of data and puts it on the
            local net resources, station local disks or some
            server.  Afterwards, all work done on the data is
            through the local resources and does not tie up the
            main frame's resources.

      - single user software - professional tools

               - WP
               - spread sheet
               - personal record management
               - graphics
                     - draw
                     - graphic display of numeric
                       data
                     - charts and diagrams
               - order processing
               - sales forecasting
               - market research tools

               - training programs

       - Mail service
               - intra-net
               - inter-net
               - omninet to other systems local mail
                 service.  E.g. a main frame internal
                 mail system.

           - mail server
               - I prefer a server for :

                   a) data independence, data structures internal
                      to the mail system are hidden from the
                      workstations and other networks.

                   b) provides a functional rather than dat
                      interface.  Simplify the inter-net sending
                      of mail.  A gateway or server will not have
                      to understand how to update the data base.
                      Sender just uses the mail protocol to talk
                      to any server.

           - local software interface either to server or mail
             system data base.
           - packet switching interface
           - file server for control and storage of the mail data
           - Datagram and Virtual Circuit mechanisms must be
             built.

3) Concept must have a superior human interface

       - Graphic not line oriented command interface
       - graphics on display
       - touch panel
       - limitation of keyboard usage.


Software only products :

       - terminal emulators and data transfer utilities
            - get data from :
               1) omninet using a terminal protocol
               2) a local datacom
       - electronic mail
       - protocols
         -internet    -terminal       -server special
       - applications
       - virtual circuits
               -redo Concept net driver structure

Hardware products/minimal software

       - Disk drives w/ disk server built in
       - Printers w/ net interface built in

Hardware/Software products

       - Servers
           They are a centralized facility to provide a service
           and manage that service on the network.  They also
           remove the necessity to duplicate the development
           effort across all workstions on the net, except for
           the communications interface.  This is important with
           heterogeneous workstations, e.g. Concepts, Apples, and
           IBM PC's.

           Interfaces to server functions must be compatible to
           workstation driver interfaces.  This allows the
           applications to transparently use local devices, like
           printers.  Also, the system interface to the
           application must make it transparent to the
           application whether it is talking to a server or a
           local device.

               - file server, has local disks -+ will need the
               - data base, has local disks   -+ same
                                                 hardware
               - Bank

               - printer

                   - supports the Concept defined character
                     enhancements.  Since no standard exists for
                     printers, we provide a printer independent
                     mechanism for performing character
                     enhancements.
                   - controls auto line feed on a server global
                     and file basis
                   - does tab expansions on a server global and
                     file basis
                   - delete nulls from the character stream
                   - has a 2 level transparent mode where it
                     1) does not interpret any of the enhancement
                     character sequences but does take then out
                     of the stream and,
                     2) where it does not do any character stream
                     interpretation.  This second includes any
                     functions previously mentioned.

               - modem
                   - batching files for off-time
                     data transfer

               - time/event generator
                   - event generator provides :
                       wake up calls,
                       timeouts,
                       sends message to start an application
                        running at certain time.

                     It provides an interrupt at some time
                     interval or at a certain time.

                   - This server can be developed on the
                     current comm server hardware.

               - Network manager server

                   - Provides Const II management utilities to
                     net.

                   - Makes sure all active workstations are
                     still active.  If not broadcasts message to
                     net resources and updates Const II
                     structures.

                   - Provides a semaphore service with timeouts.
                     User must update the semaphore periodically
                     or server will release it.

                   - Name service (?)

       - gateways

               - Broadband and baseband
                 UBI or Sytek
               - SNA
               - X.25
               - Phone
                   - interface to national or public packet
                     switching networks.
                     e.g. ARPA net
                          TYMNET
                          Dow Jones
                          Source
                   - upgraded modem server with public net
                     protocols
               - PABX ?????

       - The Workstation

            Two perspectives define what the user's node of the
            network looks like.  The "system as a net"
            perspective views the local network as a complete
            system with the shared resources distributed over the
            net.  It has workstations which supply the user an
            interface and access method to the network's shared
            resources.  The other sees the local network as a net
            of complete systems.  Therefore, the user works on a
            sophisticated computer with many local resources.
            All the network provides is a means for sharing local
            information and resources between computers.

         - somewhere in between

            The workstation has limited local resources.  It
            provides the user with a processor and memory to run
            applications.  If local resources exist they are
            personal not system global.  Globally shared
            resources are on the network.  The workstation's
            operating system provides a means for the user to
            manage and use the station local resources as well as
            provide access to the net shared resources.

            For most local resources, for example printers and
            floppies, the personal resource is private and need
            be available only to the attached workstation.  With
            local hard disks the user needs the ability to make
            the files on the disk available to users on other
            workstations.  Local files can be shared by at least
            two means.  The first is very simple.  If a user
            wants a local file available to the net he puts a
            copy of it on the shared disks on the net.  Any time
            multiple copies of the same file are maintained
            consistency problems will develop.  In other words,
            after the user changes one copy he must change the
            other which may not happen all the time.  Therfore,
            the two files do not contain the same information and
            are inconsistent.  This may not always be important.

            The second method involves communication and control
            software in the workstation operating system.  The
            workstation OS has the ability to take requests from
            the net to access files on the local disk, if the
            user has allowed the file to be available to the net.
            The OS also has the ability to request the use of a
            file from another workstation.  Allowing a user to
            access files on any other workstation as well as on
            the shared network resources generalizes the file
            server concept.

            From the "system as a net" perspective, the user on a
            typical workstation has minimal system management
            responsilities.  1 person can manage all of net
            resources from their own workstation.  The management
            of shared resources must never interfere with local
            resources on other workstations.

            The idea of workstations having limited resources and
            providing access to files as the only shared local
            resource is contrary to the concept of the
            sophisticated node, like a UNIX machine or mini
            computer.  On these nodes management of net mechanism
            is local and the net has minimal shared resources.
            They have many node local resources.  The nodes
            share resources by making their local resources
            available to other nodes.
            Plexus net?????

               - Concept OS needs multi-tasking

                  1) allow user to switch between functions
                     operating in different windows. This is
                     what I mean by concurrent windows.

                  2) allow applications and operating systems to
                     be divided into multiple processes that
                     perform a well defined function.  This
                     would allow messages from the network to be
                     displayed while the user at the station is
                     performing another task.  Or allow network
                     management activities to run will user is
                     running another aplication.

               - A more generalized communications structure
                 which makes inter-process comunication over the
                 network or within the same machine transparent.
                 Suggested structure :

                       - IPC based on queues and message passing
                       - net interface and naming built into IPC

                 This will allow net based I/O to be treated, if
                 desired, the same as local I/O from the keyboard
                 and the display.  With this function
                 applications can be run remote over the network
                 from any workstation.  It also makes the
                 integration of the servers a straight forward
                 task.

               - Add a new file system based on a revised
                 workspace structure. The new file system will
                 emphasize record I/O and reliability.

               - graphic/screen oriented human interface

                   - touch panel instead of mouse
                   - no icons.  The mouse/icon interface is to
                     inflexible.  Once the user has become
                     familiar with the system the slow and
                     cumbersome cursor movement impedes the
                     user from developing further skills with
                     the system.
                   - Limited keyboard input. However, this can
                     become more important as the user gains
                     familiarity with the system.  Function keys
                     give the user a means to merge sequence of
                     input operations into a single input action
                     that the mouse/icon interface forces the
                     user to enter individually.

               - Add the Memory management unit to the Concept
                 hardware. Neccesary to support sophisticated OS
                 with adequate memory management.

               - Change the I/O structure.
                   1) use vectored interrupts for the I/O
                      expansion slots. The user interrupts.
                   2) provide an interrupt mask for the
                      auto-vector and the vectored interrupts.
                      This allows selective disabling of
                      interrupts.
                   3) Get rid of the Apple bus.  Put on a 68K
                      compatible I/O bus structure.

               - Upgrade the minimum memory size of the machine
                 to 1 megabyte.  Give 2 megabytes as a option.
                 The Lisa is 1 meg minimum.  Technically,
                 according to Mike Florio, 1 megabyte will almost
                 free the workstation from the need to swap a
                 process.

        - Other machines, primarily IBM PC and Apples

               - run terminal emulators to servers to do special
                 function available on Concept.  For example,
                 Const II management software runs on a special
                 net resource management server.  This allows us
                 to write the software once and not for every
                 machine we support.

               - some net software, user level, available on
                 these machines. Example:  ???

               - must be able to use shared resources, but not
                 necessarily be able to manage them.

                        - Const II
                        - File servers
                        - printer/modem servers
                        - time/event server

