*QC: BRIDGE
*TO: USPTO/1.703.308.3718@FAX#
I just received a copy of patent #4,956,809, "Method for Canonical
Ordering of Binary Data for Portable Operating Systems", dated Sep. 11,
1990. It describes the Sun/XDR-style scheme of converting binary data
into canonical form before writing it to a file or sending it over a
network. It seems to strike right at the heart of netcdf and RPC/NFS.
The date of this patent filing was Dec. 29, 1988, and references
previous applications dated Nov. 24, 1986 and Jun. 23, 1982, both now
abandoned.
Here's the abstract from the patent:
A method for making files compatible between different computers
having different binary structures while using the same operating
system by keeping all files in a standardized canonical order when
they move to or from external data storage or communication means.
The method includes converting all binary data accessed from a file
or communications channel from the canonical order to the natural
order of the host computer before using the binary data in the host
computer and converting all binary data which is to be sent to a
file or communications channel from the natural order of the host
computer to the canonical order before sending the binary data.
It surprises me that this patent was granted since there is so obviously
prior art (certainly prior to the 1988 application). One of the
referenced publications was Sun's NFS white paper dated 1986. I'm not
sure of the availability of RPC and NFS, but it certainly had to be in
the 1985-1986 timeframe. Other similar techniques include the Berkeley
Unix htons, htonl, ntohs, and ntohl macros/functions. I believe SunRPC
was first documented in a Sun Tech Report in 1984 (Lyon, B. Sun Remote
Procedure Call Protocol Specification). A paper on NFS appeared in the
1985 Summer Usenix Conference Proceedings (Sandberg, R., et.al., Design
and Implementation of the Sun Network Filesystem, Usenix Association
Summer Conference Proceedings, 1985). All of these papers and technical
reports predate the 1986 and 1988 applications, but not the 1982
application. (I'm not certain what the significance of an "abandoned"
application is.) I suspect use of Berkeley's htons, htonl, ntohs, and
ntohl macros/functions predates the 1982 application, though, and would
constitute prior art. Other remote procedure call protocols, such as
Xerox's Courier protocol may have also used similar schemes for
converting binary data between machines of dissimilar architectures.
If you are at all interested in this subject, I urge you to get your
hands on a copy of the patent. You should also write the USPTO a letter
if you feel that there is prior art which would negate the claims of
this patent. Their 24 hour per day fax number is at the top of this
message in the *TO: line (a copy is being sent to them). (I don't have a
street address.)
Skip (montanaro@xxxxxxxxxxxxx)