What is ALCS?
ALCS (Airline Control System) is a specialized control monitor by IBM that enables TPF-based application code to run efficiently in a standard z/OS environment. Its primary purpose is to deliver a unified systems environment for transaction-heavy applications, emphasizing portability, reliability, and performance.
ALCS Operational Design and Messaging
ALCS handles the processing of user messages, such as airline seat inquiries or bank balance checks, by assigning each incoming message a dedicated Entry Control Block (ECB). The ECB acts as a unique, isolated work area for the message and coordinates all necessary processing between the application and the ALCS environment. ALCS uses message content and terminal identifiers to determine which application program should process each message, supporting high volumes of concurrent entries without resource contention.
Programming and Integration Environment
- Programming Interface: ALCS offers a specialized set of application programming macros (the TPF/ALCS API). This interface is unique to ALCS and TPF, supporting direct macro calls, as well as select MVS calls for integration with services like DB2, MQSeries, APPC, and TCP/IP.
- Language Support: While most ALCS application programs are written in Assembler for maximum efficiency and control, ALCS also supports high-level languages such as C, COBOL, and PL/I, broadening its adoption and modernization appeal.
- Reentrant Code: All ALCS application programs must be reentrant, supporting both multiprogramming (entry interleaving) and multiprocessing (parallel message processing across CPUs). This architectural requirement underpins ALCS’s legendary stability and scalability in production environments.
Advanced Storage Management and Security
- Storage Allocation: At startup and throughout its operation, ALCS allocates storage for all aspects of application and system management, including the monitor, IO operations, and user program data. Most ALCS storage is positioned above 16MB, but certain monitor-relevant regions remain below this boundary for compatibility reasons.
- Protection Keys: ALCS implements storage protection using three keys—Tables key (monitor-exclusive), Entry key (shared between ALCS and applications), and Global key (for shared global areas). This approach ensures robust isolation between critical monitor operations and user code, preventing accidental corruption.
- ECBs and Data Levels: Each entry work unit (ECB) is 4096 bytes and comprises structures for handling application data, transaction routing, error monitoring, and concurrent database or file access. ALCS supports up to 16 data and storage levels per entry, and even provides dynamically-allocated Data Event Control Blocks (DECBs) for advanced concurrent IO scenarios.
Performance and Message Processing Flow
- Work Lists and Dispatching: ALCS maintains several FIFO (First-In, First-Out) queues for message entries, IO control blocks, ready entries, and delayed entries. The dispatcher processes these lists in sequence to optimize responsiveness and throughput.
- Macro Interface: Application programs communicate with ALCS via highly efficient monitor-request macros (using the 'BASSM' instruction for rapid control transfer), ensuring minimal system overhead and rapid transactional response times.
- Operational Resilience: Storage units are managed to prevent cross-entry contamination, using physical memory page buffering and software enforcement so that each processing unit is “sealed off” from others
|
TPF Capabilities
|
ALCS Capabilities
|
|
✅ Supports Very High Transaction Rates
- Achieves tens of thousands of messages per second (e.g., 10K, 20K, 30K).
- Utilizes High Performance Option (HPO).
- Up to 32 TPF 4.1 systems can be loosely coupled to form a large-scale system.
✅ High Availability
- Designed for fast restart after failure.
- Agents rely on quick recovery post-crash.
- Multiple systems via HPO enhance availability.
✅ Communication Protocols
- Supports both standard and airline-specific communication protocols.
✅ Special Hardware
✅ External Support System
- TPF is the target system for deployment.
- System build and application development occur on:
- MVS or VM for TPF
- LINUX for z/TPF
- Off-line activities require a z/OS system .
✅ User-written Additional Functionality
|
✅ Runs Under z/OS
- Operates as a job under OS/390 or z/OS.
- Supports programs written to the TPF
- Leverages OS/390 and z/OS architecture.
✅ Supports High Transaction Rates
- Capable of handling many thousands of messages per second.
- Optimized for multiprocessor CPU environments.
✅ High Availability
- Achieved by minimizing failure occurrences.
- Uses Application Program Isolation and recovery routines to prevent crashes.
- Supports standby ALCS for faster warm start in case of failure.
✅ Communication Protocols
- Supports both standard and airline-specific communication protocols.
✅ Unified Operating Environment
- Integrates seamlessly within the z/OS ecosystem , offering a unified environment for operations and development.
|
ALCS Customers and Industry Adoption
Airline and Travel Industry
Many airline organizations have utilized ALCS for critical reservation, cargo management, and high-volume transaction processing needs since the late 1980s and 1990s. Some have been running ALCS systems form multiple decades.
Finance, Banking, and Other Industries
Financial houses and banks have used ALCS for handling transaction-intensive financial processing, highlighting the reliability, security, and volume-handling benefits that ALCS offers outside of aviation.
Hospitality
Global hotel chains have applied ALCS for reservation and customer management, leveraging its uninterrupted transaction handling and system integrity features.
Why Organizations Choose ALCS
- Enables legacy TPF applications to run on modern z/OS with minimal changes.
- Continuous availability, with failover, online maintenance, and deadlock handling.
- Supports tens of thousands of transactions per second.
- Integrates fully with modern IBM mainframe middleware and communication protocols.
- Provides strong system and data security with robust isolation.
- Multi-language programming support aids modernization initiatives.
Conclusion
ALCS stands out for its technical richness and adaptability, making it ideal for mission-critical transactional workloads in the world’s most demanding industries. Whether running complex airline reservation systems or real-time financial networks, ALCS enables organizations to harness IBM mainframe reliability, uncompromising security, and modern integration, all while supporting a seamless migration path for legacy transactional applications.