| Server Farm Load Balancer/SOA Platform |
|
The N-tiered system architecture incorporates a master names server, server process managers, client and server APIs, and
CORBA to provide a Service Oriented Architecture platform. The master names server assigns services to client requests at
the functional level based on server efficiency. The master names server manages a dynamic pool of persistent processes
distributed across the server farm based on service demand. The management of active processes is controlled by the server
process manager, on a given server, under the direction of the master names server. Each server process provides a set of
related functional services that are registered with the master names server. Each server is independently configurable and
dynamic to the overall system in both services provided and farm participation.
The network topology isolates the webserver(s) from the server farm through dedicated communications paths protected by a
firewall. No direct back office support is available to the webserver without services provided through the names server
over the dedicated communications link behind the firewall. The servers that participant in the server farm use 3 physical
communications paths. Farm services, database services, and intranet command and control are isolated from each other
physically and logically.
The master names server supplies a generated IOR that provides a CORBA link for client communications. The farm server
process managers register their availability and IOR with the names server. A server process registers its IOR with the
names server as being owned by the process manager that created it and in turn registers the named services (functions) that
it owns. The master names server keeps a configurable pool of ready processes to insure that any service request can be
assigned an idle provider process. Services are assigned the currently most efficient provider. The pool of ready processes
are managed in relationship to the length of idle process time and service loading.
|
| Real-Time Operating System Kernel |
|
Unix like real time embedded operating system kernel for a Special Services Remote Test Unit. This product is a proprietary
multi-card system with the operating system stored in ROM on the CPU card. The operating system is a non-preemptive
multi-tasking operating system that uses FLASH Memory to store application programs and battery RAM for system configuration
data.
The kernel includes a power on bootstrap loader to initialize the CPU card, bind the memory maps, and activate the operating
system. The kernel supports standard POSIX task management, memory management, and I/O interfaces.
Operating system resources are provided to the application programs through standard library interfaces mapped through a
system jump table solution. Drivers provided by the operating system include DSP card controller, FLASH controller, battery
RAM controller, communications port mapper, on board modem controller, Kermit data transfer controller, system latch
controller, and a system debug monitor.
|
| Automated Extract, Translate, Load (ETL) System |
|
Extract, Translate, Load (ETL) solution to provide Point of Sale audit data collection and delivery. The architecture
incorporates distributed load balanced process management, fault tolerance, error recovery management, results reporting,
and IPC management. The ETL process is part of a major project to redesign the enterprise sales data processing systems.
The ETL portion is responsible for processing audit files from remote locations using a variety of POS tools resulting in
various data file formats. The ETL process utilizes dynamically mapped rule sets to define the extraction process for the
various delivered formats and a second rule set to define the formats and destinations used to populate the enterprise
databases.
The ETL process design incorporates concurrent processing, multi-tasking, load balancing, IPC, and shared resources to
accommodate the large volume of data and manage system loading. The N-Tiered design provides APIs that separate the general
application logic from the details of resource usage and management. The design provides shared libraries and shared memory
to reduce the resources necessary to process the large volume of source files simultaneously through concurrent processing.
The ETL process flow is incorporated into a 3 phase design to separate the logical components content processing. The first
phase is responsible for identifying the source of the data and collecting the mapping rules required to parse the content.
The 2nd phase is responsible for parsing and validating the data. The final phase is responsible for populating the databases
as directed by the destination mapping rules. Each phase is processed by a program designed specifically for the required
task. The parsing program is designed to parse content based on the rules so that any new audit file format can be introduced
into the system without modification to the process phase programs. Shared memory is used to pass results from one phase to
the next. To maximize performance and minimize resource usage rule sets are cached in shared memory as their need is
discovered and flushed from shared memory when resource thresholds are approached.
The process manager incorporates a load "bubble" design to maximize process pools for each phase of content
processing during burst periods. This design prevents overloading of the database server while maximizing resources that are
less stressed, such as CPU, file system, and memory. The basic concept of the design allows data files detected in the sweep
of the file delivery home to add as many processes as are needed to the 1st phase process pool, within threshold limits. As
data sets complete the first phase they are assigned to processes in the 2nd phase pool. When the process pool runs out, the
pending data set waits. As data sets complete the 2nd phase they are assigned to a process from the 3rd phase pool. When the
collected data file list empties, and the 1st phase load requirements began to taper off, the load bubble migrates to the 2nd
phase, and later to the 3rd phase. Each phase can be configured to control the minimum and maximum load percentages. In
addition to controls over each phase, the overall ETL service can tuned through the configuration files During idle periods
the process manager steps down the number of ready processes in each pool to the lowest threshold.
|
| Call Center Management System |
|
Redesigned turn-key Call Center Management System. This is a Client/Server solution consisting of 26 server side managed
processes to provide client data collection and management, call center work distribution management, results data collection
and management, and automated system maintenance. A system process manager/scheduler provides for unattended system operations
and a user interface provides system configuration management and operation report generation tools. The system uses a
relational database consisting of over 125 tables for client source data management, results data collection, and system
configuration management. The User Interface is designed to be accessed from both Windows and Unix workstations.
The system was designed and developed around a three tier software design model. The system includes 10 shared libraries
that provide an API between low level system support and the top level application programs. Library support includes process
logging management, memory management, shared resource management, file management, and data format disassociation for both
client source data and the database architecture. The three tier model allows for system upgrades to be performed without
taking the system offline and provides a single point of change if and when structural changes are made to the underlying
data models.
The original software was a collection of 17 Korn Shell programs using SQL command streams executed as cron jobs. The goal of
the initial phase of the project was to evaluate how to best stabilize the system, provide process and data audit trails,
improve overall performance, and maintain an in production presence throughout the project. The first phase of the project was
completed in 3 months and produced a base document set which included a system overview, project proposal, project plan, and
data dictionary. The remaining phases of the project spanned over 2 years in which the call center had less than 1% down time
due to the migration. The system reliability went from daily production problems to 100% issue free center operations.
|
| Massive Multi-player Online Real-Time Strategy Game |
|
The game features 24/7 continuous play and interactive Player vs Player gaming. Interactive game management is provided
through any HTML 4.01 compliant browser acting as a Thin-Client. The game play is continuous in a persistent universe where
the game pieces act under the direction of orders issued by the player. This is a space based game where the player controls
1 interactive ship, a fleet with 4 types of automated ships, and a home planet with a living population and manufacturing
capabilities. The player directs fleet operations that include movement, mining operations, and resupply operations. The
player manages alliances with other players and builds a database of game elements discovered from exploration. The interactive
interface provides navigation control, combat control, player to player communications, and cargo management for direct Player
vs Player interaction.
The game incorporates distributed processing, shared memory, and an extremely efficient relational database design capable of
processing a large volume of concurrent transactions. The persistent game pieces incorporate both timed and proximity
detection event activation triggers. The interactive player session interface features framed control panels with event
transition timed refreshing. Interactive player control panels are generated by look-ahead event processing, transferred to a
directory created for the user session on the webserver, and delivered to the browser as static pages.
|
| Online Safe Deposit Box |
|
This application is a secure online safe deposit box for personal information needed in case of emergencies. The application
provides secure access to information with any HTML 4.01 compliant browser. The N-Tiered solution incorporates SSL access,
non cookie user session management, binary CGI back office gateways, relational database, and CORBA communications over an SOA
load balanced server farm. The login process features standard user/password access with an additional question/answer
challenge gateway.
|
| Interactive Voice Response Inventory Ordering System |
|
The application provides a 24/7 scheduling solution for gas station delivery orders. The interactive voice response
application allows a station to access the system and schedule a delivery by volume and date. The system allows up to 20
interactive callers and 8 user terminals simultaneous access to product information and delivery scheduling. The
application is built on IVR vendor equipment supported by a Real-Time Unix operating system kernel.
The application call processing manager uses a multi-level state machine solution to provide round-robin service for
interactive caller prompt delivery and response processing. The design includes a proprietary database management system,
user interfaces, automated system backups, mainframe database update controller, report generators, and system activity
logging facilities.
|
| Electronic Document Vault |
|
The system is a layered Interleaf application providing a complete tool set to control the checkin/checkout process of
engineering documents. The system provides a major element of the corporate ISO-900x strategy. The system provides user
interfaces from either integrated Interleaf Drop-Down menus or a GUI Browser.
|
| CAD Data Extraction |
|
Design and analysis programs to support an in-house product engineering/manufacturing process automation enterprise solution.
This system consists of over two dozen sub-systems that provide automation to the design and manufacturing process of OEM
products. This system is an Enterprise solution operating in a Client/Server environment supporting Sun and Windows NT
workstations. The system extracts design data originating in CAD tools and stores the results in a relational database.
The system then provides the data used drive the manufacturing process.
Managed the conception, design, implementation, and deployment of a library tool set to encapsulate and standardize database
access, CAD data extraction, and report generating processes. The tiered approach allows programs to share solutions, reduce
development time, and create a single point for data layout changes.
Managed the conception, design, implementation, and deployment of departmental project documentation standards based on Full
Life Cycle Methodologies. Once the standards were deployed and adopted by the team overall productivity was increased while
overlapping development efforts were reduced. The standards lead to a reduction in full staff attended meetings and an
increase in shared code base usage.
|
| Other Projects |
|
Point of Sale Device Transaction Manager
Real-Time Interactive Voice Response Message Delivery
In-Store Check Verification System
Bellcore compliant MML Communications Controller
Remote Database Update System
Process Swap Manager (non multi-tasking OS)
Collectibles Inventory and Investment Management Application
Distributed Job Process Manager
HDLC Communications Controller
Automated Office Interface Controller and Simulator
|