Patents by Inventor A. A. Hopeman

A. A. Hopeman 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: 10810198
    Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.
    Type: Grant
    Filed: March 12, 2018
    Date of Patent: October 20, 2020
    Assignee: Oracle International Corporation
    Inventors: Albert Hopeman, IV, Ekrem S. C. Soylemez, Martin Roth
  • Patent number: 10558659
    Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: February 11, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Albert Hopeman, Martin Roth, Ekrem Soylemez, Adam Kociubes
  • Publication number: 20190095486
    Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.
    Type: Application
    Filed: March 12, 2018
    Publication date: March 28, 2019
    Inventors: Albert Hopeman, IV, Ekrem S.C. Soylemez, Martin Roth
  • Publication number: 20180081939
    Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column.
    Type: Application
    Filed: September 16, 2016
    Publication date: March 22, 2018
    Inventors: Albert Hopeman, Martin Roth, Ekrem Soylemez, Adam Kociubes
  • Patent number: 9740718
    Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.
    Type: Grant
    Filed: September 20, 2013
    Date of Patent: August 22, 2017
    Assignee: Oracle International Corporation
    Inventors: Albert A. Hopeman, IV, Martin Roth, Ekrem S. C. Soylemez
  • Patent number: 9195699
    Abstract: A method and data structure is described that builds summary information using processor time that is usually proportional to the size of input data and a depth of hierarchies for a plurality of attributes. The output of computation is stored in a smaller area by eliminating redundant storage and computation. An index is generated which includes tuples or rows that include lower bound values for each of the attributes, values of children of the lower bound values based on the hierarchies of the attributes, and coverage class indicators of the coverage classes of the children.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: November 24, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Caleb Welton, Ekrem Soylemez, Albert A. Hopeman
  • Publication number: 20150088885
    Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.
    Type: Application
    Filed: September 20, 2013
    Publication date: March 26, 2015
    Inventors: ALBERT A. HOPEMAN IV, MARTIN ROTH, EKREM S.C. SOYLEMEZ
  • Patent number: 8612421
    Abstract: Predicate abduction involves identifying, from a database statement, predicates on attributes of dimensional data, and applying those predicates to corresponding measure data so that only measure values are fetched and returned for dimension values that satisfy the predicate. In contrast to processing joins of relational data, the subset of the measure data is determined without needing to join a fact table with a dimension table and, therefore, without processing every fact record to determine which measure values are associated with records that satisfy the condition. Buffer reuse involves storing in buffers the “domains” of queries executing on multidimensional data. Responsive to detecting that execution of a database statement requires multiple iterations of extracting the same multidimensional data, the data is extracted during the first iteration and stored in a buffer so that, for each subsequent iteration, the buffer-stored data is accessed rather than re-extracting the data.
    Type: Grant
    Filed: September 16, 2004
    Date of Patent: December 17, 2013
    Assignee: Oracle International Corporation
    Inventors: Matthew Dombroski, Caleb Welton, Ekrem Soylemez, Albert A. Hopeman, IV
  • Patent number: 8200612
    Abstract: In processing a query on multidimensional data in a multidimensional schema, a multidimensional database server performs various processes to limit the amount of data that is extracted from the database and presented to a relational database server in response to the request. A subset of data is identified to extract from the multidimensional data, based on the query. In various embodiments, cell-filtering, measure-filtering, and column-filtering criteria identified from the query are used to filter the subset of data, in order to return a minimized set of multidimensional data values from the subset of data. Therefore, computational resources are conserved with respect to further processing by the relational database server in response to the query.
    Type: Grant
    Filed: May 6, 2004
    Date of Patent: June 12, 2012
    Assignee: Oracle International Corporation
    Inventors: Ekrem Soylemez, Caleb Welton, Gregory Dorman, Matthew Dombroski, Albert A. Hopeman, IV, Igor Lubashev, Lev Margulis, Christopher Kearney, James Carey
  • Patent number: 7165065
    Abstract: In a multidimensional database, an aggregation operation is performed in an optimal manner by storing the values included in the/aggregation operation on the same disk page. A sparsity manager determines aggregate values that are computed from other data values during the aggregation operation. Each aggregate value is associated with one or more data values that are used during the aggregation operation to compute the aggregate value. The sparsity manager stores the associated data values in proximity to each other, such as on the same disk page, so that multiple disk page fetches may not be required for the same set of data values during the aggregation operation. The data values used in the aggregation operation can therefore be fetched once from a disk page, and thereafter are found in memory, such as on a cache page corresponding to the disk page. In this manner, multiple fetches for the same disk page during the aggregation operation are avoided.
    Type: Grant
    Filed: July 14, 2000
    Date of Patent: January 16, 2007
    Assignee: Oracle Corporation
    Inventors: Caleb E. Welton, Albert A. Hopeman, Andrew H. Goldberg
  • Publication number: 20060004885
    Abstract: Multiple writers can make permanent changes to data objects, while the performance is improved and data consistency is ensured. A database management system comprises a database containing a plurality of objects, and, possibly, a plurality of analytic workspaces, each analytic workspace containing at least some of the plurality of objects in the database, wherein changes made to a an object in a database private view are not written to a corresponding object in the database unless write access on the object has been given to the database private view, and wherein the database management system is operable to give write access on each of the plurality of objects in the database to database private views individually.
    Type: Application
    Filed: June 30, 2004
    Publication date: January 5, 2006
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Igor Lubashev, James Carey, Albert Hopeman, Bruce Golbus, Ekrem Soylemez, Zhiqi Qiu
  • Patent number: 6898608
    Abstract: An analytical workspace includes a set of data on which what-if analysis is performed, which is stored persistently and managed in a relational database system. The data may be stored as a binary large object in relational tables, and may comprise a portion of a multidimensional cube. A series of commands on the analytical workspace is received by a database server. In response to the commands, changes are made to the data in temporary storage. Redo information is not generated at this time in association with such changes. Hence, these changes are not made permanent at this time. At some point, the server may receive an update command to make the changes permanent. In response to the update command, redo information is generated for the changes reflected in the temporary storage and the changes are made permanent, in accordance with relational database properties.
    Type: Grant
    Filed: April 16, 2003
    Date of Patent: May 24, 2005
    Assignee: Oracle International Corporation
    Inventors: A. A. Hopeman, James Carey, Ekrem Soylemez, Bruce Golbus, Igor Lubashev, Zhiqi Qiu
  • Publication number: 20050065910
    Abstract: A method and data structure is described that builds summary information using processor time that is usually proportional to the size of input data and a depth of hierarchies for a plurality of attributes. The output of computation is stored in a smaller area by eliminating redundant storage and computation. An index is generated which includes tuples or rows that include lower bound values for each of the attributes, values of children of the lower bound values based on the hierarchies of the attributes, and coverage class indicators of the coverage classes of the children.
    Type: Application
    Filed: August 6, 2004
    Publication date: March 24, 2005
    Inventors: Caleb Welton, Ekrem Soylemez, A.A. Hopeman
  • Publication number: 20050033741
    Abstract: Predicate abduction involves identifying, from a database statement, predicates on attributes of dimensional data, and applying those predicates to corresponding measure data so that only measure values are fetched and returned for dimension values that satisfy the predicate. In contrast to processing joins of relational data, the subset of the measure data is determined without needing to join a fact table with a dimension table and, therefore, without processing every fact record to determine which measure values are associated with records that satisfy the condition. Buffer reuse involves storing in buffers the “domains” of queries being executed on multidimensional data. In response to detecting that execution of a database statement requires multiple iterations of extracting the same multidimensional data, the data is extracted during the first iteration and stored in a buffer so that, for each subsequent iteration, the data in the buffer is accessed rather than again extracting the data.
    Type: Application
    Filed: September 16, 2004
    Publication date: February 10, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Matthew Dombroski, Caleb Welton, Ekrem Soylemez, Albert Hopeman
  • Patent number: 6845430
    Abstract: In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases. In one embodiment, a dedicated collector reclaims cache memory blocks for the processing threads. By utilizing a dedicated collector thread, any processing penalty encountered during the reclamation process is absorbed by the dedicated collector.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: January 18, 2005
    Assignee: Oracle International Corporation
    Inventors: Albert A. Hopeman, James E. Carey, Bruce F. Golbus
  • Publication number: 20040236767
    Abstract: In processing a query on multidimensional data in a multidimensional schema, a multidimensional database server performs various processes to limit the amount of data that is extracted from the database and presented to a relational database server in response to the request. A subset of data is identified to extract from the multidimensional data, based on the query. In various embodiments, cell-filtering, measure-filtering, and column-filtering criteria identified from the query are used to filter the subset of data, in order to return a minimized set of multidimensional data values from the subset of data. Therefore, computational resources are conserved with respect to further processing by the relational database server in response to the query.
    Type: Application
    Filed: May 6, 2004
    Publication date: November 25, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ekrem Soylemez, Caleb Welton, Gregory Dorman, Matthew Dombroski, Albert A. Hopeman, Igor Lubashev, Lev Margulis, Christopher Kearney, James Carey
  • Publication number: 20030204534
    Abstract: An analytical workspace includes a set of data on which what-if analysis is performed, which is stored persistently and managed in a relational database system. The data may be stored as a binary large object in relational tables, and may comprise a portion of a multidimensional cube. A series of commands on the analytical workspace is received by a database server. In response to the commands, changes are made to the data in temporary storage. Redo information is not generated at this time in association with such changes. Hence, these changes are not made permanent at this time. At some point, the server may receive an update command to make the changes permanent. In response to the update command, redo information is generated for the changes reflected in the temporary storage and the changes are made permanent, in accordance with relational database properties.
    Type: Application
    Filed: April 16, 2003
    Publication date: October 30, 2003
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: A. A. Hopeman, James Carey, Ekrem Soylemez, Bruce Golbus, Igor Lubashev, Zhiqi Qiu
  • Publication number: 20030196042
    Abstract: In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases. In one embodiment, a dedicated collector reclaims cache memory blocks for the processing threads. By utilizing a dedicated collector thread, any processing penalty encountered during the reclamation process is absorbed by the dedicated collector.
    Type: Application
    Filed: June 2, 2003
    Publication date: October 16, 2003
    Applicant: ORACLE International Corporation
    Inventors: Albert A. Hopeman, James E. Carey, Bruce F. Golbus
  • Patent number: 6606621
    Abstract: A method for aggregating sparse data in a multidimensional array by using a composite join hierarchy created by segmenting the data so that each segment of the hierarchy processed is smaller and more likely to fit in memory. The method employs a recursive sub-cubing mechanism wherein an n-dimensional cube is broken into a number of (n−1)-dimensional cubes and each of those cubes are solved as (n−2)-dimensional cubes etc. Within each division, the processing is segmented by hierarchy level so a dimension with three hierarchy levels (for example, month-quarter-year) would form three separate subcubes with one less dimension. This algorithm produces one ‘worklist’ for every combination of hierarchy levels in the cube. Each of these worklists is represented as a bitmap of the cells contained within it and may be used as a basis of generating more aggregate worklists.
    Type: Grant
    Filed: May 30, 2001
    Date of Patent: August 12, 2003
    Assignee: Oracle International Corp.
    Inventors: Albert A. Hopeman, Caleb E. Welton, Grant E. Hicks
  • Patent number: 6584475
    Abstract: Growth of databases in read-repeatable environments is controlled by an erase list maintained for each generation of the database. The erase list identifies pages which are retained in the database to facilitate read repeatability. The system uses the erase list to identify obsolete pages which can be removed from the database. The removed pages can then be reclaimed for re-use by a subsequent generation.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: June 24, 2003
    Assignee: Oracle International Corporation
    Inventors: James E. Carey, Charles P. Venezia, Jr., Albert Hopeman