[215] in Info-AFS_Redistribution

home help back first fref pref prev next nref lref last post

byte ordering software patent

daemon@ATHENA.MIT.EDU (Henry Mensch)
Tue Jul 16 03:01:46 1991

From: henry@ads.com (Henry Mensch)
Date: Mon, 15 Jul 91 23:13:38 -0700
To: info-afs@transarc.com
Cc: mib@gnu.ai.mit.edu
Reply-To: henry@ads.com

Date: Tue, 16 Jul 91 00:43:18 -0400
Reply-To: league@prep.ai.mit.edu
From: league@prep.ai.mit.edu
Sender: mib@gnu.ai.mit.edu
Subject: Byte ordering patent


Unfortunately, the exact claims of the patent suggest that TCP (and
similar protocols, RPC systems, etc.) wouldn't usually violate the
patent or provide prior art.  It covers systems in which files are
stored on "auxiliary memory" (disk) in the predetermined byte order,
as well as systems in which you convert "on-the-fly" (see the list of
claims at the end of this letter).  The various protocols in use
before 1982 (like TCP and all the rest) would only validate half of
claim 5, leaving the rest intact.  As an example of a system that
would still probably violate the patent, consider the Mach-O object
file format.  In Mach-O, the binary file's header is stored in a
standard byte order and converted by programs which read or write
binary files (assemblers, linkers, loaders, etc.).  This would
probably violate claim 4, and if used in a portable operating system,
claim 1 as well.  Network file systems violate claim 3 if they store
data on disk in a standard byte order.

If anyone can provide prior art for claims 1-4 and the half of 5
suggesting storage on "auxiliary memory", please send it to
league@prep.ai.mit.edu.

Here is the list of claims:

The claims of patent 4,956,809 (Mark Williams Company, issued Sep 11, 1990,
perhaps goes back to application in 1982)

1.  A method for use with a portable operating system used on
different computers which use different binary structures, whereby
files containing binary data become portable, comprising the steps of:

By means of a computer, representing in a standardized order
consisting of a standard binary structure file stored on auxiliary
memory or transported on a communications means, said standardized
order being different from a different order used on at least one
of the different computers;

Converting in each of the different computers binary data read from an
auxiliary data storage or communications means from the standardized
order to the natural order of the respective host computer after said
binary data are read from said auxiliary data storage or
communications means and before said binary data are used by the
respective host computer; and

Converting in each of the different computers binary data written into
auxiliary data storage or communications means from the natural order
of the respective host computer to the standardized order prior to
said writing.

2.  A method according to claim 1 wherein the said operating system
comprises a unix-like operating system.

3.  A method according to claim 1 wherein said file comprises a file
system and some or all of said binary data is converted.

4.  A method according to claim 1, wherein said file comprises an
object file expressed in binary.

5.  A method for use on different computers which use different binary
structures, whereby files containing binary data become portable
between the computers, comprising the steps of:

Representing by means of a computer files that are stored for use by
one or more of the computers or are transported on a communications
means to one or more of the computers, in a predetermined binary
structure different than the binary structure used on at least one
of the different computers;

Converting in each of the computers binary data, to be stored for use
by one or more of the computers or to be transported on said
communications means to one or more of the computers, from the binary
structure of the originating computer, to the predetermined binary
structure; and

Converting in each of the computers binary data obtained from said
stored files or from said communications means from the predetermined
binary structure to the binary structure used by said computer.


home help back first fref pref prev next nref lref last post