A computer system and method for use with the computer system to
dynamically adapt to a data structure layout other than its own. The data
may be an incoming data stream from outside or may be stored within its
main memory. Between the transmitting and the receiving CPU there must be
an understanding of the conceptual level and format of the data which is
transferred. A prefix word in which details of the data structure layout
is encoded is generated. The prefix word is appended to the data and
transmitted to another CPU or used by the same CPU. Upon receipt of the
data, the prefix word is read and decoded and the receiving CPU can
dynamically adapt to details of the data structure layout in order to use
the data which was generated and transmitted in a heretofore unknown data
structure layout. The prefix word may be a Unicode reserved character of
the form FExxyyFF or FFyyxxFE wherein FExxyyFF represents the same
endianness, preferably big endian, and FFyyxxFE represents the other
endianness, preferably little endian. Once endianness is resolved, then
the position of xxyy is unambiguously known and specific features of the
data structure layout, such as integer and pointer sizes, rounding/padding
rules, byte alignment, bit alignment, etc. are encoded in an agreed-upon
bit sequence. Thus, a method and a computer which can dynamically adapt to
an unknown data structure is presented.
Ένα συγκρότημα ηλεκτρονικών υπολογιστών και μια μέθοδος για τη χρήση με το συγκρότημα ηλεκτρονικών υπολογιστών για να προσαρμοστεί δυναμικά σε ένα σχεδιάγραμμα δομών δεδομένων εκτός από δικοί του. Τα στοιχεία μπορούν να είναι ένα εισερχόμενο ρεύμα στοιχείων από εξωτερικό ή μπορούν να αποθηκευτούν μέσα στην κύρια μνήμη του. Μεταξύ της διαβιβάζοντας και λαμβάνουσας ΚΜΕ πρέπει να υπάρξει μια κατανόηση του εννοιολογικών επιπέδου και του σχήματος του στοιχείου που μεταφέρεται. Μια λέξη προθέματος στην οποία οι λεπτομέρειες του σχεδιαγράμματος δομών δεδομένων κωδικοποιούνται παράγεται. Η λέξη προθέματος επισυνάπτεται στα στοιχεία και διαβιβάζεται σε μια άλλη ΚΜΕ ή χρησιμοποιείται από την ίδια ΚΜΕ. Επάνω στην παραλαβή των στοιχείων, η λέξη προθέματος διαβάζεται και αποκωδικοποιείται και η λαμβάνουσα ΚΜΕ μπορεί δυναμικά να προσαρμοστεί στις λεπτομέρειες του σχεδιαγράμματος δομών δεδομένων προκειμένου να χρησιμοποιηθεί το στοιχείο που παρήχθη και διαβιβάστηκε σε ένα μέχρι τούδε άγνωστο σχεδιάγραμμα δομών δεδομένων. Η λέξη προθέματος μπορεί να είναι διατηρημένος Unicode χαρακτήρας του εντύπου FExxyyFF ή FFyyxxFE όπου FExxyyFF αντιπροσωπεύει το ίδιο endianness, κατά προτίμηση μεγάλος endian, και FFyyxxFE αντιπροσωπεύουν το άλλο endianness, κατά προτίμηση ελάχιστα endian. Μόλις επιλυθεί το endianness, κατόπιν η θέση xxyy είναι σαφώς γνωστή και τα συγκεκριμένα χαρακτηριστικά γνωρίσματα του σχεδιαγράμματος δομών δεδομένων, όπως τα μεγέθη ακέραιων αριθμών και δεικτών, που στρογγυλεύουν/να γεμίσουν οι κανόνες, η ευθυγράμμιση ψηφιολέξεων, η ευθυγράμμιση κομματιών, κ.λπ. κωδικοποιούνται σε μια συμφωνημένη ακολουθία κομματιών. Κατά συνέπεια, μια μέθοδος και ένας υπολογιστής που μπορούν δυναμικά να προσαρμοστούν σε μια άγνωστη δομή δεδομένων παρουσιάζονται.