Patents by Inventor Joshua M. Freedman

Joshua M. Freedman 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: 9559917
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
    Type: Grant
    Filed: July 15, 2013
    Date of Patent: January 31, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 9372555
    Abstract: Techniques are described for providing information about a current state that is represented with multiple attributes. In some situations, the providing includes a first computer receiving indications of multiple characterization modules, each characterization module executing on a computer to model an aspect of a current state related to that computer; receiving an indication of one of the multiple attributes of the represented current state; determining multiple of the characterization modules whose modeled aspects are related to the indicated one attribute; and gathering information about the modeled aspects related to the indicated one attribute from the determined characterization modules so that a value for the indicated one attribute can be generated based on the gathered information.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: June 21, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kenneth H. Abbott, Dan Newell, James O. Robarts, Joshua M. Freedman
  • Patent number: 8677248
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from first and second sources indications of an ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, the providing also includes, in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value, obtaining the value from the first source, and supplying a value obtained from the first source to the first client.
    Type: Grant
    Filed: May 14, 2009
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 8626712
    Abstract: A facility for logging context attributes is described. For each of a set of selected context attributes, the facility, determines a target frequency with which values of the selected context attribute are to be logged. For each of the set of selected context attributes, the facility obtains values of the selected context attribute at a frequency approximating the target frequency determined for the selected context attribute. Then, for each obtained context attribute value, the facility writes the obtained value to a storage device in a manner that identifies its context attribute.
    Type: Grant
    Filed: June 28, 2010
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Publication number: 20130304911
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
    Type: Application
    Filed: July 15, 2013
    Publication date: November 14, 2013
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 8489997
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 8346724
    Abstract: Techniques are described for providing information about a context that is modeled with multiple context attributes. In some situations, at least some of the context attributes have values used by modules for generating values of other context attributes, and the providing includes determining that a first module is generating a first value of a first of the context attributes of the modeled context and determining that a circular reference exists when it is determined that a module is to generate another value of the first context attribute such that the generating of the another value is caused by the generating of the first value of the first context attribute.
    Type: Grant
    Filed: December 8, 2008
    Date of Patent: January 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 8181113
    Abstract: Techniques are described providing mediated information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled current state, receiving from a second source an indication of a second value for the indicated state attribute, and, after an indication from a client for a value for the indicated state attribute, sending to the client a mediated value for the indicated state attribute that is produced by mediating between available values for the indicated state attribute including at least the first and second values.
    Type: Grant
    Filed: October 27, 2008
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Dan Newell, James O. Robarts, Joshua M. Freedman, Johnson Apacible
  • Patent number: 8126979
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations the providing includes receiving from a first client an indication of an interest in receiving values for an indicated one of the state attributes of the modeled current state, receiving from a second client an indication of an interest in receiving values for another of the state attributes of the modeled current state, and, in response to receiving a value for the indicated one attribute from a first source, determining that the first client has an interest in receiving the received value and supplying the received value to the first client.
    Type: Grant
    Filed: April 13, 2010
    Date of Patent: February 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7945859
    Abstract: A facility for exchanging context attributes is described. A characterization module receives an invocation request to provide an attribute value that was generated by a requesting attribute consumer. The received invocation request identifies the attribute whose value is to be provided. In response to receiving the invocation request, the characterization module provides a value for the identified attribute to the requesting attribute consumer.
    Type: Grant
    Filed: December 17, 2008
    Date of Patent: May 17, 2011
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Steven J. Fluegel, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7827281
    Abstract: Techniques for providing information about a current state modeled with multiple attributes is described. The providing of information can include receiving from a first source an indication of an ability to supply values for one of the state attributes of the modeled current state, and supplying to a client a value for the one attribute received from the first source. After the supplying of the value, the providing can include receiving from a second source a value supplying ability for the one attribute and supplying of a value for the one attribute based on values received for the one attribute from the first and second sources. After the supplying of that value, the providing can include receiving from the first source an indication of a value supplying inability for the one attribute and supplying a value for the one attribute received from the second source.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: November 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Dan Newell, James O. Robarts, Ken Swapp, Joshua M. Freedman
  • Publication number: 20100257235
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations the providing includes receiving from a first client an indication of an interest in receiving values for an indicated one of the state attributes of the modeled current state, receiving from a second client an indication of an interest in receiving values for another of the state attributes of the modeled current state, and, in response to receiving a value for the indicated one attribute from a first source, determining that the first client has an interest in receiving the received value and supplying the received value to the first client.
    Type: Application
    Filed: April 13, 2010
    Publication date: October 7, 2010
    Applicant: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Publication number: 20100217862
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
    Type: Application
    Filed: May 7, 2010
    Publication date: August 26, 2010
    Applicant: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7739607
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
    Type: Grant
    Filed: November 14, 2006
    Date of Patent: June 15, 2010
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7734780
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations the providing includes receiving from a first client an indication of an interest in receiving values for an indicated one of the state attributes of the modeled current state, receiving from a second client an indication of an interest in receiving values for another of the state attributes of the modeled current state, and, in response to receiving a value for the indicated one attribute from a first source, determining that the first client has an interest in receiving the received value and supplying the received value to the first client.
    Type: Grant
    Filed: March 17, 2008
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7689919
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from first and second sources indications of an ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, the providing also includes, in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value, obtaining the value from the first source, and supplying a value obtained from the first source to the first client.
    Type: Grant
    Filed: November 5, 2004
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Patent number: 7614001
    Abstract: Techniques are disclosed for creating, modifying, categorizing, modeling, distributing, purchasing, selling, and otherwise using themes and theme-related information. Themes can represent various types of contextual aspects or situations, and can model high-level concepts of activities or states not reflected in individual contextual attributes that each model a single aspect of the state of a user, their computing device, the surrounding physical environment, and/or the current cyber-environment. Such themes specify inter-relationships among a set of contextual attributes, and can have associated theme-related information such as theme-specific attributes, theme layouts used to present information and functionality, CSes that provide theme attribute values, and CCs that process theme information. Disclosed techniques can identify one or more themes that currently match the modeled context, select one of the matching themes as a current theme, and provide an appropriate response (e.g.
    Type: Grant
    Filed: June 8, 2006
    Date of Patent: November 3, 2009
    Assignee: Tangis Corporation Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts, Johnson Apacible
  • Publication number: 20090228552
    Abstract: Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from first and second sources indications of an ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, the providing also includes, in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value, obtaining the value from the first source, and supplying a value obtained from the first source to the first client.
    Type: Application
    Filed: May 14, 2009
    Publication date: September 10, 2009
    Applicant: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Publication number: 20090150535
    Abstract: Techniques are described for providing information about a context that is modeled with multiple context attributes. In some situations, at least some of the context attributes have values used by modules for generating values of other context attributes, and the providing includes determining that a first module is generating a first value of a first of the context attributes of the modeled context and determining that a circular reference exists when it is determined that a module is to generate another value of the first context attribute such that the generating of the another value is caused by the generating of the first value of the first context attribute.
    Type: Application
    Filed: December 8, 2008
    Publication date: June 11, 2009
    Applicant: Microsoft Corporation
    Inventors: Kenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. Robarts
  • Publication number: 20090094524
    Abstract: A facility for exchanging context attributes is described. A characterization module receives an invocation request to provide an attribute value that was generated by a requesting attribute consumer. The received invocation request identifies the attribute whose value is to be provided. In response to receiving the invocation request, the characterization module provides a value for the identified attribute to the requesting attribute consumer.
    Type: Application
    Filed: December 17, 2008
    Publication date: April 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Kenneth H. Abbott, Steven J. Fluegel, Joshua M. Freedman, Dan Newell, James O. Robarts