Patents by Inventor Perry Cheng

Perry Cheng 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).

  • Publication number: 20240133263
    Abstract: The packer system includes a packer mandrel, an upper support or gage ring, a seal member, an upper slip device, an upper cone, a lower cone, a lower slip device, a setting sleeve, and a setting piston. The seal member has a run-in position and a set position. The set position seals against a borehole at a location in a borehole. The setting sleeve has a bypass position to transfer load of the setting piston away from the lower slip device and to the lower cone, the seal member, and the upper cone to set the seal member and upper slip device before the lower slip device. The setting sleeve has a released position to separate from the setting piston so that the load of the setting piston can finally be applied on the lower slip device for expansion of the lower slip device at the proper time and location.
    Type: Application
    Filed: October 24, 2022
    Publication date: April 25, 2024
    Inventors: Kwami ROBERTS, Jeff MAYNARD, Jianpeng YUE, Peng CHENG, Damon NETTLES, Perry BATSON
  • Publication number: 20200204618
    Abstract: A serverless function execution system enables fast, efficient and flexible deployment and execution of serverless functions. Functions in the system are stored as code at a location accessible by a Uniform Resource Locator (URL) or unique hostname. A combinatorial URL, the combination of the two locations, is utilized to combine specific code with a specific computation system to execute that code along with optional parameters. The system utilizes function isolation to prevent an executing function from being able to directly access or modify unauthorized data or processes external to the isolation unit.
    Type: Application
    Filed: December 23, 2019
    Publication date: June 25, 2020
    Inventors: Anshu Agarwal, Perry Cheng, Rodric Rabbah, Eric Sven-Johan Swildens
  • Patent number: 8429658
    Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks of a thread associated with a processor comprises the following steps. A request to execute a task of a first task type within the thread is received. A determination is made whether the processor is currently executing a critical section of a task of a second task type within the thread. When it is determined that the processor is not executing a critical section of the second task type within the thread, the task of the first task type is executed within the thread. When it is determined that the processor is executing a critical section of the first task type within the thread, a determination is made whether the request for execution of the task of the first task type within the thread is deferrable based on a prior execution of one or more units of the first task type.
    Type: Grant
    Filed: October 16, 2008
    Date of Patent: April 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
  • Patent number: 8205203
    Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks in threads associated with at least one processor comprises the following steps. One or more units of a first task type are executed. A count of the one or more units of the first task type executed is maintained. The count represents one or more credits accumulated by the processor for executing the one or more units of a first task type. One or more units of a second task type are executed. During execution of the one or more units of a second task type, a request to execute at least one further unit of the first task type is received. The amount of credits in the count is checked. When it is determined that there is sufficient credit in the count, the request to execute the at least one further unit of the first task type is forgone, and execution of the one or more units of the second task type continues.
    Type: Grant
    Filed: October 16, 2008
    Date of Patent: June 19, 2012
    Assignee: International Business Machines Corporation
    Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
  • Patent number: 7996446
    Abstract: A method for performing garbage collection for a real-time application uses a memory for determining an amount of memory required to run the garbage collection process and waits until the determined amount of memory is available, then allocates memory space for the application by segmenting the memory space into a number of pages of a predetermined size. A mutator is used for assuring that only non-null, unmarked objects are placed into a write buffer. A hybrid collector is used for removing the dead objects and defragmenting the memory space.
    Type: Grant
    Filed: August 10, 2009
    Date of Patent: August 9, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7984083
    Abstract: A garbage collection system that needs to meet real-time requirements uses an eager read barrier that performs a forwarding operation as soon as a quantity is loaded. The barrier maintains a to-space invariant by including a forwarding pointer in the header of objects to be moved or accessed that normally points to the object itself. However, if the object has been moved, the forwarding pointer points to the new object location. The eager read barrier maintains the registers and stack cells such that the registers and stack cells always point into to-space. Barrier-sinking and common sub-expression elimination are used to minimize the overhead associated with the read barrier.
    Type: Grant
    Filed: June 25, 2010
    Date of Patent: July 19, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7917737
    Abstract: A method of performing data and pointer compression includes, in a buffer which is formed between a processor and a level one cache and stores plural tags and full-word values associated with the tags, when the buffer is presented with an address, breaking the address into a line number which indexes a set of the full-word values, and a tag which is used as a key to determine whether a value in the set of full-word values includes a value associated with the presented address, if a tag in the presented address matches a tag in the buffer, returning a full-word value in the buffer which is associated with the tag, and storing the returned full-word value in a destination register of an instruction which originated the presented address, and if a tag in the presented address does not match a tag in the buffer, generating a fault and branching control to a pre-defined handler.
    Type: Grant
    Filed: October 22, 2008
    Date of Patent: March 29, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, David Paul Grove
  • Publication number: 20100262636
    Abstract: A garbage collection system that needs to meet real-time requirements uses an eager read barrier that performs a forwarding operation as soon as a quantity is loaded. The barrier maintains a to-space invariant by including a forwarding pointer in the header of objects to be moved or accessed that normally points to the object itself. However, if the object has been moved, the forwarding pointer points to the new object location. The eager read barrier maintains the registers and stack cells such that the registers and stack cells always point into to-space. Barrier-sinking and common sub-expression elimination are used to minimize the overhead associated with the read barrier.
    Type: Application
    Filed: June 25, 2010
    Publication date: October 14, 2010
    Applicant: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7792880
    Abstract: A garbage collection system that needs to meet real-time requirements breaks large objects that need to be moved into a series of arraylets. The arraylets are sized such that the amount of time required to move the arraylets is bounded by a predetermined amount. The arrays are preferably uniformly represented in the header for each array with a series of arraylet pointers that indicate the location of the arraylets. Control-flow graph splitting is used to eliminate multiple tests and allow common sub-expression elimination. Strip-mining can also be used to improve the efficiency of the process.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Matthew Arnold, David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7747659
    Abstract: A garbage collection system that needs to meet real-time requirements uses an eager read barrier that performs a forwarding operation as soon as a quantity is loaded. The barrier maintains a to-space invariant by including a forwarding pointer in the header of objects to be moved or accessed that normally points to the object itself. However, if the object has been moved, the forwarding pointer points to the new object location. The eager read barrier maintains the registers and stack cells such that the registers and stack cells always point into to-space. Barrier-sinking and common sub-expression elimination are used to minimize the overhead associated with the read barrier.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Publication number: 20100107168
    Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks in threads associated with at least one processor comprises the following steps. One or more units of a first task type are executed. A count of the one or more units of the first task type executed is maintained. The count represents one or more credits accumulated by the processor for executing the one or more units of a first task type. One or more units of a second task type are executed. During execution of the one or more units of a second task type, a request to execute at least one further unit of the first task type is received. The amount of credits in the count is checked. When it is determined that there is sufficient credit in the count, the request to execute the at least one further unit of the first task type is forgone, and execution of the one or more units of the second task type continues.
    Type: Application
    Filed: October 16, 2008
    Publication date: April 29, 2010
    Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
  • Publication number: 20100100575
    Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks of a thread associated with a processor comprises the following steps. A request to execute a task of a first task type within the thread is received. A determination is made whether the processor is currently executing a critical section of a task of a second task type within the thread. When it is determined that the processor is not executing a critical section of the second task type within the thread, the task of the first task type is executed within the thread. When it is determined that the processor is executing a critical section of the first task type within the thread, a determination is made whether the request for execution of the task of the first task type within the thread is deferrable based on a prior execution of one or more units of the first task type.
    Type: Application
    Filed: October 16, 2008
    Publication date: April 22, 2010
    Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
  • Patent number: 7702663
    Abstract: A garbage collection system that needs to meet real-time requirements utilizes a read barrier that is implemented in an optimizing compiler. The read barrier is implemented with a forwarding pointer positioned in a header of each object. The forwarding pointer points to the object unless the object has been moved. The barrier is optimized by breaking the barrier and applying barrier sinking to sink the read barrier to its point of use and by using sub-expression elimination. A null-check for the read barrier is combined with a null-check required by the real-time application. All objects are located and moved with the collector to minimize variations in mutator utilization.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: April 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Publication number: 20090300086
    Abstract: A method for performing garbage collection for a real-time application uses a memory for determining an amount of memory required to run the garbage collection process and waits until the determined amount of memory is available, then allocates memory space for the application by segmenting the memory space into a number of pages of a predetermined size. A mutator is used for assuring that only non-null, unmarked objects are placed into a write buffer. A hybrid collector is used for removing the dead objects and defragmenting the memory space.
    Type: Application
    Filed: August 10, 2009
    Publication date: December 3, 2009
    Applicant: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7624137
    Abstract: A garbage collection system that needs to meet real-time requirements with guaranteed space bounds uses a mostly non-copying hybrid collector that performs defragmentation with limited copying of objects. The garbage collection and the real-time application are interleaved on a time-based schedule. An interval for the interleaving is selected based upon a garbage collector processing rate, a garbage generation rate and a memory allocation rate of the real-time application. An amount of memory for the real-time application and the garbage collection process is selected based upon the maximum excess memory requirement of the garbage collection process and the maximum memory requirement for the application. Defragmentation is only performed when an amount of available memory falls below a predetermined level.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: November 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7519639
    Abstract: A garbage collection process for managing a memory includes a defragmentation cycle. The garbage collection process is interleaved with a running application on a time-based or work-based schedule. The memory is divided into pages which are further divided into blocks falling into one of a number of block size classes. Objects that were not used by applications during the last garbage collection phase are marked. Objects that were used are moved from pages containing the least live objects to pages containing the most live objects. Objects of the largest block size classes are moved first and objects of the smallest block size class are moved last. The garbage collection interval can be selected to satisfy desired CPU utilization or memory overhead requirements.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: April 14, 2009
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Publication number: 20090049282
    Abstract: A method of performing data and pointer compression includes, in a buffer which is formed between a processor and a level one cache and stores plural tags and full-word values associated with the tags, when the buffer is presented with an address, breaking the address into a line number which indexes a set of the full-word values, and a tag which is used as a key to determine whether a value in the set of full-word values includes a value associated with the presented address, if a tag in the presented address matches a tag in the buffer, returning a full-word value in the buffer which is associated with the tag, and storing the returned full-word value in a destination register of an instruction which originated the presented address, and if a tag in the presented address does not match a tag in the buffer, generating a fault and branching control to a pre-defined handler.
    Type: Application
    Filed: October 22, 2008
    Publication date: February 19, 2009
    Applicant: International Business Machines Corporation
    Inventors: David F. Bacon, Perry Cheng, David Paul Grove
  • Patent number: 7457940
    Abstract: A system and method for managing data includes executing a set of instructions which are used for operating on compressed data and another set of instructions (e.g., different instructions) which are used for operating on uncompressed data.
    Type: Grant
    Filed: November 16, 2004
    Date of Patent: November 25, 2008
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, David Paul Grove
  • Publication number: 20070022149
    Abstract: A method is provided for garbage collection in a computer system that executes at least one mutator. The collector scans objects stored in a memory of the computer system so as to create a wavefront behind which are the objects that have already been scanned. The collector records progress information that indicates the collector's progress in scanning the fields of at least one of the objects, and the behavior of the mutator is changed when mutating the one object based on the progress information that is currently recorded. In another method, the collector scans objects stored in a memory of the computer system so as to create a wavefront behind which are the objects that have already been scanned, and reference counts are maintained behind the wavefront such that each of the reference counts indicates the number of pointers from already scanned fields of objects to unscanned objects.
    Type: Application
    Filed: July 22, 2005
    Publication date: January 25, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Bacon, Perry Cheng, David Grove, Martin Vechev
  • Publication number: 20060106986
    Abstract: A system and method for managing data includes executing a set of instructions which are used for operating on compressed data and another set of instructions (e.g., different instructions) which are used for operating on uncompressed data.
    Type: Application
    Filed: November 16, 2004
    Publication date: May 18, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Bacon, Perry Cheng, David Grove