IP Library › Granted Patent US 11,765,235
Granted Patent B2
US 11,765,235 · App. 16/987,132 · Granted Sep 19, 2023

System and method of disk sharing for cloud content storage

Inventors: Yang Seok Ki (Palo Alto, CA); Sungwook Ryu (Palo Alto, CA)
Assignee: Samsung Electronics Co., Ltd.
H04L67/131A63F13/48G06F9/30043G06F9/542H04L67/06H04L67/1097H04L67/34
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 11,765,235
App. No.
16/987,132
Filed
Aug 6, 2020
Granted
Sep 19, 2023
Kind
B2
Art Unit
2448
USPC
709/203
Abstract

A content provider system includes: a repository to store a catalog of content; a storage device including at least a first port and a second port; a first hosted device connected to the first port over a first storage interface for access to the storage device, and to execute content stored in the storage device to provide the content to a first user device; a second hosted device connected to the second port over a second storage interface for access to the storage device, and to execute the content stored in the storage device to provide the content to a second user device; and one or more processing circuits to control access to the storage device from the first and second ports by the first and second hosted devices.

Claims (67)

1. A content provider system comprising:

a repository configured to store a catalog of content;

a storage device comprising at least a first dedicated port and a second dedicated port;

a first hosted device connected to the first dedicated port over a first storage interface for access to the storage device, and configured to execute content stored in the storage device to provide the content to a first user device;

a second hosted device connected to the second dedicated port over a second storage interface for access to the storage device, and configured to execute the content stored in the storage device to provide the content to a second user device; and

one or more processing circuits configured to:

control write access to the storage device, over the first and second dedicated ports by the first and second hosted devices, of requested content stored in the repository;

receive a first request for the requested content from the first hosted device; and

update both of the first and second hosted devices according to the first request for the requested content from the first hosted device in response to the requested content being loaded from the repository to the storage device.

2. The system of claim 1 , wherein the first storage interface corresponds to a first Peripheral Component Interconnect Express (PCIe) lane, and the second storage interface corresponds to a second PCIe lane.

3. The system of claim 1 , wherein the storage device comprises:

a first private namespace associated with the first dedicated port, and comprising user data and operating system information corresponding to the first hosted device;

a second private namespace associated with the second dedicated port, and comprising user data and operating system information corresponding to the second hosted device; and

one or more shared namespaces associated with one or more of the content stored in the storage device, and comprising partition information and a logical unit number (LUN) corresponding to the one or more of the content stored in the storage device.

4. The system of claim 3 , wherein the one or more processing circuits are configured to:

identify an available one of the shared namespaces for storing the requested content; and

load the requested content from the repository to the available one of the shared namespaces.

5. The system of claim 4 , wherein the one or more processing circuits are configured to:

identify an inactive one of the shared namespaces as the available one of the shared namespaces; and

resize the inactive one of the shared namespaces according to a size of the requested content to store the requested content.

6. The system of claim 4 , wherein the one or more processing circuits are configured to:

identify an inactive one of the shared namespaces as the available one of the shared namespaces; and

remove content currently associated with the inactive one of the shared namespaces to store the requested content.

7. The system of claim 4 , wherein, in response to the loading of the requested content from the repository to the available one of the shared namespaces, the one or more processing circuits are configured to:

associate the available one of the shared namespaces to at least one of the first or second private namespaces.

8. The system of claim 7 , wherein, in response to associating the available one of the shared namespaces to at least one of the first or second private namespaces, the one or more processing circuits are configured to:

provide the first or second private namespaces to a local file system of at least one of the first or second hosted devices.

9. The system of claim 1 , wherein the requested content corresponds to the first request by the first hosted device and a second request by the second hosted device, and the one or more processing circuits are configured to:

load the requested content from the repository to the storage device in response to the first request; and

register the second request for a notification corresponding to a load completion of the first request.

10. A method for local disk sharing in a content provider system comprising a storage device comprising at least first and second dedicated ports; a first hosted device connected to the first dedicated port over a storage interface to execute content stored in the storage device; and a second hosted device connected to the second dedicated port over the storage interface to execute the content stored in the storage device, the method comprising:

receiving, by one or more processors, a first request for a requested content from the first hosted device over the first dedicated port;

controlling, by the one or more processors, loading of the requested content from a repository to the storage device; and

updating, by the one or more processors, both of the first hosted device and the second hosted device according to the first request for the requested content from the first hosted device in response to the requested content being loaded from the repository to the storage device.

11. The method of claim 10 , wherein the storage interface includes at least a first Peripheral Component Interconnect Express (PCIe) lane corresponding to the first dedicated port, and a second PCIe lane corresponding to the second dedicated port.

12. The method of claim 10 , wherein the storage device comprises:

a first private namespace associated with the first dedicated port, and comprising user data and operating system information corresponding to the first hosted device;

a second private namespace associated with the second dedicated port, and comprising user data and operating system information corresponding to the second hosted device; and

one or more shared namespaces associated with one or more of the content stored in the storage device, and comprising partition information and a logical unit number (LUN) corresponding to the one or more of the content stored in the storage device.

13. The method of claim 12 , further comprising:

identifying, by the one or more processors, an available one of the shared namespaces for storing the requested content; and

loading, by the one or more processors, the requested content from the repository to the available one of the shared namespaces.

14. The method of claim 13 , further comprising:

identifying, by the one or more processors, an inactive one of the shared namespaces as the available one of the shared namespaces; and

resizing, by the one or more processors, the inactive one of the shared namespaces according to a size of the requested content to store the requested content.

15. The method of claim 13 , further comprising:

identifying, by the one or more processors, an inactive one of the shared namespaces as the available one of the shared namespaces; and

removing, by the one or more processors, content associated with the inactive one of the shared namespaces to store the requested content.

16. The method of claim 13 , wherein, in response to the loading of the requested content from the repository to the available one of the shared namespaces, the method further comprises:

associating, by the one or more processors, the available one of the shared namespaces to at least one of the first or second private namespaces.

17. The method of claim 16 , wherein, in response to associating the available one of the shared namespaces to at least one of the first or second private namespaces, the method further comprises:

providing, by the one or more processors, the first or second private namespaces to a local file system of at least one of the first or second hosted devices.

18. The method of claim 10 , wherein the requested content corresponds to the first request by the first hosted device and a second request by the second hosted device, and the method further comprises:

loading, by the one or more processors, the requested content from the repository to the storage device in response to the first request; and

registering, by the one or more processors, the second request for a notification corresponding to a load completion of the first request.

19. A system comprising:

a storage device comprising a first dedicated port, a second dedicated port, a first private namespace associated with the first dedicated port, a second private namespace associated with the second dedicated port, and one or more shared namespaces associated with content stored on the storage device;

a first hosted device connected to the first dedicated port over a first Peripheral Component Interconnect Express (PCIe) lane for access to the storage device, and configured to execute the content stored on the storage device to stream the content to a first user device;

a second hosted device connected to the second dedicated port over a second PCIe lane for access to the storage device, and configured to execute the content stored on the storage device to stream the content to a second user device; and

one or more processing circuits configured to:

receive a request for a requested content from the first hosted device;

identify an available namespace from among the shared namespaces for storing the requested content;

load the requested content from a repository of a catalog of content to the available namespace of the shared namespaces; and

update both of the first and second hosted devices according to the request for the requested content from the first hosted device.

20. The system of claim 19 , wherein, in response to loading of the requested content from the repository to the available namespace of the shared namespaces, the one or more processing circuits are further configured to:

associate the available namespace of the shared namespaces to at least one of the first or second private namespaces; and

provide the first or second private namespaces to a local file system of at least one of the first or second hosted devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2020
From: KI, YANG SEOK; RYU, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 054025/0759 →
Continuity (5)
Provisional Application 63050051 · Jul 9, 2020
Provisional Application 63012053 · Apr 17, 2020
Provisional Application 63012050 · Apr 17, 2020
Provisional Application 62988912 · Mar 12, 2020
Related Publication 20220014605A1 · Jan 13, 2022