Patents by Inventor David G. Campbell

David G. Campbell 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: 11953478
    Abstract: Each of one or more unknown compounds are separated from a sample over a separation time period. Separated compounds are ionized, producing one or more compound precursor ions for each of the unknown compounds and a plurality of background precursor ions. A precursor ion mass spectrum is measured for the combined compound and background precursor ions at each time step of a plurality of time steps spread across the separation time period, producing a plurality of precursor ion mass spectra. One or more background precursor ions are selected from the plurality of precursor ion mass spectra that have a resolving power in a range below a threshold expected resolving power. A separation time is detected for an unknown compound when a decrease in an intensity measurement of the selected background precursor ions over a time period exceeds a threshold decrease in intensity with respect to time.
    Type: Grant
    Filed: March 10, 2020
    Date of Patent: April 9, 2024
    Assignee: DH Technologies Development Pte. Ltd.
    Inventors: Nic G. Bloomfield, Lyle Lorrence Burton, John Lawrence Campbell, David M. Cox, Eva Duchoslav, Adam San-Ho Lau
  • Patent number: 9608876
    Abstract: Embodiments render on a second data processing system, a result derived from a set of data by performing data processing across the first data processing system and a second data processing system. The amount of processing performed by the second data processing system can be dynamically adjusted. The first data processing system receives information indicating an amount of interface characteristics of the first data processing system as compared to interface characteristics of the second data processing system to be presented to a user. Data processing is dynamically allocated between the first data processing system and the second data processing system, based on an amount of interface characteristics of the first data processing system as compared to interface characteristics of the second data processing system to be presented to a user.
    Type: Grant
    Filed: January 6, 2014
    Date of Patent: March 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Patent number: 9501808
    Abstract: A method includes acts for a method of rendering a result derived from a set of data by performing data processing across first and second data processing systems. The amount of processing performed by the second data processing system can be dynamically adjusted depending on business factors. The first data processing system receives information defining how the result will be rendered. The first data processing system receives information indicating at least one business constraints affecting at least one of the first data processing system or the second data processing system. The first data processing system determines data processing needed for providing the result. The first data processing system dynamically allocates the needed data processing between the first data processing system and the second data processing system, based on the business constraints affecting at least one of the first data processing system or the second data processing system.
    Type: Grant
    Filed: January 6, 2014
    Date of Patent: November 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Patent number: 9483811
    Abstract: A method includes acts for rendering, on a data processing system, a result derived from a set of data by performing data processing across a first data processing system and a second data processing system. The amount of processing performed by the second data processing system can be dynamically adjusted depending on factors affecting the second data processing system. The first data processing system receives information defining how the result will be rendered at the second data processing system. The first data processing system receives information indicating factors affecting the second data processing system. The first data processing system dynamically allocates the needed data processing between the first data processing system and the second data processing system, based on factors affecting the second data processing system.
    Type: Grant
    Filed: January 6, 2014
    Date of Patent: November 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Patent number: 9275146
    Abstract: Semantic queries are expressed and executed within a relational database. This can be done by defining semantic rules applied to execute the semantic queries using table valued functions and common table expressions, and then simply calling the defined table valued functions to execute the queries.
    Type: Grant
    Filed: May 15, 2012
    Date of Patent: March 1, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Chris Demetrios Karkanias, Allen L. Brown, David G. Campbell, Brian S. Aust
  • Publication number: 20150195153
    Abstract: Embodiments render on a second data processing system, a result derived from a set of data by performing data processing across the first data processing system and a second data processing system. The amount of processing performed by the second data processing system can be dynamically adjusted. The first data processing system receives information indicating an amount of interface characteristics of the first data processing system as compared to interface characteristics of the second data processing system to be presented to a user. Data processing is dynamically allocated between the first data processing system and the second data processing system, based on an amount of interface characteristics of the first data processing system as compared to interface characteristics of the second data processing system to be presented to a user.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Publication number: 20150193902
    Abstract: A method includes acts for a method of rendering a result derived from a set of data by performing data processing across first and second data processing systems. The amount of processing performed by the second data processing system can be dynamically adjusted depending on business factors. The first data processing system receives information defining how the result will be rendered. The first data processing system receives information indicating at least one business constraints affecting at least one of the first data processing system or the second data processing system. The first data processing system determines data processing needed for providing the result. The first data processing system dynamically allocates the needed data processing between the first data processing system and the second data processing system, based on the business constraints affecting at least one of the first data processing system or the second data processing system.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Publication number: 20150193901
    Abstract: A method includes acts for rendering, on a data processing system, a result derived from a set of data by performing data processing across a first data processing system and a second data processing system. The amount of processing performed by the second data processing system can be dynamically adjusted depending on factors affecting the second data processing system. The first data processing system receives information defining how the result will be rendered at the second data processing system. The first data processing system receives information indicating factors affecting the second data processing system. The first data processing system dynamically allocates the needed data processing between the first data processing system and the second data processing system, based on factors affecting the second data processing system.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Publication number: 20150193275
    Abstract: A method may be practiced in a computing environment including a first data processing system and a second data processing system. The method includes acts for rendering, on the second data processing system, a result derived from a set of data by performing data processing across the first data processing system and the second data processing system where the amount of processing performed by the first data processing system and the second data processing system can be dynamically adjusted depending on the capabilities of the second data processing system or factors affecting the second data processing system.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Haroon Ahmed, David Paul Hill, Robert M. Bruckner, Patrick McKay, David G. Campbell
  • Patent number: 8751433
    Abstract: A semantic reasoning engine is described for performing probabilistic reasoning over a semantic graph in a time-efficient and viable manner. The semantic reasoning engine includes a data store that provides the semantic graph, where the semantic graph is formed by a plurality of concepts connected together via probabilistic assertions. The semantic reasoning engine operates by providing an answer to a query by recursively collapsing the semantic graph based on at least one collapsing rule.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: June 10, 2014
    Assignee: Microsoft Corporation
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Silvia C. Vega, Chris D. Karkanias, Allen L. Brown, Jr., David G. Campbell, Brian S. Aust
  • Patent number: 8495557
    Abstract: Described is a technology by which a system corresponding to a large scale application is built from subsystems that are differentiated from one another based on characteristics of each subsystem. Example characteristics include availability, reliability, redundancy, statefulness and/or performance. Subsystems are matched to known design patterns, based on each subsystem's individual characteristics. Each subsystem's characteristics are associated with that subsystem for subsequent use in operation of the system, e.g., for managing/servicing the subsystem. The known design patterns may be provided in a library, in a programming framework, in conjunction with a development tool, and/or as data associated with one or more operating system services, server systems and/or hosted services that include at least one configuration, policy and or schema. Certain design patterns and/or characteristics patterns may be blocked to prevent their usage.
    Type: Grant
    Filed: April 3, 2008
    Date of Patent: July 23, 2013
    Assignee: Microsoft Corporation
    Inventors: Anders B. Vinberg, David G. Campbell, James R. Hamilton, Donald F. Ferguson, Emre M. Kiciman
  • Publication number: 20120226710
    Abstract: Semantic queries are expressed and executed within a relational database. This can be done by defining semantic rules applied to execute the semantic queries using table valued functions and common table expressions, and then simply calling the defined table valued functions to execute the queries.
    Type: Application
    Filed: May 15, 2012
    Publication date: September 6, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Chris Demetrios Karkanias, Allen L. Brown, David G. Campbell, Brian S. Aust
  • Publication number: 20120158636
    Abstract: A semantic reasoning engine is described for performing probabilistic reasoning over a semantic graph in a time-efficient and viable manner. The semantic reasoning engine includes a data store that provides the semantic graph, where the semantic graph is formed by a plurality of concepts connected together via probabilistic assertions. The semantic reasoning engine operates by providing an answer to a query by recursively collapsing the semantic graph based on at least one collapsing rule.
    Type: Application
    Filed: December 15, 2010
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Silvia C. Vega, Chris D. Karkanias, Allen L. Brown, JR., David G. Campbell, Brian S. Aust
  • Patent number: 8204903
    Abstract: Semantic queries are expressed and executed within a relational database. This can be done by defining semantic rules applied to execute the semantic queries using table valued functions and common table expressions, and then simply calling the defined table valued functions to execute the queries.
    Type: Grant
    Filed: February 16, 2010
    Date of Patent: June 19, 2012
    Assignee: Microsoft Corporation
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Chris Demetrios Karkanias, Allen L. Brown, David G. Campbell, Brian S. Aust
  • Publication number: 20110320431
    Abstract: Described herein is using type information with a graph of nodes and predicates, in which the type information may be used to determine validity of (type check) a query to be executed against the graph. In one aspect, each node has a type, and each predicate indicates a valid relationship between two types of nodes. A type checking mechanism uses the type information to determine whether a query is valid, which may be the entire query prior to query processing/compilation time, or as the query is being composed by a user. One or more valid predicates for a given node may be discovered based upon the node type, such as discovered to assist the user during query composition. Also described is using the type information to optimize the query.
    Type: Application
    Filed: June 25, 2010
    Publication date: December 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Thomas E. Jackson, Stuart M. Bowers, Brian S. Aust, Chris D. Karkanias, Allen L. Brown, JR., David G. Campbell
  • Publication number: 20110202560
    Abstract: Semantic queries are expressed and executed within a relational database. This can be done by defining semantic rules applied to execute the semantic queries using table valued functions and common table expressions, and then simply calling the defined table valued functions to execute the queries.
    Type: Application
    Filed: February 16, 2010
    Publication date: August 18, 2011
    Applicant: Microsoft Corporation
    Inventors: Stuart M. Bowers, Thomas E. Jackson, Chris Demetrios Karkanias, Allen L. Brown, David G. Campbell, Brian S. Aust
  • Publication number: 20100287220
    Abstract: Described is a technology, such as for representing scientific data and information, in which a database table contains rows of type data representing types, and term data representing terms that inhabit the types. Types include composite types (e.g., that represent entities), and instances of relation types that express relationships between types, between a type and a term, or between terms. Types and/or terms may have multiple relationships with one another, and a relationship may span database tables. A new relationship may be established by adding a new row to the database table to represent a new relation term, along with one or more similar rows to represent the relation role terms associated with that relation term; relationships may be removed by removing rows. As a result, the database table may change its state rapidly, without needing to change the database schema.
    Type: Application
    Filed: May 5, 2009
    Publication date: November 11, 2010
    Applicant: Microsoft Corporation
    Inventors: Brian S. Aust, Allen L. Brown, JR., Chris D. Karkanias, David G. Campbell
  • Publication number: 20100241644
    Abstract: In one example, information may be stored in a relational database. The information in the database may define a graph, in the sense that the information may define a set of entities and relations between the entities. A user may want to query the information using a graph-based query language. A graph query engine may receive the query, and may convert the query into a relational query language, for execution by the relational database. The relational database may calculate views of the underlying tables. Each view corresponds to a particular relation, and the rows in each view are pairs of entities to which the relation applies. Since the views correspond very closely to the specification of a graph, the graph-based query may be translated into a relational query that performs relational algebraic operations on the views in order to answer the graph-based query.
    Type: Application
    Filed: March 19, 2009
    Publication date: September 23, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Thomas E. Jackson, Chris Demetrios Karkanias, David G. Campbell, Stuart M. Bowers
  • Publication number: 20090254552
    Abstract: Described is a technology by which a system corresponding to a large scale application is built from subsystems that are differentiated from one another based on characteristics of each subsystem. Example characteristics include availability, reliability, redundancy, statefulness and/or performance. Subsystems are matched to known design patterns, based on each subsystem's individual characteristics. Each subsystem's characteristics are associated with that subsystem for subsequent use in operation of the system, e.g., for managing/servicing the subsystem. The known design patterns may be provided in a library, in a programming framework, in conjunction with a development tool, and/or as data associated with one or more operating system services, server systems and/or hosted services that include at least one configuration, policy and or schema. Certain design patterns and/or characteristics patterns may be blocked to prevent their usage.
    Type: Application
    Filed: April 3, 2008
    Publication date: October 8, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Anders B. Vinberg, David G. Campbell, James R. Hamilton, Donald F. Ferguson, Emre M. Kiciman
  • Patent number: 7454462
    Abstract: A server federation cooperatively interacts to fulfill service requests by communicating using data structures that follow a schema in which the meaning of the communicated data is implied by the schema. Thus, in addition to the data being communicated, the meaning of the data is also communication allowing for intelligent decisions and inferences to be made based on the meaning of the data. Cooperative interaction is facilitated over a wide variety of networks by messaging through a common API that supports multiple transport mechanisms. Also, mid-session transfer between client devices is facilitated by schema and the transport-independent messaging structure. The user interfaces of the client devices will appear consistent even if the client devices have different user interface capabilities.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Joseph D. Belfiore, David G. Campbell, Steve Capps, Steven M. Cellini, Charles T. Fitzgerald, Vivek Gundotra, Mark H. Lucovsky, Paul A. Maritz, Amit Mital, Eric D. Rudder, Keith W. Short, Kaviraj Singh, Peter M. Spiro, Tandy W. Trower, David Vaskevitch