Patents by Inventor Robert G. McDonald
Robert G. McDonald 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: 20210340972Abstract: A hydraulic pumping system can include a hydraulic actuator with a magnet that displaces with a piston, and a sensor that continuously detects a position of the magnet. A ferromagnetic wall of the hydraulic actuator is positioned between the magnet and the sensor. A hydraulic pumping method can include incrementally lowering a lower stroke extent of a rod string reciprocation over multiple reciprocation cycles of the rod string, and automatically varying the lower stroke extent or an upper stroke extent of the rod string reciprocation, in response to a measured vibration. Another hydraulic pumping method can include solving a wave equation in the rod string, and automatically varying a reciprocation speed of the rod string in response to a change in work performed during reciprocation cycles of the hydraulic actuator or a change in detected force versus displacement in different reciprocation cycles of the hydraulic actuator.Type: ApplicationFiled: July 7, 2021Publication date: November 4, 2021Inventors: Kenneth J. SCHMITT, Clark E. ROBISON, Robert G. MCDONALD, James S. TRAPANI, Benson THOMAS
-
Patent number: 11098708Abstract: A hydraulic pumping system can include a hydraulic actuator with a magnet that displaces with a piston, and a sensor that continuously detects a position of the magnet. A ferromagnetic wall of the hydraulic actuator is positioned between the magnet and the sensor. A hydraulic pumping method can include incrementally lowering a lower stroke extent of a rod string reciprocation over multiple reciprocation cycles of the rod string, and automatically varying the lower stroke extent or an upper stroke extent of the rod string reciprocation, in response to a measured vibration. Another hydraulic pumping method can include solving a wave equation in the rod string, and automatically varying a reciprocation speed of the rod string in response to a change in work performed during reciprocation cycles of the hydraulic actuator or a change in detected force versus displacement in different reciprocation cycles of the hydraulic actuator.Type: GrantFiled: December 2, 2015Date of Patent: August 24, 2021Assignee: Weatherford Technology Holdings, LLCInventors: Kenneth J. Schmitt, Clark E. Robison, Robert G. McDonald, James S. Trapani, Benson Thomas
-
Patent number: 10215012Abstract: A method for operating rod pumping unit for a wellbore includes measuring a parameter of the rod pumping unit at a first location; measuring the parameter of the rod pumping unit at a second location; and subtracting the measured parameters at the second location from the measured parameter at the first location.Type: GrantFiled: July 15, 2016Date of Patent: February 26, 2019Assignee: WEATHERFORD TECHNOLOGY HOLDINGS, LLCInventors: Robert G. McDonald, Ross E. Moffett, Jeffrey John Lembcke, Clark E. Robison
-
Publication number: 20180016889Abstract: A method for operating rod pumping unit for a wellbore includes measuring a parameter of the rod pumping unit at a first location; measuring the parameter of the rod pumping unit at a second location; and subtracting the measured parameters at the second location from the measured parameter at the first location.Type: ApplicationFiled: July 15, 2016Publication date: January 18, 2018Inventors: Robert G. MCDONALD, Ross E. MOFFETT, Jeffrey John LEMBCKE, Clark E. ROBISON
-
Publication number: 20170037714Abstract: A hydraulic pumping system can include a hydraulic actuator with a magnet that displaces with a piston, and a sensor that continuously detects a position of the magnet. A ferromagnetic wall of the hydraulic actuator is positioned between the magnet and the sensor. A hydraulic pumping method can include incrementally lowering a lower stroke extent of a rod string reciprocation over multiple reciprocation cycles of the rod string, and automatically varying the lower stroke extent or an upper stroke extent of the rod string reciprocation, in response to a measured vibration. Another hydraulic pumping method can include solving a wave equation in the rod string, and automatically varying a reciprocation speed of the rod string in response to a change in work performed during reciprocation cycles of the hydraulic actuator or a change in detected force versus displacement in different reciprocation cycles of the hydraulic actuator.Type: ApplicationFiled: December 2, 2015Publication date: February 9, 2017Inventors: Kenneth J. SCHMITT, Clark E. ROBISON, Robert G. MCDONALD, James S. TRAPANI, Benson THOMAS
-
Publication number: 20030041302Abstract: A markup language accelerator is coupled to receive a pointer to markup language data (e.g. from software executing on a CPU) and is configured to perform at least some of the parsing of the markup language data. For example, the markup language accelerator may parse the markup language data into tokens delimited by delimiters defined in the markup language. The software may communicate with the markup language accelerator using one or more commands to determine the various token types in the markup language data and, in some cases, may receive pointers to the tokens within the markup language data.Type: ApplicationFiled: August 3, 2001Publication date: February 27, 2003Inventor: Robert G. McDonald
-
Publication number: 20030028751Abstract: An acceleration engine may include a set of accelerators and a set of resources coupled to the accelerators. The resources may interface the accelerators to an interconnect, and may provide a programming interface to the accelerators. Since the resources handle interfacing the accelerators to a given interconnect, the accelerators may be insulated from the details of a given system. If more than one accelerator is included in the acceleration engine, some of the resources may be shared by the accelerators. For example, if the resources include a memory for storing data accessed by an accelerator, the memory may be shared between by the accelerators. A methodology for creating an acceleration engine is also described.Type: ApplicationFiled: August 3, 2001Publication date: February 6, 2003Inventors: Robert G. McDonald, Barry D. Williamson, Micah R. McDaniel
-
Publication number: 20020156977Abstract: A system includes a virtual caching mechanism. A virtual cache is mapped to an address range separate from the main memory address range within a cacheable address space of the system. Regenerable data may be generated from source data and may be allocated space in the virtual cache. The CPU may fetch the data from the virtual cache (and the data may be supplied by a control circuit monitoring the CPU interface for addresses within the address range corresponding to the virtual cache). The data may be cached in a CPU cache, but may not be stored in the main memory. Thus, the CPU may have access to the regenerable data via the CPU cache, but main memory locations may not be required to store the regenerable data. If the regenerable data is replaced in the CPU cache and subsequently requested by the CPU, the regenerable data may be regenerated and supplied to the CPU.Type: ApplicationFiled: April 23, 2001Publication date: October 24, 2002Inventors: John E. Derrick, Robert G. McDonald
-
Patent number: 6212542Abstract: A multiscalar processor and method of executing a multiscalar program within a multiscalar processor having a plurality of processing elements and a thread scheduler are provided. The multiscalar program includes a plurality of threads that are each composed of one or more instructions of a selected instruction set architecture. Each of the plurality of threads has a single entry point and a plurality of possible exit points. The multiscalar program further comprises thread code including a plurality of data structures that are each associated with a respective one of the plurality of threads. According to the method, a third data structure among the plurality of data structures is supplied to the thread scheduler. The third data structure, which is associated with a third thread among the plurality of threads, specifies a first data structure associated with a first possible exit point of the third thread and a second data structure associated with a second possible exit point of the third thread.Type: GrantFiled: December 16, 1996Date of Patent: April 3, 2001Assignee: International Business Machines CorporationInventors: James A. Kahle, Soummya Mallick, Robert G. McDonald, Edward L. Swarthout
-
Patent number: 5961639Abstract: A processor and method of executing a program within a processor are provided. According to the method, a plurality of program instructions comprising a program and a set of auxiliary instructions are stored. An instruction stream including selected ones of the plurality of program instructions is supplied to the processor. In response to the processor processing a program instruction within the instruction stream that has an associated auxiliary instruction within the set of auxiliary instructions, the associated auxiliary instruction is automatically inserted within the instruction stream and the associated auxiliary instruction is executed within the processor.Type: GrantFiled: December 16, 1996Date of Patent: October 5, 1999Assignee: International Business Machines CorporationInventors: Soummya Mallick, Robert G. McDonald, Edward L. Swarthout
-
Patent number: 5913925Abstract: A method and system for constructing a program are provided. According to the method, each of a plurality of instructions are assigned to at least one of a plurality of threads. The plurality of threads include first, second, and third threads, where the third thread follows the first thread and precedes the second thread in a logical program order. A data structure associated with the first thread is then constructed. The data structure includes an indication that execution of the second thread is to be initiated prior to initiation of execution of the third thread. According to one embodiment, the indication within the data structure is a pointer that specifies a second data structure associated with the second thread.Type: GrantFiled: December 16, 1996Date of Patent: June 22, 1999Assignee: International Business Machines CorporationInventors: James A. Kahle, Soummya Mallick, Robert G. McDonald
-
Patent number: 5887166Abstract: A method and system are provided for constructing a program executable by a processor including one or more processing elements for executing threads and a thread scheduler for assigning threads to the processing elements for execution. According to the method, a plurality of threads are provided that each include at least one control flow instruction. From one or more control flow instructions within the plurality of threads, a condition upon which execution of a particular thread depends is determined. In response to the determination, at least one navigation instruction executable by the thread scheduler is created that indicates that the particular thread is to be assigned to one of the processing elements for execution in response to the condition.Type: GrantFiled: December 16, 1996Date of Patent: March 23, 1999Assignee: International Business Machines CorporationInventors: Soummya Mallick, Robert G. McDonald, Edward L. Swarthout
-
Patent number: 5802386Abstract: Instructions are efficiently scheduled for execution based on a stored identification of the first processor cycle when a result of a previous instruction required as an operand for the instruction to be scheduled will become available. Examination of stored processor cycle identifications for the operands of an instruction reveals the earliest processor cycle when the instruction may be executed. By selecting the greater of the largest stored processor cycle identification for an operand of the instruction and the earliest available processor cycle for an execution unit required to execute the instruction, the instruction is efficiently scheduled for the earliest possible execution. Latency of previous instructions in generating an operand of the instruction being scheduled is automatically accommodated.Type: GrantFiled: November 19, 1996Date of Patent: September 1, 1998Assignee: International Business Machines CorporationInventors: James A. Kahle, Soummya Mallick, Robert G. McDonald