Virtual Memory Object for Direct Network Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data transfer methods between computing devices are slow and inefficient, requiring sequential data writing and consuming significant network bandwidth and system resources due to the need for sequential data copying across networks.

Innovation Solution

Establishing a communication session using TCP/IP to create a virtual memory object bound to memory blocks on one device, allowing direct data access and transfer via file system commands over a secondary protocol like SMB, enabling parallel data reads and writes and bandwidth aggregation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred using traditional network file access protocols, then data can be transferred between computing devices, but the transfer is slow and requires sequential copying which consumes significant network bandwidth and system resources

Engineering Contradiction:
Improvedata transfer speedVSAvoidnetwork bandwidth and system resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the data transfer process into two distinct phases: (1) establishing a communication session and creating a virtual memory object bound to memory blocks, and (2) performing direct memory access operations over a file system protocol. This segmentation allows different protocols to be used for different purposes, optimizing both connection management and data transfer efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual memory object as an intermediary between the network protocol and the actual data transfer. This virtual memory object acts as a mediator that allows the second computing device to access memory blocks on the first device through file system commands, enabling efficient parallel access without direct network protocol overhead for each operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If sequential data copying is used for file transfers, then data integrity is maintained, but the transfer process is slow and resource-intensive

Engineering Contradiction:
Improvedata integrityVSAvoiddata transfer efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the mechanical sequential copying process with a more efficient mechanism: direct memory access through virtual memory objects. Instead of sequentially reading and writing data through network buffers, the system uses file system commands to directly access memory blocks, substituting the traditional mechanical copy process with a more efficient memory-mapped approach.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If direct memory access is enabled over network protocols, then data transfer efficiency improves, but protocol complexity and implementation difficulty increase

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprotocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges two previously separate systems: the network communication session (TCP/IP) and the file system access protocol (SMB). By binding a virtual memory object to memory blocks and accessing it through file system commands, the patent combines connection management with direct memory access, eliminating the need for separate complex protocols while achieving efficient data transfer.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10826749B2Efficient programmatic memory access over network file access protocols
Publication Date: 2020.11.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10826749B2 patent drawing
  • US10826749B2 patent drawing
  • US10826749B2 patent drawing

AI summary

Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.