A photo of Claire Durant

Claire Durant

hey! i'm a software engineer in based in new york's hudson valley region. i also make music sometimes!

Projects

HTTP/2 support for z/TPF's enhanced HTTP client

worked on an implementation of the HTTP/2 protocol in z/TPF's enhanced HTTP client, which provides the ability for transactional applications to make HTTP/REST calls using z/TPF's connection pooling support called the high-speed connector. the cool thing about HTTP/2 is that it's multiplexed, so a single connection can carry multiple outstanding requests. this means that compared to HTTP/1.1, users can dramatically reduce the number of sockets for a given endpoint, which is a big deal for lighter-weight remote distributed hosts.

i implemented an adaptive connection selection algorithm optimized for mixed-size traffic with concurrent requests, which considers real-time data from the HTTP and TCP layers, as well as from TCP internals that aren't usually exposed. also, a bunch of work on error handling and connection cleanup, which gets pretty complex with multiple pending requests.

IBM Docs page

z/TPF support for MongoDB version 8.0

adapted z/TPF's MongoDB compatibility layer to work with the latest version of the MongoDB Wire Protocol, allowing users to reap the benefits of using the latest versions of MongoDB client drivers in their distributed applications.

i worked in the protocol-handling layer here, including a significant restructure to allow both old- and new-format MongoDB requests to be processed. also, implemented support for the SCRAM-SHA-1 authentication mechanism, enabling industry-standard security for z/TPF's MongoDB server layer.

IBM Docs page

z/TPF dynamically resizable logical record cache support

worked on infrastructure improvements to z/TPF's logical record cache system. added support for dynamically resizing caches without losing existing data — previously you had to delete and recreate the entire cache, which meant repopulating everything from scratch.

also implemented a time-initiated sweeper program that monitors caches for expired entries. separately, reduced MIPS consumption and processing time when adding entries to full caches by optimizing the castout process—particularly important for time-sensitive operations. these changes made it much more practical to use very large caches in time-sensitive applications.

IBM Docs page

z/TPF business events support for multiple unordered dispatch queues

helped extend z/TPF's business events support to handle multiple unordered dispatch queues. previously, business events shared a single system default queue, which meant that if one event encountered transmission errors or timeouts, it could delay processing of completely unrelated events.

implemented support for separating events across multiple queues based on destination, volume, or other criteria—so issues on one queue don't impact others - specifically for traditional z/TPF database data event. also added support for increasing the maximum number of dispatch queues beyond the default limit of 20, providing more flexibility in business event environment configuration.

IBM Docs page

Publications

method for using machine learning techniquest to intelligently select a connection from a pool

wrote this about working in an environment not dissimilar to z/TPF's high-speed connector with HTTP/2.

this paper goes a step further than what we actually implemented, saying that not only can we use real-time connection health data to intelligently choose an optimal connection for a given request - we can use machine learning to continually improve the selection engine. this goes into a theoretical implementation of a few models with a feedback loop and re-training to get better results.

The IP.com Journal - 2026

View Publication

p.s. this costs $40 to read at the link, but i know a gal who might be able to kick up a spare copy over email :)

method for avoiding repeated fatal errors during message streaming processing that uses transaction scopes

the title's wordy, i know. this is about resiliency in exactly-once message streaming systems! a message streaming system uses transaction scopes to ensure the atomicity of working with the message queue.

if a fatal error occurs after popping a message from the queue, the transaction scope caises the message to reappear on the queue. this ensures that the message is not lost before it can be sent to a remote system - it can be retried. but if something causes repeated errors with a specific message, then that fatal error is going to keep happening over and over again. as a result of the repeated error, the message might be retransmitted multiple times, and processing of the queue will block as this message is stuck on the queue. the paper talks about how you can use fatal error intercept functions to move those messages to an error queue as part of process exit, preventing the message streaming system from getting stuck on that message.

The IP.com Journal - 2025

View Publication

p.s. this is also paywalled but get in touch if you want to chat

securing your z/TPF environment

contributed to the IBM redpaper "securing your z/TPF environment," documenting security features and best practices for the z/TPF operating system. wrote sections on managing and controlling access to z/TPFDF databases through z/TPF support for MongoDB, including user authentication, role-based access control, and filtered collections that limit data visibility based on business need.

also wrote on z/TPF's file system security support, covering the posix-y permissions, users and groups as they're supported on z/TPF, as well as access controls that restrict operator commands and administrative functions. the redpaper gives A LOT of guidance on protecting mission-critical systems running on z/TPF, aligned with the NIST cybersecurity framework.

IBM Redbooks - 2024

view publication

centralized database system with geographically partitioned data

centralized database system that enables compliance with data localization laws without requiring application redesign. many countries require that data about their citizens be physically stored within their borders, which traditionally meant partitioning databases geographically — complex and risky.

this patent describes a method wherein the database manager transparently handles geographic storage requirements: when a document is created, the system determines the required storage location based on attributes like citizenship or address, creates a remote copy in that geographic location, and modifies the local copy to contain only location metadata. applications can continue reading and writing documents as if they're stored locally, while the database manager automatically routes requests to the correct geographic storage. with this approach, there's no need to redesign applications around geographic partitioning.

US Patent 11,636,139 - 2023

view patent

Talks

HTTP/2 support for z/TPF's enhanced HTTP client

TPF Users Group - 2026

slides

z/TPF support for MongoDB update

TPF Users Group - 2025

slides

z/TPFDF update

TPF Users Group - 2024

slides

dynamically resizable logical record cache - deep dive

TPF Users Group - 2023

slides

dynamically resizable logical record cache - overview

TPF Users Group - 2022

slides

z/TPF support for MongoDB - user management enhancements

TPF Users Group - 2021

slides

enhancements to z/TPF support for MongoDB

TPF Users Group - 2020

slides

z/TPF support for MongoDB education session

z/TPF internship - 2020

watch

Blogs

z/TPF HTTP/2 client blogs

a series of posts about HTTP/2 support for z/TPF's enhanced HTTP client.

announcement | configuration

ZFILE sudo command support & health center for z/TPF support for java late attachment

this is about how you can use z/TPF's ZFILE sudo command to start the IBM health center on JVMs that are already up in a JAM cluster.

View Post

z/TPFDF education series

these posts are a high-level intro to z/TPFDF, a database management system for the z/TPF OS.

part 1: database organization | part 2: basic application usage

Music

soundcloud miscellany

little unfinished tracks - to call these WIPs would be very generous. they really just represent the moment at which i hit "save" and went off to do something else. these are mostly experiments with music programming using ORCA and other tools.

listen

Contact

feel free to reach out for collaborations, questions, or just to chat about shared interests.

email: claire.jade.durant@gmail.com github: clairejd linkedin: claire-durant rate your music: ~clairejd