Patents by Inventor Frederick J. Smith
Frederick J. Smith 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).
-
Publication number: 20120290706Abstract: Configuring a node. A method includes determining a current state of a target node. The current state of the target node refers to objects currently deployed or running in the remote target node. It includes at least one of an operating system, one or more applications, or configuration setting at the target node. The method further includes determining a desired state for the target node to change the current state. The method further includes accessing a dependency graph based on the version of an agent running on the target node. The dependency graph is supplied to a state machine. The state machine is particular to the target node. The state machine using the current state of the target node, the desired state and the dependency graph, performs operations to drive the target node toward its goal.Type: ApplicationFiled: May 10, 2011Publication date: November 15, 2012Applicant: MICROSOFT CORPORATIONInventors: Yi Lin, Pavel A. Dournov, Anil Ingle, Frederick J. Smith, IV
-
Patent number: 8312459Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system environment is divided into one or more side-by-side and/or nested spaces enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces via virtual hierarchies. A set of declarative rules specifying access capabilities may specify a set of filter drivers to be used to limit access to nodes in the hierarchical name space. The rules may be applied in sequence to construct a new name space from an existing one, or to add to an existing hierarchy. Filter drivers are used to limit access to nodes in the new name space or new portion of the name space. Access to nodes can be limited (read-only access instead of read/write) or nodes can be hidden altogether. Rules may be specified in a declarative language such as XML.Type: GrantFiled: December 12, 2005Date of Patent: November 13, 2012Assignee: Microsoft CorporationInventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
-
Patent number: 8280908Abstract: Two or more separate physical file system directories are presented as one merged (virtual) file system directory to a process running in a silo. The operating system controls the level of access to the files in the merge directory. The operating system provides the merged view of the file system directories by monitoring file system requests made by processes in silos on a computer or computer system and in response to detecting certain types of file system access requests, provides the view of the seemingly merged directories by performing special processing. The types of requests which trigger the special processing include: enumeration, open, create, rename or close.Type: GrantFiled: June 30, 2006Date of Patent: October 2, 2012Assignee: Microsoft CorporationInventors: Yousef A. Khalidi, Frederick J. Smith, IV, Madhusudhan Talluri
-
Patent number: 8245035Abstract: Two or more separate physical Registry directories are presented as a single (virtual) Registry directory to an application running in a controlled execution environment called a silo. All of the operations normally available to be performed on the Registry directory can be performed on the merge directory, however, the operating system controls the level of access to the keys in the merge directory. The operating system provides the merged view of the Registry directories by a Registry filter driver. The Registry filter model provides a single callback with a notification code indicating the reason the callback was called. The types of notifications which trigger the special processing include: enumeration of a key, enumeration of the value of a key, query a key, close a key, delete a key, create or open a key or rename a key.Type: GrantFiled: June 30, 2006Date of Patent: August 14, 2012Assignee: Microsoft CorporationInventors: Yousef A. Khalidi, Frederick J. Smith, IV, Madhusudhan Talluri
-
Publication number: 20110321031Abstract: Methods, systems, and computer-readable media for deploying an update to nodes propagated throughout a data center are provided. Launching new upgrade to hosting environment residing on the nodes typically invokes a mechanism (e.g., fabric controller) to form a group of nodes that are independent of one another with respect to upgrade domains, which are assigned to tenants (e.g., program components of service applications running within the data center) presently hosted by the nodes. The constraints of the update domains are articulated by service level agreements established for the service applications, respectively. Forming the group involves identifying independent nodes for membership, where no two members of the group host analogous tenants (belonging to a common service application) that are assigned to distinct update domains. However, it is acceptable to join to the group those nodes hosting analogous tenants that are each assigned to the same update domain.Type: ApplicationFiled: June 25, 2010Publication date: December 29, 2011Applicant: MICROSOFT CORPORATIONInventors: PAVEL A. DOURNOV, FREDERICK J. SMITH, VAMSHIDHAR KOMMINENI, ANIL A. INGLE, MATTHEW M. KERNER, ADAM LIECHTY
-
Patent number: 7996841Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system is divided into one or more side-by-side and/or nested spaces enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces by creating a new branch of an existing global system name space or by linking the sub-root level nodes of a new hierarchy to a subset of nodes in an existing global system name space.Type: GrantFiled: December 12, 2005Date of Patent: August 9, 2011Assignee: Microsoft CorporationInventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
-
Patent number: 7769779Abstract: A silo-specific view of the file system is provided to processes running in the silo. Processes can access a file only by uttering the silo-relative name. To determine if access to a file identified by a file ID should be permitted, a list of physical names of the file identified by the file ID is constructed. If a silo-relative name that translates to a name in the list can be uttered, the file is opened and the file ID for the opened file is retrieved. If the file IDs match, the silo-relative name is used to open the file. If a process running within a silo requests a list of names for a file that has been opened using a file ID, results returned are filtered so that only names visible in the silo are returned, thus restricting the process' access to files to those files within its hierarchical namespace.Type: GrantFiled: November 2, 2006Date of Patent: August 3, 2010
-
Patent number: 7756821Abstract: An element of a file system is virtually deleted by creating a deletion marker for the element. Two or more separate physical file system directories are presented as one merged (virtual) file system directory to a process running in a silo. The operating system provides the merged view of the file system directories by monitoring file system requests made by processes in silos on a computer or computer system and filtering out those elements associated with deletion markers. Special processing is invoked in response to detecting certain types of file system access requests, including: enumeration, open, create, rename or delete.Type: GrantFiled: November 2, 2006Date of Patent: July 13, 2010
-
Patent number: 7716382Abstract: Systems and methods are disclosed that facilitate refining a list of candidate driver packages for a detected plug-and-play device. A device can be detected and a hardware ID there for can be determined and compared to hardware IDs in a data store to determine a preliminary list of driver packages that match the hardware device ID. The driver packages can be tagged with additional rich targeting criteria that must be satisfied in order for the driver package to be retained in the candidate list. If additional criteria in the driver packages are not satisfied, then the driver package can be excised from the candidate list to refine driver package compatibility with a computer to which the device is connected.Type: GrantFiled: January 11, 2005Date of Patent: May 11, 2010Assignee: Microsoft CorporationInventors: Frederick J. Smith, IV, Eugene S. Lin, Jason T Cobb
-
Publication number: 20100058318Abstract: Embodiments described herein are directed to updating the various software associated with a distributed application in a piecemeal fashion. All instances of the software are analyzed and separated into different portions, called “roles.” Each instance of a role is strategically assigned to an update domain based on the structural information included in the service model of the distributed application. The distributed application is upgraded one update at a time by selecting an update or host update domain, bringing the roles assigned thereto offline, updating the offline roles, bringing the roles back online, and repeating for other update or host update domains.Type: ApplicationFiled: August 28, 2008Publication date: March 4, 2010Applicant: MICROSOFT CORPORATIONInventors: JOSE M. BERNABEU-AUBAN, YOUSEF A. KHALIDI, FREDERICK J. SMITH
-
Patent number: 7581051Abstract: Systems and methods for providing a framework within which device drivers may run at a user-mode level. A platform (e.g., APIC) or bus (PCI bus) generic feature is used to take the CPU out of interrupt mode without having to wait for a user-level driver to clear the device interrupt. This allows writing the complete device driver in user space. The device driver still get notifications on interrupts but not at interrupt priority. The same scheme can be extended to shared interrupts, where multiple devices share a single interrupt line.Type: GrantFiled: May 16, 2005Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: Madhusudhan Talluri, Frederick J. Smith, IV, Jeff L. Havens
-
Patent number: 7555775Abstract: In some techniques for resource recovery, a region of code can be considered untrusted. To catch problems in the untrusted region, entry points are wrapped with exception logic for processing exceptions raised within the untrusted region. Until an exception has been raised within the untrusted region, instructions corresponding to the entry points may be executed. However, once an exception has been raised within the untrusted region, further access to the untrusted code is prevented. A time element may be recorded for indicating execution time within an untrusted display hardware driver. Once a threshold execution time is reached, indicating a graphics processor hang, driver execution stops and an exception raised. When execution continues, the exception is processed based on the exception logic. Updating the display hardware then occurs without using the graphics processor. The display hardware may notify a user that the graphic processor is not functioning.Type: GrantFiled: February 14, 2005Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventor: Frederick J. Smith
-
Patent number: 7447896Abstract: An intra-operating system isolation mechanism called a silo provides for the grouping and isolation of processes running on a single computer using a single instance of the operating system. The operating system enables the controlled sharing of resources by providing a view of a system name space to processes executing within an isolated application called a server silo. A server silo is created by performing a separate “mini-boot” of user-level services within the server silo. The single OS image serving the computer employs the mechanism of name space containment to constrain which server silos can use which resource(s). Restricting access to resources is therefore directly based on the process or application placed in the server silo rather than who is running the application because if a process or application is unable to resolve a name used to access a resource, it will be unable to use the resource.Type: GrantFiled: December 12, 2005Date of Patent: November 4, 2008Assignee: Microsoft CorporationInventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
-
Publication number: 20080109466Abstract: An element such as a Registry key or value is virtually deleted by creating a deletion marker for the element. Two or more separate sets of physical Registry keys/values are presented as one merged (virtual) Registry to a process running in a silo. The operating system provides the merged view of the Registry by monitoring Registry key or value system requests made by processes in silos on a computer or computer system and filtering out those elements associated with deletion markers. Special processing is invoked in response to detecting certain types of Registry key or value system access requests, including but not limited to: enumeration, open, create, rename or delete.Type: ApplicationFiled: November 2, 2006Publication date: May 8, 2008
-
Publication number: 20080109394Abstract: An element of a file system is virtually deleted by creating a deletion marker for the element. Two or more separate physical file system directories are presented as one merged (virtual) file system directory to a process running in a silo. The operating system provides the merged view of the file system directories by monitoring file system requests made by processes in silos on a computer or computer system and filtering out those elements associated with deletion markers. Special processing is invoked in response to detecting certain types of file system access requests, including: enumeration, open, create, rename or delete.Type: ApplicationFiled: November 2, 2006Publication date: May 8, 2008
-
Publication number: 20080109908Abstract: A silo-specific view of the file system is provided to processes running in the silo. Processes can access a file only by uttering the silo-relative name. To determine if access to a file identified by a file ID should be permitted, a list of physical names of the file identified by the file ID is constructed. If a silo-relative name that translates to a name in the list can be uttered, the file is opened and the file ID for the opened file is retrieved. If the file IDs match, the silo-relative name is used to open the file. If a process running within a silo requests a list of names for a file that has been opened using a file ID, results returned are filtered so that only names visible in the silo are returned, thus restricting the process' access to files to those files within its hierarchical namespace.Type: ApplicationFiled: November 2, 2006Publication date: May 8, 2008Applicant: Microsoft CorporationInventors: Jeffery L. Havens, Frederick J. Smith, Yousef A. Khalidi, Madhusudhan Talluri
-
Publication number: 20080005133Abstract: Two or more separate physical file system directories are presented as one merged (virtual) file system directory to a process running in a silo. The operating system controls the level of access to the files in the merge directory. The operating system provides the merged view of the file system directories by monitoring file system requests made by processes in silos on a computer or computer system and in response to detecting certain types of file system access requests, provides the view of the seemingly merged directories by performing special processing. The types of requests which trigger the special processing include: enumeration, open, create, rename or close.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Microsoft CorporationInventors: Yousef A. Khalidi, Frederick J. Smith, Madhusudhan Talluri
-
Publication number: 20080005060Abstract: Two or more separate physical Registry directories are presented as a single (virtual) Registry directory to an application running in a controlled execution environment called a silo. All of the operations normally available to be performed on the Registry directory can be performed on the merge directory, however, the operating system controls the level of access to the keys in the merge directory. The operating system provides the merged view of the Registry directories by a Registry filter driver. The Registry filter model provides a single callback with a notification code indicating the reason the callback was called. The types of notifications which trigger the special processing include: enumeration of a key, enumeration of the value of a key, query a key, close a key, delete a key, create or open a key or rename a key.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: Microsoft CorporationInventors: Yousef A. Khalidi, Frederick J. Smith, Madhusudhan Talluri
-
Patent number: 7114164Abstract: A fault or an exception is injected into a target thread. Instructions are processed and a target thread is recognized. As a result, an asynchronous procedure call is queued. The asynchronous procedure call is run on the target thread and the context of the target thread is modified. The target thread is executed in the modified context and an exception is raised in the target thread as a result of the modified context. The exception is handled and processing of the instruction continues.Type: GrantFiled: June 4, 2003Date of Patent: September 26, 2006Assignee: Microsoft CorporationInventors: Frederick J. Smith, Oleg Kagan
-
Patent number: 6886112Abstract: Methods, systems, and computer program products for resource recovery. A region of code can be considered untrusted. To catch problems in the untrusted region, entry points are wrapped with exception logic for processing exceptions raised within the untrusted region. Until an exception has been raised within the untrusted region, instructions corresponding to the entry points may be executed. However, once an exception has been raised within the untrusted region, further access to the untrusted code is prevented. A time element may be recorded for indicating execution time within an untrusted display hardware driver. Once a threshold execution time is reached, indicating a graphics processor hang, driver execution stops and an exception raised. When execution continues, the exception is processed based on the exception logic. Updating the display hardware then occurs without using the graphics processor. The display hardware may notify a user that the graphic processor is not functioning.Type: GrantFiled: June 28, 2002Date of Patent: April 26, 2005Assignee: Microsoft CorporationInventor: Frederick J. Smith