System for instance customization with application...

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

C709S241000

Reexamination Certificate

active

06449659

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to processors that have a plurality of application programs installed thereon, each of which has its own internally defined set of objects. The system for instance customization with application independent programming of controls functions to provide the capability for a user to change an object's behavior within a customized instance of a document in an application program without changing the object's identity and without impacting other users who have their own instances of the object, while also providing both a consistent programming model and functionality for these objects.
PROBLEM
It is a problem in application programs to manage customized instances of objects and to provide a consistent programming model and functionality for the controls that are defined by a variety of application program and component vendors, as well as by individual users. This problem is especially relevant in an office suite type of environment on a personal computer, where each application program in the office suite can embed objects into an extended object, which is implemented in the application program, to modify the properties, methods and events of the embedded objects. This creation of customized objects by embedding objects in the application program causes difficulty in maintaining consistency of reference when multiple users concurrently access the object and make changes to the object. This is especially problematic when the reference to the object spans multiple application programs.
As an illustration, the Microsoft Office suite of application programs comprises a Visual Basic for Applications (also termed Visual Basic) layer on which is overlaid a plurality of application programs, including: PowerPoint, Word, and Excel. Early versions of Visual Basic put code behind objects, such as forms, using a class customization model, in which the identity of the object changes during the transition from design-time to run-time. This model works for Visual Basic but does not work for the Microsoft Office environment of application programs. If Microsoft Office were to use a class customization model, then the Object Linking and Embedding (OLE) object identity of an Excel spreadsheet, Word document, etc. would change when major changes were made to the code behind the spreadsheet or document. The problem with this is that any clients who were holding onto an instance pointer of the spreadsheet or document would end up with an invalid pointer, since the underlying object that was pointed to no longer exists. A user would then have to take whatever action is necessary in order to refresh the instance pointer in every instance it is used in each application program to now point to the new instantiation of the object. Thus, an apparently benign action, such as adding a table to a Word document, can cause the interface of the Word document to change, since a property may be added to the Word document for accessing the table.
The above-noted problem is further compounded by the problem of providing a consistent programming model and functionality for the controls that that are defined by a variety of application program and component vendors, as well as individual users. This is because the application programs that are installed on a processor each have their own way of extending controls and these extensions are typically inconsistent in their implementation across the plurality of application programs. The existence of a common programming tool in an office suite environment raises users' expectations for a common programming model for using controls. Without specific support in the programming tool, it is extremely difficult to attain such a common programming model. Each application program in the office suite would need to provide its own implementation of the controls by embedding the controls, which are provided by the underlying common programming tool, into an extended control, which is implemented in the application program, to modify the properties, methods and events of the embedded controls. Duplicating this work in all applications would result in inconsistent interfaces and operation of controls as well as increased cost of implementation due to the replication of the control programmability function across the various application programs.
SOLUTION
The present system for instance customization with application independent programming of controls functions to place code behind documents in a multi-program environment in a manner that eliminates the object instance management problems of existing systems. The instance customization portion of the present system consists of the process whereby the behavior of an object is changed by the user without changing its identity. This is accomplished by combining a customizable object and a language engine object to form the customized instance of the object. The instance customization portion of this system is enabled by the customized object aggregating the user defined customizations into a standard object that is supplied by Visual Basic. The Visual Basic object is given a pointer to the standard part of the document object which implements the base functionality of the document.
As an example, some users of Microsoft Office application programs implement customized objects by using the Visual Basic layer directly, while many users use Visual Basic indirectly through the wizards or tools that are provided in the application programs. An instance-based programming model of objects is therefore easier for these users to understand since this is the paradigm implemented in the indirect case. For example, a user places a control on a document and writes event handling code for it. The programming model that the user sees is like Visual Basic, in that the control is accessible as a property on the control container. The system for instance customization with application independent programming of controls enables clients to hold a pointer to the document object and the user programmed control, without it becoming invalidated. Another example is where an Excel workbook is embedded in a Visio drawing. A user places a button on the document and writes event handling code for the button. Instance customization is required for this scenario because the embedding protocol assumes that the identity of an embedding is constant. This protocol and others that make similar assumptions cannot be changed because they are an integral part of the application programs. All containers of the object would therefore have to use the new protocol. In addition, all containees of the object, such as controls, would have to use the new protocol since it is possible for a containee to obtain a pointer to its container. The only possible way out of this would be to say that the object being customized by the user has a different identity from the embedded object. In other words, there are two parallel worlds—one for internal consumption and one for external consumption, which is an unacceptable limitation.
The present system for instance customization with application independent programming of controls also functions to provide a common programming model for a set of controls used in a plurality of application programs, such as those typically included in an office suite, installed on a processor, while also enabling customization of these controls for each application program. This is accomplished by producing an interface in an underlying common programming tool which enables a host application program to augment the properties, methods and events provided by the underlying controls by adding “extender” properties, methods and in a consistent manner. The user can thus use a control in a variety of application programs, and have both a consistent experience as well as a customized experience—“consistent” in the sense that the functionality that is unique to the control is the same from application to application, and “customized” in the sense that behavior that is unique to the control container is dif

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

System for instance customization with application... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System for instance customization with application..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for instance customization with application... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2850529

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