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: 7603362Abstract: 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: GrantFiled: August 20, 2004Date of Patent: October 13, 2009Assignee: Microsoft CorporationInventors: Geoffrey John Elliott, Brian J. Guarraci, Aarthi Natarajan, John D. Vert, Edward H. Wayt
-
Patent number: 7058824Abstract: 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: GrantFiled: June 15, 2001Date of Patent: June 6, 2006Assignee: Microsoft CorporationInventors: Stephane G. Plante, John D. Vert, Jacob Oshins
-
Patent number: 6671786Abstract: 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: GrantFiled: June 7, 2001Date of Patent: December 30, 2003Assignee: Microsoft CorporationInventors: Landy Wang, John D. Vert
-
Publication number: 20020194509Abstract: 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: ApplicationFiled: June 15, 2001Publication date: December 19, 2002Applicant: Microsoft CorporationInventors: Stephane G. Plante, John D. Vert, Jacob Oshins
-
Publication number: 20020188815Abstract: 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: ApplicationFiled: June 7, 2001Publication date: December 12, 2002Applicant: Microsoft CorporationInventors: Landy Wang, John D. Vert
-
Patent number: 6449734Abstract: 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: GrantFiled: April 17, 1998Date of Patent: September 10, 2002Assignee: Microsoft CorporationInventors: Sunita Shrivastava, John D. Vert
-
Patent number: 6360331Abstract: 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: GrantFiled: April 17, 1998Date of Patent: March 19, 2002Assignee: Microsoft CorporationInventors: John D. Vert, Sunita Shrivastava
-
Patent number: 6279032Abstract: 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: GrantFiled: November 3, 1997Date of Patent: August 21, 2001Assignee: Microsoft CorporationInventors: Robert T. Short, Rod Gamache, Michael T. Massa, John D. Vert
-
Publication number: 20010008019Abstract: 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: ApplicationFiled: April 17, 1998Publication date: July 12, 2001Inventors: JOHN D. VERT, SUNITA SHRIVASTAVA
-
Patent number: 6243825Abstract: 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: GrantFiled: April 17, 1998Date of Patent: June 5, 2001Assignee: Microsoft CorporationInventors: Rod Gamache, Mark Lucovsky, John D. Vert
-
Patent number: 6223207Abstract: 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: GrantFiled: January 13, 1998Date of Patent: April 24, 2001Assignee: Microsoft CorporationInventors: Mark H. Lucovsky, John D. Vert, David N. Cutler, Darryl E. Havens, Steven R. Wood
-
Patent number: 6178529Abstract: 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: GrantFiled: November 3, 1997Date of Patent: January 23, 2001Assignee: Microsoft CorporationInventors: Robert T. Short, Rod Gamache, Michael T. Massa, John D. Vert
-
Patent number: 6163855Abstract: 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: GrantFiled: April 17, 1998Date of Patent: December 19, 2000Assignee: Microsoft CorporationInventors: Sunita Shrivastava, Rod Gamache, John D. Vert
-
Patent number: 5758184Abstract: 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: GrantFiled: April 24, 1995Date of Patent: May 26, 1998Assignee: Microsoft CorporationInventors: Mark H. Lucovsky, John D. Vert, David N. Cutler, Darryl E. Havens, Steven R. Wood