Federal Circuit: Software Function Equals Structure

by Dennis Crouch

KEYnetik, Inc. v. Samsung Electronics Co. (Fed. Cir. 2023)

This short non-precedential opinion authored by Chief Judge Moore affirms a PTAB IPR obviousness finding.  The case has one key sentence:

Normally, once the function to be performed by software has been identified, writing code to achieve that function is within the skill of the art.

Slip Op.  This statement sits well with modernist design principles aptly stated by architect Louis Sullivan: “Form ever follows function.”

The patent challenger had provided expert testimony that software modifications needed to transform the prior art into the claimed invention would be “straightforward” and “simple.”  Those statements were not backed-up with specific analysis showing exactly how the modifications would be done.  However, the Federal Circuit concluded that these general conclusions combined with the implied judicial notice from above were sufficient to support the PTAB’s factual finding that PHOSITA would have “a reasonable expectation of success” in making the transformation.

Going back to the function-equals-structure statement from above: The court does not explain or particularly justify its factual conclusion other than to cite  its own 1997 decision of Fonar Corp. v. Gen. Elec. Co., 107 F.3d 1543, 1549 (Fed. Cir. 1997).  Fonar Corp. did not deal with obviousness, but instead was an appeal on the issue of best-mode disclosure under Section 112.   The patentee had provided functions of the software in its disclosure but had not provided the computer code itself.  On appeal, the Federal Circuit found that disclosure of the functionality was sufficient to satisfy best mode:

As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed. It is well established that what is within the skill of the art need not be disclosed to satisfy the best mode requirement as long as that mode is described. Stating the functions of the best mode software satisfies that description test. We have so held previously and we so hold today.

Id.  The Federal Circuit did not endeavor to work through its Section 112(f) jurisprudence where it has repeatedly held that disclosure of function is insufficient to satisfy the ‘structure’ requirements of that provision.

64 thoughts on “Federal Circuit: Software Function Equals Structure

  1. 8

    The test for 112(f) “sufficient structure” and 112(a) enablement are different.

    “Furthermore, it is well established that proving that a person of ordinary skill could devise some method to perform the function is not the proper inquiry as to definiteness[in context of 112(6)]—that inquiry goes to enablement. See Blackboard, 574 F.3d at 1385. Simply put, [a] patentee cannot avoid providing specificity as to structure simply because someone of ordinary skill in the art would be able to devise a means to perform the claimed function.” link to casetext.com

    Enablement test is whether one skilled in the art could make something, in light of the disclosure, without undue experimentation.

    Test for 112(f) is whether one of ordinary skill in the art would recognize, at time of filing, a structure as being known to perform a given function .

    It is entirely possible that one of ordinary skill both (a) could, in light of a disclosure, program a processor to perform a novel function without undue experimentation and (b) at time of filing, not have recognized software as something known to carry out the claimed function. [indeed, if the function is novel, then it becomes pretty likely that software was not previously recognized as structure for carrying out that function , which is why the court has commented on using MPF at point of novelty].

    1. 8.1

      In KEYnetik, for example claim 7, was apparently not construed as using means plus function language.
      7. The system of claim 1, wherein the fast motion detection by the motion detector includes instructions to compute and add to the profile a rotation angle required to transfer from a first motion phase to a second motion phase based on orientation at the first and second motion phases, the first and second motion phases selected from the group consisting of: slow motion and rest.
      In KEYnetik, the CAFC cited Fonar Corp v Gen Elec. Corp. v. Gen. Elec. Co., 107 F.3d 1543, 1549 (Fed. Cir. 1997). That case hinged on the written description of the best mode. The exemplary claims 1 are written as a method claims for the two patents at issue in regard to description of best mode under 112.

      For claim 12 of the ‘832 patent, an apparatus claim, for which infringement was at issue. it was found that claim 12 recited sufficient structure to affirm the finding of infringement.

  2. 7

    Serious question to you patent drafters. Would have appendix to the application with pseud0-code have saved the claim? How about assembler code? C code? ADA, Pascal, Fortran? Are you not “drilling down” enough on your inventors? Time/costs constraints ?

    1. 7.1

      … saved the claim…?

      Did the claim need saving in this case?

      By the by — it is unusual, albeit not unheard of, to include at least some pseudo code. Of course, as patents are legal documents and not engineering documents, this step is largely not required.

    2. 7.2

      If you want narrow scope directed to what you have already programmed at the time of filing, then yeah including code is probably the best way to do it. But usually people want to leave the scope of potential claims broad at time of filing. Specific code thats narrowly written isnt going to help. Then you can try to broaden the code, so instead of being based on a specific parameter, it is based on a generic “parameter,” but at some point that becomes psuedo-code, then a little while later it just becomes those black box diagrams with a bunch of arrows going to generic black boxes/modules called, e.g., “parameter sensor” –> “function implementer” —> “output determiner” etc. etc.

    3. 7.3

      In general, it’s a good idea to have a flow diagram in order to show possession. The detail of the flow diagram should be sufficient to allow a person of ordinary skill in the art to conclude that the inventor had possession of the invention.

      1. 7.3.1

        The question of “level of detail” might be the point under consideration.

        (And worth a reminder to all: when the Supreme Court reached to super-empower PHOSITA for anti-patent 103 reasons, this had a direct (and most likely unintended) consequence of LOWERING what needed to be included for that selfsame PHOSITA to conclude possession/enablement.

  3. 6

    RG has some great comments below but … seriously, this is one of the silliest statements out of the CAFC in quite a while and that’s saying something.

  4. 5

    “The Federal Circuit did not endeavor to work through its Section 112(f) jurisprudence where it has repeatedly held that disclosure of function is insufficient to satisfy the ‘structure’ requirements of that provision.”

    Stop the presses. Are you saying the Federal Circuit is inconsistent?

    1. 5.1

      The structure required by 112(f) has always been a different standard than the enablement standard. The fed circuit has addressed this numerous times. Saying “one of ordinary skill would recognize structure for this function” is fine for enablement. It does not work for 112(f).

      This is true for software or anything else. It is well established.

  5. 4

    You know this hits directly on the key issue of software development and really all innovation.

    If a person skilled in the art can implement the function, then reciting the function is enough. But there are lots of functions one can recite that can’t be implemented by a person skilled in the art. That is the edge of innovation.

    Five years ago there was a cartoon about writing a program to identify the birds in a picture. It would have been very difficult five years ago. But now with modern neural network technologies a person skilled in the art of AI, can write a program to do that.

    This is the same in all the art units.

    1. 4.1

      >>>Id. The Federal Circuit did not endeavor to work through its Section 112(f) jurisprudence where it has repeatedly held that disclosure of function is insufficient to satisfy the ‘structure’ requirements of that provision.

      Yes, this illustrates the CAFC is filled with judicial activists who want to limit patents and not create a consistent workable framework for patents.

    2. 4.2

      This line of reasoning the CAFC is exhibiting is the basis of Benson.

      And what is so shocking about all this is that there isn’t any difference in other areas such as mechanical or circuits but the CAFC consistently treats software differently.

      1. 4.2.1

        There is something strange about this too in that the CAFC looks at whether implementing the changes could be done rather than whether the changes themselves were non-obvious.

        Would one say that making fiber optic cable was obvious because one skilled in the art would know how to manufacture layers of fiber with different reflective indices?

        1. 4.2.1.1

          Was an electric motor –the first one–obvious because a person skilled in the art knew how to wrap copper around a magnet?

        2. 4.2.1.2

          I agree that “could have” is not enough to establish obviousness. “[O]bviousness concerns whether a skilled artisan not only could have made but would have been motivated to make the combinations or modifications of prior art to arrive at the claimed invention.” Belden Inc. v. Berk-Tek LLC, 805 F.3d 1064, 1073 (Fed Cir Nov. 5, 2015).

          1. 4.2.1.2.1

            Not that you indicated otherwise, but this seems like a good place for a reminder that the legal phrase is “motivation to combine and NOT motivation for any one piece part value.

            Some (any) piece part may always have its own intrinsic value, but misapplying (or not applying) the “to combine” aspect tends to turn 35 USC 103 into a piece part 35 USC 102, and that is not how the law was intended.

      2. 4.2.2

        And what is so shocking about all this is that there isn’t any difference in other areas such as mechanical or circuits but the CAFC consistently treats software differently.

        It is simply inte11ectually dishonest to treat any of the design choices in the computing arts (software, hardware, firmware) as not being patentably equivalent.

    3. 4.3

      I don’t think anyone (reasonable) disagrees with: “there are lots of functions one can recite that can’t be implemented by a person skilled in the art. That is the edge of innovation.” And I think we (reasonable people) all want those who advance this edge by disclosing how to implement such functions to be rewarded by the patent system.

      The disagreement is about that interior space bound by the “edge of innovation.”

    4. 4.4

      The level of ordinary skill is not stagnant over time. However, it is “fixed” at the time of invention or when the application was filed. From a highly technical point of view, the level of ordinary skill in the art five years ago is different from the level of ordinary skill today or even one year ago. As always, one needs to demonstrate that the innovation was beyond the level of ordinary skill.

          1. 4.4.1.1.1

            You noted a need to demonstrate beyond.

            Beyond “what” exactly?

            That what is one of the Graham Factors, and we both know the “who” that has the need to demonstrate that, eh?

            1. 4.4.1.1.1.1

              Oh, I see where you’re coming from. No, I was speaking from the rebuttal context.
              The Examiner mashes together a reference from 1905 and a reference from 1992, and then works backward to take the position that the combined references reflect the level of ordinary skill as of the date the application was filed or date of invention (whichever is relevant) but say that happened in 2010. What was the actual level of ordinary skill in 1905 or in 1992? If the level of ordinary skill is determined from the 1905 and 1992 references, what is the level of ordinary skill determined from the mash-up of those references? Is it anything even close to what would be the actual level of ordinary skill from 2010? Is it mashed-up level of ordinary skill just assumed to be inherently within the level of ordinary skill of 2010? I’m sure one could argue that the person of ordinary skill in 1992 would have possessed the knowledge of a person of ordinary skill from 1905 (everyone’s making this all up as they go so hang the sense of it), and one could also argue that knowledge from 1905 was lost to the ordinary skilled artisan of 1992 so you can’t say that the person of ordinary skill of 1992 would have known everything that would have been known to the person of ordinary skill of 1905 (then again, it’s all a legal fiction to begin with). If the implicit skill level determination is based upon prior art from 1905 and 1992, then one will have to (1) demonstrate that the level of ordinary skill of 2010 was beyond that the implicitly determined skill level determine; (2) the actual level of skill of the patent/application was beyond the level of ordinary skill of 2010; or (3) demonstrate both of the foregoing.

              1. 4.4.1.1.1.1.1

                Thanks ipguy, yes, I too was hinting at your rebuttal context.

                An applicant has to rebut a properly established rejection. If the Examiner has
                f
                a
                I
                l
                e
                d
                to properly establish a rejection that relies on using a Person Having Ordinary Skill In The Art, applicant’s only requirement is to push back on the examiner for this lack. See the Graham Factors.

                As to your additional details, the use of prior art references (1905 and 1992) are used for their dates for what they teach as of that date. An application being examined AFTER those dates must frame PHOSITA FOR THOSE REFERENCED as the teachings of those dates. If something different is wanted, then a different reference is needed.

                As to the notion of, “and one could also argue that knowledge from 1905 was lost to the ordinary skilled artisan of 1992” – this would be a hard no. The juristic construct (read that correctly as NOT a real person) of the legal person of PHOSITA can NOT “lose” any item of prior art, and the implicit skill level (another Graham Factor, by the way). The rest of your hypo would follow existing law.

    5. 4.5

      If a person skilled in the art can implement the function, then reciting the function is enough.

      That ignores that not all algorithms are equal. Under your viewpoint you could never “improve” a function, because the first disclosure of the function placed every manner of performing the function into public knowledge.

      Five years ago there was a cartoon about writing a program to identify the birds in a picture. It would have been very difficult five years ago. But now with modern neural network technologies a person skilled in the art of AI, can write a program to do that.

      I mean it certainly sounds like you just recognized a jump in enablement after only five years…

      1. 4.5.1

        That ignores that not all algorithms are equal

        Well certainly algorithms that DO different things are different.

        But otherwise, you are going to run afoul of the Slashdot/TechDirt folks and their MathS view of equivalence.

        I do wonder if P01r is still around…

      2. 4.5.2

        RandomGuy, I wonder if you understand patent law at all.

        I’ve quoted to books used at MIT that say that functional language is used to capture the set of all previous solutions.

  6. 3

    To the point about 112(f), I don’t see any tension. 112(f) is just asking a different question: Is there sufficient structure to perform the recited function? That’s not the same inquiry as whether one of skill would hypothetically be able to devise an implementation when informed of the function at issue.

    1. 3.1

      Here is the tension: A claim limitation is not given mpf treatment if the claim language itself recites sufficient structure to carry out the recited function. This case says that reciting the function of a software implemented invention is the same as reciting the structure.

      This case, therefore, indicates that limitations of software implemented inventions are less likely to be given mpf tretment.

      Did the Federal Circuit intend this result? Who knows.

      1. 3.1.2

        This has been the case for a while.

        Reciting “processor for [software function]” in a claim generally does not invoke MPF, because processor is sufficient structure for software function..

        Reciting “means for [software function”” in the claim, where the specification says “the means is a processor” will both invoke MPF and fail the structure test, because “processor” once MPF is invoked has been held not to be sufficient structure.

        This doesnt make sense, but I think its only a matter of time until “processor” in the claim starts invoking 112(f).

        1. 3.1.2.1

          Which does draw a different issue into the light, given that THE CHOICE of invoking 112(f) — as written by Congress — is a choice of the applicant, even though it is only by the courts re-writing what Congress wrote that has resulted in this moving target of what may be deemed to invoke 35 USC 112(f).

          We should return to that state of choice OF the applicant. It really is pretty clear when an applicant would make such a choice (and use the direct words).

  7. 2

    Function: Associate multiple logins to a single record in a database when the login identity is ambiguous.

    So PHOSITA should be able to do that, knowing the identified function?

    I don’t think so.

    1. 2.1

      That’s not really the devastating hypo you think it is.

      Can someone skilled in the art implement that literal function? Absolutely. Will the implementation be painfully crude and naive? Probably. But you—and same goes for Wt below—never specified the functions had to be done in some kind of sophisticated, accurate, and/or highly efficient way, even though you seem to be under the impression that you did. That to me is the fundamental issue here.

      1. 2.1.1

        Doesn’t that swallow all of patent law?

        If one engineer does the function it in a sophisticated, accurate, and/or highly efficient way, and another can only manage a painfully crude and naive execution, shouldn’t the former be able to gain a patent by disclosing their means of accomplishing the function? Isn’t the former engineer not ordinary, or rather, less ordinary than the latter?

        Isn’t that the point of the patent system?

        1. 2.1.1.1

          If nothing else, it would make speculative fiction “prior art” I.e., all you need to do is identify some function that would be nice-to-have; the actual implementation is just routine skill…

          1. 2.1.1.1.1

            ChatGPT? Sorry, your patents are obvious in view of the “Star Trek” computer, HAL, etc. Meta’s multi billion dollar R&D program? Sorry, obvious in view of “Snowcrash,” etc

        2. 2.1.1.2

          This strikes me as a rather poor “software patent skeptical” argument.

          The latter engineer can always get a patent by disclosing and claiming their particular way of achieving the function. So there’s really no problem there.

          Perhaps the question you mean to raise is whether the latter engineer should owe anything to the first engineer based on the first engineer’s articulation of the function?

          1. 2.1.1.2.1

            Perhaps the question you mean to raise is whether the latter engineer should owe anything to the first engineer based on the first engineer’s articulation of the function?
            So if you can make a single improvement on a prior patent, you are now immune from being accused of infringement — is that your position?

            1. 2.1.1.2.1.1

              No, it’s not.

              Though it’s an interesting idea.

              Clearly the patent system wouldn’t provide any incentive if I could get around your patent by receiving a patent to your invention with some trivial minor addendum that I was already going to incorporate into my product.

              But then again, I don’t think that patents should be granted based on claiming someone else’s invention with some trivial minor addendum.

              If we had a significant requirement for “improvement”, perhaps excluding such improvements from infringement would more effectively promote the progress.

              But it wouldn’t work under the current rules of the game.

              1. 2.1.1.2.1.1.1

                “significant”…

                Like Flash of Genius?

                You do (or rather, should) recognize that “improvement” is a misnomer, eh?

                Most all fantastic changes to prior art things and methods quite often are and work WORSE than the items they eventually supplant.

                Anyone who has studied the history of innovation would know that.

                Further, your view misses that the word “promote” was never intended to be limited to “advances,” and that the concept also includes the notion of “advertise,” as in an advertising promotion.

                Anyone who has studied the history of the United States in view of the history of innovation would know that.

                But you keep on being you, Ben.

                1. (… that work worse is to be understood as work worse initially — most corporations understand this and continue to develop after the initial invention)

            2. 2.1.1.2.1.2

              So if you can make a single improvement on a prior patent, you are now immune from being accused of infringement — is that your position?

              If the first patent were properly scoped and a second person comes up with a non-obvious variant that achieves the same function, the first patent scope should not make an infringer of the second one. If the first patentee demonstrated possession of the second invention, the second patent would not issue. If the second patent issues, it is only because the first inventor did not possess the scope of the second invention. The first inventor is required to possess the full scope of their invention.

              Here’s an analogy:
              Person A comes up with a car with an improved engine at gets 60 miles to the gallon. They have claim 1, which is a car that gets at least 60 miles to the gallon, and claim 2, which details the structure of the engine.

              Person B sees A’s patent and makes several nonobvious structural improvements to the engine, and now the car gets at least 70 miles to the gallon. They receive claim 2, which is a car that gets at least 70 miles to the gallon, and claim 2, which details the structure of their engine.

              Claim A1 renders anyone who practices Claim B1 an infringer, which only proves that A1 is overbroad. A had to posses all of A1, and A did not because the B invention was found to be a nonobvious improvement to A, which means A didn’t demonstrate possession of it. Conversely, properly sized A2 and B2 do not conflict. A claims a structure that is not infringed and not equivilent to the B structure.

              There is an edge case where A could have a valid scope and B could have an invention in some synergistic combination that uses A, but that wouldn’t happen in software because software does not behave unexpectedly.

              1. 2.1.1.2.1.2.1

                Here’s an analogy:

                My, that’s a pretty strawman, given that open-ended ranges are known to be “bad.”

                This though does not sound in your usual mantra, Random. Now why is that?

          2. 2.1.1.2.2

            Why? The function has been specified, therefor all implementations are just routine skill.

        3. 2.1.1.3

          As always, the name of the game is the claim. That seems to be the point of the patent system to me.

          If you claim, to use Wt’s example, “autonomously driving a vehicle” and leave it at that, then yes, someone can come along with a 1995 Lego Logo programmable car and implement the function with ease.

          Likewise for your example.

          I’m actually struggling to come up with an example in the present genre of functionally-described software that couldn’t be readily implemented by an ordinary skilled worker.

          1. 2.1.1.3.1

            Isn’t “articulation of the function” a statement of the problem to be solved?

            And isn’t a better way of solving the problem the point of the patent system?

            And if one engineer is more creative than another, are they both PHOSITA?

            kotodama, my example is real world. That patent will issue next Tuesday.

          2. 2.1.1.3.2

            I’m actually struggling to come up with an example in the present genre of functionally-described software that couldn’t be readily implemented by an ordinary skilled worker.

            What a statement. So theres no more inventing to do in software?

            Okay off the top of my head, what is the algorithm that will provide you an exact driving time for a trip from an arbitrary location in Chicago to an arbitrary location in New York? In other words, what is the optimum google maps algorithm? It’s “readily implemented” by an ordinary skilled worker, right?

        4. 2.1.1.4

          If one engineer does the function it in a sophisticated, accurate, and/or highly efficient way, and another can only manage a painfully crude and naive execution, shouldn’t the former be able to gain a patent by disclosing their means of accomplishing the function? Isn’t the former engineer not ordinary, or rather, less ordinary than the latter?
          This is a simple genus – species hypothetical. The patenting of a genus does not preclude the patenting of a species.

          So no, your example does not swallow all of patent law.

      2. 2.1.2

        “That to me is the fundamental issue here.”

        I’d say the fundamental issue is whether granting patents with claims encompassing effective implementations based on disclosures of poor implementations actually promotes progress.

        1. 2.1.2.1

          I’d say the fundamental issue is whether granting patents with claims encompassing effective implementations based on disclosures of poor implementations actually promotes progress.
          So any patent (that could later be the subject of an improvement patent) does not actually promote progress — is that your position?

          1. 2.1.2.1.1

            No, and I don’t believe that’s a remotely reasonable interpretation of what I said. Your ally’s reading comprehension skills appear to be rubbing off on you.

            1. 2.1.2.1.1.1

              You believe in error Ben.

              That’s just not a surprise.

              You choose rather emotive — but relative — (effective and poor), and Wt’s characterization can very well fit those words, as a first patent (than can be improved upon with later patents) may easily be said to be poor in comparison as the later patents just as easily could be said to be more effective (and hence obtaining an improvement patent).

              You may have wanted to say something else, but that is not what you did.

        1. 2.1.3.1

          What I am agreeing with is Kotodama’s remark 2.1: “That to me is the fundamental issue here.”

          1. 2.1.3.1.1

            There are two classes of describable function being discussed. Those describable functions that can be implemented by the journeyman coder, and those describable functions that require some invention to implement. There will be ambiguous members of both classes arguably on one side of the line or the other. And there will be many instances of both that are clearly one class or the other. Sounds like obviousness.

            1. 2.1.3.1.1.1

              No, not obviousness. Sounds like enablement: has the described function provided enough detail to enable the PHOSITA to code the function? The court takes the position that the implementation is always enabled. But clearly, that’s not true. The court’s position is that the class of describable functions, implemented in software, are always enabled. Good luck with that!

              1. 2.1.3.1.1.1.1

                In this case the court considered the difficulty of implementing the functionality. So the assumption that a POSITA would have been able to make the invention was reasonable.
                “Dr. Abowd’s testimony detailing the modified function of the code and that implementing such a modification would be “simple” and “straightforward” was sufficient to establish a reasonable expectation of success.”

    2. 2.2

      So PHOSITA should be able to do that, knowing the identified function?
      Yeah.

      I would like to know (with likely help from the specification) as to what is meant by “a single record” and “identity is ambiguous.” Also, what is meant by “associate”?

      1. 2.2.1

        Statement of the problem to be solved:

        Entities interacting with computing systems often create two fundamental objects: records relating to the entity’s purpose in processing information, and login/credentialing records relating to the entity’s permissions and preferences with the system.

        Entities often forget or lose credentials, and/or create multiple login and
        entity records, thereby creating duplicate records and other clutter in the resulting database.

        *********************************
        A computer-implemented method for resolving ambiguity in computer data includes processing a record creation request transmitted from a computing device. The record creation request includes entity creation data and a login key. The login key includes a primary identifier and a password. The computer-implemented method also includes executing a matching algorithm with a selectable combination of the entity creation data at an entity database to identify a single entity record matching a selectable combination of the record creation request. The single entity record is linked to multiple different login keys.
        *********************************

        The identified function thus: The result will be a single record in the database with no duplicates and the ability to register multiple times with different credentials.

        Pray tell me, how is the implementation guaranteed by statement of the function? PHOSITA may not be able to solve it without lots of experimentation, because it’s an actual problem in the real-world, right now.

        Use the plain and ordinary meanings of the words “a single record”, “identity is ambiguous.” and “associate”

  8. 1

    Normally, once the function to be performed by software has been identified, writing code to achieve that function is within the skill of the art.
    True fact — unless the “function” is something ridiculous such as “autonomously driving a vehicle.”

Comments are closed.