Patents Examined by Hoang-Vu Antony Nguyen-Ba
  • Patent number: 6243861
    Abstract: A program development system which develops a program sequence by generating a diagram composed of a combination of icons, and which can apply an object-oriented scheme to the development of an application program for a parallel, real time processor. Each program entity symbolized by one of the icons includes a pre-processing section coded in a programming language for determining parameters in a message issued to an object; a function section for storing information about a linkage between the icon symbolizing the program entity and a procedure included in one of objects in an object library; and a post-processing section coded in a programming language for interpreting a message sent back from the object. When executing the program, each program entity is linked with the procedure in the object in the object library. This makes it possible to reduce coding labor, and to improve the quality of the program.
    Type: Grant
    Filed: February 5, 1998
    Date of Patent: June 5, 2001
    Assignee: Oki Electric Industry Co., Ltd.
    Inventors: Tetsuji Nitta, Koji Hashimoto, Kiyoshi Yamanaka
  • Patent number: 6237141
    Abstract: Methods and apparatus for dynamically determining whether portions of code should be interpreted or compiled in order to optimize a software application during run-time are disclosed. According to one aspect of the present invention, computer-implemented method for run-time processing of a computer program which includes byte-codes arranged as a plurality of methods includes invoking a first method selected from the plurality of methods. Invoking the first selected method involves interpreting the first selected method. An invocation tracker which is arranged to track the number of invocations of the first selected method is updated, and a determination is made regarding when the invocation tracker indicates that the number of invocations of the first selected method exceeds a threshold value. The first selected method is compiled when it is determined that the invocation tracker indicates that the number of invocations of the first selected method exceeds a threshold value.
    Type: Grant
    Filed: August 2, 1999
    Date of Patent: May 22, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Urs Hölzle, Robert Griesemer, David Griswold
  • Patent number: 6237138
    Abstract: Present methods available to user centered design practitioners for gathering information pertaining to end-user usability of computer applications have proven be expensive, labour intensive, time consuming and somewhat ineffective. A usability software tool is described which results in relatively simple and effective feedback of end-users reactions to the use of software applications. A critical event is identified by the user and the screen activity for a period of time prior to the critical event is captured. A file of these screen-clips as well as textual information entered by the end-user is provided to the design practitioner for review and analysis.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: May 22, 2001
    Assignee: International Business Machines Corp.
    Inventors: Don E. Hameluck, Vince V. Velocci
  • Patent number: 6237135
    Abstract: A component-based, rapid application development (RAD) Java system providing visual designers (i.e., wizards) and methodology allowing a developer (user) to create Java Beans-compatible components rapidly and easily is described. In typical operation of the system, the user may generate a “bean” component by invoking a wizard-based interface that implements methodology for automatically generating and managing the bean. The user employs the wizard to specify information about the bean, such as the name of the bean, the package it will be in, and the class it extends from. In response to the user input, the system creates a bean with the name the user specified, places it in the user's current project, and displays the source code generated for the bean.
    Type: Grant
    Filed: September 11, 1998
    Date of Patent: May 22, 2001
    Assignee: Borland Software Corporation
    Inventor: Michael Timbol
  • Patent number: 6226784
    Abstract: A reliable and repeatable process for specifying, developing, distributing, and monitoring a software system or application within a dynamic environment includes the steps of specifying a set of software system requirements during a discovery process within a data processing environment, establishing a development and delivery schedule for distribution of the software system, developing a software system corresponding to the software system requirements during a development process, and developing and testing an install package to be used to install the software system in a test environment within the data processing environment. The install package includes the software system and routines configured to automatically instantiate the software system in the test environment. The developing and testing step takes a first amount of time.
    Type: Grant
    Filed: October 14, 1998
    Date of Patent: May 1, 2001
    Assignee: MCI Communications Corporation
    Inventors: Marty Holmes, Imran Jan, Kenneth Lockie, Kimberley L. McGuire
  • Patent number: 6216261
    Abstract: A method and apparatus for generating generic programming instructions using visual programming begins by providing a plurality of logical states that are interdependently related and include a set of programming options. When a programming option is selected, out of the set of programming options, for one of the plurality of logical states, the selected programming option is detected by a processing module. These programming options allow a user to change the characteristics of an image such as its color or brightness. Additionally, generic programming instructions corresponding to the selected programming option are provided to the user. The generic programming instructions are source code that is generated when a programming option is selected. With such a method and apparatus, generic programming instructions can be generated using visual programming that provides a set number of linked programming language blocks for use in video graphics processing.
    Type: Grant
    Filed: August 27, 1998
    Date of Patent: April 10, 2001
    Assignee: ATI Technologies Inc.
    Inventor: Jason Loren Mitchell
  • Patent number: 6212678
    Abstract: A method and apparatus with carrying out computer operations of push and pop. The series of program sections including an interpretive program or module which interprets intermediate code are constructed to consider a series of registers as all or part of a stack for holding operands. Each program section is arranged and considered a different one of the series of registers to be at the top of the stack. The switching from one program section to another to perform the pushes and pops is performed as a function of the register that is at the top of the stack preferably without normally copying the data into the registers. The series of program sections may be ordered in the same sequence as the sequence of the registers that are considered to be at the top of the stack of the program sections.
    Type: Grant
    Filed: July 27, 1998
    Date of Patent: April 3, 2001
    Assignee: Microapl Limited
    Inventor: Simon David Marsden
  • Patent number: 6209126
    Abstract: A stall detecting apparatus and a stall detecting method reduce labor and time to develop a program. The apparatus has an input portion for reading a source program, an interpreter for interpreting the read source program according to processor specifications, an instruction developing unit for developing the interpreted source program into states in pipeline stages of pipeline processing, and a stall detector for detecting stalls in the pipeline processing according to the states of the source program developed in the pipeline stages and providing stall information representing the detected stalls. The stall detecting method realizes these functions of the stall detecting apparatus. The method and apparatus statically analyze a given source program while the source program is being coded and efficiently detect stalls to occur in the source program. The method and apparatus display the stall information together with the source program and a pipeline image of the pipeline processing of the source program.
    Type: Grant
    Filed: August 27, 1998
    Date of Patent: March 27, 2001
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Yoko Sasaki, Atsushi Kunimatsu
  • Patent number: 6205576
    Abstract: A system and method for identifying indirect messaging relationships between software entities. Within a source code repository, all occurrences of calls to interface functions are identified together with communications objects to which these calls pertain. Each interface function call is categorized as either a “send” or a “receive” interface function call. A relationship is identified when a pair of interface function calls are located which pertain to the same communications object and one of the pair has a “send” type and the other of the pair has a “receive” type. By identifying pairs of this type, relationships between hierarchical software entities which contain the interface function calls are also simultaneously identified.
    Type: Grant
    Filed: June 5, 1998
    Date of Patent: March 20, 2001
    Assignee: Nortel Networks Limited
    Inventors: Norman Rajala, Djenana Campara, Nikolai Mansurov
  • Patent number: 6202206
    Abstract: A method for installing programs, settings and configurations in a network of a plurality of server and client computers is provided which involves the steps of designating one of said server computers having an interactive display interface to function as the primary server computer, preloading all of the programs to be installed in said server and client computers of the network into the primary server computer and running a sequence of the keystroke and cursor entries required to install said selected components and programs on said server and client computers as recorded in a data file representative of said sequence of entries stored in said primary server computer, whereby said programs and components are automatically loaded into the respective server and client computers in said network requiring said programs and components.
    Type: Grant
    Filed: May 14, 1998
    Date of Patent: March 13, 2001
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Randell Dean, Jeffrey Langdon Howard, Ingrid Milagros Rodriguez
  • Patent number: 6195792
    Abstract: A semantic-based system is provided to upgrade software written in a high level language of the kind having a type system and being statically compiled in compilers which check types and usages at compile time. The system employs conversion declarations which are inserted into the source code of the software and executed by the compiler. These declarations comprise a list of substitutable parts, with each substitutable part having a list of properties, a set of semantic patterns to be matched using the substitutable parts, and a result pattern showing what will be substituted for each matching portion of source code.
    Type: Grant
    Filed: February 19, 1998
    Date of Patent: February 27, 2001
    Assignee: Nortel Networks Limited
    Inventors: Mark Andrew Turnbull, Harold Joseph Johnson
  • Patent number: 6192514
    Abstract: A method is provided for responding to a computer system call requesting creation of such new process in a multicomputer system which includes multiple sites, each site including a local processor and local memory, and wherein the multicomputer system includes a distributed process directory which is distributed across multiple sites such that different site memories include different fragments of the process directory and such that the distributed process directory includes a multiplicity of slots, the method comprising the steps of: creating the new process on a respective site; providing in memory of at least one site a designation of sites for which respective process directory fragments include at least one unallocated slot; selecting a respective site from the designation; and referencing a respective process identification corresponding to the new process in a slot in a respective process directory fragment on the selected site.
    Type: Grant
    Filed: February 17, 1998
    Date of Patent: February 20, 2001
    Assignee: Unisys Corporation
    Inventor: Scott A. Lurndal
  • Patent number: 6185730
    Abstract: The present invention provides a method and apparatus for creating objects in an object-oriented environment, such as Java. An interface is selected for and along with an implementation object. The interface and the implementation object are morphed to create a dippable object in a new class that includes the selected interface. The dippable object is able to accept new behaviors though dips. The dippable object calls an instance of the implementation object in response to calls made to the interface.
    Type: Grant
    Filed: July 23, 1998
    Date of Patent: February 6, 2001
    Assignee: International Business Machines Corporation
    Inventor: Karalee Brown LeBlanc
  • Patent number: 6182275
    Abstract: A system for specifying, ordering, and building a build-to-order computer system. After initiating an ordering session, a user such as a purchaser or designer is presented with a list of options such as a list of operating systems offered by a computer system vendor or manufacturer that may be implemented on a targeted computer system. After receiving an indication of a selection from a first list of options, the system accesses a computer system readable master data base to generate a second list of options such as software programs wherein each option of the second list is compatible with the selection from the first list. The master data base includes entries for every option offered by the computer system vendor or manufacturer and includes at least one tag indicating compatibly with other entries in the master data base. The system can be used to present to the user a plurality of lists wherein all of the options presented are compatible with the previous selections.
    Type: Grant
    Filed: January 26, 1998
    Date of Patent: January 30, 2001
    Assignee: Dell USA, L.P.
    Inventors: Alan E. Beelitz, Paul J. Maia
  • Patent number: 6173442
    Abstract: An object structure's header (40) allocates a two-bit synchronization-state field (42) solely to monitor data for implementing synchronization on that object. When the object is locked by a particular execution thread, or when one or more execution threads are waiting for a lock or notification on that object, its header contains a pointer to monitor resources in the form of a linked list of lock records (50, 52, 54) associated with the threads involved. The synchronization-state field (42) ordinarily contains an indication of whether such a linked list exists and, if so, whether its first member is associated with a thread that has a lock on the object. When a thread attempts to gain access to that linked list, it employs an atomic swap operation to place a special busy value in that lock-state field (42) and write its execution-environment pointer into the object's header (40).
    Type: Grant
    Filed: February 5, 1999
    Date of Patent: January 9, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ole Agesen, David L. Detlefs, Alex Garthwaite, Ross C. Knippel, Y. Srinivas Ramakrishna, Derek White
  • Patent number: 6170083
    Abstract: Early Java Virtual Machine implementations executed Java programs very slowly since the Java byte codes were interpreted. Later, Java compilers were introduced to improve performance. To further improve performance, the present invention introduces a method of dynamically optimizing computer code. The method of the present invention first compiles Java byte code into an object code. While compiling, the method introduces instrumentation code into the object code that performs path profiling. Specifically, the path profiling instrumentation code determines which execution paths are executed most often by counting the number of times each possible execution path is executed. When a particular execution path exceeds a threshold value, then that execution path is deemed a “hot” execution path. The hot execution path is then dynamically optimized. The optimized hot path is then executed instead of the original compiled object code for improved performance.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: January 2, 2001
    Assignee: Intel Corporation
    Inventor: Ali-Reza Adl-Tabatabai
  • Patent number: 6167567
    Abstract: A technique for automatically updating software, including but not limited to application programs, residing on, e.g., a client computer. Specifically, an update script is stored on a network server for each software product to be updated and, where appropriate, for each different country or locale in which that product will be installed. At a scheduled time, the client computer automatically, through an executing updating application: establishes a network connection to the server; constructs a file name for a file containing an appropriate update script; and then downloads that file from the server. The script contains appropriate update information, including whether the update is to occur through a web site or through the script, and if the latter, listings of operating system (O/S) specific and O/S-independent product update files.
    Type: Grant
    Filed: May 5, 1998
    Date of Patent: December 26, 2000
    Assignee: 3Com Corporation
    Inventors: Anthony A. Chiles, David C. Chiles, Jackie Lee Manbeck, Jr., Vu Hoanh Nguyen
  • Patent number: 6131190
    Abstract: A system for modifying job control language (JCL) parameters optimizes data storage allocations for datasets by collecting historical data concerning actual data storage space requirements and use patterns for each dataset. JCL statements are parsed to find references to datasets and their requested data storage space allocations. The system then generates revised JCL statements with revised space allocation requests and dataset migration information for each dataset based on historical space requirements and usage patterns. Optionally, the system can display each proposed change to the JCL statements for approval by the user. The system can also revise JCL statements requesting allocation of space for each dataset in predetermined data storage areas grouped by predetermined size ranges. Alternatively, some operating systems include a JCL interpreter that translates JCL statements into control blocks having predetermined parameter fields.
    Type: Grant
    Filed: May 5, 1999
    Date of Patent: October 10, 2000
    Inventor: Leland P. Sidwell
  • Patent number: 6120553
    Abstract: A system for modifying job control language (JCL) statements optimizes data storage allocations for datasets by collecting historical data concerning actual data storage space requirements and use patterns for each dataset. JCL statements are parsed to find references to datasets and their requested data storage space allocations. The system then generates revised JCL statements with revised space allocation requests and dataset migration information for each dataset based on historical space requirements and usage patterns. Optionally, the system can display each proposed change to the JCL statements for approval by the user. The system can also revise JCL statements requesting allocation of space for each dataset in predetermined data storage areas grouped by predetermined size ranges.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: September 19, 2000
    Inventor: Leland P. Sidwell
  • Patent number: 6115549
    Abstract: An apparatus for distributing software implements directory services of a network to provide data for controlling a distribution of software. A software object may be any electronic representation of data of any type, from a single byte, to a complex application, or the like. A directory services computer, responsible for maintaining a data store of inter-related logical entities may store a distribution object containing all distribution information associated with a distribution. Distribution information may include a listing of targets, actual entities represented as logical entities in the data store, which are to receive a distribution of a software object. The directory services computer provides instantiations of various portions or an entire data store to be read by various nodes or computers throughout a network or internetwork.
    Type: Grant
    Filed: February 12, 1997
    Date of Patent: September 5, 2000
    Assignee: Novell, Inc.
    Inventors: Damon V. Janis, Todd F. Millett, Calvin R. Gaisford, Matthew G. Brooks, Carla M. Heesch