# US 12,007,946 B2 · Systems and methods for managing path and file names using a universal connector

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,946 B2
- Document ID: US12007946B2
- Status: Granted
- Kind: B2
- Application number: 17/872,650
- Filed: 2022-07-25
- Published: 2024-01-25
- Granted: 2024-06-11
- Earliest claimed: 2022-07-25
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Sunil Yadav; Shelesh Chopra
- Web page: https://patentgrep.com/patent/US12007946B2

## CPC

- G06F 16/164: {File meta data generation}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/3442: {for planning or managing the needed capacity}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/1827: {Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067)}
- G06F 16/183: {Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for writing a file to a network attached storage (NAS) server, the method that includes receiving, by a universal connector executing in a user space, a write request from an application executing in the user space, where the write request includes a filename, and in response to receiving the write request, allocating a dynamic buffer, where a first size of the dynamic buffer is larger than a second size of the filename, sending a system limitation request to the NAS server, receiving, in response to the system limitation request, system limitations from the NAS server, where the system limitations comprise a filename size limit, validating the filename against the system limitations, and sending, based on the validating, the write request to the NAS server.

## Claims

### Claim 1

A method for writing a file to a network attached storage (NAS) server, the method comprising:
sending, by a universal connector executing in a user space of a production host, a file system limitation request to the NAS server, wherein the NAS server is operatively connected to the production host;
receiving, in response to the file system limitation request, system limitations from the NAS server, wherein the system limitations comprise a filename size limit;
allocating, by the universal connector, a dynamic buffer based on the filename size limit after the allocating:
receiving, by the universal connector, a write request from an application executing in the user space, wherein the write request comprises a filename and file data; and
in response to receiving the write request:
re-allocating the dynamic buffer based on a size of the filename to obtain a re-allocated dynamic buffer;
storing the filename in the re-allocated dynamic buffer;
validating, after the storing, the size of the filename against the system limitations; and
sending, by the universal connector and based on the validating, the filename and the file data to the NAS server, wherein, upon receipt of the filename and the file data, the NAS server initiates writing of the file data to a storage device on a NAS system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the system limitations further comprises:
an encoding standard supported by the NAS server.

### Claim 3 (depends on 2)

The method of claim 2, wherein the validating the filename against the system limitations, comprises:
making a first determination that the size of the filename is smaller than the filename size limit; and
making a second determination that the filename uses the encoding standard.

### Claim 4 (depends on 1)

The method of claim 1, wherein after sending the filename and file data to the NAS server, the method further comprises:
receiving a read request from the application,
wherein the read request comprises a second filename,
wherein a size of the second filename is larger than a size of the re-allocated dynamic buffer; and
in response to receiving the read request:
re-allocating the re-allocated dynamic buffer based on the size of the second filename to obtain a second re-allocated dynamic buffer;
storing, by the universal connector, the second filename in the second re-allocated dynamic buffer; and
validating the size of the second filename against the system limitations.

### Claim 5 (depends on 4)

The method of claim 4, wherein after validating the size of the second filename against the system limitations, the method further comprises:
sending, to the NAS server, the read request; and
in response to sending the read request:
receiving second file data, from the NAS server, associated with the second filename; and
providing the second file data to the application.

### Claim 6 (depends on 4)

The method of claim 4, wherein after validating the size of the second filename against the system limitations, the method further comprises:
making a determination that the size of the second filename is larger than the filename size limit; and
generating an error in response to the determination.

### Claim 7 (depends on 1)

The method of claim 1, wherein an operating system is executing on the production host, wherein a file system of the operating system comprises a second filename size limit, wherein the second filename size limit is smaller than the filename size limit.

### Claim 8

A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for writing a file to a network attached storage (NAS) server, the method comprising:
sending, by a universal connector executing in a user space of a production host, a file system limitation request to the NAS server, wherein the NAS server is operatively connected to the production host;
receiving, in response to the file system limitation request, system limitations from the NAS server, wherein the system limitations comprise a filename size limit;
allocating, by the universal connector, a dynamic buffer based on the filename size limit;
after the allocating:
receiving, by the universal connector, a write request from an application executing in the user space, wherein the write request comprises a filename and file data; and
in response to receiving the write request:
re-allocating the dynamic buffer based on a size of the filename to obtain a re-allocated dynamic buffer;
storing the filename in the re-allocated dynamic buffer;
validating, after the storing, the size of the filename against the system limitations; and
sending, by the universal connector and based on the validating, the filename and the file data to the NAS server, wherein, upon receipt of the filename and the file data, the NAS server initiates writing of the file data to a storage device on a NAS system.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the system limitations further comprises:
an encoding standard supported by the NAS server.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the validating the filename against the system limitations, comprises:
making a first determination that the size of the filename is smaller than the filename size limit; and
making a second determination that the filename uses the encoding standard.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein after sending the filename and file data to the NAS server, the method further comprises:
receiving a read request from the application,
wherein the read request comprises a second filename,
wherein a size of the second filename is larger than a size of the re-allocated dynamic buffer; and
in response to receiving the read request:
re-allocating the re-allocated dynamic buffer based on the size of the second filename to obtain a second re-allocated dynamic buffer;
storing, by the universal connector, the second filename in the second re-allocated dynamic buffer; and
validating the size of the second filename against the system limitations.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein after validating the size of the second filename against the system limitations, the method further comprises:
sending, to the NAS server, the read request; and
in response to sending the read request:
receiving second file data, from the NAS server, associated with the second filename; and
providing the second file data to the application.

### Claim 13 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein after validating the size of the second filename against the system limitations, the method further comprises:
making a determination that the size of the second filename is larger than the filename size limit; and
generating an error in response to the determination.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein an operating system is executing on the production host, wherein a file system of the operating system comprises a second filename size limit, wherein the second filename size limit is smaller than the filename size limit.

### Claim 15

A production host, comprising:
a processor executing a user space, wherein the user space comprises:
a universal connector; and
an application;
wherein the universal connector is programmed to perform a method for writing a file to a network attached storage (NAS) server, the method comprising:
sending a file system limitation request to the NAS server, wherein the NAS server is operatively connected to the production host;
receiving, in response to the file system limitation request, system limitations from the NAS server, wherein the system limitations comprise a filename size limit;
allocating, by the universal connector, a dynamic buffer based on the filename size limit;
after the allocating:
receiving a write request from the application, wherein the write request comprises a filename and file data; and
in response to receiving the write request:
re-allocating the dynamic buffer based on a size of the filename to obtain a re-allocated dynamic buffer;
storing the filename in the re-allocated dynamic buffer;
validating, after the storing, the size of the filename against the system limitations; and
sending, by the universal connector and based on the validating, the filename and file data to the NAS server, wherein, upon receipt of the filename and the file data, the NAS server initiates writing of the file data to a storage device on a NAS system.

### Claim 16 (depends on 15)

The production host of claim 15, wherein the system limitations further comprises:
an encoding standard supported by the NAS server.

### Claim 17 (depends on 16)

The production host of claim 16, wherein the validating the filename against the system limitations, comprises:
making a first determination that the size of the filename is smaller than the filename size limit; and
making a second determination that the filename uses the encoding standard.

### Claim 18 (depends on 15)

The production host of claim 15, wherein after sending the filename and file data to the NAS server, the method further comprises:
receiving a read request from the application,
wherein the read request comprises a second filename,
wherein a size of the second filename is larger than a size of the re-allocated dynamic buffer; and
in response to receiving the read request:
re-allocating the re-allocated dynamic buffer based on the size of the second filename to obtain a second re-allocated dynamic buffer;
storing, by the universal connector, the second filename in the second re-allocated dynamic buffer; and
validating the size of the second filename against the system limitations.

### Claim 19 (depends on 18)

The production host of claim 18, wherein after validating the size of the second filename against the system limitations, the method further comprises:
sending, to the NAS server, the read request; and
in response to sending the read request:
receiving second file data, from the NAS server, associated with the second filename; and
providing the second file data to the application.

### Claim 20 (depends on 15)

The production host of claim 15, wherein an operating system is executing on the processor, wherein a file system of the operating system comprises a second filename size limit, wherein the second filename size limit is smaller than the filename size limit.
