IP Library Granted Patent US 7,178,129
Granted Patent B2
US 7,178,129 · App. 10/313,904 · Granted Feb 13, 2007

Drag-and drop dynamic distributed object model

Assignee: dBase, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,178,129
App. No.
10/313,904
Granted
Feb 13, 2007
Kind
B2
Abstract

An external object model is built into a comprehensive, drag-and-drop, dynamic, distributed object model, to offer its users lower total cost of ownership than do conventional user interface applications and application builders. A Windows® workstation user computer is provided with a quick, simple, easily-managed path to combinations of available applications on a network of systems, in such a way that the user can establish and exploit complex data relationships and software capabilities on the workstation without application installation, significant access effort, or specialized knowledge. Runtime binding prepares and links user forms and reports to application programs as desired, without preparatory steps. The definition and use of query objects to view concurrently multiple database tables offers the unique ability to combine fields from dissimilar database engines into a single view.

Claims (51)

1. A system for accessing and operating distributed dynamic external objects across a computer network, in response to an application program on at least one client computer comprising:

one or more server computers, each one further comprising one or more interconnected processors, one or more main memory subsystems, one or more mass storage subsystems, and one or more connections to wide area networks or local area networks;

at least one client computer comprising one or more interconnected processors, one or more main memory subsystems, one or more mass storage subsystems, and one or more connections to the server computers via wide area networks or local area networks;

an application software program operating on the client computer for presenting a first form or menu to a user of the client computer and including locations of dynamic external objects used by the application program and for creating an instance of one or more of the dynamic distributed objects on the client computer;

the set of dynamic external object classes including methods and attributes, stored on one or more of the server computers or on one or more of the client computers, said dynamic external object classes comprising object code;

an interpreting software program for converting the located dynamic external objects into machine code on the user's machine and for resolving the class inheritances, polymorphic behaviors, and encapsulation behaviors of the objects, classes, methods, and attributes, across client and server computers in a network, at the time of the user's request for execution of the programs.

2. The system of claim 1 , further comprising one or more user interface programs operating on the client computer for interpreting mouse and keyboard actions of the user computer to select the computers on the network holding the objects required by the application program.

3. The system of claim 2 , wherein the application programs further comprise data entry, data retrieval, and reporting programs.

4. The system of claim 1 , wherein the dynamic external objects are in code executable by the client computer.

5. The system of claim 1 , wherein the interpreting software program operating on the client computer interprets the compiled code into machine executable code to create an instance of the object in the client computer.

6. The system of claim 1 , wherein the application programs further comprise data entry, data retrieval, and reporting programs.

7. The system of claim 1 , further comprising means for providing a user with an alias name for each computer accessed by the application program using the distributed objects.

8. A drag and drop, dynamic, distributed, object model based software user interface system for accessing and operating distributed applications across computer networks, comprising:

two or more peer-to-peer computers, each one further comprising one or more interconnected processors, one or more main memory subsystems, one or more mass storage subsystems, and one or more connections to wide area networks or local area networks;

a first peer computer comprising one or more interconnected processors, one or more main memory subsystems, one or more mass storage subsystems, and one or more connections to the server computers via wide area networks or local area networks;

an application software program operating on the first peer computer for presenting a first form or menu to a user of the first peer computer and including locations of objects used by the application program and for creating an instance of one or more of the dynamic distributed objects on the first peer computer;

the set of dynamic external object classes including methods and attributes, stored on a different peer computer and stored as compiled object code;

an interpreting software program for converting the located dynamic external objects into machine code on the user's machine and for resolving class inheritances, polymorphic behaviors, and encapsulation behaviors of the objects, classes, methods, and attributes, across computers in the network, at the time of the User's request for execution of the application program.

9. The system of claim 8 , further comprising a one or more user interface program operating on the first peer computer for interpreting mouse and keyboard actions of the user computer to select the computers on the network holding the objects required by the application program.

10. The system of claim 8 , wherein the application program further comprises data entry, data retrieval, and reporting programs.

11. The system of claim 8 , wherein the dynamic external objects are in code executable by the first peer computer.

12. The system of claim 8 , wherein the interpreting software program operates on the first peer computer for interpreting the compiled code into machine executable code to create an instance of the object in the client computer.

13. The system of claim 8 , wherein the user application program further comprises data entry, data retrieval, and reporting programs.

14. A method for implementing dynamic external objects, comprising the steps of:

on one or more first computers, compiling source code for the objects to create dynamic external objects (DEOs)of object code for performing one or more tasks of a launching application program;

on a second computer, installing a launching application with one or more tasks and locations of DEOs on the first computers to enable a user to locate the DEOs corresponding to tasks of the launching application program and create an instance of the dynamic external objects on the second computer for accomplishing the selected task(s); and

interpreting the dynamic external objects on the second computer to perform one or more of the selected tasks of the launching program.

15. A method for using dynamic external objects, comprising the steps of:

providing one or more dynamic external objects comprising object code:

on a user's computer, running an application program that includes one or more tasks to be performed on the user's computer and information about the location of dynamic external objects which correspond to the tasks;

accepting the user's selection of one or more task of the application for execution;

automatically locating the dynamic external objects required to execute each task by creating an instance of the dynamic external objects on the user's computer for execution; and

executing the selected tasks of the application on the user's computer.

16. The method of claim 15 , wherein the step of locating the dynamic external objects further comprises the steps of:

reading the application's initialization (.ini) file to obtain one or more search paths for locating the required compiled dynamic external objects;

searching in the search paths in their given order to locate each required compiled object;

searching in the folder from which the application was launched for each required compiled object not found in the preceding steps; and

searching in the application's executable (.exe) file for each required compiled object not found in the preceding steps.

17. The method of claim 15 , wherein the step of locating the compiled objects further comprises the steps of:

searching in the search paths in their given order to locate each required compiled object;

searching in the folder from which the application was launched for each required compiled object not found in the preceding steps; and

searching in the applications executable (.exe) file for each required compiled object not found in the preceding steps.

18. The method of claim 15 , wherein the step of creating an instance of the compiled DEO on the user's computer includes linking the DEO into the RAM of the user's computer for execution on the user's computer and further comprises the step of instancing all parent objects of the required compiled objects into the RAM of the user's computer.

19. The method of claim 15 , wherein the step of executing the application further comprises the steps of: resolving all object hierarchy inheritances for each compiled object; executing the application with all inheritances resolved.

20. A method for deploying objects of an application program comprising:

on a network of computers, storing a plurality of objects in object code, each of which has inheritance, polymorphism, and encapsulation;

on one of the computers installing an application program that has the location of objects needed to run an application program;

creating an instance of an object on the computer with the application program; and on the computer with the instance of the object, executing the program.

21. The method of claim 20 , comprising the further step of changing the objects on the network.

22. The method of claim 20 , wherein the objects are executed without registration.

23. The method of claim 20 , wherein the objects inherit properties and methods from their classes.

Assignments (8)
MERGER Recorded Dec 11, 2015
From: AMSTR. INVESTMENTS 9 K.G., LLC
To: INTELLECTUAL VENTURES FUND 83 LLC
Reel/Frame 037276/0931 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2008
From: HHK PA, LLC
To: AMSTR. INVESTMENTS 9 K.G., LLC
Reel/Frame 021478/0610 →
CONFIRMATORY ASSIGNMENT Recorded Aug 11, 2008
From: KATZ, ALAN A.
To: DATA BASED INTELLIGENCE, INC. (FORMERLY DBASE, INC.)
Reel/Frame 021371/0071 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2008
From: KATZ, ALAN A.
To: DATA BASE INTELLIGENCE, INC.
Reel/Frame 021184/0347 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2008
From: HINMAN HOWARD & KATTELL, LLP
To: HHK PA, LLC
Reel/Frame 020753/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2007
From: DATA BASED INTELLIGENCE, INC.
To: HINNAN, HOWARD & KATTELL, LLP
Reel/Frame 019943/0840 →
CHANGE OF NAME Recorded Feb 1, 2007
From: DBASE INC.
To: DATA BASED INTELLIGENCE, INC.
Reel/Frame 018838/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2003
From: KATZ, ALAN A.
To: DBASE, INC.
Reel/Frame 013635/0527 →
Continuity (2)
Provisional Application 6033823900 · Dec 7, 2001
Related Publication 20030120711A1 · Jun 26, 2003