HT-2021-000363 - [2025] EWHC 532 (TCC)
Technology and Construction Court

HT-2021-000363 - [2025] EWHC 532 (TCC)

Fecha: 10-Mar-2025

The SDM

The SDM

36.

The intended purpose of the SDM is to allow IBM mainframe customers to run their existing customer applications, written for a mainframe, without mainframe hardware or software, thereby achieving cost savings. The functionality provided by IBM hardware running the z/OS operating system is instead defined and provided by alternative software. The SDM comprises a number of programs which can run on conventional x86 hardware (used by most laptops, PCs and servers) using Linux or other open-source operating systems and open-source database products. The aim of the SDM is to migrate existing applications which have been written to run on a mainframe and enable such programs to be run on the x86 runtime environment without recompilation.

37.

LzLabs describes the SDM as a “compatibility layer”, that allows an application that has been compiled and link edited to run on a mainframe to function in the same way in an x86 runtime environment.

38.

There are three key difficulties in designing an alternative computer environment that can execute an application written and compiled for a mainframe. First, the application has been written and compiled for z/Architecture machine code rather than x86 machine code. Second, the application depends on services from the z/OS, COBOL and other IBM runtime environments. In order to call a library or language function from such runtime environments, it is necessary to identify: (a) the name of the function; (b) the number of inputs that the function takes; (c) the form that each input should take; (d) the number of outputs that the function produces; and (e) the form of each output. Third, customer data is encoded in an IBM mainframe specific data format and is not accessible in a readable format in another environment.

39.

The SDM claims to enable an application written and compiled for an IBM z series mainframe to run in an alternative computing environment without having to recompile the same. First, it translates the z/Architecture machine code instructions for the application into a format that the x86 processor can understand. Second, it provides a compatibility layer that replaces calls made by the application to z/OS services and redirects those calls to replacement services which follow the same interface format as the interfaces expected by the application. Third, it migrates the customer’s database from its original data format on the mainframe to an alternative, open source database format that can be used by the application in the new computing environment.