WO1999030226A3 - Apparatus and method for allowing object-oriented programs created with different framework versions to communicate - Google Patents

Apparatus and method for allowing object-oriented programs created with different framework versions to communicate Download PDF

Info

Publication number
WO1999030226A3
WO1999030226A3 PCT/US1998/025993 US9825993W WO9930226A3 WO 1999030226 A3 WO1999030226 A3 WO 1999030226A3 US 9825993 W US9825993 W US 9825993W WO 9930226 A3 WO9930226 A3 WO 9930226A3
Authority
WO
WIPO (PCT)
Prior art keywords
information
alternate
version
stream
object information
Prior art date
Application number
PCT/US1998/025993
Other languages
French (fr)
Other versions
WO1999030226A2 (en
Inventor
Marc Jablonski
Mark Davis
Original Assignee
Object Tech Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Object Tech Licensing Corp filed Critical Object Tech Licensing Corp
Priority to EP98962955A priority Critical patent/EP1038219B1/en
Priority to DE69802839T priority patent/DE69802839T2/en
Priority to JP2000524719A priority patent/JP2001526421A/en
Priority to CA002312814A priority patent/CA2312814C/en
Publication of WO1999030226A2 publication Critical patent/WO1999030226A2/en
Publication of WO1999030226A3 publication Critical patent/WO1999030226A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

A set of stream writer and reader classes and methods enable object frameworks to communicate with each other despite problems with missing classes due to mismatched versions. The stream writers are modified to deal with a new version of a class that extends from a class in an existing version by writing alternate object information compatible with the existing version when the future object class information is streamed. In this manner, alternate object information is written for each older version. The information for each of the alternate objects corresponding to each oder version is added after the existing object information as an extension with the length of the extension written at the beginning. The stream readers are modified so that when an older version stream reader reads the object information and does not understand the first alternate object (which might correspond to a later version), it skips the length specified for that extension and reads the second alternate object. If the second alternate object information is not understood, the reader skips the non-understood object information and continues with each alternate object. If none of the alternates is understood, then an exception is thrown. In one embodiment, the information for alternate objects which are not used is not discarded, but is instead saved in a temporary storage. Then, if the object is streamed out again, the stored information is added back into the stream.
PCT/US1998/025993 1997-12-08 1998-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate WO1999030226A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP98962955A EP1038219B1 (en) 1997-12-08 1998-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
DE69802839T DE69802839T2 (en) 1997-12-08 1998-12-08 DEVICE AND METHOD WHICH OBJECT-ORIENTED PROGRAMS GENERATED FROM DIFFERENT SPECIALTY VERSIONS ARE ALLOWED TO COMMUNICATE
JP2000524719A JP2001526421A (en) 1997-12-08 1998-12-08 Apparatus and method for allowing object oriented programs written in different framework versions to communicate
CA002312814A CA2312814C (en) 1997-12-08 1998-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/986,996 US6272521B1 (en) 1997-12-08 1997-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
US08/986,996 1997-12-08

Publications (2)

Publication Number Publication Date
WO1999030226A2 WO1999030226A2 (en) 1999-06-17
WO1999030226A3 true WO1999030226A3 (en) 1999-07-22

Family

ID=25532971

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/025993 WO1999030226A2 (en) 1997-12-08 1998-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate

Country Status (6)

Country Link
US (1) US6272521B1 (en)
EP (1) EP1038219B1 (en)
JP (1) JP2001526421A (en)
CA (1) CA2312814C (en)
DE (1) DE69802839T2 (en)
WO (1) WO1999030226A2 (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330870B1 (en) * 1997-02-11 2008-02-12 International Business Machines Corporation Streaming computer system and method with multi-version protocol compatibility
US6412082B1 (en) * 1997-12-17 2002-06-25 Sony Corporation Method and apparatus for selecting computer programs based on an error detection mechanism
JP3307329B2 (en) * 1998-05-27 2002-07-24 日本電気株式会社 Network configuration managed access system and method
US6848108B1 (en) * 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6628305B1 (en) * 1998-11-09 2003-09-30 International Business Machines Corporation Architecture and definition of an extensible, object-oriented graphical user interface framework for managing and administering heterogenous digital library datastores
US6477701B1 (en) * 1999-09-30 2002-11-05 Seiko Epson Corporation Version-adaptive serialization and deserialization of program objects in an object-oriented environment
US7016922B1 (en) * 2000-04-27 2006-03-21 Autodesk, Inc. Intelligent object versioning
GB2363866B (en) * 2000-05-31 2002-11-06 Intamission Ltd Data processing apparatus, method and system
US9622058B1 (en) * 2000-06-02 2017-04-11 Timothy G. Newman Apparatus, system, methods and network for communicating information associated with digital images
US6877162B1 (en) * 2000-07-31 2005-04-05 Hewlett-Packard Company Method and system for extendable class-based shared data-types
GB2395041A (en) 2001-08-14 2004-05-12 Bloomberg Lp Distribution and mapping of financial records from data stream
CA2495038C (en) * 2002-09-30 2012-11-06 Microsoft Corporation System and method for making user interface elements known to an application and user
US8694504B2 (en) * 2003-03-05 2014-04-08 Spore, Inc. Methods and systems for technology analysis and mapping
US7020666B2 (en) * 2003-03-07 2006-03-28 Microsoft Corporation System and method for unknown type serialization
US7404186B2 (en) * 2003-05-28 2008-07-22 Microsoft Corporation Signature serialization
US7386836B2 (en) * 2003-06-09 2008-06-10 International Business Machines Corporation Maintaining multiple valid concurrent serialized object versions
GB2409735A (en) * 2003-12-30 2005-07-06 Ibm Method and system for change management of interfaces in distributed computer systems
JP2007537512A (en) * 2004-04-30 2007-12-20 マイクロソフト コーポレーション Rule framework to define and execute end user rule logic
KR20070037559A (en) * 2004-04-30 2007-04-05 마이크로소프트 코포레이션 End-user application customization using rules
US7912863B1 (en) 2004-07-30 2011-03-22 Microsoft Corporation Compositional lifting of operations over structural types
US7774376B1 (en) * 2004-07-30 2010-08-10 Microsoft Corporation Type-system extensions for object-oriented language based on coercive subtyping with restrictions
US7543002B2 (en) * 2004-12-02 2009-06-02 Bea Systems, Inc. Mechanism to load first version classes into a runtime environment running a second version of the class
US20060195411A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation End user data activation
US7996443B2 (en) * 2005-02-28 2011-08-09 Microsoft Corporation Schema grammar and compilation
DE102005009529A1 (en) * 2005-03-02 2006-09-07 Siemens Ag Method for data processing with integration of two frameworks via a generic block to communicate between the frameworks
US7756839B2 (en) * 2005-03-31 2010-07-13 Microsoft Corporation Version tolerant serialization
US7904881B2 (en) * 2006-07-26 2011-03-08 Intel Corporation Using a virtual stack for fast and composable stack cutting
US7801926B2 (en) 2006-11-22 2010-09-21 Microsoft Corporation Programmable logic and constraints for a dynamically typed storage system
US20100251212A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Version Type Traversal
US8738755B2 (en) 2011-09-09 2014-05-27 International Business Machines Corporation Providing external access to service versions via a bundle framework
US8739187B2 (en) 2011-09-09 2014-05-27 International Business Machines Corporation Legacy application integration within a bundle framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317478A2 (en) * 1987-11-17 1989-05-24 International Business Machines Corporation Dynamically adaptive environment for computer programs
EP0733968A2 (en) * 1995-03-24 1996-09-25 Sun Microsystems, Inc. Method and system for type identification for multiple object interfaces in a distributed object environment
WO1997014091A1 (en) * 1995-10-12 1997-04-17 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347653A (en) * 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
EP0797798B1 (en) * 1994-12-13 1999-06-09 Novell, Inc. Method and apparatus to update or change a network directory
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US5745906A (en) * 1995-11-14 1998-04-28 Deltatech Research, Inc. Method and apparatus for merging delta streams to reconstruct a computer file
US5742818A (en) * 1995-12-15 1998-04-21 Microsoft Corporation Method and system of converting data from a source file system to a target file system
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US5951638A (en) * 1997-03-21 1999-09-14 International Business Machines Corporation Integrated multimedia messaging system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317478A2 (en) * 1987-11-17 1989-05-24 International Business Machines Corporation Dynamically adaptive environment for computer programs
EP0733968A2 (en) * 1995-03-24 1996-09-25 Sun Microsystems, Inc. Method and system for type identification for multiple object interfaces in a distributed object environment
WO1997014091A1 (en) * 1995-10-12 1997-04-17 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAMILTON G ET AL: "USING INTERFACE INHERITANCE TO ADDRESS PROBLEMS IN SYSTEM SOFTWARE EVOLUTION", ACM SIGPLAN NOTICES, vol. 29, no. 8, 1 August 1994 (1994-08-01), pages 119 - 128, XP000457342 *

Also Published As

Publication number Publication date
DE69802839T2 (en) 2002-08-01
CA2312814C (en) 2005-06-28
WO1999030226A2 (en) 1999-06-17
EP1038219A2 (en) 2000-09-27
JP2001526421A (en) 2001-12-18
DE69802839D1 (en) 2002-01-17
US6272521B1 (en) 2001-08-07
CA2312814A1 (en) 1999-06-17
EP1038219B1 (en) 2001-12-05

Similar Documents

Publication Publication Date Title
WO1999030226A3 (en) Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
EP0993183A3 (en) Method for updating software in a digital television receiver using recorded data
EP0945801A3 (en) External storage device and method for data saving, data backup
EP1072976A3 (en) Self-contained application disk for automatically launching application software or starting devices and peripherals
EP0973333A3 (en) Apparatus for recording data, method for recording data and television program receiver
DE60006708D1 (en) SYSTEM AND METHOD FOR RECORDING PUSH DATA
EP1045316A3 (en) Image processing method and apparatus
EP0788278A3 (en) Signal processing
BR9405709A (en) Process and apparatus for eliminating commercial messages on television
EP1089280A3 (en) Method of indexing and searching moving picture data using a motion activity description method
EP1126455A3 (en) Information storing disk, reproduction apparatus, and reproduction method
EP1160781A3 (en) Medium comprising advertising program area
EP0926679A3 (en) Recording apparatus with a receiving function and recording apparatus
CA2385727A1 (en) Data recording method and data recovery method
WO2005050345A3 (en) Method of traceless portable application execution
Stent The monroe corpus
CA2050161A1 (en) System and method for data recovery in multiple head assembly storage devices
EP1215914A3 (en) Method and apparatus for compressing picture-representing data
EP1079393A3 (en) Editing apparatus, editing methods, and non-volatile memories
EP1211639A3 (en) Method and apparatus for extracting object from video image
EP1298666A3 (en) Method, apparatus and computer program product for recording additional information on a rewritable recording medium
EP1191795A3 (en) Image decoding method and apparatus
DE60043214D1 (en) METHOD AND ELECTRONIC APPARATUS FOR DECODING COMPRESSED IMAGE DATA AND AUXILIARY RECEIVING DEVICE
CN110750960A (en) Configuration file analysis method, storage medium, electronic device and system
EP0831489A3 (en) Methods and apparatus for processing time codes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

AK Designated states

Kind code of ref document: A3

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2312814

Country of ref document: CA

Ref country code: CA

Ref document number: 2312814

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1998962955

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 524719

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1998962955

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1998962955

Country of ref document: EP