Patents by Inventor L. Gregory Meredith

L. Gregory Meredith 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: 8156472
    Abstract: A reflective process algebra called the ?-calculus facilitates the serialization of processes at the level of the reflective process algebra. The reflective process algebra because of its reflective properties, can be used on computing systems with finite resources. The reflective process calculus can be made to be sensitive to resources, such as memory and bandwidth, hence facilitating its use as a programming language at the machine level. The reflective process calculus causes the dual nature of a computation entity to be exposed. A name can be caused to become a process and a process can be caused to become a name.
    Type: Grant
    Filed: March 30, 2004
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Allen L. Brown, Jr., David Richter, George Moore
  • Patent number: 7702749
    Abstract: The joining of Web services is accomplished via a virtual contract through the use of safeties. The joining of Web services heightens the safe interoperability of Web services to create greater functionality than each Web service alone can provide. Web services are joined for interoperability when the type of a port of one Web service is compatible with the type of another port of another Web service.
    Type: Grant
    Filed: January 7, 2003
    Date of Patent: April 20, 2010
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Patent number: 7216335
    Abstract: A program includes expressions written in a process-based language. A process kernel executes sets of operational semantics rules governing the meanings of the expressions in the program. A first expression is parsed. The first expression describes that a process is a choice of two processes. The first process of the two processes expresses that a first query is submitted to a queue, after which the first process continues with a first set of actions. The second process of the two processes expresses that a second query is submitted to the queue, after which the second process continues with a second set of actions. The first expression reduces to a second expression. The second expression describes that a third query is submitted to the queue after which the first process runs in parallel with the second process if the third query is in canonical form.
    Type: Grant
    Filed: November 22, 2002
    Date of Patent: May 8, 2007
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Patent number: 7117487
    Abstract: A program that includes expressions written in a process-based language for representing protocol-based applications as processes is disclosed. The process kernel executes a set of equational laws governing structural equivalence of expressions written in the process-based language. A first expression is parsed. The first expression describes that a query is being executed in parallel with a process. The query has a head, which is empty, and a body, which contains a first name being bound to a second name. The first expression is translated as structurally equivalent to a second expression. The second expression describes that the query is executed in parallel with the process if the query is in canonical form. Each occurrence of the first name in the process is replaceable with the second name.
    Type: Grant
    Filed: November 22, 2002
    Date of Patent: October 3, 2006
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Patent number: 7055142
    Abstract: A program that includes expressions written in a process-based language for representing protocol-based applications as processes is disclosed. A process kernel executes the expressions in the program. The process kernel parses an expression to obtain syntactical elements that represent a queue, a set of queue delimiters, a query, a sequence delimiter, and other actions. The process kernel further translates the expression as a process whose first action is submitting the query as another process to the queue and after which the process continues with other actions. The query includes an organization scheme formed from a customizable, tag-based language that contains data and describes data.
    Type: Grant
    Filed: November 22, 2002
    Date of Patent: May 30, 2006
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Publication number: 20040064529
    Abstract: The joining of Web services is accomplished via a virtual contract through the use of safeties. The joining of Web services heightens the safe interoperability of Web services to create greater functionality than each Web service alone can provide. Web services are joined for interoperability when the type of a port of one Web service is compatible with the type of another port of another Web service.
    Type: Application
    Filed: January 7, 2003
    Publication date: April 1, 2004
    Applicant: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Publication number: 20030212672
    Abstract: A program that includes expressions—written in a process-based language for representing protocol-based applications as processes is disclosed. The process kernel executes a set of equational laws governing structural equivalence of expressions written in the process-based language. A first expression is parsed. The first expression describes that a query is being executed in parallel with a process. The query has a head, which is empty, and a body, which contains a first name being bound to a second name. The first expression is translated as structurally equivalent to a second expression. The second expression describes that the query is executed in parallel with the process if the query is in canonical form. Each occurrence of the first name in the process is replaceable with the second name.
    Type: Application
    Filed: November 22, 2002
    Publication date: November 13, 2003
    Applicant: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Publication number: 20030212540
    Abstract: A program that includes expressions written in a process-based language for representing protocol-based applications as processes is disclosed. A process kernel executes the expressions in the program. The process kernel parses an expression to obtain syntactical elements that represent a queue, a set of queue delimiters, a query, a sequence delimiter, and other actions. The process kernel further translates the expression as a process whose first action is submitting the query as another process to the queue and after which the process continues with other actions. The query includes an organization scheme formed from a customizable, tag-based language that contains data and describes data.
    Type: Application
    Filed: November 22, 2002
    Publication date: November 13, 2003
    Applicant: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Publication number: 20030212761
    Abstract: A program that includes expressions written in a process-based language for representing protocol-based applications as processes is disclosed. A process kernel executes the expressions in the program. The expressions specify the interactions of processes by allowing a named organizational scheme of data written in a customizable, tag-based language to be exchanged as a process among processes. The named organizational scheme of data being bound to the scopes of processes that send and receive the named organizational scheme of data.
    Type: Application
    Filed: November 22, 2002
    Publication date: November 13, 2003
    Applicant: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter
  • Publication number: 20030212671
    Abstract: A program includes expressions written in a process-based language. A process kernel executes sets of operational semantics rules governing the meanings of the expressions in the program. A first expression is parsed. The first expression describes that a process is a choice of two processes. The first process of the two processes expresses that a first query is submitted to a queue, after which the first process continues with a first set of actions. The second process of the two processes expresses that a second query is submitted to the queue, after which the second process continues with a second set of actions. The first expression reduces to a second expression. The second expression describes that a third query is submitted to the queue after which the first process runs in parallel with the second process if the third query is in canonical form.
    Type: Application
    Filed: November 22, 2002
    Publication date: November 13, 2003
    Applicant: Microsoft Corporation
    Inventors: L. Gregory Meredith, Steve Bjorg, David Richter