DMK Architecture Diagram

2024-02-07 03:48
文章标签 architecture diagram dmk

本文主要是介绍DMK Architecture Diagram,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tony mason大牛写的一个库,估计是OSR 以前版本的升级。

描述:DMK Architecture Diagram
图片:

Data Modification Kit (DMK)

Products that encrypt, compress, or otherwise modify file-based data require some of the most complex kernel software developed for Windows. Even for seasoned kernel-mode programmers, the complexity of delivering per-file data modification solutions on Windows is significant. For a development team that is not fortunate enough to include multiple Windows file system and internals experts, the task of actually getting such a product to work can be daunting.

OSR has years of experience working with clients and other members of the development community to deliver such solutions. Now, OSR is going a step further with the introduction of our Data Modification Kit (DMK) . Read on, to find out how the OSR DMK can facilitate the development of per-file data modification solutions for Windows that encompass a broad range of features while maintaining correctness, flexibility, and ease of use.


The Challenge

A common use for a Windows file system filter driver is to extend the base OS to provide support for encryption, compression, or other custom modifications on a per-file basis. We call this "per-file data modification." Often, supporting per-file data modification requires changing the size and format of the data as well as storing additional meta-data with the file. Unfortunately, implementing this level of functionality on Windows is a task riddled with numerous difficulties. Some of the most common difficulties are:

    * Support for executable images - Because the executable image is memory mapped, file system filter drivers are bypassed when they interact with the Windows Virtual Memory system regarding the size of the file-backed section. This can lead to incorrect behavior of the application.

    * Support for memory mapped data files - Any application that uses the Windows file mapping APIs can cause problems. Such applications are common, including Microsoft Word (2003) and Notepad.

    * Support for arbitrary data modification - To simplify the task, existing solutions typically restrict their meta-data additions to affixing a header or trailer to the data. This does not provide them with the ability to perform arbitrary data modifications (such as compression, for example).

    * Support for all standard Windows file systems - Each Windows file system comes with its own set of idiosyncratic behaviors that must be accommodated. And of course, this results in an increased testing burden because each unique scenario has to be scripted, tested, and have its results validated.

    * A changing file system filter model - With Microsoft slowly moving to a newer filter model, most development teams are now faced with the task of having to support the older legacy platforms and yet coexist and work well with the new platforms of the future

    * Subtle, yet crucial, differences among Windows versions - Each version of Windows has introduced changes that affect Windows file systems. Just discovering these changes can be difficult enough; properly accommodating them in a product can be maddening.

There are a number of partial solutions to these issues. However, such solutions can compromise the capabilities of the product and still involve considerable specialized development.


The Solution

The OSR Data Modification Kit (DMK) addresses these complex issues by providing a comprehensive solution for supporting per-file data modification on Windows.

The DMK's primary value is that it provides a ready-made infrastructure that properly deals with Windows' complexities. As a result, regardless of the specifics of your data modification, you need only provide the actual routines that perform the data modification. This simplifies the development process, increases reliability, and decreases the time required to deliver your product to market. Additionally, because the DMK includes source code, it is suitable for use even in highly sensitive projects - everything is available for your inspection, modification, and customization.


Features

The following key features are supported by OSR's DMK:

    * Customizable data modification algorithms. You decide the minimum block size for your algorithm. The DMK calls your data modification function, providing the data requiring modification. In response, your data modification function returns an optional header block plus the transformed data block. Note that the transformed data block need not be the same size as the input data block- you can make it smaller or larger.

      Benefit - Complete flexibility in choice of algorithm for your solution, regardless of minimum block size.

    * Support for multiple, sequential, transformations. Because the OSR DMK allows the output data returned by your library to be any size relative to the input data, you can easily implement multiple transformations.

      Benefit - Implement compression and encryption in your solution (for example), gaining both disk space and performance, and giving your product another advantage for your customer.

    * Support for all file systems. The OSR DMK supports FAT, NTFS, network redirectors, and other Windows file systems.

      Benefit - Flexibility in developing local or remote transformation solutions with support for any underlying Windows file system.

    * Support for Windows versions from Windows 2000. The OSR DMK does the work necessary to ensure proper support of Windows versions starting with Windows 2000 SP 4.

      Benefit - Your product works across all common Windows client and server releases, with no source-code changes to your data transformation library.

    * Data safety. Even if the data modification toolkit is removed from a system that contains transformed files, each transformed file appears as a single file to the base file system, so it can be safely backed up, copied to removable storage, and later re-transformed if required.

      Benefit - Data integrity, including added meta-data, is maintained.

    * Case-by-case file access control. Each time the file is opened, the DMK calls an authorization function that you provide, to perform custom access checks (if desired) and indicate whether file data should be transformed as it is accessed. Alternatively, your transformation library can indicate to the DMK that for a given open file instance the data should be provided as is - without performing any transformation. If your data modification driver is present on both a server and client system, you can (if you wish) shift the work required to transform (or reverse transform) to the client system, distributing workload, potentially decreasing network overhead (e.g., compressed data) and increasing security (e.g., encrypted data).

      Benefit - Implement your own access control scheme to augment the existing Windows implementation as well as control which version of the data will be seen by individual callers.

    * Policy Change. The DMK allows you to change the specific data modification policy for a given file in a reliable and transparent fashion. Thus, the handling of existing files can be changed simply by indicating to the DMK that this should be done.

      Benefit - Provides tremendous flexibility in reconfiguring the product dynamically based upon policy changes.


Architecture
This diagram graphically shows the high level components that comprise a solution using the OSR Data Modification Kit. While OSR provides the DMK to handle the "nitty gritty" details, you add unique value by providing a "data transformation library" (this is the component that provides compression, encryption or other data modification services) and optionally an auxiliary service that works cooperatively with your data transformation library.

The benefit of this architecture is that it provides you a broad range of options for implementing your product. You can choose to provide a straight-forward, kernel-only data transformation library, or a mixed user/kernel implementation providing flexibility and ease of implementation.


Additional Benefits

Using the DMK provides a number of business advantages as well:

    * Time to Market. Because you no longer need to have your team learn the esoteric details of Windows file system filter drivers, you can have them focus on the value-add provided by your application.

    * Quality. The OSR team has been developing Windows file system filter drivers for over ten years. This is our core competency. Be assured that this is no hollow claim: We've developed the core code behind the most comprehensive, successful, products in the industry.

    * World-class support. When your team has problems or questions, your developers interact with our developers. We enjoy success when our clients enjoy success - so we're here to support your development efforts every step of the way.

    * Broadest feature set. The OSR team has made it possible to provide the best possible set of features. By using the DMK, you can support the broadest range of features within your product - giving your product all the advantages of a solid toolkit plus the unique features only your team can provide.


Applications

The DMK is ideally suited for two specific types of data modification:

    * Encryption. The DMK allows your product to decide if a particular user may access a given file's data; your product also can control whether the user sees the clear or encrypted version of the data. If your product is not installed, the file remains a single intact unit, but the stored data is still in its encrypted form.

    * Data Compression. The DMK allows arbitrary resizing of the data, allowing your product to trivially incorporate data compression. Further, the DMK provides the infrastructure necessary for handling the issues that can arise with data compression.


O/S Support

The DMK provides support for all current versions of Windows:

    * Windows 2000 SP4 URP and beyond

    * Windows XP, all service packs

    * Windows Server 2003

    * Windows Vista (on release)



Availability

The OSR Data Modification Kit (DMK)V1.0 was formally released in November 2006.
 

这篇关于DMK Architecture Diagram的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686430

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

PC/MCU/SoC使用的计算机架构(Architecture)

1. 冯·诺依曼结构 冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。它的核心思想是程序存储器和数据存储器共享同一存储设备,程序和数据以相同的方式存储和访问。冯·诺依曼架构的主要特点包括: 单一存储器:存储程序指令和数据在同一个存储器中。控制单元:通过程序计数器顺序执行指令。数据路径:通过一个共享的总线,将数据

虚拟机MacOS安装Openssl ld: symbol(s) not found for architecture x86_64

最近开始搞MacOS下的开发,需要用到openssl,但是系统自带的openssl头文件还有库根本找不到,也不知道能不能用,于是就自己装一个 1.去网络上下载一个openssl的源码包 2.解压到自己有权限的目录下 3.在这一步,很多人用linux下的配置方法,我也是其中一个,踩了很大的坑,他们都是: sudo ./config --prefix=/usr/local/openssl 然

caffe编译过程中的错误: nvcc fatal : Unsupported gpu architecture ‘compute_20‘

在编译caffe的过程中遇到了nvcc fatal : Unsupported gpu architecture 'compute_20'这个错误, 修改方法为: 在Makefile.config文件中根据自己CUDA的版本注释不同的行。 # CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment

Architecture,Valid architectures,Build Active Architecture Only

目前ios的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone5 iPhone5C arm64 iPhone5S  机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iphone5S的,只是效率没那么高而已~ ===

50个BA分析工具第八个-Data Flow Diagram

知识卡片   工具名称: Data Flow Diagram(数据流程图)   工具介绍: Data Flow Diagram,数据流程图,也叫DFD,是UML里常见的一种建模的工具,是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况,是结构化分析的重要方法。   解决问题: • 展示数据存在哪里,被什么流程处理,被哪

【UML图】——用UserCase Diagram来确定用户需求

在软件工程的思想指导下,人们逐渐意识到需求分析的重要性,只有开发人员对用户的需求理解透彻,才能开发出适合用户的软件,这也是缓解软件危机的一个方法,在这个阶段,软件需求说明书就给了开发人员一个指导性文档。而在UML中,我们换了一种方式,那就是用图的形式,这个图就是用例图。 所处开发阶段:用例图主要用于软件需求分析阶段 什么是用例图:用例图是用来描述用户的需求,从用户的角度描述

macOS symbol(s) not found for architecture arm64错误原因总结

背景 环境: macOS 14MacBook Pro M3 正文 在macOS上进行C++开发,有时会遇到以下报错: Undefined symbols for architecture arm64:"CameraRawWidget::eventFilter(QObject*, QEvent*)", referenced from:vtable for CameraRawWidget i

iOS 二维码扫描 zBarsdk 不支持64位 missing required architecture x86_64 in file

转入地址:http://blog.csdn.net/lanmanck/article/details/39055503 闲话少讲,实际上ios7以上是支持原生api扫描二维码的,所以我觉得这就是为什么zbarsdk没有继续更新的原因。 百度一下,说修改架构什么的还是有的,但貌似没说到点子上,还是老外的解决方法牛逼。 第一:问题的提出,给了很多解决方法: http://stackoverf

Xcode编译报错 #error unsupported Swift architecture

1. 问题描述: Xcode15 引入某些三方库时,真机跑起来没问题;但模拟器build时报错卡在 #error unsupported Swift architecture,注释掉代码也不行; 2. 解决办法: 得找到Rosetta类型模拟器才能run起来; 3. 设置办法: Xcode顶部栏 – Product -> Destination -> Destination Archit