We’re proud of the work we do here at OSR. We’ve been fortunate enough to build a foundation of successful clients from around the world, and hope we can do the same for you.
Have you used OSR software or seen its benefits? Almost certainly…you just wouldn’t know it. Our software can be found in dozens of high-volume commercial applications available to business and consumer markets. We’re very often the enabling technology that allows hardware and software vendors to deliver their value-add solution to Windows users. Do you use an antivirus product? We’ve designed, developed, licensed key technology for or consulted for almost every major AV vendor in the industry. Watch CNN? Ever wonder how their file system helps them pick up live newsfeeds from across the globe, edit them on-the-fly, and serve them up to a worldwide audience? We know how. Use Windows? Yes, we’re in there too.
To give you a concrete idea of the types of projects we’ve worked on, here are just a few examples of consulting and development projects we’ve undertaken for our clients.
PCIe Driver
A technology leader in frequency control products engaged OSR to design and implement an interface to its synchronous, high-resolution, common, time-based I/O card and a resulting driver supporting operations on the PCIe bus.
Result: OSR proposed a KMDF-based driver, and worked closely with the customer’s engineering team throughout the course of the project to help translate the customer’s expertise (hardware and firmware operations of the timing device) and Windows kernel driver functionality. The resulting solution was run through relevant WHCK testing, so that the customer was able to achieve Windows Hardware Certification.
Key to this project was the development of a consistent, low-latency driver, to ensure the lowest possible delay for this time-based device.
Cloud-Based Backup Solution
A specialty tool and service provider in SQL database space approached OSR with a need to port an existing SQL backup solution, based on a legacy, file system filter driver, to a file system mini-filter.
Result: As part of the solution, OSR proposed a clear delineation of operations between a mini-filter (responsible for monitoring file system I/O operations in order to track file changes) and a user-mode service (responsible for management operations (driver control and file redirection).
Keys to this project including defining a design that limited the changes in the kernel interface, and simplifying the logic by moving operations out of the kernel and into a user-mode service.
Storage Filter (Disk Class)
A worldwide leader in optical communication networks and test and measurement solutions approached OSR with a need to design and develop a facility to gather and return information about Windows storage operations on server systems.
Result: In addition to the successful completion of the disk filter, OSR contributed considerable work to the design of the resulting disk filter, with respect to its coordination with the client application.
Keys to this solution were defining a lightweight format for logging operations and focusing on performance of the solution with respect to overall memory usage and CPU utilization.
File System Mini-Filter/Disk Filter (Disk Caching)
OSR engaged with a storage device manufacturer to build upon technology in existing hybrid disk drive solutions by designing and implementing a “file aware” caching component.
Result: The overall project was complex, including involvement of disk drive hardware, firmware, filter drivers, device drivers and numerous other components. OSR and the client worked closely from the early stages of architecture and design alternatives, through the completion of prototype and “productized” software.
High-Speed Serial Driver
An international aerospace, defense and security company engaged OSR to redesign and implement a driver for a high speed (serial) device. The original driver was authored through use of a (now defunct) driver framework package and could not easily be modified to support new features and OS versions.
Result: This project was relatively straight-forward to achieve and included the addition of some custom IOCTLs and support for 64-bit Windows. It was accomplished in a relatively short period of time to the happy client.
User-Mode File System (media)
A PC OEM engaged OSR to design and implement a FUSE layer in Windows and port an existing, Linux-based file system to Windows. Challenges in this project included (a) marshalling operations between kernel and user mode in Windows, (b)managing core differences in how Linux and Windows file systems operate and how that translates into user experiences, and (c) deadline constraints (the client needed to demo the solution at an important industry tradeshow).
Result: The driver was delivered in time for the client to demo their solution at the trade show, and the product is pending retail release. OSR and the client are now discussing additional enhancements to the solution to support new product features. Much of the success of this project was a direct result of the excellent communication exhibited between the engineering contacts for OSR and the client.
Radio Management Driver
Due to a last-minute change in requirements, a PC OEM approached OSR with an urgent need for a driver that toggled the state of a wireless radio via the ACPI BIOS. While not a technically challenging project, the short timeframe and the need to get the implementation exactly right the first time made the project interesting.
Result: In less than one week’s time, OSR delivered a KMDF-based driver which subsequently passed Windows certification with “flying colors”
SMBus Driver (and Client Driver)
As part of a research and development project, a leader in the manufacture of HID devices wanted to interface one of their devices to Windows via the SMBus. The challenges in this project were characterized by (a) the lack of generic support for SMBus in Windows, and (b) the use of prototype devices from the vendor, (c) the requirement for costly and unstable “reference” (SRB) hardware platform boards during implementation and (c) the requirement to collaboratively design, specify, and implement the necessary changes to the ACPI BIOS.
Result: While the delicate nature of the hardware and firmware associated with the solution added the expected level of stress to the project, this was overcome by an excellent working relationship between the OSR engineering staff and the client’s top-notch technical contact. This resulted in OSR earning an “early delivery” bonus for exceeding target milestone expectations.
1394 Client Driver
An industry leader in laser and photonic components approached OSR with a need to secure a 64-bit Windows compatible solution for their test and measurement device which utilized a 1394 interface. An existing solution was based on an unsupported, 3rd party “toolkit”, and was exhibiting issues. OSR counseled the client on the benefits of a KMDF-based client driver, and it’s supportability in the future.
Result: Driver delivered on time, and product is commercially shipping. It’s not often we get exposed to interesting hardware from the scientific community. This was one of those fun, successful projects where we learned something outside of our field of expertise.
End Point Security Solution
A solution provider with expertise in endpoint security engaged with OSR for the design and development of an operating system monitoring solution designed to recognize and stop system attacks.
Result: The solution delivered by OSR included a suite of filter drivers at various levels within the Windows operating system
Transparent, Per-File Encryption Solution
A software security solution company approached OSR with a set of requirements for a custom, per-file encryption solution for Windows. OSR proposed the design and implementation of this solution, using its Data Modification Kit (DMK).
Result: The resulting solution was completed by OSR, remains a shipping product to this day, and is maintained by the client with support and upgrades to OSR’s Data Modification Kit (DMK) portion of the solution.
“Blade” Server Solution
OSR worked with a company who had designed and delivered a “blade” solution on Linux, but had clients clamoring for their product on the Windows OS. While various storage, network and processing components were part of the system, OSR’s focus was on designing and delivery the kernel piece related to the disk storage of the system.
Result: OSR designed and implemented a complex port driver to manage virtual storage devices attached to the blade system via a cross-bar switch. Challenges included ensuring proper crash dump support, interoperability with other software in the system, plug and play support, and multipath IO.
File System for Industrial Control Solution
A company in the industrial automation and control industry approached OSR with the need to host the services provided by a proprietary file system on Windows.
Result: OSR designed and implemented a prototype of a custom file system on Windows using its File System Development Kit (FSDK). The FSDK, and the prototype, allowed the client to be insulated from many of the complexities of implementing an installable file system on Windows, so that they could focus on the features and functionality of the solution. The “pseudo file system” that was created appeared as a local file system to the Windows client, to allow exporting of the file system via the SMB file server (SRV) so that other SMB clients could access files.
USB Device Enumeration Solution
A storage company required assistance in solving a specific USB device enumeration issue to help streamline its automated test suite.
Result: Client engaged OSR to research various methods to enumerate devices on the USB bus, evaluate pros/cons, determine applicability/feasibility, and then implement both a software prototype (for “proof of concept”) and final, customer-ready solution. This work was completed as expected, and within a tight customer timeline.
Notebook Disk Drive Protection
A PC manufacturer approached OSR with the requirement to work with their platform hardware and firmware architects, to design and implement a solution that would protect notebook disk drives from damage during inadvertent drops by a user.
Result: Working with a wide variety of groups (product management, platform architects, BIOS engineers, and others) OSR collaborated on an architecture, and then designed and delivered a solution for the client. This entailed working through issues with various models and stages of prototype devices, in various disk configurations, and on various versions of the Windows OS. OSR maintained its “presence” on the project for additional years, by providing maintenance and support while the product line gained popularity in the consumer market.
File System Filter (per-file replication)
A PC manufacturer, services, and solutions company approached OSR with the need to implement a file system interface on Windows for data distribution (per-file replication) on drives for a point of sale (POS) solution.
Result: This solution was designed and implemented, and to this day, maintains a large and successful presence in the parcel/package shipping industry.
File System Filter (per-file replication)
A company engaged OSR to explore some issues in its core network redundancy solution. As part of those explorations, architecture for a new product that provided real-time data replication arose, with OSR offering to design and implement it. The client hired OSR to complete the design and implementation.
Result: The completed solution operated on the primary system, intercepting I/O operations (FS filter) and replaying them on a corresponding file maintained on a secondary, remote, system. This solution — the first of its kind in the industry — was a major commercial success for the client, and for at least one other vendor that licensed the core technology from the client and rebranded it as its own.
Industrial Control Drivers (custom PCI devices)
A large supplier of products and solutions to the direct mail industry engaged with OSR to write drivers for two proprietary interface devices used as part of an automated mail processing system.
Result: OSR developed and tested each driver against a simulation device (the automated system was quite large and thus not portable), and delivered the completed driver and associated user-mode console apps, along with a warranty to cover any issues uncovered with testing of the actual processing system.
Consumer Infrared Receiver (CIR) Device Port Driver
OSR worked with a major software vendor to provide Windows Media Center support for a Consumer Infrared Receiver (CIR) device.
Result: Working with the client, a 3rd party semi-conductor company, and a 3rd party BIOS provider, OSR designed and delivered the first of its kind IR port driver to support the CIR device on Windows. In addition, OSR authored test tools and documentation to be used as part of CIR device/IR port driver quality tests on the Windows platform.
Biometric Sensor Driver
A company engaged OSR to perform a design and code review of the driver for their biometric sensor family of products. While this driver had been shipping in the field for one to two years, existing customers were experiencing issues with the driver. Client believed these issues were caused by the Selective Suspend and Power Management code in the driver, and thus have asked OSR to focus primarily on those code paths.
Result: OSR’s major finding was that there is a general lack of proper serialization throughout the driver, especially with regard to the Selective Suspend (SS) and Power Management (PM) paths. To the credit of the original developer, several of these issues existed in the WDK sample driver on which the client’s driver was based. In addition to the SS/PM race conditions there are several other places within the driver that were subject to race conditions. Notably these conditions exist in the interaction between the driver and the underlying bus driver. The code review also uncovered several issues in terms of general Windows Driver Model concepts, including the use of a sub-optimal I/O model.
“White Listing” Product
A company providing endpoint control and security solutions engaged OSR for a code review of a Windows security product to determine if approaches taken with the driver would lead to stability or compatibility issues, and if so, whether alternative approaches could be taken to overcome these issues.
Result: The particular driver reviewed relied heavily on unsupported hooking practices to monitor system call, file system, network, and keyboard activity, in order to achieve the functionality desired. In addition, other practices within the code base were determined to have dangerous security and reliability impact. A detailed summary document was provided to the client, with recommended alternative (more reliable and supportable) approaches to achieve the client’s overall goal. Subsequently, client engaged OSR to design a new driver based on these findings, so that client’s in-house staff could then pick-up the project and take it through the implementation and deployment phase.
Custom Serial Port Driver
An aerospace and defense technology contractor approached OSR for assistance in reviewing a driver for certain custom hardware. The overall solution had been recently updated and was experiencing bugs and performance issues under test. In addition, the original author of the driver update was no longer employed.
Result: OSR performed a code review of the driver, which revealed concerns about architectural and functional correctness, as well as future maintainability. Recommendations were provided to the client as to areas that required improvement and/or overhaul.
File System Filter (Adaptive Compression)
OSR was approached by a provider of adaptive compression technology to perform a code review of the kernel components (interface and file system filter) of an advanced caching solution.
Result: OSR was able to define issues with file naming (including aliasing such as short/long name, hard links and Open by file ID), significant issues in tracking file context, some minor PnP issues, and other less-critical programming issues such as memory leaks, use of untagged allocations, and 64-bit readiness. Suggestions and solutions were provided to the client to assist their engineering staff in remedying these issues.
Volume-Level Change Block Tracking Driver
A full service backup and recovering vendor approached OSR with a need to define a method for tracking changes on a volume to facilitate the creation of a volume-level, incremental backup solution. In theory, the resulting solution would use a set of tracked changes to restrict the backup operation to only those regions of the volume modified between certain points of time. The desired result was a performance optimization of the backup operation as compared to a full backup.
Result: OSR proposed and designed a volume-level solution, independent of the file system, to be Volume Snap Shot (VSS)-aware and use VSS as a signal to begin and end change block tracking lists. As the overall impact on the system was a concern, the solution was designed to specifically limit its system footprint by implementing functions in kernel-mode where necessary, and leaving other functions to be implemented in the user-mode component as prudent.
Keys to the design were the method and format used for reporting the list of changed blocks from the driver to the user-mode application.
FDE Hibernation/Crash Dump Support
A data security company had an existing full disk encryption (FDE) product for the Windows operating system comprising a real-mode component and a disk-class filter. Because hibernation and crash dump file contain exact snapshots of the user’s activity on the system, it was imperative for this security product to either (a) disable hibernation and crash dump facilities, or (b) encrypt the hibernation and crash dump files’ contents. As option (a) lead to a decrease in standard Windows functionality, the client asked OSR to research and come up with a design to appropriately handle Windows hibernation/crash dump support to ensure that data is written in encrypted form to disk during these two scenarios.
Result: OSR authored a design document describing a best-case approach for crash and hibernation file encryption. On receipt of the design, the client was able to utilize the design and its own internal staff to implement the code necessary to deliver this functionality as part of its FDE solution.
NVRAM Disk Cache Device
A hardware company wanted to build a high performance NVRAM disk cache device for Windows. The company engaged OSR to define design alternatives, review them with the company’s engineering staff, and from these alternatives create a high level design.
Result: OSR provided client with the details and pros/cons of five separate design alternatives for implementing its device on Windows. Each approach was compared, and recommendations were provided to client on proceeding. After a specific design approach was selected by the client, OSR authored a high level design document describing the approach (which included multiple kernel-mode drivers) for implementation by the client’s staff.
Data Leak Prevention (DLP) Solution
A data leak prevention (DLP) provider engaged OSR to author a product “white paper” and design based on a secure operating environment for Windows comprised of authorization/authentication, storage management, configuration management, network management, and reporting/auditing facilities and components.
Result: Client’s solution was designed and delivered to protect the host computing environment from malicious code or attacks, including: code execution, Trojan installation, malware or antivirus; propagation of malicious code from the user to system environment; re-execution of malicious code on restart/logoff; deletion (by user) of system resources; code patching; and execution of programs from remote resources.
File System Filter for Magneto-Optical (MO) HSM Solution
A company had an existing product that managed magneto-optical (MO) disks via a UDF file system implementation in Windows, and desired to add support for hierarchical storage management (HSM). OSR was engaged to design a solution using its existing file system implementation that would (a) improve perceived performance, decrease overhead, and improve interoperability with other standard Windows components.
Result: OSR designed a service (with responsibility of migrating data to and from the existing FS) and an NTFS-based file system filter to manage reparse points, data repatriation, and ancillary file system operations.