Patents by Inventor Genevieve Fernandes

Genevieve Fernandes 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: 9720729
    Abstract: A runtime environment allows a scheduler in a process of a computer system to be finalized prior to the process completing. The runtime environment causes execution contexts that are inducted into the scheduler and execution contexts created by the scheduler to be tracked. The runtime environment finalizes the scheduler subsequent to each inducted execution context exiting the scheduler and each created execution context being retired by the scheduler.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: August 1, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Ringseth, Genevieve Fernandes, Rick Molloy, Rahul Patil
  • Patent number: 9417914
    Abstract: A scheduler in a process of a computer system allows an external execution context to execute on a processing resource allocated to the scheduler. The scheduler provides control of the processing resource to the external execution context. The scheduler registers for a notification of an exit event associated with the external execution context. In response to receiving the notification that the exit event has occurred, the scheduler regains control of the processing resource and causes a task associated with an execution context controlled by the scheduler to be executed by the processing resource.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Ringseth, Genevieve Fernandes
  • Patent number: 9384063
    Abstract: A concurrent data structure allows synchronization to be elided for read accesses. Processing resources that remove one or more elements of the concurrent data structure are allowed to delete the elements only after all other processing resources have reached a safe point. Each processing resource maintains an indicator that indicates whether the processing resource has reached as safe point (i.e., will not access the concurrent data structure). When the indicators indicate that all processing resources have reached a safe point, elements of the data structure may be deleted.
    Type: Grant
    Filed: June 18, 2009
    Date of Patent: July 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Ringseth, Michael L. Chu, William R. Messmer, Marko Radmilac, Genevieve Fernandes
  • Patent number: 9378062
    Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.
    Type: Grant
    Filed: June 18, 2009
    Date of Patent: June 28, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
  • Patent number: 8843927
    Abstract: Each processing resource in a scheduler of a process executing on a computer system maintains counts of the number of tasks that arrive at the processing resource and the number of tasks that complete on the processing resource. The counts are maintained in storage that is only writeable by the corresponding processing resource. The scheduler collects and sums the counts from each processing resource and provides statistics based on the summed counts and previous summed counts to a resource manager in response to a request from the resource manager. The scheduler does not reset the counts when the counts are collected and stores copies of the summed counts for use with the next request from the resource manager. The counts may be maintained without synchronization and with thread safety to minimize the impact of gathering statistics on the application.
    Type: Grant
    Filed: April 23, 2009
    Date of Patent: September 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Marko Radmilac, Paul Ringseth, Genevieve Fernandes, William R. Messmer, Niklas Gustafsson
  • Patent number: 8806180
    Abstract: A scheduler in a process of a computer system detects a task with an associated execution context that has not been previously invoked by the scheduler. The scheduler executes the task on a processing resource without performing a context switch if the processing resource executed a previous task to completion. The scheduler stores the execution context originally associated with the task for later use.
    Type: Grant
    Filed: May 1, 2008
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Genevieve Fernandes
  • Patent number: 8719831
    Abstract: A resource manager manages processing and other resources of schedulers of one or more processes executing on one or more computer systems. For each scheduler, the resource manager determines an initial allocation of resources based on the policy of the scheduler, the availability of resources, and the policies of other schedulers. The resource manager receives feedback from the schedulers and dynamically changes the allocation of resources of schedulers based on the feedback. The resource manager determines if changes improved the performance of schedulers and commits or rolls back the changes based on the determination.
    Type: Grant
    Filed: June 18, 2009
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Marko Radmilac, Genevieve Fernandes, Paul Ringseth
  • Patent number: 8650570
    Abstract: A runtime environment of a computer system is provided that creates first and second scheduler instances in a process. Each scheduler instance includes allocated processing resources and is assigned a set of tasks for execution. Each scheduler instance schedules tasks for execution using the allocated processing resources to perform the work of the process.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: February 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy, Rahul Patil, Philip Lucido
  • Patent number: 8566830
    Abstract: A scheduler in a process of a computer system includes a local collection of tasks for each processing resource allocated to the scheduler and at least one general collection of tasks. The scheduler assigns each task that becomes unblocked to the local collection corresponding to the processing resource that caused the task to become unblocked. When a processing resource becomes available, the processing resource attempts to execute the most recently added task in the corresponding local collection. If there are no tasks in the corresponding local collection, the available processing resource attempts to execute a task from the general collection.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: October 22, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Niklas Gustafsson, Genevieve Fernandes
  • Patent number: 8561072
    Abstract: A scheduler in a process of a computer system includes a respective scheduling collection for each scheduling node in the scheduler. The scheduling collections are mapped into at least a partial search order based on one or more execution metrics. When a processing resource in a scheduling node becomes available, the processing resource first attempts to locate a task to execute in a scheduling collection corresponding to the scheduling node before searching other scheduling collections in an order specified by the search order.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: October 15, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy
  • Patent number: 8443373
    Abstract: Embodiments are directed to dynamically allocating processing resources among a plurality of resource schedulers. A resource manager dynamically allocates resources to a first resource scheduler. The resource manager is configured to dynamically allocate resources among a plurality of resource schedulers, and each scheduler is configured to manage various processing resources. The resource manager determines that at least one of the processing resources dynamically allocated to the first resource scheduler is idle. The resource manager determines that at least one other resource scheduler needs additional processing resources and, based on the determination, loans the determined idle processing resource of the first resource scheduler to a second resource scheduler.
    Type: Grant
    Filed: January 26, 2010
    Date of Patent: May 14, 2013
    Assignee: Microsoft Corporation
    Inventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
  • Patent number: 8276147
    Abstract: Shutting down a computer work scheduler. The work scheduler includes a number of virtual processors, each of which is either active or inactive. An active processor executes work, searches for work, or is idle. An inactive has no context running atop it. The method includes determining that all processors controlled by the scheduler are idle. As a result of determining that all controlled by the scheduler are idle, the method proceeds to a first phase of a shutdown operation, which when successful, includes: performing a sweep of all collections searching for any work in the scheduler and determining that no work is found in the scheduler. As a result of determining that no work is found in the scheduler, the method proceeds to a second phase of a shutdown operation, which when successful includes messaging all contexts in the scheduler and telling them to exit.
    Type: Grant
    Filed: October 16, 2009
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: William Robert Messmer, Paul F. Ringseth, Genevieve Fernandes
  • Publication number: 20110185364
    Abstract: Embodiments are directed to dynamically allocating processing resources among a plurality of resource schedulers. A resource manager dynamically allocates resources to a first resource scheduler. The resource manager is configured to dynamically allocate resources among a plurality of resource schedulers, and each scheduler is configured to manage various processing resources. The resource manager determines that at least one of the processing resources dynamically allocated to the first resource scheduler is idle. The resource manager determines that at least one other resource scheduler needs additional processing resources and, based on the determination, loans the determined idle processing resource of the first resource scheduler to a second resource scheduler.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
  • Publication number: 20110093851
    Abstract: Shutting down a computer work scheduler. The work scheduler includes a number of virtual processors, each of which is either active or inactive. An active processor executes work, searches for work, or is idle. An inactive has no context running atop it. The method includes determining that all processors controlled by the scheduler are idle. As a result of determining that all controlled by the scheduler are idle, the method proceeds to a first phase of a shutdown operation, which when successful, includes: performing a sweep of all collections searching for any work in the scheduler and determining that no work is found in the scheduler. As a result of determining that no work is found in the scheduler, the method proceeds to a second phase of a shutdown operation, which when successful includes messaging all contexts in the scheduler and telling them to exit.
    Type: Application
    Filed: October 16, 2009
    Publication date: April 21, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: William Robert Messmer, Paul F. Ringseth, Genevieve Fernandes
  • Patent number: 7870558
    Abstract: Sharing access to resources using an inter-process communication (“IPC”) provides a connection in which references to resources are passed from a sender to a receiver in a trusted third party environment. A sender in possession of a reference to a resource, such as a handle to an object, may initiate the connection with the receiver. In turn, the receiver may accept or refuse the connection, and may further specify the types of resources in which the receiver is interested when accepting through the connection. Sharing access to resources in this manner advantageously insures that only a process that already has access to a resource is able to share that access with another process, and further that only processes that wish to do so will accept such access.
    Type: Grant
    Filed: July 15, 2005
    Date of Patent: January 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Genevieve Fernandes, Adrian Marinescu, Neill M. Clift, Robert H. Earhart, Adnan Ilik
  • Publication number: 20100325636
    Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
  • Publication number: 20100325098
    Abstract: A concurrent data structure allows synchronization to be elided for read accesses. Processing resources that remove one or more elements of the concurrent data structure are allowed to delete the elements only after all other processing resources have reached a safe point. Each processing resource maintains an indicator that indicates whether the processing resource has reached as safe point (i.e., will not access the concurrent data structure). When the indicators indicate that all processing resources have reached a safe point, elements of the data structure may be deleted.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Ringseth, Michael L. Chu, William R. Messmer, Marko Radmilac, Genevieve Fernandes
  • Publication number: 20100325637
    Abstract: A resource manager manages processing and other resources of schedulers of one or more processes executing on one or more computer systems. For each scheduler, the resource manager determines an initial allocation of resources based on the policy of the scheduler, the availability of resources, and the policies of other schedulers. The resource manager receives feedback from the schedulers and dynamically changes the allocation of resources of schedulers based on the feedback. The resource manager determines if changes improved the performance of schedulers and commits or rolls back the changes based on the determination.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Marko Radmilac, Genevieve Fernandes, Paul Ringseth
  • Publication number: 20100275207
    Abstract: Each processing resource in a scheduler of a process executing on a computer system maintains counts of the number of tasks that arrive at the processing resource and the number of tasks that complete on the processing resource. The counts are maintained in storage that is only writeable by the corresponding processing resource. The scheduler collects and sums the counts from each processing resource and provides statistics based on the summed counts and previous summed counts to a resource manager in response to a request from the resource manager. The scheduler does not reset the counts when the counts are collected and stores copies of the summed counts for use with the next request from the resource manager. The counts may be maintained without synchronization and with thread safety to minimize the impact of gathering statistics on the application.
    Type: Application
    Filed: April 23, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: Marko Radmilac, Paul Ringseth, Genevieve Fernandes, William R. Messmer, Niklas Gustafsson
  • Patent number: 7756841
    Abstract: A system and method for identity decisions and invalidation. Modified objects (e.g., files, executables, etc.) are flagged for reevaluation. Privileges associated with the object are only persisted if the modifications are determined to be authorized (e.g., updates and patches). In one embodiment, a tagging system registers to be notified of all writes, renames, truncations, moves, deletions, or any other relevant modifications to objects. If the tagging system detects a modification operation targeting the object, it invalidates all identity decisions cached with the object. The next time the object runs, the system does not recognize the object and it is forced to reevaluate its identity. Thus, patching and other write operations are still permitted, but the system detects the changed object and reevaluates the identity.
    Type: Grant
    Filed: March 22, 2005
    Date of Patent: July 13, 2010
    Assignee: Microsoft Corporation
    Inventors: David B. Probert, Eric Li, Genevieve Fernandes, John Rector