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: 20230350879Abstract: 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: ApplicationFiled: June 29, 2023Publication date: November 2, 2023Inventors: Colin FLORENDO, Surendra VISHNOI, Janardhan HUNGUND, Manuel CAROLI
-
Patent number: 11775488Abstract: 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: GrantFiled: March 21, 2022Date of Patent: October 3, 2023Assignee: SAP SEInventors: Panfeng Zhou, Vivek Kandiyanallur, Colin Florendo, Robert Schulze, Zheng-Wei She, Yanhong Wang, Amarnadh Sai Eluri
-
Patent number: 11755565Abstract: 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: GrantFiled: October 7, 2021Date of Patent: September 12, 2023Assignee: SAP SEInventors: Colin Florendo, Mihnea Andrei, Amit Pathak, Robert Schulze, Adrian Dragusanu, Reza Sherkat, Sebastian Seifert, Christian Lemke
-
Patent number: 11726985Abstract: 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: GrantFiled: June 2, 2020Date of Patent: August 15, 2023Assignee: SAP SEInventors: Colin Florendo, Surendra Vishnoi, Janardhan Hungund, Manuel Caroli
-
Patent number: 11663200Abstract: 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: GrantFiled: December 2, 2021Date of Patent: May 30, 2023Assignee: SAP SEInventors: Pushkar Khadilkar, Colin Florendo, Amit Pathak
-
Publication number: 20230011790Abstract: 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: ApplicationFiled: September 14, 2022Publication date: January 12, 2023Inventors: PRATEEK AGARWAL, Simhachala Sasikanth Gottapu, Sarika Iyer, Prasanta Ghosh, Colin Florendo
-
Patent number: 11537578Abstract: 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: GrantFiled: April 20, 2018Date of Patent: December 27, 2022Assignee: SAP SEInventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
-
Patent number: 11514028Abstract: 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: GrantFiled: April 30, 2020Date of Patent: November 29, 2022Assignee: SAP SEInventors: Amit Pathak, Colin Florendo, Pushkar Khadilkar, Robert Schulze
-
Patent number: 11514027Abstract: 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: GrantFiled: April 24, 2020Date of Patent: November 29, 2022Assignee: SAP SEInventors: Reza Sherkat, Chaitanya Gottipati, Colin Florendo, Martin Heidel
-
Patent number: 11481134Abstract: 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: GrantFiled: May 24, 2021Date of Patent: October 25, 2022Assignee: SAP SEInventors: Prateek Agarwal, Simhachala Sasikanth Gottapu, Sarika Iyer, Prasanta Ghosh, Colin Florendo
-
Patent number: 11442862Abstract: 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: GrantFiled: April 16, 2020Date of Patent: September 13, 2022Assignee: SAP SEInventors: Robert Schulze, Adrian Dragusanu, Anup Ghatage, Colin Florendo, Mihnea Andrei, Randall Hammon, Sarika Iyer, Simhachala Sasikanth Gottapu, Yanhong Wang
-
Patent number: 11386082Abstract: 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: GrantFiled: June 5, 2020Date of Patent: July 12, 2022Assignee: SAP SEInventors: Mehul Wagle, Colin Florendo, Pushkar Khadilkar, Robert Schulze, Reza Sherkat, Amit Pathak
-
Publication number: 20220207002Abstract: 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: ApplicationFiled: March 21, 2022Publication date: June 30, 2022Inventors: PANFENG ZHOU, Vivek KANDIYANALLUR, Colin FLORENDO, Robert SCHULZE, Zheng-wei SHE, Yanhong WANG, Amarnadh Sai ELURI
-
Patent number: 11372845Abstract: 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: GrantFiled: June 5, 2020Date of Patent: June 28, 2022Assignee: SAP SEInventors: Deepak Shrivastava, Chaitanya Gottipati, Colin Florendo, Rolando Blanco, Michael Muehle, Awisha Makwana
-
Patent number: 11308047Abstract: 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: GrantFiled: March 12, 2020Date of Patent: April 19, 2022Assignee: SAP SEInventors: Panfeng Zhou, Vivek Kandiyanallur, Colin Florendo, Robert Schulze, Zheng-Wei She, Yanhong Wang, Amarnadh Sai Eluri
-
Publication number: 20220092057Abstract: 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: ApplicationFiled: December 2, 2021Publication date: March 24, 2022Inventors: Pushkar KHADILKAR, Colin FLORENDO, Amit PATHAK
-
Publication number: 20220027354Abstract: 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: ApplicationFiled: October 7, 2021Publication date: January 27, 2022Inventors: Colin FLORENDO, Mihnea ANDREI, Amit PATHAK, Robert SCHULZE, Adrian DRAGUSANU, Reza SHERKAT, Sebastian SEIFERT, Christian LEMKE
-
Patent number: 11194789Abstract: 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: GrantFiled: April 24, 2020Date of Patent: December 7, 2021Assignee: SAP SEInventors: Pushkar Khadilkar, Colin Florendo, Amit Pathak
-
Patent number: 11170023Abstract: 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: GrantFiled: February 28, 2017Date of Patent: November 9, 2021Assignee: SAP SEInventors: 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: 20210326263Abstract: 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: ApplicationFiled: April 16, 2020Publication date: October 21, 2021Inventors: Robert SCHULZE, Adrian DRAGUSANU, Anup GHATAGE, Colin FLORENDO, Mihnea ANDREI, Randall HAMMON, Sarika IYER, Simhachala Sasikanth GOTTAPU, Yanhong WANG