Patents Represented by Attorney Michael J. Ritter
  • Patent number: 5727196
    Abstract: A database management system of the present invention includes a computer having a memory and a processor, a database for storing information in the memory as field values in a record, an indexing component for referencing a plurality of records by a value of the field(s), an input device for selecting desired records by entering a range of values corresponding to the field(s) (indexed on), and a component for accessing the desired records as an order set, where only records having a value within said range are included within the set. System and methods are also described for optimizing the access of information from the database management system.
    Type: Grant
    Filed: May 21, 1992
    Date of Patent: March 10, 1998
    Assignee: Borland International, Inc.
    Inventors: Irvin Richard Strauss, Jr., Lam H. Thai
  • Patent number: 5678039
    Abstract: A Software Translation Kit (STK) system having a shell, TShell, coupled to an Export/Import module and various Editors is described. The Export/Import module itself includes a parsing engine to extract strings and translatable information from application programs. It functions as a front end parser to "translatable" sources, providing data conversion as needed. The STK system provides a standard interface and set of tools which can be used to localize graphic user interface products. By employing a datacentric approach, the system provides a standard platform which allows translators to act independently of the product they are translating.
    Type: Grant
    Filed: September 30, 1994
    Date of Patent: October 14, 1997
    Assignee: Borland International, Inc.
    Inventors: Paul Hinks, James Shian Hwa Lok
  • Patent number: 5644768
    Abstract: Multi-user system includes a server connected to one or more workstations or "clients" through a computer network. System provides concurrent access to shared resources (e.g., common data structures residing on the server), but without the disadvantage attendant with conventional mutual exclusive (mutex) primitives. Specifically, the system provides a "nested mutex" mechanism, so that user program code can acquire and release mutexes without concern for deadlocking and without special processing for testing a particular mutex condition or state. At the same time, the system prevents other threads or processes from accessing the shared resource in a manner which would violate concurrency.
    Type: Grant
    Filed: December 9, 1994
    Date of Patent: July 1, 1997
    Assignee: Borland International, Inc.
    Inventors: Damodar Das Periwal, Manish Maheshwari
  • Patent number: 5640501
    Abstract: A system for creation and completion of goal oriented electronic forms creates a graphical image data file which defines: a graphical image of a form for display and printing; a graphical image of tree branches, tree nodes, and conclusions in association with fields of the form; reading and writing links between form fields and data sources and destinations; and links to other forms which, with the original form, comprise a related stack of forms. The system includes a form creation mode and a run time mode. The trees are defined by an application developer using the form creation mode to establish both qualitative and quantitative relationships between the various fields on the forms thereby providing the basis for the goal oriented prompting for the application user using the run time mode.
    Type: Grant
    Filed: October 6, 1993
    Date of Patent: June 17, 1997
    Assignee: Borland International, Inc.
    Inventor: William Monroe Turpin
  • Patent number: 5634021
    Abstract: The present invention provides an expert system for suggesting and providing graphic design selections based on a user's desired result. The invention provides a plurality of descriptors to define the characteristics of an output page or document. A user can "scale" or "weight" the descriptors, as desired. The present invention utilizes the weighted descriptors to select a number of solutions from a predefined database of possible solutions. The "fit" of each database solution to the user criteria is determined via an intelligent search. Initially, solutions that do not satisfy rejection constraints are identified and eliminated. These rejection constraints are binary constraints and may be the result of output device limitation, intended audience, environment of use, availability of color, etc. The elimination of solutions that do not meet the rejection constraints reduces the population of possible solutions, simplifying further researches and analysis.
    Type: Grant
    Filed: August 15, 1991
    Date of Patent: May 27, 1997
    Assignee: Borland International, Inc.
    Inventors: Daniel Rosenberg, Anne C. Way
  • Patent number: 5628016
    Abstract: A development system having a compiler that allows programmers and software developers to more efficiently develop compiled applications with runtime exception handling support is described. The compiler implements methods for handling of exceptions, which may occur during runtime execution of the program. In an exemplary embodiment, the system of the present invention registers exception handling information (e.g., an Exception Registration Record) with the underlying operating system, during execution of prolog code for each function (or other discrete section of code). The method is implemented so that the Exception Registration Record (ERR) resides at the bottom of the stack (or top of stack, for stack-based systems whose system stack grows upward) so that the information is positioned at one end of the stack during execution of the function.
    Type: Grant
    Filed: June 15, 1994
    Date of Patent: May 6, 1997
    Assignee: Borland International, Inc.
    Inventor: Peter Kukol
  • Patent number: 5611043
    Abstract: A debugging system that allows programmers and software developers to more efficiently find and correct for errors in software applications. Preferred methods of the present invention includes the steps of setting and clearing watchpoints, statement stepping a program, and stopping a program from a debugger. One method provides for a table of watchpoints in the debugger. The debuggee is executed and, when an exception is generated, an address location of the exception is evaluated against the table of watchpoints to determine if a watchpoint has been encountered.
    Type: Grant
    Filed: March 18, 1994
    Date of Patent: March 11, 1997
    Assignee: Borland International, Inc.
    Inventors: Lindsay W. Even, Jonathan B. Rosenberg
  • Patent number: 5592664
    Abstract: An event alerter system for notifying one application or process of a change in a database. A database management system includes an event generator that defines events to be reported, such as a change in a particular field of the database. Each time an change occurs, the event generator notifies an event manager of the name of the event. Whenever an event dependent process indicates an interest in a change in a field in a particular record or records in a database, it transfers a command to the event manager identifying each such record and change. When the event dependent process issues such a command, it enters a wait state to process the occurrence of an event in either a synchronous or asynchronous mode. The event manager converts such a command into entries in an event table that identifies, for that and other event dependent processes, the list of events in which a process has an interest.
    Type: Grant
    Filed: September 7, 1994
    Date of Patent: January 7, 1997
    Assignee: Borland International Inc.
    Inventor: James A. Starkey
  • Patent number: 5579520
    Abstract: A development system having a compiler, a linker, an interface, and a code packing optimization module is described. The compiler generates or "compiles" source listings into object modules, which may be linked or combined with other object modules (e.g., stored in "library" files) to create an executable program. The optimization module embodies activity-based methods for generating a profile bitmap for a program of interest, to identify related code objects (i.e., procedures, functions, routines, and the like) based on clustering of activity bit signatures, so that related ones may be packed together in the executable program. A run of a program to be optimized is divided into a plurality of activities, typically those which are core to the operation of the program. A profile bitmap of the program is generated by running the target program through the various activities: for each code object "hit" during an activity a corresponding bit is set.
    Type: Grant
    Filed: May 13, 1994
    Date of Patent: November 26, 1996
    Assignee: Borland International, Inc.
    Inventor: John G. Bennett
  • Patent number: 5561793
    Abstract: A system of the present invention includes a relational database management system (RDBMS). Methods are described for maintaining integrity between "design documents," which may be creating under different operating systems, and one or more information tables of the system. The system provides each field of a table with a unique ID ("field ID") for tracking the field regardless of restructuring changes which may be made to the table by various clients. Corresponding field IDs are stored with the fields of design documents, thereby permitting the system to maintain a link between a design document and its table. Upon a restructure of a table, the dependent design documents may be appropriately updated by their respective clients. Methods are also described for improved storage of free-form or "memo" data. In a preferred embodiment, memo data are stored in a separate file comprised of variable-length storage blocks.
    Type: Grant
    Filed: August 18, 1993
    Date of Patent: October 1, 1996
    Assignee: Borland International, Inc.
    Inventors: John G. Bennett, Steven T. Shaughnessy, Christopher W. Brumme
  • Patent number: 5560007
    Abstract: System and methods are provided for optimizing the access of information, particularly in response to ad hoc queries or filters. The system of the present invention includes a computer having a memory and a processor, a database for storing information in the memory as field values in a record, an indexing component for referencing a plurality of records by key values of the field(s), an input device for selecting desired records by entering a filter (query) condition corresponding to values stored in the field(s), and an optimization module for providing rapid access to the desired records. The optimization module employs one or more existing indices for optimizing data access, including using ones which do not directly support the filter expression. In instances where no indices are available, the optimization module may employ a "learned" optimization method of the invention for on-the-fly learning of records which meet the filter condition.
    Type: Grant
    Filed: October 18, 1995
    Date of Patent: September 24, 1996
    Assignee: Borland International, Inc.
    Inventor: Lam H. Thai
  • Patent number: 5555388
    Abstract: A multi-user computer system having methods which provide improved file management by reading an additional amount in a single I/O (Input/Output) operation during file processing is described. A method for storing and retrieving a plurality of information files includes storing the plurality of information files as a single disk file, where the disk file includes at least one storage block of a uniform size for each of the information files. The information files themselves may be of a variable file size. Within the single disk file, the method stores a directory of entries about the information files, each entry describing a location for one of the information files. The method provides steps for retrieving a desired information file by locating a storage block having the desired information file. The steps include reading from the storage block an amount of data equal to the file size of the information file plus an additional amount, in a single I/O operation.
    Type: Grant
    Filed: August 20, 1992
    Date of Patent: September 10, 1996
    Assignee: Borland International, Inc.
    Inventor: Steven T. Shaughnessy
  • Patent number: 5551018
    Abstract: System and methods are described for sorting information records in a fast and efficient manner. The present invention is particularly useful in environments where resources, such as available memory storage, are limited. A preferred method of the present invention includes scanning the field of records to be sorted (e.g., from left to right), whereby the system recursively divides the records into smaller groups, as determined by the values at a current position (i.e., the location currently under examination). As the members of a group drop below a predetermined threshold value, traditional improved sorting techniques (e.g., quicksort or insertsort) may be applied to the group to complete the sort.
    Type: Grant
    Filed: February 2, 1993
    Date of Patent: August 27, 1996
    Assignee: Borland International, Inc.
    Inventor: Kurt Hansen
  • Patent number: 5535391
    Abstract: An object-oriented development system of the present invention includes a language compiler having an optimizer for generating computer applications with improved speed and size. C++ optimization methods of the present invention are described, including virtual function and base optimization, using thunks for virtual member pointers, and passing classes by value. An object-oriented calling convention of the present invention, which affords rapid and efficient access to data and methods of objects, is also described.
    Type: Grant
    Filed: February 15, 1995
    Date of Patent: July 9, 1996
    Assignee: Borland International, Inc.
    Inventors: Anders Hejlsberg, Jeffrey Stock, Peter Kukol, Alex Shtaygrud
  • Patent number: 5499366
    Abstract: The present invention provides an expert system for suggesting and providing graphic design selections based on a user's desired result. The invention provides a plurality of descriptors to define the characteristics of an output page or document. A user can "scale" or "weight" the descriptors, as desired. The present invention utilizes the weighted descriptors to select a number of solutions from a predefined database of possible solutions. The "fit" of each database solution to the user criteria is determined via an intelligent search. Initially, solutions that do not satisfy rejection constraints are identified and eliminated. These rejection constraints are binary constraints and may be the result of output device limitation, intended audience, environment of use, availability of color, etc. The elimination of solutions that do not meet the rejection constraints reduces the population of possible solutions, simplifying further researches and analysis.
    Type: Grant
    Filed: August 15, 1994
    Date of Patent: March 12, 1996
    Assignee: Borland International, Inc.
    Inventors: Daniel Rosenberg, Anne Way
  • Patent number: 5493728
    Abstract: A system of the present invention includes a server connected to one or more workstations or "clients" through a computer network. Methods are provided whereby network data access operations, such as are common in shared data processing, are minimized to only those which are necessary for system operation. In all other instances (i.e., time periods when updating is not needed), a workstation may gain access to the data from a local copy stored in a local buffer, preferably a rapid-access memory of the client. At periodic intervals, a workstation is interrupted for marking its local copy of the data as "invalid"--that is, the copy may be inconsistent with a corresponding version stored on the server. With the next access to the data, the local copy is updated from the version resident on the server. Additional optimization may be added for determining whether the server version has been "touched" (i.e.
    Type: Grant
    Filed: July 23, 1993
    Date of Patent: February 20, 1996
    Assignee: Borland International, Inc.
    Inventors: Randolph T. Solton, Raymond S. Kiuchi
  • Patent number: 5485618
    Abstract: The system of the present invention comprises a development system having an Expression Builder for assisting a user with creating an expression. With full syntax checking enabled, the user builds an expression in "token" mode. As the user enters each token element, the system attempts to validate the expression and, if the expression is valid, displays the result. If the expression is incomplete or invalid, however, the system displays a message explaining what is needed. The Expression Builder of the present invention employs placeholders or "proxies" for representing elements in an expression which should be replaced before the expression is valid. The expression is dynamically adjusted during user editing as required to maintain expression validity. In this manner, the user is provided with in situ assistance in constructing syntactically-correct expressions.
    Type: Grant
    Filed: December 15, 1993
    Date of Patent: January 16, 1996
    Assignee: Borland International, Inc.
    Inventor: Kenneth W. Smith
  • Patent number: 5446840
    Abstract: System and methods are provided whereby screen write operations, such as common in data processing, are performed at a frequency matched to a user's ability to perceive such information. Specifically, screen writing operations are minimized to only those which are really necessary for perception by the user. In all other instances (i.e., time periods when updating is not needed), image information is written to rapid-access memory. At periodic intervals, the system is interrupted so that a display image (maintained in video memory) is updated from the image stored in the rapid-access memory. A screen device (CRT) coupled to the video memory is updated accordingly (upon the next scan of video memory). By maintaining image data locally, the penalty incurred with frequent, large data transfers to video or display memory is avoided.
    Type: Grant
    Filed: February 19, 1993
    Date of Patent: August 29, 1995
    Assignee: Borland International, Inc.
    Inventors: Raymond S. Kiuchi, Peter Johnson, Randolph T. Solton
  • Patent number: 5436637
    Abstract: Graphical user interface system and methods for providing "hints" for screen objects of interest, particularly user interface elements which rely upon multitudes of iconic (bitmap image) indicia. The interface includes a static (status) frame or window positioned in a non-intrusive fashion below or to one side of a client area (active portion) of a user interface. The frame is continually updated with appropriate descriptors or "hints" (e.g., text and/or graphics) as a screen cursor moves from one screen object to another.
    Type: Grant
    Filed: March 5, 1993
    Date of Patent: July 25, 1995
    Assignee: Borland International, Inc.
    Inventors: Charles E. Gayraud, Perry A. Gee
  • Patent number: 5432940
    Abstract: The present invention includes a computer-based training system (CBT) having one or more Application Translation Units (ATUs), a message engine, and a script engine. For one or more target applications of interest, an ATU is provided for processing events specific to that application, thereby trapping events and translating them into abstract messages or "meta-messages" for conveying information about a particular event to the system. A general operating system ATU is also provided for trapping general system events. Translated event messages are processed by event handlers. System or application-specific messages which are not of interest are simply allowed to pass through. The individual handlers dispatch their respective messages to the script engine, which includes instructions for directing the activity of the target application(s). The script engine, in turn, acts upon an incoming message. The dispatched message triggers appropriate action (as specified by instructions within the script).
    Type: Grant
    Filed: November 2, 1992
    Date of Patent: July 11, 1995
    Assignee: Borland International, Inc.
    Inventors: Richard J. Potts, Mark A. Vershel