Patents by Inventor David G. Thaler
David G. Thaler 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: 8116234Abstract: A diagnostic tool for identifying a configuration of a private network that may disrupt operations involving communication between two devices on the network. The tool, when run on a device in the network, can identify a “double NAT” configuration in which the device may be separated from other devices on the private network by a NAT device. The tool, when run on a computing device, identifies a NAT device, such as a router, to which the device is connected. The tool then identifies a list containing one or more other devices that may be connected to the NAT device. The tool tests whether these other devices also perform NAT functions and are on the private network. Both the NAT device and the devices that may be connected to the NAT device are identified and a determination is made of whether those devices are on the private network by sending requests using one or more protocols that devices on a private network conventionally use but are not conventionally used by devices on other networks.Type: GrantFiled: January 31, 2011Date of Patent: February 14, 2012Assignee: Microsoft CorporationInventors: Tin Qian, David G. Thaler, Ari Pekka Niikkonen
-
Patent number: 8036140Abstract: Methods and computer readable mediums are described that facilitate inviting user entities on a network. The method may include initiating a first application for sending an invitation by a first user entity on a first endpoint, selecting a second user entity to receive the invitation, and selecting an activity. The method may also include sending from the first endpoint to the second user entity the invitation to participate in the activity if the first endpoint determines the activity is supported by a computing application on the first endpoint.Type: GrantFiled: April 22, 2005Date of Patent: October 11, 2011Assignee: Microsoft CorporationInventors: Ravi Rao, Eliot John Flannery, Tomer Weisberg, Upshur Warren Parks, III, Rohit Gupta, Kevin R. Tao, Anirudh Anirudh, David G. Thaler, Andre R. Classen, Todd R. Manion
-
Patent number: 7814214Abstract: Systems and methods are described that facilitate the management of contact information, at least some of the contact information related to entities in a serverless, peer-to-peer system. A contact store may store information regarding which other entities of a plurality of other entities are authorized to monitor presence of a user entity. Presence of an entity may generally indicate the willingness and/or ability of the entity to communicate and/or collaborate with other entities, for example. The contact store may also store information regarding which other entities of the plurality of other entities the presence of which should be monitored by the system. A user entity may be able to add contacts to and/or delete contacts from the contact store, for example.Type: GrantFiled: June 12, 2009Date of Patent: October 12, 2010Assignee: Microsoft CorporationInventors: Andre R. Classen, Anirudh Anirudh, David G. Thaler, Kevin R. Tao, Ravi T. Rao, Rohit Gupta, Tomer Weisberg, Upshur Warren Parks, III
-
Patent number: 7752253Abstract: A set of collaborative contacts may be selected with an invitation user interface. An invitation to participate in a collaborative activity may be sent to the selected contacts from the invitation user interface or from a collaborative application. The invitation may be received by a collaborative services platform. A user of the collaborative services platform may be presented with the invitation along with an ability to choose one of accept, decline and ignore in response to the invitation. The user may choose to accept, decline or explicitly ignore the invitation, and a response may be sent to the sender of the invitation indicating the user's choice. An application programming interface for a collaborative invitation service of the collaborative services platform may include an invitation element, a send invitation element, a respond to invitation element and a cancel invitation element. The cancel invitation element may be used to cancel issued invitations.Type: GrantFiled: April 25, 2005Date of Patent: July 6, 2010Assignee: Microsoft CorporationInventors: Todd R. Manion, David G. Thaler, Rohit Gupta, Sandeep K. Singhal, Ravi T. Rao, Tomer Weisberg
-
Publication number: 20100146120Abstract: A computer configured to provide caller-specific network views, even when multiple callers are active on the computer. The operating system of the computer is configured to selectively perform network operations based on the identity of the caller. Network views are implemented by making subsets of networking objects available to each caller, such as a user or an application. Components that execute networking functions can, based on the identify of the caller, select networking objects to use in performing a requested function or verify that required networking objects are available to the caller. The network views may be stored as visibility masks in a database. APIs may be provided to create, modify, and delete visibility masks in the database. The masks may support arbitrary and potentially overlapping subsets of networking objects for the callers.Type: ApplicationFiled: December 9, 2008Publication date: June 10, 2010Applicant: MICROSOFT CORPORATIONInventors: Dmitry A. Anipko, David G. Thaler
-
Patent number: 7617281Abstract: Collaboration between collaborative endpoints may be facilitated by a serverless publication service of a collaborative services platform. The serverless publication service may be configured to accept communicative connections from the collaborative endpoints. Users of the collaborative services platform may publish their associated collaborative presences with the serverless publication service. For example, the collaborative presence of a user may include information with respect to valid collaborative endpoints for the user and collaborative capabilities at those endpoints. Subscriptions to published collaborative presences may be placed through the serverless publication service. A collaborative presence subscribe message may specify a subscription to a collaborative presence of a user. Upon receipt of a presence subscribe message, if there is no subscription policy with respect to the sender, the recipient may be queried for a subscription policy with respect to the sender.Type: GrantFiled: April 25, 2005Date of Patent: November 10, 2009Assignee: Microsoft CorporationInventors: Todd R. Manion, David G. Thaler, Rohit Gupta, Sandeep K. Singhal, Ravi T. Rao, Radu Simionescu
-
Publication number: 20090248868Abstract: Systems and methods are described that facilitate the management of contact information, at least some of the contact information related to entities in a serverless, peer-to-peer system. A contact store may store information regarding which other entities of a plurality of other entities are authorized to monitor presence of a user entity. Presence of an entity may generally indicate the willingness and/or ability of the entity to communicate and/or collaborate with other entities, for example. The contact store may also store information regarding which other entities of the plurality of other entities the presence of which should be monitored by the system. A user entity may be able to add contacts to and/or delete contacts from the contact store, for example.Type: ApplicationFiled: June 12, 2009Publication date: October 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Andre R. Classen, Anirudh Anirudh, David G. Thaler, Kevin R. Tao, Ravi T. Rao, Rohit Gupta, Tomer Weisberg, Upshur Warren Parks, III
-
Patent number: 7594031Abstract: A method of determining a source address to publish and a destination address to use for a network, including a PNRP network, is disclosed such that the probability of reaching a network node without repeated re-tries is maximized.Type: GrantFiled: September 15, 2005Date of Patent: September 22, 2009Assignee: Microsoft CorporationInventors: Noah Horton, David G. Thaler
-
Patent number: 7590762Abstract: Discovery of a network to which a device is in communication and classifying the network is disclosed. The network may be classified as a network already known or a new network signature may be created where the network signature is made up of a network id, a link id and a hop id.Type: GrantFiled: December 7, 2005Date of Patent: September 15, 2009Assignee: Microsoft CorporationInventors: Aaron Cunningham, Alok Sinha, Bill Begorre, David G. Thaler, David Jones, Marieke I. Watson, Patrice L. Miner
-
Publication number: 20090222568Abstract: Disclosed are a connectivity platform that allows for proprietary connectivity modules to plug into the operating system and also allows the operating system users and various existing networking applications in the operating system that are authorized by those providers to use that connectivity via existing APIs without the need for the applications to change or for extra configuration of the application to be performed. In an example disclosed herein, the providers provide NAT or firewall traversal and implement the appropriate transport mechanism. This allows for applications and computing devices to communicate in environments where connectivity is prevented by intermediate systems.Type: ApplicationFiled: February 29, 2008Publication date: September 3, 2009Inventors: Dmitry A. Anipko, Deepak Bansal, Aaron J. Schrader, Benjamin M. Schultz, Rajesh Sundaram, David G. Thaler
-
Publication number: 20090222559Abstract: Disclosed are an approach form managing and assigning addresses in a connectivity platform that allows for proprietary connectivity modules (Providers) to plug into the operating system. In this disclosure, when a user/application/computing device, connects to another user on another computing device an address is generated for that user. However, because of a limited number of addresses that are available in an address space, it is necessary to ensure that a conflicting address is not present. To ensure this the connectivity platform determines if the address assigned is in conflict with another address associated with users that are located on the other computing devices. If an address is found to be in conflict the connectivity platform reassigns the address until a non-conflicting address is found. If a non-conflicting address cannot be found the connectivity platform blocks the connection between the user and the other user.Type: ApplicationFiled: March 17, 2008Publication date: September 3, 2009Applicant: Microsoft CorporationInventors: Dmitry Anipko, David G. Thaler, Deepak Bansal, Benjamin M. Schultz, Rajesh Sundaram
-
Patent number: 7571228Abstract: Systems and methods are described that facilitate the management of contact information, at least some of the contact information related to entities in a serverless, peer-to-peer system. A contact store may store information regarding which other entities of a plurality of other entities are authorized to monitor presence of a user entity. Presence of an entity may generally indicate the willingness and/or ability of the entity to communicate and/or collaborate with other entities, for example. The contact store may also store information regarding which other entities of the plurality of other entities the presence of which should be monitored by the system. A user entity may be able to add contacts to and/or delete contacts from the contact store, for example.Type: GrantFiled: April 22, 2005Date of Patent: August 4, 2009Assignee: Microsoft CorporationInventors: Andre R. Classen, Anirudh Anirudh, David G. Thaler, Kevin R. Tao, Ravi T. Rao, Rohit Gupta, Tomer Weisberg, Upshur Warren Parks, III
-
Patent number: 7568236Abstract: For a method and system for managing concurrent access to multiple resources, resources are assigned to sets in such a way that it is safe to concurrently access any combination of resources in a resource set. For each resource set, a virtual machine is defined and associated with the resource set. An application is assigned to a virtual machine. When an application requests access to a resource not in the application's virtual machine, access control lists are consulted to determine whether the access should be allowed, given the other resources already accessed by the application.Type: GrantFiled: March 31, 2005Date of Patent: July 28, 2009Assignee: Microsoft CorporationInventors: Abolade Gbadegesin, David G. Thaler
-
Patent number: 7529255Abstract: Communication functionality is described for conducting communication among a plurality of participants in peer-to-peer fashion. The communication functionality comprises peer-to-peer overlay functionality configured to establish a peer-to-peer overlay network that includes a plurality of participants. The peer-to-peer overlay functionality relies on endpoint provider functionality for physically exchanging information among the plurality of participants in the peer-to-peer overlay network. The endpoint provider functionality exchanges information using a transport mechanism. The transport mechanism accommodates multiple different transport protocols for exchanging information among the plurality of participants, allowing different pairs of participants to communicate with each other using different respective transport protocols.Type: GrantFiled: April 21, 2005Date of Patent: May 5, 2009Assignee: Microsoft CorporationInventors: Carmen Zlateff, Cesare J. Saretto, John S. Holmes, John R. Selbie, Ravi T. Rao, David G. Thaler, Scott A. Senkeresty
-
Patent number: 7350107Abstract: A network diagnostics system allows determining a root cause for a network problem caused by a local or a remote component of the network, wherein the network diagnostic system may receive the symptoms of such a problem from an application. The network diagnostic system uses a plurality of helper classes, each of the plurality of helper classes providing diagnostic information about an object or a class of objects on the network. Moreover, the network diagnostic system may also use one or more extensible helper classes that are designed to receive information from third party helper classes.Type: GrantFiled: April 29, 2005Date of Patent: March 25, 2008Assignee: Microsoft CorporationInventors: David G. Thaler, Alexandru Gavrilescu, Tin Qian
-
Publication number: 20080005345Abstract: A gateway device that interfaces an upstream network to one or more downstream networks and provides network address translation may disable network address translation when it is determined that network address translation is already being performed by a device upstream. The gateway device may analyze an address assigned to the upstream network port to determine if it is the range of IP addresses associated with network address translation, typically, 192.168.x.x. Alternately, the gateway device may disable network address translation responsive to a signal from either the device upstream or from an external system manager. DHCP may also be enabled or disabled in conjunction with network address translation.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: MICROSOFT CORPORATIONInventors: David A. Roberts, David G. Thaler, Glenn R. Ward
-
Patent number: 7257815Abstract: The present invention is directed to a method and system for managing concurrent access to multiple resources. Resources are assigned to sets in such a way that it is safe to concurrently access any combination of resources in a resource set. For each resource set, a virtual machine is defined and associated with the resource set. An application is assigned to a virtual machine. When an application requests access to a resource not in the application's virtual machine, access control lists are consulted to determine whether the access should be allowed, given the other resources already accessed by the application.Type: GrantFiled: September 5, 2001Date of Patent: August 14, 2007Assignee: Microsoft CorporationInventors: Abolade Gbadegesin, David G. Thaler
-
Patent number: 7134019Abstract: Disclosed is an authentication mechanism that enables an information recipient to ascertain that the information comes from the sender it purports to be from. This mechanism integrates a private/public key pair with selection by the sender of a portion of its address. The sender derives its address from its public key, for example, by using a hash of the key. The recipient verifies the association between the address and the sender's private key. The recipient may retrieve the key from an insecure resource and know that it has the correct key because only that key can produce the sender's address in the message. The hash may be made larger than the sender-selectable portion of the address. The recipient may cache public key/address pairs and use the cache to detect brute force attacks and to survive denial of service attacks. The mechanism may be used to optimize security negotiation algorithms.Type: GrantFiled: November 13, 2001Date of Patent: November 7, 2006Assignee: Microsoft CorporationInventors: Art Shelest, David G. Thaler, Gregory O'Shea, Michael Roe, Brian D. Zill
-
Publication number: 20030065676Abstract: The present invention is directed to a method and system for managing concurrent access to multiple resources. Resources are assigned to sets in such a way that it is safe to concurrently access any combination of resources in a resource set. For each resource set, a virtual machine is defined and associated with the resource set. An application is assigned to a virtual machine. When an application requests access to a resource not in the application's virtual machine, access control lists are consulted to determine whether the access should be allowed, given the other resources already accessed by the application.Type: ApplicationFiled: September 5, 2001Publication date: April 3, 2003Applicant: Microsoft CorporationInventors: Abolade Gbadegesin, David G. Thaler
-
Publication number: 20020152384Abstract: Disclosed is an authentication mechanism that enables an information recipient to ascertain that the information comes from the sender it purports to be from. This mechanism integrates a private/public key pair with selection by the sender of a portion of its address. The sender derives its address from its public key, for example, by using a hash of the key. The recipient verifies the association between the address and the sender's private key. The recipient may retrieve the key from an insecure resource and know that it has the correct key because only that key can produce the sender's address in the message. The hash may be made larger than the sender-selectable portion of the address. The recipient may cache public key/address pairs and use the cache to detect brute force attacks and to survive denial of service attacks. The mechanism may be used to optimize security negotiation algorithms.Type: ApplicationFiled: November 13, 2001Publication date: October 17, 2002Applicant: Microsoft CorporationInventors: Art Shelest, David G. Thaler, Gregory O'Shea, Michael Roe, Brian D. Zill