Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs View Full Text


Ontology type: schema:ScholarlyArticle     


Article Info

DATE

1998-06

AUTHORS

Stefan Fünfrocken

ABSTRACT

In this paper we describe a way to save and restore the state of a running Java program. We achieve this on the language level, without modifying the Java virtual machine, by instrumenting the programmer's original code with a preprocessor. The automatically inserted code saves the runtime information when the program requests state saving and re-establishes the program's runtime state on restart. The current preprocessor prototype is used in a mobile agent scenario to offer transparent agent migration for Java-based mobile agents, but could generally be used to save and re-establish the execution state of any Java program. More... »

PAGES

109-116

References to SciGraph publications

  • 1998-09. Mole – Concepts of a mobile agent system in WORLD WIDE WEB
  • 1997. Mobility and persistence in MOBILE OBJECT SYSTEMS TOWARDS THE PROGRAMMABLE INTERNET
  • 1997. The architecture of the ara platform for mobile agents in MOBILE AGENTS
  • Identifiers

    URI

    http://scigraph.springernature.com/pub.10.1007/bf01324941

    DOI

    http://dx.doi.org/10.1007/bf01324941

    DIMENSIONS

    https://app.dimensions.ai/details/publication/pub.1046099950


    Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
    Incoming Citations Browse incoming citations for this publication using opencitations.net

    JSON-LD is the canonical representation for SciGraph data.

    TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

    [
      {
        "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
        "about": [
          {
            "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08", 
            "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
            "name": "Information and Computing Sciences", 
            "type": "DefinedTerm"
          }, 
          {
            "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0803", 
            "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
            "name": "Computer Software", 
            "type": "DefinedTerm"
          }
        ], 
        "author": [
          {
            "affiliation": {
              "alternateName": "Department of Computer Science, Darmstadt University of Technology, Alexanderstrasse 6, D-64283, Darmstadt, Germany", 
              "id": "http://www.grid.ac/institutes/grid.6546.1", 
              "name": [
                "Department of Computer Science, Darmstadt University of Technology, Alexanderstrasse 6, D-64283, Darmstadt, Germany"
              ], 
              "type": "Organization"
            }, 
            "familyName": "F\u00fcnfrocken", 
            "givenName": "Stefan", 
            "id": "sg:person.015577004545.85", 
            "sameAs": [
              "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015577004545.85"
            ], 
            "type": "Person"
          }
        ], 
        "citation": [
          {
            "id": "sg:pub.10.1007/3-540-62803-7_23", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1033098378", 
              "https://doi.org/10.1007/3-540-62803-7_23"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/3-540-62852-5_13", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1010354518", 
              "https://doi.org/10.1007/3-540-62852-5_13"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1023/a:1019211714301", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1029296167", 
              "https://doi.org/10.1023/a:1019211714301"
            ], 
            "type": "CreativeWork"
          }
        ], 
        "datePublished": "1998-06", 
        "datePublishedReg": "1998-06-01", 
        "description": "In this paper we describe a way to save and restore the state of a running Java program. We achieve this on the language level, without modifying the Java virtual machine, by instrumenting the programmer's original code with a preprocessor. The automatically inserted code saves the runtime information when the program requests state saving and re-establishes the program's runtime state on restart. The current preprocessor prototype is used in a mobile agent scenario to offer transparent agent migration for Java-based mobile agents, but could generally be used to save and re-establish the execution state of any Java program.", 
        "genre": "article", 
        "id": "sg:pub.10.1007/bf01324941", 
        "inLanguage": "en", 
        "isAccessibleForFree": false, 
        "isPartOf": [
          {
            "id": "sg:journal.1049837", 
            "issn": [
              "1617-4909", 
              "1617-4917"
            ], 
            "name": "Personal and Ubiquitous Computing", 
            "publisher": "Springer Nature", 
            "type": "Periodical"
          }, 
          {
            "issueNumber": "2", 
            "type": "PublicationIssue"
          }, 
          {
            "type": "PublicationVolume", 
            "volumeNumber": "2"
          }
        ], 
        "keywords": [
          "Java programs", 
          "runtime state", 
          "mobile agents", 
          "original code", 
          "Java Virtual Machine", 
          "virtual machines", 
          "agent migration", 
          "runtime information", 
          "transparent migration", 
          "agent scenario", 
          "execution state", 
          "state saving", 
          "language level", 
          "Java", 
          "code", 
          "preprocessor", 
          "machine", 
          "prototype", 
          "restart", 
          "scenarios", 
          "information", 
          "program", 
          "savings", 
          "state", 
          "way", 
          "agents", 
          "levels", 
          "migration", 
          "paper"
        ], 
        "name": "Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs", 
        "pagination": "109-116", 
        "productId": [
          {
            "name": "dimensions_id", 
            "type": "PropertyValue", 
            "value": [
              "pub.1046099950"
            ]
          }, 
          {
            "name": "doi", 
            "type": "PropertyValue", 
            "value": [
              "10.1007/bf01324941"
            ]
          }
        ], 
        "sameAs": [
          "https://doi.org/10.1007/bf01324941", 
          "https://app.dimensions.ai/details/publication/pub.1046099950"
        ], 
        "sdDataset": "articles", 
        "sdDatePublished": "2022-06-01T22:00", 
        "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
        "sdPublisher": {
          "name": "Springer Nature - SN SciGraph project", 
          "type": "Organization"
        }, 
        "sdSource": "s3://com-springernature-scigraph/baseset/20220601/entities/gbq_results/article/article_281.jsonl", 
        "type": "ScholarlyArticle", 
        "url": "https://doi.org/10.1007/bf01324941"
      }
    ]
     

    Download the RDF metadata as:  json-ld nt turtle xml License info

    HOW TO GET THIS DATA PROGRAMMATICALLY:

    JSON-LD is a popular format for linked data which is fully compatible with JSON.

    curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/bf01324941'

    N-Triples is a line-based linked data format ideal for batch operations.

    curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/bf01324941'

    Turtle is a human-readable linked data format.

    curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/bf01324941'

    RDF/XML is a standard XML format for linked data.

    curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/bf01324941'


     

    This table displays all metadata directly associated to this object as RDF triples.

    99 TRIPLES      22 PREDICATES      58 URIs      47 LITERALS      6 BLANK NODES

    Subject Predicate Object
    1 sg:pub.10.1007/bf01324941 schema:about anzsrc-for:08
    2 anzsrc-for:0803
    3 schema:author N7375f1a818db4e38bc8ebd4b1e829552
    4 schema:citation sg:pub.10.1007/3-540-62803-7_23
    5 sg:pub.10.1007/3-540-62852-5_13
    6 sg:pub.10.1023/a:1019211714301
    7 schema:datePublished 1998-06
    8 schema:datePublishedReg 1998-06-01
    9 schema:description In this paper we describe a way to save and restore the state of a running Java program. We achieve this on the language level, without modifying the Java virtual machine, by instrumenting the programmer's original code with a preprocessor. The automatically inserted code saves the runtime information when the program requests state saving and re-establishes the program's runtime state on restart. The current preprocessor prototype is used in a mobile agent scenario to offer transparent agent migration for Java-based mobile agents, but could generally be used to save and re-establish the execution state of any Java program.
    10 schema:genre article
    11 schema:inLanguage en
    12 schema:isAccessibleForFree false
    13 schema:isPartOf N2fdb420228334b5081e6d426a4f13105
    14 N5bfd227be0894113b30e35fd3246d8cd
    15 sg:journal.1049837
    16 schema:keywords Java
    17 Java Virtual Machine
    18 Java programs
    19 agent migration
    20 agent scenario
    21 agents
    22 code
    23 execution state
    24 information
    25 language level
    26 levels
    27 machine
    28 migration
    29 mobile agents
    30 original code
    31 paper
    32 preprocessor
    33 program
    34 prototype
    35 restart
    36 runtime information
    37 runtime state
    38 savings
    39 scenarios
    40 state
    41 state saving
    42 transparent migration
    43 virtual machines
    44 way
    45 schema:name Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs
    46 schema:pagination 109-116
    47 schema:productId N6eb10c2ccab14d72a0b0b4320a8df83e
    48 N953651df2ebd48c599f0d8837f7144d8
    49 schema:sameAs https://app.dimensions.ai/details/publication/pub.1046099950
    50 https://doi.org/10.1007/bf01324941
    51 schema:sdDatePublished 2022-06-01T22:00
    52 schema:sdLicense https://scigraph.springernature.com/explorer/license/
    53 schema:sdPublisher Nfb551c8e7a584daea4402a3e39821a27
    54 schema:url https://doi.org/10.1007/bf01324941
    55 sgo:license sg:explorer/license/
    56 sgo:sdDataset articles
    57 rdf:type schema:ScholarlyArticle
    58 N2fdb420228334b5081e6d426a4f13105 schema:volumeNumber 2
    59 rdf:type schema:PublicationVolume
    60 N5bfd227be0894113b30e35fd3246d8cd schema:issueNumber 2
    61 rdf:type schema:PublicationIssue
    62 N6eb10c2ccab14d72a0b0b4320a8df83e schema:name doi
    63 schema:value 10.1007/bf01324941
    64 rdf:type schema:PropertyValue
    65 N7375f1a818db4e38bc8ebd4b1e829552 rdf:first sg:person.015577004545.85
    66 rdf:rest rdf:nil
    67 N953651df2ebd48c599f0d8837f7144d8 schema:name dimensions_id
    68 schema:value pub.1046099950
    69 rdf:type schema:PropertyValue
    70 Nfb551c8e7a584daea4402a3e39821a27 schema:name Springer Nature - SN SciGraph project
    71 rdf:type schema:Organization
    72 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
    73 schema:name Information and Computing Sciences
    74 rdf:type schema:DefinedTerm
    75 anzsrc-for:0803 schema:inDefinedTermSet anzsrc-for:
    76 schema:name Computer Software
    77 rdf:type schema:DefinedTerm
    78 sg:journal.1049837 schema:issn 1617-4909
    79 1617-4917
    80 schema:name Personal and Ubiquitous Computing
    81 schema:publisher Springer Nature
    82 rdf:type schema:Periodical
    83 sg:person.015577004545.85 schema:affiliation grid-institutes:grid.6546.1
    84 schema:familyName Fünfrocken
    85 schema:givenName Stefan
    86 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015577004545.85
    87 rdf:type schema:Person
    88 sg:pub.10.1007/3-540-62803-7_23 schema:sameAs https://app.dimensions.ai/details/publication/pub.1033098378
    89 https://doi.org/10.1007/3-540-62803-7_23
    90 rdf:type schema:CreativeWork
    91 sg:pub.10.1007/3-540-62852-5_13 schema:sameAs https://app.dimensions.ai/details/publication/pub.1010354518
    92 https://doi.org/10.1007/3-540-62852-5_13
    93 rdf:type schema:CreativeWork
    94 sg:pub.10.1023/a:1019211714301 schema:sameAs https://app.dimensions.ai/details/publication/pub.1029296167
    95 https://doi.org/10.1023/a:1019211714301
    96 rdf:type schema:CreativeWork
    97 grid-institutes:grid.6546.1 schema:alternateName Department of Computer Science, Darmstadt University of Technology, Alexanderstrasse 6, D-64283, Darmstadt, Germany
    98 schema:name Department of Computer Science, Darmstadt University of Technology, Alexanderstrasse 6, D-64283, Darmstadt, Germany
    99 rdf:type schema:Organization
     




    Preview window. Press ESC to close (or click here)


    ...