Dell Products L.P.Download PDFPatent Trials and Appeals BoardFeb 2, 20222020004236 (P.T.A.B. Feb. 2, 2022) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE 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 APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 14/706,639 05/07/2015 Dharmesh Maganbhai Patel 016295.5148 8176 163866 7590 02/02/2022 BAKER BOTTS L.L.P. PATENT DEPARTMENT 98 SAN JACINTO BLVD., SUITE 1500 AUSTIN, TX 78701-4039 EXAMINER FARROKH, HASHEM ART UNIT PAPER NUMBER 2135 NOTIFICATION DATE DELIVERY MODE 02/02/2022 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): jennifer.k.smith@bakerbotts.com juli.tran@BakerBotts.com tracy.engberg@bakerbotts.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE _______________ BEFORE THE PATENT TRIAL AND APPEAL BOARD _______________ Ex parte DHARMESH MAGANBHAI PATEL and RIZWAN ALI _______________ Appeal 2020-004236 Application 14/706,639 Technology Center 2100 _______________ Before CAROLYN D. THOMAS, JASON V. MORGAN, and HUNG H. BUI, Administrative Patent Judges. BUI, Administrative Patent Judge. DECISION ON APPEAL Appellant1 seeks our review under 35 U.S.C. § 134(a) from the Examiner’s Final rejection of claims 1-20, all the pending claims. Appeal Br. 21-29 (Claims App.). We have jurisdiction under 35 U.S.C. § 6(b). We affirm.2 1 Appellant refers to “applicant(s)” as defined in 37 C.F.R. § 1.42. Appellant identifies the real party in interest as Dell Products, L.P. Appeal Br. 3. 2 Our Decision refers to Appellant’s Appeal Brief filed December 23, 2019 (“Appeal Br.”); Reply Brief filed May 19, 2020 (“Reply Br.”); Examiner’s Answer mailed March 19, 2020 (“Ans.”); Final Office Action mailed July 25, 2019 (“Final Act.”); and original Specification filed May 7, 2015 (“Spec.”). Appeal 2020-004236 Application 14/706,639 2 STATEMENT OF THE CASE Appellant’s claimed subject matter relates to “improving the performance of storage controllers in information handling systems [shown in Figure 1] having applications with varying access patterns.” Spec. ¶ 1. Figure 1 is reproduced below with additional markings and annotations for illustration: Figure 1 depicts information handling system 100 using improved performance of storage controller 110 to control access (e.g., write/read instructions) to one or more virtual storage disks 130a-130b, each including a plurality of stripe regions (e.g., hard disk drives or solid state drives from various applications 120a, 120b, 120c). Spec. ¶ 19. As shown in Figure 1, storage controller 110 may receive write requests of data blocks from applications 120 to write the data blocks as data Appeal 2020-004236 Application 14/706,639 3 stripes to virtual storage disks 130. Spec. ¶ 19. Storage controller 110 may write the data block to a particular stripe region of virtual storage disk 130, and the particular stripe region may be associated with a stripe of data of a certain size. Storage controller 110 may also maintain a data mapping table of data blocks to stripe segment locations, and map the write location of the block of data to a stripe element location in the particular stripe region of the virtual storage disk 130. Figure 4 depicting improved performance of storage controller 110, is reproduced below: Figure 4 depicts a method of improving the performance of storage controller 110, including: (1) receiving a write request including a data block Appeal 2020-004236 Application 14/706,639 4 from an application at step 420; (2) determining to which of the plurality of stripe regions the data block belongs, via (i) determining the size of the data block in the write request, or (ii) monitoring the size of the data block in the write request, or (iii) maintaining a normal write request size for the application at step 430; (3) determining whether storage controller 110 has received sufficient data to complete a full stripe of a given stripe size at step 440 or 470; and (4) if there are insufficient data blocks to complete a stripe of the size of the first size stripe region, storage controller 110 caches or otherwise temporarily stores the data block until sufficient data blocks have been received to a complete a strip of the appropriate size at step 450 or step 480. Spec. ¶¶ 41-44. Claims 1, 9, and 16 are independent. Claim 1 is representative, as reproduced below with disputed limitations emphasized and brackets added for illustration: 1. A method comprising: [A] determining, by a storage controller, a normal write request size for a first application; [B] determining, by the storage controller, a normal write request size for a second application, the determined normal write request size for the second application being larger than the determined normal write request size for the first application; [C] receiving, by the storage controller subsequent to determining the normal write request size for the first application, a first data block from the first application; [D] determining, by the storage controller based on the determination of the normal write request size for the first application, that the first data block is to be written to a first data stripe spanning a plurality of data storage resources associated with a virtual storage disk, the first data stripe including one stripe element of a first stripe element size on each of the plurality of data storage resources; [E] writing the first data block to the first data stripe; Appeal 2020-004236 Application 14/706,639 5 [F] receiving, by the storage controller subsequent to determining the normal write request size for the second application, a second data block from the second application; [G] determining, by the storage controller based on the determination of the normal write request size for the second application, that the second data block is to be written to a second data stripe spanning the plurality of data storage resources, the second data stripe including one stripe element of a second stripe element size on each of the plurality of data storage resources; and [H] writing the second data block to the second data stripe; [I] wherein the second stripe element size is larger than the first stripe element size. Appeal Br. 21 (Claims App.). REJECTIONS AND REFERENCES (1) Claims 1-20 stand rejected under 35 U.S.C. § 112(a) as failing to comply with the written description requirement. Final Act. 2-3. (2) Claims 1, 9, and 16 stand rejected under 35 U.S.C. § 103 as obvious over the combined teachings of Karamcheti et al. (US 8,996,796 B1; issued Mar. 31, 2015; “Karamcheti”), Kotzur (US 2013/0246704 A1; published Sep. 19, 2013), and Holland et al. (US 2003/0188097 A1; published Oct. 2, 20003; “Holland”). Final Act. 4-14. (3) Claims 2, 5, 6, 10, 12, 13, 17, and 19 stand rejected under 35 U.S.C. § 103 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, and Jaffe et al. (US 5,166,939; issued Nov. 24, 1992; “Jaffe”). Final Act. 14-17. (4) Claims 3, 4, 11, and 18 stand rejected under 35 U.S.C. § 103 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, and Appeal 2020-004236 Application 14/706,639 6 Jackson et al. (US 2008/0162808 A1; published Jul. 3, 2008). Final Act. 17-19. (5) Claims 7, 8, 14, 15, and 20 stand rejected under 35 U.S.C. § 103 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, Jaffe, and Hallak et al. (US 2013/0173955 A1; published Jul. 4, 2013). Final Act. 19-21. ANALYSIS Written Description In support of the lack of “written description” rejection, the Examiner finds the Specification does not describe or support the limitations: [C] receiving, by the storage controller subsequent to determining the normal write request size for the first application, a first data block from the first application; and [F] receiving, by the storage controller subsequent to determining the normal write request size for the second application, a second data block from the second application, recited in claim 1. Final Act. 3 (emphases added). Appellant refers to paragraphs 25, 26, 33, and 42 of the Specification to describe: (1) “determining the normal write request size of a given application and presuming that the size of the data block received in a write request is consistent with the normal write request” (Spec. ¶ 25); (2) “if the normal write request size approach is utilized, the storage control module 110 need not analyze the write request for each request before determining to which stripe region the data block from the write request belongs” (Spec. ¶ 25); (3) “When storage controller 110 receives a write request from application 220a, it determines to what size stripe region the data should go” (Spec. ¶ 33); and Appeal 2020-004236 Application 14/706,639 7 (4) “the storage controller periodically or continually monitoring the size of the data blocks in the application’s write requests, or designating the application in a particular class of applications that utilize a comparable data block size in their write requests.” (Spec. ¶ 42). Based on that description, Appellant contends that the Specification provides written support for the claimed “storage controller” to receive (1) “a first block data block from the first application” “subsequent to determining the normal write request size for the first application”, and (2) “a second data block from the second application” “subsequent to determining the normal write request size for the second application” recited in claim 1 and similarly recited in claims 9 and 16. In response, the Examiner characterizes Appellant’s Specification as teaching that “a data block size received from a particular application may be determined based on previous or historical data block sizes.” Ans. 5. Based on that characterization, the Examiner takes the position that “neither paragraphs [0025], [0026], [0033], and [0043] nor any other portions of the specification describe or support the limitations as claimed.” Id. We do not agree with the Examiner’s position. Written description requirement of § 112 is a question of fact. Ariad Pharms., Inc. v. Eli Lilly & Co., 598 F.3d 1336, 1351 (Fed. Cir. 2010) (en banc). The disclosure must “reasonably convey[] to those skilled in the art that the inventor had possession of the claimed subject matter as of the filing date.” Id. “[T]he level of detail required to satisfy the written description requirement varies depending on the nature and scope of the claims and on the complexity and predictability of the relevant technology.” Id. Appeal 2020-004236 Application 14/706,639 8 Contrary to the Examiner’s position, the cited portions of Appellant’s Specification describe in general that before the write request of a data block from an application 120a, as shown in Figure 1, is received, a normal write request size is determined. This normal write request size determination can be based on (1) “the application self-reporting to the storage controller the stripe size that it prefers”; (2) “the storage controller periodically or continually monitoring the size of the data blocks in the application’s write requests”; or (3) “designating the application in a particular class of applications that utilize a comparable data block size in their write requests.” Spec. ¶ 42. Thus, we agree with Appellant that, based on the teachings of Appellant’s Specification, “a skilled artisan would have understood the inventor to be in possession of the claimed invention at the time of filing, even if every nuance of the claims is not explicitly described in the specification, then the adequate description requirement is met.” Reply Br. 2 (citing Vas-Cath Inc. v. Sakharam D. Mahurka, 935 F.2d 1566, 1563 (Fed. Cir. 1991)). Therefore, the Specification’s teachings reasonably convey to those skilled in the art that the inventor had possession of the claimed subject matter as of the filing date. Because Appellant has “reasonably convey[ed] to those skilled in the art that the inventor had possession of the claimed subject matter as of the filing date,” we do not sustain the Examiner’s rejection of claims 1-20 under 35 U.S.C. § 112(a) as lacking written description. Obviousness Claim 1 recites [A] “determining . . . a normal write request size for a first application”; [C] “receiving . . . subsequent to determining the normal Appeal 2020-004236 Application 14/706,639 9 write request size for the first application, a first data block from the first application” (emphasis added); and [D] “determining . . . based on the determination of the normal write request size for the first application, that the first data block is to be written to a first data stripe.” Claim 1 also recites similar recitations, [B], [F], and [G], for a second application having its own determined normal write request size, “the determined normal write request size for the second application being larger than the determined normal write request size for the first application,” and its own second data block received subsequent to the determination of the determined normal write request size for the second application. Support for these recitations can be found in, for example, in the Specification’s disclosure that “[t]he size of the data block in a write request may be determined or presumed in any of a number of ways,” including by determining a “normal write request size . . . based on a history of write request sizes for a given application.” Spec. ¶ 25 (emphases added). The Specification further discloses determining to which of a plurality of stripes a data block belongs by a normal write request size for an application that can be determined by, for example, “[1] the application self-reporting to the storage controller the stripe size that it prefers, [2] the storage controller periodically or continually monitoring the size of the data blocks in the application’s write requests, or [3] designating the application in a particular class of applications that utilize a comparable data block size in their write requests.” Id. ¶ 42. Thus, the claim is limited to determining a normal write request size for a first application before receiving a first data block from the first application, and using that determined normal write request size to determine that the first data block is to be written to a first data stripe. Appeal 2020-004236 Application 14/706,639 10 The Examiner relies on Karamcheti to teach or suggest recitations [A] and [C]. The Examiner’s initial findings include that Karamcheti’s teaching of computing the size of a first application data unit teaches or suggests [A] “determining . . . a normal write request size for a first application” (Final Act. 4 (citing Karamcheti 1:30-41, 3:57-62)) and that Karamcheti’s teaching of determining a unique identifier that represents a thread or process for comparison with a corresponding identifier for a subsequent write request teaches or suggests [C] “receiving . . . subsequent to determining the normal write request size for the first application, a first data block from the first application” (id. at 5 (citing Karamcheti 31:51-57)). The Examiner makes similar findings with respect to recitations [B] and [F]. Id. at 4-5. The Examiner, however, alternatively finds that Karamcheti’s natural data size disclosure teaches or suggests the claimed normal write request size limitations of the disputed recitations. See, e.g., Ans. 13. The Examiner relies on Kotzur’s determination, based on whether a size of data to be written exceeds a threshold size, whether to store the data in first-, second-, or third-type stripes to teach or suggest [D] “determining . . . based on the determination of the normal write request size for the first application, that the first data block is to be written to a first data stripe.” Final Act. 5-6 (citing Kotzur ¶ 6, Fig. 2). The Examiner makes similar findings with respect to recitation [G]. Id. at 6. Appellant contends the Examiner erred because Karamcheti fails to teach or suggest a normal write request size that is determined before a first data block is received. In particular, Appellant argues, in Karamcheti “the actual size of each individual received data block must be compared to [the] ‘natural block size’ to determine where and how to store that individual Appeal 2020-004236 Application 14/706,639 11 received data block.” Appeal Br. 9. Thus, Appellant argues that in Karamcheti, “determining where to store a received data block is dependent on the actual computed size of that received data block.” Reply Br. 9. Appellant’s argument is not persuasive of error. Claim 1-due to recitations [A], [C], and [D]-requires determining a normal write request size for a first application before receiving a first data block from the first application, and using the determined normal write request size to determine that the first data block is to be written to a first data stripe. Claim 1, however, does not preclude using the normal write request size for the first application (determined before the first data block was received) and the size of the received first data block when determining that the first data block is to be written to a first data stripe. Similarly, recitations [B], [F], and [G], given their broadest reasonable interpretation, encompass using the normal write request size for the second application and the size of the received second data block when determining that the second data block is to be written to a second data stripe, provided the normal write request size for the second application is determined before the second data block is received from the second application. The Examiner finds that “Karamcheti . . . teaches ‘application natural block size’ . . . which is the application normal block size.” Ans. 24 (emphasis omitted); see also id. at 23 (“the natural block size of data access is the normal size of access”). The Examiner’s finding is supported by Karamcheti’s teaching that “[a]t the level of applications and operating systems that store data in flash memory devices, the natural block size of data access falls into several categories, with one common size being 4 KB. Appeal 2020-004236 Application 14/706,639 12 Therefore, in some implementations, the translation unit is configured to be 4 KB in size.” Karamcheti 9:65-10:2. Appellant does not persuasively distinguish the claimed normal write request sizes for a first application, as in recitation [A]-and for a second application as in recitation [B]-from Karamcheti’s natural block size of data access, which falls into several categories. Nor does Appellant persuasively distinguish the temporal aspects of recitations [C] and [F]- which require receiving first and second data blocks subsequent to the respective determinations of normal write request sizes for first and second applications-from Karamcheti’s natural block sizes for operating systems and applications. Instead, Appellant merely argues that “the computed actual size of each individual received data block must be compared to a ‘natural block size.’” Reply Br. 9. Therefore, we agree with the Examiner that Karamcheti teaches or suggests disputed recitations [A], [B], [C], and [F]. Appellant further contends the Examiner erred because “there is nothing in Karamcheti that describes making storage decisions for a particular received data block using this translation unit size without having to compute the actual size of the particular received data block.” Appeal Br. 15. That is, Appellant argues that Karamcheti does not make a storage decision, such as the storage decision of recitations [D] and [G], based on a normal write request size that was determined before a first or a second data block is received. Appellant’s argument is not persuasive of error because, as discussed above, the Examiner’s unrebutted findings show that Karamcheti’s natural block size teaches or suggests determining a normal write request size before Appeal 2020-004236 Application 14/706,639 13 a data block is received. Moreover, the Examiner relies on Kotzur to teach or suggest recitations [D] and [G]. Final Act. 5-6 (citing Kotzur ¶ 6, Fig. 2). Appellant does not show error in the Examiner’s reliance on Kotzur, but instead submits that Kotzur does not cure the alleged deficiency of Karamcheti. Appeal Br. 13, 18-19. We do not find Karamcheti deficient, however; therefore, we agree with the Examiner that the combination of Karamcheti and Kotzur teaches or suggests recitations [D] and [G]. For these reasons, Appellant does not persuade us of Examiner error. Accordingly, we sustain the Examiner’s rejection of claim 1 and, similarly, claims 9 and 16 as obvious over the combination of Karamcheti, Kotzur, and Holland and of their dependent claims 2-8, 10-15, and 17-20, which are not argued separately. CONCLUSION On this record, Appellant demonstrates the Examiner errs in rejecting (1) claims 1-20 under 35 U.S.C. § 112(a) as failing to comply with the written description requirement. However, Appellant does not demonstrate the Examiner errs in rejecting: (2) claims 1, 9, and 16 under 35 U.S.C. § 103 as obvious over the combined teachings of Karamcheti, Kotzur, and Holland; (3) claims 2, 5, 6, 10, 12, 13, 17, and 19 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, and Jaffe; (4) claims 3, 4, 11, and 18 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, and Jackson; and (5) claims 7, 8, 14, 15, and 20 as obvious over the combined teachings of Karamcheti, Kotzur, Holland, Jaffe, and Hallak. Appeal 2020-004236 Application 14/706,639 14 Because we have affirmed at least one ground of rejection with respect to each claim on appeal, the Examiner’s decision is affirmed. See 37 C.F.R. § 41.50(a)(1). DECISION SUMMARY In summary: Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1-20 112(a) Written Description 1-20 1, 9, 16 103 Karamcheti, Kotzur, Holland 1, 9, 16 2, 5, 6, 10, 12, 13, 17, 19 103 Karamcheti, Kotzur, Holland, Jaffe 2, 5, 6, 10, 12, 13, 17, 19 3, 4, 11, 18 103 Karamcheti, Kotzur, Holland, Jackson 3, 4, 11, 18 7, 8, 14, 15, 20 103 Karamcheti, Kotzur, Holland, Jaffe, Hallak 7, 8, 14, 15, 20 Overall Outcome 1-20 TIME PERIOD FOR RESPONSE No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(1)(iv). See 37 C.F.R. § 1.136(a)(1)(iv) (2019). AFFIRMED Copy with citationCopy as parenthetical citation