Method and apparatus for validating travelling object-oriented programs with digital signatures
First Claim
1. In a communications system having a plurality of digital computers coupled to a channel over which computers exchange digital messages, a method for processing information among said computers comprising the steps of:
- executing on a first computer a travelling program comprising a sequence of digital program instructions including instructions which determine at least one next destination that receives the sequence of instructions, said sequence of instructions defining a plurality of related object instances which are bound together; and
transmitting to said next destination digital information comprising at least said plurality of object instances together with accompanying digital data associated with said sequence of instructions.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of operating computers in accordance with an enhanced object-oriented programming methodology creates a framework for efficiently performing automated business transactions. The object-oriented programming methodology is used in conjunction with a travelling program, i.e., a digital data structure which includes a sequence of instructions and associated data which has the capability of determining at least one next destination or recipient for receiving the travelling program and for transmitting itself, together with all relevant data determined by the program to the next recipient or destination. The data is closely bound to the program in such a way that objects may be most efficiently transferred from one computer user to another without the objects being previously known to the recipient computer user. Object "cells" or "electronic forms" which are data structures stored, for example, on a disk that reflects a collection of (related) objects instances whose execution has been suspended, and which can be resumed later on the same or a different platform are constructed and used. Improved tools are provided for creating and using cells so that electronic forms can be defined using object-oriented techniques while allowing such forms to be easily transferred among a diverse population of computer users. A digital signature methodology is employed to insure security and integrity, so that electronic forms (i.e., cells) composed of a collection of objects can be received and executed by a user without putting the user at risk that some of the object classes embedded in the cell might be subversive programs.
-
Citations
95 Claims
-
1. In a communications system having a plurality of digital computers coupled to a channel over which computers exchange digital messages, a method for processing information among said computers comprising the steps of:
-
executing on a first computer a travelling program comprising a sequence of digital program instructions including instructions which determine at least one next destination that receives the sequence of instructions, said sequence of instructions defining a plurality of related object instances which are bound together; and transmitting to said next destination digital information comprising at least said plurality of object instances together with accompanying digital data associated with said sequence of instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computer system having at least one computer having a main memory, a method of operating said computer system comprising the steps of:
-
loading a digital data structure in memory relating to a predetermined data type which includes digital data identifying a function which can be applied to said predetermined data type and identifying at least one program which controls how to manipulate digital data of said predetermined data type; and transmitting at least a portion said digital data structure to a next destination for processing. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. In a communications system having at least one computer and a memory, a method of operating said computer comprising the steps of:
-
loading a digital cell in said memory comprising a digital data structure that identifies a class definition and a collection of related object instances which are bound together by said class definition, and transmitting by said at least one computer at least a portion of said digital cell and class definition identifying data structure to a next destination. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. In a communications system having at least one computer and a memory, a method of operating said computer comprising the steps of:
-
loading a digital cell in said memory comprising a digital data structure that identifies at least one class definition and a collection of related programs which are bound by said class definition, said digital data structure including instructions for transmitting at least a portion of itself to a next destination; and transmitting at least a portion of said digital cell including class definition identifying data structure to a next destination. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67)
-
-
68. In a communications system wherein a plurality of users of one or more digital computers exchange digital messages on behalf of said users, a method for processing information among said computers comprising the steps of:
-
associating with a traveling program cell a plurality of object instances, at least one of said object instances having data contained in the cell, said traveling program cell comprising a sequence of digital program instructions including instructions which determine at least one next destination that receives the sequence of instructions; associating with each object instance a plurality of program instructions; computing a cryptographically secure hash value which depends, at least in part, on at least one of said program instructions; executing on a first computer a sequence of the instructions associated with at least one object instance in said traveling program cell, wherein at least one of the executed instructions modifies digital data associated with an object instance; and wherein at least one of the instructions determines at least one next destination second computer user to receive the modified traveling program cell after it is transmitted from the first computer user; and transmitting the modified traveling program cell to said next destination second computer user including said digital information comprising at least said plurality of object instances, together with accompanying digital data with indicia of said program instructions associated with each object instance, and wherein at least one data item in at least one of the object instances has been modified by execution in the first computer of the associated program instructions. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. In a communications system, wherein a plurality of users of one or more digital computers exchange digital messages on behalf of said users, a method for processing information among said computers comprising the steps of:
-
associating with a traveling program cell, a plurality of object instances, at least one of said object instances having data contained in the cell, said traveling program cell comprising a sequence of digital program instructions including instructions which determine at least one next destination that receives the sequence of instructions; associating with each object instance a plurality of program instructions; computing at least one digital signature; executing on a first computer a sequence of the program instructions associated with at least one object instance in said traveling program cell, wherein at least one of the executed instructions modifies digital data associated with an object instance; and wherein at least one of the executed instructions determines at least one next destination second computer user to receive the modified traveling program cell after it is transmitted from the first computer user; and transmitting the modified traveling program cell to said next destination second computer user including said digital information comprising at least said plurality of object instances, together with accompanying digital data with indicia of said program instructions associated with each object instance, and wherein at least one data item in at least one of the object instances has been modified by execution in the first computer of the associated program instructions. - View Dependent Claims (80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90)
-
-
91. In a communications system, wherein a plurality of users of one or more digital computers exchange digital messages on behalf of said users, a method for processing information among said computers comprising the steps of:
-
associating with a traveling program cell, a plurality of object instances, at least one of said object instances having data contained in the cell, said traveling program cell comprising a sequence of digital program instructions including instructions which determine at least one next destination that receives the sequence of instructions; associating with each object instance a plurality of program instructions; executing on a first computer a sequence of the instructions associated with at least one object instance in said traveling program cell wherein at least one of the instructions determines at least one next destination second computer user to receive the modified traveling program cell after it is transmitted from the first computer user; transmitting the modified traveling program cell to said next destination second computer user including said digital information comprising at least said plurality of object instances, together with accompanying digital data with indicia of said program instructions associated with each object instance, and wherein at least one data item in at least one of the object instances has been modified by execution in the first computer of the associated program instructions; and executing on a least one computer at least one of the instructions associated with at least one object instance in said traveling program cell which causes a digital signature to be performed which depends, at least in part, on the value of data that is associated with an object instance. - View Dependent Claims (92, 93, 94, 95)
-
Specification