[00:01:06] Speaker 03: Next case is Cap Company Limited versus McAfee, 2017, 1787, and 88. [00:01:12] Speaker 03: Mr. Wecker, when you're ready. [00:01:30] Speaker 04: Good morning, Your Honors. [00:01:32] Speaker 04: May it please the Court. [00:01:34] Speaker 04: This patent [00:01:35] Speaker 04: had a very concrete problem that it was addressing at the time of the invention, which related to the emergence of applications which acted as servers in what would be normally the client's computer, the user's computer that normally acts as a client. [00:02:00] Speaker 04: And in that context, the [00:02:05] Speaker 04: computer and its firewall needed to be set up to accept incoming communications from anywhere. [00:02:14] Speaker 01: Let me just, as an initial matter, so if we agree with the board's claim construction, then you agree that the priority disposes every limitation under that construction, correct? [00:02:27] Speaker 04: That's correct. [00:02:29] Speaker 04: The error that the board made in this case was it claims construction that [00:02:35] Speaker 04: It was inconsistent with the plain meaning of the term, it was inconsistent with the file history, in particular some disclaimers of the configuration of the firewall that required that the server port information particularly be automatically detected and stored in the [00:03:01] Speaker 04: what the patent calls internal permitted port storage, entirely automated process, no intervention of assistant administrator or the user. [00:03:15] Speaker 04: And as the briefing lays out, the critical piece here is does the invention describe, does the claim describe an invention in which [00:03:31] Speaker 04: Not only does the storage of the port information occur automatically, but also the determination of what information to store. [00:03:43] Speaker 02: Is that the step of extracting the port information? [00:03:46] Speaker 04: Right. [00:03:47] Speaker 04: In the claim language, it's. [00:03:49] Speaker 02: It just says extracting the server port information. [00:03:53] Speaker 02: Right. [00:03:53] Speaker 02: It doesn't say automatically extracting the server port information. [00:03:59] Speaker 04: In some of the claims, such as claim one, it has a port monitoring module that extracts the information about the server. [00:04:13] Speaker 01: But the automatically term only appears in the storing step, right? [00:04:19] Speaker 04: Automatically that word appears in connection with the last step of storing. [00:04:24] Speaker 04: But the file history makes it clear [00:04:28] Speaker 04: that the automation part of it is the entire registering of that server port information to tell the firewall these are permitted communications throughout the file history. [00:04:45] Speaker 04: And even in this case before the board, McAfee agreed that the portion of the invention that relates to [00:04:58] Speaker 04: identifying programs that would be stored in internal program storage, thus being trusted programs, could be automated. [00:05:08] Speaker 04: It could involve some user intervention, like see a screen that says, is your web conferencing [00:05:25] Speaker 04: application permitted, and the user would say yes. [00:05:29] Speaker 04: So that first step of whether programs are trusted or not allows for user intervention. [00:05:37] Speaker 04: It doesn't require it, but it allows for it. [00:05:40] Speaker 04: But what the patent is absolutely clear about, what the file history is absolutely clear about. [00:05:45] Speaker 01: Well, I'm not so sure the file history is absolutely clear about much, and I'm not even sure what you want us to glean from the file history. [00:05:53] Speaker 04: What the file history explains is that this is designed for inexpert users who can't find the server port information. [00:06:08] Speaker 04: And the file history explains that the system must therefore find and store that server port information. [00:06:17] Speaker 04: There's a particular quote [00:06:38] Speaker 01: Are you saying that the port information has to be extracted and stored at the same moment that the user adds the program? [00:06:50] Speaker 04: No, there can be a period of time where the user is installing the application and agreeing that this application should be [00:07:08] Speaker 04: should be a permitted application. [00:07:13] Speaker 04: At some point, very shortly after that, in order for the application to actually become active and start listening for communications, at that point then that server port information needs to be included in the firewall. [00:07:30] Speaker 04: Otherwise the communication will just fail and that was the whole point of the patent. [00:07:36] Speaker 04: is to allow those communications to make it through the firewall so that the application can respond to them appropriately. [00:07:47] Speaker 04: So it's not some instantaneous nature, but it certainly has to be before the server application becomes active, because the whole point of the application is to receive these incoming communications from outside. [00:08:04] Speaker 03: Isn't one of the issues you're appealing [00:08:07] Speaker 03: the construction of adding a program. [00:08:12] Speaker 03: In your view, is that it excludes copying known programs? [00:08:18] Speaker 03: And why is that so? [00:08:21] Speaker 04: So first, there is the issue of what a program is. [00:08:27] Speaker 04: Because the patent is clear that different versions of the same program are to be treated as different applications. [00:08:37] Speaker 04: So you might be updating a program, and in that sense, it may not be a new program, but it's certainly going to be a new set of requirements to configure the firewall to make sure that that particular application's inbound communications are accounted for. [00:08:59] Speaker 01: Right, so the program list is updated, but if you get a new port number because of the updating of the software, [00:09:07] Speaker 01: That would be adding a program, right? [00:09:11] Speaker 04: Right, a program would be defined in this patent as the entire set of functions of that program where included in that is how it communicates to the outside, which server ports it uses and which protocols and so forth. [00:09:32] Speaker 04: So each time a program is changed, in even a slight way, it could be a new program. [00:09:39] Speaker 04: The patents requirements about adding programs to the list of permitted programs is to make sure that the firewall is configured properly to allow those communications through. [00:09:56] Speaker 01: But I don't understand how that, the very disclosure in the respect that we just discussed, doesn't cut against [00:10:02] Speaker 01: the proposed construction that you have given for adding a program? [00:10:08] Speaker 04: The proposed construction simply being that a new program is being added to the list of permitted programs by extracting information about that program. [00:10:26] Speaker 01: Right, but you argued that it had to be completely new versus [00:10:30] Speaker 01: and that it couldn't encompass something where you essentially have something in pre-existing software, but it has a new name. [00:10:41] Speaker 01: Isn't that very disclosure that we just talked about completely inconsistent with that? [00:10:48] Speaker 04: I don't believe so. [00:10:49] Speaker 04: The issue with respect to Yadav and Freund was that they don't deal at all with [00:10:58] Speaker 04: with automatic rules creation of the nature that this patent deals with. [00:11:05] Speaker 04: And so what they do is they already have their set of rules. [00:11:13] Speaker 04: And in Yadav, it's called an application-specific rule. [00:11:19] Speaker 04: It might be on the central server. [00:11:22] Speaker 04: It might be on the client. [00:11:24] Speaker 04: So it might go to the central server and copy it over to the client. [00:11:28] Speaker 04: But there's already a rule there. [00:11:31] Speaker 04: And that cannot serve the purpose of this patent, which covers the issue of an entirely new server application being loaded on the computer and programming the firewall so that it can accept the inbound communications. [00:11:58] Speaker 01: Where in the specification does it support the notion that this copying can't be consistent with adding something to the program list? [00:12:15] Speaker 04: I think it's the use throughout the specification of the word extract. [00:12:22] Speaker 04: It's talking about the port monitoring unit extracting the information by doing network [00:12:28] Speaker 04: by doing hooking so that you understand what's going in and out. [00:12:33] Speaker 04: When the server is loaded and installed, it presumably makes a call on the network communication software in the operating system. [00:12:48] Speaker 04: The hooking process will see that call, will extract the server report information, information about the program, [00:12:58] Speaker 04: And all of that is a process that is contrary or different than just copying from one location to another. [00:13:14] Speaker 04: And in particular, the claim language says, adds a program to the list [00:13:25] Speaker 04: by extracting information about the program, the list being the list of programs permitted by the firewall. [00:13:34] Speaker 04: So in the context of Yadav, you have a bunch of programs that are permitted by the firewall that already reside either locally on the client computer or in the centralized computer, and they're just being copied. [00:13:50] Speaker 04: You don't know how those rules were created. [00:13:55] Speaker 04: They could have been created by a system administrator inputting the server port information. [00:14:02] Speaker 03: You're well into your rebuttal, Tom. [00:14:04] Speaker 03: You can continue or you can save it. [00:14:08] Speaker 04: Yeah. [00:14:08] Speaker 04: If there's no further questions at the moment, I'll reserve my time. [00:14:14] Speaker 03: Thank you. [00:14:14] Speaker 03: Mr. McFarland. [00:14:18] Speaker 00: Thank you, Your Honor. [00:14:19] Speaker 00: Jonathan McFarland for Perkins QE on behalf of McAfee. [00:14:22] Speaker 00: And so I'd like to start out by noting several words that were used to describe the claims that are not in the claims themselves during the argument just now. [00:14:32] Speaker 00: So automatic rules creation, entirely new server application, and automatically detecting and storing. [00:14:39] Speaker 00: Automatically storing is in the claims, automatically detecting is not. [00:14:44] Speaker 00: So starting with the adding a program limitation, I think it would be helpful [00:14:50] Speaker 00: to talk about what is the permitted program list that the board found. [00:14:54] Speaker 00: So in the board's opinion, if you look at figure three of Yadov, the permitted program list is not the policy itself that is pre-existing and may be existing on a remote server. [00:15:05] Speaker 00: The permitted program list, if you look at that on appendix 57, is formed once the application rule enforcer compares an application. [00:15:18] Speaker 00: So when an application is invoked, [00:15:20] Speaker 00: The application rule enforcer compares that to the policy, and then it extracts that information from the policy and saves it on a local cache. [00:15:28] Speaker 00: And that extracted information about the program, including the program name that's saved in the local cache, is the permitted program list. [00:15:37] Speaker 00: And so it's not, once again, it's not the policy itself. [00:15:43] Speaker 00: And there's no language in the claims that precludes [00:15:47] Speaker 00: that requires a new program or a program that has never been trusted before. [00:15:52] Speaker 01: It seems that your friend on the other side is really arguing that you can't construe these terms without understanding their connection to the extraction limitation. [00:16:05] Speaker 01: Is that fair? [00:16:07] Speaker 00: I believe that is what the argument is. [00:16:09] Speaker 00: And I will say that when I read the red brief, and so in our brief, we address the extraction term. [00:16:17] Speaker 00: And when I read the red brief, I felt like we were talking past each other a little bit, because we didn't quite... You read the red brief? [00:16:25] Speaker 00: I'm sorry. [00:16:25] Speaker 00: I read the red brief. [00:16:26] Speaker 00: I apologize. [00:16:27] Speaker 03: I'm sure you read the brief multiple times over and over. [00:16:33] Speaker 00: I shouldn't use colors when I don't have them in front of me. [00:16:36] Speaker 00: No, but I think that the... So we argued a lot about whether extraction had to be automatic or not. [00:16:41] Speaker 00: There also was... I felt like there's an argument that [00:16:45] Speaker 00: the extraction step is related to the program, the addition of program step. [00:16:51] Speaker 00: And the board addressed that question as well. [00:16:52] Speaker 00: The board made clear that, once again, the two steps are separate. [00:16:57] Speaker 00: And the adding the permitted program list is completely separate from the list of storing the permitted port list. [00:17:06] Speaker 00: And if you look at Yadav, for example, the application rule enforcer is what creates the permitted program list. [00:17:14] Speaker 00: It actually extracts the port [00:17:16] Speaker 00: from the program. [00:17:18] Speaker 01: Well, in fairness, automatically storing, it says automatically storing by the firewall the extracted information. [00:17:26] Speaker 01: Yes. [00:17:27] Speaker 01: So doesn't the extracted information sort of modify what's automatically stored? [00:17:33] Speaker 00: Yes. [00:17:33] Speaker 00: And the extracted information, so we have the claim language if we're looking at claim seven on the inside cover of the red brief, is extracting information about the server ports. [00:17:45] Speaker 00: And so it's automatically storing [00:17:46] Speaker 00: the information that was extracted about the server port. [00:17:50] Speaker 00: And so that's not the information. [00:17:52] Speaker 00: That's not the permitted program list. [00:17:54] Speaker 00: And so the extracting function, which we have labeled as 7c, is relating, once again, to the ports. [00:18:03] Speaker 00: And if you look at how Yadav works, the application rule enforcer does exactly that. [00:18:10] Speaker 00: So when an application sends a network IO request, it grabs the port. [00:18:15] Speaker 00: the server port that it's requesting, it extracts that. [00:18:18] Speaker 00: So Yadav is actually automatically extracting as well. [00:18:23] Speaker 00: And then it sends that to the network traffic enforcer to add to the permitted port program list if it's authorized. [00:18:30] Speaker 00: And so even in the prior art, the extracting, our point is that the extracting term doesn't have to be automatic. [00:18:36] Speaker 00: The prior art actually does it automatically anyways as it relates to the port limitation. [00:18:49] Speaker 00: Which brings me to the rule creation point. [00:18:54] Speaker 00: So as to both limitations, Mr. Wecker has argued that these have to happen during rule creation. [00:19:03] Speaker 00: And as we pointed out in our brief, the claims don't add a temporal limitation of, they don't even use the word rule creation. [00:19:10] Speaker 00: They don't add a temporal limitation of the first time that you've added a network program is during a process of rule creation. [00:19:18] Speaker 00: We agree that there is a rule created by the claim in effect when you have the permitted port list at the end of the claim. [00:19:28] Speaker 00: That's what's regulating network traffic. [00:19:30] Speaker 00: And so there is, in effect, a rule being created by the end of the claim. [00:19:34] Speaker 00: But there's not some rule creation process that requires that when you add the program, it's the first time you've ever created a rule. [00:19:43] Speaker 01: What's your response to the [00:19:48] Speaker 01: their reliance, their heavy reliance on the file history? [00:19:52] Speaker 00: Well, Your Honor, there are two things about that. [00:19:57] Speaker 00: First of all, their argument is that there's prosecution disclaimer, which is a high bar. [00:20:04] Speaker 00: And so that must be clear and unmistakable. [00:20:06] Speaker 00: There was a lot of talk in the file history about registration. [00:20:11] Speaker 00: And it was, in my view, ambiguous. [00:20:14] Speaker 00: What was clear [00:20:15] Speaker 00: is at the end when you look at, and we outlined this in our brief, the changes that were made if you look at our brief. [00:20:23] Speaker 00: The blue brief at 37 to 38, the changes it cited all related to registration that went to automatic storing. [00:20:34] Speaker 00: So the only thing that was actually clear to us that was a clear and unmistakable disclaimer was that when the applicant referred to registration in the file history and it changed that to automatic storing, [00:20:47] Speaker 00: it disclaimed non-automatic story. [00:20:51] Speaker 00: But there was no other disclaimer in the file history, particularly not in a clear and unmistakable one. [00:21:03] Speaker 03: Anything further, Counsel? [00:21:05] Speaker 00: No, Your Honor. [00:21:05] Speaker 00: If you don't have any further questions, I'll yield the remainder of my time. [00:21:08] Speaker 03: All right. [00:21:09] Speaker 03: Thank you. [00:21:10] Speaker 03: Mr. Wecker has two and a half minutes. [00:21:17] Speaker 04: With respect to the last point, I'd like to further explain that the idea that automatic only modifies storing as opposed to the extracting and storing doesn't make any sense. [00:21:34] Speaker 04: One skill in the art knows the way computers store information is entirely without user involvement. [00:21:43] Speaker 04: If you think about [00:21:45] Speaker 04: The only way that a user really gets involved in storing is you're in the middle of an application and you push a save button or save as. [00:21:54] Speaker 04: Yeah, so in that situation, the user might be considered participating. [00:22:02] Speaker 04: But in every other situation involving computer operation, information is being stored, taken out of storage constantly. [00:22:15] Speaker 04: And the idea that this patent, the automatic provision, only applies to the storing and not to the extracting makes no sense. [00:22:27] Speaker 04: Because the very purpose of the invention was inexpert people would not know what the server port information is. [00:22:36] Speaker 04: So it would need to be extracted and stored without user intervention. [00:22:44] Speaker 04: Part of the file history that I was searching for during my opening was APPX 0441, where the applicant said, in contrast, applicant's invention enables server ports to automatically be registered in an internal permitted port storage based on the identity of the network communication program using the port. [00:23:10] Speaker 04: For example, a program registered in applicant's [00:23:14] Speaker 04: internal permitted program storage and requiring a new server port for operation, for example, after the program undergoes a software update, can automatically register the port without the intervention of a system administrator. [00:23:32] Speaker 02: Those statements the applicant made before you added the amendment for automatically storing the [00:23:39] Speaker 02: serve report information. [00:23:41] Speaker 02: Is that right? [00:23:41] Speaker 02: Right. [00:23:42] Speaker 02: You were arguing for a certain kind of conception of how the claims work, even though the claim didn't actually say it. [00:23:50] Speaker 02: The examiner nevertheless continued to press its rejection. [00:23:55] Speaker 02: And then finally in response to the continuance of that rejection, you added the limitation of automatically storing serve report information. [00:24:04] Speaker 04: So there's an important distinction between the [00:24:08] Speaker 04: the various amendments. [00:24:09] Speaker 04: There were a number of amendments made in response to these examiner rejections. [00:24:19] Speaker 04: And the one that I think is important here is the change from the word register to store. [00:24:30] Speaker 04: Throughout the file history, it's clear that the invention involves automatic registration. [00:24:37] Speaker 04: of server port information. [00:24:41] Speaker 02: When the wording was changed to automatically store... When you say change, you mean added, because there wasn't anything in the claim previously that referenced automatic anything, right? [00:24:56] Speaker 04: No, there was claim language about registering the server ports. [00:25:02] Speaker 04: which was deleted and the other changes, grammar changes were made. [00:25:06] Speaker 02: Did it say automatically registering? [00:25:08] Speaker 04: No, it just said register. [00:25:11] Speaker 04: But they kept getting these rejections about and responding to them that no, we're not about just registering. [00:25:21] Speaker 04: We're about automatically registering. [00:25:23] Speaker 04: Thank you, counsel. [00:25:24] Speaker 03: As you can see, the red light is on. [00:25:26] Speaker 03: That is our firewall. [00:25:28] Speaker 04: Thank you.