`sheski et al.
`Mi
`
`5:5
`
`US005915252A
`(11) Patent Number:
`[45] Date of Patent:
`
`5,915,252
`Jun. 22, 1999
`
`[54]
`
`OBJECT ORIENTED FRAMEWORK
`MECHANISM FOR DATA TRANSFER
`BETWEEN A DATA SOURCE AND A DATA
`TARGET
`
`[75]
`
`Inventors: David Joseph Misheski, Plainview;
`Clifton Malcolm Nock, Rochester, both
`of Minn.
`
`5,390,310
`5,390,325
`5,396,626
`5,398,336
`5,418,949
`5.581.722
`5,642,511
`
`2/1995 Welland creccssssssssssesssseeeeeseeseeee 395/400
`2/1995 Miller ......
`.. 395/575
`
`3/1995 Nguyen....
`.. 395/700
`
`3/1995 Tantry et al.
`.. 395/600
`5/1995 Suzuki vce
`.. 395/600
`
`12/1996 Welland ..
`.. 395/417
`6/1997 Chow et al.
`cteccsssseessssscseeeee 395/701
`OTHER PUBLICATIONS
`
`[73]
`
`Assignee:
`
`International Business Machines
`Corporation, Armonk, N.Y.
`
`IBM Technical Disclosure Bulletin, vol. 37,
`Text of
`DeBinder et al., Feb. 1994, “Results Folder Framework”,pp.
`431-432.
`
`[21]
`
`[22]
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`Appl. No.: 08/724,570
`
`Filed:
`
`Sep. 30, 1996
`
`Tint, Cho cicccceeccccscccccsscssssecssssesssesssteessesessee G06F17/00
`IL Ss RON eeeeeereeepeererrtteereteretee 707/103; 707/8; 707/10;
`395/683; 395/684; 395/685
`Field of Search ou... 707/1-206, 517-530;
`701/201—205; 345/961—-970; 395/680-685;
`711/170-208
`
`(List continued on next page.)
`
`Primary Examiner—Vhomas G. Black
`Assistant Examiner—David Yink Jung
`Attorney, Agent, or Firm—Martin & Associated, L.L.C.;
`Derek P. Martin
`
`[57]
`
`ABSTRACT
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`
`
`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 frameworktofit
`a particular data transfer environment. Certain core func-
`tions are provided by the framework, which interact with
`7/1990) Lark ef al. eecceeeeees 304/513
`4,943,932
`extensible functions provided by the framework user. The
`5,057,996 10/1991 Cutler etal. ......
`wee 364/200
`
`architecture of the framework allows a developer to deter-
`5,101,364
`3/1992 Davenportet al.
`ve 395/152
`mine the conditions and parameters that apply to the data
`
`5,119,475
`6/1992 Smith et al.
`......
`vw 395/156
`transfer while allowing a user tointeract with the framework
`5,181,162
`1/1993 Smith et al.
`..
`we. 364/419
`
`5,195,172
`3/1993 Elad et al.
`....
`» 395/50
`with an interface that is consistent regardless ofthe specific
`
`5,226,161
`7/1993 Khoyiet al.
`395/650
`combination ofdata source, data target, connection type, or
`5,247,693
`9/1993 Bristol
`...........
`we 395/800
`protocol. The extensible functions allow new data transfer
`5,249,270
`9/1993 Stewartet al.
`wee 395/200
`
`environments to be easily implemented using the frame-
`5,257,384 10/1993 Farrand etal.
`wee 395/725
`...
`work. The framework thus allows a common user interface
`
`5,261,080
`11/1993 Khoyietal. ......
`ven 395/500
`
`for transferring data between any data source and any data
`5,274,572 12/1993 O'Neill et al.
`ww. 364/550
`target, which may be easily customized to include data
`5,276,775
`1/1994
`.- 395/55
`sources, new data targets, new transfer protocols, etc. The
`
`l
`5,287,447
`2/1994
`395/157
`
`
`
`§,293,385 fananceaenrnAdanddatnerins3/1994 areatwena 371/19
`framework greatly simplifies the user’s job of transferring
`
`5,293,470
`3/1994 Birch et al.
`...
`395/135
`data since it provides a common interface, and greatly
`5,297,283
`3/1994 Kelly, Jr etal.
`a 395/650
`.
`
`simplifies the developer’s job of providing a user interface
`5,315,703
`5/1994 Mathenyet al.
`..
`we 395/164
`for a new combination of hardware and/or software by
`$315,709
`5/1994 Alston, Jr. et al.
`we 395/600
`
`providing established classes that may be easily extended to
`5,367,633
`11/1994 Mathenyet al.
`..
`wee 395/164
`
`implement the desired data transfer environment.
`5,369,766 11/1994 Nakanoet al.
`w+ 395/700
`
`5,379,430
`1/1995) Nguyen «2.0.0.
`we 395/700
`5,388,264
`2/1995 Torbias, II et al... 395/650
`
`32 Claims, 25 Drawing Sheets
`
`
`
`Apple v. Realtime
`Proceeding No. IPR2016-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 et al., Oct.
`1991, “Model View Schema”, pp. 321-322.
`Text of IBM Technical Disclosure Bulletin, Baker et al., Oct.
`1991, “Office Container Class”, pp. 309-310.
`Text of IBM Technical Disclosure Bulletin, Cavendishet al.,
`Jul. 1991, “Icon Pane Class”, pp. 118-119.
`‘Text of IBM Technical Disclosure Bulletin, Baker et al., Jun.
`1991, “Distribution List Class”, p. 159.
`‘Text of IBM Technical Disclosure Bulletin, Cavendishet al.,
`Jun. 1991, “Object-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-Karmiet al., “Events Set for Event
`Tracing in Distributed Object-Oriented Systems”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 12,
`Dec. 1994, pp. 375-378, Ackeret al., “Automatically Gen-
`erating Formatted Documentation for Object-Oriented
`Class Libraries”.
`Text of IBM Technical Disclosure Bulletin, vol. 37, No. 11,
`Nov. 1994, pp. 71-72, Behrs et al., “Device Support Frame-
`work to Support ISO DPA 10175 and POSIX 1387.4”,
`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, No. 6B,
`Jun. 1994, pp. 553-556, Gest et al., “Portable Object-On-
`ented Event Manager”.
`Abstract for WIPO Patent Application No. WO 95/04966,F.
`T. Nguyen, Feb. 16, 1995, “Automatic Management of
`Components in Object-Oriented System”.
`Abstract for U.S. Patent No. 5,388,264, Milne et 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. WO 94/23364,
`Heninger et al., Oct. 13, 1994, “Framework Processing
`Apparatus for Application Software”.
`Abstract for U.S. Patent No. 5,369,766, Heningeret al., Nov.
`29, 1994, “Object Oriented Application Processing Appara-
`tus”.
`
`Abstract from WIPO Patent Application No. WO 9422081,
`Sep. 29, 1994, “Hardware—Independent Interface for Inter-
`rupt Processing”, G. O. Norman etal.
`Abstract for WIPO Patent Application No. 94/19752, Ander-
`son et al., Sep. 1, 1994, “Concurrent Framework Processing
`Apparatus for Two or More Users”.
`Abstract for WIPO Patent Application No. 94/19751, Ander-
`son et al., Sep. 1, 1994, “Concurrent Framework Processing
`Apparatus for Application Users”,
`Abstract for WIPO Patent Application No. 94/19740, Gold-
`smith et al, Sep.
`1, 1994, “Framework Processor of
`Object-Oriented Application”.
`Abstract from WIPO Patent Application No. WO 94/15286,
`Goldsmith et al., Jul. 7, 1994, “Object-Oriented Framework
`for Object Operating System”.
`
`Abstract for WIPO Patent Application No. 94/15282, Ander-
`son et al., Jul. 7, 1994, “Dialog System Object—Oriented
`System Software Platform”.
`Abstract for WIPO Patent Application No. 94/15281, Ander-
`son et al., Jul. 7, 1994, “Atomic Command Object-Oriented
`System Software Platform”.
`Abstract from WIPO Patent Application No. WO 9415285,
`Jul. 7, 1994, “Object-Oriented Notification Framework Sys-
`tem”, D. R. Anderson et al.
`Abstract for U.S. Patent No. 5,119,475, Schoen et al., Jun.
`2, 1992, “Object-Oriented Framework for Menu Defini-
`tion”.
`
`Abstract for WIPO Patent Application No. 95/01610, Koko
`et al, Jan 12, 1995, “Object Oriented Product Structure
`Management in Computer—Aided Product Design”.
`Abstract fpr WIPO Patent Application No. 95/04967, Feb.
`16, 1995, “Access Method to Data Held in Primary Memory
`Based Data Base”.
`Abstract for WIPO Patent Application No. 95/02219, Hel-
`geson et al., Jan. 19, 1995, “Distributed Computation Based
`on Movement, Execution and Insertion of Processes in
`Network”.
`
`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. 94/20912, Sep. 15, 1994,
`“Object-Oriented System for Managing Financial Instru-
`ments”.
`
`Inspec Abstract No, C9504—7460-—043, Sells et al., 1995,
`“Implementation of the Architecture for a Time-Domain
`Dynamical System Simulation in a Very High-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. C9503-—6140D-045, Satoh et al., 1995,
`“Process Algebra Semantics for a Real Time Object Ori-
`ented Progamming Language”.
`Inspec Abstract No. C9501—7160—020, C. Le Pape, 1993,
`“The Cost of Genericity: Experiments With Constraint-
`—Based Representations of Time—Tables”.
`Inspec Abstract No. C9501-6140D-005, S. Vinoski, 1994,
`“Mapping CORBA IDL Into C++”.
`Inspee Abstract No, C9501-7330-007, Salminen et al.,
`1994,
`“Modelling Trees Using
`an Object-Oriented
`Scheme”.
`
`Inspec Abstract No. C9412-6110B-211, Berghel et al.,
`1992, “A Generic Object-Oriented Concurrency Mecha-
`nism for Extensibility and Reuse of Synchronization Com-
`ponents”.
`Inspec Abstract No. B9412-6210Q-016, from Oingzhonget
`al., 1992, “An Object-Oriented Model for Ingelligent Net-
`works”.
`
`Inspec Abstract No, C9412—7810-003, from Jung et al.,
`1993, “Development of an Object-Oriented Anthropometric
`Database for an Ergonomic Man Model”.
`Inspee 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. C9411-7100-029, from C. Le Pape,
`1994, “Implementation of Resource Constraints in ILOG
`Schedule: A Library for the Development of Constraint—
`Based Scheduling Systems”.
`Inspee Abstract No. C9411-6115-035, from Mili et al.,
`1991, “SoftClass: An Object-Oriented Tool for Software—
`Reuse”.
`Inspec Abstract No. C9410—6180G—015, from Eichelberg et
`al., 1993, “Integrating Interactive 3D-Graphics into an
`Object-Oriented Application Framework”.
`Inspec Abstract No. B9409-6210M-—025, from Hellemans et
`al., 1994, “An Object-Oriented Approach to Dynamic Ser-
`vice Descriptions”.
`Inspec Abstract No. C9409-6180-059, from Wanget al.,
`1993, “A Framework for User Customization”.
`Inspec Abstract No. C9408-6110B-—016, from Chen etal.,
`1994, “An Experimental Study of Using Reusable Software
`Design Frameworks to Achieve Software Reuse”.
`Inspee Abstract No, C9408—7420-021, from Pirklbauer et
`al., 1994, “Object-Oriented Process Control Software”.
`Inspee Abstract No. C9408-6110J-011, from Gyu—Chunget
`al., 1993, “System Methodologies of Object-Oriented Pro-
`grams”.
`Inspee Abstract No. C9407-7420D-045, from Desai et al.,
`“Controller Structure Definition Via Intelligent Process Con-
`trol”, 1994.
`Inspee Abstract No. C9407—6140D-—014, from Satoh et al.,
`1994, Semantics for a Real-Time Object-Oriented Pro-
`gramming Language.
`Inspec 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-6180G—031, from Woyaket al.,
`1993, “A Motif—Like Object-OrientedInterface Framework
`Using PHIGS”.
`Inspec Abstract No. C9504—6130B—049, from A. van Dam,
`1995, “VR as a Forcing Function: Software Implications of
`a New Paradigm”.
`Inspee Abstract No. C9504—6140D-024, from Shefileret al.,
`1995, “An Object-Oriented Approach to Nested Data Par-
`allelism”.
`Inspec Abstract No. C9503-6110B-045, from Rosieneetal.,
`1995, “A Data Modeling Framework for Queueing Network
`Models”.
`Inspec Abstract No. B9503-8110B-023, from Mautrefet al.,
`1995, “An Object-Oriented Framework for the Develop-
`ment of Interactive Decision Support Systems”.
`Inspec Abstract No. C9502-7160-026, from Mengaet al.,
`1995, “An Object-Oriented Framework for Enterprise Mod-
`elling”.
`for
`Inspec Abstract No. C9502-6130G-006, “Support
`Enterprise Modelling in CSCW”, P. Hennessyet al., 1994.
`Inspec Abstract No. C9502-—7810C-058, from Lin et al.,
`1995, “Can CAL Software Be More Like Computer
`Games?”,
`
`Inspee Abstract No, C9501—6115-039, from Elia et al.,
`1993, “G++: An Object Oriented Environment for Devel-
`oping Distributed Applications”.
`Inspec Abstract No. C9412-7330-186, from Righteret al.,
`1994, “An Object-Oriented Characterization of Spatial Eco-
`system Information”.
`
`Inspee Abstract No. C9412-—6160J—025 from J. Livari, 1994,
`“Object-Oriented Information Systems Analysis: A Com-
`parison of Six Object-Oriented Analysis Methods”.
`Inspee Abstract No. C9412-6110J—006, from Lau et al.,
`1993, “Using SOM for Tool Integration”.
`Inspec Abstract No. C9411-6160J-011, from Odberg et al.,
`1992, “A Framework for Managing Schema Versioning in
`Object-Oriented Databases”.
`Inspee Abstract No. C9406-6110J-007, from J. D. Grimes,
`1993, “Objects 101—An Implementation View”, Proceed-
`ings of COMPCON 1994.
`Inspec Abstract No. 4647921, from Uhorchaket al., 1993,
`“An Object-Oriented Class Library for Creating Engineer-
`ing Graphs Using PHIGS”.
`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”.
`Inspee Abstract No. 4622794, from Campbell et al., 1993,
`“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”.
`Inspee Abstract No. 461931, from Islan et al, 1993, *Uni-
`form Co—Scheduling Using Object-Oriented Design Tech-
`niques”.
`Inspec Abstract No. 4613481, from Thieme et al., 1993,
`“Schema Integration in Object-Oriented Databases”,
`Inspec Abstract No, 4603430,
`from G,. Booch, 1994,
`“Designing an Application Framework”.
`Inspee Abstract No, 4596323, from Frank et al., 1993, “An
`Integrated Environment
`for Designing Object-Oriented
`Enterprise Models”.
`Inspee Abstract No. 4593721, Periyasamy et al., 1993, “A
`Formal Framework for Design and Verification of Robotic
`Agents”.
`Inspee Abstract No. 4588839, from L. Fisher, 1992, “Con-
`structing a Class Library for Microsoft Windows”.
`Inspec Abstract No. 4588834,
`from G. Olander, 1992,
`“Chembench: Redesign of a Large Commercial Application
`Using Object-Oriented Techniques”.
`Inspee Abstract No, 4566447, from J. Rossazza, 1992, “An
`Object—Centered Fuzzy Representation”.
`Inspee Abstract No. 4565630, from Karpovich et al, 1993,
`“A Parallel] Object-Oriented Framework for Stencil Algo-
`rithms”.
`
`Inspee Abstract No. C9402-—6150G-—002, from Bruegge et
`al., 1993, “A Framework for Dynamic Program Analyzers”.
`Inspec Abstract No. 4550414, from Parrish et al., 1993,
`“Automated Flow 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,
`“A Technique for Documenting the Framework of an Objec-
`t-Oriented 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 Beneventano et al., 1993
`“Taxonomic Reasoning with Cycles in Logidata+”.
`Inspec Abstract No. 4525743, from Hakimzadeh 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. B9310-—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”.
`
`Inspee Abstract No. 4447153, from Klein et al., 1992, “An
`Object-Oriented Framework for Curves and Surfaces”.
`Inspec Abstract No. 4426852, from Benveniste et al., 1992,
`“Concurrent Programming Notations in the Object-Oriented
`Language Arche”.
`Inspee 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”.
`Inspee Abstract No, 4417563, from E, Maim, 1992, “Rec-
`ognizing Objects from Constraints”.
`Inspee Abstract No. 4411998, from Yi Deng et al., 1992,
`“Unifying Multi—Paradigms in Software System Design”.
`Inspec Abstract No. 4408394,
`from Allen et al., 1992,
`“GEM: Global Event Management in CAD Frameworks”.
`Inspee 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 Thomaset 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 Approachof Integrating Data and Knowledge
`to Support Cooperative Query Answering”.
`Inspec Abstract No. 4366189, from Holt 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”.
`Inspee Abstract No. 4341376, from Bertino et al., 1992,
`“Optimization of Object-Oriented Queries Using Path Indi-
`ces”.
`
`Inspee Abstract No. 4331060, from Lau et al., 1992, “An
`Object-Oriented Class Library for Scalable Parallel Heuris-
`tic Search”.
`from P. Madany, 1992,
`Inspee Abstract No. 4318465,
`“Object-Oriented Framework for File Systems”.
`Inspec Abstract No. 4302722, from Eggenschwiler et al.,
`1992, “ET++SwapsManager: Using Object Technology in
`the Financial Engineering Domain”.
`Inspec Abstract No. 4298324,
`from $. Nichol, 1992,
`“Extending Turbo Vision”.
`Inspec Abstract No. 4297404, from Tanaka et al., 1992,
`“Two-Level Schemata and Generalized Links for Hypertext
`Database Models”.
`
`Inspec 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”.
`Inspee Abstract No. 4275707, from Tsukamotoet al., 1991,
`“DOT: A Term Representation Using DOT Algebra for
`Knowledge—Bases”.
`
`Inspee Abstract No, 4275698, from Van den Bussche et al.,
`1991, “Evaluation and Optimization of Complex Object
`Selections”.
`Inspee 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”.
`
`Inspee 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
`Templates: Implementing C++ Strategies”.
`Inspee Abstract No. 4258051, from Rundensteiner et al.,
`1992, “Set Operations in Object-Based Data Models”.
`Inspee Abstract No. 4244023, from Georgeet al., 1991, “An
`Object-Oriented Data Model
`to Represent Uncertainty in
`Coupled Artificial Intelligence—Database Systems”.
`Inspec Abstract No. 4324438, from Madany ect al., 1991,
`“Organizing and Typing Persistent Objects Within an
`Object-Oriented Framework”.
`Inspec Abastract No. 4152687, from M. Wolezko, 1992,
`“Encapsulation, Delegation and Inheritance in Object-Ori-
`ented Languages”.
`Inspec Abstract No. 4117514, from Wuwongse et al., 1991,
`“An Object-Oriented Approach to Model Management”.
`Inspee 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”.
`Inspee Abstract No. 4077440, from A. Mahler, 1991, “Orga-
`nizing Tools in a Uniform Environment Framework”.
`Inspee Abstract No. 4067033, from Shaw et al., 1990,
`“Experience with the ET++ Application Framework”.
`Inspee Abstract No. 4060084, from Muller et al., 1990,
`“ODICE: Object-Oriented Hardware Description in CAD
`Environment”.
`
`Inspec Abstract No. 4050569, from Di Giovanni etal., 1990,
`“HOOD Nets”,
`Inspec Abstract No. C91072815, from Holtkampet al, 1990,
`“DEMOM-A Description Based Media Object Data
`Model”.
`from A. Lane, 1991,
`Inspec Abstract No. C91072016,
`*/DOS/C+4+—Application Frameworks”.
`Inspec Abstract No. C91072574, from Hemeryet al., “An
`Analysis of Communication and Multiprogramming in the
`Helios Operating System”, Sep. 1991.
`Inspee Abstract No. C91064787, from Madany et al, 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 Mengaet al., 1990,
`“G++: An Environment for Object Oriented Analysis and
`Prototyping”.
`Inspee Abstract No. B91052096, from Cusack et al., 1990,
`“Object-Oriented Specification in LOTOS and Z, or My Cat
`Really is Object—Oriented!”.
`Inspee Abstract No. C91053475, from Queinnecet al., 1988,
`“An Open Ended Data Representation Model
`for
`EU-LISP”.
`from E. Cusack, 1991,
`Inspee Abstract No. C91053151,
`“Refinement, Conformance and Inheritance”.
`
`4
`
`
`
`5,915,252
`Page 5
`
`Inspec Abstract No. C91042802, from T. Yokoyama, 1990,
`“An Object-Oriented and Constraint-Based Knowledge
`Representation System for Design Object Modeling”.
`Inspec Abstract No. C91041980, from Choi et al., 1991,
`“Graph Interpretation of Methods: A Unifying Framework
`for Polymorphism in Object-Oriented Programming”.
`Inspee Abstract No. C91042655, from Q. Li, 1991, “Extend-
`ing Semantic Object Model: Towards More Unified View of
`Information Objects”.
`Inspec Abstract No. C91024852, from Pierra et al., 1990,
`“An Object Oriented Approach to Ensure Portability of
`CAD Standard Parts Libraries”.
`Inspee Abstract No. C91010951, from T. Helton, 1990,
`“LevelS Object”,
`Inspee Abstract No. B90075006, from Gossainet al., 1989,
`“Designing a Class Hierarchy for Domain Representation
`and Reusability”.
`Inspec Abstract No. C91003997, from J. Muys—Vasovic,
`1989, “MacApp: An Object-Oriented Application Frame-
`work”.
`Inspec Abstract No. C91004708, from Bertino et al., 1990,
`“Optimization of Queries Using Nested Indices”.
`Inspec Abstract No. C90052277, from I. Tervonen, 1990,
`“Object-Oriented Development as a Multiview Software
`Construction Methodology”.
`Inspee Abstract No. C90052627, from Schrefl 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 Knowl-
`edge Representation”.
`from Q. Chen, 1988,
`Inspee Abstract No. C90034818,
`“Extending the Object-Oriented Paradigm for Supporting
`Complex Objects”.
`Inspee Abstract No. C90030609, from Forde et al., 1990,
`“Object-Oriented Finite Element Analysis”.
`Inspec Abstract No. C90007733, from Weinandet al., 1989,
`“Design and Implementation of ET++, A Seamless
`Object-Oriented Application Framework”.
`
`Inspee Abstract No. C89062837, from Pasquier—Boltuck et
`al., 1988, “Prototyping an Interactive Electronic Book Sys-
`tem Using an Object-Oriented Approach”.
`Inspec Abstract No, C89056727, from Campbell et al., 1989,
`“Principles of Object-Oriented Operating System Design”.
`Inspec Abstract No. C89056859, from Hull et al, 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”.
`
`Inspee Abstract No. C89039001, from Brophy et al., 1989,
`“A Framework for Multiple, Concurrent Graphical Repre-
`sentation”.
`
`Inspee Abstract No. C89033226, from Corradiet al., 1988,
`“PO: An Object Model to Epxress Parallelism”.
`Inspee Abstract No. C89014870,
`from R. King, 1988,
`“Semantic and Object-Oriented Database Support for Soft-
`ware Environments”.
`
`Inspec Abstract No. 89003142, from Tenmaet al., 1986, “A
`System for Generating Language—Oriented Editors”.
`Inspee Abstract No. C88013915, from Woelk et al., 1987
`“Multimedia Information Management in an Object-On-
`ented Database System”.
`Inspee Abstract No. C88007447, from P. Allen, 1987, “A
`Framework for Implementing Multisensor Robotic Tasks”.
`Inspee Abstract No. C87007043, from Whitted et al., 1986,
`“Exploiting Classes in Modeling and Display Software”.
`Inspee Abstract No, C86039588, from K. Fukunaga., 1985;
`“Prompter: A Knowledge Based Support Tool for Code
`Understanding”.
`Inspee Abstract No. C86024804, from Greenspan et al.,
`1986, “A Requirements Modeling Language and Its Logic”.
`Inspee Abstract No. C84005713, from Meyeret al., 1983,
`“Towards a Two-Dimensional Programming Environment”.
`Inspee Abstract No. C81005505, from Mylopoulos et al.,
`1980, “Some Features of the TAXIS Data Model”.
`
`5
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 1 of 25
`
`5,915,252
`
` Zoo Keeper
`Mechanism
`
`Animal
`Mechanism
`
`
`
`
`Containment
`
`Unit Mechanism
`
`
`E
`
`FIG. |
`
`6
`
`
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 2 of 25
`
`5,915,252
`
`Lam
`
`\
`Zoo Administrator
`(from Zoo Administration), 7
`
`a
`
`/
`
`Animal Registry
`{
`\ (from Zoo Keeper Mechanism)
`a
`list_animals()
`
`/
`
`C
`
`Zoo Keepers
`f
`\(f rom Zoo Keeper Mechanism)
`
`sng
`ae \
`\
`
`YW
`ee
`
`f
`
`E
`
`es
`
`~
`
`{
`Animals
`\ (from Animal Mechanism) 7
`
`C
`
`~\ W
`
`EL!
`
`FIG. 2A
`
`7
`
`
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 3 of 25
`
`5,915,252
`
`a_-— c
`cp
`
`g
`
`om
`
`/
`
`c
`@)—_*—_,
`
`\
`
`I
`Zoo Keeper Registry
`\
`\ (from Zoo Administration), /
`list_zoo_keepers()
`/\
`
`\
`
`\
`C se
`
`pe
`
`“ON
`
`/
`( Containment Unit Registry
`\(from Zoo Keeper Mechanism)
`(y+ ~
`list_cont_units()
`¢
`‘
`
`/
`
`>
`
`N ow
`
`A
`
`a C
`
`ne
`
`‘\
`
`On,
`
`> a. er
`
`\]
`
`#
`\
`
`C of
`- P
`
`oN
`
`x”
`
`\
`
`N
`
`\
`|
`
`/
`
`\
`/
`
`.
`.
`Containment Unit
`(from Containment
`Unit Mechanism)
`
`/
`
`\
`
`go
`
`{
`\
`
`\
`
`SN so
`
`o
`
`FIG. 2B
`
`8
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 4 of 25
`
`5,915,252
`
`"= =!
`
`’
`
`a |
`
`‘
`
`a
`
`|
`
`Zoo Administrator
`(from Zoo Administration)
`
`\
`
`7
`
`ve
`
`\
`
`5minute_timer()
`”
`add/delete_animal()
`add/delete_containment_unit() \,
`add/delete_zoo_keeper()
`start_Zoo_admin()
`
`ve
`
`\
`
`Me
`
`FIG. 3
`
`9
`
`
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 5 of 25
`
`5,915,252
`
`
`
`JO][OJJUO)DINeJodiie|
`
`
`()Ss[ewtueyday9
`
`_Ostewtueyay)
`UCTJEUTI9I9AI/
`
`
`
`(WSTUBYIOWJadaay007WOIJ)\
`
`SJadaay007}
`
`
`
`O=()SsTewtueydaYyd
`
`()S[ewtueYau
`
`Japae4
`
`10
`
`10
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 6 of 25
`
`5,915,252
`
`f —*s ~
`
`f
`
`/
`
`‘
`
`Y
`
`\
`
`‘
`
`‘
`
`J
`
`J
`
`.
`\
`:
`
`“¥
`\
`
`—§ 7
`
`/
`
`a “\
`
`WV -
`
`- ed 0 a
`“ Animals
`ef
`(from Animal Mechanism)
`Feedfreq
`Location
`Temp_Range
`Vet_visit_freq
`get_temp_range()
`feed()=0
`needs_food()=0
`needs_vet_visit()=0
`vet visitQ=-0
`A. see “
`
`\
`_
`
`ff
`
`!
`\
`A
`
`Wag
`
`‘
`
`f
`
`ne! - “J
`“
`Mammals
`
`i’
`>
`
`f
`|
`Me
`
`\
`
`‘ W tf
`
`a
`
`*
`
`‘
`\
`if
`\
`\
`;
`
`“os!
`
`-
`
`eee eg ™I
`:
`Reptiles
`_Temp_range
`get_temp_range() /
`
`i
`\
`
`,’
`\
`Ne
`
`N
`
`\
`
`FE mit
`4
`“ee
`
`N
`
`\
`J
`\
`|
`
`ee
`
`\
`
`“
`\
`/
`
`yf
`ese
`Carnivore
`feed()
`needsfood()
`\
`\
`E Lf
`7
`FP is caps OO
`
`—~
`
`“XN
`
`a
`
`—_,
`
`wk
`
`\
`
`tase ai Ml
`Herbivore
`\
`feed()
`if
`needs_food()
`\
`c
`;
`
`j
`
`~
`
`an “
`
`~~
`
`“ou Pa
`
`‘
`
`/
`‘
`;~
`\
`"i
`
`\
`
`11
`
`11
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 7 of 25
`
`5,915,252
`
`‘
`
`a |
`pe ay
`Containment Unit
`(from Containment
`,7 Unit Mechanism)
`adjusttemp()
`
`«
`
`‘
`J
`
`,
`
`\
`
`sy
`
`\ YW
`Sey
`
`\
`
`\
`
`/
`
`E
`pO
`
`pnun7
`
`/
`\
`
`12
`
`
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 8 of 25
`
`5,915,252
`
`3y}pas
`
`
`
`Japaa4[ewruy
`
`CS/
`
`V2Sls
`
`9ABY}BUTA
`
`0073U}ep[az
`
`JOVeIISTUTWpYy
`
`S02
`
`()Sjada9ey00ZYSI[:T
`
`Jadaay007
`
`Ja1$16ay
`
`002
`
` —()sTewrueyoaud:¢
`
`serssocamysr|\
`
`13
`
`13
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 9 of 25
`
`5,915,252
`
`@29ls
`
`£
`
`
`
`UOT]AY}eQUIS
`
`9629UOT]
`
`oywes
`
`ayeus
`
`8ZZ
`
`()a6uesdua}36:OT0S
`
`4983STayFTun
`
`
`
`}UaUWUTe207)
`
`(a)\a6ues
`
`dua}WeAST]S}fun:‘\
`
`
`
`}IuNUOIYSTI:9
`
`cmaisntpenid.Jayaay)dua]woy}PUT
`
`14
`
`-afuesdual6\O
`
`
`
`
`
`()a6ues”dua}126:g
`
`14
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 10 of 25
`
`5,915,252
`
`
`
`()dwe}3SN{[pe:ZT
`
`ISTSTewlue:¢
`
`
`
`Jays{TboyTewluy
`
`15
`
`15
`
`
`
`
`
`
`5,915,252
`
`822
`
`APPLICATION PROGRAMS
`
`870-1
`
`824
`
`826
`
`U.S. Patent
`
`Jun, 22, 1999
`
`Sheet 11 of 25
`
`828
`
`DATA TRANSFER
`FRAMEWORK
`OBJECTS
`a.
`
`16
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 12 of 25
`
`5,915,252
`
`Read Directory
`of Data Source
`
`
`
`Select Data
`to Transfer
`
`Read Data from
`Data Source
`
`Validate Data
`
`
`
`Map Data to
`Data Target
`
`Verify Transfe
`Condition
`
`Data Target
`
`900
`
`910
`
`930
`
`940
`
`950
`
`960
`
`980
`
`
` 920
`
`
`
`
`
`
`970 Write Data to
`
`17
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 13 of 25
`
`5,915,252
`
`O O
`
`ld
`
`Budde
`
`1a6se]
`
`UOT[puo)
`
`Jajsuet|
`
`3DINOS
`
`Jaqt4
`
`18
`
`Jajsues]
`
`e1eg
`
`18
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 14 of 25
`
`5,915,252
`
`
`3IKeC8)~5~Fevrausro1sg|\5J()peayasojaq||_ae
`()_()T1vas0saq|}So~ee5()OdTIMsayJe||>~.|()peaysare||r~oe
` VII‘Old_~==-c~-\o>\-“-—7nai4})MOpEeYS\/uoljnqisista)|abeyIed5ottf(ionpoigY/\Lot?~~_SJKyJNpOld=77—~-~+/
`()TTvseqe||/~J7(undg)f()Jojsuesjeegffiednyoeg/\N%Jajsues}
`e1eg4No
`ae~\
`
`
`
`
`
`—,ywSaNeaftSains
`
`\|pingYY(JOTIG
`(7\
`~ASicf
`
`——,
`
`19
`
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 15 of 25
`
`5,915,252
`
`(v)-— source
`
`C1)target
`
`—
`fT “
`
`Place
`
`\
`\W a,
`
`Place
`
`ey
`
`*
`
`/
`
`f
`
` E
`
`\ W Fn
`Ss
`foe GS
`Source Filter
`
`(
`
` )
`
`Transfer
`
`Condition
`
`Target
`
`FIG. 11B
`
`~s
`
`E |
`
`20
`
`20
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 16 of 25
`
`5,915,252
`
`VelSls
`
`—
`Pl
`
`a
`
`\
`
`\
`
`\/
`
`JITAA
`
`~
`
`/
`
`~,
`
`36e401S
`
`f
`
`\
`
`daIZ
`
`(yan1M\(peas
`=.we,\we
`\/—datyauy
`“~~”
`
`—
`
`a)}-—#()£10399.Tp\J7()90u9/\Q9Ield/PigiRare
`
`ait4
`
`WAISAS
`
`JausaqU]
`
`91S
`
`21
`
`21
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 17 of 25
`
`5,915,252
`
`)u''o\awEN/Sp!
`\%eo
`/ /
`3)IAJOLIIITIG
`
`22
`
`22
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 18 of 25
`
`5,915,252
`
` elSls
`
`~~
`
`Ze|()PITeA)favaaewene|OS
`Jd}[1499un0Ss/eesa.SY”—_———
`
` ao4n0s(pasegatqeL7~/ny—Se
`f-=\|yaaTT4
`cle
`fat\|
`
`Ja1[I4ao4un0s
`
`A\
`
`~
`
`~
`
`)
`
`/\
`
`—
`
`atgeqynoaxz
`
`—
`
`er.
`
`mm
`
`)
`
`23
`
`oe.
`
`oT’
`
`23
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 19 of 25
`
`5,915,252
`
`
`
`UOT}[puo?)
`
`()PetJSTIes
`
`Jajsues|SNa—*
`
`/
`
`f
`
`~
`
`)7,
`
` 4
`
`
` jenbj10N\J]daysues)
`NT
`IW\JTJaysues,/Sueet
`-~NR=\\~jBUISS
`
`XX
`
`)
`
`“
`
`J
`
`f
`
`24
`
`24
`
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 20 of 25
`
`5,915,252
`
` ~
`
`—Macs—i
`
`196Ie]
`
`/
`
`7
`
`
`
`Bulddey
`
`
`
`Bulddew196se)
`
`
`
`peseg9[ge]
`
`=,
`
`—
`
`a“——
`
`—
`
`ff
`
`—
`
`~“
`)
`
`25
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 21 of 25
`
`5,915,252
`
`main()
`
`data transfer: source place
`Data Transfer
`:Place
`
`| |
`
`: | |
`
`1:
`
`run()
`
`1
`
`2: beforeAll(
`
`|(
`
`5: directory()
`
`4: (transfer each source)
`
`| ] |
`
`| | |
`
`|
`
`5: afterAll()
`
`26
`
`
`
` pears:Z|398Id>UOT}Tpuod:Bulddewl Ja[I4adun0g=adeTg:Jajsues}&22¢
`
`
`
`
`
`—_——— 2/— —— ~~
`©—
`
`
`
`
`
`—
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 22 of 25
`
`5,915,252
`
`ZiSls
`
`——
`
`|||||||
`
`|I|||||
`
`
`
`
`
`
`
`
`
`
`
`
`
`-d9e@[d19612}JOJSUBIZ19648}*JOL[1fBDUNOSV9De[TdIaIINOS:4ajSsues}eLep
`
`|]l||l]
`
`(ELeq‘oweN)311
` I|i|(EVEOWEN)S2TIMJO}Je:TT!|
`
`|
`
`
`
`||(e]eq‘oweN)
` PITeA:h|\(eqeq‘aweN) (PLEQ‘oweN)peaysarje:¢b|'(QWEN)
`
`peayatojaq:TJ
`
`
`
`(eeq‘aueN‘eleq‘aweN)deU:¢1
`
`27
`
`
`
`
`
`(21eq‘aweN)O21JMaI0Jag:¢
`
`27
`
`
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 23 of 25
`
`5,915,252
`
`/
`
`ff
`
`i
`
`/
`
`{
`
`Data Transfer
`erent
`(from Data Transfer)
`DataTransfer()
`run()
`|| afterAll(©
`|| afterRead()
`= || afterWrite()
`| beforeAll()
`
`\
`
`\
`
`%
`
`=,
`
`\
`/
`
`é—®)
`
`(B)
`
`“oO_
`
`1
`
`|| beforeRead()
`
`\| beforeWrite()
`-_
`
`pe —
`
`i
`
`y — — ™~ nN _
`\
`Beta Product
`/
`/
`Internet Upload
`(
`X | afterall—[
`“|| beforeAllO
`
`
`
`
`
`f~_
`
`a
`
`Se ee
`
`FIG. I8A
`
`28
`
`28
`
`
`
`U.S. Patent
`
`Jun. 22, 1999
`
`Sheet 24 of 25
`
`5,915,252
`
`(
`
`\
`
`|/
`
`(
`
`—
`
`a,
`
`|/
`
`(
`
`()49949
`
`/
`
`F
`
`i
`
`()49949
`
`——
`
`—_—
`
`Ne
`
`/
`
`/
`
`~—
`
`a
`
`f—(
`()AJ01995Ip
`(998[dWOs})
`
`~
`
`—
`
`90e[d/\GOTSi,i—
`
`/
`
`()49949
`
` oo~~\——"()aatim\()peo
`
`ap\——~aitum=\(peas
`——
`9}1§OUIUI
`()£10995Ip
`()A099TP
`
`WaISASa[I4
`~”aee
`asealayelag
`y(J97[14994uNn0Swos)’
`\—7
`(2981dWOJJ)
`Na~~7—
`()£019941p\()49949
`/pn
`
`___AartimAY\
`GSans(¥)
`
`()peo
`
`\
`
`—_——\
`
`f
`
`——(artimA\
`
`(peas
`
`(
`
`Ms
`—
`
`308Id
`
`29
`
`(-
`
`—,
`
`Ny
`FOag
`
`/
`
`()PITeA
`
`aTqel
`
`™~
`
`\7
`
`-~—27
`-“—~\
`
`—_—_—
`
`\
`
`\
`
`Ja1[14a04uno0s
`
`—ne
`
`ee
`
`—_———\
`
`()PITeAoe
`
`gsiSls
`
`29
`
`
`
`
`U.S. Patent
`
`Jun.22, 1999
`
`Sheet 25 of 25
`
`5,915,252
`
`DN eeaON
`—
`—~— ee
`y
`Transfer
`\
`arpa EO
`Condition
`/
`/ Transfe