Patents by Inventor John D. Vert

John D. Vert 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: 7603362
    Abstract: Ordered list management is described. An item's position within an ordered list is represented by a path value. A globally unique identifier (GUID) is appended to the path value to enable simultaneous or near-simultaneous modifications to the ordered list without conflict. Furthermore, an ordered list-specific seed value may be prepended to each item's path value to ensure clustering of ordered list items when two or more ordered lists are merged.
    Type: Grant
    Filed: August 20, 2004
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Geoffrey John Elliott, Brian J. Guarraci, Aarthi Natarajan, John D. Vert, Edward H. Wayt
  • Patent number: 7058824
    Abstract: A method and system for adaptively throttling a computer is provided. Prior CPU utilization is calculated when a CPU enters an idle state. If the prior CPU utilization warrants a change in the CPU performance level, an appropriate CPU performance level is calculated. Policies, including thermal policies and battery charge policies, may be applied to increase or decrease the appropriate CPU performance level. If prior CPU utilization and/or policies dictate a different CPU performance level, the CPU performance level is changed.
    Type: Grant
    Filed: June 15, 2001
    Date of Patent: June 6, 2006
    Assignee: Microsoft Corporation
    Inventors: Stephane G. Plante, John D. Vert, Jacob Oshins
  • Patent number: 6671786
    Abstract: The present invention includes a method of mirroring memory that reduces the down time for copying information from one physical memory subsystem to a redundant physical memory subsystem by separating the mirroring process into phases. The first phase copies information from the first physical memory subsystem to the redundant physical memory subsystem. During the first phase, applications are not restricted from accessing the first memory subsystem while the first phase of the memory mirroring operation copies the information. The second phase of the memory mirroring operation copies active information to the redundant physical memory subsystem. The active information includes information that was not copied during the first phase and information that changed during the first phase. During the second phase, applications are restricted from accessing the first physical memory subsystem.
    Type: Grant
    Filed: June 7, 2001
    Date of Patent: December 30, 2003
    Assignee: Microsoft Corporation
    Inventors: Landy Wang, John D. Vert
  • Publication number: 20020194509
    Abstract: A method and system for adaptively throttling a computer is provided. Prior CPU utilization is calculated when a CPU enters an idle state. If the prior CPU utilization warrants a change in the CPU performance level, an appropriate CPU performance level is calculated. Policies, including thermal policies and battery charge policies, may be applied to increase or decrease the appropriate CPU performance level. If prior CPU utilization and/or policies dictate a different CPU performance level, the CPU performance level is changed.
    Type: Application
    Filed: June 15, 2001
    Publication date: December 19, 2002
    Applicant: Microsoft Corporation
    Inventors: Stephane G. Plante, John D. Vert, Jacob Oshins
  • Publication number: 20020188815
    Abstract: The present invention includes a method of mirroring memory that reduces the down time for copying information from one physical memory subsystem to a redundant physical memory subsystem by separating the mirroring process into phases. The first phase copies information from the first physical memory subsystem to the redundant physical memory subsystem. During the first phase, applications are not restricted from accessing the first memory subsystem while the first phase of the memory mirroring operation copies the information. The second phase of the memory mirroring operation copies active information to the redundant physical memory subsystem. The active information includes information that was not copied during the first phase and information that changed during the first phase. During the second phase, applications are restricted from accessing the first physical memory subsystem.
    Type: Application
    Filed: June 7, 2001
    Publication date: December 12, 2002
    Applicant: Microsoft Corporation
    Inventors: Landy Wang, John D. Vert
  • Patent number: 6449734
    Abstract: A method and system for forming a new cluster of servers having state data that is consistent with the state data of a cluster that previously existed. The previous cluster preserves its state data by recording transactions to a log file in conjunction with a sequence number maintained by each node. The node that recorded the transaction then increments its copy of the sequence number and attempts to replicate the transaction to other nodes of the cluster. If the transaction is replicated, each other node commits the transaction and increments its sequence number. If the node fails before it can replicate the transaction, then no other nodes will increment their sequence numbers, whereby the next logged transaction has the same sequence number as the previously logged, but orphaned replicated transaction. When a new node forms a cluster, it unrolls the log file so as to become consistent with the state of the previous cluster.
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: September 10, 2002
    Assignee: Microsoft Corporation
    Inventors: Sunita Shrivastava, John D. Vert
  • Patent number: 6360331
    Abstract: A method and system for transparently failing over a legacy application from a first system to a second system of a server cluster by tracking and checkpointing changes to application configuration information stored in a system's local registry. When an application running on the first system makes a change to the application configuration information in a subtree of the registry, the change is detected and a snapshot of the subtree's data is taken. The snapshot is written to a storage device shared by systems of the cluster, such as a quorum disk. When the application is failed over to a second system, the snapshot for that application is retrieved from the quorum disk and written to the registry of the second system in a corresponding subtree. The application is then run on the second system using the most-recent application configuration information as modified by the other system in the cluster.
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: March 19, 2002
    Assignee: Microsoft Corporation
    Inventors: John D. Vert, Sunita Shrivastava
  • Patent number: 6279032
    Abstract: A method and system for selecting a set of systems (nodes) for a server cluster from at least two non-communicating sets of systems. A persistent storage device with cluster configuration information therein is provided as a quorum resource. Using an arbitration process, only one system exclusively reserves the quorum resource. The set with the system therein having the exclusive reservation of the quorum device is selected as the cluster. The arbitration process provides a challenge-defense protocol whereby a system can obtain the reservation of the quorum device when the system that has the reservation fails.
    Type: Grant
    Filed: November 3, 1997
    Date of Patent: August 21, 2001
    Assignee: Microsoft Corporation
    Inventors: Robert T. Short, Rod Gamache, Michael T. Massa, John D. Vert
  • Publication number: 20010008019
    Abstract: A method and system for transparently failing over a legacy application from a first system to a second system of a server cluster by tracking and checkpointing changes to application configuration information stored in a system's local registry. When an application running on the first system makes a change to the application configuration information in a subtree of the registry, the change is detected and a snapshot of the subtree's data is taken. The snapshot is written to a storage device shared by systems of the cluster, such as a quorum disk. When the application is failed over to a second system, the snapshot for that application is retrieved from the quorum disk and written to the registry of the second system in a corresponding subtree. The application is then run on the second system using the most-recent application configuration information as modified by the other system in the cluster.
    Type: Application
    Filed: April 17, 1998
    Publication date: July 12, 2001
    Inventors: JOHN D. VERT, SUNITA SHRIVASTAVA
  • Patent number: 6243825
    Abstract: A method and system for transparently failing over a computer name with a legacy application running in a server cluster. When the application is set for failing over in the cluster, the cluster software locates a virtual computer name on which the application is dependent, and associates the virtual name with the application. When the application runs and requests its computer name from the system, the system looks for the virtual computer name, and, if detected, the system returns the virtual computer name to the application as the computer name. The virtual computer name thus moves with the application regardless of the machine on which it is running in the cluster. When the application is not set for failing over in the cluster, the system instead returns the actual machine name.
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: June 5, 2001
    Assignee: Microsoft Corporation
    Inventors: Rod Gamache, Mark Lucovsky, John D. Vert
  • Patent number: 6223207
    Abstract: A technique for performing multiple simultaneous asynchronous input/output operations in a computer operating system. An input/output completion port object is created and associated with a file descriptor. When I/O services are requested on the file descriptor, completion is indicated by a message queued to the I/O completion port. A process requesting I/O services is not notified of completion of the I/O services, but instead checks the I/O completion port's queue to determine the status of its I/O requests. The I/O completion port manages multiple threads and their concurrency.
    Type: Grant
    Filed: January 13, 1998
    Date of Patent: April 24, 2001
    Assignee: Microsoft Corporation
    Inventors: Mark H. Lucovsky, John D. Vert, David N. Cutler, Darryl E. Havens, Steven R. Wood
  • Patent number: 6178529
    Abstract: A method and system in a server cluster for monitoring and controlling a resource object, such as a physical device or application. A cluster service connects to a resource monitoring component to control and monitor the health of one or more resource objects. The resource component includes a plurality of methods, common to all such resource components, for calling by the resource monitor to control and monitor operation of the resource object therethrough. The common methods enable the cluster server to treat all resources similarly without regard to the type of resource.
    Type: Grant
    Filed: November 3, 1997
    Date of Patent: January 23, 2001
    Assignee: Microsoft Corporation
    Inventors: Robert T. Short, Rod Gamache, Michael T. Massa, John D. Vert
  • Patent number: 6163855
    Abstract: A method and system for communicating modification information to servers in a server cluster. Local changes, such as modifications to a resource requested at one node, are associated into a single transaction. A master node, such as the node that owns the set of resources corresponding to the modifications in the transaction requests permission from a locker node to replicate the transaction. When permission to replicate the transaction is received from the locker node, the master node replicates the transaction by requesting each node in the cluster, one node at a time, to commit the transaction. Any node that does not commit the transaction is removed from the cluster, ensuring consistency of the cluster. Failure conditions of any node or nodes are also handled in a manner that ensures consistency.
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: December 19, 2000
    Assignee: Microsoft Corporation
    Inventors: Sunita Shrivastava, Rod Gamache, John D. Vert
  • Patent number: 5758184
    Abstract: A technique for performing multiple simultaneous asynchronous input/output operations in a computer operating system. An input/output completion port object is created and associated with a file descriptor. When I/O services are requested on the file descriptor, completion is indicated by a message queued to the I/O completion port. A process requesting I/O services is not notified of completion of the I/O services, but instead checks the I/O completion port's queue to determine the status of its I/O requests. The I/O completion port manages multiple threads and their concurrency.
    Type: Grant
    Filed: April 24, 1995
    Date of Patent: May 26, 1998
    Assignee: Microsoft Corporation
    Inventors: Mark H. Lucovsky, John D. Vert, David N. Cutler, Darryl E. Havens, Steven R. Wood