Non-Disruptively Upgrading a Cloud-Based Storage System
US-2024241674-A1 · Jul 18, 2024 · US
US9384071B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9384071-B2 |
| Application number | US-201113158176-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 10, 2011 |
| Priority date | Mar 31, 2011 |
| Publication date | Jul 5, 2016 |
| Grant date | Jul 5, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising: for each of a plurality of application-level configuration calls: intercepting at a user-level interface a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object; and subsequently, on a predetermined criterion being met: the user-level interface causing the plurality of configuration calls to be effected by means of a first system call to the kernel.
Opening claim text (preview).
We claim: 1. A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising: for each of a plurality of application-level configuration calls: a user-level interface intercepting a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object; intercepting at the user-level interface a wait call from the application to the I/O event notification mechanism for causing the I/O event notification object to wait for an event associated with one or more of its file descriptors; subsequently, on a predetermined criterion being met, the user-level interface causing the plurality of configuration calls to be effected by making a single system call from the user level to the kernel, wherein the predetermined criterion is reception of a wait call from the application at the user-level interface, and wherein the predetermined criterion is additionally met if no wait call is received at the user-level interface but one of the following occurs: a predetermined time period expires; or storage space required at the data structure for storing the sets of parameters representing operations to be performed on the set of file descriptors handled by the I/O event notification object exceeds a predetermined size. 2. A method as claimed in claim 1 , wherein the step of causing the plurality of configuration calls to be effected comprises: the user-level interface making the single system call to the kernel so as to pass the data structure to a kernel library; and the kernel library invoking a configuration routine of the I/O event notification mechanism for each set of parameters stored in the data structure so as to configure the I/O event notification object in accordance with the configuration calls. 3. A data processing system comprising a CPU and memory, the CPU having a plurality of applications executing thereon; the CPU further having an operating system executing thereon, the operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources; the CPU further configured to store in a data structure parameters of application-level configuration calls, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object to which the respective configuration call is directed; and the CPU having a user-level interface executing thereon, the user-level interface configured to intercept a plurality of configuration calls from an application to the I/O event notification mechanism for configuring an I/O event notification object and store parameters of the configuration calls at the data structure, the user-level interface being further configured to intercept a wait call from the application to the I/O event notification mechanism for causing the I/O event notification object to wait for an event associated with one or more of its file descriptors; wherein the user-level interface is configured to, on a predetermined criterion being met, cause the plurality of configuration calls to be effected by passing at least part of the data structure into the kernel context and making a system call from the user level to the kernel, wherein the predetermined criterion is the reception of a wait call from the application at the user-level interface, and wherein the predetermined criterion is additionally met if no wait call is received at the user-level interface but one of the following occurs: a predetermined time period expires; or the storage space required at the data structure for storing the sets of parameters representing operations to be performed on the set of file descriptors handled by the I/O event notification object exceeds a predetermined size. 4. A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising: a user-level interface receiving a plurality of application-level configuration calls from one or more applications toward the I/O event notification mechanism, each of the configuration calls including a respective set of parameters representing an operation on a set of file descriptors handled by an I/O event notification object of the I/O event notification mechanism of the operating system; the user-level interface receiving a wait call sent from an application toward the I/O event notification mechanism for causing the I/O event notification object to wait for an event associated with one or more of its file descriptors; in response to receipt of each particular one of the application-level configuration calls in the plurality of application-level configuration calls, the user-level interface storing at a data structure in user address space the set of parameters of the particular configuration call; subsequently, on a predetermined criterion being met, the user-level interface making a single system call from the user level to the kernel so as to pass the data structure to a kernel module; and the kernel module invoking a configuration routine of the I/O event notification mechanism for the sets of parameters stored in the data structure so as to configure the I/O event notification object in accordance with the configuration calls, wherein the predetermined criterion is the reception of a wait call from the application at the user-level interface and wherein the predetermined criterion is additionally met if no wait call is received at the user-level interface but one of the following occurs: a predetermined time period expires; or storage space required at the data structure for storing the sets of parameters representing operations to be performed on the set of file descriptors handled by the I/O event notification object exceeds a predetermined size. 5. A method as claimed in claim 4 , further comprising, subsequent to each receiving step, returning processing to the application that made the respective configuration call. 6. A method as claimed in claim 4 , wherein the receiving and storing steps are performed without invoking any kernel level processes. 7. A method as claimed in claim 4 , wherein the I/O event notification mechanism is configured such that each file descriptor of an I/O event notification object is individually configurable by means of a configuration call from the application to the I/O event notification mechanism. 8. A method as claimed in claim 4 , wherein the data structure is passed to the kernel module by one of: passing a reference to the data structure, passing a copy of at least part of the data structure, and passing a representation of the data structure into the kernel context. 9. A method as claimed in claim 4 , wherein the I/O event notification mechanism is epoll and the configuration routine is epoll_ctl( ). 10. A method as claimed in
Related publications grouped by family.
Answers are generated from the same data shown on this page.