ebook img

Method and apparatus for validating travelling object-oriented PDF

46 Pages·2013·3.2 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Method and apparatus for validating travelling object-oriented

US005748960A United States Patent 1191 [11] Patent Number: 5,748,960 [45] Date of Patent: May 5, 1998 Fischer [54] METHOD AND APPARATUS FOR Messmer. Ellen. “N'IS ” proposes standard for electronic VALIDATING TRAVELLING OBJECT signatures. Network World. p. 4. ORIENTED PROGRAMS WITH DIGITAL Computer Communications. vol. 14. No.6. Jul. 1991. Guild SIGNATURES ford GB pp. 358-365. C Horn 8: V. Cahill. “Supporting Distributed Applications In The Amadeus Environment". p. [76] Inventor: Addison M. Fischer. 4073 Merchantilc 360. Left Column. Lines l-25. Ave.. Naples. Fla. 33942 IBM Technical Disclosure Bulletin. vol. 34. No. 6. Nov. 1991. pp. 423-425. “Accessing Remote Data Services [21] Appl. No.: 769,118 Through An Object-Oriented Language”. [22] Filed: Dec. 18, 1996 Primary Examiner-Thomas M. Heckler Related US. Application Data Attorney, Agent, or Firm-Nixon & Vanderhye RC. [63] Continuation of Ser. No. 103,778, Aug. 10, 1993, aban [57] ABSTRACT doned. A method of operating computers in accordance with an [5 1] Int. Cl.6 .................................................... .. G06F 13/00 enhanced object-oriented programming methodology cre [52] US. Cl. 395/683 ates a framework for e?iciently performing automated busi [5 8] Field of Search .................................... .. 395/683. 684 ness transactions. The object-oriented programming meth odology is used in conjunction with a travelling program. [56] References Cited i.e.. a digital data structure which includes a sequence of instructions and associated data which has the capability of U.S. PATENT DOCUMENTS determining at least one next destination or recipient for receiving the travelling program and for transmitting itself. 4,868,877 9/1989 Fischer . 5,001 ,752 3/1991 Fischer . together with all relevant data determined by the program to 5,005,200 4/1991 Fischer .................................... .. 380/30 the next recipient or destination. The data is closely bound 5,095,522 3/1992 Fujita et al. . to the program in such a way that objects may be most 5,218,706 6/1993 Komori et a1. . e?iciently transferred from one computer user to another 5,265,206 11/1993 Shackelford et a1. . without the objects being previously lmown to the recipient 5,280,610 [[1994 Trabis, Jr. et a1. 364/DIG. l computer user. Object “cells" or “electronic forms” which 5,283,898 2/1994 Knsumoto et a1. . are data structures stored. for example. on a disk that re?ects 5,305,461 4/1994 Feigenbaum et al. . a collection of (related) objects instances whose execution 5,311 ,591 5/1994 Fischer ...................................... .. 380/4 5,325,478 6/1994 Shelton et a1. . has been suspended. and which can be resumed later on the same or a di?erent platform are constructed and used. (List continued on next page.) Improved tools are provided for creating and using cells so that electronic forms can be de?ned using object-oriented FOREIGN PATENT DOCUMENTS techniques while allowing such forms to be easily trans ferred among a diverse population of computer users. A A-O 457 684 11/1991 European Pat. on. . ' digital signattn'e methodology is employed to insure security A-O 520 749 12/1991 European Pat. 01f. . A-O 565 314 10/1993 European Pat. on. . and integrity. so that electronic forms (i.e.. cells) composed of a collection of objects can be received and executed by a OTHER PUBLICATIONS user without putting the user at risk that some of the object classes embedded in the cell might be subversive programs. Beck. Leland L.. “System Software -— an introduction to programming”, Addison-Wesley Publishing Company. Mar. 95 Claims, 23 Drawing Sheets 1990. p. 292. Cusp-11cm: 033:: mm, Mass! Moss: nu Discid M ESAIUI t Irv-munch 5,748,960 Page 2 US. PATENT DOCUIVIENTS 5,367,573 11/1994 Quimby . 5,390,247 2/1995 Fischer .................................... .. 380/25 5,327,559 7/1994 Priven et a1. . 5,404,525 4/1995 Endicott et a1, .. 395/700 5,337,360 8/1994 Fischer .................................... .. 380/23 5,412,717 5/1995 Fischer . . . . . . . . . . . . . . . . . . . .. 380/4 5,341,478 8/1994 Travis, Jr, et a1. .............. .. 364/DIG. 1 5,440,744 8/1995 Jacobson el al. ..................... .. 395/650 US. Patent May s, 1998 Sheet 1 0f 23 5,748,960 COMMUNICATIONS CHANNEL 12 1 {6 {B E ‘.9 MODEM MODEM MODEM ‘i 4 2 ‘ ‘ TERMINAL TERMINAL KEYBOARD, PROCESSOR B N CRT __ w/ MAIN MEMORY [ 7R NON VOLATILE STORAGE # ‘1 TERMINALA / fig. 1 US. Patent May s, 1998 Sheet 2 of 23 5,748,960 cellBlock 1" l2“ nextCell: "—> Next cellBlock l4’ globalPool: Pool head for global variables l6“ cellldent: cell identi?cation l8, cellFace instance (pointer to instance for handling outside 2 requests) '9, pointers to file and certificate tags 20' classTable Pointer to classes for this cell cellSignature: ._> digital signature structure for cell 22' as it existed when cell received classBlock ~23 fig. 3 25~ classLink link for other classBlocks in Cell 24 _ parentClass ——> classBlock from which this is extended 26~ numLevels: = number of classes in total lineage 2B__ className Name of this class classpgm to program block of associated program method Table: —-> table of valid methods for lookup: Each method entry has the format: Linkage for other entries in table —> classBlock associated with definition of method Offset of start of pCode for method in associated classProgram Length of method name Name of method (normalized to lower case) 34 1 olassAuth: ~>authenticated authorization structure lowest and highest levels of program making processable instances 5,748,960 US. Patent May s, 1998 Sheet 3 of 23 fig. 4 programBlock" 37 38“ nextProgram: -> next Pmmamslock 39* programlnfo —-> program ldentification element 50 _ storage where program structure begins k pgmlmage > and pointer to source code 42‘- pgmSize: = size of pCode program 44* type of program (O'REXX, O'BASIC, etc) 46 L» hash of source 48 \. hash of compiled pCode 49 Q classCount: number of classes referencing programBlock 5| ‘“ pgmAuthTable -—--———-—-> authenticated authorization structures t fig. 52 programStructure / 53 Si. te of enti. re program Structure progldent: Program identification 54c“ . . . . 56 “a List of methods and class names and pCode offsets 53 - Variable Tables 60k Literal (constant) Tables pCode instructions US. Patent May s, 1998 Sheet 4 of 23 5,748,960 fig. 6 #62 execBlock nextlnstr: —-> next pCode instruction 66“ classPtr: -— > classBlock 68 E instanceExec: -—> instance being executed 70 H localPool: -> pool for local variables 72 \~ prevExecBlock: ?) Previ. ous execBlock fig. 7 73* instanceValue 74\ classRef: —> classBlock for instance's class 161 CellRef: —) cellBlock for this instance 78 - pendDelete =1 if "DELETE" has been directed to instance 79 - sequence #2 identifies last store operation 80. eXecCount: Number of active execBlocks for this instance 8' ‘~ scan indicators: identifies particular save operation 82“ useCount: Number of pointers to this block ' (includes variables, FACE lNSTANCE, etc.) 84* levelCount'. (Equal to numLevels in associated classBlock) 86*- sharedPool: Pool head for SHARED variables privatePools: 88c Pool head for pri. vate vari. ables of eldest parental class Pool head for private variables of next eldest class D O 0 Pool head for private variables of youngest class‘ I US. Patent May s, 1998 Sheet 5 of 23 5,748,960 fig. 8A variableBlock r90 92 linkVar: linkage to another variableBlock in same pool 93 H valuePtr: —-> valueBlock giving variable's value 94 " qualVars: lf STEM, this is pool head for qualified variables 95% length of variable name 96 ‘- variableName 9% valueType Type of value: string, instance. 99“ For string Value: valueLength: Length of string valueString: value of string I00 For iI nstance value: valuelnstance: _-> instanceBlock L_______________----J MasterBlock ~|o| fig_ 9 Contains overall information '02 mainCell -> cellBlock for primary cell I03 " messageRef: —-> messageReference Table lO4 k,- pgmTable: ——> Table of all loaded programs r05 v execStack , —) latest execBlock in execution slack ‘06v .__--> List of attached files ‘07v ———> certificate cache list US. Patent May s, 1998 Sheet 6 of 23 5,748,960 fig. 10 Cell identification following material optionally ENCRYPTED and compressed ‘ Included CLASS programs Class Program 1 Class Program 2 Class Program P’ H6 \- Following material optionally AUTHENTICATED: ll? ‘ Program reference vector Program reference 1 Program reference 2 Program reference N Ila _' Cell (and sub-cell) Vector Cell 1 (Main CELL) Cell 2 (first subCelll Cell K (last subCell) \- Data file Vector Data file Specification 1 Data file 2 Data file (last) J I2. |2r3\ A'uth_ent_icat_ing_ si_gna_tur_es ___—_—_-———j‘ /,.Certificate Specification Set US. Patent May s, 1998 Sheet 7 of 23 5,748,960 lztProgram I26 0 Program Date I23 I‘ Program Identifier I3O¢~Program Executablels) (source, pCode, or both) )3?‘ Program Mode (0 = source, 1 = pCode) |35v._ Executable Image: For source, this is a sequence of program instructions For pCode, this is a structure defining: - pCode instructions, - method names and starting pCode offset - name of the PARENT (BASE) class (if extended) - variable names and uses - literal ("constant") values - etc Possible second executable 4L I36 ‘’ ‘Program Authorization/Signature (if any) of Program Identifierl I28 \l‘Program Identifier [38¢ Program Type (REXX, BASIC, etc) I40_,'Program X.209 Assigned Object Identifier |42v~ Program Name (for display) I44.’- Program Revision Level l46\-Compatibility with data produced by other revisions: Lowest program revision producing compatible data Highest program revision producing compatible data I'l8 -/‘ Hash of SOURCE program Hash of pCode program (if available) I50 I fig. 111? US. Patent May s, 1998 Sheet 8 of 23 5,748,960 fig. II C Program Identifier I52 ~.lnteger (in Program Vectl of PARENT CLASS program (if any) Il8 fig. IID '56» Cell Identifier '58 "'" Instance Vector (one of each instance defined in this cell): /’ Index of Program Reference within Program Reference-Vector -/"Index of class within program (always = O for 1st release) '64 ~/' SHARED VariablePooI I66lr/"Vecmr of PRIVATE Variable Pools: |67~ " PRIVATE VariabIePool for Eldest Class in lineage I / PRIVATE VariablePool for Class extended from eldest I |7Q -v PRIVATE VariablePool for youngest class in lineage |72\./ Global VariablePool I74 ‘v’DataFile Tag References |76\.’ certificateTag [78,VariabIePooI: ,1‘ Variable 1 fig. Ill: / ‘ Variable 2 0 O 0 last Variable in pool

Description:
Dec 18, 1996 OTHER PUBLICATIONS. Beck. Leland L.. “System Software -— an introduction to programming”, Addison-Wesley Publishing Company. Mar.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.