Patents by Inventor Ahmad Hassan

Ahmad Hassan 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).

  • Publication number: 20190058761
    Abstract: Methods, systems, and computer-readable storage media for provisioning resources for microservice-based applications hosted in cloud infrastructures, implementations including actions of receiving event data from each of a plurality of microservices hosted in a cloud infrastructure, for each microservice, determining a load metric based on a probability distribution, comparing each load metric to one or more thresholds to effect respective comparisons, and selectively initiating provisioning of one or more instances of at least one microservice based on a respective comparison.
    Type: Application
    Filed: August 15, 2017
    Publication date: February 21, 2019
    Inventor: Ahmad Hassan
  • Patent number: 10083183
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing a SPLAY tree, the SPLAY tree including a data structure having one or more nodes, each node having a node name and a node value, determining that a function of a shared library of an in-memory database system has been called, and determining whether the SPLAY tree includes a node corresponding to the function, wherein: if the SPLAY tree includes a node corresponding to the function, reading a function address of the function from the SPLAY tree, and if the SPLAY tree is absent a node corresponding to the function, reading the function address from a computer-readable file.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: September 25, 2018
    Assignee: SAP SE
    Inventor: Ahmad Hassan
  • Publication number: 20180024750
    Abstract: Implementations of the present disclosure include receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, and executing an application, which queries an in-memory database provided with a hybrid memory system, and, during execution of the application: identifying at least one page in the sorted list of pages as a page that is to-be-locked during execution of the application based on a threshold, and locking the at least one page in main memory to inhibit swapping of the at least one page by an operating system.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024821
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing intermediate code based on source code, the intermediate code including at least one instruction for profiling at least one object of the application, providing a statistics file by processing the intermediate code, the statistics file including data indicating, for each object of a plurality of objects, a SAC and a RAC, the SAC indicating a number of times a respective object was sequentially accessed and the RAC indicating a number of times a respective object was sequentially accessed during execution of the workload, providing a list of objects, the list of objects identifying, for each object, a memory type for placement of the object in a hybrid memory system based on the RAC of the respective object, and placing objects in a hybrid memory system during execution of the application based on the list of objects.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024922
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving an annotated query execution plan (aQEP), the aQEP being processed to execute a query on an in-memory database in a hybrid memory system, and including one or more annotations, each annotation indicating an output of a respective operator that is to be provided as input to a join operator, determining a payload size at least partially based on an estimated size of an intermediate output of the join operator, selecting a memory type from a plurality of memory types in the hybrid memory system based on the payload size and a cache size, and storing, after execution of the aQEP, the intermediate output on the memory type in the hybrid memory system.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180025055
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving a query, retrieving an annotated query execution plan (QEP) that is associated with the query, the annotated QEP including a plurality of operators in respective lines, which are executed to provide a query result, at least one line having annotations for check-pointing an intermediate result provided by a respective operator, and determining that a power failure occurred during execution of the annotated QEP in an in-memory database system, and in response: determining that a checkpoint for the at least one line is stored in non-volatile memory (NVM), retrieving the intermediate result provided by the respective operator from the NVM, and restarting execution of the annotated QEP using the intermediate result as input to an operator provided in a line following the at least one line.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180025094
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving a query from an application, providing a query execution plan (QEP) associated with the query, the QEP including a plurality of operators executed in a first order to provide a query result, one or more operators of the plurality of operators requiring input from computer-readable memory, determining an execution time for each operator in the plurality of operators, re-ordering at least one operator of the plurality of operators to provide a re-ordered QEP (rQEP) based on a respective execution time, the rQEP including the plurality of operators executed in a second order to provide the query result, and storing the rQEP in computer-readable memory.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024923
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for determining that an object implicated in an executing application is to be allocated to memory in an in-memory system, determining a type of the object, and allocating the object to one of a first size of virtual memory page and a second size of virtual memory page of an operating system based on the type of the object.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024755
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for performing actions during simulation of an application interacting with a hybrid memory system, actions including providing a first range of virtual addresses corresponding to a first type of memory in the hybrid memory system, and a second range of virtual addresses corresponding to a second type of memory in the hybrid memory system, receiving a data packet that is to be stored in the hybrid memory system, determining a virtual address assigned to the data packet, the virtual address being provided in cache block metadata associated with the data packet, and storing the data packet in one of the first type of memory and the second type of memory in the hybrid memory system based on the virtual address, the first range of virtual addresses, and the second range of virtual addresses.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024754
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for determining a first cost and a second cost associated with a virtual memory page accessed during execution of an application, the first cost being associated with a first memory type, and the second cost being associated with a second memory type in a hybrid memory system, comparing the first cost and the second cost to provide a comparison result, determining a current location of the virtual memory page, the current location including one of the first memory type and the second memory type, and selectively migrating the virtual memory page from the current location based on the comparison result and the current location.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180025016
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing a SPLAY tree, the SPLAY tree including a data structure having one or more nodes, each node having a node name and a node value, determining that a function of a shared library of an in-memory database system has been called, and determining whether the SPLAY tree includes a node corresponding to the function, wherein: if the SPLAY tree includes a node corresponding to the function, reading a function address of the function from the SPLAY tree, and if the SPLAY tree is absent a node corresponding to the function, reading the function address from a computer-readable file.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024913
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving source code of an application, providing intermediate code based on the source code, the intermediate code including at least one instruction for profiling at least one line of the source code, providing profiling data by processing the intermediate code, processing the profiling data based on one or more of a latency model and an energy model to respectively provide at least one latency metric and at least one energy metric of the at least one line, and storing modified source code that is provided based on a modification of the at least one line of source code.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024928
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving a query from an application, processing a query execution plan (QEP) of the query using a cache simulator to simulate queries to an in-memory database in a hybrid memory system, providing a miss-curve based on the QEP, the miss-curve relating miss-ratios to memory sizes, and determining relative sizes of a first type of memory and a second type of memory in the hybrid memory system at least partially based on the miss-curve.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Publication number: 20180024997
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving a key, the key corresponding to an object that is stored in a hybrid memory system, searching a SPLAY tree based on the key to identify a node of the SPLAY tree, determining a type of memory that the object is stored on in the hybrid memory system, the type of memory including one of a first type of memory and a second type of memory, selectively adjusting an endurance counter associated with the object based on a location of the node within the SPLAY tree, and the type of memory that the object is stored on in the hybrid memory system, and selectively migrating the object between the first memory type and the second memory type based on the EC associated with the object.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventor: Ahmad Hassan
  • Patent number: 9841914
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving source code of an application, providing intermediate code based on the source code, the intermediate code including at least one instruction for profiling at least one object of the application, providing a statistics file by processing the intermediate code based on a memory profiling library, processing the statistics file based on a plurality of models to provide a list of objects, the list of objects identifying types of memory respective objects should be stored to in a hybrid main memory system, and storing modified source code that is provided based on the source code and the list of objects.
    Type: Grant
    Filed: May 5, 2015
    Date of Patent: December 12, 2017
    Assignee: SAP SE
    Inventor: Ahmad Hassan
  • Patent number: 9804803
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for identifying a data processing function to be executed in a hybrid main memory system, the hybrid main memory system including a first type of main memory and a second type of main memory, the data processing function including data access operations to access the hybrid main memory system, accessing a write metric for the data processing function, the write metric based at least in part on a proportion of the data access operations that are write operations, and, based at least in part on the write metric being less than a threshold value, designating the data processing function for execution in the first type of main memory.
    Type: Grant
    Filed: August 20, 2015
    Date of Patent: October 31, 2017
    Assignee: SAP SE
    Inventor: Ahmad Hassan
  • Patent number: 9740438
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving, from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system, providing a virtual memory area based on the type of physical memory, providing a mapping entry that maps the virtual memory area to the type of physical memory, and enabling access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.
    Type: Grant
    Filed: August 20, 2015
    Date of Patent: August 22, 2017
    Assignee: SAP SE
    Inventor: Ahmad Hassan
  • Publication number: 20170052742
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for identifying a data processing function to be executed in a hybrid main memory system, the hybrid main memory system including a first type of main memory and a second type of main memory, the data processing function including data access operations to access the hybrid main memory system, accessing a write metric for the data processing function, the write metric based at least in part on a proportion of the data access operations that are write operations, and, based at least in part on the write metric being less than a threshold value, designating the data processing function for execution in the first type of main memory.
    Type: Application
    Filed: August 20, 2015
    Publication date: February 23, 2017
    Inventor: Ahmad Hassan
  • Publication number: 20170052741
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving, from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system, providing a virtual memory area based on the type of physical memory, providing a mapping entry that maps the virtual memory area to the type of physical memory, and enabling access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.
    Type: Application
    Filed: August 20, 2015
    Publication date: February 23, 2017
    Inventor: Ahmad Hassan
  • Publication number: 20160328169
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving source code of an application, providing intermediate code based on the source code, the intermediate code including at least one instruction for profiling at least one object of the application, providing a statistics file by processing the intermediate code based on a memory profiling library, processing the statistics file based on a plurality of models to provide a list of objects, the list of objects identifying types of memory respective objects should be stored to in a hybrid main memory system, and storing modified source code that is provided based on the source code and the list of objects.
    Type: Application
    Filed: May 5, 2015
    Publication date: November 10, 2016
    Inventor: Ahmad Hassan