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: 9201874Abstract: 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: GrantFiled: February 25, 2008Date of Patent: December 1, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
-
Patent number: 8756257Abstract: 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: GrantFiled: November 6, 2012Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
-
Patent number: 8307016Abstract: 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: GrantFiled: February 25, 2008Date of Patent: November 6, 2012Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
-
Patent number: 8214340Abstract: 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: GrantFiled: January 28, 2011Date of Patent: July 3, 2012Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
-
Publication number: 20110131191Abstract: 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: ApplicationFiled: January 28, 2011Publication date: June 2, 2011Applicant: MICROSOFT CORPORATIONInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
-
Patent number: 7899798Abstract: 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: GrantFiled: February 25, 2008Date of Patent: March 1, 2011Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
-
Patent number: 7860900Abstract: 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: GrantFiled: February 25, 2008Date of Patent: December 28, 2010Assignee: Microsoft CorporationInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
-
Publication number: 20090216782Abstract: 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: ApplicationFiled: February 25, 2008Publication date: August 27, 2009Applicant: MICROSOFT CORPORATIONInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
-
Publication number: 20090216793Abstract: 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: ApplicationFiled: February 25, 2008Publication date: August 27, 2009Applicant: MICROSOFT CORPORATIONInventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
-
Publication number: 20090216778Abstract: 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: ApplicationFiled: February 25, 2008Publication date: August 27, 2009Applicant: MICROSOFT CORPORATIONInventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
-
Publication number: 20090216791Abstract: 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: ApplicationFiled: February 25, 2008Publication date: August 27, 2009Applicant: MICROSOFT CORPORATIONInventors: Clemens A. Szyperski, Quetzalcoatl Bradley, Joshua R. Williams, Christopher L. Anderson, Donald F. Box, Jeffrey S. Pinkston, Martin J. Gudgin
-
Patent number: 7058649Abstract: 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: GrantFiled: September 28, 2001Date of Patent: June 6, 2006Assignee: Intel CorporationInventors: Cameron J. Ough, Joshua R. Williams
-
Publication number: 20030065640Abstract: 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: ApplicationFiled: September 28, 2001Publication date: April 3, 2003Inventors: Cameron J. Ough, Joshua R. Williams
-
Publication number: 20030014528Abstract: 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: ApplicationFiled: July 12, 2001Publication date: January 16, 2003Inventors: Paul D. Crutcher, Xihong Wang, Joshua R. Williams