EP1031908A2

Method and apparatus for creating, supporting, and using travelling programs

Abstract

A method and apparatus for creating, supporting and using a travelling program is disclosed. A "travelling program" is a digital data structure which includes a sequence of instructions and associated data and 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 travelling program can compute, according to any algorithm whatsoever, the digital material which is to be signed, and also, as needed, the digital material which is to be verified. The present invention also allows the program to conditionally decide, based on any known criteria, which users should participate in the signature process. The present invention also uses digital signatures to allow the travelling program to provide other types of valuable authentication. For example, as a security convenience the present invention allows for the digital signature authentication of the entire transmission from one user to another. This includes the travelling program itself, its variables, and any ancillary data or files. The present invention provides a unique mechanism for automating data collection among a group of users. The travelling program may be sent to one user, attach (or detach) relevant data files and move on to the next user. Data or files, collected from one or more users can be deposited with another user, or accumulated for batched processing as desired. This methodology eliminates the need for individual users to be counted on to transmit all the required data in the required format. The present invention also efficiently performs electronic document interchange (EDI) in the context of a travelling program which sends itself from user to the next within an organization, collecting, editing and approving data.

EP1031908A2, drawing sheet 1
Sheet 1 of 30

Term

Term ended

Projected expiry passed 1 April 2013, 13.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

35 claims: 9 independent, 26 dependent

  1. 1
    In a communications system having a plurality of computers (Terminal a, b, ... , N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of instructions (Fig. 2, block 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;acquiring data from users of at least one of said computers via execution of said instructions;translating said data via the executing of said instructions into a specialized data structure conforming at least in part to a recognized standard whereby said data structure is useful independently of said instructions;anddigitally signing said data structure via the execution of said instructions.
  2. 9
    In a communications system having a plurality of computers (Terminals A, B, ..., N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a computer with a first travelling program comprising a sequence of instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;providing at least one of said computers with a second travelling program (Fig. 37:694);executing the second travelling program under direction of the first travelling program.
  3. 18
    In a communications system having a plurality of computers (Terminal A, B, ..., N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a computer with a first travelling program instance comprising a sequence of instructions (Fig. 2, block 22) which are executed by the computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;providing at least one of said computers with a second travelling program instance (Fig. 37:694);processing the second travelling program under direction of instructions in the first travelling program instance.
  4. 24
    In a communications system having a plurality of computers (Terminals A, B, ... N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of instructions (Fig. 2, block 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;andselecting a file in response to execution of said sequence of instructions;transmitting at least part of the content of said selected data file to said next destination in response to execution of said sequence of instructions;(Fig. 35, 36, 37, 640-642, 680-708, 710-732).
  5. 27
    In a communications system having a plurality of computers (Terminals A, B, ...N) coupled to a channel (12) over which computers may exchange messages, a method for forwarding information in said communications system comprising the steps of:providing a first computer with a set of instructions (Fig. 2, block 22) which are executed by the first computer including instructions which generate a plurality of instances of said set of instructions and which initiate transmission to at least a first and a second destination which respectively receive one of said instances together with accompanying data;andincluding within said instances transmitted to said first and second destinations the capability of subsequently merging data that has been accumulated during their distinct transmission paths (Fig. 37).
  6. 29
    In a communications system having a plurality of computers (Terminals A, B, ... N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of program instructions (Fig. 2, block 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;andqualifying the set of operations which said sequence of instructions is allowed to perform.
  7. 32
    In a communications system having a plurality of computers (Terminals A, B, ... N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of program instructions (Fig. 2, block 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;andperforming a digital signature by using a private key stored in a user token device.
  8. 34
    In a communications system having a plurality of computers (Terminals A, B, ... N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of program instructions (Fig. 2, block 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;andperforming a date/time notarization.
  9. 35
    In a communications system having a plurality of computers (Terminal a, b, ... N) coupled to a channel (12) over which computers may exchange messages, a method for processing information among said computers comprising the steps of:providing a first computer with a sequence of program instructions (Fig. 1, 22) which are executed by the first computer, including instructions which determine at least one next destination that should receive the set of instructions, said set of instructions including instructions for transmitting said instructions together with accompanying data to said next destination;andperforming a time delay function (Fig. 9: 570).