Patents by Inventor Colin FLORENDO

Colin FLORENDO 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: 20230350879
    Abstract: Disclosed herein are system, method, and computer program product embodiments for maintaining of a geometric object in a database. An embodiment operates by a database maintaining a first page storing a data block in the database's on-disk store such that the data block stores at least one byte of the geometric object. After receiving the request for the geometric object, the database loads the page storing the geometric object in the in-memory store and determines the size of the geometric object. Based on the size of the geometric object, the database stores the geometric object in the in-memory store directly or in a heap of the in-memory store.
    Type: Application
    Filed: June 29, 2023
    Publication date: November 2, 2023
    Inventors: Colin FLORENDO, Surendra VISHNOI, Janardhan HUNGUND, Manuel CAROLI
  • Patent number: 11775488
    Abstract: System, method, and various embodiments for providing a data access and recommendation system are described herein. An embodiment operates by identifying a column access of one or more data values of a first column of a plurality of columns of a table of a database during a sampling period. A count of how many of the one or more data values are accessed during the column access are recorded. A first counter is incremented by the count. The sampling period is determined to have expired. A load recommendation on how to load data values into the first column based on the first counter is computed. The load recommendation for implementation into the database for one or more subsequent column accesses is provided.
    Type: Grant
    Filed: March 21, 2022
    Date of Patent: October 3, 2023
    Assignee: SAP SE
    Inventors: Panfeng Zhou, Vivek Kandiyanallur, Colin Florendo, Robert Schulze, Zheng-Wei She, Yanhong Wang, Amarnadh Sai Eluri
  • Patent number: 11755565
    Abstract: Disclosed herein are system, method, and computer-program product embodiments for generating a paged and in-memory representation of a database object. An embodiment operates by maintaining in-memory and paged form primitives unique to the database object or a substructure thereof in a database such that the in-memory and paged form primitives are capable of providing the in-memory and paged representations of the database objects, respectively. Thereafter, a load configuration for the database object is determined. Based on the load configuration, the in-memory and/or paged representations of the database object are generated using the in-memory form primitive or the paged form primitive unique to the database object, respectively. Subsequently, the in-memory and/or paged representations of the database object are stored in the database.
    Type: Grant
    Filed: October 7, 2021
    Date of Patent: September 12, 2023
    Assignee: SAP SE
    Inventors: Colin Florendo, Mihnea Andrei, Amit Pathak, Robert Schulze, Adrian Dragusanu, Reza Sherkat, Sebastian Seifert, Christian Lemke
  • Patent number: 11726985
    Abstract: Disclosed herein are system, method, and computer program product embodiments for maintaining of a geometric object in a database. An embodiment operates by a database maintaining a first page storing a data block in the database's on-disk store such that the data block stores at least one byte of the geometric object. After receiving the request for the geometric object, the database loads the page storing the geometric object in the in-memory store and determines the size of the geometric object. Based on the size of the geometric object, the database stores the geometric object in the in-memory store directly or in a heap of the in-memory store.
    Type: Grant
    Filed: June 2, 2020
    Date of Patent: August 15, 2023
    Assignee: SAP SE
    Inventors: Colin Florendo, Surendra Vishnoi, Janardhan Hungund, Manuel Caroli
  • Patent number: 11663200
    Abstract: Disclosed herein are system, method, and computer program product embodiments for storing an object onto a first or second page. An embodiment operates by receiving the object and determining that the first page has sufficient unused space for storing at least one byte of the object. Thereafter, a data block of the object is created to comprise at least one byte of the object. The data block is then stored on the first page or the second page, and a location of the object's first data block is recorded. Thereafter, a pointer corresponding to the location of the object's first data block for loading the object is provided.
    Type: Grant
    Filed: December 2, 2021
    Date of Patent: May 30, 2023
    Assignee: SAP SE
    Inventors: Pushkar Khadilkar, Colin Florendo, Amit Pathak
  • Publication number: 20230011790
    Abstract: Disclosed herein are system, method, and computer program product embodiments for adaptive caching for hybrid columnar databases with heterogeneous page sizes. An embodiment operates by scanning one or more pools comprising one or more pages of the same size in a buffer cache. The embodiment determines an increment of a reuse rate for the pools in the buffer cache within a time interval. The embodiment determines a cumulative reuse rate that is the sum of the increments of the reuse rate over several time intervals. The embodiment determines a gliding average reuse rate of the cumulative reuse rate over several time intervals. The embodiment compares the average reuse rates of the plurality of the pools to a threshold to dynamically determine whether a pool should reuse memory from the existing pages of the same pool or rebalance memory from one or more victim pools.
    Type: Application
    Filed: September 14, 2022
    Publication date: January 12, 2023
    Inventors: PRATEEK AGARWAL, Simhachala Sasikanth Gottapu, Sarika Iyer, Prasanta Ghosh, Colin Florendo
  • Patent number: 11537578
    Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
    Type: Grant
    Filed: April 20, 2018
    Date of Patent: December 27, 2022
    Assignee: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Patent number: 11514028
    Abstract: System, method, and various embodiments for providing a hybrid data storage and load system are described herein. An embodiment operates by receiving a lookup request comprising a row identifier (ROWID) corresponding to a row of a table of a database. Which of a first set of pages corresponds to a sorted position of the ROWID is identified. The identified page of the first set of pages is loaded from the disk storage to the memory storage. A sorted row position of the ROWID is identified from a memory block of the loaded page from the first set of pages. One of a second set of pages that includes the sorted row position is identified. The identified one of the second set of pages is loaded from the disk storage into memory. The loaded identified one of the second set of pages is searched for the unsorted position of the ROWID.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: November 29, 2022
    Assignee: SAP SE
    Inventors: Amit Pathak, Colin Florendo, Pushkar Khadilkar, Robert Schulze
  • Patent number: 11514027
    Abstract: Disclosed herein are system, method, and computer program product embodiments for storing a large object (LOB) in a database. An embodiment operates by identifying the LOB to be stored in an on-disk store of the database and determining the size of the LOB. Thereafter, an index vector for the on-disk store to include an identifier corresponding to the LOB is created. Additionally, a dictionary for the on-disk store to include a copy of the identifier and corresponding LOB data is also created. The LOB data corresponds to the LOB itself or a LOB location inside of the on-disk store based on the LOB's size.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: November 29, 2022
    Assignee: SAP SE
    Inventors: Reza Sherkat, Chaitanya Gottipati, Colin Florendo, Martin Heidel
  • Patent number: 11481134
    Abstract: Disclosed herein are system, method, and computer program product embodiments for adaptive caching for hybrid columnar databases with heterogeneous page sizes. An embodiment operates by receiving a request to load a new page of memory from a disk in a buffer cache. The embodiment scans one or more pools comprising one or more pages of the same size in a buffer cache. The embodiment determines an increment of a reuse rate for the pools in the buffer cache within a time interval. The embodiment determines a cumulative reuse rate that is the sum of the increments of the reuse rate over several time intervals. The embodiment determines a gliding average reuse rate of the cumulative reuse rate over several time intervals. The embodiment compares the average reuse rates of the plurality of the pools to a threshold to dynamically determine whether a pool should reuse memory from the existing pages of the same pool or rebalance memory from one or more victim pools.
    Type: Grant
    Filed: May 24, 2021
    Date of Patent: October 25, 2022
    Assignee: SAP SE
    Inventors: Prateek Agarwal, Simhachala Sasikanth Gottapu, Sarika Iyer, Prasanta Ghosh, Colin Florendo
  • Patent number: 11442862
    Abstract: Disclosed herein are system, method, and computer program product embodiments for performing fair prefetching. An embodiment operates by splitting a data vector into a first subrange and a second subrange. The embodiment performs a first chance prefetch operation on the first subrange based on a fixed number of pages, thereby loading a set of pages of the first subrange into a main memory. The embodiment performs the first chance prefetch operation on the second subrange based on the fixed number of pages, thereby loading a first set of pages of the second subrange into the main memory. The embodiment performs a second chance prefetch operation on the second subrange based on the performing the first chance prefetch operation on the second subrange, thereby loading a second set of pages of the second subrange into the main memory. The embodiment then executes the query.
    Type: Grant
    Filed: April 16, 2020
    Date of Patent: September 13, 2022
    Assignee: SAP SE
    Inventors: Robert Schulze, Adrian Dragusanu, Anup Ghatage, Colin Florendo, Mihnea Andrei, Randall Hammon, Sarika Iyer, Simhachala Sasikanth Gottapu, Yanhong Wang
  • Patent number: 11386082
    Abstract: Disclosed herein are system, method, and computer program product embodiments for providing paged and compressed storage for column data, while maintaining existing access mechanisms for the data. In order to reduce an in-memory footprint for column data, columns may be stored in pageable format using page chains, and only those pages of the column data needed to resolve a query will be placed in memory, and evicted from memory when no longer needed. In order to further reduce the footprint for these columns, compression can be applied, and the compressed column data stored in the same pageable format using page chains. The compressed data includes a plurality of vectors, each of which is converted into pages and stored on the page chain with the others so that they can be efficiently retrieved during database retrieval operations.
    Type: Grant
    Filed: June 5, 2020
    Date of Patent: July 12, 2022
    Assignee: SAP SE
    Inventors: Mehul Wagle, Colin Florendo, Pushkar Khadilkar, Robert Schulze, Reza Sherkat, Amit Pathak
  • Publication number: 20220207002
    Abstract: System, method, and various embodiments for providing a data access and recommendation system are described herein. An embodiment operates by identifying a column access of one or more data values of a first column of a plurality of columns of a table of a database during a sampling period. A count of how many of the one or more data values are accessed during the column access are recorded. A first counter is incremented by the count. The sampling period is determined to have expired. A load recommendation on how to load data values into the first column based on the first counter is computed. The load recommendation for implementation into the database for one or more subsequent column accesses is provided.
    Type: Application
    Filed: March 21, 2022
    Publication date: June 30, 2022
    Inventors: PANFENG ZHOU, Vivek KANDIYANALLUR, Colin FLORENDO, Robert SCHULZE, Zheng-wei SHE, Yanhong WANG, Amarnadh Sai ELURI
  • Patent number: 11372845
    Abstract: Disclosed herein are system, method, and computer program product embodiments for converting column loadable data in a database into a page loadable format. When a column oriented in-memory database needs to perform an operation on a table, the affected columns must be loaded fully into memory. In some cases, a database may partition tables, allowing for column fragments corresponding to those partitions to be loaded into memory. These column fragments may exceed available memory, such that it is beneficial to convert the column fragment into a page loadable format. Approaches are discussed herein for performing the conversion without the need to update global metadata during the process, allowing for multiple parallel column fragments to be updated, allowing data manipulation language (DML) operations to continue on the column during the conversion process, and reducing the impact of blocked parallel savepoint operations during the conversion process by chunking the conversion process.
    Type: Grant
    Filed: June 5, 2020
    Date of Patent: June 28, 2022
    Assignee: SAP SE
    Inventors: Deepak Shrivastava, Chaitanya Gottipati, Colin Florendo, Rolando Blanco, Michael Muehle, Awisha Makwana
  • Patent number: 11308047
    Abstract: System, method, and various embodiments for providing a data access and recommendation system are described herein. An embodiment operates by identifying a column access of one or more data values of a first column of a plurality of columns of a table of a database during a sampling period. A count of how many of the one or more data values are accessed during the column access are recorded. A first counter, corresponding to the first column and stored in a distributed hash table, is incremented by the count. The sampling period is determined to have expired. A load recommendation on how to load data values into the first column based on the first counter is computed. The load recommendation for implementation into the database for one or more subsequent column accesses is provided.
    Type: Grant
    Filed: March 12, 2020
    Date of Patent: April 19, 2022
    Assignee: SAP SE
    Inventors: Panfeng Zhou, Vivek Kandiyanallur, Colin Florendo, Robert Schulze, Zheng-Wei She, Yanhong Wang, Amarnadh Sai Eluri
  • Publication number: 20220092057
    Abstract: Disclosed herein are system, method, and computer program product embodiments for storing an object onto a first or second page. An embodiment operates by receiving the object and determining that the first page has sufficient unused space for storing at least one byte of the object. Thereafter, a data block of the object is created to comprise at least one byte of the object. The data block is then stored on the first page or the second page, and a location of the object's first data block is recorded. Thereafter, a pointer corresponding to the location of the object's first data block for loading the object is provided.
    Type: Application
    Filed: December 2, 2021
    Publication date: March 24, 2022
    Inventors: Pushkar KHADILKAR, Colin FLORENDO, Amit PATHAK
  • Publication number: 20220027354
    Abstract: Disclosed herein are system, method, and computer-program product embodiments for generating a paged and in-memory representation of a database object. An embodiment operates by maintaining in-memory and paged form primitives unique to the database object or a substructure thereof in a database such that the in-memory and paged form primitives are capable of providing the in-memory and paged representations of the database objects, respectively. Thereafter, a load configuration for the database object is determined. Based on the load configuration, the in-memory and/or paged representations of the database object are generated using the in-memory form primitive or the paged form primitive unique to the database object, respectively. Subsequently, the in-memory and/or paged representations of the database object are stored in the database.
    Type: Application
    Filed: October 7, 2021
    Publication date: January 27, 2022
    Inventors: Colin FLORENDO, Mihnea ANDREI, Amit PATHAK, Robert SCHULZE, Adrian DRAGUSANU, Reza SHERKAT, Sebastian SEIFERT, Christian LEMKE
  • Patent number: 11194789
    Abstract: Disclosed herein are system, method, and computer program product embodiments for storing an object onto a first or second page. An embodiment operates by receiving the object and determining that the first page has sufficient unused space for storing at least one byte of the object. Thereafter, a data block of the object is created to comprise at least one byte of the object. The data block is then stored on the first page or the second page, and a location of the object's first data block is recorded. Thereafter, a pointer corresponding to the location of the object's first data block for loading the object is provided.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: December 7, 2021
    Assignee: SAP SE
    Inventors: Pushkar Khadilkar, Colin Florendo, Amit Pathak
  • Patent number: 11170023
    Abstract: A computer implemented method for manipulating data comprises receiving log transaction information from a primary database system at a secondary database system and parsing the log transaction information to identify data objects that have been modified on the primary database system. The secondary database system determines whether the data objects are present in main memory on the secondary database system and whether the log transaction corresponds to a data manipulation language (DML) query or a data definition language (DDL) query. If the data objects are not in the main memory and the query is a DML query, they are copied from persistence data volumes to the main memory. The data objects in main memory are modified by replaying the log transactions on the data objects in the main memory. Then, the data objects in the persistence data volumes are modified. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: November 9, 2021
    Assignee: SAP SE
    Inventors: Colin Florendo, Michael Muehle, Thorsten Glebe, Rolando Blanco, Chaitanya Gottipati, Nirvik Basak, Martin Heidel, Peter Steinemann, Vivek Kandiyanallur, Shiping Chen, Sarika Iyer, Jörn Schmidt
  • Publication number: 20210326263
    Abstract: Disclosed herein are system, method, and computer program product embodiments for performing fair prefetching. An embodiment operates by splitting a data vector into a first subrange and a second subrange. The embodiment performs a first chance prefetch operation on the first subrange based on a fixed number of pages, thereby loading a set of pages of the first subrange into a main memory. The embodiment performs the first chance prefetch operation on the second subrange based on the fixed number of pages, thereby loading a first set of pages of the second subrange into the main memory. The embodiment performs a second chance prefetch operation on the second subrange based on the performing the first chance prefetch operation on the second subrange, thereby loading a second set of pages of the second subrange into the main memory. The embodiment then executes the query.
    Type: Application
    Filed: April 16, 2020
    Publication date: October 21, 2021
    Inventors: Robert SCHULZE, Adrian DRAGUSANU, Anup GHATAGE, Colin FLORENDO, Mihnea ANDREI, Randall HAMMON, Sarika IYER, Simhachala Sasikanth GOTTAPU, Yanhong WANG