Help: Microsoft patent covers package download and upgrade
Microsoft was recently granted a patent that covers a core
part of Debian, and probably Red Hat too. (If you have
contacts in RH you can forward this, their contact page
seemed a bit slow in retrieval.) (If you forward this to
public place, any other than debian-doc and debian-legal,
please drop my name and company from mail body and headers.)
The project I'm working in has some interest in automatic
SW upgrade, so I _might_ be able to persuade Nokia to take
interest in this patent. To do it I need some historical
data that shows that the invention was known art at that
Below is some data on the patent and some historical data
I dug out from Debian web site. It seems to show that some
time between -95 and -97 dselect supported upgrading from
internet. If 0.93R6 already did it I'd be happy. In any
case I'd appreciate a man page or dselect-beginner.txt or
something similar from first release supporting ftp access
method, with release date. (If rpm did it before Nov 97
that would also be nice to know.)
MS patent seems to be somewhat limited by not having any
info on versions, dependencies, conflicts etc. but that
is to be expected, I suppose.
Filed Nov 14. 1997, granted Oct 26, 1999
US5974454: Method and system for installing and updating
program module components
Installing and updating a software program module component.
A determination is made whether the current date is on or
after a date stored in a registry key on a computer. If the
current date is on or after the date stored in the registry
key, then a computer transmits a database query via the
Internet to a database server. At the database server, a
determination is made whether an upgrade package for the
software program module component is available, such as by
performing a database lookup. If an upgrade package for the
software program module component is available, then an
upgrade package message is sent from the database server to
the computer. At the computer, a determination is made whether
the user wants to download the upgrade package. If so, then
an upgrade package query is sent by the computer via the
Internet to a package server. At the package server, in
response to receiving the upgrade package query, the upgrade
package is retrieved and sent over the Internet to the computer.
The upgrade package is then installed on the computer to update
the software program module component.
A computer-implemented method for updating a software
program module component stored on a computer, the method
comprising the steps of:
a) determining whether the current date is on or after a date
stored at the computer;
b) if the current date is on or after the date stored at the
computer, then sending a database query from the computer
to a database server;
c) responsive to the database query, determining at the
database server whether an upgrade package for the software
program module component is available;
d) if an upgrade package for the software program module
component is available, then sending an upgrade package
message from the database server to the computer;
e) responsive to the upgrade package message, sending an
upgrade package query from the computer to a package
f) in response to receiving the upgrade package query,
retrieving the upgrade package at the package server
and sending the upgrade package to the computer.
Further claims cover e.g. doing the upgrade and updating
the registry (=dpkg database).
Here are the results of a quick search in history:
Debian 0.93R6 (November 1995): dselect appears. This will be the
last a.out Debian release; there are now about 60 developers.
Debian 1.1 Buzz (June 1996): This appears to be the first Debian
release with a code name (taken, like all others, from the movie
Toy Story); this is probably because it was also the first release
made after Bruce Perens took over leadership of the Project from
Ian Murdock. This release was fully ELF, used Linux kernel
2.0, and contained 474 packages.
Dselect is used to select just which packages (from ~1100) you
wish to install. It will be run for you during the install and as
it is a very powerful and somewhat complex thing, some knowledge
of it before hand will not go astray. It will step you through
the package installation process as follows:
Choose the access method to use.
Update list of available packages, if possible.
Request which packages you want on your system.
Install and upgrade wanted packages.
Configure any packages that are unconfigured.
Remove unwanted software.