Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  

Illlllllllllllllllllllllllllllllllllllllllllllllln

US006230159B1

(12) United States Patent ao) Patent No.: us 6,230,159 Bi

Golde (45) Date of Patent: May 8,2001

(54) METHOD FOR CREATING OBJECT INHERITANCE

(75) Inventor: Peter Hellmut Golde, Redmond, WA (US)

(73) Assignee: Microsoft Corporation, Redmond, WA (US)

( * ) Notice: Subject to any disclaimer, the term ol this patent is extended or adjusted under 35 U.S.C. 154(b) by 0 days.

(21) Appl. No.: 08/846,349

(22) Filed: Apr. 30, 1997

(51) Int. C I. G06F 17 30

OTHER PUBLICATIONS

Microsoft Corporation, "What is Visual Basic?," Microsoft Visual Basic Programmer's Guide, Chapter 1, pp. 3-12 (1991).

Microsoft Corporation, "Setting Properties," Microsoft Visual Basic Programmer's Guide, Chapter 7, pp. 57-64 (1991).

Microsoft Corporation, "Attaching Code," Microsoft Visual Basic Programmer's Guide, Chapter 8, pp. 65-76 (1991). Chappell, D., "Introducing ActiveX and OLE," Understanding ActiveX and OLE, Chapter 1, Microsoft Press, pp. 1-37 (1996).

Chappell, D., "Persistence," Understanding ActiveX and OLE, Chapter 5, Microsoft Press, pp. 107-128 (1996). Chappell, D., "ActiveX Controls," Understanding ActiveX and OLE, Chapter 9, Microsoft Press, pp. 203-235 (1996).

(List continued on next page.)

(52) U.S. CI.

707/103; 707/102; 395/683

(58) Field of Search 707/103, 104,

707/100, 102; 395/683, 671

(56) References Cited

U.S. PATENT DOCUMENTS

5,187,786 * 2/1993 Densmore et al 707/3

5,291,583 * 3/1994 Bapat 395/705

5,313,630 * 5/1994 Namioka et al 707/103

5,515,536 * 5/1996 Corbett et al 395/700

5,606,661 * 2/1997 Wear et al 395/183.14

5.613.099 * 3/1997 Erickson et al 709/303

5,689,709 * 11/1997 Corbett et al 395/683

5,732,271 * 3/1998 Berry et al 395/683

5,758,349 * 5/1998 Breslau et al 707/103

5,784,620 * 7/1998 Isham 709/303

5,787,431 * 7/1998 Shaugnessy 707/100

5,794,030 * 8/1998 Morsi et al 707/1.3

5,809,507 * 9/1998 Cavanaugh, III 707/103

5,832,496 * 11/1998 Anand et al 707/102

5.857.100 * 1/1999 Philipps et al 395/671

5,884,316 * 3/1999 Bernstein et al 707/103

5,905,987 * 5/1999 Shutt et al 707/103

5,995,753 * 11/1999 Walker 395/702

[blocks in formation]

An object-oriented interface is used to provide inheritance of object property information. A set of base object classes are created and stored in a persistent object state in non-volatile storage. A set of derived objects are then created using the base object classes and inherited base object property information. Derived object classes are saved in a persistent object state in non-volatile storage as a "delta" or difference between the derived object information and the inherited base object information. Saving only the derived class objects as a delta saves a significant amount of computer resources. When derived object is loaded, the base object class from which the derived object class inherited information is loaded first, then the derived object class delta is loaded. The two step loading process allows any changes made to the base object class to be automatically reflected in the derived object class by inheritance.

33 Claims, 5 Drawing Sheets

C

OBJECT CLASS «

STORAGE THE DETERMINED BASE OBJECT CLASS

A PERSISTENT

( TM )

Page 2

OTHER PUBLICATIONS

Chappell, Understanding ActiveX OLE, A Guide for Developers & Managers, Microsoft Press 1996, pp. 12-14, A2-A5, 64-68.

Denning, OLE Controls Inside Out, Microsoft Press, 1995, pp. 3-34.

Custer, Inside Windows NT, Microsoft Press, 1993, pp. 49-81.

Orfali et al., The Essential Distributed Objects Survival Guide, John Wiley & Sons, Inc., 1996, pp. 22-27, 288-290, 499-452, 536-537.

Brockschmidt, Inside OLE, Microsoft Press, 1995, pp. 13-14, 96-99, 133, 141.

Tucker, The Computer Science and Engineering Handbood, 1997, CRC Press, Inc., pp. 2037-2065, 2323-2351. Thomas et al, Visual Basic HOW-TO, 1995, Waite Group Press, pp. 22-27, 37-42, 391-402.

Microsoft Visual Basic, Programmer's Guide, Programming System for Windows, Microsoft Corporation, Chptrs. 1, 6 7-8, 1991.

Adam Denning, OLE Controls Inside Out, Microsoft Press, pp. 101-103, (1995).

Adam Denning, OLE Controls Inside Out, Microsoft Press, pp. 191-197 (1995).

Sheperd et al., MFC Internals, Addison-Wesley, pp. 162-173 (1996).

Moss et al., "Approaches to Adding Peristence to Java," Position Paper for the First International Workshop on Peristence and Java, Drymen, Scotland, Sep. 1996, 5 pp. (1996).

Atkinson et al., "An Orthogonally Persistent Java," First International Workshop on Peristence and Java, Drymen, Scotland, Sep. 1996, 10 pp. (1996).

dos Santos et al., "Persistent Java," First International Workshop on Peristence and Java, Drymen, Scotland, Sep. 1996, 22 pp. (1996).

Andrew Hollub, "Roll Your Own Persistence Implementations to Go Beyond the MFC Frontier," Microsoft Systems Journal, 16 pp., available at http://msdn.microsoft.com./ library/periodic/period96/S385.htm (Jun. 1996). Eddon et al., "Visual Basic 5.0 Relieves the Pain and Discomfort of ActiveX Control Creation," Microsoft Systems Journal, 9 pp. http://msdn.microsoft.com/library/periodic/period97/VB5Pl.htm (Feb. 1997). Morrison et al., "Can Java Persist?," First International Workshop on Peristence and Java, Drymen, Scotland, Sep. 1996, 15 pp. (1996).

* cited by examiner

[merged small][merged small][merged small][merged small][table][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small]
[blocks in formation]
« PreviousContinue »