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: 20120290706
    Abstract: 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: Application
    Filed: May 10, 2011
    Publication date: November 15, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Yi Lin, Pavel A. Dournov, Anil Ingle, Frederick J. Smith, IV
  • Patent number: 8312459
    Abstract: 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: Grant
    Filed: December 12, 2005
    Date of Patent: November 13, 2012
    Assignee: Microsoft Corporation
    Inventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
  • Patent number: 8280908
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: October 2, 2012
    Assignee: Microsoft Corporation
    Inventors: Yousef A. Khalidi, Frederick J. Smith, IV, Madhusudhan Talluri
  • Patent number: 8245035
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Yousef A. Khalidi, Frederick J. Smith, IV, Madhusudhan Talluri
  • Publication number: 20110321031
    Abstract: 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: Application
    Filed: June 25, 2010
    Publication date: December 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: PAVEL A. DOURNOV, FREDERICK J. SMITH, VAMSHIDHAR KOMMINENI, ANIL A. INGLE, MATTHEW M. KERNER, ADAM LIECHTY
  • Patent number: 7996841
    Abstract: 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: Grant
    Filed: December 12, 2005
    Date of Patent: August 9, 2011
    Assignee: Microsoft Corporation
    Inventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
  • Patent number: 7769779
    Abstract: 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: Grant
    Filed: November 2, 2006
    Date of Patent: August 3, 2010
  • Patent number: 7756821
    Abstract: 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: Grant
    Filed: November 2, 2006
    Date of Patent: July 13, 2010
  • Patent number: 7716382
    Abstract: 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: Grant
    Filed: January 11, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Frederick J. Smith, IV, Eugene S. Lin, Jason T Cobb
  • Publication number: 20100058318
    Abstract: 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: Application
    Filed: August 28, 2008
    Publication date: March 4, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: JOSE M. BERNABEU-AUBAN, YOUSEF A. KHALIDI, FREDERICK J. SMITH
  • Patent number: 7581051
    Abstract: 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: Grant
    Filed: May 16, 2005
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Madhusudhan Talluri, Frederick J. Smith, IV, Jeff L. Havens
  • Patent number: 7555775
    Abstract: 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: Grant
    Filed: February 14, 2005
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventor: Frederick J. Smith
  • Patent number: 7447896
    Abstract: 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: Grant
    Filed: December 12, 2005
    Date of Patent: November 4, 2008
    Assignee: Microsoft Corporation
    Inventors: Frederick J. Smith, Jeff L. Havens, Madhusudhan Talluri, Yousef A. Khalidi
  • Publication number: 20080109466
    Abstract: 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: Application
    Filed: November 2, 2006
    Publication date: May 8, 2008
  • Publication number: 20080109394
    Abstract: 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: Application
    Filed: November 2, 2006
    Publication date: May 8, 2008
  • Publication number: 20080109908
    Abstract: 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: Application
    Filed: November 2, 2006
    Publication date: May 8, 2008
    Applicant: Microsoft Corporation
    Inventors: Jeffery L. Havens, Frederick J. Smith, Yousef A. Khalidi, Madhusudhan Talluri
  • Publication number: 20080005133
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Yousef A. Khalidi, Frederick J. Smith, Madhusudhan Talluri
  • Publication number: 20080005060
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Yousef A. Khalidi, Frederick J. Smith, Madhusudhan Talluri
  • Patent number: 7114164
    Abstract: 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: Grant
    Filed: June 4, 2003
    Date of Patent: September 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Frederick J. Smith, Oleg Kagan
  • Patent number: 6886112
    Abstract: 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: Grant
    Filed: June 28, 2002
    Date of Patent: April 26, 2005
    Assignee: Microsoft Corporation
    Inventor: Frederick J. Smith