METHOD, DISTRIBUTED CONTROLLER, AND SYSTEM FOR MANAGING SEQUENTIAL STORAGE DEVICES IN DISTRIBUTED STORAGE ENVIRONMENT
A method of managing sequential storage devices in a distributed storage environment including receiving, by a distributed controller, requests for performing operations, from one or more client devices in a distributed storage environment, each request including data of a client device from the one or more client devices and an identifier of a host device from one or more host devices, each of the one or more host devices being associated with one or more sequential storage devices, determining, by the distributed controller, a sequential order of the requests, based on the identifiers included in the requests, and performing, by the distributed controller in the sequential order, the operations on the one or more sequential storage devices.
Latest Samsung Electronics Patents:
- Multi-device integration with hearable for managing hearing disorders
- Display device
- Electronic device for performing conditional handover and method of operating the same
- Display device and method of manufacturing display device
- Device and method for supporting federated network slicing amongst PLMN operators in wireless communication system
This application is based on and claims priority to Indian Patent Application No. 202241062046, filed on Oct. 31, 2022 in the Indian Patent Office, the contents of which being herein incorporated by reference in its entirety.
BACKGROUNDThe present disclosure generally relates to storage devices. More particularly, the present disclosure relates to a method, a distributed controller, and a system for managing sequential storage devices in a distributed storage environment.
An exponential growth of data volumes in industries demands a distributed storage system. The distributed storage system is an infrastructure that splits data across multiple physical servers. With advancement in technology, sequential storage devices are deployed to achieve higher storage capacities, increased throughput, lower latencies, and the like. The sequential storage devices are storage devices in which the data of the client devices can only be written sequentially. The sequential storage devices needs to be managed to efficiently store the data of the client devices.
SUMMARYAccording to an aspect of one or more embodiments, there is provided a method comprising receiving, by a distributed controller, a plurality of requests for performing a plurality of operations, from one or more client devices in a distributed storage environment, each request comprising data of a client device from the one or more client devices and an identifier of a host device from one or more host devices, each of the one or more host devices being associated with one or more sequential storage devices; determining, by the distributed controller, a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and performing, by the distributed controller in the sequential order, the plurality of operations on the one or more sequential storage devices.
According to another aspect of one or more embodiments, there is provided a distributed controller comprising a memory, a communication interface for communicating between one or more host devices and one or more client devices of a distributed storage environment, and one or more processors coupled to the memory. The memory stores processor-executable instructions, which, on execution, cause the one or more processors to at least receive a plurality of requests for performing a plurality of operations, from the one or more client devices, each request comprising data of a client device from the one or more client devices and an identifier of a host device from the one or more host devices, each of the one or more host devices being associated with one or more sequential storage devices; determine a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and perform, in the sequential order, the plurality of operations on the one or more sequential storage devices.
According to yet another aspect of one or more embodiments, there is provided a system comprising, in a distributed storage environment, one or more client devices; one or more host devices, each host device comprising and being associated with one or more sequential storage devices; and a distributed controller configured to at least receive a plurality of requests for performing a plurality of operations, from the one or more client devices, each request comprising data of a client device from the one or more client devices and an identifier of a host device from the one or more host devices; determine a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and perform, in the sequential order, the plurality of operations on the one or more sequential storage devices.
The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
In the present document, the word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or implementation of the present subject matter described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
While the disclosure is susceptible to various modifications and alternative forms, various specific embodiments thereof have been shown by way of example in the drawings and will be described in detail below. It should be understood, however, that the various specific embodiments are not intended to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the scope of the appended claims.
The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or apparatus.
As discussed above, a distributed storage system is an infrastructure that splits data across multiple physical servers. The distributed storage system includes multiple servers or host devices that form a cluster, with a mechanism for data synchronization and coordination between the host devices. Each host device includes multiple storage devices for storing the data of client devices. Sequential storage devices may be deployed to achieve higher storage capacities, increased throughput, lower latencies, and the like. The sequential storage devices are storage devices in which the data of the client devices can only be written sequentially. For example, the sequential storage devices may include zoned storage devices, host managed storage devices, and the like. Each host device includes multiple sequential storage devices for storing the data of the client devices. The sequential storage devices needs to be managed to efficiently store the data of the client devices.
The present disclosure provides a method, a distributed controller, and a system for managing the sequential storage devices in a distributed storage environment. The IO management of the sequential storage devices is performed by the distributed controller communicating between the client devices and the host devices. The distributed controller converts random IO requests from the client devices in a sequential order for storing the data of the client devices in the sequential storage devices. This configuration helps to maximize performance. Further, operations on the sequential storage devices are faster since the operations are performed in parallel across the host devices. A dedicated IO path is provided between the host devices and the client devices via the distributed controller. Hence, an IO path which is used for data communication between the host devices and the client devices is not impacted. The dedicated IO path avoids idle times, thus increasing system throughput and optimizing network bandwidth utilization. Data may be cached in the distributed controller instead of writing to the sequential storage devices. The data may be then written to the sequential storage devices, based on a requirement identified by the one or more client devices or the distributed controller.
It is advantageous to manage the one or more sequential storage devices 204 to efficiently store the data of the one or more client devices 201. According to some embodiments, the distributed controller 202 may manage the one or more sequential storage devices 204. The distributed controller 202 performs IO management of the one or more sequential storage devices 204 via the dedicated IO path 205. The IO management of the one or more sequential storage devices 204 may include device offset handling, buffer handling, block allocation, and the like. The distributed controller 202 communicates between the one or more client devices 201 and the one or more host devices 203, via a communication interface (not shown explicitly in
In some implementations, the modules 305 may include, for example, an input module 310, a determination module 311, an execution module 312, and other modules 313. It will be appreciated that such aforementioned modules 305 may be represented as a single module or a combination of different modules. In some implementations, the data 304 may include, for example, input data 306, determination data 307, execution data 308, and other data 309.
In an embodiment, the input module 310 may be configured to receive the plurality of requests from the one or more client devices 201. The plurality of requests may be received for performing a plurality of operations. The plurality of requests received are random IO requests. In some embodiments, the plurality of operations may include write operations. In some embodiments, the plurality of operations may include read cache operations. A person skilled in the art will appreciate that plurality of operations can be any operations other than the above-mentioned operations. Each request of the plurality of requests comprises data of a client device from the one or more client devices 201 and an identifier of a host device from one or more host devices 203.
In some embodiments, the plurality of requests may be received by one or more controller instances 2021, 2022, . . . 202N of the distributed controller 202 as illustrated in
In an embodiment, the determination module 311 may be configured to receive the input data 306 from the input module 310. Further, the determination module 311 may be configured to determine a sequential order of the plurality of requests, based on the identifier of each of the one or more host devices 203. The data is written sequentially in the one or more sequential storage devices 204. For example, consider the one or more sequential storage devices 204 as the zoned storage devices. Consider a first zone set A and a second zone set B. The zone storage devices are referred as ZNS devices in the present description. The first zone set A may comprise ZNS device 1, ZNS device 2, and ZNS device 3. The second zone set B may comprise ZNS device 4, ZNS device 5, and ZNS device 6. Data of a first application may be written to ZNS device 1, ZNS device 2, and ZNS device 3 sequentially. Similarly, data of a second application may be written to ZNS device 4, ZNS device 5, and ZNS device 6 sequentially. Hence, the determination module 311 determines the sequential order of the plurality of requests received in a random order from the one or more client devices 201. Referring to the above-mentioned second example, the requests 1, 2, 3, 4, 5, 6 may be received in a random order 1, 3, 6, 2, 4, 5. The determination module 311 may identify that the requests 1, 2, 3 includes the identifier of the host device A. Further, the determination module 311 may identify that the requests 4, 5, 6 includes the identifier of the host device B. The determination module 311 may determine the sequential order as 1, 2, 3, 4, 5, 6. The sequential order of the plurality of requests may be stored as the determination data 307 in the memory 302.
In an embodiment, the execution module 312 may be configured to receive the determination data 307 from the determination module 311. Further, the execution module 312 may be configured to perform the plurality of operations on the one or more sequential storage devices 204 associated with each of the one or more host devices 203, based on the plurality of requests in the sequential order. The plurality of operations may include the write operations for writing the data of the one or more client devices 201 to the one or more sequential storage devices 204. The execution module 312 may receive the sequential order as 1, 2, 3, 4, 5, 6. Referring to the above-mentioned second example, the requests 1, 2, 3 may be from the client device A for writing blocks of data of application A. The requests 4, 5, 6 may be from the client device B for writing blocks of data of application B. In some embodiments, the execution module 312 may write the data to the one or more sequential storage devices 204, upon receiving the sequential order. In some embodiments, the execution module 312 may receive a command to write the data of the one or more client devices 201 to the one or more sequential storage devices 204. The command may be received from users of the one or more client devices 201, and may be a system-generated command from the distributed controller 202, and the like. The execution module 312 may perform the write operations on the one or more sequential storage devices 204 based on the plurality of requests in the sequential order. In an example, when the one or more sequential storage devices 204 include zoned storage devices, the command may be a “Zoned Append”. Upon receiving the command, the execution module 312 may write the data to zone sets. Referring to the second example, the data associated with the requests 1, 2, 3 may be written to the first zone set comprising the ZNS device 1, ZNS device 2, and ZNS device 3. The data associated with the requests 4, 5, 6 may be written to the second zone set comprising the ZNS device 4, ZNS device 5, and ZNS device 6. Referring to the first example of
Returning to
The order in which the method 500 is described is not intended to be construed as a limitation, and in some embodiments, any number of the described method blocks may be combined in any order to implement the method. In some embodiments, individual blocks may be omitted from the methods without departing from the scope of the subject matter described herein. Furthermore, the method may be implemented in hardware, software, firmware, or combination thereof.
At step 501, the distributed controller 202 receives the plurality of requests for performing a plurality of operations. In some embodiments, the plurality of operations may include write operations. Each request of the plurality of requests comprises data of a client device from the one or more client devices 201 and an identifier of a host device from one or more host devices 203. The plurality of requests is communicated between the one or more client devices 201 and the one or more host devices 203 via the dedicated IO path 402. The plurality of requests is stored in the cache associated with the distributed controller 202.
At step 502, the distributed controller 202 determines the sequential order of the plurality of requests, based on the identifiers. For example, the distributed controller 202 may determine the sequential order of the plurality of requests, based on the identifier of each of the one or more host devices 203. The data is written sequentially in the one or more sequential storage devices 204. Hence, the distributed controller 202 determines the sequential order of the plurality of requests received in a random order from the one or more client devices 201.
At step 503, the distributed controller 202 performs the plurality of operations on the one or more sequential storage devices 204 associated with each of the one or more host devices 203, based on the plurality of requests in the sequential order. The plurality of operations may include the write operations for writing the data of the one or more client devices 201 to the one or more sequential storage devices 204. In some embodiments, the distributed controller 202 may perform the plurality of operations, upon determining the sequential order. In some embodiments, the distributed controller 202 may perform the plurality of operations, upon receiving the command to write the data of the one or more client devices 201 to the one or more sequential storage devices 204.
Computer SystemThe processor 602 may be disposed in communication with one or more input/output (I/O) devices (not shown) via I/O interface 601. The I/O interface 601 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE (Institute of Electrical and Electronics Engineers)-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), Radio Frequency (RF) antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
Using the I/O interface 601, the computer system 600 may communicate with one or more I/O devices. For example, the input device 610 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, video device/source, etc. The output device 611 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, Plasma display panel (PDP), Organic light-emitting diode display (OLED) or the like), audio speaker, etc.
The computer system 600 may communicate with the one or more client devices 201 and the one or more host devices 203 through the communication network 609. The processor 602 may be disposed in communication with the communication network 609 via a network interface 603. The network interface 603 may communicate with the communication network 609. The network interface 603 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 609 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. The network interface 603 may employ connection protocols include, but not limited to, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
The communication network 609 includes, but is not limited to, a direct interconnection, an e-commerce network, a peer to peer (P2P) network, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, Wi-Fi, and the like. The first network and the second network may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the first network and the second network may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
In some embodiments, the processor 602 may be disposed in communication with a memory 605 (e.g., RAM, ROM, etc. not shown in
The memory 605 may store a collection of program code or database components, including, without limitation, a user interface 606, an operating system 607, a web browser 608 etc. In some embodiments, computer system 600 may store user/application data, such as, the data, variables, records, etc., as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle® or Sybase®.
The operating system 607 may facilitate resource management and operation of the computer system 600. Examples of operating systems include, without limitation, APPLE MACINTOS® OS X, UNIX®, UNIX-like system distributions (E.G., BERKELEY SOFTWARE DISTRIBUTION™ (BSD), FREEBSD™, NETBSD™, OPENBSD™, etc.), LINUX DISTRIBUTIONS™ (E.G., RED HAT™, UBUNTU™, KUBUNTU™, etc.), IBM™ OS/2, MICROSOFT™ WINDOWS™ (XP™ VISTA™/7/8, 10 etc.), APPLE® IOS™, GOOGLE® ANDROID™, BLACKBERRY® OS, or the like.
In some embodiments, the computer system 600 may implement the web browser 608 stored program component. The web browser 608 may be a hypertext viewing application, for example MICROSOFT® INTERNET EXPLORER™, GOOGLE® CHROME™, MOZILLA® FIREFOX™, APPLE® SAFARI™, etc. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS), Secure Sockets Layer (SSL), Transport Layer Security (TLS), etc. Web browsers 608 may utilize facilities such as AJAX™, DHTML™, ADOBE® FLASH™, JAVASCRIPT™, JAVA™, Application Programming Interfaces (APIs), etc. In some embodiments, the computer system 600 may implement a mail server (not shown in Figure) stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP™, ACTIVEX™, ANSI™ C++/C #, MICROSOFT®, .NET™, CGI SCRIPTS™, JAVA™, JAVASCRIPT™, PERL™ PHP™ PYTHON™, WEBOBJECTS™, etc. The mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP), Messaging Application Programming Interface (MAPI), MICRO SOFT® exchange, Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), or the like. In some embodiments, the computer system 600 may implement a mail client stored program component. The mail client (not shown in Figure) may be a mail viewing application, such as APPLE® MAIL™, MICROSOFT® ENTOURAGE™, MICROSOFT® OUTLOOK™, MOZILLA® THUNDERBIRD™, etc.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, non-volatile memory, hard drives, Compact Disc Read-Only Memory (CD ROMs), Digital Video Disc (DVDs), flash drives, disks, and any other known physical storage media.
Embodiments of the present disclosure provides a method, a distributed controller, and a system for managing the sequential storage devices in a distributed storage environment. The TO management of the sequential storage devices is performed by the distributed controller communicating between the client devices and the host devices. The distributed controller converts random TO requests from the client devices in a sequential order for storing the data of the client devices in the sequential storage devices. This configuration and operation helps to maximize performance. Further, operations on the sequential storage devices are faster since the operations are performed in parallel across the host devices. A dedicated TO path may be provided between the host devices and the client devices via the distributed controller. Hence, a traditional TO path between the client devices and the host devices (i.e., a direct TO path between the client devices and the host devices) will not be impacted and data transfer on both the traditional TO path and the dedicated TO path is faster. This configuration and operation avoids idle times, thus increasing system throughput and optimizing network bandwidth utilization. The data may be cached in the distributed controller instead of writing to the sequential storage devices. The data may be then written to the sequential storage devices, based on a requirement. The system may comprise multiple controller instances of the distributed controller, thus ensuring fault tolerance of the system.
The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the invention(s)” unless expressly specified otherwise.
The terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.
The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.
A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article, or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
The illustrated operations of
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the present disclosure be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope set forth in the following claims.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.
Claims
1. A method comprising:
- receiving, by a distributed controller, a plurality of requests for performing a plurality of operations, from one or more client devices in a distributed storage environment, each request comprising data of a client device from the one or more client devices and an identifier of a host device from one or more host devices, each of the one or more host devices being associated with one or more sequential storage devices;
- determining, by the distributed controller, a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and
- performing, by the distributed controller in the sequential order, the plurality of operations on the one or more sequential storage devices.
2. The method as claimed in claim 1, wherein the plurality of requests is stored in a cache associated with the distributed controller.
3. The method as claimed in claim 1, wherein the plurality of requests is communicated between the one or more client devices and the one or more host devices via a dedicated IO path.
4. The method as claimed in claim 3, wherein the plurality of requests is communicated via the dedicated IO path separately from a traditional IO path is provided directly between the one or more client devices and the one or more host devices.
5. The method as claimed in claim 1, wherein the plurality of operations include write operations and/or cache read operations.
6. The method as claimed in claim 1, wherein the one or more sequential storage devices are storage devices in which the data of the one or more client devices is only able to be written sequentially.
7. A distributed controller comprising:
- a memory;
- a communication interface for communicating between one or more host devices and one or more client devices of a distributed storage environment; and
- one or more processors coupled to the memory, wherein the memory stores processor-executable instructions, which, on execution, cause the one or more processors to at least:
- receive a plurality of requests for performing a plurality of operations, from the one or more client devices, each request comprising data of a client device from the one or more client devices and an identifier of a host device from the one or more host devices, each of the one or more host devices being associated with one or more sequential storage devices;
- determine a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and
- perform, in the sequential order, the plurality of operations on the one or more sequential storage devices.
8. The distributed controller as claimed in claim 7, further comprising a cache for storing the plurality of requests.
9. The distributed controller as claimed in claim 7, wherein the one or more processors communicates the plurality of requests between the one or more client devices and the one or more host devices via a dedicated TO path.
10. The distributed controller as claimed in claim 9, wherein the dedicated TO path is separate from a traditional TO path is provided directly between the one or more client devices and the one or more host devices, and
- wherein the data is transmitted via the traditional TO path in parallel with the data transmitted via the dedicated TO path.
11. The distributed controller as claimed in claim 7, wherein the plurality of operations include write operations and/or cache read operations.
12. The distributed controller as claimed in claim 7, wherein the one or more sequential storage devices are storage devices in which the data of the one or more client devices is only able to be written sequentially.
13. A system comprising, in a distributed storage environment:
- one or more client devices;
- one or more host devices, each host device comprising and being associated with one or more sequential storage devices; and
- a distributed controller configured to at least:
- receive a plurality of requests for performing a plurality of operations, from the one or more client devices, each request comprising data of a client device from the one or more client devices and an identifier of a host device from the one or more host devices;
- determine a sequential order of the plurality of requests, based on the identifiers included in the plurality of requests; and
- perform, in the sequential order, the plurality of operations on the one or more sequential storage devices.
14. The system as claimed in claim 13, wherein the distributed controller comprises a cache for storing the plurality of requests.
15. The system as claimed in in claim 13, further comprising a dedicated TO path between the one or more client devices and the distributed controller and between the distributed controller and the one or more host devices,
- wherein the plurality of requests is communicated between the one or more client devices and the one or more host devices via the dedicated TO path.
16. The system as claimed in claim 15, further comprising a traditional TO path that is provided directly between the one or more client devices and the one or more host devices, and that is separate from the dedicated TO path,
- wherein the data is transmitted via the traditional TO path in parallel with the data transmitted via the dedicated TO path.
17. The system as claimed in claim 13, wherein the plurality of operations include write operations and/or cache read operations.
18. The system as claimed in claim 13, wherein the one or more sequential storage devices are storage devices in which the data of the one or more client devices is only able to be written sequentially.
19. The system as claimed in in claim 13, wherein the distributed controller comprises one or more controller instances of the distributed controller.
20. The system as claimed in claim 19, wherein each of the one or more controller instances is configured to receive the plurality of requests, determine the sequential order, and perform, in the sequential order, the plurality of operations.
Type: Application
Filed: Jan 24, 2023
Publication Date: May 2, 2024
Patent Grant number: 12260099
Applicant: Samsung Electronics Co., Ltd. (Suwon-si)
Inventor: Arun GEORGE (Bengaluru)
Application Number: 18/158,874