Thursday, October 13, 2005

MICROSOFT ATTEMPTS TO INVALIDATE EXCEL PATENT: Back in June of this year, Microsoft was hit with a $8.96 million judgment for infringing on a 1994 patent (US 5,293,615) held by a Guatemalan inventor, Carlos Amado. Amado's patent covered technology that linked Microsoft's widely used Excel program with its Accel database. This was one of those cases where Microsoft - while losing the judgement - could still claim some sense of victory, as Amado originally was asking for $500 million in damages.

Not taking the judgment lying down, Microsoft filed an appeal with the Federal Circuit (docket 05-1531) in August, and had their reexamination request granted last month at the USPTO for the '615 patent. In the request, Microsoft is seeking only to invalidate claim 21, which is the broadest of the independent claims:

21. An apparatus for carrying out spreadsheet calculations using data imported from a database via a point and shoot user interface to select a database record for loading into a specified range of the spreadsheet, comprising:

a computer having a display and a memory having one or more storage locations;

a spreadsheet program, having a spreadsheet data format, in execution on said computer for displaying a plurality of cells which define a spreadsheet, each of said cells having a unique identification code indicative of the location of said cell on said display and each said cell being associated with one or more of said storage locations in said memory, and wherein any one or more of said cells can be selected by a user as part of a selected range using a cursor, and wherein said spreadsheet program includes program code to control said computer to receive data from said user and to store said data in the storage locations associated with user designated cells wherein said data can be text, numbers, or formulas including mathematical or logical operators relating contents of the storage locations associated with one or more of said cells to the contents of the storage locations of one or more other ones of said cells mathematically or logically, and wherein said computer is controlled by said spreadsheet program to display on said display the contents of said storage locations associated with each said cell, except where the contents of the storage locations associated with a particular one of said cells are a formula, in which case the computer is caused to display the results of the mathematical or logical operations defined by said formula at the corresponding location for said cell on said display, and wherein said spreadsheet program includes a recalculation routine for controlling said computer so as to perform a recalculation upon receipt of a recalculation command where all formulas associated with all cells of said spreadsheet are recalculated using whatever the current values are for each said cell stored in the associated storage locations in said memory at the time the recalculation command is received and any new results stemming from recalculation of said formulas where new contents since a previous recalculation exist in the storage locations associated with said cells mathematically or logically related by said formulas are displayed on said display at the location of the corresponding cells;

a database file stored in said memory and containing one or more records, each said record is comprised of one or more fields, each said field contains data;

first means in execution on said computer for controlling said computer so as to display on said display one or more of said records of said database file within a window while said spreadsheet program is in execution;

second means in execution on said computer and coupled to said recalculation routine and to said database file and to said first means, for controlling said computer to display a cursor in said window in which said records from said database file are displayed, said cursor being movable within said window under control of said user and controlling said computer to recognize a select command entered by said user such that any said data record pointed to by said cursor at the time said select command is given by said user is selected, and for controlling said computer so as to automatically load said selected database record into said selected range of said spreadsheet when said recalculation command is given, said loading including automatically reformatting data of said selected database record to said spreadsheet data format prior to the recalculation of said spreadsheet, such that when said recalculation is performed by said spreadsheet program, the contents of the storage locations associated with the cells in said selected range will be set equal to the contents of the selected database record before the recalculation starts thereby forcing the storage locations associated with the cells of said selected range to be loaded with the contents of said fields of said selected database record before the recalculation starts.

I'm not kidding - that is the broadest claim in the patent. Anyways, Microsoft is relying primarily on documents and disclosures pertaining to SuperCalc, which was a spreadsheet program available in the 1980's that permitted the linking of a spreadsheet and a SuperCalc window displaying data from a database file. Also, Microsoft is citing the Q+E program, which also was available in the 1980's, that allowed linkage of an Excel spreadsheet to a Q+E window displaying data from a database file. Neither of these documents were considered by the Examiner during the original prosecution of the '615 patent.

At this point, it is likely that the USPTO will issue a non-final rejection in the coming months. Once the rejection is mailed, the stage will be set for another reexamination showdown for Microsoft . . .

3 Comentários:

Anonymous said...

The inventor was actually trying
to sell this technology to Microsoft while patent was pending.

Why couldn't they just license or buy it from inventor back in the 90's?
I am sure it would be very cheap
for them to do back then, much
less then 9 million bucks.

I see the same pattern of product
"innovation" by Microsoft.
Once something useful is brought
to their attention, they first try
to get enough information about it,
then they say they are not
interested in it, then quickly turn around and implement it in their products.
I am wondering if this is actually
some unofficial code of conduct for those Microsoft "innovators"

Anonymous said...

I think that the prior art SuperCalc product description can be found here:


The SuperCalc link in the article is to a current (different) product.

"Le Meschin" said...

The Imperial Chemical Industries (ICI) "Works Records System" that I wrote in 1974 (5-6 years before spreadsheets were supposedly "invented" by Dan Bricklin), used an ADABAS database holding data values for the spreadsheet. It was written entirely in IBM/360 Assembly language, used IBM 3270 terminals and was still in use until 2001.
So, prior art goes back at least to 1974. If the inventor gets a penny he will be lucky!


This Blog/Web Site ("Blog") is for educational purposes only and is not legal advice. Use of the Blog does not create any attorney-client relationship between you and Peter Zura or his firm. Persons requiring legal advice should contact a licensed attorney in your state. Any comment posted on the Blog can be read by any Blog visitor; do not post confidential or sensitive information. Any links from another site to the Blog are beyond the control of Peter Zura and does not convey his, or his past or present employer(s) approval, support, endorsement or any relationship to any site or organization.

The 271 Patent Blog © 2008. Template by Dicas Blogger.