Patents by Inventor Umesh S. Vaishampayan

Umesh S. Vaishampayan 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: 8949518
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: February 3, 2015
    Assignee: Apple Inc.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller
  • Patent number: 8930324
    Abstract: Guarded file access operations are provided for creating and using guarded file descriptors, which can detect and prevent erroneous file access operations in computer programs. A file descriptor can be associated with a guard identifier to create a guarded file descriptor. The association can be established when the file is opened, and can be maintained independently of the computer program, which ordinarily maintains its own association between files, file descriptors, and guard identifiers. Subsequent file operations using the guarded file descriptor check that the guard identifier previously associated with that file descriptor is presented, and generate errors without performing the requested file operations if the correct guard identifier is not presented. This check serves as a validation of the computer program's use of file descriptors. An error and stack trace can be generated for use in analyzing a cause of the guard violation.
    Type: Grant
    Filed: September 15, 2012
    Date of Patent: January 6, 2015
    Inventors: Russell A. Blaine, Timothy P. Marsland, Benjamin H. Nham, Adam C. Swift, Benjamin C. Trumbull, Umesh S. Vaishampayan
  • Patent number: 8812761
    Abstract: A system and method are described for warming a processor from a low power state in anticipation of a time critical interrupt. For example, one embodiment of a method comprises: detecting that a time-critical interrupt will require processor resources at some point in the future; estimating a time at which the time-critical interrupt will be triggered; scheduling a timer interrupt to fire at a specified time prior to the estimated time that the time-critical interrupt will be triggered, the timer interrupt being scheduled with sufficient time to ensure that the processor is warmed to a level at which it is capable of handling the time-critical interrupt at the time that the time-critical interrupt is triggered; and responsively triggering the timer interrupt at the specified time prior to the time critical interrupt.
    Type: Grant
    Filed: October 28, 2011
    Date of Patent: August 19, 2014
    Assignee: Apple Inc.
    Inventors: Daniel S. Heller, Christopher G. Peak, Guy G. Sotomayor, Umesh S. Vaishampayan
  • Publication number: 20140089627
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Application
    Filed: December 3, 2013
    Publication date: March 27, 2014
    Applicant: Apple Inc.
    Inventors: UMESH S. VAISHAMPAYAN, DANIEL A. CHIMENE, DANIEL S. HELLER
  • Patent number: 8626993
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Grant
    Filed: November 18, 2011
    Date of Patent: January 7, 2014
    Assignee: Apple Inc.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller
  • Publication number: 20130339313
    Abstract: Guarded file access operations are provided for creating and using guarded file descriptors, which can detect and prevent erroneous file access operations in computer programs. A file descriptor can be associated with a guard identifier to create a guarded file descriptor. The association can be established when the file is opened, and can be maintained independently of the computer program, which ordinarily maintains its own association between files, file descriptors, and guard identifiers. Subsequent file operations using the guarded file descriptor check that the guard identifier previously associated with that file descriptor is presented, and generate errors without performing the requested file operations if the correct guard identifier is not presented. This check serves as a validation of the computer program's use of file descriptors. An error and stack trace can be generated for use in analyzing a cause of the guard violation.
    Type: Application
    Filed: September 15, 2012
    Publication date: December 19, 2013
    Applicant: Apple Inc.
    Inventors: Russell A. BLAINE, Timothy P. Marsland, Benjamin H. Nham, Adam C. Swift, Benjamin C. Trumbull, Umesh S. Vaishampayan
  • Publication number: 20130332936
    Abstract: A method for resource management of a data processing system is described. According to one embodiment, a request is received via a programming interface from a program to modify a resource budget assigned to the program, where the resource budget specifies an amount of resources of the data processing system the program can utilize during an execution of the program. It is determined whether the program is entitled to modify the resource budget based on entitlement associated with the program. The resource budget for the program is modified if it is determined the program is entitled to modify the resource budget and the modified resource budget is enforced against the program during the execution of the program.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 12, 2013
    Inventors: James M. Magee, Russell A. Blaine, Umesh S. Vaishampayan
  • Publication number: 20130325543
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for tracking and managing resource usage through a ledger feature that can trigger complex real-time reactions. The resource tracking can be managed through a ledger module and a ledger data structure. The ledger data structure can be updated each time a task requests a resource. Additionally, as part of the update, the ledger module can verify whether a resource has been over consumed. In response to the detection of an over consumption, the ledger module can set a flag. At some later pointer when the thread is in a stable, well-understood point, the ledger module can check if the flag has been set. If the flag has been set, the ledger module can call the appropriate callback function, which can react to the over consumption in a resource specific manner.
    Type: Application
    Filed: September 5, 2012
    Publication date: December 5, 2013
    Applicant: Apple Inc
    Inventors: James Michael Magee, Nils A. Nieuwejaar, Umesh S. Vaishampayan
  • Publication number: 20130132699
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Application
    Filed: November 18, 2011
    Publication date: May 23, 2013
    Applicant: APPLE INC.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller
  • Publication number: 20130111092
    Abstract: A system and method are described for warming a processor from a low power state in anticipation of a time critical interrupt. For example, one embodiment of a method comprises: detecting that a time-critical interrupt will require processor resources at some point in the future; estimating a time at which the time-critical interrupt will be triggered; scheduling a timer interrupt to fire at a specified time prior to the estimated time that the time-critical interrupt will be triggered, the timer interrupt being scheduled with sufficient time to ensure that the processor is warmed to a level at which it is capable of handling the time-critical interrupt at the time that the time-critical interrupt is triggered; and responsively triggering the timer interrupt at the specified time prior to the time critical interrupt.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Inventors: Daniel S. Heller, Christopher G. Peak, Guy G. Sotomayor, Umesh S. Vaishampayan
  • Publication number: 20130007492
    Abstract: An indication that a subsystem is about to enter an idle state is received, and an original fire time for a next timer interrupt is determined. An idle state for a subsystem is selected based on the original fire time; and a new fire time for the next timer interrupt is determined based on the selected idle state to reduce timer interrupt latency. A current latency in exiting an idle state is measured. The measured latency is added to a running average of latencies for the idle state. A latency value is determined based on the running average and a worst case latency to adjust an original fire time for a next timer interrupt.
    Type: Application
    Filed: June 30, 2011
    Publication date: January 3, 2013
    Inventors: JOSEPH SOKOL, JR., Daniel S. Heller, Umesh S. Vaishampayan, Guy G. Sotomayor, JR.