Software Patents: What does "Means" Mean?


This article was originally published in the Spring 2004 edition (Vol. 4, No. 1) of Thelen Reid's Intellectual Property and Trade Regulation Journal.

Every patent has one or more claims that define the legal scope of protection afforded by the patent. There are many different types of claims available to the patent drafter. By far the most common are method claims, which define novel actions (such as a process), and apparatus claims, which define novel structure (such as a machine). However, a type of claim element known as a "means plus function" element is something of a hybrid between these two types, and controversy surrounds the interpretation of the scope of claims containing these elements in a software invention.

Patents Background

Under 35 U.S.C. §112, paragraph 6, "[a]n element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof."1 Thus, a basic tenet of patent law is that a means plus function element is limited to the corresponding structure described in the specification and equivalents thereof.2

Typically, means plus function elements can be recognized because they are contained in apparatus claims, thus purporting to define a structure or material, but contain language like "means for," followed by a function. However, it is not necessary for any particular language to exist in the element in order for it to be read as a "means plus function" element – any language that defines a structure or material using solely functional language is construed as a "means plus function" limitation.3

Thus, a claim to a television may include an element that recites "picture tube means for displaying a television picture." If the only description of this part in the specification is as a cathode-ray-based picture tube, then the element would be interpreted to be limited to such a cathode-ray-based picture tube.4 Software patents, however, present a unique problem when means plus function claims are used. Many software programs can be easily modified to run on any number of computer systems, and thus to the extent that structure is defined in software patents, it is generally simply described as a general purpose computer. However, most computers in the world qualify as "general purpose computers." For obvious reasons, an interpretation that the scope of the means plus function limitation covers the general purpose computer cannot be correct since general purpose computers are not new. If that were the case, then no means plus function limitation to software would ever be valid.5

Caselaw

The first case to address this issue was In re Alappat.6 In Alappat, the independent claim at issue, claim 15, read as follows:

A rasterizer for converting vector list data representing sample magnitudes of an input waveform into anti-aliased pixel illumination intensity data to be displayed on a display means comprising:
  1. means for determining the vertical distance between the endpoints of each of the vectors in the data list;

  2. means for determining the elevation of a row of pixels that is spanned by the vector;

  3. means for normalizing the vertical distance and elevation; and

  4. means for outputting illumination intensity data as a predetermined function of the normalized vertical distance and elevation.7

In the opinion, the Federal Circuit noted:

Alappat admits that claim 15 would read on a general purpose computer programmed to carry out the claimed invention, but argues that this alone does not justify holding claim 15 unpatentable.... We agree. We have held that such programming creates a new machine, because a general purpose computer in effect becomes a special purpose computer once it is programmed to perform particular functions pursuant to instructions from program software.8

Thus, claim 15 was interpreted as reading on a machine, as follows (bracketed material indicates the corresponding structure covered, as defined by the specification):

A rasterizer ["a machine"] for converting vector list data representing sample magnitudes of an input waveform into anti-aliased pixel illumination intensity data to be displayed on a display means comprising:
  1. [an arithmetic logic circuit configured to perform an absolute value function, or an equivalent thereof] for determining the vertical distance between the endpoints of each of the vectors in the data list;

  2. [an arithmetic logic circuit configured to perform an absolute value function, or an equivalent thereof] for determining the elevation of a row of pixels that is spanned by the vector;

  3. [a pair of barrel shifters, or equivalents thereof] for normalizing the vertical distance and elevation; and

  4. [a read-only memory (ROM) containing illumination intensity data, or an equivalent thereof] means for outputting illumination intensity data as a predetermined function of the normalized vertical distance and elevation.9

Thus, the rule from Alappat was that the "structure" of a software means element is a general purpose computer programmed with particular functions pursuant to instructions from program software.

But what constitutes the "particular functions" referenced in Alappat? In Alappat, certain actions described in the specification (for example, performing an absolute value function, in the first element) were read into the means for elements, despite the fact that they were arguably narrower than the "functions" described solely in the claim (for example, the first element's "determining the vertical distance between the endpoints of each of the vectors in the data list").10 Thus it appears that a means plus function element in a software claim must be read to at least be narrower than the claimed function, but it is unclear as to how much narrower that must be.

Another case sheds some light on this, but does not solve this quandary. In WMS Gaming v. International Game Technology,11 the patent at issue covered a slot machine that decreases the probability of winning while maintaining the external appearance of a standard mechanical slot.12 In this "virtual slot machine," the mechanical reels are actually controlled by control circuitry that randomly determines the stop position of each reel and then stops the reels at the randomly determined positions.13 This is accomplished by accessing a mapping stored in a memory-based look-up table that is programmed by the manufacturer or operator.14 Claim 1 of the patent contained an element reading "means for assigning a plurality of numbers representing said angular positions of said reel, said plurality of numbers exceeding said predetermined number of radial positions such that some rotational positions are represented by a plurality of numbers." The district court construed this limitation to cover "any table, formula, or algorithm for determining correspondence between the numbers and rotational positions of the reel."15 WMS argued that this construction was overly broad.16 The federal circuit agreed, stating that "[t]he written description of the...patent is almost completely devoid of any structure to support this limitation of the claim."17 The district court apparently took this lack of disclosure to indicate that the limitation reads on any means for performing the recited function. However, this construction is at odds with the requirements of 35 U.S.C. §112.18

The Federal Circuit recited the rule in Alappat, and stated that:

Accordingly, the structure disclosed for the "means for assigning" limitation of claim 1 of the...patent is a microprocessor programmed to perform the algorithm illustrated in Figure 6. [Figure 6 depicts a reel showing the mapping between actual positions and randomly programmed numbers] In other words, the disclosed structure is a microprocessor programmed to assign a plurality of single numbers to stop positions such that: 1) the number of single numbers exceeds the number of stop positions; 2) each single number is assigned to only one stop position; 3) each stop position is assigned at least one single number; and 4) at least one stop position is assigned more than one single number.19

Thus, the rule in WMS was that the structure covered by a means plus function element in a software patent is a general purpose computer programmed with an algorithm described in the specification. While this rule provides some guidance in that it uses the term "algorithm" as opposed to "function," in practical terms the result is the same: some of the details regarding the process defined in the specification are read into the means plus function element, and some are not, but it still remains somewhat unclear where the line is.

In Globetrotter Software v. Elan Computer Group,20 the patent at issue covered a license management system that controls the number of concurrent copies of a program in use on a computer network.21 Two embodiments were described in the specification: a license transfer embodiment and a license pool embodiment.22

In the license transfer embodiment, "each license occupies an area of memory called a license file and each license file contains at most one license."23 In the license pool embodiment, "several licenses may be contained in a single license file."24 The claim contained an element reading "license file means on at least one of said nodes for storing at least one and up to a selectable authorized number of said licenses." The specification contained a description of a unique identification (UID), stating that "identification assigned to a given license file ... at a particular time is referred to as the UID."25 In defining the scope of the license file means, the district court held that the "corresponding structure in the specification is the 'license file' ... because a UID is assigned to each license file regardless of whether that license file contains any Licenses..., the UID assigned to and contained within the license file properly is considered to be a defining characteristic rather than merely a potential content of the license file."26 Thus, in the district court's eyes, the license file means was interpreted to include a UID.

The federal circuit agreed, holding that the "patent specification clearly identifies that a UID for the license file is an essential part of the structure required to perform the function of 'storing at least one and up to a selectable authorized number of said licenses' performed by the license file means."27 For example, when a license file is loaded (i.e. stored) onto a node, it is assigned a UID.28 It is necessary that the license file at a node be assigned a UID so that the UID can be compared with the UID written into a directory at a remote node to determine whether the particular license is in use.29 Thus, the rule in Globetrotter is that essential parts of the algorithm described in the specification must be read into the means plus function elements; however, an open question remains as to whether elements that are non-essential, but still described in the specification, must also be read into the means plus function elements.

Conclusions

What is clear from these decisions is that:

  1. the corresponding structure of a means plus function limitation in a software invention is a general purpose computer programmed to carry out the algorithm(s) described in the patent; and

  2. the means plus function limitation must be read to include any necessary components of that algorithm.

What is left unclear is exactly how narrowly the algorithm is to be interpreted. The patent holder does not get a scope equal to the scope of the function described in the limitation. In WMS, the limitation "means for assigning" was not construed to cover any "means for assigning a plurality of numbers representing said angular positions of said reel, said plurality of numbers exceeding said predetermined number of radial positions such that some rotational positions are represented by a plurality of numbers," but was instead limited to means where additionally:

  1. the number of single numbers exceeds the number of stop positions;

  2. each single number is assigned to only one stop position;

  3. each stop position is assigned at least one single number; and

  4. at least one stop position is assigned more than one single number.

But there were other details in the specification and figures that were not considered as part of the structure.30 For example, Fig. 6 was described as having 22 positions, yet no evidence exists that the court limited the structure to an embodiment having 22 positions.31

The scope of protection is somewhat limited in that the structure must be read to contain all essential elements of the algorithm, but it is not clear whether it could also be read to include non-claimed, non-essential elements described in the specification. Therefore, the true line as to where protection of a software "means" ends remains an open question that can, and likely will, vary greatly from case to case.


Endnotes

1. 35 U.S.C. § 112 (2000).
2. See O.I. Corp. v. Tekmar Company Inc., 115 F.3d 1576, 1582-1583 (Fed. Cir. 1997).
3. See Greenberg v. Ethicon Endo-Surgery, Inc., 91 F.3d 1580 (Fed. Cir. 1996) (Citing Raytheon Co. v. Roper Corp., 724 F.2d 951, 957 (Fed. Cir. 1983)).
4. Irah H. Donner, Patent Prosecution 47 (1999).
5. A general principle of patent law is that a claim cannot be interpreted in a way that would cover prior art or otherwise invalidate the claim. Lewmar Marine, Inc. v. Barient, Inc., 827 F.2d 744, 749 (Fed. Cir. 1987).
6. 33. F.3d 1526 (Fed. Cir. 1994).
7. Id. at 1538-39.
8. Id. at 1545.
9. Id. at 1541.
10. Id.
11. 184 F.3d 1339 (Fed. Cir. 1999).
12. See Id. at 1343
13. See Id.
14. See Id.
15. Id. at 1348.
16. See Id.
17. Id.
18. See Id.
19. Id. at 1349.
20. 236 F.3d 1363, (Fed. Cir. 2001).
21. See Id. at 1364.
22. See Id. at 1365.
23. Id.
24. Id.
25. Id.
26. Id. at 1368.
27. Id.
28. Id.
29. Id.
30. WMS Gaming, 184 F.3d at 1349.
31. See Id.

For more information, please contact:

Marc S. Hanish
408.282.1804
mhanish@thelenreid.com

Ahmed Kasem
408.282.1836
akasem@thelenreid.com

David B. Ritchie
408.282.1856
dritchie@thelenreidcom

©2004 By Thelen Reid & Priest LLP. This article has been published as an information service to clients and friends. Please recognize that the information is general in nature and must not be relied upon as legal advice. The authors, listed above, or your Thelen Reid attorney contact, would be happy to discuss the information in this article in greater detail and its application to your specific situation. We welcome your comments and suggestions.