An event notification system for propagating object-change information. The notification system supports change notification without queues in an object-based application or operating system and can be scaled to propagate large numbers of events among a large plurality of objects. The event notification system interconnects a plurality of event source and event receiver objects. Any object, such as a command object, may operate as either an event receiver object, an event source object or both. A notification object is created by a source object to transport, from a source to a receiver, descriptive information about a change, which includes a particular receiver object method and a pointer to the source object that sent the notification. A receiver object must register with a connection object its "interest" in receiving notification of changes; specifying both the event type and the particular source object of interest. After establishing such connections, the receiver object... |
Citations|
| US3658427 | Nov 28, 1969 | Apr 5, 1972 | | ROBERT GOTTSCHALK | | US3881605 | Jun 29, 1973 | 1975 | | FIG. 4A
TEST | | US4082188 | Jun 23, 1976 | Apr 4, 1978 | Hoffmann-La Roche Inc. | Apparatus for color recognition and defect detection of objects such as capsules | | US4635208 | Jan 18, 1985 | Jan 6, 1987 | Hewlett-Packard Company | Computer-aided design of systems | | US4677576 | Jun 27, 1983 | Jun 30, 1987 | Grumman Aerospace Corporation | Non-edge computer image generation system | | US4679137 | Apr 30, 1985 | Jul 7, 1987 | Prometrix Corporation | Process control interface system for designer and operator | | US4686522 | Feb 19, 1985 | Aug 11, 1987 | International Business Machines Corporation | Method of editing graphic objects in an interactive draw graphic system using implicit editing actions | | US4704694 | Dec 16, 1985 | Nov 3, 1987 | Automation Intelligence, Inc. | Learned part system | | US4742356 | Dec 9, 1985 | May 3, 1988 | McDonnell Douglas Corporation | Method and apparatus for determining remote object orientation and position | | US4760386 | Jun 13, 1986 | Jul 26, 1988 | International Business Machines Corporation | Automatic hiding and revealing of a pointer during keyboard activity | | US4821220 | Jul 25, 1986 | Apr 11, 1989 | Tektronix, Inc. | System for animating program operation and displaying time-based relationships | | US4823283 | Oct 14, 1986 | Apr 18, 1989 | Tektronix, Inc. | Status driven menu system | | US4831654 | Sep 9, 1985 | May 16, 1989 | Wang Laboratories, Inc. | Apparatus for making and editing dictionary entries in a text to speech conversion system | | US4835685 | May 6, 1985 | May 30, 1989 | Computer X, Inc. | Virtual single machine with message-like hardware interrupts and processor exceptions | | US4843538 | Jun 20, 1988 | Jun 27, 1989 | Prometrix Corporation | Multi-level dynamic menu which suppresses display of items previously designated as non-selectable | | US4853843 | Dec 18, 1987 | Aug 1, 1989 | Tektronix, Inc. | System for merging virtual partitions of a distributed database | | US4868744 | Mar 3, 1986 | Sep 19, 1989 | International Business Machines Corporation | Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log | | US4885717 | Sep 25, 1986 | Dec 5, 1989 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs | | US4891630 | Apr 22, 1988 | Jan 2, 1990 | | Computer vision system with improved object orientation technique | | US4931783 | Jul 26, 1988 | Jun 5, 1990 | Apple Computer, Inc. | Method and apparatus for removable menu window | | US4939648 | Dec 2, 1987 | Jul 3, 1990 | Schlumberger Technology Corporation | Apparatus and method for monitoring well logging information | | US4943932 | Apr 15, 1987 | Jul 24, 1990 | Cimflex Teknowledge Corporation | Architecture for composing computational modules uniformly across diverse developmental frameworks | | US4953080 | Apr 25, 1988 | Aug 28, 1990 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system | | US4982344 | May 18, 1988 | Jan 1, 1991 | Xerox Corporation | Accelerating link creation | | US5008810 | Sep 29, 1988 | Apr 16, 1991 | Process Modeling Investment Corp. | System for displaying different subsets of screen views, entering different amount of information, and determining correctness of input dependent upon current user input | | US5040131 | Nov 3, 1989 | Aug 13, 1991 | International Business Machines Corporation | Graphical processing | | US5041992 | Oct 24, 1988 | Aug 20, 1991 | University of Pittsburgh | Interactive method of developing software interfaces | | US5050090 | Mar 30, 1989 | Sep 17, 1991 | R. J. Reynolds Tobacco Company | Object placement method and apparatus | | US5060276 | May 31, 1989 | Oct 22, 1991 | AT&T Bell Laboratories | Technique for object orientation detection using a feed-forward neural network | | US5075848 | Dec 22, 1989 | Dec 24, 1991 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism | | US5083262 | Sep 27, 1990 | Jan 21, 1992 | International Business Machines Corporation | Language bindings for graphics functions to enable one application program to be used in different processing environments | | US5093914 | Dec 15, 1989 | Mar 3, 1992 | AT&T Bell Laboratories | Method of controlling the execution of object-oriented programs | | US5119475 | Aug 29, 1991 | Jun 2, 1992 | Schlumberger Technology Corporation | Object-oriented framework for menu definition | | US5125091 | Jun 8, 1989 | Jun 23, 1992 | Hazox Corporation | Object oriented control of real-time processing | | US5129084 | Jun 29, 1989 | Jul 7, 1992 | Digital Equipment Corporation | Object container transfer system and method in an object based computer operating system | | US5133075 | Dec 19, 1988 | Jul 21, 1992 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database | | US5136705 | Jun 10, 1991 | Aug 4, 1992 | Tektronix, Inc. | Method of generating instruction sequences for controlling data flow processes | | US5140677 | May 11, 1990 | Aug 18, 1992 | International Business Machines Corporation | Computer user interface with window title bar mini-icons | | US5151987 | Oct 23, 1990 | Sep 29, 1992 | International Business Machines Corporation | Recovery objects in an object oriented computing environment | | US5163130 | May 5, 1992 | Nov 10, 1992 | NeXT Computer, Inc. | System and method for configuring a graphic interface | | US5168411 | Apr 9, 1991 | Dec 1, 1992 | Sony Corporation | Tape cassette and recording and/or reproducing apparatus therefor having cooperative elements for opening cassette lid | | US5168441 | May 30, 1990 | Dec 1, 1992 | Allen-Bradley Company, Inc. | Methods for set up and programming of machine and process controllers | | US5177685 | Aug 9, 1990 | Jan 5, 1993 | Massachusetts Institute of Technology | Automobile navigation system using real time spoken driving instructions | | US5181162 | Dec 6, 1989 | Jan 19, 1993 | Eastman Kodak Company | Document management and production system | | US5198802 | Dec 20, 1991 | Mar 30, 1993 | International Business Machines Corp. | Combined keyboard and mouse entry | | US5206951 | Apr 3, 1991 | Apr 27, 1993 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types | | US5228123 | Jan 29, 1992 | Jul 13, 1993 | | Interface and application development management system based on a gene metaphor | | US5230063 | Nov 28, 1990 | Jul 20, 1993 | Sun Microsystems, Inc. | Method and apparatus for selecting button function and retaining selected optics on a display | | US5237654 | Apr 17, 1990 | Aug 17, 1993 | International Business Machines Corporation | Hierarchical inter-panel process flow control | | US5239287 | Jan 3, 1991 | Aug 24, 1993 | International Business Machines Corporation | Table editor | | US5241655 | Nov 15, 1989 | Aug 31, 1993 | Hitachi, Ltd. | Menu presentation method and data processing apparatus | | US5265206 | Oct 23, 1990 | Nov 23, 1993 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment | | US5276775 | Oct 13, 1992 | Jan 4, 1994 | Texas Instruments Inc. | System and method for building knowledge-based applications | | US5276816 | Dec 31, 1990 | Jan 4, 1994 | International Business Machines Corporation | Icon object interface system and method | | US5280610 | Aug 14, 1990 | Jan 18, 1994 | Digital Equipment Corporation | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications | | US5287448 | Mar 24, 1993 | Feb 15, 1994 | Apple Computer, Inc. | Method and apparatus for providing help information to users of computers | | US5291587 | Nov 19, 1992 | Mar 1, 1994 | National Instruments, Inc. | Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs | | US5295222 | May 18, 1992 | Mar 15, 1994 | Seer Technologies, Inc. | Computer-aided software engineering facility | | US5295256 | Dec 14, 1990 | Mar 15, 1994 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema | | US5297253 | Jan 9, 1992 | Mar 22, 1994 | Ehrlich Associates, Inc. | Computer user interface navigational tool | | US5297284 | Apr 9, 1991 | Mar 22, 1994 | Microsoft Corporation | Method and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language | | US5301301 | Jan 30, 1991 | Apr 5, 1994 | National Instruments Corporation | Polymorphic dataflow block diagram system and method for programming a computer | | US5301336 | Jul 12, 1989 | Apr 5, 1994 | National Instruments, Inc. | Graphical method for programming a virtual instrument | | US5309566 | Feb 4, 1992 | May 3, 1994 | International Business Machines Corporation | System and method for character translation | | US5313629 | Oct 23, 1989 | May 17, 1994 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together | | US5313636 | Aug 5, 1993 | May 17, 1994 | Intellicorp, Inc. | Mosaic objects and method for optimizing object representation performance in an object-oriented representation system | | US5315703 | Dec 23, 1992 | May 24, 1994 | Taligent, Inc. | Object-oriented notification framework system | | US5315709 | Dec 3, 1990 | May 24, 1994 | Bachman Information Systems, Inc. | Method and apparatus for transforming objects in data models | | US5317741 | May 10, 1991 | May 31, 1994 | Siemens Corporate Research, Inc. | Computer method for identifying a misclassified software object in a cluster of internally similar software objects | | US5321841 | Jan 29, 1993 | Jun 14, 1994 | Digital Equipment Corporation | System for determining the rights of object access for a server process by combining them with the rights of the client process | | US5325481 | Apr 12, 1991 | Jun 28, 1994 | Hewlett-Packard Company | Method for creating dynamic user panels in an iconic programming system | | US5325522 | Apr 10, 1991 | Jun 28, 1994 | United States Data Corporation | Apparatus and method for communicating between devices trough use of a real time data base | | US5325524 | Apr 6, 1992 | Jun 28, 1994 | Digital Equipment Corporation | Locating mobile objects in a distributed computer system | | US5325533 | Jun 28, 1993 | Jun 28, 1994 | Taligent, Inc. | Engineering system for modeling computer programs | | US5327529 | Sep 9, 1992 | Jul 5, 1994 | Geoworks | Process of designing user's interfaces for application programs | | US5329446 | Jan 14, 1991 | Jul 12, 1994 | Sharp Kabushiki Kaisha | Translation machine | | US5339433 | Nov 19, 1992 | Aug 16, 1994 | Borland International, Inc. | Symbol browsing in an object-oriented development system | | US5345550 | Dec 23, 1992 | Sep 6, 1994 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior | | US5347626 | May 21, 1993 | Sep 13, 1994 | Sun Microsystems, Inc. | Method and apparatus for selecting and executing defaults in window based displayed system | | US5367633 | Jan 11, 1994 | Nov 22, 1994 | Taligent, Inc. | Objected oriented notification framework system | | US5371846 | Oct 16, 1991 | Dec 6, 1994 | International Business Machines Corporation | Non-linear scroll bar | | US5371851 | Apr 26, 1989 | Dec 6, 1994 | Credence Systems Corporation | Graphical data base editor | | US5371886 | Dec 9, 1993 | Dec 6, 1994 | International Business Machines Corporation | System for managing unit-of-work identifiers when a chained, distributed, two phase commit transaction system is severed | | US5375164 | Aug 12, 1992 | Dec 20, 1994 | AT&T Corp. | Multiple language capability in an interactive system | | US5386556 | Dec 23, 1992 | Jan 31, 1995 | International Business Machines Corporation | Natural language analyzing apparatus and method | | US5390314 | Oct 9, 1992 | Feb 14, 1995 | American Airlines, Inc. | Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification | | US5414812 | Aug 26, 1994 | May 9, 1995 | International Business Machines Corporation | System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem | | US5416903 | Aug 19, 1991 | May 16, 1995 | International Business Machines Corporation | System and method for supporting multilingual translations of a windowed user interface | | US5434965 | Dec 23, 1992 | Jul 18, 1995 | Taligent, Inc. | Balloon help system | | US5446902 | Jul 14, 1993 | Aug 29, 1995 | Sun Microsystems, Inc. | Method for implementing computer applications in an object oriented manner using a traditional non-object oriented programming language | | US5479601 | Apr 13, 1995 | Dec 26, 1995 | Taligent, Inc. | Method and apparatus for processing commands generated by user interface controls in an atomic manner | | US5497319 | Sep 26, 1994 | Mar 5, 1996 | Trans-link International Corp. | Machine translation and telecommunications system | | US5517606 | Aug 2, 1994 | May 14, 1996 | Taligent, Inc. | Object-oriented menuing system using command objects of an object-oriented operation system | | US5530864 | Dec 23, 1992 | Jun 25, 1996 | Taligent | Command object system for an object-oriented software platform | | US5550563 | Dec 23, 1992 | Aug 27, 1996 | Taligent, Inc. | Interaction framework system | | US5551055 | Dec 23, 1992 | Aug 27, 1996 | 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 | | US5583982 | Aug 26, 1994 | Dec 10, 1996 | Object Technology Licensing Corporation | Dialog system | | US5717877 | Jun 6, 1995 | Feb 10, 1998 | Object Licensing Licensing Corporation | Object-oriented data access framework system |
Referenced by|
| US6725445 | Jul 7, 2000 | Apr 20, 2004 | International Business Machines Corporation | System for minimizing notifications in workflow management system | | US6782541 | May 28, 1999 | Aug 24, 2004 | Avaya Technology Corp. | System and method of exchanging information between software modules | | US6983424 | Jun 23, 2000 | Jan 3, 2006 | International Business Machines Corporation | Automatically scaling icons to fit a display area within a data processing system | | US7030890 | Nov 1, 2000 | Apr 18, 2006 | Thomson Licensing S.A. | Displaying graphical objects | | US7062773 | Jul 20, 1998 | Jun 13, 2006 | International Business Machines Corporation | System and method for providing graphical user interface control enhancers | | US7174504 | Nov 8, 2002 | Feb 6, 2007 | Wuxi Evermore Software, Inc. | Integrated data processing system with links | | US7233326 | Mar 6, 2003 | Jun 19, 2007 | Autodesk, Inc. | Three dimensional modeling and animation system using master objects and modifiers | | US7454437 | Sep 22, 2004 | Nov 18, 2008 | EMC Corporation | Methods and apparatus for naming resources | | US7469302 | Aug 29, 2003 | Dec 23, 2008 | Yahoo! Inc. | System and method for ensuring consistent web display by multiple independent client programs with a server that is not persistently connected to client computer systems | | US7568161 | Aug 12, 2004 | Jul 28, 2009 | Melia Technologies, Ltd | Overcoming double-click constraints in a mark-up language environment | | US7600046 | Jul 3, 2008 | Oct 6, 2009 | Yahoo! Inc. | Event notification | | US7818428 | Oct 23, 2008 | Oct 19, 2010 | EMC Corporation | Methods and apparatus for naming resources | | US7899798 | Feb 25, 2008 | Mar 1, 2011 | Microsoft Corporation | Observing and reporting changes in complex software dependencies | | US7945612 | Mar 28, 2006 | May 17, 2011 | Microsoft Corporation | Aggregating user presence across multiple endpoints | | US8078579 | Jul 14, 2007 | Dec 13, 2011 | Oracle International Corporation | Data source currency tracking and currency based execution | | US8174503 | May 17, 2008 | May 8, 2012 | David H. Cain | Touch-based authentication of a mobile device through user generated pattern creation | | US8209634 | Feb 24, 2004 | Jun 26, 2012 | Research In Motion Limited | Previewing a new event on a small screen device | | US8214340 | Jan 28, 2011 | Jul 3, 2012 | Microsoft Corporation | Observing and reporting changes in complex software dependencies | | USD545830 | Jun 30, 2005 | Jul 3, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD549719 | Jun 30, 2005 | Aug 28, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD549720 | Jun 30, 2005 | Aug 28, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD550230 | Jun 30, 2005 | Sep 4, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD550231 | Jun 30, 2005 | Sep 4, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD550232 | Jun 30, 2005 | Sep 4, 2007 | Microsoft Corporation | User interface for a portion of a display screen | | USD577740 | Feb 28, 2007 | Sep 30, 2008 | Samsung Electronics Co., Ltd. | Image display for mobile phone | | USD658204 | Nov 18, 2010 | Apr 24, 2012 | BCS Business Colsulting Services Pte Ltd | Portion of a display screen with an icon |
Claims1. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a first object, connection information representing the first object's interest in, and an associated object method for, receiving notification of a change to a second object;
- (b) registering the connection information with a connection object;
- (c) creating an event representing a change in the second object, responsive to the change in the second object; and
- (d) notifying the first object of the event by invoking the associated object method for receiving notification registered with the connection object only if the event information corresponds to an interest registered on behalf of the first object.
2. The operating method of claim 1, wherein the connection object is associated with status information, the operating method further comprising the step of: - (b. 1) using the connection information in the connection object to configure the status information to represent whether the notifying step (d) is activated or inactivated.
3. The operating method of claim 1, wherein the connection information is associated with a notification type corresponding to a connection object method, the operating method further comprising the step of: - (c. 1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
4. The operating method of claim 3 wherein: - each of a notification type plurality corresponds to a unique connection object method different from the connection object method corresponding to another of the notification type plurality.
5. The operating method of claim 3 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the first object.
6. The operating method of claim 3 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic associated with the first object.
7. The operating method of claim 3 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the first object.
8. The operating method of claim 3 further comprising the step of: - (C. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the first object.
9. The operating method of claim 8 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the first object.
10. The operating method of claim 8 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an redo function associated with the first object.
11. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of an event listener object, connection information representing the event listener object's interest in, and an associated object method for, receiving notification of a change to an event source object;
- (b) registering the connection information with a connection object;
- (c) creating an event representing a change in the event source object, responsive to the change in the event source object; and
- (d) notifying the event listener object of the event by invoking the associated object method for receiving notification registered with the connection object only if the event information corresponds to an interest registered on behalf of the event listener object.
12. The operating method of claim 11, wherein the connection object is associated with status information, the operating method further comprising the step of: - (b. 1) using the connection information in the connection object to configure the status information to enable or disable the notifying step (d).
13. The operating method of claim 11 wherein the connection information is associate with a notification type corresponding to a connection object method, the operating method further comprising the step of: - (c. 1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
14. The operating method of claim 13, wherein each of a notification type plurality corresponds to the same single connection object method, the operating method further comprising the step of: - (c. 1.1) transferring notification type information between two objects.
15. The operating method of claim 13 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the event listener object.
16. The operating method of claim 13 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic icon associated with the event listener object.
17. The operating method of claim 13 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the event listener object.
18. The operating method of claim 13 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the event listener object.
19. The operating method of claim 18 wherein the data associated with the event listener object includes descriptive textual data. 20. The operating method of claim 18 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the event listener object.
21. The operating method of claim 18 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an redo function associated with the event listener object.
22. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a consumer object, connection information representing the consumer object's interest in, and an associated object method for, receiving notification of a change to a supplier object;
- (b) registering the connection information with a channel object;
- (c) creating an event representing a change in the supplier object, responsive to the change in the supplier object; and
- (d) notifying the consumer object of the event by invoking the associated object method for receiving notification registered with the channel object only if the event information corresponds to an interest registered on behalf of the consumer object.
23. The operating method of claim 22, wherein the channel object is associated with status information, the operating method further comprising the step of: - (b. 1) using the connection information in the channel object to configure the status information to make the notifying step (d) active or passive.
24. The operating method of claim 22, wherein the connection information is associated with a notification type corresponding to a channel object method, the operating method further comprising the step of: - (c.1) invoking the channel object method corresponding to the notification type specified by the connection information in the channel object.
25. The operating method of claim 24, wherein a notification type plurality all correspond to the same single channel object method, the operating method further comprising the step of: - transferring notification type information-between two objects.
26. The operating method of claim 24 further comprising the step of: - (c. 1.1) invoking a channel object method responsible for using the connection information in the channel object to create or modify data associated with the consumer object.
27. The operating method of claim 24 further comprising the step of: - (c. 1.1) invoking a channel object method responsible for using the connection information in the channel object to read data associated with the consumer object.
28. The operating method of claim 24 wherein the event has an associated type attribute. 29. The operating method of claim 22 wherein the creating step (c) is initiated by the channel object. 30. The operating method of claim 22 wherein the creating step (c) is initiated by the supplier object. 31. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a receiver object, connection information representing the receiver object's interest in, and an associated object method for, receiving notification of a change to a source object;
- (b) registering the connection information using a connection object;
- (c) creating an event representing a change in the source object, responsive to the change in the source object; and
- (d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object.
32. The operating method of claim 31, wherein the connection object is associated with status information, the operating method further comprising the step of: - (b. 1) using the connection information in the connection object to configure the status information to represent whether the notifying step (d) is activated or inactivated.
33. The operating method of claim 31, wherein the connection information is associated with a notification type corresponding to a connection object method, the operating method further comprising the step of: - (c. 1) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object.
34. The operating method of claim 33 wherein: - each of a notification type plurality corresponds to a unique connection object method different from the connection object method corresponding to another of the notification type plurality.
35. The operating method of claim 33 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the receiver object.
36. The operating method of claim 33 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic associated with the receiver object.
37. The operating method of claim 33 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the receiver object.
38. The operating method of claim 33 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the receiver object.
39. The operating method of claim 38 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the receiver object.
40. The operating method of claim 38 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute a redo function associated with the receiver object.
41. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a receiver object, connection information representing the receiver object's interest in, and an associated object method for, receiving notification of a change to a source object:
- (b) registering the connection information using a connection object;
- (c) creating an event representing a change in the source object, responsive to the change in the source object;
- (d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object; and
- (e) using the connection information in the connection object to configure status information to enable the notifying step (d).
42. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a receiver object, connection information representing the receiver object's interest in, and an associated object method for, receiving notification of a change to a source object;
- (b) registering the connection information using a connection object;
- (c) creating an event representing a change in the source object, responsive to the change in the source object;
- (d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object; and
- (e) using the connection information in the connection object to configure status information to disable the notifying step (d).
43. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a receiver object, connection information representing the receiver object's interest in, and an associated object method for, receiving notification of a change to a source object;
- (b) registering the connection information using a connection object;
- (c) creating an event representing a change in the source object, responsive to the change in the source object;
- (d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered using the connection object only if the event information corresponds to an interest registered on behalf of the receiver object;
- said connection information being associated with a notification type corresponding to a connection object method;
- (e) invoking the connection object method corresponding to the notification type specified by the connection information in the connection object;
- each of a notification type plurality corresponding to the same single connection object method; and
- (f) transferring notification type information between two objects.
44. The operating method of claim 43 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a name associated with the receiver object.
45. The operating method of claim 43 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to modify a graphic icon associated with the receiver object.
46. The operating method of claim 43 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to read data associated with the receiver object.
47. The operating method of claim 43 further comprising the step of: - (c. 1.1) invoking a connection object method responsible for using the connection information in the connection object to create or modify data associated with the receiver object.
48. The operating method of claim 47 wherein the data associated with the receiver object includes descriptive textual data. 49. The operating method of claim 47 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute an undo function associated with the receiver object.
50. The operating method of claim 47 further comprising the step of: - (c. 1.2) invoking a connection object method responsible for using the connection information in the connection object to execute a redo function associated with the receiver object.
51. A method for operating a computer-implemented event notification system for propagating, among a plurality of objects, events representing changes in the objects, the operating method comprising the steps of: - (a) creating, on behalf of a receiver object, connection information representing the receiver object's interest in, and an associated object method for, receiving notification of a change to a source object;
- (b) registering the connection information with a notifier object;
- (c) creating an event representing a change in the source object, responsive to the change in the source object; and
- (d) notifying the receiver object of the event by invoking the associated object method for receiving notification registered with the notifier object only if the event information corresponds to an interest registered on behalf of the receiver object.
52. The operating method of claim 51, wherein the notifier object is associated with status information, the operating method further comprising the step of: - (b. 1) using the connection information in the notifier object to configure the status information to make the notifying step (d) active or passive.
53. The operating method of claim 51, wherein the connection information is associated with a notification type corresponding to a notifier object method, the operating method further comprising the step of: - (c. 1) invoking the notifier object method corresponding to the notification type specified by the connection information in the notifier object.
54. The operating method of claim 53, wherein a notification type plurality all correspond to the same single notifier object method, the operating method further comprising the step of: - transferring notification type information between two objects.
55. The operating method of claim 53 further comprising the step of: - (c. 1.1) invoking a notifier object method responsible for using the connection information in the notifier object to create or modify data associated with the receiver object.
56. The operating method of claim 53 further comprising the step of: - (c. 1.1) invoking a notifier object method responsible for using the connection information in the notifier object to read data associated with the receiver object.
57. The operating method of claim 53 wherein the event has an associated type attribute. 58. The operating method of claim 51 wherein the creating step (c) is initiated by the notifier object. 59. The operating method of claim 51 wherein the creating step (c) is initiated by the source object. |