Modular Software - Home PicLan-IP - Home

PicLan-IP for Native Pick Hosts

April 18, 1998

PicLan-IP is now available for four native Pick platforms Modular Software is pleased to announce the immediate availability of PicLan-IP for four different native Pick systems:

Each of these system provide high-performance 32-bit Intel Pick implementations in a simple, robust, and reliable native environment.  By building on the tremendous success of PicLan IPX networking over ethernet, PicLan-IP adds native TCP/IP support to the existing PicLan IPX protocol support. This brings a whole new dimension of internet functionality to native Pick platforms that simply could not communicate with internet standard protocols.

With hosted MultiValue implementations, PicLan-IP brings a new level of performance, versatility, and simplicity to internet applications that make use of MultiValue DBMS environments.  With native Pick environments, PicLan-IP does even more by providing not only the high-level internet application functions, but also the high-performance, low-level TCP/IP protocol stacks required for internet network communications.  Instead of relying on tenuous links to non MultiValue internet services, PicLan-IP for native Pick hosts implements these same internet standard protocols and functions completely within the Pick environment.  The result is a standards-based solution that is efficient, cost-effective, and elegant.

Contents: ... The PicLan-IP Native TCP/IP Stacks
The PicLan-IP TELNET Server
The PicLan-IP Coyote Web Server
The PicLan-IP Web Client
The PicLan-IP Mail Server
The PicLan-IP TCP/IP Sockets API
PicLan-Ip for native Pick Implementation Details

The PicLan-IP Native TCP/IP Protocol Stacks

On hosted MultiValue systems like D3 and Universe running on Windows NT, PicLan-IP uses the existing operating system supplied TCP/IP networking support layer.  With native Pick hosts, this layer does not exist. The only solution was to implement the TCP/IP protocol stacks directly in the PicLan-IP driver layer.  This is exactly what has been done.

PicLan-IP includes a full featured TCP/IP protocol implementation for ethernet and fast ethernet connections that runs concurrently with the IPX protocol support that is a part of the PicLan IPX product.  The PicLan-IP TCP/IP protocol stacks are implemented in the same high-performance 'C' code state-machine that is used to implemnet PicLan IPX support. The result is a very fast, reliable TCP/IP support layer on native Pick platforms.
TCP/IP Standard The PicLan-IP stacks implement all of the required TCP/IP elements including IP, ICMP, UPD, TCP, ARP, static route tables, and Ping.
Virtual Hosting The PicLan-IP TCP/IP stacks support up to 50 local IP addresses on a single network adapter.
Ethernet or
Fast Ethernet
You can use PicLan-IP with the same set of ISA and PCI bus Ethernet and Fast Ethernet adapters that run with IPX PicLan.
Concurrent IPX
PicLan-IP TCP/IP operations do not interfere with PicLan IPX connections. You can freely use TCP/IP and IPX services on the same host with the same network adapter.
Large Server
The PicLan-IP TCP/IP stacks are user configurable to support as many as 4000 concurrent TCP/IP connections (on servers with sufficient RAM). This allows native Pick host to support even large web server applications with ease.

The PicLan-IP TELNET Server

On native Pick hosts, PicLan-IP can provide inbound TELNET services. This allows you to use standard TELNET terminal emulators and terminal servers in addition to PicLan IPX terminal emulators.

The PicLan-IP inbound TELNET functions are very fast and low latency using experience gained in deploying PicLan IPX services on over 5000 Pick host systems.  This allows users access to TCP/IP TELNET services with native Pick hosts for both intranet and internet use plus the added option of using industry standard TELNET terminal servers as an additional serial connectivity option.

One added benefit of PicLan-IP inbound TELNET services is the level of configurability that PicLan-IP provides.  Unlike most Unix and NT TELNET servers, PicLan-IP allows you to configure not only what TCP/IP addresses and ports are used, but also what client IP addresses are allowed. This allows you to manage your TELNET connections in a single centralized configuration file allowing access to users that you choose, and restricting access to others.  All without requiring a firewall.

And finally, PicLan-IP inbound TELNET services support full connecting logging operation as well as connection definitions that are designed to make terminal server operation seamless and reliable

The Coyote Web Server

PicLan-IP web solutions are quite simply the most elegant, efficient, and reliable way to deploy your MultiValue application with a web browser interface. Whether you are deploying within a corporate intranet, or world-wide via the public internet, PicLan-IP provides a robust solution to your web application needs.  PicLan-IP includes a full-featured, internet standard HTTP/1.0 web server.  Instead of relying on external, non-MultiValue web server modules, PicLan-IP implements the entire HTTP server engine within the MultiValue environment.

There are a number of reasons why running the Web Server as a MultiValue application makes sense:
PicLan-IP Coyote
Other MultiValue
Web Solutions
Web Server Built-In Requires External Server
Performance Very fast - all processing takes place in a single centralized location within a single process model. Slow - numerous processes have to exchange information using slow interfaces like CGI and pipes.
Setup Easy - all configuration items are controlled within the MultiValue environment. Difficult - Multiple products must be installed and configured in several run-time environments.
Control Excellent - All web functions are controlled within the MV environment. Poor - Web Server functions are beyond the reach of MV applications.
Compatibility Excellent - Use any web browser with HTML forms support. Javascript, Java, and Active-X can be used but are not required. Some good, some poor - Some solutions require Java or Active-X components complicating client configuration issues.
Logging Excellent - MV applications control all web logging function in MV format.  You control what informaton is logged and in what format. Poor - Web Server logging functions are controlled by the external web server and are difficult to manipulate with MV applications
MultiValue Applications
Programming Interface
Excellent - Active Server Pages with embedded mv/BASIC source code.  All processing occurs in MV code with MV format data structures. Poor - Application must map MV data to ODBC or use cumbersome subroutine based APIs.
Development Environment Excellent - Use any HTML editor.  Application error messages can be configured to go to the browser, monitor console, or log files. Use of mv/BASIC debugger is supported. Proprietary or none - MV interface uses obscure subroutine calls or non-MV data structures.
Error Reporting Excellent - Application errors are logged and user-controlled error displays are generated in plain english to the end-user. Poor - Application errors usually result in generic "no response" messages with little indication of the source of errors.
Live Development Excellent - Applications can be updated real-time with live users on-line. Poor - server components may need to be restarted with many type of application changes.
Application Persistence Excellent - mv/WEB environment handles persistence transparently with added support for timed item-locks. Some good, some poor - Hidden input fields and cookies may require manual decoding of HTTP headers and input fields.  Unknown support for item-locks.
Reliability Excellent - All server functions are fully watch-dogged. True 24x7 operation is designed in. Poor - Many server functions reside in environments that require manual intervention upon failure.  Poor implementation for 24x7 applications.
Cost Low - The PicLan-Ip licensing cost is all that is required. You do not need to license external servers.  PicLan-IP also runs on MultiValue phantom processes, so no MultiValue user licenses are consumed. Low to High - Depending on the configuration, you may need to license external web server software or even purchase additional host computers. Some solutions also consume MultiValue user licenses depending on their implementation.

The Web Server Implementation Standard

Even though the PicLan-IP web server is implemented completely within the MultiValue environment, it is a full featured HTTP server that features:
HTTP/1.0 Standard PicLan-IP implements the entire HTTP/1.0 standard.  Web users have no way of knowing they are conversing with a MultiValue host (unless you tell them).
Virtual Hosting PicLan-IP supports up to 50 independent sets of web content. One MultiValue host can appear to the world as many independent web sites and applications.
Versatile Content
The PicLan-IP web server supports user-definable web content including HTML, TXT, GIF, JPEG, EXE, ZIP, WAV, and other types that you can easily define.
The PicLan-IP web server implementation is fully multi-threaded taking full advantage of multi-CPU hardware platforms and overlapped I/O and CPU processing.
Server-side Caching The PicLan-IP web server makes extensive use of server-side caching to reduce server overhead when a page is accessed more than once. Nearly every concievable web element, from HTTP headers to active server page merge logic, is "compiled" the first time a page is accessed. This logic allows the web server to use intelligent "machine code generation" techniques to produce web interfaces that are actually faster than could be hand coded.

The Web Server Programming Interface

The PicLan-IP web server is programmable through the use of "active server pages".  An active server page is an HTML document that seamlessly blends the capabilities of HTML and mv/BASIC.  You create PicLan-IP active server pages with a standard HTML editor such as Microsoft Front Page or NetScape Composer.  PicLan-IP "active server pages" can consist of the following elements: PicLan-IP Web Server active server pages can be used in three different scenarios:
Standard Any web page can include mv/BASIC source code to generate dynamic web responses.
Default You can setup web directories, or entire IP addresses to call a single default active server page for any URL.  This allows you to easily implement global security and access control, sense browser configurations, etc. all from a single block of mv/BASIC source code.
Error If web processing results in an HTML error condition (such as page not found), you can specify an error page that can then present this error to the user with additional information beyond the simple error code. These error pages are specified independently for each IP address that the server is servicing.

The PicLan-IP Web Client

The PicLan-IP Web Client is not an application program with a user interface, but is instead designed to give your mv/BASIC program access to the web. With the PicLan-IP Web Client, your mv/BASIC programs can perform HTTP operations with a simple one-subroutine interface.  This allows automated mv/BASIC functions access to a world-wide information base.

Some applications for the PicLan-IP Web Client might include:

The PicLan-IP Web Client can also be uses as a powerful "Remote Proceedure Call" engine that works both in intranet and public internet environments. With the PicLan-IP Web Client and a remote PicLan-IP Web Server running, you can easily setup applications that "remote execute" MultiValue application code.  You can pass parameters and retrieve results.  This "loosely coupled" architechure using HTTP as a protocol is ideal for distributed processing applications where the performance and/or reliability of the communications link between sites is less than perfect.

The PicLan-IP Mail Server

The PicLan-IP Mail Server is a standards-based internet mail server. Support is included for the SMTP and POP3 protocols including full DNS MX record resolution.  This allows the PicLan-IP Mail Server to participate as an on-line internet mail server with all mail structures stored in the MultiValue environment.

Having a mail server in the MultiValue environment has the advantages of:

The PicLan-IP TCP/IP Sockets API

The PicLan-IP TCP/IP Sockets API provides an easy client-side interface for applications to directly communicate with TCP/IP streams.  This allows applications programs to use TCP/IP stream connections to exchange data with other applications or systems.  The PicLan-IP TCP/IP Sockets API is also standardized from system to system, so an application can more easily be ported between MultiValue host systems.

PicLan-IP for native Pick Implementation Details

The PicLan-IP implementation on native Pick hosts is a blend of driver-level TCP/IP protocol stacks and standard Pick/BASIC application code. TCP/IP drivers implemented in kernel-mode 'C' as a state-machine communicate with Pick/BASIC application code using the same time-proven techniques used in PicLan IPX functions since Pick R83.  Full PicLan-IP support is implemented including HTTP web client and server, SMTP/POP3 mail client and server, TELNET server and client, and TCP/IP sockets API.

PicLan-IP server functions are implemented as event-driven Pick/BASIC applications that execute on Pick phantom processes.  PicLan-IP does not consume any Pick user licenses (except for inbound TELNET connections), regardless of the number of TCP/IP connections utilizing PicLan-IP services. PicLan-IP server process "threads" are user configurable to take advantage of overlapped CPU and disk operations and scale well with system configuration.

All network traffic is extensively buffered and event-driven in a state-machine driver engine that sits directly on top of system interrupts in the 32-bit flat-model kernel environment.  This offloads most network control functions from the Pick/BASIC environment allowing a very small number of PicLan-IP server processes to service literally thousands of concurrent TCP/IP connections.

Implementation Performance

Initial testing with PicLan-IP on single processor Pentium systems show that native Pick environments are capable of driving full T-1 or greater internet web applications assuming a reasonable application design. There appears to be no reason to distribute most applications to multiple systems or to use external web server engines.  While not specifically targetted for native Pick users, a white paper on "PicLan-IP for NT Security and Performance does discuss a number of pertenent issues regarding security and performance of public web servers running with PicLan-IP.  With PicLan-IP, you can run both your internet and local user solutions from a single centralized host.  If you wish to discuss performance specific issues, including the results of webstone benchmarks, please contact

One additional note, because PicLan-IP on native Pick hosts has its own TCP/IP protocol stacks, system security is actually better than on a hosted system.  This is because PicLan-IP does not have any back doors or complicated code paths that can allow intruders access. PicLan-IP truly does keep it simple.

Modular Software - Home PicLan-IP - Home

© Copyright 1996-1998  Modular Software Corporation.All rights Reserved.