Ex Parte Burckart et alDownload PDFBoard of Patent Appeals and InterferencesNov 10, 201010723924 (B.P.A.I. Nov. 10, 2010) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ____________ Ex parte ERIK J. BURCKART, DAVID B. GILGEN, and CRAIG A. LANZEN ____________ Appeal 2009-007708 Application 10/723,924 Technology Center 2400 ____________ Before JOHN A. JEFFERY, THU A. DANG, and DEBRA K. STEPHENS, Administrative Patent Judges. JEFFERY, Administrative Patent Judge. DECISION ON APPEAL1 Appellants appeal under 35 U.S.C. § 134(a) from the Examiner’s rejection of claims 1-24. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. 1 The two-month time period for filing an appeal or commencing a civil action, as recited in 37 C.F.R. § 1.304, or for filing a request for rehearing, as recited in 37 C.F.R. § 41.52, begins to run from the “MAIL DATE” (paper delivery mode) or the “NOTIFICATION DATE” (electronic delivery mode) shown on the PTOL-90A cover letter attached to this decision. Appeal 2009-007708 Application 10/723,924 2 STATEMENT OF THE CASE Appellants’ invention validates individual idle connections by issuing a non-blocking I/O operation to each idle connection in a connection pool. See generally Spec. ¶¶ 0006-08. Claim 1 is illustrative with a key disputed limitation emphasized: 1. A connection pool management system comprising: a connection pool configured to store a plurality of idle connections; and, a connection manager programmed for coupling to said connection pool and further programmed to validate individual ones of said idle connections by issuing a non-blocking input/output (I/O) operation to each of said individual ones of said idle connections. The Examiner relies on the following as evidence of unpatentability: Batra US 6,105,067 Aug. 15, 2000 Chintalapati US 2002/0156897 A1 Oct. 24, 2002 Brock US 7,076,556 B1 July 11, 2006 (filed July 31, 2000) THE REJECTIONS 1. The Examiner rejected claims 1 and 3-24 under 35 U.S.C. § 103(a) as unpatentable over Batra and Chintalapati. Ans. 3-10.2 2. The Examiner rejected claim 2 under 35 U.S.C. § 103(a) as unpatentable over Batra, Chintalapati, and Brock. Ans. 10-11. 2 Throughout this opinion, we refer to (1) the Appeal Brief filed February 7, 2008; (2) the Examiner’s Answer mailed April 29, 2008; and (3) the Reply Brief filed June 29, 2008. Appeal 2009-007708 Application 10/723,924 3 THE OBVIOUSNESS REJECTION OVER BATRA AND CHINTALAPATI Regarding representative claim 1, the Examiner finds that Batra discloses a connection management system with every recited feature except for issuing a non-blocking input/output (I/O) operation to each idle connection. Ans. 3. The Examiner, however, cites Chintalapati for determining whether a connection is idle—a determination that is said to correspond to the recited validation since an idle connection is “useable on demand.” Ans. 3-4, 13-14. Based on these collective teachings, the Examiner concludes that claim 1 would have been obvious. Ans. 3-4, 11-20. Appellants argue that the cited prior art does not teach or suggest a connection manager programmed to validate individual idle connections by issuing a non-blocking I/O operation to each idle connection as claimed. App. Br. 4-6; Reply Br. 3-5. Although Appellants acknowledge that the recited validation technique determines whether a connection is useable, Appellants emphasize that there is nonetheless a distinction between (1) idle connections, and (2) validated idle connections (i.e., useable idle connections) in the connection pool. App. Br. 5-6; Reply Br. 3-5 (emphases added). Appellants add that there would be no reason to modify Batra based on Chintalapati’s idle connection determination as the Examiner proposes since, among other things, Batra already knows that connections are idle. App. Br. 6-8; Reply Br. 6-7. Regarding representative claim 3, Appellants argue that while last-in first-out (LIFO) ordering is known for data structures, the Examiner does not establish a rational basis why skilled artisans would use any type of ordering Appeal 2009-007708 Application 10/723,924 4 for idle connections, let alone modify the cited prior art to use LIFO ordering of idle connections as claimed. App. Br. 8-9; Reply Br. 8-9. The issues before us, then, are as follows: ISSUES 1. Under § 103, has the Examiner erred by finding that Batra and Chintalapati collectively would have taught or suggested: (a) a connection manager programmed to validate individual idle connections by issuing a non-blocking I/O operation to each idle connection in a connection pool as recited in claim 1? (b) the connection pool is configured for LIFO ordering the idle connections as recited in claim 3? 2. Is the Examiner’s reason to combine the teachings of these references supported by articulated reasoning with some rational underpinning to justify the Examiner’s obviousness conclusion? FINDINGS OF FACT (FF) 1. Batra’s system includes a connection manager 110 that manages a connection pool 120 between a Web server 80 and data server 90. By using existing connections from the connection pool when processing client requests, Batra’s system avoids the significant overhead required to establish new connections. Batra, col. 7, l. 41 – col. 8, l. 40; Fig. 4. 2. Batra’s system can disconnect connections that remain idle too long (i.e., exceeding a predetermined maximum idle time). Batra, col. 11, ll. 41-59. Appeal 2009-007708 Application 10/723,924 5 3. Chintalapati’s server process 210 includes processing resources that can service a connection. The server process includes a poll manager 250 that (1) receives idle connections from “worker threads” 240, 242, 244, and (2) includes poll subsets 260, 262 that hold idle connections passed from the worker threads. Chintalapati, ¶¶ 0035-40, 0076-84; Fig. 2. 4. A connection is “idle” if (1) no requests are pending while the connection is still open, and (2) no requests from the connection are processed by a processing resource. Chintalapati, ¶¶ 0039, 0064. 5. The poll manager includes poll threads 252, 254 associated with poll subsets that determine if connections held in the poll subsets have become “active” (i.e., if (1) events occur on the connection; (2) a processing resource processes events from the connection; or (3) events are pending for the connection). If so, the poll thread passes the active connection to work queue 220 to await servicing by a processing resource. But if the connection is still idle, the connection remains in the poll subset. Chintalapati, ¶¶ 0023; 0042-45, 0076-80; Fig. 2. 6. Poll thread 252 can close connections that have been idle for longer than a predetermined time. Chintalapati, ¶¶ 0023, 0047; Fig. 2. 7. Appellants’ Specification notes that “[i]n managing a pool of idle connections, an efficient process consuming little computing overhead can be required to validate that the connections which not [sic] been provisioned recently remain valid and useable on demand.” Spec. ¶ 0005. Appeal 2009-007708 Application 10/723,924 6 ANALYSIS Claims 1, 4-11, 14-21, and 24 We begin by construing the key disputed limitation of claim 1 which calls for, in pertinent part, a connection manager programmed to validate individual idle connections by issuing a non-blocking I/O operation to each idle connection. We emphasize the term “validate” here, for the construction of that term is key in resolving the dispute before us. The Examiner cites Chintalapati determining whether a connection is idle—a determination that is said to correspond to the recited validation since such an idle connection is “useable on demand.” Ans. 3-4, 13-14. Appellants, however, challenge that position since Appellants emphasize that there is a distinction between (1) idle connections, and (2) validated idle connections (i.e., useable idle connections) in the connection pool. App. Br. 5-6; Reply Br. 3-5 (emphases added). Although the term “validate” is not defined in the Specification as the Examiner indicates (Ans. 14), the Specification does note that managing a pool of idle connections typically involves validating that those connections “remain valid and useable on demand.” FF 7 (emphases added). Based on this description, we see no error in the Examiner’s construction of “validate” as “determining whether a connection is useable” giving the term its broadest reasonable interpretation. Ans. 14. And as the Examiner indicates (id.), an idle connection is, by its very nature, an open connection that is at least considered to be useable since it is not used by other processes and therefore available to be used on demand. See FF 4. As such, nothing in the claim precludes Chintalapati’s confirming the status of individual idle connections via polling as “validating” those idle Appeal 2009-007708 Application 10/723,924 7 connections. See FF 3, 5. By determining that particular connections remain idle (i.e., are not active), Chintalapati at least suggests confirming the idle status of those connections (i.e., “validating” those connections) such that they would at least be considered to be useable on demand by other processes. See FF 5. And nothing in the claim precludes such a validation to occur for limited time periods as the Examiner indicates (Ans. 14). See FF 2, 6 (noting both Batra and Chintalapati teach closing idle connections after a predetermined time period). Nor are we persuaded of error in the Examiner’s combining Chintalapati’s teachings with Batra to arrive at the claimed invention. Even assuming, without deciding, that Batra presumes that a pooled connection is idle as Appellants argue (Reply Br. 7), we still see no reason why skilled artisans could not have provided functionality such as that disclosed by Chintalapati in connection with Batra’s system to at least confirm the status of the individual pooled connections (i.e., to verify that they remain idle) and therefore “validate” those connections. In this regard, we are unpersuaded of error in the Examiner’s technical basis for at least suggesting Chintalapati’s issuance of non-blocking I/O operations to idle connections. Ans. 11-12. Enhancing Batra’s connection pool management system in this manner is tantamount to the predictable use of prior art elements according to their established functions—an obvious improvement. See KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 417 (2007). Lastly, despite Appellants’ arguments to the contrary (Reply Br. 2-3), we are unpersuaded of error in the Examiner’s thorough and cogent reasons why the references would have been combinable to arrive at the claimed invention. Ans. 16-20. Given the evidentiary basis for the Examiner’s Appeal 2009-007708 Application 10/723,924 8 position regarding the advantages of asynchronous (non-blocking) I/O operations suggested by Chintalapati and the cited literature (Ans. 11-12, 16) as well as the reasons noted above, the Examiner’s position is amply supported by articulated reasoning with some rational underpinning to justify the Examiner’s obviousness conclusion. We are therefore not persuaded that the Examiner erred in rejecting representative claim 1, and claims 4-11, 14-21, and 24 not separately argued. Claims 3, 12, 13, 22, and 23 We will also sustain the Examiner’s rejection of representative claim 3 calling for configuring the connection pool for LIFO ordering the idle connections essentially for the reasons indicated by the Examiner (Ans. 4-5, 21-22). The Examiner reasons that since Appellants’ connection pool is based on a data structure, namely an array-type data structure such as that disclosed in Paragraph 0018 of the Specification, that well-known LIFO ordering techniques3 are applicable to such data structures regardless of what data is contained within the structure, whether the data represents idle connections or otherwise. Ans. 21-22. We see no error in this position. First, we see no reason why Batra’s connection pool would not comprise some form of data structure to maintain and identify particular connections that are managed by the associated connection manager. See FF 1. While Batra is short on specifics regarding an ordering scheme for this data, we nonetheless see no reason why an array-type data structure could not used in conjunction with the data 3 The Examiner cites four documents evidencing LIFO ordering techniques. Ans. 4-5. The applicability of these documents is undisputed. Appeal 2009-007708 Application 10/723,924 9 associated with the connection pool to logically arrange and manage data associated with the particular connections. In short, using arrays to logically arrange and manage such data (e.g., in a stack) as the Examiner indicates (Ans. 4-5) is tantamount to the predictable use of prior art elements according to their established functions—an obvious improvement. KSR, 550 U.S. at 417. We reach this conclusion noting the extensive evidence cited by the Examiner establishing that such array-based data management techniques are well known in the art. Ans. 4-5. Nor do we see any reason why employing a well-known stack-based LIFO ordering scheme associated with such an array-type data structure as the Examiner indicates (Ans. 4-5, 22) would have been beyond the level of ordinarily skilled artisans based on the record before us. We are therefore not persuaded that the Examiner erred in rejecting representative claim 3, and claims 12, 13, 22, and 23 not separately argued. THE OBVIOUSNESS REJECTION OVER BATRA, CHINTALAPATI, AND BROCK Since Appellants did not separately argue the rejection of claim 2,4 we sustain the Examiner’s rejection of claim 2 for the reasons noted previously. CONCLUSION The Examiner did not err in rejecting claims 1-24 under § 103. ORDER The Examiner’s decision rejecting claims 1-24 is affirmed. 4 See App. Br. 4 (noting that claim 2 stands or falls with claim 1). Appeal 2009-007708 Application 10/723,924 10 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). AFFIRMED pgc CAREY, RODRIGUEZ, GREENBERG & PAUL, LLP STEVEN M. GREENBERG 950 PENINSULA CORPORATE CIRCLE SUITE 2022 BOCA RATON, FL 33487 Copy with citationCopy as parenthetical citation