Patents by Inventor Joshua R. Williams

Joshua R. Williams 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: 9201874
    Abstract: A nominal type framework can be configured to efficiently correlate different nominal types together based on a minimum set of common type shapes or structures. In one implementation, a developer identifies a number of different nominal types of interest (source types), and identifies the minimum set of common type shapes to be accessed by an application program. The minimum set of common type shapes can then be used to create an intermediate type (target type) to which each of the other different source types can be mapped. For example, one or more proxies can be created that map shapes of the one or more source types to corresponding shapes of the created target type. The application program created by the developer, in turn, can access, operate on, or otherwise use the mapped data of each different source type through a single target type.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: December 1, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
  • Patent number: 8756257
    Abstract: A common data type structure can be used to correlate access requests between applications that implement data in accordance with different types or type structures. In one implementation, a common data structure includes schemes for operations, sequences, records, and atoms (i.e., undefined). The system can then map any type structure to the schemes of the common data structure. In operation, a request for data by an application can involve identifying one or more proxies used by an application to map the data to the common data structure. The proxies map the data to the common data structure based on the shape of the data (to the extent it can be identified). The proxies then can return one or more data structures that comprise the identified mapping information. The application can then perform operations directly on the received data structures.
    Type: Grant
    Filed: November 6, 2012
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
  • Patent number: 8307016
    Abstract: A common data type structure can be used to correlate access requests between applications that implement data in accordance with different types or type structures. In one implementation, a common data structure includes schemes for operations, sequences, records, and atoms (i.e., undefined). The system can then map any type structure to the schemes of the common data structure. In operation, a request for data by an application can involve identifying one or more proxies used by an application to map the data to the common data structure. The proxies map the data to the common data structure based on the shape of the data (to the extent it can be identified). The proxies then can return one or more data structures that comprise the identified mapping information. The application can then perform operations directly on the received data structures.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: November 6, 2012
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
  • Patent number: 8214340
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Publication number: 20110131191
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Application
    Filed: January 28, 2011
    Publication date: June 2, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Patent number: 7899798
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Patent number: 7860900
    Abstract: A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
  • Publication number: 20090216782
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Publication number: 20090216793
    Abstract: A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
  • Publication number: 20090216778
    Abstract: A common data type structure can be used to correlate access requests between applications that implement data in accordance with different types or type structures. In one implementation, a common data structure includes schemes for operations, sequences, records, and atoms (i.e., undefined). The system can then map any type structure to the schemes of the common data structure. In operation, a request for data by an application can involve identifying one or more proxies used by an application to map the data to the common data structure. The proxies map the data to the common data structure based on the shape of the data (to the extent it can be identified). The proxies then can return one or more data structures that comprise the identified mapping information. The application can then perform operations directly on the received data structures.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
  • Publication number: 20090216791
    Abstract: A nominal type framework can be configured to efficiently correlate different nominal types together based on a minimum set of common type shapes or structures. In one implementation, a developer identifies a number of different nominal types of interest (source types), and identifies the minimum set of common type shapes to be accessed by an application program. The minimum set of common type shapes can then be used to create an intermediate type (target type) to which each of the other different source types can be mapped. For example, one or more proxies can be created that map shapes of the one or more source types to corresponding shapes of the created target type. The application program created by the developer, in turn, can access, operate on, or otherwise use the mapped data of each different source type through a single target type.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
  • Patent number: 7058649
    Abstract: A system and method for delivering a file to a portal is disclosed. The invention supports a separation of content generation from presentation of content to deliver the file for presentation on a portal. By separation of content from presentation of content, a uniform presentation of a file can be rendered on the portal. The invention also supports multiple versions and renderings of the presentation at the portal level.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: June 6, 2006
    Assignee: Intel Corporation
    Inventors: Cameron J. Ough, Joshua R. Williams
  • Publication number: 20030065640
    Abstract: A system and method for delivering a file to a portal is disclosed. The invention supports a separation of content generation from presentation of content to deliver the file for presentation on a portal. By separation of content from presentation of content, a uniform presentation of a file can be rendered on the portal. The invention also supports multiple versions and renderings of the presentation at the portal level.
    Type: Application
    Filed: September 28, 2001
    Publication date: April 3, 2003
    Inventors: Cameron J. Ough, Joshua R. Williams
  • Publication number: 20030014528
    Abstract: Transparent access to networked resources identified with a resource locator that is at least partially obscured. When a resource locator is received, for example, by a proxy, client authorization to access the resource is validated. If the client is authorized, then the at least partial obscuring is do-obscured and the resource is retrieved from the resource manager according to the de-obscured resource locator. Even if the client is using a protocol that would normally identify the source of the resource, the resource is provided to the client as if it originated with the proxy. In such manner, the location of the resource manager may remain hidden.
    Type: Application
    Filed: July 12, 2001
    Publication date: January 16, 2003
    Inventors: Paul D. Crutcher, Xihong Wang, Joshua R. Williams