From Casetext: Smarter Legal Research

Nazomi Commc'ns, Inc. v. Samsung Telecomms., Inc.

UNITED STATES DISTRICT COURT FOR THE NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION
Mar 21, 2012
No. C-10-05545 RMW (N.D. Cal. Mar. 21, 2012)

Opinion

No. C-10-05545 RMW

03-21-2012

NAZOMI COMMUNICATIONS, INC., Plaintiff, v. SAMSUNG TELECOMMUNICATIONS, INC., et al., Defendants.


ORDER DENYING MOTION FOR SUMMARY JUDGMENT OF INVALIDITY


[Re Docket No. 144]

Defendant Kyocera Communications, Inc. ("Kyocera") moves for summary judgment that the claims of U.S. Patent No. 6,338,160 (the "'160 Patent") are invalid under 35 U.S.C. § 101. Plaintiff opposes the motion. On March 16, 2012, the court held a hearing to consider Kyocera's motion. Having considered the papers submitted by the parties and the arguments of counsel, and for the reasons set forth below, the court denies the motion.

I. BACKGROUND

The '160 Patent, titled "Constant Pool Reference Resolution Method," is assigned to plaintiff Nazomi Communications, Inc. ("Nazomi"). The abstract provides:

An implementation of Java is disclosed in which references to the constant pool are implemented by using a Data Resolution Field within the constant pool entry. The Data Resolution Field acts as an index to a jump table to jump to resolve the reference or to perform the bytecode instruction. When the reference is resolved, the
contents of the Data Resolution Field in the constant pool entry are modified so that the next time the bytecode is run, the resolution steps need not be done.
As explained in the specification, Java is a programming language that is portable across different platforms and operating systems. '160 Patent at 1:11-14. This portability is achieved by use of bytecodes, which are instructions that are not specific to a particular processor. Id. at 1:30-34. When a Java program is executed, a bytecode interpreter, part of the Java Virtual Machine, converts the bytecodes into instructions for the processor on which it is running. Id. at 1:34-43. Because Java is run from the Virtual Machine, it is possible to operate programs without having all references to objects resolved, for example before the program is completely downloaded from the internet. Id. at 1:45-52. However, this creates a problem in that it may be time-consuming to resolve a reference each time an instruction, such as an invoke instruction, is run. Id. at 1:53-59.

The '160 Patent describes the invention of a Resolution Data Field, which is used in constant pool entries. Id. at 2:19-21. A constant pool is a data structure. Id. at 7:41-43. When a bytecode references a constant pool, data is obtained from the constant pool, including data from a resolution data field. Id. at 7:63-67. The data from the resolution data field is used as an index to a jump table. Id. at 7:67-8:1. The jump table causes the system to behave differently depending on whether the reference is resolved. Id. at 8:1-8. If the reference is not resolved, the system checks whether the object referred to is in memory and, if not, loads it into memory. Id. at 8:5-8. The data in the constant pool is modified to indicate the location of the found or loaded reference, and the resolution data field is set so as to indicate that the reference is resolved. Id. at 8:8-13. The next time the bytecode is operated on, the system will jump to normal operation of the resolved reference. Id. at 2:33-37, 8:3-4. Thus, after the first operation of the bytecode, the system need not search for the object in memory. Id. at 2:37-39.

The '160 Patent compares the disclosed invention to an earlier version of the Java Virtual Machine that used quick variants of bytecodes. When using quick variants, each standard bytecode would resolve the specified item in the constant pool and turn itself into the quick variant of itself. Id. at 1:65-2:2. However, because the bytecode must be overwritten by the quick variant, the bytecodes cannot be run from read-only memory. Id. at 2:10-12. The invention of the '160 Patent does not modify the bytecode itself, and so the bytecode can be run from read-only memory. Id. at 2:40-43. The ability to run a program from read-only memory is useful in certain circumstances, particularly for embedded systems. Id. at 2:12-14.

The claims of the '160 Patent are all directed to "a method of executing an instruction." Claim 1 recites:

1. A method of executing an instruction comprising:
obtaining from an instruction storage location, an instruction that references a data structure, the data structure storing an indication of a reference that may need resolution;
obtaining data from the data structure including data from a resolution data field;
using data from resolution data field as an index to a jump table to determine whether to do a resolving step; and
thereafter, if the data in the data resolution field indicates that the reference was not resolved, resolving the reference and, thereafter, modifying the data in the data structure including modifying the data in the resolution data field to indicate that the reference is resolved, wherein the data in the instruction storage location is not modified.
Claim 11, the only other independent claim, is substantially the same as Claim 1, except it refers to a "constant pool entry" instead of a "data structure."

II. ANALYSIS

Kyocera moves for summary judgment that all claims of the '160 Patent are invalid under 35 U.S.C. § 101. Section 101 provides for the patenting of "any new and useful process, machine, manufacture, or composition of matter," subject to the conditions and requirements of Title 35. Supreme Court precedents provide "three specific exceptions to § 101's broad patent-eligibility principles: 'laws of nature, physical phenomena, and abstract ideas.'" Bilski v. Kappos, 130 S. Ct. 3218, 3225 (2010) (quoting Diamond v. Chakrabarty, 447 U.S. 303, 309 (1980)).

Kyocera argues that the claims of the '160 Patent cover abstract ideas and are analogous to the claim held invalid in Gottschalk v. Benson, 409 U.S. 63 (1972). In Benson, the applicant sought to patent a method of converting numbers from binary-coded decimal (BCD) form to pure binary form. The Court noted that "[t]he claims were not limited to any particular art or technology, to any particular apparatus or machinery, or to any particular end use. They purported to cover any use of the claimed method in a general-purpose digital computer of any type." Id. at 64. After reviewing principles of patent-eligibility, the Court concluded that the claims were invalid because "one may not patent an idea" and "in practical effect that would be the result if the formula for converting BCD numerals to pure binary numerals were patented in this case." Id. at 71. The Court found that "[t]he mathematical formula involved here has no substantial practical application except in connection with a digital computer," so a patent "would wholly pre-empt the mathematical formula and in practical effect would be a patent on the algorithm itself." Id. at 71-72.

Kyocera argues that the '160 Patent claims "cover the abstract steps of obtaining a piece of data, using said data to determine a next step to be taken, and then potentially modifying said piece of data." Mot. at 8. Like the claim in Benson, Kyocera argues, the claims are so abstract and sweeping that they cover both known and unknown uses through existing or future-devised machinery, or without any apparatus. Nazomi responds that the '160 Patent claims, when read in light of the specification, are clearly directed toward execution of computer instructions and thus are not abstract. Nazomi also argues that Kyocera's motion is premature because the court has yet to construe the claims, and claim construction will clarify the subject matter involved.

The claims here are clearly more specific than Kyocera's generalized description: the claims specify that the data obtained must include data from a resolution data field, that the next step to be taken is a resolving step, and that the modification is to indicate that a reference is resolved. The specification teaches that "[m]ost computer languages, such as C, are compiled languages. All references to objects are resolved before running of the program." '160 Patent at 1:45-47. These languages, unlike Java, would not present the situation of needing to resolve a reference during execution. In addition, the '160 Patent distinguishes the invention from prior art that required rewriting the bytecode; instead, the claims recite modifying the data in the data structure or constant pool entry, including the data in the resolution data field. The claims also recite specific implementation details, such as using data from the resolution data field as an index to a jump table.Thus, it appears that the claims are directed to a specific application and implementation of general principles, rather than broadly pre-empting the use of an abstract idea.

The specification explains that, by using a jump table, the data in the resolution data field need only be added to a base value rather than compared to a value; in most current processors, adding is faster than comparing. '160 Patent at 2:43-47.

Kyocera argues that, even adopting Nazomi's interpretation of the claims as limited to executing computer instructions, the claims are invalid. Kyocera argues that, under Nazomi's interpretation, the claims define a "programming technique" and neither the Federal Circuit nor the Supreme Court have found a programming technique to satisfy section 101. However, the thrust of both courts' decisions on subject matter eligibility make clear that section 101 is a permissive provision with limited exceptions. See, e.g., Bilski, 130 S. Ct. at 3225. Thus, it is not sufficient to show that a type of claim has never been specifically upheld; rather, Kyocera must demonstrate that the claims fall within one of the exceptions to "§ 101's broad patent-eligibility principles," id. Kyocera has not identified any categorical exclusion of programming techniques, and the claims are directed to methods, which are processes within the meaning of section 101.

Kyocera also argues, relying on Benson, that simply requiring the use of a general purpose computer does not impose a meaningful limitation on claim scope. However, as discussed above, the court in Benson concluded that allowing the claim would in practical effect allow a patent on the algorithm itself because the formula for converting BCD to pure binary "has no substantial practical application except in connection with a digital computer." 409 U.S. at 71-72. Here, Kyocera has made no showing that the '160 Patent claims involve ideas that have no substantial practical application except in connection with computer instructions.

Moreover, Kyocera has not clearly identified the abstract idea that the '160 Patent claims allegedly pre-empt. In Benson, the Court characterized the claimed invention as both a mathematical formula and an algorithm, which it defined as "[a] procedure for solving a given type of mathematical problem." The '160 Patent claims do not appear to involve either a mathematical formula or solving a type of mathematical problem. In other cases that have rejected claims under section 101 for claiming abstract ideas, courts have distilled the claims at issue to general concepts. See Bilski, 130 S. Ct. at 3231 ("Claims 1 and 4 in petitioners' application explain the basic concept of hedging, or protecting against risk . . . ."); Dealertrack, Inc. v. Huber, --- F.3d ----, 2012 WL 164439 at *16 (Fed. Cir. 2012) ("The claim 'explain[s] the basic concept' of processing information through a clearinghouse . . . ." (quoting Bilski, 130 S. Ct. at 3231)). The court does not discern any "basic concept" that is explained by the claims of the '160 Patent. See also Research Corp. Techs., Inc. v. Microsoft Corp., 627 F.3d 859, 868 (Fed. Cir. 2010) (declining "to define 'abstract' beyond the recognition that this disqualifying characteristic should exhibit itself so manifestly as to override the broad statutory categories of eligible subject matter and the statutory context that directs primary attention on the patentability criteria of the rest of the Patent Act" and "perceiv[ing] nothing abstract in the subject matter of the processes claimed" for rendering a halftone image).

At the hearing, Kyocera likened the basic concept behind the '160 Patent to writing down the location of something, so that in the future the location is readily at hand. A bare claim on that concept might well be considered unpatentably abstract. However, as discussed above, the '160 Patent claims recite what appear to be fairly specific steps, and the specification distinguishes the invention from a prior art technique that operates on the same principle of not resolving a reference more than once. The invention, a resolution data field, has the advantage of not requiring overwriting the bytecode and thus allowing bytecodes to be run from read-only memory. Thus, the claims appear to be directed to a narrow improvement useful in specific contexts. See Research Corp., 627 F.3d at 869 (noting "inventions with specific applications or improvements to technologies in the marketplace are not likely to be so abstract that they override the statutory language and framework of the Patent Act").

This court's conclusion that the '160 Patent claims are not unpatentably abstract is reinforced by the Supreme Court's most recent decision in Mayo Collaborative Services v. Prometheus Laboratories, Inc., No. 10-1150, 566 U.S. ---, 2012 WL 912952 (2012). In Mayo, the Court recognized that "all inventions at some level embody, use, reflect, rest upon, or apply laws of nature, natural phenomena, or abstract ideas." Slip op. at 2. In distinguishing between processes that are patent eligible and those that are impermissibly broad, the Court focused on whether the process contains additional steps that "transform[] the process" from one that pre-empts all use of a natural law "into an inventive application of the formula." See id. at 3, 11-12; see also id. at 14-15 (discussing favorably English case in which "the claimed process included not only a law of nature but also several unconventional steps . . . that confined the claims to a particular, useful application of the principle"). The Court rejected the claims at issue because the claims did little more than recite a law of nature and add the instruction "apply the law." See id. at 8-11. The Court found that the same reasoning applied in Benson, as the claim there "did not differ significantly from a claim that just said 'apply the algorithm.'" Id. at 16. Here, the claims of the '160 Patent do more than recite an abstract idea and say "apply it." Rather, they recite specific steps that confine the claims to a specific, useful application.

III. ORDER

For the foregoing reasons, the court denies Kyocera's motion for summary judgment.

______________

RONALD M. WHYTE

United States District Judge


Summaries of

Nazomi Commc'ns, Inc. v. Samsung Telecomms., Inc.

UNITED STATES DISTRICT COURT FOR THE NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION
Mar 21, 2012
No. C-10-05545 RMW (N.D. Cal. Mar. 21, 2012)
Case details for

Nazomi Commc'ns, Inc. v. Samsung Telecomms., Inc.

Case Details

Full title:NAZOMI COMMUNICATIONS, INC., Plaintiff, v. SAMSUNG TELECOMMUNICATIONS…

Court:UNITED STATES DISTRICT COURT FOR THE NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION

Date published: Mar 21, 2012

Citations

No. C-10-05545 RMW (N.D. Cal. Mar. 21, 2012)

Citing Cases

Nextpoint, Inc. v. Hewlett-Packard Co.

As explained above, the '731 patent, by contrast, is directed to a generic solution to the problem the…