Patents by Inventor Christopher Lindblad

Christopher Lindblad 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: 11520593
    Abstract: A master database module is on a master computer node. Slave database modules are on slave computer nodes connected to the master computer node via a network. A distributed database includes executable code executed by processors on the master computer node and the slave computer nodes to receive a distributed database query at the master computer node. A query execution plan is prepared at the master computer node. The query execution plan is deployed on the slave computer nodes. The query execution plan is executed on the slave computer nodes. The slave computer nodes each perform a single node query execution analysis to selectively produce a query cancellation command. The query cancellation command is propagated to the master computer node and the slave computer nodes. The query execution plan is cancelled on the master computer node and the slave computer nodes.
    Type: Grant
    Filed: December 18, 2019
    Date of Patent: December 6, 2022
    Assignee: MARKLOGIC CORPORATION
    Inventors: Yun Zhang, Fayez Saliba, Christopher Lindblad, Joe Pasqua
  • Patent number: 11074156
    Abstract: A non-transitory computer readable storage medium has instructions executed by a processor to receive a debug adapter request. A HyperText Transfer Protocol (HTTP) request is generated from the debug adapter request. A debug request is derived from the HTTP request. Privilege to submit the debug request is confirmed. A string serialized JavaScript Object Notation (JSON) debug request is submitted to a JavaScript Engine. A string serialized JSON debug response from the JavaScript Engine is received. A JSON debug response is formed from the string serialized JSON debug response. An HTTP response is prepared from the JSON debug response. A debug adapter response based upon the HTTP response is submitted.
    Type: Grant
    Filed: April 6, 2020
    Date of Patent: July 27, 2021
    Assignee: MarkLogic Corporation
    Inventors: Christopher Lindblad, Nupoor Kotasthane
  • Patent number: 10769209
    Abstract: An apparatus has a processor and a memory connected to the processor. The memory stores instructions executed by the processor to ingest and store a semi-structured document within a database. A template is suggested based upon an evaluation of the semi-structured document. The template includes a context specification of a template path that corresponds to a path within the semi-structured document. The template further includes an index specification characterizing data to be extracted from the semi-structured document. A template selection is received. The template selection is executed to form an index entry for the semi-structured document within an index.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: September 8, 2020
    Assignee: MarkLogic Corporation
    Inventors: Fayez Saliba, Christopher Lindblad
  • Patent number: 10394889
    Abstract: An apparatus has a processor and a memory connected to the processor. The memory stores instructions executed by the processor to traverse paths of a document with semi-structured data. For each path that is unprotected, a term at a terminating node of the path is added to an index as a query term. For each path that is protected, a term at a terminating node of the path is combined with a permission to form a combined query term that is added to the index.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: August 27, 2019
    Assignee: MarkLogic Corporation
    Inventors: Christopher Lindblad, Haitao Wu
  • Publication number: 20150286688
    Abstract: A machine has a processor and a memory connected to the processor. The memory stores instructions executed by the processor to construct an object collection where each object in the object collection has a common identifier, a valid time start field, a valid time end field, a system time start field and a system time end field. The object collection includes split objects with a legacy object and an updated object with the system time start field set to the system time that the split objects are formed.
    Type: Application
    Filed: April 2, 2015
    Publication date: October 8, 2015
    Applicant: MarkLogic Corporation
    Inventors: Fei Xue, Gajanan Chinchwadkar, Christopher Lindblad
  • Patent number: 9092507
    Abstract: A non-transitory computer readable storage medium includes executable instructions to receive primary matched values with corresponding document identifications. The primary matched values correspond to a specified primary value, for example expressed in a search query. A secondary scalar index is scanned to match the document identifications with secondary matched values with corresponding secondary values. A tertiary scalar index is scanned to match the document identifications with tertiary matched values with corresponding tertiary values. The secondary values and tertiary values are provided as tuples. Each tuple has the specified primary value, a secondary value, a tertiary value and frequency indicia.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: July 28, 2015
    Assignee: MarkLogic Corporation
    Inventors: Mary Holstege, Christopher Lindblad
  • Patent number: 8935267
    Abstract: A method of operating a tree structured database includes receiving a document, forming a top-down tree characterizing the document, generating pre-computed indices characterizing the document, combining subsets of the pre-computed indices to dynamically create a table of information characterizing the document, and resolving a structured query language query against the table to form collected data.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: January 13, 2015
    Assignee: Marklogic Corporation
    Inventors: Mary Holstege, Christopher Lindblad, Gajanan Chinchwadkar
  • Patent number: 8892599
    Abstract: A method of processing a query in a distributed database implemented across a set of nodes includes receiving a query. The query is divided into split characterization queries. The split characterization queries are distributed to worker nodes. Each worker node stores a partition of the distributed database with encoded textual objects and pre-defined indices characterizing encoded textual object fragments. The split characterization queries are executed at the worker nodes to obtain preliminary information about query results. Executing the split characterization queries includes matching query fragments associated with the split characterization queries with encoded textual object fragments of the pre-defined indices to produce fragment matches representative of the size of the query results. For each split characterization query the preliminary information about query results includes a fragment count, a database partition identification, and a database host name.
    Type: Grant
    Filed: October 24, 2012
    Date of Patent: November 18, 2014
    Assignee: MarkLogic Corporation
    Inventors: Christopher Lindblad, Jane X. Chen
  • Publication number: 20140289185
    Abstract: A method includes storing a partition of a distributed document-oriented database in a computer. It is determined whether an assignment policy is unsatisfied, where the assignment policy specifies locations for documents within the distributed document-oriented database. A request for a transfer transaction to move a document from the computer is initiated when the assignment policy is unsatisfied. There is a wait for an indication of a transfer transaction commit or a transfer transaction abort. The transfer transaction is completed in the event of a transfer transaction commit, such that the document is moved from the computer. The transfer transaction is aborted in the event of a transfer transaction abort, such that the document remains at the computer.
    Type: Application
    Filed: March 20, 2013
    Publication date: September 25, 2014
    Applicant: MARKLOGIC CORPORATION
    Inventors: Christopher Lindblad, Wayne Feick, Haitao Wu
  • Publication number: 20140201211
    Abstract: A non-transitory computer readable storage medium includes executable instructions to receive primary matched values with corresponding document identifications. The primary matched values correspond to a specified primary value, for example expressed in a search query. A secondary scalar index is scanned to match the document identifications with secondary matched values with corresponding secondary values. A tertiary scalar index is scanned to match the document identifications with tertiary matched values with corresponding tertiary values. The secondary values and tertiary values are provided as tuples. Each tuple has the specified primary value, a secondary value, a tertiary value and frequency indicia.
    Type: Application
    Filed: January 15, 2013
    Publication date: July 17, 2014
    Applicant: MARKLOGIC CORPORATION
    Inventors: Mary Holstege, Christopher Lindblad
  • Publication number: 20140114994
    Abstract: A method of processing a query in a distributed database implemented across a set of nodes includes receiving a query. The query is divided into split characterization queries. The split characterization queries are distributed to worker nodes. Each worker node stores a partition of the distributed database with encoded textual objects and pre-defined indices characterizing encoded textual object fragments. The split characterization queries are executed at the worker nodes to obtain preliminary information about query results. Executing the split characterization queries includes matching query fragments associated with the split characterization queries with encoded textual object fragments of the pre-defined indices to produce fragment matches representative of the size of the query results. For each split characterization query the preliminary information about query results includes a fragment count, a database partition identification, and a database host name.
    Type: Application
    Filed: October 24, 2012
    Publication date: April 24, 2014
    Applicant: MARKLOGIC CORPORATION
    Inventors: Christopher Lindblad, Jane X. Chen
  • Publication number: 20130339370
    Abstract: A method of operating a tree structured database includes receiving a document, forming a top-down tree characterizing the document, generating pre-computed indices characterizing the document, combining subsets of the pre-computed indices to dynamically create a table of information characterizing the document, and resolving a structured query language query against the table to form collected data.
    Type: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Inventors: Mary Holstege, Christopher Lindblad, Gajanan Chinchwadkar
  • Publication number: 20130297657
    Abstract: A method for loading information into a tree structured database includes receiving a document and forming a top-down tree characterizing the document. Leaf nodes in the top-down tree are identified. Bottom-up indices are formed for the leaf nodes, where the bottom-up indices characterizes paths from selected leaf nodes to a root node of the top-down tree. The top-down tree and bottom-up indices are stored as separately searchable entities in the tree structured database.
    Type: Application
    Filed: May 1, 2012
    Publication date: November 7, 2013
    Inventors: Gajanan Chinchwadkar, Christopher Lindblad, Mary Holstege
  • Patent number: 7962474
    Abstract: A method for processing queries for a document of elements is provided. The document includes a plurality of subsections where each subsection includes at least a portion of elements in the document. The method comprises: receiving a query for a path of elements in the document of elements; determining a plurality of step queries from the query, each step query including at least a part of the path of elements; for each step query in the plurality of step queries, determining one or more subsections that include elements that correspond to a step query; and determining at least one subsection that includes the path of elements of the query. A result for the query is generated using the at least one subsection.
    Type: Grant
    Filed: March 10, 2010
    Date of Patent: June 14, 2011
    Assignee: Marklogic Corporation
    Inventors: Christopher Lindblad, Paul Pedersen
  • Patent number: 7756858
    Abstract: A method for processing queries for a document of elements is provided. The document includes a plurality of subsections where each subsection includes at least a portion of elements in the document. The method comprises: receiving a query for a path of elements in the document of elements; determining a plurality of step queries from the query, each step query including at least a part of the path of elements; for each step query in the plurality of step queries, determining one or more subsections that include elements that correspond to a step query; and determining at least one subsection that includes the path of elements of the query. A result for the query is generated using the at least one subsection.
    Type: Grant
    Filed: December 6, 2006
    Date of Patent: July 13, 2010
    Assignee: Mark Logic Corporation
    Inventors: Christopher Lindblad, Paul Pedersen
  • Publication number: 20100161584
    Abstract: A method for processing queries for a document of elements is provided. The document includes a plurality of subsections where each subsection includes at least a portion of elements in the document. The method comprises: receiving a query for a path of elements in the document of elements; determining a plurality of step queries from the query, each step query including at least a part of the path of elements; for each step query in the plurality of step queries, determining one or more subsections that include elements that correspond to a step query; and determining at least one subsection that includes the path of elements of the query. A result for the query is generated using the at least one subsection.
    Type: Application
    Filed: March 10, 2010
    Publication date: June 24, 2010
    Applicant: Mark Logic Corporation
    Inventors: Christopher Lindblad, Paul Pedersen
  • Publication number: 20080010256
    Abstract: Methods, systems, and computer-readable media for representing and querying positional information for a hierarchical document (such as an XML document) are disclosed. In one set of embodiments, at least one word in the hierarchical document is associated with one or more word positions, and at least one element in the hierarchical document is associated with one or more word position ranges. The word positions and word position ranges are analyzed to determine whether a particular word or phrase is a direct or indirect descendant of a particular element in the hierarchical document. In various embodiments, the word positions are indexed in a first index and the word position ranges are indexed in a second index. Thus, the analysis may be efficiently performed by intersecting the first and second indexes. In further embodiments, the word position ranges may be encoded in a space efficient format for storage or transmittal.
    Type: Application
    Filed: June 5, 2007
    Publication date: January 10, 2008
    Applicant: Mark Logic Corporation
    Inventors: Christopher Lindblad, Hui Li
  • Publication number: 20070271242
    Abstract: Embodiments of the present invention include storing a plurality of subtrees in a database, the plurality of subtrees representing one or more structured documents. At least one subtree has a birth timestamp indicating a time at which the at least one subtree was created. If a subtree has been obsoleted, the subtree has a death timestamp indicating a time at which the subtree was obsoleted. Embodiments further include receiving a database query comprising a query string and a query timestamp, the query timestamp indicating a historical time for which the query is to apply, and determining an intermediate result list of subtrees. The intermediate result list is filtered to generate a final result list responsive to the database query, the filtering comprising removing subtrees that do not have a birth timestamp, have a birth timestamp later than the query timestamp, or have a death timestamp earlier than the query timestamp.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 22, 2007
    Applicant: Mark Logic Corporation
    Inventor: Christopher Lindblad
  • Publication number: 20070168327
    Abstract: A method for processing queries for a document of elements is provided. The document includes a plurality of subsections where each subsection includes at least a portion of elements in the document. The method comprises: receiving a query for a path of elements in the document of elements; determining a plurality of step queries from the query, each step query including at least a part of the path of elements; for each step query in the plurality of step queries, determining one or more subsections that include elements that correspond to a step query; and determining at least one subsection that includes the path of elements of the query. A result for the query is generated using the at least one subsection.
    Type: Application
    Filed: December 6, 2006
    Publication date: July 19, 2007
    Applicant: Mark Logic Corporation
    Inventors: Christopher Lindblad, Paul Pedersen
  • Publication number: 20070136250
    Abstract: One aspect of the present invention is a system for classifying element nodes in a subtree-structured XML database. The XQE structural-textual classification system is sensitive to both the textual resemblance between document elements as well as the structural resemblance between document elements. The XQE structural-textual classification system might use the XQE parent-child index described in Lindblad II-A for the purpose of forming vectors of “terms” which encode both the structural and the textual content of XML elements. The element vectors are processed by a classifier to create class prototype vectors which can be used to classify elements as they are added to the database.
    Type: Application
    Filed: September 14, 2006
    Publication date: June 14, 2007
    Applicant: Mark Logic Corporation
    Inventors: Christopher Lindblad, Paul Pedersen