CA2312814A1 - 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
CA2312814A1
CA2312814A1 CA002312814A CA2312814A CA2312814A1 CA 2312814 A1 CA2312814 A1 CA 2312814A1 CA 002312814 A CA002312814 A CA 002312814A CA 2312814 A CA2312814 A CA 2312814A CA 2312814 A1 CA2312814 A1 CA 2312814A1
Authority
CA
Canada
Prior art keywords
information
alternate
version
stream
class
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CA002312814A
Other languages
French (fr)
Other versions
CA2312814C (en
Inventor
Marc Jablonski
Mark Davis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Object Technology Licensing Corporation
Marc Jablonski
Mark Davis
Apple Inc.
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 Technology Licensing Corporation, Marc Jablonski, Mark Davis, Apple Inc. filed Critical Object Technology Licensing Corporation
Publication of CA2312814A1 publication Critical patent/CA2312814A1/en
Application granted granted Critical
Publication of CA2312814C publication Critical patent/CA2312814C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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 class 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.
CA002312814A 1997-12-08 1998-12-08 Apparatus and method for allowing object-oriented programs created with different framework versions to communicate Expired - Lifetime CA2312814C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/986,996 1997-12-08
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
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

Publications (2)

Publication Number Publication Date
CA2312814A1 true CA2312814A1 (en) 1999-06-17
CA2312814C CA2312814C (en) 2005-06-28

Family

ID=25532971

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002312814A Expired - Lifetime CA2312814C (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
US8473396B2 (en) 2001-08-14 2013-06-25 Bloomberg L.P. Distribution and mapping of financial records from data stream
NZ538524A (en) * 2002-09-30 2006-10-27 Microsoft Corp System and method for making user interface elements known to an application and user for accessibility purposes
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
EP1634186A2 (en) * 2004-04-30 2006-03-15 Microsoft Corporation End-user application customization using rules
WO2005111850A2 (en) * 2004-04-30 2005-11-24 Microsoft Corporation 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
US8739187B2 (en) 2011-09-09 2014-05-27 International Business Machines Corporation Legacy application integration within a bundle framework
US8738755B2 (en) 2011-09-09 2014-05-27 International Business Machines Corporation Providing external access to service versions via a bundle framework

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8814630D0 (en) 1987-11-17 1988-07-27 Ibm Dynamically adaptive environment for computer programs
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
JP2000503785A (en) * 1994-12-13 2000-03-28 ノベル,インコーポレイテッド Method and apparatus for updating or changing a network directory
CA2171568A1 (en) 1995-03-24 1996-09-25 Peter B. Kessler Method and system for type identification for multiple object interfaces in a distributed object environment
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
US6112253A (en) 1995-10-12 2000-08-29 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CA2312814A1 (en) Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
WO2000074054A3 (en) Semiconductor memory card, apparatus for recording data onto the semiconductor memory card, and apparatus for reproducing data of the semiconductor memory card
EP1045316A3 (en) Image processing method and apparatus
EP0993183A3 (en) Method for updating software in a digital television receiver using recorded data
EP0886276A3 (en) Information record medium, and information reproducing apparatus and method
WO2002091240A3 (en) Method, system, and product for data integration through a dynamic
EP0930615A3 (en) Data storage device and control method therfor
EP0864975A3 (en) Detecting concurrency errors in multi-threaded programs
BR9405709A (en) Process and apparatus for eliminating commercial messages on television
MY130843A (en) Description of video contents based on objects by using spatio-temporal features and sequential of outlines.
EP0973333A3 (en) Apparatus for recording data, method for recording data and television program receiver
EP0385317A3 (en) Signal processing device
EP1089280A3 (en) Method of indexing and searching moving picture data using a motion activity description method
EP0834835A3 (en) Method and apparatus for image processing
EP1126455A3 (en) Information storing disk, reproduction apparatus, and reproduction method
EP1024655A3 (en) Method and apparatus for photographing radiation image and cassette for radiation detection
EP0926679A3 (en) Recording apparatus with a receiving function and recording apparatus
EP1160781A3 (en) Medium comprising advertising program area
CA2385727A1 (en) Data recording method and data recovery method
EP0820063A3 (en) Playback device and method, and recording device and method
EP0817188A3 (en) Apparatus for retrieving data from a storage device
WO1999023584A3 (en) Information component management system
TW324809B (en) Data processing apparatus
CA2050161A1 (en) System and method for data recovery in multiple head assembly storage devices
EP1215916A3 (en) Method and apparatus for compressing picture-representing data

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20181210