EP1233335A2

Method and apparatus for delivery of a byte code and serialized objects stream

Abstract

A method and apparatus for timely delivery of classes and objects is provided. A header comprising timing information is attached to said classes and/or objects. A "start loading" time and a "load by" time are specified in the header. Other classes and/or objects to be loaded are also specified in the header. Optional compression, security, and/or error resilience schemes are also specified in the header. A process for creating the header and attaching it to a class or object is provided. A process for receiving and processing a class or object with an attached header is provided. Embodiments of the invention allow timely delivery of classes and/or objects over a wide variety of transport mechanisms, including unreliable transport mechanisms and those lacking any guarantees of timely delivery.

EP1233335A2, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 21 June 2019, 7.3 years ago.

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

35 claims: 17 independent, 18 dependent

  1. 1
    A method for delivering byte code comprising:extracting from byte code a header, said header having class information descriptive of classes to be loaded;extracting a first time from said header;extracting a second time from said header;loading said classes after said first time and before said second time.
  2. 4
    The method of any preceding claim, further comprising detecting that one or more of said classes are executable, and automatically executing the executable classes after successful loading.
  3. 5
    The method of any preceding claim, wherein the extracted information specifies the format of the byte code.
  4. 7
    The method of any preceding claim, wherein the extracted information specifies a delivery method for the byte code.
  5. 9
    A method for receiving byte code, the method comprising:receiving a data stream having one or more packets;reading a byte code header from the data stream;andextracting information from the byte code header, wherein the extracted information includes: a first timestamp specifying a first time by which a first class will be loaded,a second timestamp specifying a second time before which loading of the first class will not be started, andinformation identifying one or more additional classes to be loaded, wherein the first class is dependent upon the one or more additional classes.
  6. 13
    The method of any of claims 9 to 12, wherein the data steam includes a payload associated with the byte code header, wherein the payload and byte code header are packetised within the data stream.
  7. 21
    The method of any of claims 9 to 20, wherein the data stream contains compressed classes and wherein the method further comprises decompressing the classes.
  8. 22
    A method for preparing byte code for transmission, the method comprising:creating a data stream having one or more payloads, wherein a first of the one or more payloads includes a first class, andadding a byte code header to a first payload in the data stream, wherein the byte code header includes: a first time by which a first class will be loaded,a second time after which loading of the first class will start, andinformation identifying at least a second class to be loaded, wherein the first class is dependent upon at least the second class.
  9. 25
    The method of any of claims 22 to 24, further comprising:adding a second byte code header to the second payload, wherein the second byte code header includes: a third time by which the second class will be loaded, anda fourth time after which loading of the second class will start, wherein the third time is before the second time.
  10. 27
    The method of any of claims 22 to 26, further comprising packetising the headers and payloads into one or more packets.
  11. 28
    The method of any of claims 22 to 27, further comprising compressing the first class and the second class.
  12. 29
    A computer program for implementing the method of any preceding claim.
  13. 30
    A computer program embodied on a computer-readable medium, wherein the computer-program is executable to:(a) receive a data stream having one or more packets;(b) read a byte code header in the data stream;(c) extract information from the byte code header, wherein the extracted information includes: a start loading timestamp specifying a start loading time for a first class in the data stream,a load-by timestamp specifying a load-by time for the first class in the data stream, andinformation identifying a second class in the data stream, wherein the first class is dependent upon the second class;(d) start loading the first class no sooner than the start loading time;(e) complete loading of the first class by the load-by time;(f) determine whether the first class completed loading by the second time;and(g) assert an error condition if the first class did not complete loading by the load-by time.
  14. 32
    A computer program embodied on a computer-readable medium, wherein the computer program is executable to prepare byte code for transmission by:creating a data stream having one or more packets, wherein a first of the one or more packets has a first class, and wherein a second of the one or more packets has a second class;andadding a byte code header to a first packet in the data stream, wherein the byte code header includes: a first timestamp specifying a first time by which a first class will be loaded,a second timestamp specifying a second time after which loading of the first class will start, andinformation identifying at least a second class to be loaded, wherein the first class is dependent upon the second class.
  15. 33
    A system for delivering byte code comprising:means for extracting from byte code a header, said header having class information descriptive of classes to be loaded;means for extracting a first time from said header;means for extracting a second time from said header;andmeans for loading said classes after said first time and before said second time.
  16. 34
    A system for receiving byte code, comprising:means for receiving a data stream having one or more packets;means for reading a byte code header from the data stream;andmeans for extracting information from the byte code header, wherein the extracted information includes: a first timestamp specifying a first time by which a first class will be loaded,a second timestamp specifying a second time before which loading of the first class will not be started, andinformation identifying one or more additional class to be loaded, wherein the first class is dependent upon the one or more additional classes.
  17. 35
    A system for preparing byte code for transmission, comprising:means for creating a data stream having one or more payloads, wherein a first of the one or more payloads includes a first class, andmeans for adding a byte code header to a first payload in the data stream, wherein the byte code header includes: a first time by which a first class will be loaded,a second time after which loading of the first class will start, andinformation identifying at least a second class to be loaded, wherein the first class is dependent upon at least the second class.
Independent claims17