Patents by Inventor Cristian Petculescu
Cristian Petculescu 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: 9665259Abstract: The description relates to an interactive digital display. One example includes a display device configured to receive user input and recognize commands relative to data visualizations. The system also includes a graphical user interface configured to be presented on the display device that allows users to interact with the data visualizations via the user commands.Type: GrantFiled: June 11, 2014Date of Patent: May 30, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Bongshin Lee, Greg Smith, Amir Netz, Matthew J. Longley, Allison Tran, Cristian Petculescu, Shahar Prish, Diego Oppenheimer, Adam Wilson, Patrick Baumgartner, Pedram Faghihi Rezaei, Amy Forstrom, Eran Megiddo
-
Patent number: 9535983Abstract: Storing text samples in a manner that the text samples may be quickly searched. The text samples are assigned a text sample identifier and are each parsed to thereby extract text components from the text samples. Text components that have the same content are assigned the same text component identifier. For each parsed text component, a text component entry is created that includes the assigned text component identifier as well as the text sample identifier for the text sample from which the text component was parsed. A text sample entry group is created for each text sample that contains the text component entries in sequence for the text components found within the text sample. The text sample entry groups are stored so as to be scannable during a future search.Type: GrantFiled: October 29, 2013Date of Patent: January 3, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Petculescu, Marius Dumitru, Vasile Paraschiv, Amir Netz, Paul Jonathon Sanders
-
Patent number: 9430508Abstract: Implementing a database system using a plurality of sequentially ordered drives to store sequential portions of columns of the database, but where the database system is usable by a system configured for use with in-memory database systems. The method includes loading one or more columns of a database into main memory of a computing system as a table based database. The method further includes dividing a column of the database into sequential portions. Each of the sequential portions is of sufficient size to create efficient transfers using hard disk controllers to transfer an entire sequential portion. The method further includes writing each of the sequential portions sequentially onto sequentially ordered drives in a round robin fashion such that sequential portions of the column are on sequential drives.Type: GrantFiled: December 30, 2013Date of Patent: August 30, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Petculescu, Amir Netz
-
Publication number: 20160239513Abstract: Implementing a database system using a plurality of sequentially ordered drives to store sequential portions of columns of the database, but where the database system is usable by a system configured for use with in-memory database systems. The method includes loading one or more columns of a database into main memory of a computing system as a table based database. The method further includes dividing a column of the database into sequential portions. Each of the sequential portions is of sufficient size to create efficient transfers using hard disk controllers to transfer an entire sequential portion. The method further includes writing each of the sequential portions sequentially onto sequentially ordered drives in a round robin fashion such that sequential portions of the column are on sequential drives.Type: ApplicationFiled: April 25, 2016Publication date: August 18, 2016Inventors: Cristian Petculescu, Amir Netz
-
Publication number: 20160224604Abstract: The creation and updating of an association index that defines a linking between a child table and a parent table in a database system, and in which each of at least some of the parent table rows have an associated expression defining rules for mapping child table rows to the associated parent table row. The association index may be constructed with one pass of the parent table by evaluating the mapping definition to identifying associated child table rows. If there are such associations for a given parent table row, the linking module may record that association in an association index. If there are changes made that potentially invalidate an association status (whether an association or lack thereof), a re-evaluation module then determines which mapping definitions for which parent rows need to be re-evaluated, and potentially for which child table rows, rather than perform the entire process again.Type: ApplicationFiled: February 4, 2015Publication date: August 4, 2016Inventors: Cristian Petculescu, Marius Dumitru, Vasile Paraschiv, Amir Netz
-
Publication number: 20160224602Abstract: A computer-navigable trie structure used in order to represent predicates for matching foreign keys to primary rows in a primary table. The predicates may be wide ranging, and each may be represented by a corresponding descendant path of the trie structure, and defines which foreign keys are to be mapped to the particular row. The trie structure is built by incrementally augmenting the trie structure as each predicate is analyzed. During later use of the trie structure, each foreign key that is a candidate for mapping to one or more parent rows are evaluated. The foreign key is used to navigate through a set of one or more descendant paths of the computer-navigable trie structure. Matching parent rows may then be identified based on the identity of the navigated descendant paths. The foreign key may then be mapped to each of the one or more matching parent rows.Type: ApplicationFiled: January 30, 2015Publication date: August 4, 2016Inventors: Cristian Petculescu, Marius Dumitru, Vasile Paraschiv, Amir Netz
-
Publication number: 20160004706Abstract: Search suggestions are generated in manner that takes into account access-control information. A query can be received from a user of a search engine prior to initiating execution of the query. Data that is accessible to the user can be determined based on access information associated with the user and data. Subsequently, query suggestions can be generated dynamically based on data accessible to the user.Type: ApplicationFiled: July 1, 2014Publication date: January 7, 2016Inventors: Pedram Faghihi Rezaei, Patrick J. Baumgartner, Cristian Petculescu, Amir Netz, Chris A. Hays
-
Publication number: 20150379085Abstract: Linking of a child table to a parent table in a database system. For a given parent table row, an expression associated with the particular row is identified. The expression may be a semantic expression that comprises something different than or more than an equals expression or a contains expression. The expression might also take as input a field of the parent table other than the primary key of the parent table. For each of multiple (and potentially all) rows of a child table, the expression is evaluated against a foreign key of the corresponding row of the child table. If the foreign key matches the expression, an association is created, and perhaps saved, between the foreign key and the particular row of the parent table. The expressions may differ even down to the granularity of a single row in the parent table, thereby enabling perhaps custom per-row expressions.Type: ApplicationFiled: June 27, 2014Publication date: December 31, 2015Inventors: Cristian Petculescu, Marius Dumitru, Vasile Paraschiv, Amir Netz, Paul Jonathon Sanders
-
Patent number: 9087094Abstract: A scalable analysis system is described herein that performs common data analysis operations such as distinct counts and data grouping in a more scalable and efficient manner. The system allows distinct counts and data grouping to be applied to large datasets with predictable growth in the cost of the operation. The system dynamically partitions data based on the actual data distribution, which provides both scalability and uncompromised performance. The system sets a budget of available memory or other resources to use for the operation. As the operation progresses, the system determines whether the budget of memory is nearing exhaustion. Upon detecting that the memory used is near the limit, the system dynamically partitions the data. If the system still detects memory pressure, then the system partitions again, until a partition level is identified that fits within the memory budget.Type: GrantFiled: April 25, 2011Date of Patent: July 21, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Amir Netz, Cristian Petculescu
-
Publication number: 20150188978Abstract: Performing a distributed data operation. A method includes receiving a request for one or more data operations from a first computing system, such as a client. The method further includes determining a number of node endpoints that can be used to satisfy the query. Based on the number of node endpoints, the method further includes selecting a plan from the group consisting essentially of a flat data operation plan, a hierarchical data operation plan or a combination of partially flat/partially hierarchical data operation plan. The request for one or more data operations is serviced using the selected data operation plan.Type: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: Microsoft CorporationInventors: Cristian Petculescu, Amir Netz
-
Publication number: 20150186255Abstract: Reusing data in a memory buffer. A method includes reading data into a first portion of memory of a buffer implemented in the memory. The method further includes invalidating the data and marking the first portion of memory as free such that the first portion of memory is marked as being usable for storing other data, but where the data is not yet overwritten. The method further includes reusing the data in the first portion of memory after the data has been invalidated and the first portion of the memory is marked as free.Type: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: Microsoft CorporationInventors: Cristian Petculescu, Amir Netz
-
Publication number: 20150186410Abstract: Implementing a database system using a plurality of sequentially ordered drives to store sequential portions of columns of the database, but where the database system is usable by a system configured for use with in-memory database systems. The method includes loading one or more columns of a database into main memory of a computing system as a table based database. The method further includes dividing a column of the database into sequential portions. Each of the sequential portions is of sufficient size to create efficient transfers using hard disk controllers to transfer an entire sequential portion. The method further includes writing each of the sequential portions sequentially onto sequentially ordered drives in a round robin fashion such that sequential portions of the column are on sequential drives.Type: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: MICROSOFT CORPORATIONInventors: Cristian Petculescu, Amir Netz
-
Publication number: 20150120730Abstract: Storing text samples in a manner that the text samples may be quickly searched. The text samples are assigned a text sample identifier and are each parsed to thereby extract text components from the text samples. Text components that have the same content are assigned the same text component identifier. For each parsed text component, a text component entry is created that includes the assigned text component identifier as well as the text sample identifier for the text sample from which the text component was parsed. A text sample entry group is created for each text sample that contains the text component entries in sequence for the text components found within the text sample. The text sample entry groups are stored so as to be scannable during a future search.Type: ApplicationFiled: October 29, 2013Publication date: April 30, 2015Applicant: MICROSOFT CORPORATIONInventors: Cristian Petculescu, Marius Dumitru, Vasile Paraschiv, Amir Netz, Paul Jonathon Sanders
-
Publication number: 20150015504Abstract: The description relates to an interactive digital display. One example includes a display device configured to receive user input and recognize commands relative to data visualizations. The system also includes a graphical user interface configured to be presented on the display device that allows users to interact with the data visualizations via the user commands.Type: ApplicationFiled: June 11, 2014Publication date: January 15, 2015Applicant: MICROSOFT CORPORATIONInventors: Bongshin LEE, Greg SMITH, Amir NETZ, Matthew J. LONGLEY, Allison TRAN, Cristian PETCULESCU, Shahar PRISH, Diego OPPENHEIMER, Adam WILSON, Patrick BAUMGARTNER, Pedram Faghihi REZAEI, Amy FORSTROM, Eran MEGIDDO
-
Publication number: 20140280290Abstract: Suggesting replacements for search sub-strings to a user. A method includes receiving a query string from a user including a plurality of search sub-strings in the query string. The method further includes determining semantically valid replacements of one or more search sub-strings in the query string. The method further includes suggesting to the user semantically valid replacements of one or more of the search sub-strings to allow the user to modify the original query string.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Patrick J. Baumgartner, Amir Netz, Pedram Faghihi Rezaei, Christopher Alan Hays, Cristian Petculescu
-
Patent number: 8626725Abstract: The subject disclosure relates to efficient query processing over large scale data storage. An exemplary process includes retrieving a subset of columns implicated by a query as integer encoded and compressed sequences of values corresponding to different columns of data, defining query processing buckets that span over the subset of columns based on changes of compression type occurring in the integer encoded and compressed sequences of values of the subset of data and processing the query in memory on a bucket by bucket basis and processing the query based on type of current bucket when processing the integer encoded and compressed sequences of values. The column based organization of the data, and the application of a hybrid run length encoding and bit packing technique, enable a highly efficient and speedy query response in real-time.Type: GrantFiled: November 14, 2008Date of Patent: January 7, 2014Assignee: Microsoft CorporationInventors: Amir Netz, Cristian Petculescu
-
Patent number: 8478775Abstract: The subject disclosure relates to querying of column based data encoded structures enabling efficient query processing over large scale data storage, and more specifically with respect to complex queries implicating filter and/or sort operations for data over a defined window. In this regard, in various embodiments, a method is provided that avoids scenarios involving expensive sorting of a high percentage of, or all, rows, either by not sorting any rows at all, or by sorting only a very small number of rows consistent with or smaller than a number of rows associated with the size of the requested window over the data. In one embodiment, this is achieved by splitting an external query request into two different internal sub-requests, a first one that computes statistics about distribution of rows for any specified WHERE clauses and ORDER BY columns, and a second one that selects only the rows that match the window based on the statistics.Type: GrantFiled: January 30, 2009Date of Patent: July 2, 2013Assignee: Microsoft CorporationInventors: Amir Netz, Cristian Petculescu, Adrian Ilcu Predescu, Marius Dumitru
-
Patent number: 8452737Abstract: The subject disclosure relates to column based data encoding where raw data to be compressed is organized by columns, and then, as first and second layers of reduction of the data size, dictionary encoding and/or value encoding are applied to the data as organized by columns, to create integer sequences that correspond to the columns. Next, a hybrid greedy run length encoding and bit packing compression algorithm further compacts the data according to an analysis of bit savings. Synergy of the hybrid data reduction techniques in concert with the column-based organization, coupled with gains in scanning and querying efficiency owing to the representation of the compact data, results in substantially improved data compression at a fraction of the cost of conventional systems.Type: GrantFiled: January 10, 2012Date of Patent: May 28, 2013Assignee: Microsoft CorporationInventors: Amir Netz, Cristian Petculescu, Ioan Bogdan Crivat
-
Patent number: 8380748Abstract: Computer-readable media, systems, and methods for building a multidimensional data cube having one or more high-cardinality attributes are described. In embodiments, data is extracted from one or more databases. It is determined that one or more instances of the data are fact data and one or more instances of the data are dimension data. Each member of the fact data is one instance of a dimension and each instance of the dimension data includes an attribute for grouping the fact data. Moreover, in embodiments it is determined that one or more instances of the dimension data are high-cardinality attributes. The one or more high-cardinality attributes are processed with fact data and stored in fact tables on a computer storage medium.Type: GrantFiled: March 5, 2008Date of Patent: February 19, 2013Assignee: Microsoft CorporationInventors: Alexander Berger, Mosha Pasumansky, Amir Netz, Akshai M. Mirchandani, Marius Dumitru, Cristian Petculescu
-
Publication number: 20120271845Abstract: A scalable analysis system is described herein that performs common data analysis operations such as distinct counts and data grouping in a more scalable and efficient manner. The system allows distinct counts and data grouping to be applied to large datasets with predictable growth in the cost of the operation. The system dynamically partitions data based on the actual data distribution, which provides both scalability and uncompromised performance. The system sets a budget of available memory or other resources to use for the operation. As the operation progresses, the system determines whether the budget of memory is nearing exhaustion. Upon detecting that the memory used is near the limit, the system dynamically partitions the data. If the system still detects memory pressure, then the system partitions again, until a partition level is identified that fits within the memory budget.Type: ApplicationFiled: April 25, 2011Publication date: October 25, 2012Applicant: Microsoft CorporationInventors: Amir Netz, Cristian Petculescu