The invention includes a patch environment for a modifying a program
executed by a Java Virtual Machine ("JVM") while the program is being
executed. The patch environment has a patch data structure defined on an
electronic memory of the computer. The patch data structure has at least
one Java patch for modifying a loader environment of the JVM. A plurality
of data items contained in a data structure defined on the electronic
memory of the computer represents each patch of the patch data structure.
A second data item is contained in a second data structure defined on the
electronic memory of the computer, the data item representing each applied
patch of the patch data structure that modifies the loader environment of
the JVM. The method of the present invention applies an ordered set of
changes to a Java program while running under the control of a Java
Virtual Machine having a loader environment which manages the program's
loaded software. A patch environment is created such that the patch
environment can alter the loader environment of the JVM. A patch file is
generated containing a change to be applied to the loaded software and is
loaded into the patch environment. The patch is then applied to the loaded
software by changing the loader environment of the JVM while the Java
program is running.
Η εφεύρεση περιλαμβάνει ένα περιβάλλον μπαλωμάτων για μια τροποποίηση ένα πρόγραμμα που εκτελείται πρόγραμμα από μια εικονική μηχανή της Ιάβας ("JVM") ενώ το εκτελείται. Το περιβάλλον μπαλωμάτων καθορίζει μια δομή δεδομένων μπαλωμάτων σε μια ηλεκτρονική μνήμη του υπολογιστή. Η δομή δεδομένων μπαλωμάτων έχει τουλάχιστον ένα μπάλωμα της Ιάβας για την τροποποίηση ενός περιβάλλοντος φορτωτών του JVM. Μια πολλαπλότητα των στοιχείων στοιχείων που περιλαμβάνονται σε μια δομή δεδομένων που καθορίζεται στην ηλεκτρονική μνήμη του υπολογιστή αντιπροσωπεύει κάθε μπάλωμα της δομής δεδομένων μπαλωμάτων. Ένα δεύτερο στοιχείο στοιχείων περιλαμβάνεται σε μια δεύτερη δομή δεδομένων που καθορίζεται στην ηλεκτρονική μνήμη του υπολογιστή, το στοιχείο στοιχείων που αντιπροσωπεύει κάθε εφαρμοσμένο μπάλωμα της δομής δεδομένων μπαλωμάτων που τροποποιεί το περιβάλλον φορτωτών του JVM. Η μέθοδος της παρούσας εφεύρεσης εφαρμόζει ένα διαταγμένο σύνολο αλλαγών σε ένα πρόγραμμα της Ιάβας τρέχοντας υπό έλεγχο μιας εικονικής μηχανής της Ιάβας που έχει ένα περιβάλλον φορτωτών που διαχειρίζεται το φορτωμένο λογισμικό του προγράμματος. Ένα περιβάλλον μπαλωμάτων δημιουργείται έτσι ώστε το περιβάλλον μπαλωμάτων μπορεί να αλλάξει το περιβάλλον φορτωτών του JVM. Ένα αρχείο μπαλωμάτων παράγεται περιέχοντας μια αλλαγή που εφαρμόζεται στο φορτωμένο λογισμικό και φορτώνεται στο περιβάλλον μπαλωμάτων. Το μπάλωμα εφαρμόζεται έπειτα στο φορτωμένο λογισμικό με την αλλαγή του περιβάλλοντος φορτωτών του JVM ενώ το πρόγραμμα της Ιάβας τρέχει.