CA2001972A1 - Monitoring database objects - Google Patents

Monitoring database objects

Info

Publication number
CA2001972A1
CA2001972A1 CA002001972A CA2001972A CA2001972A1 CA 2001972 A1 CA2001972 A1 CA 2001972A1 CA 002001972 A CA002001972 A CA 002001972A CA 2001972 A CA2001972 A CA 2001972A CA 2001972 A1 CA2001972 A1 CA 2001972A1
Authority
CA
Canada
Prior art keywords
client
attribute
record
procedure
monitor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002001972A
Other languages
French (fr)
Inventor
Tore J. M. Risch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of CA2001972A1 publication Critical patent/CA2001972A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Abstract

ABSTRACT
A method of monitoring objects in an interactive object-oriented database system. Any of a plurality of client programs can request monitoring of attributes of objects in the database.
A record is kept of update transactions initiated by a client.
When the client commits the changes, any client which has requested monitoring is notified of any change in the value of an attribute being monitored at the request of that client. The notification interrupts the client and invokes a predesignated client procedure. Overhead is minimized by creating partial view materialization paths and defining monitors ahead of time and by localizing the monitoring.

Description

PATENT

MONITORING DATABASE OBJEC~S

Back~round of the Invention The present invention relates generally to database systems, and more particularly to a method of monitoring changes in values of attributes of objects in object-oriented database systems.
In an object-oriented database system, an "object" is a kind of entity. An object has certain "attributes", or characteristics, associated with it. A "view" of an object is a set of some of the attributes associated with that object. To "materialize" a certain view respecting a given object means to provide the values of those attributes which make up that view.
Some attributes have values which are stored in the database; these attributes are accessed by retrieving them from storage. An "extensional" function is a procedure which is used for retrieving such values from storage. Other attributes have values which are not stored but rather are derived (by computation or the like) as needed; an "intensional" function is a procedure which is used for deriving such values (and which has no undesired side effects).
For example, an employer might have a database system for keeping certain information about its employees. Each employee would be known to the database system as an "object" of type ENPLOYEE. The database might include values for each of the following attributes of an EMPLOYEE object:

NAME
DATE OF BIRTH
HOME ADDR~SS
MONTHLY SALARY
HIRE DATE

-l- 188~5 2~ 9 72 PATENT

(In addition, the system gives each employee a unique identifier so that two employees having the same name can easily be distinguished.) As already noted, some attributes can be derived from others. For example, every employee has an AGE, but if the system Xnows an employee's birthdate it can easily compute that employee's age. Therefore, to save space and to preserve system integrity only the value of the employee's birthdate is stored in the database; the employee's age is computed whenever it is needed.
An employee named Bill Johnson might be represented by the following attribute values in the database:

NAME: Bill Johnson BIRTH DATE: 4-5-60 HOME ADDRESS: 123 Main Street, Palo Alto, CA 94303 MONTHLY SALARY: $2,500.00 HIRE DATE: 11-20-85 One "view" of an employee might consist only of the employee's name and address. Such a view might be used, for example, to have the computer print an envelope in which a notice to employees would be mailed. To "materialize" this view for a given employee it would be necessary to call two extensional functions -- "Name" and "Address" -- which would return the values of the attributes NAME and ADDRESS of the designated employee.
Another view of an employee might consist of the employee's name, age, monthly salary and number of years with the company.
This view might be used, for example, to calGulate how much to credit to the employee's retirement account. To materialize this . ~. .

L9~2 PATENT

view it would be necessary to call two extensional functions --"Name" and "Monthly Salary~ and two intensional functions --"Age" and "Number of Years with Company." The two intensional functions would return the required values of the attributes AGE
and NUMBER OF YEARS WITH COMPANY by performing computations on other values returned by extensional or other intensional functions and which ultimately are derived from values which are stored in the database.
A typical computer system includes a central processing unit, a main memory, storage media such as magnetic disks, a terminal which includes for example a keyboard and a monitor screen, and a plurality of workstations. Each workstation comprises a terminal and usually a local processing unit and memory as well. Users at the various workstations use the computer to perform a variety of tasks.
A "client" of a database system is an applications program which interacts with the database system. Such a client program may be executed by the central processor or by a local processing unit in a workstation. A user may be running a plurality of client programs simultaneously.
Occasions may arise when a client needs to be alerted if certain values in the database are changed. In the example of the employee database discussed above, at one workstation a client program might be updating the database with respact to various financial matters, including th~ amount to deposit in each employee's retirement account for the previous month, while at a different workstation ~possibly hundreds of miles away) ;
-3- 188~5~

PAT~NT

another client program might be updating the database by posting all the salary raises which were granted during that month. The first client program must be alerted if any~hing done by either program results in changes in the values of financial data respecting one of the employees on whose retirement account the first client is then working.
More generally, a notification ~hat a monitored value has changed may be needed ~or any of a number of purposes. A client may wish to be alerted if an abnormal condition occurs. The occurrence of a certain condition or set of conditions may be a signal to start running a certain application program. A graphic display may need to be updated whenever there is a change in a parameter being displayed. A client may need to recompute certain other values which depend on the value which has just changed (as in the above example of the employee retirement ` account).
Monitoring imposes a heavy computational and input/output overhead on a database system, especially if the system is large and a number of values are being monitored at the same time for several different clients. Various methods have been proposed to minimize this overhead. For example, in one such system an "alerter" is called if specified boolean conditions are satisfied (0. P. Buneman and E. K. Clemons, "Efficiently ~onitoring Relational Databases," ACM Transactions on Database Svstems 4, 3, September 1979, pp 368-382). A "retrieve alwaysl' mechanism in another system causes queries to be re-executed upon each update to specified relations (M. Stonebraker, "Triggers and Inference in Database Systems," in ~. Brodie and J. Mylopoulos -4- ~88458 9~2 PATENT

(eds.), On Knowledqe Based Mana~ement S~stems, Springer-Verlag, 1986).
Systems of "triggers" have be~n proposed for relational database systems; such triggers typically invoke a database procedure upon updates of user-specified base relations (see, for example, M. ~strahan et al., "System R: A Relational Approach to Database Management," ACM TRansactions on Database SYstems, 1 (2), June 1976).
A technique which is somewhat similar to the trigger system is the use o~ a "declarative integrity constraint," in which a proffered update to the database is rejected if speci~ied boolean conditions are not satisfied at commit time (see, for example, M. Stonebraker, "Implementation of Integrity Constraints and Views by Query Modification," Proc. ACM SIGMOD Conf., San Jose, California, May 1975).
Another technique, access-oriented programming, is implemented in some object-oriented languages such as "LOOPS".
A message to set values of instance variables is intercepted by means of a user-provided trigger procedure which may in turn set or display some other value (M. J. Stefik et al., "Integrating Access-Oriented Programming Into a Multiparadiym Environment,"
IEEE Software 3, 10, January 1986, pp. 10-18). The trigger procedures are dynamically added and removed from running systems to avoid interfering with other system logic (X. Osterbye, "Active Objects: An Access Oriented ~ramewor~ for Object-Oriented Languages," Journal of Obiect-Oriented Programmin~, Vol. 1, No.
2, June/July 1988, pp. 6-10).
Finally, expert systems such as "SYNTEL" and "OPS5" provide 97;~
PATENT

a method of monitoring virtual memory data retrieved from persistent data (R. Reboh and T. Risch, "Syntel: Knowledge Programming Using Functional Representations," Proc. AAAI-86, Philadelphia, Pennsylvania, ~ugust 1986, pub. Morgan Kaufman, Los Altos, California, 1986, pp. 1003-1007).
Each of these proposed methods offers certain benefits, primarily in the context of the particular environment for which it was designed. However, there remains a need for an efficient way to monitor objects in an object-oriented database system which interacts cooperatively with client programs.
SUMMARY ~F THE INVENTION
The present invention provides a localized method of monitoring an object in an interactive, object-oriented database system in response to a request from a client program and invoking an application procedure designated by the client if a change in a monitored attribute value is detected. High-overhead tasks are performed at times when monitoring is not taking place so as to minimize any overhead imposed on the system during actual monitoring.
A preferred embodiment of a mekhod of monitoring an object according to the invention includes the following steps: keeping a record of any client requests to monitor an attribute of the object; keeping a record of any update transactions initiated by a client during an update session; and if that client requests that the transaction be committed, determining which monitored attributes may have been affected, determining whether the values of any of said attributes have changed, and, for each value which has chan~ed, notifying any client which requested monitoring of :~

,, : .
: ::

~ 97~ PATENT

that attribute.
Notifying a client preferably comprises interrupting any task then being performed by the client and invoking a predesignated client procedure. If the client is not in an interruptible state, a record is kept of notifications intended for that client until the clien~ enters an interruptible state or requests notification.
Monitor requests are preferably localized with respect to time, client, object and attribute to minimize the overhead imposed on the system during database updates.
Keeping the record of update transactions imposes very little overhead on the database system because the record is small and can be kept in main memory. The record can be cleared after determining whether the values of any attributes have changed. This determination may be made when updates are committed or any time a client requests notification of any changes. In the latter event, a record of the changes is preferably kept for later notification of other clients for which attributes are being monitored.
Certain high-overhead tasks can be performed before an update session is commenced. One such task consists of optimizing a partial view materialization path for each attribute of a view of an object. This task is preferably carried out during creation of the view itself. Later, if monitoring of the value of an attribute of that view is requested, the optimized path for that attribute is used, thereby imposing less overhead on the system than would be imposed if the entire view had to be materialized in order to monitor the value of that one attribute.
20~1972 PATENT

Another task which is preferably taken care of ahead of time is defining a monitor p~ocedure for a given attribute. This task includes, for example, creating means for keeping the record of client requests for monitoring of that attribute and creating means for keeping a record of the value of the attribute being monitored.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE l is a flow chart illustrating a procedure for Xeeping a record of monitor requests according to the inv~ntion;
FIG. 2 is a flow chart illustrating a procedure for an update session according to the invention;
FIG. 3 is a flow chaxt illustrating a "Check Monitors"
procedure which is called from the procedure shown in FIG. 2;
FIG~ 4 is a flow chart illustrating a view creation procedure according to the invention;
FIG. 5 is a flow chart illustrating a monitor definition procedure according to the invention;
FIG. 6 is a time line chart of a database session including object monitoring according to the method of the invention;
FIG. 7 is a block diagram of a computer system which includes an object-oriented database system includi~g monitoring according to the invention; and FIG. 8 is a blocX diagram of communication flow among portions of the system shown in FIG. 7.
PATENT

DESCRIPTION OF THE PREFERRED EMBODIMENT
As shown in the drawings for purposes of illustration, the invention is embodied in a novel method of monitoring a database objPct and notifying a client program if a change is detected.
5Various methods of monitoring data in databases have been proposed, but there has been a need for an efficient way to monitor an attribute of an object in an interactive, object-oriented database system.
A method of monitoring a database ob~ect according to the 10invention includes keeping a record of any client request to monitor an attribute of the object, keeping a record of update transactions, and notifying the requesting client o~ any change in the value of the monitored attribute by invoking a ~redetermined client procedure when the update transactions are 15committed. The invention thus provides an efficient means for client programs to initiate monitor requests and receive notifications of changes in monitored attributes of database objects while imposing only minimal overhead on the database system.
20In a preferred embodiment, a method of monitoring an object in a database in response to a request from any of a plurality of client programs comprises keeping a record of any client requests to monitor an attribute o~ the object; during a database update session, keeping a record of any database update 25transactions initiated by a client: and, if a client which has initiated an update transaction requests that the transaction be committed, determining which monitored attributes may have been affected by said transaction, determining whether the values of , ~ .: , :, L97~
PATENT

any of said attributes have changed, and for each value which has changed notifying any client which requested monitoring of that attribute.
Ths record of client requests is preferably kept by means of a "Request Monitoring~ procedure as illustrated in FIG. 1.
The procedure is begun ~block 101) by receipt of a request from a client to monitor a certain attribute. The request is entered in a "Client ~ddress" table (block 102) and an "Attribute Value"
table (block 103), and the procedure thereupon ends tblock 104).
The structure of these tables will be discussed in more detail in a subsequent paragraph.
The record of database update transactions is preferably kept by creating and updating a "Function Change" table during an "Update Session" procedure as illustrated in FIG. 2. The procedure is begun (block 201) by a client initiating an update session. The system creates the Function Change table (block 202) and then proceeds with an update task as directed by the client (block 203). If the task included an extensional function update call (block 204), the function which was called is entered in the Function Change table (block 205); if not, no entry is made in the table. The client decides whether to commit any updates made thus far (block 20~), and if the client request~
that such updates be committed a "Check Moni~ors" procedurP is called (block 207).
2S Determining which monitored attributes may have been affected and whether the values of any of those attributes have changed is preferably accomplished by means of the Check Monitors procedure as illustrated in FIG. 3. As described above, the 7%
PATENT

procedure is initiated (block 301) by a procedure call generated during an update session (the procedure may also be called directly by a client as will be discussed in more detail in a subsequent paragraph). Any update function call which might have resulted in a change to a monitored attribute value is detected (block 302) by reference to the Function Change table and to a "Function Dependence" table (to be described hereafter). An updated value for each such attribute is computed (block 303).
Whether there has been any change in such an attribute value is determined (block 304) by reference to the Attribute Value table.
If a monitored attribute value has changed, a change notification is prepared and saved ~block 305) and sent to the client which called the procedure (block 306); because the procedure was called by a commit request made by an update client, the update client is the one which receives the notification. ~he Function Change table is cleared (block 307) and the procedure ends (block 308).
Referring again to FIG. 2, after the Check Monitors procedure is concluded the updated data is committed to the database (block 208). ("Committing" means storing the updated data in the database and deleting any superseded data.) Then the saved change notification is sent to any other client which had requested monitoring of the changed attribute value (bloc~ ~09).
If there is another update task to perform (block 210), such task is performed (block 203) and the above-described steps are repeated. When there are no more update tasks to perform, the update session ends (block 211).
It will be noted that a loop is defined by blocks 203, 204, ~ 188458 ~ 97~ PATENT

205, 206 and 210. In the absence of a commit decision (block 206), each update task results in one pass through the loop.
Except for updating the Function Change table, the loop imposes no overhead which would not be imposed in the absence of the monitor procedure. As already noted, thP Function Change table is small and resides in main memory and therefore the requirement to update it imposes very little overhead; moreover, even this small amount o~ overhead is skipped (block 204) unless the update task being performed includes an extensional function update call. Thus, the overhead imposed during an update session is kept to a minimum.
Notifying a client preferably comprises interrupting any task then being performed by the client and invoking a predesignated client procedure, for example by sending the notification to a portion of the client program referred to as a "monitor server". If the client being notified is the one which called the Check Monitors procedure (usually this will be the client which requests that updates be committed), this is done when a change in the monitored attribute value is detected (block 309 of FIG. 3).
If the client being notified is not the client which called tha Check Monitor procedure, a determination is made, for example by that client's monitor server, whether the client is in an interruptible state (block 212 of FIG. 2). If the client is in an interruptible state, the monitor server invokes the predesignated procedure (block 213). If the client is not in an interruptible state, the monitor server waits (block 214) and keeps a record of the notification either until the client enters -12- ~88~58 PATENT

an interruptible ~tate at which time the monitor server interrupts the client or until the client requests notification.
When a client's monitor server interrupts a client, in addition to invoking the predesignated procedure the monitor server also processes any waiting notifications (block 215 in FIG. 2 and block 310 in FIG. 3).
Preferably, a partial view materializa~ion path for a given attribute is created in advance of any request to monitor that attribute. This is done during a "Create View" procedure as depicted in FIG. 4. The Create View procedure is a relatively high-overhead task which is ordinarily performed during creation of the database or if necessary at other times, preferably when the system is not otherwise busy.
The Create View procedure is begun (block 401) by a user who instructs the system to create a view of an object. Various tasks are performed (block 402) by the system in creating such a view; the nature of these tasks is known to those skilled in the art and will not be further discussed herein. In addition to said tasks, the system creates and optimizes a partial view materialization path for each attribute of the view ~block 403).
After completing any other tasks associated with creating the view (block 404) the procedure ends (block 405).
The partial path for a given attribute constitutes a minimum number of steps needed to access only that one attribute without materializing the entire view. Later, if a request is made to monitor one of these attributes, this partial path is used to access the attribute. In the absence of such a path, it would be necessary to materialize the entire view just to access the ~13- t88458 ~97~ PATENT

one attribute being monitored, a step which would impose more overhead on the system than is imposed by using the partial path.
Preferably a monitor is defined for a given attribute in advance of any request to monitor that attribute. This is done by means of a "Define Monitor" procedure as illustrated in FIG.
5.
As was the Create View procedure, the Define Monitor procedure is a relatively high-overhead task which is preferably carried out when the system is not otherwise busy.
The Define Monitor procedure is begun (block 501) by a user who tells the system which attribute is to be monitored. As discussed above, every attribute is accessed by a function (either an extensional function or an intensional function), and the monitor procedure which is defined for a given attribute is defined in terms of the function which accesses that attribute (this function is hereafter referred ~o as "the monitored function").
The Define Monitor procedure preferably includes creating means for Xeeping the record of client requests. More particularly, a Client Address table is created (block 502) for the monitored function. This table includes positions for recording a client's identification, a client's address (for example, a workstation location) and a name of a procedure designated by the client.
Later, when a client requests monitoring of an attribute, the client's identification, address, and procedure designation are entered in the Client Address table for the function which accesses that attribute. The information in the table tells the 20~1972 PATENT

system which client procedure to invoke upon detecting a change in the monitored attribute and where to send the notification that the procedure is to be invoked.
The Define Monitor procedure preferably includes creating means for keeping a record of the value of the attribute being monitored. More particularly, an Attribute Value table is created (block 503) for the monitored ~unction. This table includes positions for recording the value of the attribute accessed by the function.
Later, when monitoring is begun, the then-current value of that attribute is calculated and entered in the table.
Comparison of that value with the of the monitored attribute after an update tells the system whether the monitored value was in fact changed as a result of the update.

.~
.

~ 7~ PATENT

A single Function Dependence table is used to correlate extensio~al functions with intensional functions. As previously indicated, an intensional function accesses an attribute value by computation or the like based on other attribute values. A
change in one of these other values may resul~--in-a change in the value accessed by that intensional function.-~ccordingly, if an attribute which is accessed by an intensional function is being monitored, any change in any of the values which are used in accessing the monitored attribute must be detected in order to determine whether the monitored value has changed. The Function Dependence table provides this correlation.
Accordingly, during monitor definition, if the function which accesses the attribute to be monitored is an intensional function, that function is listed in the Functlon Dependence table together with each extensional ~unction which could change any of the values which are utilized by that intensional function in accessing the monitored attribute. Later, when Check Monitors is called, the extensional fun~tion update calls as listed in the Function Change table are compared with the listings in the Function Dependence table. In this way, the system detects update function calls which may have resulted in changes to monitored attributes (block 302).
Finally, the Define Monitor procedure preferably includes updating a "Monitox Properties" table ~block 505). This table is a housekeeping table which tells the system where to find the Client Address and Attribute Value tables associated with each monitored function. After performing this step, the Define Monitor procedure ends (block 506).

-16- - 188~58 PATENT

The invention as describ~d provides for notification to be sent to each client monitoring a given attribute when a client which is updating the data base decides to commit any changes.
Some clients may need to check for changes at other times.
Accordin~ly, any client which is monitoring an attribute may call the Check Monitors procedure at any time and receive notifications respecting changes to attributes being monitored by that client. It will be apparent that any such changes will be changes which have not yet been committed to the database; accordingly, notification of such changes is not sent to any client other than the one which called the Check Monitors procedure. However, a record of such changes is kept (block 305) for later notification of other clients and the Function Change table is cleared (block 307). ~f there are no further changes in the monitored value, then the notifications are sent to the other clients at commit time (as indicated by blocks 209 and 215 in FIG. 2 and 310 in FIG. 3). If there are further changes, then such changes will be detected at commit time and appropriate notifications will be sent. Thus, clients other than the client which invokes the Check Monitor procedure are assured that changed data have been committed to the database at the time the clients are notified of the changes.
A typical sequence of events during a database update session which includes monitoring according to the invention is depicted in time chart form in FIG~ 6. The term "update client"
refers to a client program which initiates an update session; the term "remote client" refers to some other client which requests monitoring of an attribute during the time the update client is : ;

~ ' :

37~
PATENT

updating the database.
At time T1 the update client begins the update session. The database system creates a Function Change table to keep a record of any extensional function update calls initia~ed as a result of updates per~ormed by the uFdate client (see block 202 of FIG.
2).
At time T2 the update client begins issuing update commands and the system responds by performing tasks as commanded. At time T3, which may be the same as time T2 or any time thereafter, the update cllent requests that a certain attribute be monitored;
the system adds the update client to the Client Address and Attribute Value tables (see the Request Monitoring proceduxe of FIG. 1). Thereafter, beginning at time T4 the update client continues updating and the system updates the Function Change table (see block 205 of FIG. 2) while it performs the tasks as commanded.
At time T5 the remote client begins using the system. If the remote client were to initiate an update session, another Function Change table would be created, but for purposes of the session depicted in FIG. 6 it is assumed that the remote client is doing something else with the database system and therefore no Function Change table is created for that client. The system performs tasks as commanded by the remote client.
At time T6, which could be any time after T5, the remote client requests monitoring of the same attribute as the update client is monitoring; the system thereupon adds the remote client to the Client Address and Attribute Value tables. Thereafter (at time T7) the remote client continues using the system and the L9~7~ PATENT

system performs tasks as commanded.
At time T~ the update client decides to commit whatever updates it has initiated. In response, the system checks for changes in monitored attribute values using the method of the invention as already described. If a change in the value of the attribute being monitored for the update client is detected, the update client's monitor server is notified. The monitor server interrupts the client (time T9) and invo~es a procedure which the update client had designated earlier at time T3, when it first requested monitoring. The invoked procedure ends at time T10 and the system continues by clearing the Function Change table, notifying the remote client's monitor server, and committing the data.
The remote client is interrupted by its monitor server (time Tll) and performs its predesignated procedure. Meanwhile, the update client resumes updating and the system again updates the Function Change table while performing tasks commanded by the update client. At time T12 the remote client finishes its procedure and at time T13 it too resumes using the system.
If there were another change in the value of the monitored attribute, the clients would again be interrupted. However, for purposes of the example it is assumed that there are no further changes and that the update client ends the update session at time T14. The system deletes the Function Change table for that client and removes the client from the Client Address and Attribute Value tables.
At time T15 the remote client ends its use of the system and it too is removed from the tables.

97~
PATENT

The example as depicted in FIG. 6 is intended only to be illustrative of a relatively simple set of transactions. It will be apparent that a plurality o~ clients might be using the system at any given time and that various ones of the clients might update the database or request monitoring during various overlapping intervals of time. The various steps of the method as described and illus~rated may occur many times during an update session as various monitor requests are received and various changed data are committed to the database.
10An example of a computer system on which the method of the invention can be implemented is shown in FIG. 7. The system includes a central computer 701 haviny a central processor 702, a main memory 703, storage such as a magnetic disk drive 704, and a terminal 705, all interconnected by a bus 706. A plurality of 15workstations 707A and 707B, having respectively a local processor 708A and B, a memory 709A and B, storage 710A and B, and a terminal 711A and B, all interconnected by a bus 712A and B, are connected to the central computer 701 by a communications link 713. The communications link 713 may be a dedicated wire system, a telephone connection, a microwave system, or most any means by which the central computer 701 and the workstations 707A and B
can communicate with each other.
An example of how communications might pass among client programs and the database system is shown in FIG. 8. For purposes of discussion all software and data are depicted as residing in main memory, but it will be apparent that in a real system some of the software and data are actually resident in mass storage and are called into main memory as needed. Also, 97~
PATENT

certain communication channels are depicted as physical lines of communication but may actually exist in some other form such as instructions which pass information back and forth amon~
different computer programs or parts of a program.
The memory 703 of the main computer 701 contains the database system (software and data) 715, a client program 717, a monitor server 719, and other programs 721. The client program 717 can issue commands to the database through a communication channel 723. The monitor server 719 can interrupt the client program and invoke a predesignated procedure through a communication channel 725. The monitor server 719 receives notifications from the database 715 through a communication channel 727.
The memory 709A of the workstation 707A contains a client program 729, a monitor server 731, and other programs 733. The client program 729 can issue commands to the database through a communication channel 735. The monitor server 731 can interrupt the client program and invoke a predesignated procedure through a communication channel 737. The monitor server 731 receives notifications from the database 715 through a communication channel 739.
The memory 709B of the workstation 707B contains two client programs 741 and 743, a monitor server 7~5, and other programs 747. The client programs 741 and 743 can issue commands to the database through the communication channel 735. The monitor server 745 can interrupt either or both o~ the client programs 741 and 743 and invoke predesignated procedures through a communication channel 749. The monitor server 745 receives 2~
PATENT

notifications from the database 715 through the communication channel 739.
In the system as illustrated in FIGs. 7 and 8, one or more of the client programs may be running at any given time and, as discussed in connection with the time chart of FIG. 6, may issue commands to the database at various timas. When monitored attribute values change the database issues notifications to whichever clients have requested notification of such changes, and the respective monitor servers thereupon interrupt their respective clients and invoke whichever procedures have been predesignated by those clients. Any given workstation, or the central computer, may have zero, one or many client programs active at any given time.
High efficiency is achieved by the method of the invention in part by minimizing system overhead as described and in part by localizing any monitoring which is being done. From the prsceding discussion it will be apparent that the monitorin~ can be localized as to time, client, object and attribute as desired.

Thus, for example, a client program can start and stop a monitor so that monitoring does not take place except during a time when the client actually reguires the monitoring.
procedure for stopping a monitor has been illustrated in FIG. 6 as being utilized when a client ends a session, but it will be apparent that such a procedure, which requires only that the client be deleted from the Client Addre~s and Attribute Value tables, could be performed upon request of a client at any time even if the client continues to use the database sy~tem.

.: :
i `

37~
PATENT

Localizing the monitoring as to client is inherent in the method of the invention in that moni~oring only ~akes place when requested by a client. In addition, if a client becomes inactive without instructing the system to cease monitoring, monitoring can ne~ertheless be stopped, for example by periodic checks run by system to find out which clients are active and which have ceased to be active.
The monitoring can be localized as to object by monitoring only attributes of specified (focused) objects rather than monitoring all objects of a given type. Finally, as already discussed the monitoring is localized as to attribute by monitoring only desired attributes, not all attributes of a given object.
From the foregoing it will be apparent that the invention provides an efficient method of monitoring objects in an interactive object-oriented database system. Clienk programs participate actively in the monitoring by issuing monitor requests and by interacting with the database when notified that a monitored attribute value has changed. In this manner even a large number of client programs accessing a very large database can receive prompt, efficient service.
Although certain specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated, and various modifications and changes can be made without departing from the scope and spirit of the invention. Within the scope of the appended claims, therefore, the invention may be practiced otherwise tha~ as specifically described and illustrated.

:
-....

Claims (21)

1. A method of monitoring an object in a database in response to a request from any of a plurality of client programs, the method comprising:
keeping a record of any client requests to monitor an attribute of the object;
during a database update session, keeping a record of any database update transactions initiated by a client; and if a client which has initiated an update transaction requests that the transaction be committed:
determining which monitored attributes may have been affected by said transaction;
determining whether the values of any of said attributes have changed; and for each value which has changed, notifying any client which requested monitoring of that attribute.
2. A method according to claim 1 wherein notifying a client comprises interrupting any task then being performed by the client and invoking a predesignated client procedure.
3. A method according to claim 1 wherein notifying a client comprises:
if the client is in an interruptible state, interrupting any task then being performed by the client and invoking a predesignated client procedure; and if the client is not in an interruptible state:
keeping a record of the notification until the client enters an interruptible state; and PATENT

when the client enters an interruptible state, interrupting any task then being performed by the client and invoking a predesignated client procedure.
4. A method according to claim 1 wherein notifying a client comprises:
if the client is in an interruptible state, interrupting any task then being performed by the client and invoking a predesignated client procedure; and if the client is not in an interruptible state, keeping a record of the notification until the client requests notification and then invoking said predesignated client procedure.
5. A method according to claim 1 and further comprising optimizing a partial view materialization path for a given attribute in advance of any request to monitor that attribute.
6. A method according to claim 1 and further comprising defining a monitor procedure for a given attribute in advance of any request to monitor that attribute.
7. A method according to claim 6 wherein defining a monitor procedure comprises creating means for keeping the record of client requests.
8. A method according to claim 6 wherein defining a monitor procedure comprises creating means for keeping a record of the value of the attribute being monitored.
9. A method according to claim 1 and further comprising clearing the record of update transactions after determining whether any attribute values have changed.
10. A method of monitoring an object in a database in response to a request from any of a plurality of client programs, PATENT
the method comprising:
keeping a record of any client requests to monitor an attribute of the object;
during a database update session, keeping a record of any database update transactions initiated by a client; and if a client requests notification of any changes which have occurred in an attribute then being monitored for that client:
determining which monitored attributes may have been affected during the update session;
determining whether the values of any of said attributes have changed; and notifying the requesting client of each value which has changed.
11. A method according to claim 10 and further comprising keeping a record of the changes for later notification of any other clients for which attributes are then being monitored.
12. A method according to claim 10 wherein notifying the requesting client comprises interrupting any task then being performed by the client and invoking a predesignated client procedure.
13. A method according to claim 10 and further comprising optimizing a partial view materialization path for a given attribute in advance of any request to monitor that attribute.
14. A method according to claim 10 and further comprising defining a monitor procedure for a given attribute in advance of any request to monitor that attribute.
15. A method according to claim 14 wherein defining a monitor procedure comprises creating means for keeping the record PATENT

of client requests.
16. A method according to claim 14 wherein defining a monitor procedure comprises creating means for keeping a record of the value of the attribute being monitored.
17. A method according to claim 10 and further comprising clearing the record of update transactions after determining whether any attribute values have changed.
18. A method of monitoring an object in a database in response to a request from any of a plurality of client programs, the method comprising:
keeping a record of any client requests to monitor an attribute of the object;
during a database update session, keeping a record of any database update transactions initiated by a client;
if a client which has initiated an update transaction requests that the transaction be committed:
determining which monitored attributes may have been affected by said transaction;

PATENT

determining whether the values of any of said attributes have changed; and for each value which has changed, notifying any client which requested monitoring of that attribute; and if a client requests notification of any changes which have occurred in an attribute then being monitored for that client:
determining which monitored attributes may have been affected during the update session;
determining whether the values of any of said attributes have changed; and notifying the requesting client of each value which has changed.
19. A method according to claim 18 wherein the last step further comprises keeping a record of the changes for later notification of any other clients for which attributes are then being monitored.
20. A method according to claim 18 wherein notifying a client comprises interrupting any task then being performed by the client and invoking a predesignated client procedure.
21. A method according to claim 18 and further comprising clearing the record of update transactions after determining whether any attribute values have changed.
CA002001972A 1988-12-19 1989-11-01 Monitoring database objects Abandoned CA2001972A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/286,556 US5133075A (en) 1988-12-19 1988-12-19 Method of monitoring changes in attribute values of object in an object-oriented database
US286,556 1988-12-19

Publications (1)

Publication Number Publication Date
CA2001972A1 true CA2001972A1 (en) 1990-06-19

Family

ID=23099133

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002001972A Abandoned CA2001972A1 (en) 1988-12-19 1989-11-01 Monitoring database objects

Country Status (4)

Country Link
US (2) US5133075A (en)
EP (1) EP0374512B1 (en)
CA (1) CA2001972A1 (en)
DE (1) DE68928195T2 (en)

Families Citing this family (487)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734863A (en) * 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5555427A (en) * 1989-12-26 1996-09-10 Fujitsu Limited Distributed processing in a system of computers at terminals connected by a communication network
GB9105278D0 (en) * 1990-04-27 1991-04-24 Sun Microsystems Inc Method and apparatus for implementing object-oriented programming using unmodified c for a window-based computer system
US5230075A (en) * 1990-06-04 1993-07-20 General Electric Company Database shadowing system with data tags that select an operation of the save command
JPH04101225A (en) * 1990-08-20 1992-04-02 Fuji Xerox Co Ltd Slot accessing method in object oriented expert system
US5319777A (en) * 1990-10-16 1994-06-07 Sinper Corporation System and method for storing and retrieving information from a multidimensional array
US5291583A (en) * 1990-12-14 1994-03-01 Racal-Datacom, Inc. Automatic storage of persistent ASN.1 objects in a relational schema
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
JP3055970B2 (en) * 1991-06-20 2000-06-26 富士通株式会社 Method and apparatus for implementing interface between object-oriented languages
US5592664A (en) * 1991-07-29 1997-01-07 Borland International Inc. Database server system with methods for alerting clients of occurrence of database server events of interest to the clients
US5261098A (en) * 1991-08-28 1993-11-09 Sun Microsystems, Inc. Method and apparatus for deriving object type and obtaining object type attribute values
US5343409A (en) * 1991-08-29 1994-08-30 Hewlett-Packard Company System and method for probing object resources in a window server environment
US5596746A (en) * 1991-10-21 1997-01-21 General Electric Company Method for transforming relational data base schemas into object models using ideal table meta models
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
JP2710190B2 (en) * 1991-12-31 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and apparatus for adjusting data dictionary synchronization
JPH05197734A (en) * 1992-01-17 1993-08-06 Mitsui Eng & Shipbuild Co Ltd Data processing system
GB2263797B (en) * 1992-01-31 1996-04-03 Plessey Telecomm Object orientated system
JP3248981B2 (en) * 1992-06-02 2002-01-21 松下電器産業株式会社 calculator
US5896532A (en) * 1992-06-15 1999-04-20 Lucent Technologies Inc. Objects with run-time classes and methods of making them
DE69308032T2 (en) * 1992-11-09 1997-05-22 Microsoft Corp METHOD AND SYSTEM FOR CONNECTING OBJECTS IN A COMPUTER SYSTEM
US20010011224A1 (en) 1995-06-07 2001-08-02 Stephen James Brown Modular microprocessor-based health monitoring system
US5307263A (en) * 1992-11-17 1994-04-26 Raya Systems, Inc. Modular microprocessor-based health monitoring system
EP0604010B1 (en) * 1992-12-21 1999-12-29 Sun Microsystems, Inc. Method and apparatus for subcontracts in distributed processing systems
WO1994015281A1 (en) * 1992-12-23 1994-07-07 Taligent, Inc. Atomic command system
US5550563A (en) * 1992-12-23 1996-08-27 Taligent, Inc. Interaction framework system
US5530864A (en) * 1992-12-23 1996-06-25 Taligent Command object system for an object-oriented software platform
US5434965A (en) * 1992-12-23 1995-07-18 Taligent, Inc. Balloon help system
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system
US5390325A (en) * 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
US5551055A (en) * 1992-12-23 1996-08-27 Taligent, Inc. System for providing locale dependent user interface for presenting control graphic which has different contents or same contents displayed in a predetermined order
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
DE69310187T2 (en) * 1992-12-23 1997-11-27 Taligent Inc OBJECT-ORIENTED FRAMEWORK SYSTEM
US5809317A (en) * 1992-12-30 1998-09-15 Intel Corporation Creating and maintaining hypertext links among heterogeneous documents by the establishment of anchors and connections among anchors
AU6081994A (en) * 1993-01-22 1994-08-15 Taligent, Inc. Flexible system
AU6019094A (en) * 1993-01-22 1994-08-15 Taligent, Inc. Business card system
US5428718A (en) * 1993-01-22 1995-06-27 Taligent, Inc. Tessellation system
US5394523A (en) * 1993-01-22 1995-02-28 Taligent, Inc. Polymorphic graphic device
CA2135522A1 (en) * 1993-01-22 1994-08-04 Object Technology Licensing Corporation Flexible network system
US5497491A (en) * 1993-01-26 1996-03-05 International Business Machines Corporation System and method for importing and exporting data between an object oriented computing environment and an external computing environment
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5737536A (en) * 1993-02-19 1998-04-07 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5519862A (en) * 1993-02-26 1996-05-21 Taligent, Inc. Concurrent processing apparatus with incremental command objects
AU6161594A (en) 1993-02-26 1994-09-14 Taligent, Inc. Collaborative work system
US5369766A (en) * 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
CA2135517A1 (en) * 1993-03-25 1994-09-29 Patrick Delaney Ross Multi-level interrupt system
US5485373A (en) * 1993-03-25 1996-01-16 Taligent, Inc. Language-sensitive text searching system with modified Boyer-Moore process
AU6390994A (en) * 1993-04-05 1994-10-24 Taligent, Inc. Font selection system
DE69400276T2 (en) * 1993-04-05 1997-02-13 Taligent Inc CHARACTER SET FOR TEXT INPUT
US5459865A (en) * 1993-04-05 1995-10-17 Taligent Inc. Runtime loader
US5799318A (en) * 1993-04-13 1998-08-25 Firstfloor Software Method and apparatus for collecting and displaying information from diverse computer resources
US5432948A (en) * 1993-04-26 1995-07-11 Taligent, Inc. Object-oriented rule-based text input transliteration system
AU6018694A (en) * 1993-04-26 1994-11-21 Taligent, Inc. Text transliteration system
US5446903A (en) * 1993-05-04 1995-08-29 International Business Machines Corporation Method and apparatus for controlling access to data elements in a data processing system based on status of an industrial process by mapping user's security categories and industrial process steps
CN1113395A (en) * 1993-06-03 1995-12-13 塔里根特公司 Place object display system
US5544302A (en) * 1993-06-03 1996-08-06 Taligent, Inc. Object-oriented framework for creating and using container objects with built-in properties
JP3798015B2 (en) * 1993-06-03 2006-07-19 オブジェクト テクノロジー ライセンシング コーポレイション Place object system
US5524190A (en) * 1993-06-04 1996-06-04 Taligent, Inc. Command object logging system for restoring documents
US5471568A (en) * 1993-06-30 1995-11-28 Taligent, Inc. Object-oriented apparatus and method for scan line conversion of graphic edges
US5487145A (en) * 1993-07-09 1996-01-23 Taligent, Inc. Method and apparatus for compositing display items which minimizes locked drawing areas
US5455951A (en) * 1993-07-19 1995-10-03 Taligent, Inc. Method and apparatus for running an object-oriented program on a host computer with a procedural operating system
US5404529A (en) * 1993-07-19 1995-04-04 Taligent, Inc. Object-oriented interprocess communication system interface for a procedural operating system
US5473777A (en) * 1993-07-19 1995-12-05 Moeller; Christopher P. Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls
US6684261B1 (en) * 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
WO1995003574A1 (en) * 1993-07-19 1995-02-02 Taligent, Inc. Dynamic linking system
US5379432A (en) 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
US5519867A (en) * 1993-07-19 1996-05-21 Taligent, Inc. Object-oriented multitasking system
EP0713594B1 (en) * 1993-07-27 1997-10-15 Taligent, Inc. Object-oriented rendering system
US5471675A (en) * 1993-07-27 1995-11-28 Taligent, Inc. Object oriented video framework system
US5396626A (en) * 1993-08-04 1995-03-07 Taligent, Inc. Object-oriented locator system
US5479589A (en) * 1993-08-04 1995-12-26 Taligent, Inc. Object-oriented system for selecting a graphic image on a display
US5379430A (en) * 1993-08-04 1995-01-03 Taligent, Inc. Object-oriented system locator system
US5586236A (en) * 1993-08-11 1996-12-17 Object Technology Licensing Corp. Universal color look up table and method of generation
US5621434A (en) * 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5566278A (en) * 1993-08-24 1996-10-15 Taligent, Inc. Object oriented printing system
US5481666A (en) * 1993-08-25 1996-01-02 Taligent, Inc. Object-oriented navigation system
US5428744A (en) * 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5500929A (en) * 1993-08-30 1996-03-19 Taligent, Inc. System for browsing a network resource book with tabs attached to pages
US5511002A (en) * 1993-09-13 1996-04-23 Taligent, Inc. Multimedia player component object system
US5388264A (en) * 1993-09-13 1995-02-07 Taligent, Inc. Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object
US5390138A (en) * 1993-09-13 1995-02-14 Taligent, Inc. Object-oriented audio system
AU6019994A (en) * 1993-09-13 1995-04-03 Taligent, Inc. Multimedia data routing system
CA2153964A1 (en) * 1993-09-13 1995-03-23 Steven H. Milne Object-oriented audio record/playback system
JP3770616B2 (en) * 1993-09-13 2006-04-26 オブジェクト テクノロジー ライセンシング コーポレイション Object-oriented video system
JPH07104981A (en) * 1993-09-30 1995-04-21 Hitachi Software Eng Co Ltd Program construction device using object link information
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5583977A (en) * 1993-10-21 1996-12-10 Taligent, Inc. Object-oriented curve manipulation system
US5522025A (en) * 1993-10-25 1996-05-28 Taligent, Inc. Object-oriented window area display system
US5455854A (en) * 1993-10-26 1995-10-03 Taligent, Inc. Object-oriented telephony system
EP0712513B1 (en) * 1993-10-29 1997-06-04 Taligent, Inc. Graphic editor framework system
WO1995012866A1 (en) * 1993-11-02 1995-05-11 Taligent, Inc. Object-oriented graphic system
US5428722A (en) * 1993-11-05 1995-06-27 Taligent, Inc. Object-oriented painter maker
US6040838A (en) * 1993-11-05 2000-03-21 Obejct Technology Licensing Corporation Graphic state processing
US5537526A (en) * 1993-11-12 1996-07-16 Taugent, Inc. Method and apparatus for processing a display document utilizing a system level document framework
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
WO1995015524A1 (en) * 1993-12-02 1995-06-08 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5499343A (en) * 1993-12-17 1996-03-12 Taligent, Inc. Object-oriented networking system with dynamically configurable communication links
US5594921A (en) * 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
US5548723A (en) * 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
US5548726A (en) * 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
US5515508A (en) * 1993-12-17 1996-05-07 Taligent, Inc. Client server system and method of operation including a dynamically configurable protocol stack
AU6702594A (en) * 1993-12-17 1995-07-03 Taligent, Inc. Object-oriented distributed communications directory service
US5530799A (en) * 1993-12-17 1996-06-25 Taligent Inc. Rendering cache in an object oriented system
US5491800A (en) * 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5680624A (en) * 1993-12-21 1997-10-21 Object Licensing Corporation Object oriented interrupt system
US5546595A (en) * 1993-12-21 1996-08-13 Taligent, Inc. Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer
AU6814594A (en) * 1993-12-21 1995-07-10 Taligent, Inc. Automatic hardware configuration
US5566346A (en) * 1993-12-21 1996-10-15 Taligent, Inc. System for constructing hardware device interface software systems independent of operating systems including capability of installing and removing interrupt handlers
US5371884A (en) * 1993-12-21 1994-12-06 Taligent, Inc. Processor fault recovery system
US5548779A (en) * 1993-12-21 1996-08-20 Taligent System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects
US5574915A (en) * 1993-12-21 1996-11-12 Taligent Object-oriented booting framework
WO1995017729A1 (en) * 1993-12-22 1995-06-29 Taligent, Inc. Input methods framework
WO1995018413A1 (en) * 1993-12-30 1995-07-06 Taligent, Inc. Object-oriented view hierarchy framework
US5555368A (en) * 1993-12-30 1996-09-10 Taligent Object-oriented multi-tasking view framework
US5544301A (en) * 1993-12-30 1996-08-06 Taligent, Inc. Object-oriented view layout system
US5524199A (en) * 1993-12-30 1996-06-04 Taligent Object-oriented view system with background processing of update request
WO1995018437A1 (en) * 1993-12-30 1995-07-06 Taligent, Inc. Object-oriented view coordinate space system
US5465362A (en) * 1993-12-30 1995-11-07 Taligent, Inc. Object-oriented view-system for displaying information in a windowing environment
US5615326A (en) * 1993-12-30 1997-03-25 Taligent, Inc. Object-oriented viewing framework having view grouping
US5524200A (en) * 1993-12-30 1996-06-04 Taligent, Inc. Object-oriented non-rectilinear viewing framework
US5832219A (en) * 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
CA2185990C (en) * 1994-03-21 2002-07-23 Kirk M. Scott Document proxy framework
JP3329932B2 (en) * 1994-03-31 2002-09-30 三菱電機ビルテクノサービス株式会社 Client-server type network system
US5590269A (en) * 1994-04-22 1996-12-31 Minnesota Mining & Manufacturing Company Resource assignment system providing mixed-initiative user interface updates
US5586252A (en) * 1994-05-24 1996-12-17 International Business Machines Corporation System for failure mode and effects analysis
CA2148028A1 (en) * 1994-05-25 1995-11-26 Deborah L. Mcguinness Knowledge base management system with dependency information for procedural tests
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5680563A (en) * 1994-07-25 1997-10-21 Object Technology Licensing Corporation Object-oriented operating system enhancement for filtering items in a window
CA2130065C (en) * 1994-08-12 1999-03-02 Michael Joel Cincinatus Utilizing pseudotables as a method and mechanism for providing database monitor information
EP0697613B1 (en) * 1994-08-19 2005-10-19 Sony Corporation Cyber-space system
US5912666A (en) * 1994-08-23 1999-06-15 Object Technology Licensing Corp. Object-oriented global cursor tool
KR960008583A (en) * 1994-08-26 1996-03-22 윌리암 티. 엘리스 Data Processing Systems and Methods for Managing Data Processing Systems
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US5519818A (en) * 1994-09-19 1996-05-21 Taligent, Inc. Object-oriented graphic picking system
JPH10507853A (en) * 1994-10-25 1998-07-28 オブジェクト テクノロジー ライセンシング コーポレイション Object oriented system for servicing windows
US5696965A (en) * 1994-11-03 1997-12-09 Intel Corporation Electronic information appraisal agent
US5778356A (en) * 1994-11-10 1998-07-07 Cadis, Inc. Dynamically selectable language display system for object oriented database management system
US5835910A (en) * 1994-11-10 1998-11-10 Cadis, Inc. Method and system for comparing attributes in an object-oriented management system
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US5742813A (en) * 1994-11-10 1998-04-21 Cadis, Inc. Method and apparatus for concurrency in an object oriented database using lock inheritance based on class objects
US5652884A (en) * 1994-11-14 1997-07-29 Object Technology Licensing Corp. Method and apparatus for dynamic update of an existing object in an object editor
US5613122A (en) * 1994-11-14 1997-03-18 Object Technology Licensing Corp. Object-oriented operating system
US5630131A (en) * 1994-11-14 1997-05-13 Object Technology Licensing Corp. Method and apparatus for importing and exporting archive files for a graphical user interface
JPH08263309A (en) * 1994-11-17 1996-10-11 Texas Instr Inc <Ti> Method and apparatus for notification of event between software application program objects
US5752245A (en) * 1994-12-09 1998-05-12 Object Technology Licensing Corporation Object-oriented system for configuration history management with a project workspace and project history database for draft identification
US5553282A (en) * 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
US5659735A (en) * 1994-12-09 1997-08-19 Object Technology Licensing Corp. Object-oriented system for program version and history database management system for various program components
US5644768A (en) * 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
AU4469896A (en) * 1994-12-23 1996-07-19 Southwestern Bell Technology Resources, Inc. Flexible network platform and call processing system
US6202098B1 (en) * 1995-01-04 2001-03-13 International Business Machines Corporation Method and system for object oriented notification
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
US5872909A (en) * 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
US5893125A (en) * 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5706494A (en) * 1995-02-10 1998-01-06 International Business Machines Corporation System and method for constraint checking bulk data in a database
US6035399A (en) * 1995-04-07 2000-03-07 Hewlett-Packard Company Checkpoint object
US5564047A (en) * 1995-04-11 1996-10-08 International Business Machines Corporation Trigger generation in an active database management system
EP0823092A1 (en) 1995-04-24 1998-02-11 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US5713045A (en) * 1995-06-29 1998-01-27 Object Technology Licensing Corporation System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer
US5701471A (en) * 1995-07-05 1997-12-23 Sun Microsystems, Inc. System and method for testing multiple database management systems
CA2180899A1 (en) * 1995-07-12 1997-01-13 Yasuaki Honda Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore
US20020178051A1 (en) 1995-07-25 2002-11-28 Thomas G. Scavone Interactive marketing network and process using electronic certificates
US5918224A (en) * 1995-07-26 1999-06-29 Borland International, Inc. Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server
US5826253A (en) * 1995-07-26 1998-10-20 Borland International, Inc. Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients
US5644720A (en) * 1995-07-31 1997-07-01 West Publishing Company Interprocess communications interface for managing transaction requests
US5768511A (en) * 1995-09-18 1998-06-16 International Business Machines Corporation Method and system for managing objects in networked computer system with action performed in the server and object updated in the client
US6112199A (en) * 1995-10-18 2000-08-29 Nelson; Paul M. Data item values
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
WO1997019415A2 (en) 1995-11-07 1997-05-29 Cadis, Inc. Search engine for remote object oriented database management system
US5815653A (en) * 1995-11-13 1998-09-29 You; Lawrence L. Debugging system with portable debug environment-independent client and non-portable platform-specific server
US6158045A (en) * 1995-11-13 2000-12-05 Object Technology Licensing Corporation Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
US5787245A (en) * 1995-11-13 1998-07-28 Object Technology Licensing Corporation Portable debugging service utilizing a client debugger object and a server debugger object
US5956479A (en) * 1995-11-13 1999-09-21 Object Technology Licensing Corporation Demand based generation of symbolic information
US5778230A (en) * 1995-11-13 1998-07-07 Object Technology Licensing Corp. Goal directed object-oriented debugging system
US5812850A (en) * 1995-11-13 1998-09-22 Object Technology Licensing Corp. Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution
US5790132A (en) * 1995-12-07 1998-08-04 Object Technology Licensing Corp. Image rendering system with extensible mechanism for providing visual user feedback when an image graphic is selected
US6625617B2 (en) 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
US5848241A (en) * 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
US5822580A (en) * 1996-01-19 1998-10-13 Object Technology Licensing Corp. Object oriented programming based global registry system, method, and article of manufacture
US9530150B2 (en) 1996-01-19 2016-12-27 Adcension, Llc Compensation model for network services
US6264560B1 (en) 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US5819281A (en) * 1996-02-26 1998-10-06 Electronic Data Systems Corporation Notification of aspect value change in object-oriented programming
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5899997A (en) * 1996-04-03 1999-05-04 Transparency Systems, Inc. Object-oriented query mechanism
US5752028A (en) * 1996-04-03 1998-05-12 Ellacott; Bruce Arthur Object-oriented query mechanism
US6006242A (en) * 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
US5999946A (en) * 1996-04-10 1999-12-07 Harris Corporation Databases in telecommunications
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6131112A (en) 1996-05-17 2000-10-10 Cabletron Systems, Inc. Method and apparatus for integrated network and systems management
US6817019B1 (en) * 1996-05-31 2004-11-09 International Business Machines Corporation Tracking and propagating updates to a message-driven system of interdependent components
US6074434A (en) 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US5907846A (en) * 1996-06-07 1999-05-25 Electronic Data Systems Corporation Method and system for accessing relational databases using objects
US5877768A (en) * 1996-06-19 1999-03-02 Object Technology Licensing Corp. Method and system using a sorting table to order 2D shapes and 2D projections of 3D shapes for rendering a composite drawing
US5890164A (en) * 1996-06-24 1999-03-30 Sun Microsystems, Inc. Estimating the degree of change of web pages
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US6289410B1 (en) * 1996-07-18 2001-09-11 Electronic Data Systems Corporation Method and system for maintaining consistency of shared objects based upon instance variable locking
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
FR2752468B1 (en) * 1996-08-15 2006-08-04 Schlumberger Services Petrol INTEGRATED DATA COMMUNICATION AND DATA ACCESS SYSTEM INCLUDING THE APPLICATION DATA INTERFACE
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6317737B1 (en) * 1996-10-18 2001-11-13 Sagent Technologies, Inc. Data descriptions in a database system
US5787415A (en) * 1996-10-30 1998-07-28 International Business Machines Corporation Low maintenance data delivery and refresh system for decision support system database
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US6061740A (en) * 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management
JPH10171681A (en) * 1996-12-10 1998-06-26 Fujitsu Ltd Object-oriented device management system
US5852818A (en) * 1996-12-23 1998-12-22 Oracle Corporation Non-recursive method for parameter evaluation within an information management system
US5978842A (en) * 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6408429B1 (en) 1997-01-17 2002-06-18 Cognex Corporation Machine vision system for identifying and assessing features of an article
US6138162A (en) * 1997-02-11 2000-10-24 Pointcast, Inc. Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request
US6173311B1 (en) 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
US5907844A (en) * 1997-03-20 1999-05-25 Oracle Corporation Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization
US6145121A (en) * 1997-04-17 2000-11-07 University Of Washington Trace based method for the analysis, benchmarking and tuning of object oriented databases and applications
US6006190A (en) * 1997-04-28 1999-12-21 Tartaroukos Llc Computer implemented method and a computer system for enforcing software licenses
US6425016B1 (en) * 1997-05-27 2002-07-23 International Business Machines Corporation System and method for providing collaborative replicated objects for synchronous distributed groupware applications
US6195092B1 (en) 1997-07-15 2001-02-27 Schlumberger Technology Corporation Software utility for creating and editing a multidimensional oil-well log graphics presentation
US6442688B1 (en) * 1997-08-29 2002-08-27 Entrust Technologies Limited Method and apparatus for obtaining status of public key certificate updates
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6957427B1 (en) 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
US6151700A (en) * 1997-10-20 2000-11-21 International Business Machines Corporation Object oriented distributed programming system for computer controlled networks with selective capture of program property data identifying a particular program version
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US8380796B2 (en) 1997-11-02 2013-02-19 Amazon Technologies, Inc. Social networking system
US6269369B1 (en) * 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
US6014628A (en) * 1997-11-03 2000-01-11 Exigent International, Inc. Method and system for tracking any entity through any set of processes utilizing a temporal projection
US6490584B2 (en) * 1997-11-26 2002-12-03 International Business Machines Corporation User-centered push methods and system
US6081806A (en) * 1998-01-15 2000-06-27 Inventec Corporation Computer database synchronization method
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
KR20010034514A (en) 1998-02-26 2001-04-25 케네쓰 올센 Method and system for deterministic hashes to identify remote methods
US6785722B2 (en) * 1998-03-20 2004-08-31 Sun Microsystems, Inc. Apparatus, methods, and computer program products for transactional support of network management operations
US6065051A (en) * 1998-04-15 2000-05-16 Hewlett-Packard Company Apparatus and method for communication between multiple browsers
US6457063B1 (en) * 1998-04-30 2002-09-24 Sun Microsystems, Inc. Method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
US6311169B2 (en) 1998-06-11 2001-10-30 Consumer Credit Associates, Inc. On-line consumer credit data reporting system
US6351752B1 (en) 1998-07-08 2002-02-26 Ncr Corporation Method and apparatus for detecting changes to a collection of objects
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US7228300B2 (en) 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
US6385724B1 (en) 1998-11-30 2002-05-07 Microsoft Corporation Automatic object caller chain with declarative impersonation and transitive trust
US6487665B1 (en) 1998-11-30 2002-11-26 Microsoft Corporation Object security boundaries
US6574736B1 (en) 1998-11-30 2003-06-03 Microsoft Corporation Composable roles
US6513046B1 (en) * 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US8181113B2 (en) 1998-12-18 2012-05-15 Microsoft Corporation Mediating conflicts in computer users context data
US7225229B1 (en) * 1998-12-18 2007-05-29 Tangis Corporation Automated pushing of computer user's context data to clients
US7107539B2 (en) * 1998-12-18 2006-09-12 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US7779015B2 (en) 1998-12-18 2010-08-17 Microsoft Corporation Logging and analyzing context attributes
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US6801223B1 (en) 1998-12-18 2004-10-05 Tangis Corporation Managing interactions between computer users' context models
US9183306B2 (en) 1998-12-18 2015-11-10 Microsoft Technology Licensing, Llc Automated selection of appropriate information based on a computer user's context
US8225214B2 (en) 1998-12-18 2012-07-17 Microsoft Corporation Supplying enhanced computer user's context data
US7046263B1 (en) 1998-12-18 2006-05-16 Tangis Corporation Requesting computer user's context data
US6791580B1 (en) 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
US7231439B1 (en) * 2000-04-02 2007-06-12 Tangis Corporation Dynamically swapping modules for determining a computer user's context
US6920616B1 (en) 1998-12-18 2005-07-19 Tangis Corporation Interface for exchanging context data
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6684246B1 (en) * 1999-02-03 2004-01-27 William H. Gates, III Method and system for tracking clients
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
JP2000250826A (en) * 1999-03-01 2000-09-14 Fujitsu Ltd Method and system for reporting state change
HK1020419A2 (en) * 1999-03-16 2000-03-17 Shi Piu Joseph Fong Frame model for universal database in database reengineering and integration
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US6513034B1 (en) 1999-04-16 2003-01-28 International Business Machines Corporation Deriving uniqueness for indices on summary tables
US6925513B1 (en) * 1999-05-04 2005-08-02 Apple Computer, Inc. USB device notification
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6389430B1 (en) * 1999-07-07 2002-05-14 Computer Associates Think, Inc. Real-time database object statistics collection
JP2001045527A (en) * 1999-07-15 2001-02-16 Internatl Business Mach Corp <Ibm> Color adjustment method for display image and device used for it
US6404441B1 (en) 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
US6601234B1 (en) * 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US7289964B1 (en) 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6954220B1 (en) 1999-08-31 2005-10-11 Accenture Llp User context component in environment services patterns
US6549949B1 (en) 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US6546387B1 (en) * 1999-11-15 2003-04-08 Transcom Software Inc. Computer network information management system and method using intelligent software agents
US7203868B1 (en) * 1999-11-24 2007-04-10 Unisys Corporation Dynamic monitoring of resources using snapshots of system states
US6920636B1 (en) * 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
US6928655B1 (en) * 1999-12-16 2005-08-09 Microsoft Corporation Live presentation searching
US6604093B1 (en) 1999-12-27 2003-08-05 International Business Machines Corporation Situation awareness system
US6694362B1 (en) * 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
US6721735B1 (en) * 2000-03-13 2004-04-13 Lucent Technologies Inc. Method and apparatus for synchronizing databases in a network management system
GB2360373A (en) * 2000-03-15 2001-09-19 Nadeem Ahmed Computer apparatus for monitoring and updating accountancy records
US7464153B1 (en) 2000-04-02 2008-12-09 Microsoft Corporation Generating and supplying user context data
WO2001075676A2 (en) 2000-04-02 2001-10-11 Tangis Corporation Soliciting information based on a computer user's context
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6760815B1 (en) 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6993528B1 (en) * 2000-10-04 2006-01-31 Microsoft Corporation Methods and systems for allowing third party client applications to influence implementation of high-level document commands
US20050157654A1 (en) * 2000-10-12 2005-07-21 Farrell Craig A. Apparatus and method for automated discovery and monitoring of relationships between network elements
US20020054130A1 (en) 2000-10-16 2002-05-09 Abbott Kenneth H. Dynamically displaying current status of tasks
US6725446B1 (en) * 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system
US7383191B1 (en) 2000-11-28 2008-06-03 International Business Machines Corporation Method and system for predicting causes of network service outages using time domain correlation
US7296275B2 (en) 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US7058663B2 (en) * 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US6744739B2 (en) * 2001-05-18 2004-06-01 Micromuse Inc. Method and system for determining network characteristics using routing protocols
US7441031B2 (en) 2001-05-21 2008-10-21 Sridhar Shrinivasan System using registration information set by a user to allow other users to access updated portion of contact information of the user
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
WO2003003140A2 (en) 2001-06-27 2003-01-09 Compumedics Limited Distributed event notification system
KR20030008111A (en) * 2001-07-16 2003-01-24 한국전자통신연구원 A system and method for checking data in distributed database on a memory
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US20050286685A1 (en) * 2001-08-10 2005-12-29 Nikola Vukovljak System and method for testing multiple dial-up points in a communications network
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7266844B2 (en) * 2001-09-27 2007-09-04 Mcafee, Inc. Heuristic detection of polymorphic computer viruses based on redundancy in viral code
GB0123403D0 (en) * 2001-09-28 2001-11-21 Tamesis Ltd Publish subscribe system
US6636857B2 (en) 2001-12-18 2003-10-21 Bluecurrent, Inc. Method and system for web-based asset management
US7363368B2 (en) 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
US7024624B2 (en) * 2002-01-07 2006-04-04 Kenneth James Hintz Lexicon-based new idea detector
US7089265B1 (en) * 2002-04-17 2006-08-08 Oracle International Corporation Database management system for implementing independent database actions in response to events of interest
US7987246B2 (en) 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US7434229B2 (en) 2002-07-31 2008-10-07 Genesys Telecommunications Laboratories, Inc. Method for improving temporal consistency and snapshot recency in a monitored real-time software-reporting-application architecture
US7340650B2 (en) 2002-10-30 2008-03-04 Jp Morgan Chase & Co. Method to measure stored procedure execution statistics
US20040139043A1 (en) * 2003-01-13 2004-07-15 Oracle International Corporation Attribute relevant access control policies
TWI226961B (en) * 2003-01-30 2005-01-21 Chi Mei Optoelectronics Corp Multi-domain vertical alignment LCD using circular polarized light
US7873660B1 (en) 2003-02-27 2011-01-18 Oracle International Corporation Enforcing data privacy aggregations
US7836031B2 (en) * 2003-03-28 2010-11-16 Microsoft Corporation Systems and methods for employing a trigger-based mechanism to detect a database table change and registering to receive notification of the change
US7386549B2 (en) * 2003-04-30 2008-06-10 International Business Machines Corporation Integration of business process and use of fields in a master database
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
US7069278B2 (en) 2003-08-08 2006-06-27 Jpmorgan Chase Bank, N.A. System for archive integrity management and related methods
US7127449B2 (en) * 2003-08-21 2006-10-24 International Business Machines Corporation Data query system load optimization
US7962481B2 (en) * 2003-09-04 2011-06-14 Oracle International Corporation Query based invalidation subscription
US7778900B2 (en) * 2003-10-16 2010-08-17 Sap Ag Method and software application for computer-aided cash collection
US20050125489A1 (en) * 2003-11-26 2005-06-09 Hanes David H. System and method for determining messages on a server as relating to at least one functional component of a client system
US7310647B2 (en) * 2003-12-24 2007-12-18 Oracle International Corporation Column masking of tables
US7562094B1 (en) 2003-12-31 2009-07-14 Precise Software Solutions, Inc. Object-level database performance management
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7454429B2 (en) 2004-02-14 2008-11-18 Alan S Rojer Declarative Dispatch
US8825702B2 (en) * 2004-02-24 2014-09-02 Oracle International Corporation Sending control information with database statement
US20050234990A1 (en) * 2004-04-18 2005-10-20 Brighouse Christopher Nigel A System and method for tracking documents
US7676453B2 (en) * 2004-04-22 2010-03-09 Oracle International Corporation Partial query caching
US7849183B1 (en) 2004-08-31 2010-12-07 Precise Software Solutions, Inc. Method of monitoring network and application performance by analyzing web clients and web servers
US7596585B2 (en) * 2004-11-03 2009-09-29 Honeywell International Inc. Object replication using information quality of service
JP2006146615A (en) * 2004-11-19 2006-06-08 Fujitsu Ltd Object-related information management program, management method and management apparatus
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8244689B2 (en) * 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US7627463B2 (en) * 2005-03-25 2009-12-01 Cadence Design Systems, Inc. Method and system for performing channel analysis
US9208229B2 (en) 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US7831545B1 (en) * 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US8996470B1 (en) * 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US20070055701A1 (en) * 2005-09-08 2007-03-08 Edwin Tse Method and telecommunications node for information synchronization
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US20070180151A1 (en) * 2005-09-20 2007-08-02 Honeywell International Inc. Model driven message processing
US8185643B2 (en) * 2005-11-17 2012-05-22 Oracle International Corporation System and method for providing security in a communities framework
US8255818B2 (en) * 2005-11-17 2012-08-28 Oracle International Corporation System and method for providing drag and drop functionality in a communities framework
US8078597B2 (en) * 2005-11-17 2011-12-13 Oracle International Corporation System and method for providing extensible controls in a communities framework
US7805459B2 (en) * 2005-11-17 2010-09-28 Bea Systems, Inc. Extensible controls for a content data repository
US20070112913A1 (en) * 2005-11-17 2007-05-17 Bales Christopher E System and method for displaying HTML content from portlet as a page element in a communites framework
US7590687B2 (en) * 2005-11-17 2009-09-15 Bea Systems, Inc. System and method for providing notifications in a communities framework
US7680927B2 (en) * 2005-11-17 2010-03-16 Bea Systems, Inc. System and method for providing testing for a communities framework
US8046696B2 (en) * 2005-11-17 2011-10-25 Oracle International Corporation System and method for providing active menus in a communities framework
US20070113188A1 (en) * 2005-11-17 2007-05-17 Bales Christopher E System and method for providing dynamic content in a communities framework
US20070118609A1 (en) * 2005-11-23 2007-05-24 France Telecom Distributed computing architecture and associated method of providing a portable user environment
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US7991797B2 (en) 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
US20070250295A1 (en) * 2006-03-30 2007-10-25 Subx, Inc. Multidimensional modeling system and related method
US8458725B2 (en) * 2006-04-10 2013-06-04 Oracle International Corporation Computer implemented method for removing an event registration within an event notification infrastructure
US9390118B2 (en) * 2006-04-19 2016-07-12 Oracle International Corporation Computer implemented method for transforming an event notification within a database notification infrastructure
US7895600B2 (en) * 2006-05-10 2011-02-22 Oracle International Corporation Method of optimizing propagation of non-persistent messages from a source database management system to a destination database management system
US7761413B2 (en) * 2006-05-10 2010-07-20 Oracle International Corporation Method of ensuring availability of event notification registrations of a database management system
US8464275B2 (en) * 2006-05-10 2013-06-11 Oracle International Corporation Method of using a plurality of subscriber types in managing a message queue of a database management system
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US7634459B1 (en) * 2006-11-16 2009-12-15 Precise Software Solutions Ltd. Apparatus, method and computer-code for detecting changes in database-statement execution paths
US8150790B2 (en) * 2007-01-31 2012-04-03 Microsoft Corporation Lightweight physical design alerter
US20080183764A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Continuous physical design tuning
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US9483525B2 (en) 2007-04-30 2016-11-01 Microsoft Technology Licensing, Llc Reducing update conflicts when maintaining views
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US20090024570A1 (en) * 2007-07-20 2009-01-22 Oracle Internatonal Corporation User defined query rewrite mechanism
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US8078595B2 (en) * 2007-10-09 2011-12-13 Oracle International Corporation Secure normal forms
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US8850409B2 (en) * 2008-05-21 2014-09-30 Optumsoft, Inc. Notification-based constraint set translation to imperative execution
US8103916B2 (en) * 2008-12-01 2012-01-24 Sap Ag Scheduling of checks in computing systems
US8239396B2 (en) * 2009-03-20 2012-08-07 Oracle International Corporation View mechanism for data security, privacy and utilization
US8214316B2 (en) * 2009-03-23 2012-07-03 Microsoft Corporation Notification-based forward chaining
US8054764B2 (en) * 2009-06-04 2011-11-08 International Business Machines Corporation Transmitting critical table information in databases
US20110185353A1 (en) * 2010-01-27 2011-07-28 Jack Matthew Mitigating Problems Arising From Incompatible Software
US8775245B2 (en) 2010-02-11 2014-07-08 News America Marketing Properties, Llc Secure coupon distribution
US9471700B2 (en) * 2010-05-18 2016-10-18 Tksn Holdings, Llc System and method for monitoring changes in databases and websites
JP2011248502A (en) * 2010-05-25 2011-12-08 Sony Corp Information processing device, information output method and program
US8694553B2 (en) 2010-06-07 2014-04-08 Gary Stephen Shuster Creation and use of virtual places
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
US10614098B2 (en) 2010-12-23 2020-04-07 Mongodb, Inc. System and method for determining consensus within a distributed database
US8572031B2 (en) 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
US10713280B2 (en) 2010-12-23 2020-07-14 Mongodb, Inc. Systems and methods for managing distributed database deployments
US11544288B2 (en) 2010-12-23 2023-01-03 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10346430B2 (en) 2010-12-23 2019-07-09 Mongodb, Inc. System and method for determining consensus within a distributed database
US10262050B2 (en) 2015-09-25 2019-04-16 Mongodb, Inc. Distributed database systems and methods with pluggable storage engines
US10740353B2 (en) 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9881034B2 (en) * 2015-12-15 2018-01-30 Mongodb, Inc. Systems and methods for automating management of distributed databases
US9740762B2 (en) 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US8996463B2 (en) 2012-07-26 2015-03-31 Mongodb, Inc. Aggregation framework system architecture and method
US10997211B2 (en) 2010-12-23 2021-05-04 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US10366100B2 (en) 2012-07-26 2019-07-30 Mongodb, Inc. Aggregation framework system architecture and method
US11615115B2 (en) 2010-12-23 2023-03-28 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9805108B2 (en) 2010-12-23 2017-10-31 Mongodb, Inc. Large distributed database clustering systems and methods
US10977277B2 (en) 2010-12-23 2021-04-13 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US9946988B2 (en) 2011-09-28 2018-04-17 International Business Machines Corporation Management and notification of object model changes
US10872095B2 (en) 2012-07-26 2020-12-22 Mongodb, Inc. Aggregation framework system architecture and method
US11403317B2 (en) 2012-07-26 2022-08-02 Mongodb, Inc. Aggregation framework system architecture and method
US11544284B2 (en) 2012-07-26 2023-01-03 Mongodb, Inc. Aggregation framework system architecture and method
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
US10235333B1 (en) * 2014-04-11 2019-03-19 Twitter, Inc. Managing consistency models in a distributed database
US10810184B1 (en) * 2014-12-17 2020-10-20 Amazon Technologies, Inc. Systems for consistent modification of stored values
US10496669B2 (en) 2015-07-02 2019-12-03 Mongodb, Inc. System and method for augmenting consensus election in a distributed database
US10846411B2 (en) 2015-09-25 2020-11-24 Mongodb, Inc. Distributed database systems and methods with encrypted storage engines
US10423626B2 (en) 2015-09-25 2019-09-24 Mongodb, Inc. Systems and methods for data conversion and comparison
US10394822B2 (en) 2015-09-25 2019-08-27 Mongodb, Inc. Systems and methods for data conversion and comparison
US10673623B2 (en) 2015-09-25 2020-06-02 Mongodb, Inc. Systems and methods for hierarchical key management in encrypted distributed databases
US10599672B2 (en) 2015-11-24 2020-03-24 Cisco Technology, Inc. Cursor-based state-collapse scheme for shared databases
US10671496B2 (en) 2016-05-31 2020-06-02 Mongodb, Inc. Method and apparatus for reading and writing committed data
US10621050B2 (en) 2016-06-27 2020-04-14 Mongodb, Inc. Method and apparatus for restoring data from snapshots
US20180225325A1 (en) * 2017-02-07 2018-08-09 International Business Machines Corporation Application resiliency management using a database driver
US10866868B2 (en) 2017-06-20 2020-12-15 Mongodb, Inc. Systems and methods for optimization of database operations

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4908746A (en) * 1986-10-15 1990-03-13 United States Data Corporation Industrial control system
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
US4805099A (en) * 1987-04-17 1989-02-14 Wang Laboratories, Inc. Retrieval of related records from a relational database
US4937743A (en) * 1987-09-10 1990-06-26 Intellimed Corporation Method and system for scheduling, monitoring and dynamically managing resources
US4974173A (en) * 1987-12-02 1990-11-27 Xerox Corporation Small-scale workspace representations indicating activities by other users
US4864497A (en) * 1988-04-13 1989-09-05 Digital Equipment Corporation Method of integrating software application programs using an attributive data model database
US4961139A (en) * 1988-06-30 1990-10-02 Hewlett-Packard Company Data base management system for real-time applications
JPH0219963A (en) * 1988-07-08 1990-01-23 Hitachi Ltd Method and system for monitoring real time state
US4965718A (en) * 1988-09-29 1990-10-23 International Business Machines Corporation Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5237620A (en) * 1989-05-01 1993-08-17 Credit Verification Corporation Check reader method and system for reading check MICR code

Also Published As

Publication number Publication date
EP0374512A3 (en) 1992-10-07
US5133075A (en) 1992-07-21
US5471629A (en) 1995-11-28
EP0374512A2 (en) 1990-06-27
EP0374512B1 (en) 1997-07-23
DE68928195T2 (en) 1998-02-19
DE68928195D1 (en) 1997-09-04

Similar Documents

Publication Publication Date Title
US5133075A (en) Method of monitoring changes in attribute values of object in an object-oriented database
US5829001A (en) Database updates over a network
US5553234A (en) System and method for including stored procedures, user-defined functions, and trigger processing in an existing unit of work
US8165993B2 (en) Business intelligence system with interface that provides for immediate user action
US5953719A (en) Heterogeneous database system with dynamic commit procedure control
US6859798B1 (en) Intelligence server system
AU772754B2 (en) System and method for rewriting relational database queries
US5987497A (en) System and method for managing the configuration of distributed objects
US7412709B2 (en) Method and apparatus for managing multiple data processing systems using existing heterogeneous systems management software
US6480847B1 (en) Database repository with deferred transactions
US7555473B2 (en) Partial pre-aggregation in relational database queries
US10838935B2 (en) Automating the logging of table changes in a database
US7644084B2 (en) Methods, computer systems and software applications for providing a central lock service
US6032153A (en) Method and system for maintaining persistence in a shared object system
EP1148430A2 (en) Optimization of a star join operation using a bitmap index structure
Risch Monitoring Database Objects.
EP1817698B1 (en) Method, computer system and software application for providing a lock service
US7502824B2 (en) Database shutdown with session migration
US20050028171A1 (en) System and method enabling multiple processes to efficiently log events
EP0633538A2 (en) Relational database management system
US7949685B2 (en) Modeling and implementing complex data access operations based on lower level traditional operations
CA2180449A1 (en) Improved method and apparatus for accessing a database
US6725445B1 (en) System for minimizing notifications in workflow management system
AU2005200742B2 (en) Method, system and software application for real time data processing
US5128885A (en) Method for automatic generation of document history log exception reports in a data processing system

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued