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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version 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.
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)
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)
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 |
-
1997
- 1997-12-08 US US08/986,996 patent/US6272521B1/en not_active Expired - Lifetime
-
1998
- 1998-12-08 WO PCT/US1998/025993 patent/WO1999030226A2/en active IP Right Grant
- 1998-12-08 CA CA002312814A patent/CA2312814C/en not_active Expired - Lifetime
- 1998-12-08 JP JP2000524719A patent/JP2001526421A/en active Pending
- 1998-12-08 DE DE69802839T patent/DE69802839T2/en not_active Expired - Lifetime
- 1998-12-08 EP EP98962955A patent/EP1038219B1/en not_active Expired - Lifetime
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 |