Ex Parte Cardona et alDownload PDFPatent Trial and Appeal BoardMar 21, 201612335612 (P.T.A.B. Mar. 21, 2016) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE 12/335,612 12/16/2008 70748 7590 IBM Corp, (AUS/RCR) c/o Rolnik Law Firm, P.C. 24 N. Main St. Kingwood, TX 77339 03/23/2016 FIRST NAMED INVENTOR Omar Cardona UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www .uspto.gov ATTORNEY DOCKET NO. CONFIRMATION NO. AUS920080704US 1 1407 EXAMINER VERDI, KIMBLEANN C ART UNIT PAPER NUMBER 2139 NOTIFICATION DATE DELIVERY MODE 03/23/2016 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address( es): notices@rolnikiplaw.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte OMAR CARDONA, JAMES B. CUNNINGHAM, BALTAZAR DE LEON III, and JEFFREY P. MESSING Appeal2013-007632 Application 12/335,612 Technology Center 2100 Before BRADLEY W. BAUMEISTER, ANDREW J. DILLON, and JEREMY J. CURCURI, Administrative Patent Judges. CURCURI, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from the Examiner's Final Rejection of claims 1-20, which constitute all the claims pending in this application. Final. Act. 1. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. Appeal2013-007632 Application 12/335,612 REFERENCES AND REJECTIONS Claims 1, 5-8, 12-15, 19, and 20 are rejected under 35 U.S.C. § 103(a) as obvious over Blott (US 7,219,157 B2; issued May 15, 2007), Anderson (US 2006/0225078 Al; published Oct. 5, 2006), and Ashton (US 5,317,692; issued May 31, 1994). Final Act. 2---6. Claims 2--4, 9-11, and 16-18 are rejected under 35 U.S.C. § 103(a) as obvious over Blott, Anderson, Ashton, and Girkar (US 6,378,043 B 1; issued Apr. 23, 2002). Final Act. 6-9. STATEMENT OF THE CASE Appellants' invention relates to "allocating buffers from a buffer pool in a memory-locking environment." Spec. ,-r 1. Claim 1, reproduced below, is illustrative: 1. A computer implemented method to obtain buffers in a multiprocessor system, the method comprising: receiving a call from an I/O device driver for a buffer, the call including at least one parameter; walking a bucket data structure to a current bucket; determining whether the current bucket is free; responsive to a determination that the current bucket is free, obtaining a buffer list contained within the current bucket; determining whether sufficient buffers are obtained based on the parameter; and responsive to a determination that sufficient buffers are obtained, providing the current bucket and a second bucket as a single buffer list to the I/O device driver. 2 Appeal2013-007632 Application 12/335,612 THE OBVIOUSNESS REJECTION OF CLAIMS 1, 5-8, 12-15, 19, AND 20 OVER BLOTT, ANDERSON, AND ASHTON Contentions The Examiner finds Blott, Anderson, and Ashton teach all limitations of claim 1. Final Act. 2-5. The Examiner relies on Blott's mbuf_pull primitive for the recited "receiving a call from an I/O device driver for a buffer, the call including at least one parameter" of claim 1. Final Act. 2 (citing Blott, col. 5, 11. 54--58). The Examiner relies on Ashton's interrupt response on a read or write command for the recited "responsive to a determination that the current bucket is free, obtaining a buffer list contained within the current bucket" of claim 1. Final Act. 4 (citing Ashton, col. 5, 11. 40-44 and 60-63). The Examiner relies on Blott's enqueuing mbuf (memory buffer) pointers for the recited "responsive to a determination that sufficient buffers are obtained, providing the current bucket and a second bucket as a single buff er list" of claim 1. Final Act. 3 (citing Blott, col. 5, 1. 44--col. 6, 1. 2; col. 6, 11. 6-7). Appellants present the following principal arguments: 1. Blott does not teach the recited "responsive to a determination that sufficient buffers are obtained, providing the current bucket and a second bucket as a single buffer list" of claim 1. App. Br. 7. According to Appellants, "Blott clearly states to first enqueue (alleged providing), and then perform a determination ('return 0 if successful'). This teaching entirely contradicts claim 1 's causality, of first determining, and then providing the current bucket and a second bucket as a single buffer list." App. Br. 8. Appellants further contend that although Blott describes concatenating mbufs, Blott does not explain under what conditions Blott 3 Appeal2013-007632 Application 12/335,612 performs concatenation. App. Br. 8. See also App. Br. 10-12; Reply Br. 2- 4. 11. Blott rather than teach the claimed I/O device driver, merely teaches "operating system 102" or "network application 108". Importantly, Blott states that the applications 108 may use the mbuf pull primitive to force the system 102 to enqueue a specified ... number of mbuf pointers. Although, the 'forcing' has all the earmarks of a 'call', however, unlike the claim, Blott is teaching that the call is from applications. In contrast, claim 1 recites, "receiving a call from an 1/0 device driver". App. Br. 13. 111. Ashton does not teach the recited limitation of claim 1, "responsive to a determination that the current bucket is free, obtaining a buffer list contained within the current bucket." App. Br. 13; see also App. Br. 14--15 (Ashton does not teach claim 1 's causality); Reply Br. 4--5. In response to these three arguments of Appellants, the Examiner explains, respectively, that Blott's mbuf_pull returning 0 indicates that sufficient buffers are obtained, and subsequently, concatenated mbufs are allocated. See Ans. 8-13. The Examiner explains that Blott's applications have the same functionality as an I/O driver. See Ans. 13. The Examiner explains that Ashton's steps 400, 402 (Ashton, Fig. 4A) determines that the current bucket is free, and next buffer pointer 304 (Ashton, Fig. 3) indicates a buffer list. See Ans. 14--15. Analysis For the reasons that follow, the Examiner persuades us that Blott, Anderson, and Ashton teach all limitations of claim 1. Appellants' arguments do not show us any error in the Examiner's findings or conclusions. 4 Appeal2013-007632 Application 12/335,612 Regarding argument i, Blott discloses (col. 6, 11. 1-2 ) "mbuf_pull 214 return[ s] 0 if successful, or an error code otherwise." Thus, Blott teaches making a determination that sufficient buffers are obtained because mbuf_pull attempts to obtain a specified number of mbuf pointers, and the success of mbuf_pull means that sufficient buffers were obtained. Blott also discloses (col. 5, 11. 44--46) "applications 108 allocate mbufs by dequeueing the mbufs' pointers 410 from mbuf_alloc 302 using the dequeue routine 206." Thus, Blott provides buffers because allocating mbufs makes buffers available to an application. Further, a skilled artisan would have understood that Blott's providing buffers is responsive to Blott' s successful enqueue of mbuf pointers with mbuf_pull. Put another way, the purpose of enqueuing the mbuf pointers is to allow the mbufs to be allocated, which reasonably describes the allocating of mbufs being in response to the enqueuing of the mbuf pointers, and thus responsive to the determination that sufficient buffers were obtained. Blott discloses (col. 6, 11. 6----7) "a plurality of mbufs can be concatenated to hold a packet that is larger than a single mbuf." Thus, Blott teaches providing the current bucket and a second bucket as a single buff er list because, as discussed above, Blott allocates mbufs, and when allocated mbufs are concatenated as also taught by Blott, a single buffer list is provided. Although Appellants argue that Blott contradicts claim 1 's causality, we disagree for reasons explained above. Further, although Appellants argue regarding Blott's concatenation, we disagree and conclude that a skilled artisan would have understood that Blott taught, when providing 5 Appeal2013-007632 Application 12/335,612 buffers, providing the current bucket and a second bucket as a single buffer list to allow a packet of any length to be stored in mbufs. As discussed above, Blott allocates mbufs, and when allocated mbufs are concatenated as also taught by Blott, a single buffer list is provided. Regarding argument ii, Blott discloses (col. 5, 11. 54--58) "When necessary (e.g., mbuf_alloc 302 is empty), however, applications 108 may use the mbuf_pull primitive 212 to force the system 102 to enqueue a specified (strictly positive) number of mbuf pointers 410 synchronously into mbuf_alloc 302." We agree with the Examiner (see Ans. 13) that Blott's applications have the same functionality as an I/O driver. Thus, Blott teaches receiving a call from an I/O device driver for a buffer. Blott's applications are reasonably described as I/O device drivers because Blott's applications (bridge or router configurations) access hardware (network interfaces). Although Appellants argue Blott's call is from an application and not from an I/O device driver, we conclude that a skilled artisan would have understood that Blott teaches receiving a call from an I/O device driver (Blott's application) for the reasons given by the Examiner in the Answer. See Ans. 13. Regarding argument iii, Ashton discloses (Fig. 4A, steps 400 and 402; col. 5, 1. 55---col. 6, 1. 6) that in response to a write command from the host, the address of a first empty buffer is fetched (step 400) (and inspected to make sure it corresponds to an empty buffer (step 402)). Thus, Ashton teaches determining that the current bucket is free, and obtaining this first empty buffer. Further, Ashton (Fig. 3) discloses a linked list of buffers. Thus, Ashton teaches obtaining a buffer list (the first empty buffer is the first buff er in the list). 6 Appeal2013-007632 Application 12/335,612 Although Appellants argue that Ashton does not teach the causality of claim 1, we disagree because the buffer list is only obtained when the address of the first empty buffer actually corresponds to an empty buffer. Thus, a skilled artisan would have understood the buffer list is actually obtained upon determination that the fetched address (step 400) actually corresponds to an empty buffer (step 402). We, therefore, sustain the Examiner's rejection of claim 1, as well as claims 5-8, 12-15, 19, and 20, which are not separately argued with particularity. See App. Br. 15. THE OBVIOUSNESS REJECTION OF CLAIMS 2--4, 9-11, AND 16-18 OVER BLOTT, ANDERSON, ASHTON, AND GIRKAR The Examiner finds Blott, Anderson, Ashton, and Girkar teach all limitations of claims 2--4, 9-11, and 16-18. Final Act. 6-9. Appellants do not separately argue claims 2--4; 9-11; and 16-18. See App. Br. 15. We, therefore, sustain the Examiner's rejection of claims 2--4, 9-11, and 16-18. 7 Appeal2013-007632 Application 12/335,612 DECISION The Examiner's decision rejecting claims 1-20 is affirmed. 1 No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(l )(iv). AFFIRMED 1 Should there be further prosecution of this application, the Examiner should review claims 8-14 for compliance under 35 U.S.C. § 101. Independent claim 8, as well as dependent claims 9-14, recites "a computer readable tangible storage device," but is not limited to non-transitory devices. Furthermore, Appellants' Specification states that "[t]he medium can be ... a propagation medium" (Spec. i-f 69), thereby fhrther evidencing that the claims are intended to cover signals per se. When the broadest reasonable interpretation of a claim to a computer-readable medium covers a signal per se, as appears to be the case here, the claim must be rejected under 35 U.S.C. § 101 as covering non-statutory subject matter. See Ex parte Mewherter, 107 USPQ2d 1857, 1862 (PTAB 2013) (precedential) (citing In re Nuijten, 500 F.3d. 1346, 1356-57 (Fed. Cir. 2007)). See also U.S. Patent & Trademark Office, Subject Matter Eligibility of Computer- Readable Media, 1351 Off. Gaz. Pat. Office 212 (Feb. 23, 2010) (wherein the Office has taken the position that the ordinary and customary meaning of computer readable media covers signals per se ); MPEP § 2106 (9th ed. March 2014) ("[A] claim to a computer readable medium that can be a compact disc or a carrier wave covers a non-statutory embodiment and therefore should be rejected under 35 U.S.C. 101 as being directed to non- statutory subject matter."); 2014 Interim Guidance on Subject Matter Eligibility, 79 Fed. Reg. 74, 618, 74,621 (Dec. 16, 2014) (explaining that examiners should reject claims that do not fall within one of the four statutory categories). 8 Copy with citationCopy as parenthetical citation