Patents by Inventor John Shek-Luen Ng

John Shek-Luen Ng 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: 6202203
    Abstract: A fast and efficient way of performing global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering makes use of an unknown value number and iterative processing of a worklist containing expressions assigned an unknown value number. A hash table is used to reduce storage and processing time.
    Type: Grant
    Filed: December 6, 1995
    Date of Patent: March 13, 2001
    Assignee: International Business Machines Corporation
    Inventor: John Shek-Luen Ng
  • Patent number: 6077314
    Abstract: Code motion and redundancy removal based on an Extended Global Value Numbering technique which performs value numbering beyond basic blocks and extended basic blocks. Full redundancies and partial redundancies are identified and iteratively processed until they are no longer movable or removable in the program. The identification and processing is aided by the use of Value Number Lists and Value Number Sets. Provides improved optimization of redundancy and partial redundancy with reduced compilation time and reduced storage.
    Type: Grant
    Filed: December 6, 1995
    Date of Patent: June 20, 2000
    Assignee: International Business Machines Corporation
    Inventor: John Shek-Luen Ng
  • Patent number: 6063133
    Abstract: A system and method for translating source code, comprising high level source code with embedded SQL statements, to p-code or machine-language instructions by a one-pass parsing mechanism. The one-pass parsing mechanism generates executable code without the need to generate an intermediate file. Additionally, the p-code or machine-language instructions are annotated with references to the line numbers of the corresponding source code, thereby allowing a source level debugger to debug the source code with embedded SQL statements.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: May 16, 2000
    Assignee: International Business Machines Corporation
    Inventors: Chin Hsiang Li, I-Shin-Andy Wang, Wei Young, Shu Huar Joseph Yeh, John Shek-Luen Ng, Kuo-Wei Hwang, Mir Hamid Pirahesh, Tak-Ming Lo
  • Patent number: 6041181
    Abstract: FORTRAN WHERE construct compilation and optimization is provided by excluding an assignment statement containing a transformational intrinsic function from loop fusion of the WHERE construct. To perform this loop fusion, intrastatement dependence analysis is performed within each assignment statement of the WHERE construct, and then interstatement dependence analysis is performed between each assignment statement and assignment statements subsequent to the assignment statement. Responsive to this dependence analysis, pairs of assignment statements which may not be fused into a single loop are identified, and non-fusion boundaries between adjacent assignment statements where assignment statements preceding a non-fusion boundary and assignment statements subsequent to the non-fusion boundary may not be fused into a single loop are identified. This fusion analysis yields a loop fusion configuration.
    Type: Grant
    Filed: July 23, 1997
    Date of Patent: March 21, 2000
    Assignee: International Business Machines Corporation
    Inventors: Dz Ching Ju, John Shek-Luen Ng, Vivek Sarkar
  • Patent number: 6035124
    Abstract: A fast and efficient way of performing extended global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering is further extended with a Value Number List, an ordered list of value numbers of an expression, and iterative processing of a worklist containing expressions which are recursively defined. A hash table is used to reduce storage and processing time.
    Type: Grant
    Filed: December 6, 1995
    Date of Patent: March 7, 2000
    Assignee: International Business Machines Corporation
    Inventor: John Shek-Luen Ng
  • Patent number: 5850550
    Abstract: A system and method for translating source code, comprising high level source code with embedded SQL statements, to p-code or machine-language instructions by a one-pass parsing mechanism. The one-pass parsing mechanism generates executable code without the need to generate an intermediate file. Additionally, the p-code or machine-language instructions are annotated with references to the line numbers of the corresponding source code, thereby allowing a source level debugger to debug the source code with embedded SQL statements.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: December 15, 1998
    Assignee: International Business Machine Corporation
    Inventors: Chin Hsiang Li, I-Shin Andy Wang, Wei Young, Shu Huar Joseph Yeh, John Shek-Luen Ng, Kuo-Wei Hwang, Mir Hamid Pirahesh, Tak-Ming Lo
  • Patent number: 5845126
    Abstract: Method of, system for, and computer program product for generating efficient code for a set of nested Fortran 90 array constructors without introducing temporary vectors by the use of normalized counters and by maintaining array constructor extent structure trees. Non-perfectly nested array constructors and array constructors with dynamic extents may be inlined. The results provided include a reduction in run-time memory storage usage and an improvement in execution time performance.
    Type: Grant
    Filed: December 6, 1995
    Date of Patent: December 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Dz Ching Ju, John Shek-Luen Ng
  • Patent number: 5809302
    Abstract: Described herein is a system and method for enabling an application to pass a structure containing a pointer member to an external entity, wherein the application represents a computer program executing in a computer system, and the computer program is written in a computer programming language that does not support pointers. The application declares a variable V, a structure type having a member P, and a variable M of the structure type. The application invokes a function written in a computer programming language that supports pointers. A reference to the variable V is passed to the function. The function, when executed, obtains and returns an address of the variable V. The application sets the member P in the variable M equal to the address of the variable V. The application then passes the variable M to an external entity. In this manner, the present invention enables a structure having a pointer embedded therein to be passed to the external entity.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: September 15, 1998
    Assignee: International Business Machines Corp.
    Inventors: I-Shin Andy Wang, Frederick Thomas Sharp, Rita Shiao-yuan Wu, John Shek-Luen Ng, Kuo-Wei Hwang, David Y. Chen
  • Patent number: 5742810
    Abstract: A system and method for passing arrays and structures as host variables to a stored procedure. An application program packs an array or structure into a binary large object (BLOB) and sends the BLOB to a database management system. An adapter called by the database management system, and coupled to the stored procedure, passes a reference to the data area in the BLOB to the stored procedure. After completion of the stored procedure, the BLOB is returned to the application program. Finally, upon the return from the stored procedure call, the application program unpacks the BLOB back into the array or structure.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: April 21, 1998
    Assignee: International Business Machines Corporation
    Inventors: John Shek-Luen Ng, Frederick Thomas Sharp, Mir Hamid Pirahesh, I-Shin Andy Wang, Gerald Herman Roth, Tak Ming Lo
  • Patent number: 5675804
    Abstract: A system and method for building and linking an interpretive procedure so as to enable a compiled computer program to invoke the interpretive procedure are described herein. A target object code is modified to include information identifying files associated with the interpretive procedure. A compiled representation of the interpretive procedure is generated by linking together adapter code, the modified target object code, and an interpreter. The compiled representation of the interpretive procedure is invocable by a compiled computer program. The adapter code is in binary and includes an interpreter command module. The interpreter command module when executed causes the interpreter to load and interpretively execute the files associated with the interpretive procedure. The adapter code also includes a parameter conversion module, which converts the parameter list to the interpretive computer language of the interpretive procedure.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: October 7, 1997
  • Patent number: 5657447
    Abstract: A system and method for transferring a file from a client platform to a server platform. A procedure.sub.-- to.sub.-- invoke parameter is set equal to information identifying a file transfer procedure located at the server platform. A pointer in a first "sqlvar" parameter is caused to point to the string representing the file, and a pointer in a second sqlvar parameter is caused to point to a file name of the file. The first and second sqlvar parameters are part of an input.sub.-- args parameter. A "sqleproc" function is invoked at the client platform. The procedure.sub.-- to.sub.-- invoke and input.sub.-- args parameters are passed to the sqleproc function. The sqleproc function when executed causes the input.sub.-- args parameter to be passed to the file transfer procedure at the server platform, and also causes the file transfer procedure to be invoked at the server platform.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: August 12, 1997