Patents by Inventor Sameh Elnikety

Sameh Elnikety 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: 11829804
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Grant
    Filed: September 15, 2021
    Date of Patent: November 28, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Patent number: 11403141
    Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.
    Type: Grant
    Filed: May 4, 2020
    Date of Patent: August 2, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stanko Novakovic, Íñigo Goiri Presa, Sameh Elnikety, Ricardo G. Bianchini
  • Publication number: 20220004441
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Application
    Filed: September 15, 2021
    Publication date: January 6, 2022
    Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn MCKINLEY, Shaolei REN
  • Publication number: 20210342188
    Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.
    Type: Application
    Filed: May 4, 2020
    Publication date: November 4, 2021
    Inventors: Stanko NOVAKOVIC, Íñigo GOIRI PRESA, Sameh ELNIKETY, Ricardo G. BIANCHINI
  • Patent number: 11126473
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Grant
    Filed: March 15, 2019
    Date of Patent: September 21, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. Mckinley, Shaolei Ren
  • Publication number: 20190213053
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Application
    Filed: March 15, 2019
    Publication date: July 11, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
  • Patent number: 10303524
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Grant
    Filed: April 6, 2016
    Date of Patent: May 28, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Patent number: 9817698
    Abstract: The subject disclosure is directed towards scheduling requests using quality values that are defined for partial responses to the requests. For each request in a queue, an associated processing time is determined using a system load and/or the quality values. The associated processing time is less than or equal to a service demand, which represents an amount of time to produce a complete response.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, James R. Larus, Chenyu Yan
  • Publication number: 20160217015
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Application
    Filed: April 6, 2016
    Publication date: July 28, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
  • Patent number: 9336057
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: May 10, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Patent number: 9053210
    Abstract: Graph queries are processed using a plurality of independent query execution engines. A graph query submitted to a graph database which is modeled by an attributed graph is received. The graph query is decomposed into a plurality of query components. For each of the query components, a one of the query execution engines that is available to process the query component is identified, a sub-query representing the query component is generated, the sub-query is sent to the identified query execution engine for processing, and results for the sub-query are received from the identified query execution engine. The results received are then combined to generate a response to the graph query.
    Type: Grant
    Filed: December 14, 2012
    Date of Patent: June 9, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sameh Elnikety, Yuxiong He, Sherif Sakr
  • Publication number: 20140181825
    Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: Microsoft Corporation
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Publication number: 20140172914
    Abstract: Graph queries are processed using a plurality of independent query execution engines. A graph query submitted to a graph database which is modeled by an attributed graph is received. The graph query is decomposed into a plurality of query components. For each of the query components, a one of the query execution engines that is available to process the query component is identified, a sub-query representing the query component is generated, the sub-query is sent to the identified query execution engine for processing, and results for the sub-query are received from the identified query execution engine. The results received are then combined to generate a response to the graph query.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Sameh Elnikety, Yuxiong He, Sherif Sakr
  • Publication number: 20120324466
    Abstract: The subject disclosure is directed towards scheduling requests using quality values that are defined for partial responses to the requests. For each request in a queue, an associated processing time is determined using a system load and/or the quality values. The associated processing time is less than or equal to a service demand, which represents an amount of time to produce a complete response.
    Type: Application
    Filed: June 17, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Yuxiong He, Sameh Elnikety, James R. Larus, Chenyu Yan
  • Patent number: 8074014
    Abstract: Improved storage systems which use write off-loading are described. When a request to store some data in a particular storage location is received, if the particular storage location is unavailable, the data is stored in an alternative location. In an embodiment, the particular storage location may be unavailable because it is powered down or because it is overloaded. The data stored in the alternative location may be subsequently recovered and written to the particular storage location once it becomes available.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Dushyanth Narayanan, Austin Donnelly, Antony Rowstron, Sameh Elnikety, Eno Thereska
  • Publication number: 20090249001
    Abstract: Improved storage systems which use write off-loading are described. When a request to store some data in a particular storage location is received, if the particular storage location is unavailable, the data is stored in an alternative location. In an embodiment, the particular storage location may be unavailable because it is powered down or because it is overloaded. The data stored in the alternative location may be subsequently recovered and written to the particular storage location once it becomes available.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Dushyanth Narayanan, Austin DONNELLY, Anthony ROWSTRON, Sameh ELNIKETY, Eno THERESKA