Searching over 5,500,000 cases.

Buy This Entire Record For $7.95

Download the entire decision to receive the complete text, official citation,
docket number, dissents and concurrences, and footnotes for this case.

Learn more about what you receive with purchase of this case.

Ancora Technologies, Inc. v. HTC America, Inc.

United States Court of Appeals, Federal Circuit

November 16, 2018

ANCORA TECHNOLOGIES, INC., Plaintiff-Appellant

          Appeal from the United States District Court for the Western District of Washington in No. 2:16-cv-01919-RAJ, Judge Richard A. Jones.

          Marc Lorelli, Brooks Kushman PC, Southfield, MI, argued for plaintiff-appellant. Also represented by Mark A. Cantor, John S. Le Roy, John P. Rondini.

          Irfan A. Lateef, Knobbe, Martens, Olson & Bear, LLP, Irvine, CA, argued for defendants-appellees. Also represented by Brian Christopher Claassen, Daniel C. Kiang, Joseph R. Re.

          Before Dyk, Wallach, and Taranto, Circuit Judges.


         Ancora Technologies, Inc.'s U.S. Patent 6, 411, 941 is entitled "Method of Restricting Software Operation Within a License Limitation." The patent describes and claims methods of limiting a computer's running of software not authorized for that computer to run. It issued in 2002, and the patentability of all claims was confirmed in a reexamination in 2010. The '941 patent was previously before this court in Ancora Technologies, Inc. v. Apple, Inc., 744 F.3d 732 (Fed. Cir. 2014), which involved a 2011 infringement suit against Apple that raised issues of claim construction and indefiniteness in this court.

         Ancora brought this action against HTC America and HTC Corporation in 2016, alleging infringement of the '941 patent. HTC moved to dismiss on the ground that the patent's claims are invalid because their subject matter is ineligible for patenting under 35 U.S.C § 101. The district court granted HTC's motion to dismiss, concluding that the claims are directed to, and ultimately claim no more than, an abstract idea.

         We reverse. Under Enfish, LLC v. Microsoft Corp., 822 F.3d 1327 (Fed. Cir. 2016), and related authorities, we conclude, the claims at issue here are not directed to ineligible subject matter. Rather, we hold, the claimed advance is a concrete assignment of specified functions among a computer's components to improve computer security, and this claimed improvement in computer functionality is eligible for patenting. As a result, the claims are not invalid under § 101.



         Describing aspects of the prior-art methods it seeks to improve, the '941 patent states that "[n]umerous methods have been devised for the identifying and restricting of an unauthorized software program's operation." '941 patent, col. 1, lines 12-14. For example, software-based methods exist that require writing a license signature on the computer's hard drive, but a flaw in those methods is that such a signature can be changed by hackers without damaging other aspects of computer functionality. Id., col. 1, lines 19-26. Hardware-based methods exist that require inserting a dongle into a computer port to authenticate the software authorization, but those methods are costly, inconvenient, and not suitable for software sold and downloaded over the internet. Id., col. 1, lines 27-32.

         The '941 patent describes an asserted improvement based on assigning certain functions to particular computer components and having them interact in specified ways. The proposed method "relies on the use of a key and of a record." Id., col. 1, lines 40-41. A "key," which is "a unique identification code" for the computer, is embedded in the read-only memory (ROM) of the computer's Basic Input Output System (BIOS) module: the key "cannot be removed or modified." Id., col. 1, lines 45-51. A "record" is a "license record" associated with a particular application: "each application program that is to be licensed to run on the specified computer[] is associated with a license record[] that consists of author name, program name[, ] and number of licensed users (for network)." Id., col. 1, lines 52-57.

         The asserted innovation of the patent relates to where the license record is stored in the computer and the interaction of that memory with other memory to check for permission to run a program that is introduced into the computer. The inventive method uses a modifiable part of the BIOS memory-not other computer memory-to store the information that can be used, when a program is introduced into the computer, to determine whether the program is licensed to run on that computer. BIOS memory is typically used for storing programs that assist in the start-up of a computer, not verification structures comparable to the software-licensing structure embodied by the claimed invention. Using BIOS memory, rather than other memory in the computer, improves computer security, the patent indicates, because successfully hacking BIOS memory (i.e., altering it without rendering the computer inoperable) is much harder than hacking the memory used by the prior art to store license-verification information. Id., col. 3, lines 4-17; see Ancora, 744 F.3d at 733-34 ("Thus, the inventors stated that their method makes use of the existing computer hardware (eliminating the expense and inconvenience of using additional hardware), while storing the verification information in a space that is harder and riskier for a hacker to tamper with than storage areas used by earlier methods.").

         More specifically: The method calls for storage of a license record in a "verification structure" created in a portion of BIOS memory that, unlike the ROM of the BIOS, "may be erased or modified"-for example, an Electrically Erasable Programmable Read Only Memory (E2PROM), which may be altered by "using E2PROM manipulation commands." Id., col. 1, line 65 through col. 2, line 5. The role of the verification structure is to "indicate that the specified program is licensed to run on the specified computer." Id., col. 1, lines 60-62. "This is implemented by encrypting the license record (or portion thereof) using [the computer-specific] key (or portion thereof) . . . as an encryption key." Id. at lines 59-67. When a program has been loaded into the computer's volatile memory (e.g., Random Access Memory), the computer, in order to verify authorization to run that program, "accesses the program under question, retrieves therefrom the license record, encrypts the record utilizing the specified unique key . . . and compares the so encrypted record" to the one stored ...

Buy This Entire Record For $7.95

Download the entire decision to receive the complete text, official citation,
docket number, dissents and concurrences, and footnotes for this case.

Learn more about what you receive with purchase of this case.