`
`U3005915252A
`
`United States Patent
`Misheski et at.
`
`[19]
`
`[11] Patent Number:
`
`5,915,252
`
`[45] Date of Patent:
`
`Jun. 22, 1999
`
`[S4] OBJECT ORIENTED FRAMEWORK
`MECHANISM FOR DATA 'I‘MNSI’FIR
`~
`QETWIE‘EN A DATA SOURCE AND A DATA
`LARGLT
`
`[75]
`
`_
`_
`Inventors: David Joseph Mislleski,l’la1nv1ew;
`Clifton Malcolm Nock, Rochester, both
`01- Mim
`
`5,390,310
`5,390,325
`5,396,626
`5,393,336
`5,418,949
`5,581,722
`5,542,511
`
`211995 Welland
`3951400
`2.11995 Miller
`.. 3951575
`
`311995 Nguyen
`.. 3951700
`311995 'l‘antry et al.
`.. 3951600
`
`.. 39516110
`511995 Suzuki
`
`.. 395141?
`1211995 Welland ..
`611997 Chow etal.
`39517111
`
`(mum PUBLICATIONS
`
`[73! Assignee:
`
`International Business Machines
`Corporation Armonk NY.
`’
`’
`
`IBM Technical Disclosure Bulletin, vol. 37,
`Text of
`DeBindcr el :11, Feb. 1994, “Results Folder Framework", pp.
`431—432.
`
`1211 Appl- ”9-: 0317249570
`[22]
`filed:
`Sep. 30, 1996
`
`_
`Int. Cl.b ...................................................... GGISI“ 17109
`[51]
`|52! U.S. Cl. ................................. 7071103; 70718; 7071111;
`3951683; 3951684; 3951685
`
`(List continued on next page.)
`,
`,
`,
`,
`Pruning; bxnnrmer—l'liomas (1. Black
`Assistant Exmnincr—David Yink Jung
`Attorney, Agent, or Firm—Martin & Associated, 1..I..(f.;
`Derek P. Marlin
`
`[58]
`
`[56]
`
`Field of Search ....................... 70711—206, 517—530;
`7011201—205; 34-51961—970; 3951680—685;
`7111 170—208
`
`References Cited
`U.S. PA'I‘ENT DOCUMENTS
`
`36141513
`711996 Lark et al.
`4,943,932
`3641200
`......
`5,057,996 1011991 Cutler el al.
`
`3951152
`5,101,364
`311992 Davenport et al.
`3.951156
`5,119,475
`611992 Smith eta].
`......
`
`3641419
`5,181,162
`111993 Smith et al.
`..
`
`.. 395,150
`5,195,172
`3.11993
`filad et al.
`
`3951651]
`5,220,161
`711993 Khoyi e1 :11.
`
`3951801}
`5,247,693
`911993 Bristol
`39512011
`5,249,271]
`911993 Stewart et a1.
`
`3951725
`5,257,914 1011993 tr‘arrand cl at,
`
`395151111
`......
`5,261,089
`1111993 Khoyi ct at.
`
`36415511
`5,274,572 1211993 O’Neill et a1.
`., 395155
`5,276,775
`111994
`3951157
`.
`5,287,447
`211994
`
`...... 371119
`'
`5,293,385
`311994
`
`5,293,471]
`311994 Birch et al.
`3951135
`
`.
`5,297,283
`311994 Kelly. Jr, et al.
`39516511
`..
`5,315,703
`511994 Matheny el al.
`3951164
`
`5,315,709
`511994 Alston, Jr. et al.
`3951111111
`5,367,633
`1111994 Matheny ct al.
`..
`3951164
`
`5,369,766 1111994 Nakano et a1.
`395171111
`5,379,430
`111995 Nguyen ............
`3951700
`
`5,388,264
`211995 'l'orhias, It ct al.
`39516511
`
`57
`
`ABSTRACT
`
`1
`[
`An object oriented framework mechanism for data transfer
`between a data source and a data target provides an infra-
`structure that embodies the steps necessary to perform the
`data transfer and a mechanism to extend the framework to lit
`a particular data transfer environment. Certain core func-
`tions are provided by the framework, which interact with
`extensible functions provided by the framework user. The
`architecture of the framework allows a developer to deter—
`mine the conditions and parameters that apply to the data
`transfer while allowing a user to interact with the framework
`with an interface that is consistent regardless of the specific
`combination of data source. data target, connection type, or
`protocol. The extensible functions allow new data transfer
`environments to be easily implemented using the frame-
`work. 'Ihe framework thus allows a common user interface
`for transferring data between any data source and any data
`target, which may be easily customized to include data
`sources, new data targets, new transfer protocols, etc. The
`framework greatly simplifies the user‘s job of transferring
`data since it provides a common interface, and greatly
`simplifies the developer’s job of providing a user interface
`for a new combination of hardware and1or software by
`providing established classes that may be easily extended to
`implement the desired data transfer environment.
`
`32 Claims, 25 Drawing Sheets
`
`
`
`1
`
`Apple v. Realtime
`Proceeding No. |PR2016-01737
`APPLE 1036
`
`Apple v. Realtime
`Proceeding No. IPR2016-01737
`APPLE 1036
`
`1
`
`
`
`5,915,252
`
`Page 2
`
`OTHER PUBLICATIONS
`
`Text of IBM Technical Disclosure Bulletin, vol. 36, Coskun,
`N., Jun. 1993, “Persistent Framework Independent Record!
`Playback Framework", pp. 261-264.
`Text of IBM Technical Disclosure Bulletin, Baker el al., Oct.
`1991, “Model View Schema", pp. 321—322.
`Text of IBM Technical Disclosure Bulletin, Baker el al., Oct.
`1991, "Oflice Container Class", pp. 309—310.
`Text of {BM Technical Disclosure Bulletin, Cavendish et al.,
`Jul. 1991, “Icon Pane Class", pp. 118—119.
`Text ofIBM Technical Disclosure Bulletin, Baker et al.,Jun.
`1991, "Distribution List Class", p. 159.
`Text of IBM Technical Disclosure Bulletin, Cavendish et al.,
`Jun. 1991, “Objecb—Oriented Documentation Tool", pp.
`50—51.
`Text of IBM Technical Disclosure Bulletin, vol. 38, No. 1,
`Jan. 1995, pp. 411—414, J. Knapman, “Generating Specific
`Server Programs in Distributed Object—Oriented Customer
`Information Control System".
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 12,
`Dec. 1994, pp. 19—20, Al—Karmi et al., “Events Set for Event
`'l‘racing in Distributed Object—Oriented Systems”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 12,
`Dec. 1994, pp. 375—378, Acker et al., “Automatically Gen-
`erating Formatted Documentation for Objecleriented
`Class Libraries”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 11,
`Nov. 1994, pp. 7142, Behrs ct al., “Device Support Frame—
`work to Support ISO DPA 10175 and POSIX 13874”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 7,
`Jul. 1994, pp. 145—146, Banda et al., “Exception Manage-
`ment Algorithm for Multi—Threaded Method Invocation”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, N0. 63,
`Jun. 1994, pp. 553—556, Gest el al., “Portable Object—Ori-
`ented Event Manager".
`Abstract for WIPO Patent Application No. WO 95104966, F.
`T. Nguyen, Feb. 1.6, 1995, "Automatic Management of
`Components in Object—Oriented System".
`Abstract for US. Patent No. 5,388,264, Milne ct al., Feb. 7,
`1995, “Object—Oriented Framework System for Enabling
`Multimedia Presentation with Routing and Editing of MIDI
`Information”.
`
`Abstract for WIPO Patent Application No. W0 94i23364,
`IIeninger el al., Oct. 13, 1994-, " Framework Processing
`Apparatus for Application Software".
`Abstract for U.S. Patent No. 5,369,766, IIeninger et al.,Nov.
`29. 1994, “Object Oriented Application Processing Appara-
`tus".
`
`Abstract from WIPO Patent Application No. W0 9422081,
`Sep. 29, 1994, “I-Iardware—Independent Interface for Inter-
`rupt Processing”, G. 0. Norman et a1.
`Abstract for WIPO Patent Application No. 94f19752, Ander-
`son et al., Sep. 1, I994, “Concurrent Framework Processing
`Apparatus for Two or More Users”.
`Abstract forWIPO Patent Application No. 9411 9751 , Ander-
`son et al., Sep. 1, 1994, "Concurrent Framework Processing
`Apparatus for Application Users”.
`Abstract for WIPO Patent Application No. 94119740, Gold-
`smith et al., Sep.
`1, 1994, “Framework Processor of
`Object—Oriented Application".
`Abstract from WIPO Patent Application No. WO 94115286,
`Goldsmith et al., Jul. 7, 1994, “Object—Oriented Framework
`for Object Operating System".
`
`Abstract for WIPO PatentApplication No. 94;”15282, Ander-
`son et al., Jul. 7, 1994, "Dialog System Object—Oriented
`System Software Platform".
`Abstract for WIPO Patent Application No. 94.115281, Ander-
`son et al., Jul. 7, 1994, "Atomic Command Object—Oriented
`System Software Platform”.
`Abstract from WIPO Patent Application No. W0 9415285,
`Jul. 7, 1994, "Object~Orienled Notification Framework Sys-
`tem”, D. R. Anderson et al.
`Abstract for US. Patent No. 5,119,475, Schoen et al., Jun.
`2, 1992, “Object—Oriented Framework for Menu Defini—
`tion".
`
`Abstract for WIPO Patent Application No. 95101610, Koko
`et al., Jan 12, 1995, "Object Oriented Product Structure
`Management in Computer—Aided Product Design".
`Abstract fpr WIPO Patent Application No. 95104967, Feb.
`16, 1995, “Access Method to Data Held in Primary Memory
`Based Data Base".
`Abstract for WIPO Patent Application No. 95102219, IIel-
`geson et al., Jan. 19, 1995, “Distributed Computation Based
`on Movement, Execution and Insertion of Processes in
`Networ "'.
`
`Abstract from U.S. Patent No. 5,371,891, “Object Construc-
`tions in Compiler in Object Oriented Programming Lan-
`guage”, J. Gray et al., Dec. 6, 1994.
`Abstract
`from EPO Patent Application No. EP 622730,
`"Encapsulation of Extracted Portions of Documents Into
`Objects". M. A. Malamud, Nov. 2, 1994.
`Abstract for EPO Patent No. 619544, S. Danforth, Oct. 12,
`1994, “Language—Neutral Object—Oriented Programming".
`Abstract for WIPO Patent No. 94120912, Sep. 15, 1994,
`“Object—Oriented System for Managing Financial Instru-
`merits".
`
`Inspec Abstract No. (3950444604143, Sells et al., 1995,
`“Implementation of the Architecture for a Time—Domain
`Dynamical System Simulation in a Very IIigh—Level Picto-
`rial Object—Oriented".
`Inspec Abstract No. C9504—7460—042, Coleman et al.,
`1995, "An End—to—End Simulation of A Surveillance Sys-
`tem Employing Architecture Independence, Variable Fidel-
`ity Components and Software Reuse”.
`Inspec Abstract No. C950346140D—045, Satoh et al., 1995,
`“Process Algebra Semantics for a Real Time Object Ori-
`ented Progamming Language”.
`Inspec Abstract No. C9501—7160—DZO, C. Le Pape, 1993,
`"The Cost of Genericity: Experiments With Constraint-
`—Based Representations of Time—Tables".
`Inspec Abstract No. C9501-6140D—005, S. Vi noski, 1994,
`“Mapping CORBA IDI. Into C++".
`Inspec Abstract No. C9501—733(t~(|07, Salminen et al.,
`1994,
`“Modelling Trees Using
`an Object—Oriented
`Scheme“.
`
`(39412—61103—211, Berghel et al.,
`Inspec Abstract No.
`1992, "A Generic Object—Oriented Concurrency Mecha-
`nism for Extensibility and Reuse of Synchronization Corn-
`ponents”.
`Inspec Abstract No. 89412—62100—016, from Oingzhong et
`al., 1992, "An Object—Oriented Model for Ingelligent Net—
`works".
`
`(29412—7810—003, from Jung et al.,
`Inspec Abstract No.
`1993, “Development of an Object—Oriented Anthropometric
`Database for an Ergonomic Mart Model”.
`Inspec Abstract No. C9412—6110J—014 from Griss et al.,
`1994, "Object—Oriented Reuse".
`
`2
`
`
`
`5,915,252
`
`Page 3
`
`Inspec Abstract No. C9411-6130B—108, from Mili et al.,
`1992, "Building a Graphical Interface for a Reuse—Oriented
`CASE Tool".
`Inspec Abstract No. (79411—7100-029, from C. Le Pape,
`1994, “Implementation of Resource Constraints in ILOG
`Schedule: A Library for the Development of Constraint—
`Based Scheduling Systems”.
`Inspec Abstract No. C94] 1—6115—035, from Mili et al.,
`1991, “Sol‘tClass: An Object—Oriented Tool for Software—
`Reuse".
`Inspec Abstract No. C9410—6180G—015, from Eichelbcrg et
`al., 1993, “Integrating Interactive Hit—Graphics into an
`Object—Oriented Application Framework".
`Inspec Abstract No. B9409—6210M—025, from I-Iellemans et
`al., 1994, “An Object—Oriented Approach to Dynamic Ser-
`vice Deseriptions".
`Inspec Abstract No. C9409—6180—059, from Wang et al.,
`1993, “A Framework for User Customization“.
`Inspec Abstract No. C9408—6llOB—016, from Chen et al.,
`1994, “An Experimental Study of Using Reusable Software
`Design Frameworks to Achieve Software Reuse".
`Inspec Abstract No. C9408—7420—021, from Pirklbauer et
`al., 1994, “Object—Oriented Process Control Software".
`Inspec Abstract No. C94-(18—61101—011, from Gyu—Chung et
`al., 1993, “System Methodologies of Object—Oriented Pro-
`grams".
`Inspec Abstract No. C9407-742OD-045, from Desai ct al.,
`“Controller Structure Definition Via Intelligent Process Con-
`trol“, 1994.
`Inspec Abstract No. C9407-6140D—014, from Satoh et al.,
`1994, Semantics for a Real—‘l‘nne Object—Oriented Pro-
`gramming Language.
`lnspcc Abstract No. C9406—6150N—015, from Schmidt et
`al., 1994, “The Service Configurator Framework: An Exten-
`sible Architecture for Dynamically Configuring Concurrent,
`Multi—Service Network Daemons“.
`Inspec Abstract No. C9405—61800—031, from Woyak et al.,
`1993, "A Motif—Like Object—Oriented Interface Framework
`Using PIIIGS”.
`Inspec Abstract No. C9504—61308—049, from A. van Dam,
`1995, “VR as a Forcing Function: Software Implications of
`a New Paradigm".
`Inspec Abstract No. C9504—6140D—024, from Sheffler et al.,
`1995, “An Object—Oriented Approach to Nested Data Par—
`atlelism”.
`Inspec Abstract No. C9503—6110B—045, from Rosiene et al.,
`1995, “A Data Modeling Framework for Queueing Network
`Models”.
`Inspec Abstract No. [39503—31 [OB—023, from Mautref et al.,
`1995, "An Object—Oriented Framework for the Develop—
`ment of Interactive Decision Support Systems".
`Inspec Abstract No. C9502—7160—026, frorn Menga et al.,
`1995, “Art Object—Oriented Framework for Enterprise Mod-
`elling”.
`for
`Inspec Abstract No. C9502—6130vav006, "Support
`Enterprise Modelling in CSCW", P. I-Iennessy et al., 1994.
`Inspec Abstract No. C9502—7810C—058, from Lin et al.,
`1995, "Can CAL Software Be More Like Computer
`Games'?".
`
`lnspcc Abstract No. C9501—6115—(B9, from Elia et al.,
`1993, "(i++: An Object Oriented Environment for Devel—
`oping Distributed Applications".
`Inspec Abstract No. C94l2—7330—186, from Righter et al.,
`1994, “An Object—Oriented Characterization ofSpatiaI Eco-
`system Information".
`
`Inspec Abstract No. 09412—61601—025 from J . Livari, 1994,
`"Object—Oriented Information Systems Analysis: A Com-
`parison of Six Object—Oriented Analysis Methods”.
`Inspec Abstract No.
`(29412—61101—006. from [.au et al.,
`1993, “Using SOM for 1001 Integration".
`Inspec Abstract No. C9411—61601—011, from ()dberg el al.,
`1992, “A Framework for Managing Schema Versioning in
`Object—Oriented Databases".
`Inspec Abstract No. (79406—61 101—007, from J. I). Grimes,
`1993, “Objects lUl—An Implementation View", Proceed-
`ings ofCOMPCON 1994.
`Inspec Abstract No. 4647921, from Uhorchak et al., 1993.
`“An Object—Oriented Class Library for [Treating Engineer-
`ing Graphs Using FHIGS”.
`Inspec Abstract No. 4642214, from Marshall et al., 1992,
`“Using VDM Within an Object—Oriented Framework".
`Inspec Abstract No. 4626386,
`from Arora et al., 1993,
`“Building Diverse Environments with PCTE. Workbench".
`Inspec Abstract No. 4622794, from Campbell et al., [993,
`“A Technique for Documenting the Framework of an
`Object—Oriented System ".
`Inspee Abstract No. 4618974, from Bowers, 1993, ”Some
`Principles for the Encapsulation of the Bahaviour of Aggre~
`gate Objects“.
`lnspcc Abstract No. 461931, from Islan et a1, 1993, “Uni-
`form Cry-Scheduling Using Object~0riented Design Tech-
`niques”.
`Inspec Abstract No. 46l3481. from Thieme el al., 1993,
`“Schema Integration in Object—Oriented Databases".
`Inspec Abstract No. 4603430,
`from G. Booch, 1994,
`“Designing an Application Framework”.
`Inspec Abstract No. 4596323, from Frank et al., 1993, “An
`Integrated Environment
`for Designing Object-Oriented
`Enterprise Models".
`Inspec Abstract No. 4593721, Periyasamy et al., 1993, "A
`Formal Framework for Design and Verification of Robotic
`Agents”.
`Inspec Abstract No. 4588839, from 1.. Fisher, 1992, “Con-
`slrucling a Class Library for Microsoft Windows”.
`Inspec Abstract No. 4588834,
`from G. Olandcr, 1992,
`"Chembcnch: Redesign of a Large Commercial Application
`Using Object-Oriented "l‘echniques".
`Inspec Abstract No. 4566447, from J. Rossazza, 1992, “An
`Object—Centered Fuzzy Representation”.
`Inspec Abstract No. 4565630, from Karpovicb et al, 1993,
`"A Parallel Object—Oriented Framework for Stencil Algo-
`rithms“.
`
`Inspec Abstract No. C9409.—6150(}-002, from Brucggc et
`al., 1993, “A Framework for Dynamic Program Analyzers”.
`Inspec Abstract No. 4550414, from Parrish et al., 1993,
`"Automated Flovtr Graph—Based Testing of Object—Oriented
`Software Modules".
`Inspec Abstract No. 4540729, from Bailes et al., "The
`Ecology of Class Refinement”, 1991.
`Inspec Abstract No. 4534334, from Campbell et al., 1991,
`“ATechnique for Documenting the Framework ofan Objec-
`t-Orientcd System".
`Inspec Abstract No. 4534330, from Istavrinos et al., 1992,
`"Experiences with an Object—Oriented Mapper for Coherent
`Distributed Shared Memory".
`Inspec Abstract No. 4528985, from Benevcntano et al. , 1993
`u'I"aitortomic Reasoning with Cycles in Logidata+”.
`Inspec Abstract No. 4525743, from Hakimmdeh et al., 1993,
`"Instance Variable Access Locking for Object—Oriented
`Databases".
`
`3
`
`
`
`5,915,252
`
`Page 4
`
`Inspec Abstract No. 4512593, from H. Sakai, 1993, "A
`Method for Contract Design and Delegation in Object
`Behavior Modeling“.
`Inspec Abstract No. BQ310—6210L—099, "Templates, Types
`and Classes in Open Distributed Processing”, 1993.
`Inspec Abstract No. 4459325, from Kesim et al., .1992, “On
`the Evolution of Objects in a Logic Programming Frame-
`work“.
`
`Inspec Abstract No. 4447153, l‘rorn Klein et al., 1992, “An
`Object—Oriented Framework for Curves and Surfaces".
`Inspec Abstract No. 4426852, from Benveniste ct al., 1992,
`“Concurrent Programming Notations in the Object—Oriented
`Language Arche".
`Inspec Abstract No. 4425343, from Demurjian et al., 1993,
`“Programming Versus Databases in Object—Oriented Para-
`digm”.
`Inspec Abstract No. 4417604, from Kraiem et al., 1992,
`"Mapping of Conceptual Specifications Into Object—Ori-
`ented Programs".
`Inspec Abstract No. 4417563, from E. Mairn, 1992. “Recv
`ognizing Objects from Constraints”.
`Inspec Abstract No. 4411998. from Yi Deng et al., 1992.
`“Unifying Multi—Paradignis in Software System Design”.
`Inspec Abstract No. 4408394,
`from Allen et al., 1992,
`“GEM: Global Event Management in CAD Frameworks".
`Inspec Abstract No. 4400350,
`from Y. Shoham, 1993,
`"Agent-Oriented Programming”.
`Inspec Abstract No. 4395549, from Hogstrom et al., 1992,
`“Portability and Data Structures in Scientific Computing—
`Object-Oriented Design of Utility Routines in Fortran".
`Inspec Abstract No. 4391388, from Thomas et al., 1992, “A
`Generic Object—Oriented Concurrency Mechanism for
`Extensibility and Reuse of Synchronization Components”.
`Inspec Abstract No. 4387201, from Chu et al., 1992, “A
`Pattern Based Approach of Integrating Data and Knowledge
`to Support Cooperative Query Answering”.
`Inspec Abstract No. 4366189, from 11011 et al., 1992, “A
`Framework for Using Formal Methods in Object—Oriented
`Software Development".
`Inspec Abstract No. 4356300, from Bertino et al., 1993,
`"Path—Index: An Approach to the Efficient Execution of
`Object-Oriented Queries”.
`Inspec Abstract No. 4341376, from Bertino et al., 1992,
`“Optimization of Object—Oriented Queries Using, Path Indi—
`ces”.
`
`Inspec Abstract No. 4331060, from I..au et al., 1992, “An
`Object—Oriented Class Library for Scalable Parallel I-Ieuris-
`tic Search".
`from P. Madany, 1992,
`Inspec Abstract No. 4318465,
`“Object—Oriented Framework for File Systems".
`Inspec Abstract No. 4302722, from Eggenschwiler et al.,
`1992, "E'l‘HSwapsManager: Using Object 'I‘eehnology in
`the Financial Engineering Domain”.
`Inspec Abstract No. 4298324,
`from S. Nichol, 1992,
`"Extending Turbo Vision".
`Inspec Abstract No. 4297404, from 'I'anaka et al., 1992,
`"Two—I..evel Schemata and Generalized Links for Hypertext
`Database Models".
`
`lnspcc Abstract No. 4287814, from Natarajan et al., 1992,
`“Issues in Building Dynamic Real—Time Systems”.
`Inspec Abstract No. 4281362, from Marshall et al., 1991,
`“Using VDM within an Object—Oriented Framework”.
`Inspec Abstract No. 4275707, from Tsukarnoto et al., 1991 ,
`"DOT: A Term Representation Using DOT Algebra for
`Knowledge—Bases”.
`
`Inspec Abstract No. 4275698, from Van den Bussche et al.,
`1991, "Evaluation and Optimization of Complex Object
`Selections”.
`Inspec Abstract No. 4275693, from Giannotti et al., 1991,
`“Non—Determinism in Deductive Databases".
`Inspec Abstract No. 4270361, from Artale et al., 1991,
`“Introducing Knowledge Representation Techniques in
`Database Models”.
`
`Inspec Abstract No. 4270125, from Becker et al., 1991,
`"Reusable Object—Oriented Specifications for Decision Sup-
`port Systems“.
`Inspec Abstract No. 4258492, from M. Ball, 1992, “Inside
`'I‘emplates: Implementing C++ Strategies”.
`lnspee Abstract No. 4258051, from Rundensteiner et al.,
`1992, “Set Operations in Object—Based Data Models”.
`Inspec Abstract No. 4244023, from George et al., 1991, “An
`Object—Oriented Data Model
`to Represent Uncertainty in
`Coupled Artificial Intelligence—Database Systems".
`[991,
`Inspec Abstract No. 4324438, from Madany et al.,
`“Organizing and Typing Persistent Objects Within an
`Object—Oriented Framework”.
`lnspec Abastract No. 4152687. from M. Wolczko, 1992,
`“Encapsulation, Delegation and Inheritance in Object—Orb
`ented Languages".
`Inspec Abstract No. 4117514, t‘rorn Wuwongse et al., 1991,
`"An Object—Oriented Approach to Model Management“.
`Inspec Abstract No. C94204—6110J—017, "Choices, Frame—
`works and Refinement", R. H. Campbell et al., 1991.
`Inspec Abstract No. 4090970, from P. Kougiouris, 1991,
`"Device Management Framework for an Object—Oriented
`Operating System”.
`Inspec Abstract No. 4077440, from A. Mahler, 1991, "Orga~
`nizing Tools in a Uniform Environment Framework”.
`Inspec Abstract No. 4067033, from Shaw et al., 1990.
`"Experience with the ET++ Application Framework".
`Inspec Abstract No. 4060084, from Muller et al., 1990,
`“ODICE: Object—Oriented Hardware Description in CAD
`Environment“.
`
`Inspec Abstract No. 4050569, from Di Giovanni et al., 1990,
`"HOOD Nets“.
`Inspec Abstract No. (”91072815, from Holtkamp et al, 1990.
`"DEMOM—A Description Based Media Object Data
`Model”.
`from A. Lane, 1991,
`Inspec Abstract No. C91072016,
`“r’DOSf(T++—Application Frameworks”.
`Inspec Abstract No. C91072574, from Hernery et al., “An
`Analysis of Communication and Multiprogramming in the
`Helios Operating System”, Sep. 199].
`Inspec Abstract No. C9'10647S7, from Madany et a], 1989,
`“A Class Hierarchy for Building Stream—Oriented File Sys—
`tems”.
`Inspec Abstract No. C91064580, from Gamma et al., 1989,
`"Integration of a Programming Environment into ET++—A
`Case Study".
`Inspec Abstract No. C91058815, from Menga et al., 1990,
`“G++: An Environment for Object Oriented Analysis and
`Prototyping”.
`Inspec Abstract No. B91052096, from Cusack et al., 1990,
`"Object—Oriented Specification in LOTOS and Z, or My Cat
`Really is Object—Orientedt".
`Inspec Abstract No. (291053475, from Queinnec et al., 1988,
`“An Open Ended Data Representation Model
`for
`EU—IJSP".
`from E. Cusack, 1991,
`Inspec Abstract No. C91053151,
`"Refinement, Conformance and Inheritance".
`
`4
`
`
`
`5,915,252
`
`Page 5
`
`I-Ielton, 1990,
`
`Inspec Abstract No. C91042802, from T. Yokoyama, 1990,
`“An Object—Oriented and Constraint—Based Knowledge
`Representation System for Design Object Modeling”.
`Inspec Abstract No. (91041980, from Choi ct al., 1991,
`"Graph Interpretation of Methods: A Unifying Framework
`for Polymorphism in Object—Oriented Programming".
`inspec Abstract No. C91042655,from Q. Li, 1991,“Extend-
`ing Semantic Object Model: Towards More Unified View of
`Information Objects”.
`Inspec Abstract No. (391024852, from Pierra et al., 1.990,
`"AD Object Oriented Approach to Ensure Portability of
`CAD Standard Parts Libraries".
`Inspec Abstract No. (91010951, from '1‘.
`"LevelS Object".
`lnspec Abstract No. 1390075006, from Gossain el al., 1989,
`“Designing a Class Hierarchy for Domain Representation
`and Reusability".
`Inspec Abstract No. (:91003997, from J. Muys—Vasovic,
`1989, “MacApp: An Object—Oriented Application Frame-
`work".
`Inspec Abstract No. (91004708, from Bertino et al., 1990,
`“Optimization of Queries Using Nested Indices”.
`inspec Abstract No. C90052277, from 1.
`'I‘ervonen, 1990,
`"Object—Oriented Development as a Muiliview Software
`Construction Methodology”.
`Inspec Abstract No. C90052627, l'rorn Schrell et al., 1988,
`"A Knowledge-Based Approach to Overcome Structural
`Differences in Object Oriented Database Integration“.
`Inspec Abstract No. C90047457, from Yokoyama et al.,
`1990, "A Constraint-Based and Object—Oriented Knowln
`edge Representation".
`from Q. Chen, 1988,
`Inspec Abstract No. C90034818,
`"Extending the Object—Oriented Paradigm for Supporting
`Complex Objects".
`Inspec Abstract No. C90030609, from Forde et al., 1990,
`“Object—Oriented Finite Element Analysis”.
`Inspec Abstract No. C90007733, from Weinand et al., 1989,
`"Design and Implementation of ET++, A Seamless
`Object—Oriented Application Framework”.
`
`lnspec Abstract No. (789062837, from Pasquier—Boltuck et
`al., 1988, “Prototyping an Interactive Electronic Book Sys-
`tem Using an Object—Oriented Approach".
`Inspec Abstract No. C89056727, from Campbell ct al., 1989,
`“Principles of Object—Oriented Operating System Design".
`lnspec Abstract No. (39056859, from Hull et a1, 1989, “On
`Accessing Object—Oriented Databases: Expressive Power,
`Complexity, and Restrictions“.
`Inspec Abstract No. C89049257, from Madany et al., 1989,
`"Class Hierarchy for Building Stream—Oriented File Sys-
`tems”.
`
`Inspec Abstract No. C89039001, from Brophy et al., 1989,
`“A Framework for Multiple, Concurrent Graphical Repre—
`sentalion".
`
`Inspec Abstract No. C89033226, from (.‘orradi et al., 1988,
`“PO: An Object Model to prress Parallelism ”.
`Inspec Abstract No. C89014870,
`from R. King, 1988,
`"Semantic and Object—Oriented Database Support for Softn
`ware Environments“.
`
`Inspec Abstract No. 89003142, from Tenma et al., 1986, “A
`System [or Generating Language—Oriented Editors”.
`Inspec Abstract No. (88013915, from Woelk et al., 1987
`“Multimedia Information Management in an Object—Ori-
`ented Database System".
`Inspec Abstract No. (388007447, from P. Allen, 1987, “A
`Framework for Implementing Multisensor Robotic Tasks".
`lnspec Abstract No. (87007043, from Whittcd et al., 1986,
`“Exploiting Classes in Modeling and Display Software”.
`lnspec Abstract No. C86039588, from K. Fukunaga., 1985;
`“Prompter‘. A Knowledge Based Support Tool for Code
`Understanding”.
`Inspec Abstract No. C86024804, from Greenspan ct al.,
`1986, “A Requirements Modeling Language and its Logic".
`Inspec Abstract No. C84005713, from Meyer et al., 1983,
`“Towards a 'IWo—Dimensional Programming Environment".
`Inspec Abstract No. (381005505, from Mylopoulos et al.,
`1980, “Some Features of the TAXIS Data Model".
`
`5
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 1 0f 25
`
`5,915,252
`
`
`200
`Administration
`
`
` Zoo Keeper
`Mechanism
`
`
`
`
`
`
`
`
`
`Animal
`Containment
`
`UnitMechanism
`
`
`E
`
`Mechanism
`
`FIG. I
`
`6
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 2 0f 25
`
`5,915,252
`
`Zoo Administrator
`\
`(from 200 Administration) ’
`
`,
`\
`,w
`
`I,
`
`\ H.
`
`\
`
`\~.. fl/
`
`/ f —. _ I -
`
`x
`
`u
`Animal Reglstry
`;
`1 (from Zoo Keeper Hechani 3m)
`’9
`list_animals(}
`/x
`\
`
`.[
`
`I
`
`/
`
`”
`
`x
`
`I
`
`_.. \
`
`Hh_,
`
`C xfl /
`A __ _..—
`
`/
`
`f. -— ....__/
`
`r
`
`.- --~- {/
`\.
`
`x
`
`‘N. h-
`
`\
`
`C
`
`C
`
`\
`
`X.
`
`Zoo Keepers
`If
`1(f mm Zoo Keeper Mechanism)
`/
`/O_®
`x
`I
`
`1
`
`\
`
`E _,/
`
`W W
`\M..__...
`
`h-
`
`\-..._
`
`C
`
`n
`
`“' x.
`
`/- ----.\.f
`
`f,
`
`"x \
`
`.
`
`Anlmals
`
`I
`
`(from Animal Mechanism)
`
`\
`/.J
`
`f
`l
`
`\
`
`\H.
`
`x //
`
`\
`
`\
`
`\
`
`/
`
`I!
`x
`
`x
`J
`
`7
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 3 of 25
`
`5,915,252
`
`/
`
`I
`
`._
`
`Zoo Keeper Registry
`f
`i
`
`L (from 200 Administration) "
`list_200 keepersi)
`/\
`
`C
`®\i/
`
`'L
`
`\
`
`/ ’
`
`\
`
`(D/M J \M.
`
`I’M. fl /
`
`r '— \
`
`i Containment Unit Registry
`—_—_____ i
`\i from Zoo Keeper Mechanism)
`;
`
`1ist____contunitsi)
`
`//
`
`\
`
`®—C—/
`\\
`
`\i
`
`___ /
`
`C
`I” /
`
`m_\
`
`\ -..._ .....
`
`A
`
`\ ~..
`
`/
`
`_.
`
`" '" \
`
`n /
`\f
`
`\
`
`\
`
`\
`
`{
`\
`
`/’
`
`l
`
`\
`
`x
`
`
`
`Containment Unit
`(from Containment
`Unit Mechanism)
`
`\
`
`I
`
`/
`
`x,
`\
`
`i
`
`I
`
`8
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 4 of 25
`
`5,915,252
`
`/
`
`I
`
`\
`
`x
`
`I
`__
`('- ‘\l
`V
`[I’D-5's,
`Zoo Administrator
`(from 200 Administration)
`
`
`
`s.
`
`x...
`
`\\
`
`9
`1
`
`I,
`
`,’
`
`:
`|\
`,3
`
`,’
`
`1
`f
`
`I...”
`
`5_minute_timer()
`add/deletefian imal ()
`add/delete_containment_unit()‘\
`add/deletefizoo_keeper()
`start_zoo_admin()
`
`/
`{
`\\
`
`‘~~
`
`l‘
`
`\x
`
`“"x.
`
`c
`
`A
`/ ‘--’
`
`,x
`
`FIG. 3
`
`9
`
`
`
`US. Patent
`
`Jun.22,l999
`
`Sheets 0f25
`
`5,915,252
`
`
`
`“Em“:mcumzLoammxDONEagbvg
`
`
`
`mgmammxCON5
`
`anfivmfime_:mlxumcu
`
`
`
`Lm-OLHcouMungmumnfimh
`
`AVmeE_:mlxumzu
`
`1E,,52.3233_
`
`Lemma;
`
`Aymmmeflzmrxumcu
`
`10
`
`10
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 6 0f 25
`
`5,915,252
`
`/
`
`l
`
`N.
`
`\
`
`I’”"“\
`
`I
`
`I
`rr-fi'h. I
`“‘4
`
`’ Animals
`{from Animal Mechanism)
`Feed_fre0
`Location
`Temp_Range
`Vet_visit_frea
`get_temp_range( )
`feed()=0
`needs_food( )=0
`needs_vet_vlslt( )=0
`vet__v!sit()=0
`
`\
`
`N
`
`\
`
`\
`
`“
`
`:
`f
`
`I;
`
`/
`\\
`
`n
`1
`,'
`
`(5 /
`
`I
`
`{I
`
`1’
`:
`v.
`{L
`
`(r
`
`f
`I
`
`\
`
`\ ..
`
`‘1
`
`N.._4—\
`
`Viv
`
`I;
`
`”\h_”/’
`
`I ’“x
`
`z- ‘\
`
`I
`
`’_ s.
`
`rim..."
`
`’
`Name 1 s
`
`1’
`
`I L
`
`I
`‘
`\x'
`
`'1
`
`\
`
`“W ’h—E‘II'
`
`\E __J
`
`‘\
`
`‘\
`’1
`
`{z
`\
`
`‘
`)1
`
`l
`
`’
`
`,’
`L
`
`’
`
`X
`
`W
`
`x
`
`E
`~1M_//N~I
`
`/
`
`\‘N.
`
`\
`
`‘1
`Iz
`
`—-
`I
`‘- ‘q’ \I
`'
`Reptlles
`Temp_range
`get_temp_irange() /
`\\
`J
`_. /
`
`..-. x
`
`“4/
`
`I, - ...,
`Carnivore
`feedU
`needs__foam )
`
`:
`K
`x ’
`L
`
`\_
`
`_..__/'—h""]
`
`I’F‘\_‘
`
`\
`
`\
`
`l
`,1
`
`\"
`\
`,I
`
`’1
`
`\
`
`x
`
`‘1
`/
`
`(f
`x
`
`‘1
`
`I
`
`Herbivore
`i!
`feed()
`5
`/ needs_food()
`x
`
`\ - _‘
`
`x
`
`“wax
`
`E
`
`,
`/ x
`
`11
`
`11
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 7 of 25
`
`5,915,252
`
`ffi-i
`
`\l
`
`/
`
`Containment Unit
`(from Containment
`,. Unit Mechanism)
`adjust_temp()
`
`‘\
`;
`
`/’
`\
`
`‘N
`
`\ W
`\__\
`
`/f‘—_-/
`
`\
`
`i
`
`/
`
`E
`,..,
`
`/
`i
`
`\
`
`12
`
`12
`
`
`
`US. Patent
`
`Jun.22,1999
`
`Sheets 0f25
`
`5,915,252
`
`mayneg;
`
`
`
`Lmummm_me_c<
`
`«mm
`
`(h.o_n_
`
`08m5mEmN
`
`poumgumwc_eufl
`
`man
`
`um>as“mu:_>
`
`.\
`
`Agmfimaficquumcuum
`
`a
`
`um_filmhmnmmxum
`Avmgmammxnoowlum_fiufiV
`
`13
`
`a a
`
`n
`
`
`
`“mammxooN
`
`“muwwamm
`
`13
`
`
`
`
`
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 9 0f 25
`
`5,915,252
`
`
`
`
`
`meumzu“amply?“My:EAv.gawkQa:2:
`
`m»GE
`
`53m5355
`
`
`
`mamacow;
`
`m
`
`mmcmglgemu"m/e
`
`Aymacmu1aamulummuw
`
`anysum
`
`mxmcm
`
`mmm
`
`avmmcmglaamwlumouofi
`
`gmwmwammw_:=
`
`acme:_mu:ou
`
`omm
`
`mmcfilaefi“VH3”13E:um/
`
`avm
`
`:Edcoudfi_no
`
`14
`
`14
`
`
`
`
`
`
`
`
`US. Patent
`
`Jun.22,l999
`
`Shcctlfl 0f25
`
`5,915,252
`
`AEEmulwwzmum"NH
`
`HMZImHmeEmum
`
`Loumflmmm_mafl:<
`
`15
`
`15
`
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 11 of 25
`
`5,915,252
`
`Terminal
`
`—7
`
`822
`
`APPLICATION PROGRAMS
`
`820
`
`37°
`
`82“
`
`826
`
`DATA TRANSFER
`FRAMEWORK
`
`OBJECTS
`
`DATA
`
`828
`
`OPERATING SYSTEM
`
`MassStorage HF! Terminal
`
`[IF
`
`Network I/F
`
`T
`
`865
`
`16
`
`16
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 12 0f 25
`
`5,915,252
`
`900
`
`
`ReadiDirectory
`
`0fDataSource
`
`910
`
`
`
`
`
`
`
`
`
` 970
` 980
`
`
`
`
`
`
`
`SelectData
`
`to Transfer
`
`Read Data from
`
`Data Source
`
`Validate Data
`
`Map Data to
`
`Data Target
`
`Verify'rransfe
`
`Condition
`
`Hrite Data to
`
`Data Target
`
`
`
`920
`
`930
`
`940
`
`950
`
`960
`
`17
`
`17
`
`
`
`US. Patent
`
`Jun.22,1999
`
`Shcct13 0f25
`
`5,915,252
`
`Lm%mcmgh
`
`mumm
`
`O_.o_n_
`
`Loymcmhh
`
`mugzow
`
`:o_Hmucou
`
` me_wm
`
`18
`
`18
`
`
`
`
`
`
`US. Patent
`
`Jun.22,1999
`
`Shect14 0f25
`
`5,915,252
`
`d:.07.
`
`1 .
`
`....r-\_.
`
`\Ill.\\
`\\./I;
`
`\ik,_x.
`2%v
`
`\IJ
`
`19
`
`fivgokmcmghmumn
`
`”VHfiquo%mn=AvmuHLszwym:avuwmmgmuym_av_fiqgmwum:fivczg
`
`nvmu_gzmgoymn=:ummeP—B__
`
`Lawmcmhpmumn
`r./\:o_u:awgpm_nJ_mamxumm;vA!8.69:.\A,3.68;\
`
`19
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 15 0f 25
`
`5,915,252
`
`source
`
`C}*
`
`(9‘ target
`
`\W /fl_/
`
`/
`
`Place
`
`5..
`
`\/
`
`Transfer
`Condition
`
`\’
`L
`
`
`
`
`Target
`.
`Mapplng
`~—-——-—.
`
`\‘
`/
`(
`El:
`
`(
`
`\
`
`FIG. IIB
`
`\
`
`53/” H
`
`20
`
`20
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 16 0f 25
`
`5,915,252
`
`Cmgouuwl—HU
`
`Cxumzu
`
`33:3/cum:/
`
`\JI\
`
`Ill.\\
`
`82m\
`
`z;.all
`
`2355\,EN
`
`838\x@352
`
`\I!\l..I/\f\\.....\
`
`“SEES
`
`8.5
`
`
`
`/.\I...I....\
`
`Illcl‘-\1/f
`
`I...
`
`21
`
`21
`
`
`
`US. Patent
`
`Jun.22,l999
`
`Shcct17 0f25
`
`5,915,252
`
`\uf.\m/
`
`lit/Kill.
`
`\ \
`
`22
`
`22
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 18 0f 25
`
`5,915,252
`
`III
`
`32E8.50m\II.
`\lllll-K
`
`\
`
`:U:m>V
`
`
`
`
`
`Er
`
`/:
`
`......._...
`
`m_.o_n_
`
`\/
`
`,xlx,\:\,\rxxF\;x\,g:32;858IV“SEE858JA$53mEE\r$33393\
`
`23
`
`23
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 19 0f 25
`
`5,915,252
`
`1/ Ill
`
`coflwwucou
`
`Lakmcmhh
`
`It...\IIll-I“
`
`m
`
`Avumwvmwwmm
`
`Hmacm“ozr%_Lm%mcm_p
`
`/\
`lax
`
`\\ \
`
`l.
`
`/L_gmymcmgh\/..\..l........\
`
`\.r:\\r.I\mcwmwwz
`
`I._
`
`24
`
`24
`
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 20 0f 25
`
`5,915,252
`
`
`
`ll
`
`i
`
`\IIIII
`
`
`
`mcwaam:ummme
`
`
`
`ummmmmfinmh
`
`25
`
`25
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 21 0f 25
`
`5,915,252
`
`main()
`
`data transfer: source place
`
`Data Transfer
`
`:Place
`
`| |
`
`:
`2: beforeAll()
`.
`El:
`I
`I
`.3: directory()|
`
`1:
`
`run()
`
`Im
`
`a: (transfer each source)
`II:
`
`| I l
`
`: | I
`
`|
`I
`
`5: afterAll()
`I]:
`
`F:l(3.
`
`|€3
`
`26
`
`I
`
`I I I I I :
`
`I
`
`I
`I
`
`I I I
`
`26
`
`
`
`US. Patent
`
`Jun.22,l999
`
`Shect22 0f25
`
`5,915,252
`
`
`
`"82m.$9.8Lfimcmb583Em:C85882m858CfimcmbEmu
`
`
`
`
`
`
`
`
`
`82a.“836:8“338.:55:“.8.50m82%305:2»3mm
`
`
`
`
`
`
`
`—_._u-———
`
`_
`
`__________
`
`
`
`
`
`nE.amEmz.ummzwgovmnnm
`
` ___"“mymn.m5mzwummgnm*___
`
`_____
`Amumn.msmz.Uw~m>ua_“Ha
`
`
`
`
`:mwmn.mEszummmgmu%mum
`
`xuucum 839.252.3265sz
`ameum_
`
`
`
`“Amamzvxumzuum*_
`
`_
`
`
`
`Ampm:.msmzv0H_L
`
`_.__.3 .......___....._
`C)v—u
`
`~___
`
`
`
`AHm>m4.~m>m4vumwhm_ummuw“__
`
`
`
` “mum:.mEmzvmu_gzgmuymnfifi“_
`
`Q
`
`
`
`859%sz3238835
`
`E_Amemzv
`
`27
`
`PL
`
`27
`
`
`
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 23 0f 25
`
`5,915,252
`
`/
`
`/
`
`/
`
`\
`
`Data Transfer
`—~~———______._____
`(from Data Transfer)
`DataT ransfer( )
`runU W
`
`\
`
`\
`/
`
`\
`
`“‘
`
`\
`
`\
`\
`
`\
`
`|[ afterAll()
`|| afterReadU
`II afterHriteU
`H beforeAlm
`u beforeRead{)
`|| beforeWriteU
`
`/_ .._.
`
`/
`
`l
`
`.3
`1
`1 “m
`
`1
`
`N
`
`/ /
`K
`
`\
`
`’ “‘5.
`
`\
`
`
`
`Beta Product
`Internet Unload
`llafterAlH)
`\ IlheforeAIH)
`\
`/'--——/
`
`\
`/
`
`(
`J
`
`\//
`
`FIG. I8A
`
`28
`
`28
`
`
`
`US. Patent
`
`Jun. 22, 1999
`
`Sheet 24 0f 25
`
`5,915,252
`
`AUaLOHumL_u
`
`Avxumcu
`
`=5Hm>wm1:
`
`3......II}.
`
`It:\III.I\\
`
`
`
` \\\/\u:xggmu_.:/AuummLxx
`
`Ill!-
`
`r
`
`In]...
`
`fl\
`
`\
`
`“.mho