IL147705A

Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration

Abstract

This record has no abstract on file.

IL147705A, drawing sheet 1
Sheet 1 of 17

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

26 claims: 26 independent, 0 dependent

  1. 1
    Ά computer system of a plurality of computer systems in a distributed, coordinated system for maintaining plural copies of data pursuant to a distributed data model, wherein the copies can be changed responsive to users' actions, wherein A) the computer system is capable of locally generating a plurality of data change requests for changing a local copy of the data and of executing data change requests including the locally-generated data change requests and remotely-generated data change requests generated by other computer systems so as to make the requested changes to the local copy of the data;and B) the computer system includes a dynamics manager for determining, responsive to information contained in the data change requests, an order in which the requested changes are made to the local copy characterized in that the dynamics manager of the computer system is responsive to data dependency information recorded in the data change requests in determining the order in which the requested changes are made to the local copy of the data;the data dependency information comprising the sequence number of at least one prior data change request on which the data change request depends indicating a sequential position of the prior data change request among a plurality of data change requests generated by the computer system that generated the prior data change request and the endpoint identifier of the computer system originating the at least one prior data change request on which the data change request depends.
  2. 2
    Computer system in accordance with claim 1, further including a framework apparatus comprising a communications manager operable on a local network capable device for sending locally-generated data change requests over a network to at least one remote network-capable device and for receiving remotely generated data change requests from the at least one remote network-capable device.
  3. 3
    Computer system in accordance with one of the preceding claims, wherein the dynamics manager causes data changes to be rolled back and remade responsive to the dependency information.
  4. 4
    Computer system in accordance with one of the preceding claims, wherein the dynamics manager of the computer system is capable of generating a delta containing one or more data change requests, the delta including a payload portion comprising a command code for specifying at least one command for implementing the data change request;and a header.
  5. 5
    Computer system in accordance with claim 4, wherein the header comprises dependency collision resolution code comprising a recorded indication of telespace membership sponsorship that assigns a priority to endpoints according to the order of membership sponsorship and then chronology based on membership date for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, telespace membership sponsorship.
  6. 6
    Computer system in accordance with claim 4 or 5, wherein the header comprises dependency collision resolution code comprising a recorded indication of at least one of characteristics of an endpoint that originated the data change request, a type of data change and a type of activity for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, one of the recorded indication of endpoint characteristics, the data change type and the activity type, respectively.
  7. 7
    Computer system in accordance with one of claims 4 to 6, wherein the header of the data change request comprises a portion substantially in the form Seq. No.AA@EP. No. BB:Seq. No.CC@EP. No. DD. where the initial Seq. No.@EP. No. specifies the sequence number of the present data change request at a request generating device, the colon has the meaning of depends on and the second Seq. No.@EP. No. after the colon specifies a dependent sequence number of a data change request on which the present data change request depends.
  8. 8
    Computer system in accordance with one of claims 4 to 7, wherein the header comprises dependency collision resolution code comprising an identification code for identifying data to which the data change request pertains, and a consistency data code for identifying an endpoint and a data change request sequence number for the first data change request, and for identifying an endpoint and a data change request sequence number for a second data change request on which the first data change request depends.
  9. 9
    Computer system in accordance with claim 8, wherein the consistency data code identifies the endpoint and the data change request sequence number for the first data change request, and identifies an endpoint and a data change request sequence number for only one data change request on which the first data change request depends, said one data change request being the second data change request.
  10. 10
    A method for providing communication services for an activity-based collaboration system, in which data change requests comprising deltas are communicated over a network between network-capable devices, the method comprising the steps of:A) sending locally-generated deltas from a local network-capable device over anetwork to at least one remote network-capable devices and for receiving remotely- generated deltas from the at least one remote network-capable device;B) determining an order for processing the deltas based on data dependency information contained within the deltas;and C) processing the deltas in the determined order thereby making changes to data as requested by the deltas characterized in that the order for processing the deltas is determined in response to data dependency information;the data dependency information comprising the sequence number of at least one prior data change request on which the data change request depends indicating a sequential position of the prior data 1369008-65-01 41 1’ a change request among a plurality of data change requests generated by the computer system that generated the prior data change request and the endpoint identifier of the computer system originating the at least one prior data change request on which the data change request depends.
  11. 11
    The method in accordance with claim 10, further comprising the step of rolling back changes made to the data in response to dependency information contained within the deltas.
  12. 12
    The method in accordance with one of claims 10 to 11, wherein the deltas contain one or more data change requests and include a payload portion comprising a command code for specifying at least one command for implementing the data change request;and a header.
  13. 13
    The method in accordance with claim 12, wherein the header comprises dependency collision resolution code comprising a recorded indication of telespace membership sponsorship that assigns a priority to endpoints according to the order of membership sponsorship and then chronology based on membership date for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, telespace membership sponsorship.
  14. 14
    The method in accordance with claim 12 or 13, wherein the header comprises a dependency collision resolution code comprising a recorded indication of at least one of characteristics of an endpoint that originated the data change request, a type of data change and a type of activity for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, one of the recorded indication of endpoint characteristics, the data change type and the activity type, respectively.
  15. 15
    The method in accordance with one of claims 12 to 14, wherein the header of the delta comprises a portion substantially in the form:Seq. No.AA@EP. No. BB: Seq. No.CC@EP. No. DD. י1 * where the initial Seq. No.@EP. No. specifies the sequence number of the present delta at a request generating device, the colon has the meaning of depends on and the second Seq. No.@EP. No. after the colon specifies a dependent sequence number of a delta on which the present delta depends.
  16. 16
    The method in accordance with one of claims 12 to 15, wherein the header comprises a dependency collision resolution code comprising an identification code for identifying data to which the data change request pertains, and a consistency data code for identifying an endpoint and a data change request sequence number for the first data change request, and for identifying an endpoint and a data change request sequence number for a second data change request on which the first data change request depends.
  17. 17
    The method in accordance with claim 16, wherein the consistency data code identifies the endpoint and the data change request sequence number for the first data change request, and identifies an endpoint and a data change request sequence number for only one data change request on which the first data change request depends, said one data change request being the second data change request.
  18. 18
    A computer readable medium comprising instructions which when run on a computer cause the computer to carry out the method of one of claims 10 to 17.
  19. 19
    A computer data signal embodied in a carrier wave, comprising:A) a payload code comprising a data change request code for requesting an identified data change comprising a first data change request, and a command code for specifying at least one command for implementing the first data change request;and B) a header code comprising: (i) dependency information;and (ii) dependency collision resolution code for identifying a deterministic execution order of the date change request relative to other data change requests when execution order cannot be ascertained from the dependency information, characterized in that the data dependency information comprises the sequence number of at least one prior data change request on which the data change request depends indicating a sequential position of the prior data change request among a plurality of data change requests generated by the computer system that generated the prior data change request and the endpoint identifier of the computer system originating the at least one prior data change request on which the data change request depends.
  20. 20
    The computer data signal in accordance with claim 19, wherein the header comprises dependency collision resolution code comprising a recorded indication of telespace membership sponsorship that assigns a priority to endpoints according to the order of membership sponsorship and then chronology based on membership date for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, telespace membership sponsorship.
  21. 21
    The computer data signal in accordance with claim one of claims 19 or 20, wherein the header comprises dependency collision resolution code comprising a recorded indication of at least one of characteristics of an endpoint that originated the data change request, a type of data change and a type of activity for use in resolving dependency collisions between the data change request and a second data change request on the basis of, at least in part, one of the recorded indication of endpoint characteristics, the data change type and the activity type, respectively.
  22. 22
    The computer data signal in accordance with one of claims 19 to 21, wherein the header comprises a portion substantially in the form:Seq. No.AA@EP. No. BB: Seq. No.CC@EP. No. DD. where the initial Seq. No.@EP. No. specifies the sequence number of the present data change request at a request generating device, the colon has the meaning of depends on and the second Seq. No.@EP. No. after the colon specifies a dependent sequence number of a data change request on which the present data change request depends.
  23. 23
    The computer data signal in accordance with one of claims 19 to 22, wherein the header comprises an identification code for identifying data to which the data change request pertains, and a consistency data code for identifying an endpoint and a data change request sequence number for the first data change request, and for identifying an endpoint and a data change request sequence number for a second data change request on which the first data change request depends.
  24. 24
    The computer data signal in accordance with claim 23, wherein the header identifies the endpoint and the data change request sequence number for the first data change request, and identifies an endpoint and a data change request sequence number for only one data change reqiiest on which the first data change request depends, said one data change request being the second data change request.
  25. 25
    A distributed, activity-based collaboration system comprising:A) a data change request priority logic for determining an order of execution of data change requests for effecting changes to a local copy of data for collaborative activities from information contained in the data change request;B) a dependency collision resolution logic for resolving a dependency collision between first and second data change requests which both depend for execution on a third data change request;and C) a computer system of one of claims 1 to 19.
  26. 26
    The system in accordance with claim 25, wherein the data change request priority logic and the dependency collision resolution logic are responsive to sequence number information and dependency information recorded in the data change requests for controlling computer-implemented י. operations including making, unmaking and remaking of changes to the data during execution of the data change requests.
Independent claims26