Patents by Inventor Alexander Sideropoulos

Alexander Sideropoulos has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9477521
    Abstract: Systems and methods are disclosed for scheduling a plurality of tasks for execution on one or more processors. An example method includes obtaining a counter value of a counter. The method also includes for each work queue of a plurality of work queues, identifying an execution period of the respective work queue and comparing a counter value to an execution period of the respective work queue. Each work queue includes a set of tasks and is defined by an execution period at which to run the respective set of queued tasks. The method further includes selecting, based on the comparing, a subset of the plurality of work queues. The method also includes scheduling a set of tasks of slower frequency queued in a selected work queue for execution on one or more processors before a set of tasks queued in a non-selected work queue. The work items may be scheduled in O(1) because the design inherently prioritizes the tasks based on the urgency of their completion, and may do so by resetting a work queue pointer.
    Type: Grant
    Filed: May 29, 2014
    Date of Patent: October 25, 2016
    Assignee: NETAPP, INC.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk, Darren Sawyer
  • Patent number: 9304702
    Abstract: A system and method for of prioritizing accumulation of time-dependent data is disclosed. In an embodiment, a plurality of data elements are identified to be retrieved. The data elements include a high-priority data element and a low-priority data element. A first data retrieval operation is performed to retrieve the high-priority data element, to store a copy of the high-priority data element in a memory structure, and to reserve a memory space in the memory structure for the low-priority data element based on the low-priority data element corresponding to the high-priority data element. In parallel with the first data retrieval operation, a second data retrieval operation is performed to analyze the memory structure to detect the reserved memory space, upon detecting the reserved memory space, to retrieve the low-priority data element, and to store a copy of the low-priority data element in the reserved memory space.
    Type: Grant
    Filed: May 29, 2014
    Date of Patent: April 5, 2016
    Assignee: NETAPP, INC.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk
  • Patent number: 9256477
    Abstract: Systems and methods are disclosed for communicating state information of a session between a plurality of processing threads in a hierarchy. The session is passed down through the hierarchy, with one or more threads processing the session at each level of the hierarchy. An example method includes reading a first pointer of a first processing thread and comparing the first pointer to a second pointer of a second processing thread. The second processing thread is dependent on the first processing thread. The method also includes in response to determining that the first pointer does not match the second pointer, processing a set of configuration items in a session. The method further includes after processing the set of configuration items in the session, updating the second pointer of the second processing thread to match the first pointer of the first processing thread.
    Type: Grant
    Filed: May 29, 2014
    Date of Patent: February 9, 2016
    Assignee: NETAPP, INC.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk
  • Publication number: 20150347186
    Abstract: Systems and methods are disclosed for scheduling a plurality of tasks for execution on one or more processors. An example method includes obtaining a counter value of a counter. The method also includes for each work queue of a plurality of work queues, identifying an execution period of the respective work queue and comparing a counter value to an execution period of the respective work queue. Each work queue includes a set of tasks and is defined by an execution period at which to run the respective set of queued tasks. The method further includes selecting, based on the comparing, a subset of the plurality of work queues. The method also includes scheduling a set of tasks of slower frequency queued in a selected work queue for execution on one or more processors before a set of tasks queued in a non-selected work queue. The work items may be scheduled in O(1) because the design inherently prioritizes the tasks based on the urgency of their completion, and may do so by resetting a work queue pointer.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: NetApp, Inc.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk
  • Publication number: 20150347196
    Abstract: Systems and methods are disclosed for communicating state information of a session between a plurality of processing threads in a hierarchy. The session is passed down through the hierarchy, with one or more threads processing the session at each level of the hierarchy. An example method includes reading a first pointer of a first processing thread and comparing the first pointer to a second pointer of a second processing thread. The second processing thread is dependent on the first processing thread. The method also includes in response to determining that the first pointer does not match the second pointer, processing a set of configuration items in a session. The method further includes after processing the set of configuration items in the session, updating the second pointer of the second processing thread to match the first pointer of the first processing thread.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: NetApp, Inc.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk
  • Publication number: 20150347055
    Abstract: A system and method for of prioritizing accumulation of time-dependent data is disclosed. In an embodiment, a plurality of data elements are identified to be retrieved. The data elements include a high-priority data element and a low-priority data element. A first data retrieval operation is performed to retrieve the high-priority data element, to store a copy of the high-priority data element in a memory structure, and to reserve a memory space in the memory structure for the low-priority data element based on the low-priority data element corresponding to the high-priority data element. In parallel with the first data retrieval operation, a second data retrieval operation is performed to analyze the memory structure to detect the reserved memory space, upon detecting the reserved memory space, to retrieve the low-priority data element, and to store a copy of the low-priority data element in the reserved memory space.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: NetApp, Inc.
    Inventors: Dan Truong, Alexander Sideropoulos, Michael Cao, Raymond Luk