IP Library Granted Patent US 9,569,443
Granted Patent B1
US 9,569,443 · App. 11/864,533 · Granted Feb 14, 2017

Method and apparatus for providing access to data in unsupported file systems and storage containers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,569,443
App. No.
11/864,533
Granted
Feb 14, 2017
Kind
B1
Abstract

A method, apparatus and system for providing access to data comprising launching an image of a virtual machine, determining a file system or a storage container being unsupported by an operating system coupled to the virtual machine, mapping the file system or the storage container onto the operating system and accessing data within the file system or the storage container through the operating system.

Claims (27)

1. A computer implemented method for accessing unsupported file systems communicatively coupled to a host operating system and unsupported by the host operating system, the method comprising:

determining that a file system communicatively coupled to the host operating system is unsupported by the host operating system, responsive to the host operating system not having a file system driver written for the host operating system to access the file system;

determining that the file system is unsupported by a guest operating system running on a virtual machine which is communicatively coupled to the host operating system and the file system, responsive to the guest operating system not having a file system driver written for the guest operating system to access the file system;

responsive to determining that the file system is unsupported by the guest and host operating systems, using an application running on the virtual machine to create a synthesized file system from the unsupported file system, wherein creating the synthesized file system further comprises mapping the unsupported file system to a synthetic block device on the guest operating system, and translating block read/write commands from the host operating system to appropriate actions on the unsupported file system such that the application running on the virtual machine serves as an intermediate between the host operating system and the unsupported file system; and

accessing the synthesized file system via the application running on the virtual machine.

2. The method of claim 1 , wherein mapping the unsupported file system onto the synthesized file system further comprises mapping access functions from the unsupported file system to access functions on the synthesized file system.

3. The method of claim 1 , wherein creating the synthesized file system from the unsupported file system further comprises:

mapping the unsupported file system onto a block structure by creating meta-data for a volume mounted by the unsupported file system, and

presenting the volume as a block device.

4. The method of claim 1 , wherein mapping the unsupported file system onto the synthesized file system further comprises mapping requests from the host operating system onto the synthesized file system.

5. The method of claim 4 , wherein mapping the unsupported file system onto the synthesized file system further comprises communicatively coupling the host operating system to a shared network file system wherein the shared network file system is generated by the virtual machine, and wherein the shared network file system is accessible by the host operating system using file serving services.

6. The method of claim 1 , wherein mapping the unsupported file system onto the synthesized file system further comprises:

bridging the unsupported file system to the host operating system, wherein

the bridging comprises creating a modified file server, and

the modified file server is based on one of:

a network file system (NFS),

a common internet file system (CIFS), or

a direct access file system (DAFS).

7. A computer implemented method for providing access to unsupported storage containers communicatively coupled to a host operating system and unsupported by the host operating system, the method comprising:

determining that a storage container communicatively coupled to the host operating system is unsupported by the host operating system, responsive to the host operating system not having a driver written for the host operating system to access the storage container;

determining that the storage container is unsupported by a guest operating system running on a virtual machine which is communicatively coupled to the host operating system and the storage container, responsive to the guest operating system not having a driver written for the guest operating system to access the storage container;

responsive to determining that the storage container is unsupported by the guest and host operating systems, using a virtual machine application to create a synthetic storage container from the unsupported storage container, wherein creating the synthetic storage container further comprises mapping the unsupported storage container to a synthetic block device on the guest operating system, and translating block read/write commands from the host operating system to appropriate actions on the unsupported storage container such that the virtual machine application serves as an intermediate between the host operating system and the unsupported storage container; and

accessing the synthetic storage container using block protocol and at least one block target driver wherein the at least one block target driver communicates requests from the host operating system to the synthetic storage container.

8. The method of claim 7 , wherein creating a synthetic storage container further comprises:

mapping an on-disk structure, within the storage container, onto a block structure by creating meta-data for a volume representing the storage container, and presenting the volume as the block device.

9. The method of claim 8 , wherein presenting the block device accessible by the host operating system comprises:

associating the block device with a block target driver, wherein the block target driver is used by the host operating system to communicate block level operations to the block device.

Assignments (6)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
CORRECTION TO SPELLING OF FIRST ASSIGNOR'S LAST NAME, AND CORRECTION TO ASSIGNEE'S ZIP CODE ON COVER SHEET PREVIOUSLY RECORDED ON REEL/FRAME 019903/0658. Recorded Nov 21, 2007
From: VAN RIETSCHOTE, HANS; HOBBS, CW; SALLI, TOMMI
To: SYMANTEC CORPORATION
Reel/Frame 020150/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2007
From: REITSCHOTE, HANS VAN; HOBBS, CW; SALLI, TOMMI
To: SYMANTEC CORPORATION
Reel/Frame 019903/0658 →