Method and apparatus for performing user notification

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S950000, C709S217000

Reexamination Certificate

active

06412021

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of computer software, and, more specifically, to object-oriented computer applications.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, “Write Once, Run Anywhere”, Java, JavaOS, JavaStation, HotJava Views and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
2. Background Art
The Java™ programming language, developed by Sun Microsystems™, Inc., has an advantage over other programming languages of being a “write once, run anywhere”™ language. The Java™ programming language provides a substantially platform-independent mechanism for applications to be designed, distributed and executed in the form of bytecode class files. The Java™ virtual machine within the Java™ runtime environment handles the resolution of the bytecodes into the requisite platform dependent instruction set, so that all computing platforms which contain a Java™ runtime environment are capable of executing the same bytecode class files.
Java™-based systems, such as HotJava View™, are being developed that allow enterprises to load applications, in the form of applets, from a centralized server. Each client on the network accesses and executes the same applications, regardless of computing platform, and the source files remain in a centralized and controlled location. As a result, application management requirements are minimized. This client-server arrangement also permits the use of network computers, i.e., “thin client” computers with minimized I/O and storage facilities.
However, the application memory available to the Java™ runtime environment is limited, particularly in systems which do not implement virtual memory. As a result, the number of applets that can be simultaneously supported in the runtime environment is also limited. Applets may need to be unloaded from the runtime environment to make room in memory for the newly selected applet. The unloading of applets presents a problem for applets which need to run continuously to provide feedback to a user about a change of state in the applet. For example, an electronic mail applet may wish to notify a user when new mail arrives, or a calendar applet may wish to notify a user of an impending appointment. Once applet classes are unloaded from the runtime environment, there is no mechanism by which the unloaded applet may provide feedback to the user. This problem can be better understood from a review of object-oriented programming and the Java™ development and runtime environment.
Object-Oriented Programming
Object-oriented programming is a method of creating computer programs by combining certain fundamental building blocks, and creating relationships among and between the building blocks. The building blocks in object-oriented programming systems are called “objects.” An object is a programming unit that groups together a data structure (one or more instance variables) and the operations (methods) that can use or affect that data. Thus, an object consists of data and one or more operations or procedures that can be performed on that data. The joining of data and operations into a unitary building block is called “encapsulation.”
An object can be instructed to perform one of its methods when it receives a “message.” A message is a command or instruction sent to the object to execute a certain method. A message consists of a method selection (e.g., method name) and a plurality of arguments. A message tells the receiving object what operations to perform.
One advantage of object-oriented programming is the way in which methods are invoked. When a message is sent to an object, it is not necessary for the message to instruct the object how to perform a certain method. It is only necessary to request that the object execute the method. This greatly simplifies program development.
Object-oriented programming languages are predominantly based on a “class” scheme. The class-based object-oriented programming scheme is generally described in Lieberman, “Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems,” OOPSLA 86 Proceedings, September 1986, pp. 214-223.
A class defines a type of object that typically includes both variables and methods for the class. An object class is used to create a particular instance of an object. An instance of an object class includes the variables and methods defined for the class. Multiple instances of the same class can be created from an object class. Each instance that is created from the object class is said to be of the same type or class.
To illustrate, an employee object class can include “name” and “salary” instance variables and a “set_salary” method. Instances of the employee object class can be created, or instantiated for each employee in an organization. Each object instance is said to be of type “employee.” Each employee object instance includes “name” and “salary” instance variables and the “set_salary” method. The values associated with the “name” and “salary” variables in each employee object instance contain the name and salary of an employee in the organization. A message can be sent to an employee's employee object instance to invoke the “set_salary” method to modify the employee's salary (i.e., the value associated with the “salary” variable in the employee's employee object).
A hierarchy of classes can be defined such that an object class definition has one or more subclasses. A subclass inherits its parent's (and grandparent's etc.) definition. Each subclass in the hierarchy may add to or modify the behavior specified by its parent class. Some object-oriented programming languages support multiple inheritance where a subclass may inherit a class definition from more than one parent class. Other programming languages support only single inheritance, where a subclass is limited to inheriting the class definition of only one parent class. The Java™ programming language also provides a mechanism known as an “interface” which comprises a set of constant and abstract method declarations. An object class can implement the abstract methods defined in an interface. Both single and multiple inheritance are available to an interface. That is, an interface can inherit an interface definition from more than one parent interface.
An object is a generic term that is used in the object-oriented programming environment to refer to a module that contains related code and variables. A software application can be written using an object-oriented programming language whereby the program's functionality is implemented using objects.
Java™ Programming and Execution
The Java™ programming language is an object-oriented programming language with each program comprising one or more object classes and interfaces. Unlike many programming languages, in which a program is compiled into machine-dependent, executable program code, Java™ classes are compiled into machine independent bytecode class files. Each class contains code and data in a platform-independent format called the class file format. The computer system acting as the execution vehicle supports the Java™ runtime environment. The runtime environment contains a program called a virtual machine, which is responsible for executing the code in Java™ classes.
Applications may be designed as standalone Java™ applications, or as Java™ “applets” which are identified by an applet tag in an HTML (hypertext markup language) document, and loaded by a browser application. The class files associated with an application or applet may be stored on the local computing system, or on a server accessible over a n

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for performing user notification does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for performing user notification, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for performing user notification will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2913053

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.