Method and apparatus for distributing templates in a...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000

Reexamination Certificate

active

06195794

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to improvements in computer systems, and, more particularly, to a system for creating and distributing customized applications.
BACKGROUND OF THE INVENTION
In the evolution of data processing systems, much of the functionality which previously had been performed by hardware system components is now being constructed utilizing software programming instead. Such an approach disfavors proprietary hardware architectures and encourages open system architectures on which a multitude of software algorithms can be executed on a common hardware architecture. As a result, software programs or applications have become more powerful and increasingly complex. Unfortunately, numerous difficulties arise in the development and maintenance of such software applications. Traditional applications have become so large and complex that even minor changes may take several weeks or months to implement. Accordingly, the trend in both software development and program language development is towards more modular, self-contained software designs.
One of the major developments in the field of software design has been the emergence of object-oriented technology. As explained in greater detail hereinafter, object-oriented technology enables the analysis, design and implementation of software systems with intelligent, autonomous agents called objects. Such objects facilitate the design of modular software which more closely mimics the physical or logical entities within the real world.
Despite the emergence of object-oriented technology most end-users have been typically unable to directly utilize the efficient, more modular design of an application, even if the application has been designed using object-oriented technology. For example, users of applets, i.e., small applications such as spreadsheets and file viewers, typically wish to customize such applications for their own preferred tasks and to allow such applications to interact with one another to form larger customized applications without having to redesign or make extensive modifications to such applications. Further, even if such applications were modifiable, their inherent value is often directly related to the ability to distribute such customized applications with accompanying data in a manner which is both efficient and respects the intellectual property rights of the authors. Accordingly, a need exists for a system of intelligent, self-contained software modules which may be used to construct larger applications in a modular fashion. Further, a need exists for a technique in which software applications may be modified as desired by an end-user in the manner which is both simplified and efficient.
A further need exists for a technique in which such modifications to standard applications may be distributed and used in an efficient manner. In addition, a need exists for a technique in which use and distribution of such customized application may be performed only by those who are properly authorized by the software licensor.
SUMMARY OF THE INVENTION
The present invention provides a component system in which a number of base applications, i.e. components, such as file viewers, spreadsheets, draw/diagram utilities, etc. may be customized by a user and the customizations, i.e., the differences from the base applications, distributed in the form of a template to another user having the same base applications on his/her system. A special loader utility, when used in conjunction with the template and the base application from which the template was derived, enables the recipient system to recreate the behavior of the customized application.
The invention is contemplated for use in object-oriented system in which components are implemented as objects. A template builder utility allows a user to select a base component, modify the persistent data of the component, and store the modifications as a template in a predetermined format. The template builder utility further enables the user to package templates in a template distribution package format which enables the templates to be distributed to other users having the same base components installed on their systems. A component loader utility loads the template onto a recipient user system and utilizes the information contained within the template distribution pack to spoof the already installed base component. The method of spoofing is achieved using aggregation of object properties so that method calls to the templated component are selectively directed to the base component by the component loader utility. The component loader utility, however, reserves the right of changing, enhancing or disabling the results of the method call to recreate the behavior of the customized or templated component.
According to one aspect of the invention, a computer program product for use with an object-oriented computer system comprises a computer useable medium having computer readable program code embodied in the medium. The program code comprises program code for extracting one or more templates stored on the medium, program code for defining template, and program code for defining a data dictionary for locating the template stored on the medium. According to one embodiment, the template comprises initialization data defining modifications to the persistent state of the template object and at least one key containing information useful in registering the template with the file system registry of a computer system. In another embodiment, the data dictionary comprises an attachment description count and an attachment signature.
In accordance with a second aspect of the invention, a method of distributing customizations to a base component comprises the steps of generating a template distribution pack with at least one template, transferring the distribution pack from the system on which the template was generated to a recipient system containing the same base component from which the template was derived, loading the template distribution pack onto the recipient system, and utilizing the information contained within the template distribution pack to selectively modify the behavior of the same base component contained on the recipient system.


REFERENCES:
patent: 4935888 (1990-06-01), Heston et al.
patent: 5189608 (1993-02-01), Lyons et al.
patent: 5204897 (1993-04-01), Wyman
patent: 5260999 (1993-11-01), Wyman
patent: 5353401 (1994-10-01), Iizawa et al.
patent: 5367573 (1994-11-01), Quimby
patent: 5438508 (1995-08-01), Wyman
patent: 5454046 (1995-09-01), Carman et al.
patent: 5481718 (1996-01-01), Ryu et al.
patent: 5500802 (1996-03-01), Morris et al.
patent: 5517645 (1996-05-01), Stutz et al.
patent: 5519868 (1996-05-01), Allen et al.
patent: 5537630 (1996-07-01), Berry et al.
patent: 5560014 (1996-09-01), Imamura
patent: 5603021 (1997-02-01), Spencer et al.
patent: 5692047 (1997-11-01), McManis
patent: 5706455 (1998-01-01), Benton et al.
patent: 5710920 (1998-01-01), Maruyama et al.
patent: 5710926 (1998-01-01), Maurer
patent: 5715441 (1998-02-01), Atkinson et al.
patent: 5724589 (1998-03-01), Wold
patent: 5729748 (1998-03-01), Robbins et al.
patent: 5754772 (1998-05-01), Leaf
patent: 5754858 (1998-05-01), Broman et al.
patent: 5754864 (1998-05-01), Hill
patent: 5761499 (1998-06-01), Sonderegger
patent: 5761656 (1998-06-01), Ben-Shachar
patent: 5771347 (1998-06-01), Grantz et al.
patent: 5786816 (1998-07-01), Macrae et al.
patent: 5790796 (1998-08-01), Sadowsky
patent: 5802373 (1998-09-01), Yates et al.
patent: 5802518 (1998-09-01), Karaev et al.
patent: 5819283 (1998-10-01), Turkowski
patent: 5835712 (1998-11-01), DuFresne
patent: 5838918 (1998-11-01), Prager et al.
patent: 5850548 (1998-12-01), Williams
patent: 5864871 (1999-01-01), Kitain et al.
patent: 5867709 (1999-02-01), Klencke
patent: 5900870 (1999-05-01), Malone et al.
patent: 5917489 (1999-06-01), Thurlow et al.
IBM Technical Disclosure Bulletin, “Software Packaging Tool”, vol. 33, No. 3A.
IBM Technical Disclosure Bulletin, “Dynamic Packaging of Template Extraction Files From New Icons Folder”, vo

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 distributing templates in a... 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 distributing templates in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for distributing templates in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2589474

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