Patents by Inventor Jonathan C. Hardwick

Jonathan C. Hardwick 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: 8073671
    Abstract: Simulating an application. A method that may be practiced in a computing environment configured for simulating an application modeled by an application model deployed in a performance scenario of a computing system by deploying service models of the application model to device models modeling devices. The method includes referencing a performance scenario to obtain a transaction being modeled as originating from a first device model. The transaction invokes of a first service model. The first service model specifies hardware actions for simulation. The first service model is referenced to determine the hardware actions for simulation and the next referenced service. The next referenced service specifies hardware actions to be added to the transaction and may specify invocation of other service models. A chain of hardware actions is generated by following the invocation path of the service models. The hardware actions are applied to device models to simulate the transaction.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Efstathios Papaefstathiou, John M. Oslake, Jonathan C. Hardwick, Pavel A. Dournov
  • Patent number: 7996204
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: August 9, 2011
    Assignee: Microsoft Corporation
    Inventors: John M Oslake, Pavel A Dournov, Jonathan C. Hardwick, Kevin J Savage
  • Patent number: 7979520
    Abstract: A prescribed system architecture is recommended to an entity that desires to implement a system supporting distributed applications. A performance scenario is created based on anticipated usage, devices employed by servers running the distributed applications, and topology of locations using the servers. An optimized scenario may be provided by determining device optimization, different use load, and if possible consolidation of distributed applications on servers.
    Type: Grant
    Filed: April 15, 2005
    Date of Patent: July 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Jonathan C. Hardwick, Efstathios Papaefstathiou, David E Guimbellot, John M Oslake, Pavel A Dournov
  • Patent number: 7974827
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: July 5, 2011
    Assignee: Microsoft Corporation
    Inventors: John M Oslake, Pavel A Dournov, Jonathan C. Hardwick, Kevin J Savage
  • Patent number: 7877250
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: January 25, 2011
    Inventors: John M Oslake, Pavel A Dournov, Jonathan C. Hardwick, Kevin J Savage
  • Patent number: 7747986
    Abstract: A computing system for determining performance factors for using in performance modeling of a deployed subject system, is presented. The computing system includes a plurality of software components comprising the subject system. Each of the components is susceptible to event tracing while executing on the computing system. The computing system includes a tracing component. The tracing component is configured to trace events of the components of the subject system as they execute. The computing system includes a transaction identification table. The transaction identification table comprises starting and ending actions for transactions performed by the subject system. The computing system also includes a transaction identification component that identifies actions from traced events, identifies related actions corresponding to a transaction according to the starting and ending actions in the transaction identification table, and stores the related actions in the transaction workflow data store.
    Type: Grant
    Filed: June 15, 2005
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Glenn F LaVigne, Efstathios Papaefstathiou, Jonathan C Hardwick, Quanzhan Zheng, Rebecca Isaacs, Paul Barham
  • Patent number: 7689676
    Abstract: In accordance with certain aspects of the model-based policy application, each of a plurality of policies is associated with appropriate parts of a model of a heterogeneous system. A deployment agent is invoked to apply each of the plurality of policies to components associated with the parts of the model. An identification of a change to one of the plurality of policies is received, and the deployment agent is also invoked to apply the changed policy to selected ones of the components associated with the parts of the model.
    Type: Grant
    Filed: January 12, 2007
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Anders B. Vinberg, Bruce W. Copeland, Robert Fries, Kevin D. J. Grealish, Jonathan C. Hardwick, Michael J. Healy, Galen C. Hunt, Aamer Hydrie, David C. James, Anand Lakshminarayanan, Edwin R. Lassettre, Raymond W. McCollum, Rob Mensching, Mazhar Mohammed, Rajagopalan Badri Narayanan, Geoffrey H. Outhred, Zhengkai Kenneth Pan, Efstathios Papaefstathiou, John M. Parchem, Vij Rajarajan, Ashvinkumar J. Sanghvi, Bassam Tabbara, Rene Antonio Vega, Vitaly Voloshin, Robert V. Welland, John H. Wilson, Eric J. Winner, Jeffrey A. Woolsey
  • Patent number: 7599827
    Abstract: A performance prediction simulator gives effect to the resource contention among multiple resources in a simulated system by adjusting event durations appropriately. A resource topology tree defining the resource configuration of the system is input to the simulator. The simulator includes an evaluation engine that determines the amount of resource used during each simulation interval of the simulation and records the resource usage in a resource contention timeline, which can be displayed to a user. The amount of resource used during a simulation is also used to adjust the event duration calculations of the hardware models associated with each event.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Jonathan C. Hardwick, Efstathios Papaefstathiou
  • Publication number: 20090006071
    Abstract: A method and system for defining performance models of distributed applications such as distributed systems or network systems in a way that combines discrete and analytical models and simulating such performance models for analyzing software performance and impacts on devices of the distributed applications is described. Also described is a method for accelerating the simulation process by converting the discrete load into aggregate load dynamically based on the statistical analysis of the simulation results.
    Type: Application
    Filed: June 29, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Pavel A. Dournov, John Morgan Oslake, Glenn R. Peterson, Jonathan C. Hardwick, Hemanth Kaza
  • Publication number: 20080262824
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Application
    Filed: April 23, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: John M. Oslake, Pavel A. Dournov, Jonathan C. Hardwick, Kevin J. Savage
  • Publication number: 20080262823
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Application
    Filed: April 23, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: John M Oslake, Pavel A Dournov, Jonathan C Hardwick, Kevin J Savage
  • Publication number: 20080262822
    Abstract: Operational resource modeling is usable to analyze application and computer system performance over a wide range of hypothetical scenarios. Operational resource modeling involves creating and training one or more resource models, and/or simulating hypothetical scenarios using resource models.
    Type: Application
    Filed: April 23, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: Jonathan C. Hardwick, Pavel A. Dournov, John M. Oslake, Kevin J. Savage
  • Patent number: 7440883
    Abstract: A performance prediction simulator gives effect to the resource contention among multiple resources in a simulated system by adjusting event durations appropriately. A resource topology tree defining the resource configuration of the system is input to the simulator. The simulator includes an evaluation engine that determines the amount of resource used during each simulation interval of the simulation and records the resource usage in a resource contention timeline, which can be displayed to a user. The amount of resource used during a simulation is also used to adjust the event duration calculations of the hardware models associated with each event.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: October 21, 2008
    Assignee: Microsoft Corporation
    Inventors: Jonathan C. Hardwick, Efstathios Papaefstathiou
  • Patent number: 7167821
    Abstract: A performance prediction simulator gives effect to the resource contention among multiple resources in a simulated system by adjusting event durations appropriately. A resource topology tree defining the resource configuration of the system is input to the simulator. The simulator includes an evaluation engine that determines the amount of resource used during each simulation interval of the simulation and records the resource usage in a resource contention timeline, which can be displayed to a user. The amount of resource used during a simulation is also used to adjust the event duration calculations of the hardware models associated with each event.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: January 23, 2007
    Assignee: Microsoft Corporation
    Inventors: Jonathan C. Hardwick, Efstathios Papaefstathiou
  • Patent number: 6292822
    Abstract: A parallel programming system implements dynamic load balancing to distribute processing workload to available processors in a parallel computer. A preprocessor in the system converts a nested parallel program into sequential code executable on processors of the parallel computer and calls to a message passing interface for inter-processor communication among the processors. When processing a nested parallel program, the preprocessor inserts a test function to evaluate the computational cost of a function call. At runtime, processors evaluate the test function to determine whether to ship a function call to another processor. This approach enables processors to offload function calls to other available processors in cases where it is more efficient to incur the cost of shipping the function call and receiving the results than it is to process the function call on the original processor.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: September 18, 2001
    Assignee: Microsoft Corporation
    Inventor: Jonathan C. Hardwick
  • Patent number: 6212617
    Abstract: A parallel programming system provides a lazy collection oriented data type that reduces inter-processor communication in programs executed on parallel computers. The lazy collection oriented data type is provided as a data type in a parallel programming language. The parallel language supports both data-parallel and control-parallel operations. These operations take advantage of the lazy collection oriented data type to defer or reduce inter-processor communication until an operation on the data type requires that it be balanced across a set of processors.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: April 3, 2001
    Assignee: Microsoft Corporation
    Inventor: Jonathan C. Hardwick
  • Patent number: 6106575
    Abstract: A preprocessor for a nested parallel language converts a program written in the nested parallel language to a sequential programming language and calls to a message passing interface. The sequential programming language and message passing calls are compiled and linked with run-time libraries supporting functions in the nested parallel language and the message passing interface. The nested parallel language includes both control parallel and data parallel operations. In addition, it provides a collection oriented data type for data parallel operations. By converting the nested parallel language to sequential code and the message passing interface, the preprocessor enables programs in the nested parallel language to be easily ported to variety of parallel computers.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: August 22, 2000
    Assignee: Microsoft Corporation
    Inventor: Jonathan C. Hardwick
  • Patent number: 6088511
    Abstract: A nested parallel implementation of 2D triangulation method recursively sub-divides processors of a parallel computer into asynchronous processor teams. Each of the teams uses data parallel operations to compute a partitioning of the collection of points distributed to it. When each team has a single processor as a result of the recursive partitioning steps, the processors switch to a serial version of the 2D triangulation method. The nested parallel implementation has two levels of recursion: 1) one to partition a collection of points into two new sets; and 2) a second layer nested in the first to compute convex hulls used to form a border around the two new sets of points. In each layer of recursion the implementation sub-divides processors into teams and assigns a control parallel function to each team. Within each team, the processors perform data parallel operations on the collection of points distributed to the processors in the team.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: July 11, 2000
    Assignee: Microsoft Corporation
    Inventor: Jonathan C. Hardwick