Systems of Engagement

Systems of Engagement


We are seeing a historic change in IT systems from Systems of Record to Systems of Engagement. While we have been optimizing systems of records vertically starting from processors, OSes, Java, Middleware, and up to applications, we must optimize the systems of engagement, systems that are horizontally structured for networked middleware to efficiently and continuously support more interactions and collaborations with users and partners. For example, in Smarter Commerce, our business partners provide e-commerce sites using WebSphere Commerce with Unica to build rich client relationships, and with Sterling Commerce to manage their efficient supply chains. Our team is doing research on new methodologies to optimize workloads for such networked middleware within systems of engagement for better scalability, lower latency, higher throughputs, and lower memory requirements.

Workload Analysis and Optimization

The workloads in real customer environments are more complex than the workloads used for standardized benchmarks. Customers run their special applications on their tailored systems that have complex connections to other systems. The combined system of systems also needs to guarantee high availability. Out team investigates, analyzes, and solves performance and reliability problems involving these workloads, while proposing new directions for the next generation of IBM infrastructure. For example, we solved the problems that our customers encountered when they translated legacy COBOL programs to Java, and optimized these complex applications on WebSphere Commerce by drawing on our deep knowledge into OSes, Java, and middleware.

Optimizing Virtualized Environments

Virtualization is an underlying technology for Systems of Engagement. A virtualized infrastructure enhances system flexibility and a virtualized service reduces the complexity for the applications. However, virtualization often causes duplications of components, computations, and communications in the real computing platform that run virtual environment. Based on our areas of expertise in Java runtime development and real workload analysis, our team can optimize the virtualized environments and reduce the redundancy. For example, we designed and implemented a framework to reduce memory duplication in Java applications on virtualized OSes, and a language to describe large workloads that require high-performance computing resources in a virtualized environment.

Distributed Computing

In systems that are networked together, high scalability and high availability are normally built on distributed computing technologies. However, these technologies often increase the system complexity and computational redundancy and thus inhibit the evolution to Systems of Engagement. Based on our experience with distributed caching technologies in WebSphere eXtremeScale and stream processing technologies for various applications, we are designing and developing new technologies for better scalability and availability in Systems of Engagement.