Blob Storage Service Automating Data Transformation and Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software systems require applications to handle all business logic for data validation, transformation, and security when accessing binary large object (blob) storage, and existing blob storage systems do not allow access to individual data elements within a blob, limiting data manipulation and security.

Innovation Solution

A blob network service that enables automated data transformations, content rules, and access policies, allowing blobs to be associated with transformation functions and content rules, and enforcing access policies based on client verification, thereby simplifying data manipulation and security across different platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications handle all business logic for data validation, transformation, and security, then data access control and security can be implemented, but application complexity and development burden increase

Engineering Contradiction:
Improvedata securityVSAvoidapplication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a blob network service as an intermediary between applications and blob storage. This service handles data validation, transformation, and security policies centrally, eliminating the need for each application to implement its own business logic for these functions. The service acts as a mediator that processes read and write requests, applies transformation functions based on blob types, and enforces access policies, thereby reducing application complexity while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If blob storage systems treat blobs as opaque binary objects, then storage simplicity is maintained, but data manipulation capability is limited

Engineering Contradiction:
Improvestorage simplicityVSAvoiddata manipulation capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic data manipulation by associating transformation functions with blob types. When data is read or written, the system dynamically determines the blob type and applies appropriate transformation functions based on criteria in the request. This allows the storage system to adaptively transform data (e.g., format conversion, dimension reduction, filtering) while maintaining the underlying simplicity of storing blobs as binary objects.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If automated transformation functions are applied to all blob operations, then data manipulation capability is enhanced, but processing time and computational resources increase

Engineering Contradiction:
Improvedata manipulation capabilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements partial transformation by allowing clients to specify criteria that determine which transformation functions are applied. Not all transformation functions are executed on every operation - instead, the system selectively applies transformations based on the blob type and request criteria. This partial action approach maintains data manipulation capability while reducing unnecessary processing time and computational resources.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9544400B2Manipulating binary large objects
Publication Date: 2017.01.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9544400B2 patent drawing
  • US9544400B2 patent drawing
  • US9544400B2 patent drawing

AI summary

Embodiments provide automated access policy enforcement, content rule enforcement, and data transformations in a binary large object (blob) storage service. Verified and unverified clients are allowed varying degrees of access to stored blobs. In response to a read request associated with a target blob of a particular blob type, criteria from the read request are used to execute one or more transformation functions defined by the blob type to create transformed data, and the transformed data is provided to the client. In response to a write request including a target blob of a particular blob type, a set of content rules associated with the blob type is executed against the target blob. The target blob is stored based on the content rules being successfully executed.