Unlock instant, AI-driven research and patent intelligence for your innovation.

Programming interface for data communications

A data and notification technology, applied in the field of programming interfaces for data communication, which can solve problems such as redundant memory locking

Active Publication Date: 2014-02-26
MICROSOFT TECH LICENSING LLC
View PDF10 Cites 3 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Therefore, the existing Winsock send and receive APIs incur redundant memory locking (pin) and unlocking (unpin) if the application uses the same memory over and over again to send and receive data

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Programming interface for data communications
  • Programming interface for data communications
  • Programming interface for data communications

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0012] This paper describes a programming interface for data communication. A "communication stack" may be implemented in software of a computing device to communicate data over a network. A typical communications stack includes an application layer, where networking applications are implemented, and a kernel layer, where an operating system kernel is implemented. The application layer exposes interfaces abstracted from the underlying details of the communication stack for applications. The kernel layer interacts with networked devices configured to communicate data over a network.

[0013] Typically, to send data over a network, applications push data through a user-mode application programming interface (API), which is then processed by the networking stack to frame protocols in both user-mode and kernel-mode. As used herein, user mode refers to a mode of execution in which access to system resources such as physical memory and I / O devices is protected by the operating pr...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

In embodiments of a programming interface for data communications, a request queue and a completion queue can be allocated from a user-mode virtual memory buffer that corresponds to an application. The request queue and the completion queue can be pinned to physical memory and then mapped to kernel-mode system addresses so that the request queue and the completion queue can be accessed by a kernel-mode execution thread. A request can be received from an application for the kernel to handle data in the request queue, and a system issued to the kernel for the kernel-mode execution thread to handle the request. The kernel-mode execution thread can then handle additional requests from the application without additional system calls being issued.

Description

Background technique [0001] Currently, application programming interfaces (APIs) that connect high-performance networking applications to the core of computing devices cannot effectively handle the increased data processing requests of networking applications. For example, the "Windows Socket" API (ie, "Winsock") is configured to facilitate operations issued by applications to send data to and receive data from the kernel layer that communicates with physical network devices. Typically, multiple send and receive operations are issued during the lifetime of a socket. Thus, send and receive processing overhead as a whole can make up a large portion of network processing and possibly a large portion of applications. [0002] For example in the traditional Winsock API, initiating a send and receive operation involves making a system call to lock user-mode virtual memory to physical memory and initiate the transfer of data into the kernel. Additional system calls are then typical...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/06G06F12/02
CPCG06F9/545G06F9/544
Inventor O.N.埃尔图盖K.E.霍尔顿J.尼维尔特
Owner MICROSOFT TECH LICENSING LLC