Dynamic conversion of byte ordering for use on different...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S300000

Reexamination Certificate

active

06351750

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a distribution system of digital contents, i.e., digitally encoded published materials. More particularly, the invention relates to a method for dynamically converting the byte-ordering of a data structure in a digital content from one format to a different format.
2. Description of Related Art
Advances in computer and communication technology have provided the consumers a convenient and economical means to access information in a variety of media. One particular area of information access is the electronic books. An electronic book is a viewing device that receives printed materials in the form of digital data downloaded from an information network. A user of an electronic book can read downloaded contents of books and printed materials subscribed from a participating bookstore at his or her own convenience without the need to purchase the printed copies of the books.
An electronic book, or any other viewing device, has persistent memory, such as a hard disk or a flash random-access-memory (RAM), to store the downloaded digital contents and constitutes a particular processor platform.
Digital contents stored as binary data in persistent memory of a viewing device must be readable in the native byte-ordering format of the processor of the viewing device. For performance reasons, certain processors require the byte-ordering of numeric values to be in specific formats. These formats may be different for different types of processors. For example, for use on a Motorola 680x0 chip, the 2-byte hexadecimal number 3AF7 is stored in RAM as: 3A in byte
1
, F7 in byte
2
. For use on an Intel processor, the same number is stored in RAM as: F7 in byte
1
, 3A in byte
2
. The Motorola chip format is called big endian format, and the Intel chip format is called little endian format. The conversion of raw numerical data from one format to the other is further complicated by the fact that the byte-swapping must depend on individual data element sizes. Without knowing the individual data element sizes, it is not possible to convert raw binary numerical data from one format to the other. For instance, two 2-byte numbers are indistinguishable from one 4-byte number. Consider the big endian data ABCD where A, B, C and D are bytes. This data may be two 2-byte numbers, namely, AB and CD, or it may be a single 4-byte number ABCD. Since byte swapping must be done for individual numbers, the resulting little endian data are either BADC if the big endian data are two 2-byte numbers, or DCBA if the big endian data is a single 4-byte number.
For optimal performance, binary data should be stored in the endian format of the final target processor platform for which it is created. However, this is not possible if there is more than one target processor platform and the platforms are not compatible. For example, in a digital content distribution system which includes a virtual bookstore and two different groups of viewing devices which run on two incompatible types of processors, a digital content stored in one endian format at the virtual bookstore can be directly used by one group of viewing devices, but must be converted to a different endian format to be used by the other group. Performing conversion of byte-ordering at the viewing device level is time-consuming and prone to errors, specially when the data structure has a complex combination of data types and contains nested lists of other structures. In addition, a change to a data structure will require every user of that structure to change its conversion.
Therefore, currently, there is a need for an efficient method to dynamically convert the byte-ordering of a data structure from one endian format to another endian format for use on a different processor platform.
SUMMARY OF THE INVENTION
The present invention is a method for dynamically converting the byte-ordering of a data structure of a resource type from a first format to a second format, the first format being incompatible with the second format. The method comprises the following steps: (a) creating a template which corresponds to the data structure of the resource type, the template having a structure in a third format which is compatible with the first and second formats; (b) linking the template to the resource type; and (c) converting automatically the byte-ordering of the data structure of the resource type from the first format to the second format using the template.


REFERENCES:
patent: 3718906 (1973-02-01), Lightner
patent: 4159417 (1979-06-01), Rubincam
patent: D276626 (1984-12-01), Lockwood
patent: 4490810 (1984-12-01), Hon
patent: 4545023 (1985-10-01), Mizzi
patent: 4575621 (1986-03-01), Dreifus
patent: 4591974 (1986-05-01), Dornbush et al.
patent: 4597058 (1986-06-01), Izumi et al.
patent: 4601011 (1986-07-01), Grynberg
patent: 4649499 (1987-03-01), Sutton et al.
patent: D289777 (1987-05-01), Thomas
patent: 4682161 (1987-07-01), Bugg
patent: 4725977 (1988-02-01), Izumi et al.
patent: 4779080 (1988-10-01), Coughlin et al.
patent: 4820167 (1989-04-01), Nobles et al.
patent: 4855725 (1989-08-01), Fernandez
patent: 4899292 (1990-02-01), Montagna et al.
patent: 4916441 (1990-04-01), Gombrich
patent: 4918632 (1990-04-01), York
patent: 4972496 (1990-11-01), Sklarew
patent: 4985697 (1991-01-01), Boulton
patent: 5021989 (1991-06-01), Fujisawa et al.
patent: 5025373 (1991-06-01), Keyser, Jr. et al.
patent: 5031119 (1991-07-01), Dulaney et al.
patent: 5065345 (1991-11-01), Knowles et al.
patent: 5091939 (1992-02-01), Cole et al.
patent: 5107415 (1992-04-01), Sato et al.
patent: 5109354 (1992-04-01), Yamashita et al.
patent: 5115508 (1992-05-01), Hatta
patent: 5121492 (1992-06-01), Saville, III et al.
patent: 5133076 (1992-07-01), Hawkins et al.
patent: 5146552 (1992-09-01), Cassorla et al.
patent: D330544 (1992-10-01), Kane
patent: 5157491 (1992-10-01), Kassatly
patent: 5157737 (1992-10-01), Sklarew
patent: 5157783 (1992-10-01), Anderson et al.
patent: 5199104 (1993-03-01), Hirayama
patent: 5203001 (1993-04-01), Yanagiuchi et al.
patent: 5214696 (1993-05-01), Keiser, II et al.
patent: 5221838 (1993-06-01), Gutman et al.
patent: 5222136 (1993-06-01), Rasmussen et al.
patent: 5226080 (1993-07-01), Cole et al.
patent: 5231662 (1993-07-01), van Rumpt et al.
patent: 5233333 (1993-08-01), Borsuk
patent: 5239665 (1993-08-01), Tsuchiya
patent: D339329 (1993-09-01), Lacko
patent: 5245656 (1993-09-01), Loeb et al.
patent: 5247661 (1993-09-01), Hager et al.
patent: 5253294 (1993-10-01), Maurer
patent: 5265259 (1993-11-01), Satou et al.
patent: D346620 (1994-05-01), McSorely
patent: 5319582 (1994-06-01), Ma
patent: 5333116 (1994-07-01), Hawkins et al.
patent: 5339091 (1994-08-01), Yamazaki et al.
patent: 5359707 (1994-10-01), Sato
patent: 5365598 (1994-11-01), Sklarew
patent: 5367621 (1994-11-01), Cohen et al.
patent: 5379057 (1995-01-01), Clough et al.
patent: 5388196 (1995-02-01), Pajak et al.
patent: 5392387 (1995-02-01), Friztpatrick et al.
patent: 5398310 (1995-03-01), Tchao et al.
patent: 5404505 (1995-04-01), Levinson
patent: D359306 (1995-06-01), Lande et al.
patent: 5428606 (1995-06-01), Moskowitz
patent: 5438344 (1995-08-01), Oliva
patent: D362271 (1995-09-01), Luong
patent: D362272 (1995-09-01), Luong
patent: D362461 (1995-09-01), Luong
patent: 5457746 (1995-10-01), Dolphin
patent: 5463725 (1995-10-01), Henckel et al.
patent: 5465213 (1995-11-01), Ross
patent: 5467102 (1995-11-01), Kuno et al.
patent: 5475399 (1995-12-01), Borsuk
patent: 5477510 (1995-12-01), Ukita
patent: 5483586 (1996-01-01), Sussman
patent: 5557790 (1996-09-01), Bingham et al.
patent: 5594919 (1997-01-01), Turkowski
patent: 5598470 (1997-01-01), Cooper et al.
patent: 5615264 (1997-03-01), Kazmierczak et al.
patent: 5629980 (1997-05-01), Stefik et al.
patent: 5638443 (1997-06-01), Stefik et al.
patent: 5697793 (1997-12-01), Huffman et al.
patent: 5719943 (1998-02-01), Amada et al.
patent: 5734823 (1998-03-01), Saigh et al.
patent: 5734891 (1998-03-01), Saigh
patent: 5781763 (1998-07-01), Beukema et al.
patent: 5828884 (199

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Dynamic conversion of byte ordering for use on different... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamic conversion of byte ordering for use on different..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic conversion of byte ordering for use on different... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2980576

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.