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: 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
  • Patent number: 11151126
    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: May 5, 2020
    Date of Patent: October 19, 2021
    Assignee: SAP SE
    Inventors: Colin Florendo, Mihnea Andrei, Amit Pathak, Robert Schulze, Adrian Dragusanu, Reza Sherkat, Sebastian Seifert, Christian Lemke
  • Publication number: 20210286777
    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: Application
    Filed: March 12, 2020
    Publication date: September 16, 2021
    Inventors: PANFENG ZHOU, Vivek Kandiyanallur, Colin Florendo, Robert Schulze, Zheng-wei She, Yanhong Wang, Amarnadh Sai Eluri
  • Patent number: 11086832
    Abstract: The subject matter disclosed herein relates to out of memory error handling in a database system. A database operation can be received by an in-memory database. The database operation can be for a database object stored in a database table that can be represented as a plurality of pages that can be persisted in a page chain. The in-memory database can reserve out of memory space sufficient to load a predetermined number of pages in the page chain into memory. The in-memory database can iteratively process each page in the page chain until completion of the database operation. The iterative process can include loading the page from persistence into memory of the in-memory database, performing at least a portion of the database operation using the loaded page, and unloading the page from the memory of the in-memory database. Related apparatus, systems, techniques, and articles are also described.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: August 10, 2021
    Assignee: SAP SE
    Inventors: Panfeng Zhou, Colin Florendo, Ivan Schreter, Thorsten Glebe, David Wein
  • Patent number: 10885074
    Abstract: Disclosed herein are system, method, and computer program product embodiments for providing a memory optimization system for inverted indexes. An embodiment operates by determining a value identifier corresponding to a value to be searched for in a database based on a query. From a lookup table, a prefix of an offset corresponding to a location in a compressed posting list that identifies row locations where the value is found in the database is retrieved. From a directory page, a suffix of the offset corresponding to the location is retrieved. The offset is generated based on the prefix and the suffix. From the posting list, row identifiers corresponding to the generated offset are retrieved. The retrieved row identifiers are returned responsive to the query.
    Type: Grant
    Filed: August 9, 2018
    Date of Patent: January 5, 2021
    Assignee: SAP SE
    Inventors: Calvin Hua, Reza Sherkat, Colin Florendo, Mihnea Andrei
  • Publication number: 20200387451
    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 for a row identifier (ROWID) of a row of a table of a database, wherein the lookup request identifies a row position of the ROWID. A page corresponding to the row position is identified from an address vector stored in memory storage. The identified page is loaded from the disk storage to the memory storage. The row position is identified within the page from the memory storage. The ROWID stored in the row position is identified within the page. The ROWID is returned responsive to the lookup request.
    Type: Application
    Filed: April 30, 2020
    Publication date: December 10, 2020
    Inventors: Amit PATHAK, Colin FLORENDO, Pushkar KHADILKAR, Robert SCHULZE
  • Publication number: 20200387495
    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: Application
    Filed: April 30, 2020
    Publication date: December 10, 2020
    Inventors: Amit Pathak, Colin Florendo, Pushkar Khadilkar, Robert Schulze
  • Publication number: 20200387509
    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: May 5, 2020
    Publication date: December 10, 2020
    Inventors: Colin Florendo, Mihnea ANDREI, Amit PATHAK, Robert SCHULZE, Adrian DRAGUSANU, Reza SHERKAT, Sebastian SEIFERT, Christian LEMKE
  • Publication number: 20200387488
    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: Application
    Filed: June 5, 2020
    Publication date: December 10, 2020
    Inventors: Mehul WAGLE, Colin FLORENDO, Pushkar KHADILKAR, Robert SCHULZE, Reza SHERKAT, Amit PATHAK
  • Publication number: 20200387502
    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 2, 2020
    Publication date: December 10, 2020
    Inventors: Colin FLORENDO, Surendra VISHNOI, Janardhan HUNGUND, Manuel CAROLI
  • Publication number: 20200387305
    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: April 24, 2020
    Publication date: December 10, 2020
    Inventors: Pushkar KHADILKAR, Colin FLORENDO, Amit PATHAK
  • Publication number: 20200387486
    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: Application
    Filed: June 5, 2020
    Publication date: December 10, 2020
    Inventors: Deepak SHRIVASTAVA, Chaitanya GOTTIPATI, Colin FLORENDO, Rolando BLANCO, Michael MUEHLE, Awisha MAKWANA
  • Publication number: 20200387511
    Abstract: Disclosed herein are system, method, and computer program product embodiments for identifying and loading a relevant page of a dictionary into temporary memory. An embodiment operates by receiving a query to be executed. The query includes a value for executing the query. The server queries a dictionary to retrieve a value ID. The server executes a binary search on a helper vector of the dictionary based on the value. The helper vector includes a last value for each page of a dictionary. The server identifies a page of the dictionary including the value. The server loads the page into temporary memory and retrieves the value ID of the value from the page. The server executes the query on a column using the value ID.
    Type: Application
    Filed: May 13, 2020
    Publication date: December 10, 2020
    Inventors: Reza SHERKAT, Colin FLORENDO, Chaitanya GOTTIPATI, Bernhard SCHEIRLE, Carsten THIEL, Prasanta GHOSH
  • Publication number: 20200387487
    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: Application
    Filed: April 24, 2020
    Publication date: December 10, 2020
    Inventors: Reza SHERKAT, Chaitanya GOTTIPATI, Colin FLORENDO, Martin HEIDEL
  • Patent number: 10769034
    Abstract: Objects across multiple database manipulation language (DML) redo log records are cached, during continuous replay of redo log records on a secondary system, for the same table partition to enable reuse of such cached objects. Later, these cached objects can be reused as they are accessed during the sequential processing of DML redo records for a specific table partition.
    Type: Grant
    Filed: March 7, 2017
    Date of Patent: September 8, 2020
    Assignee: SAP SE
    Inventors: Sarika Iyer, Vivek Kandiyanallur, Martin Heidel, Rolando Blanco, Stephan Kottler, Carsten Thiel, Peter Steinemann, Jörn Schmidt, Colin Florendo, Michael Muehle, Chaitanya Gottipati
  • Patent number: 10762107
    Abstract: A computer implemented method for updating a secondary database includes receiving transaction log information from a primary database system at a secondary database system. The transaction log information comprises a first marker identifying a beginning of an operation comprising a plurality of sub-operations and a second marker identifying an end of the operation. The transaction log information is sequentially parsed, a first marker is identified, and a lock state is created after replaying the first marker to ensure proper serialization of the plurality of sub-operations. The lock state is terminated after replaying the second marker. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: September 1, 2020
    Assignee: SAP SE
    Inventors: Colin Florendo, Chaitanya Gottipati, Michael Muehle, Nirvik Basak, Mihnea Andrei, Thomas Peh