[00:00:02] Speaker 02: The first argued case this morning is number 18-2032, Henry Snyder. [00:00:08] Speaker 02: Mr. Williams. [00:00:11] Speaker 01: Thank you, Your Honor. [00:00:13] Speaker 01: May it please the Court? [00:00:16] Speaker 01: Roger Williams here today on behalf of inventors Jim Snyder, June Hauchois, Joe Dente, Travis Hartwell, Morgan Hollinger, John Thiele, Jimmy Wan, [00:00:30] Speaker 01: Robert Williams and Robert Morgan. [00:00:35] Speaker 01: We asked the court to reverse the panel's 101 rejection of the independent claims in this case. [00:00:45] Speaker 01: The first grant I want to talk about is how the board overlooked the express discussion in the specification of the technical problems [00:01:00] Speaker 01: solved by the claimed invention. [00:01:01] Speaker 01: What is the invention? [00:01:04] Speaker 01: The invention is given the context of a link-oriented data set. [00:01:12] Speaker 03: Making links was old, right? [00:01:16] Speaker 03: The invention was not creating links. [00:01:20] Speaker 01: The invention is generating [00:01:24] Speaker 01: The invention is not generating links. [00:01:26] Speaker 01: It's more than that. [00:01:27] Speaker 01: It's generating specific types of edges within the context of a specific type of data structure. [00:01:32] Speaker 01: Links and edges are the same thing? [00:01:35] Speaker 01: Yes, correct, your honor. [00:01:36] Speaker 01: Links and edges are the same thing. [00:01:37] Speaker 03: Right. [00:01:38] Speaker 03: OK. [00:01:39] Speaker 03: So does the invention use new data to do this? [00:01:43] Speaker 01: The invention creates new data. [00:01:45] Speaker 01: In the context of this database, absolutely, the invention creates new data. [00:01:49] Speaker 03: When you ingest... It creates new links, but the links are based on what? [00:01:55] Speaker 03: Existing data, right? [00:01:59] Speaker 01: The links are constructed based on defining a new edge type. [00:02:05] Speaker 01: But using existing data? [00:02:07] Speaker 01: It's using the data that's already collected into the data set. [00:02:13] Speaker 03: Okay, so it's not using any new data as compared to the prior arc, right? [00:02:24] Speaker 01: The data that's coming in, we have a certain type of data that's coming in. [00:02:31] Speaker 03: It comes in with... I'm just trying to understand what the invention is. [00:02:36] Speaker 03: Is it using a new data set or is it creating new links based on the same data that existed before? [00:02:46] Speaker 01: It's creating a new data set based on data that is in one of the edges or one of the links, based on data that is a pre-existing, a combination of a pre-existing edge type or data that is collected in one of the nodes. [00:03:02] Speaker 01: It's creating new data elements of the data set using some combination of those. [00:03:11] Speaker 03: I don't understand. [00:03:12] Speaker 03: In your example of 9A and 9B, the mileage between the nodes, that's based on an existing set of data about mileage, right? [00:03:25] Speaker 03: And it's noting the connection based on that data, right? [00:03:39] Speaker 01: What we start with is we start with a node that has information about an observation and a place. [00:03:50] Speaker 01: And that comes to us in the observable data. [00:03:55] Speaker 01: And we have two examples of that. [00:03:57] Speaker 01: One person was sighted in one place. [00:03:59] Speaker 01: One person was sighted in the second place. [00:04:01] Speaker 01: We have two examples of that data. [00:04:02] Speaker 01: That's in the observable data set. [00:04:07] Speaker 01: the determination that those two places are within the same or within a distance from each other, that's not in the data set until we define the edge type and create the edge between those two. [00:04:24] Speaker 01: Where's the mileage data coming from? [00:04:28] Speaker 01: Well, there's location data for each of those sites. [00:04:32] Speaker 01: Yes. [00:04:33] Speaker 01: GPS or some other thing so it can be calculated, but that was not done before Calculating the look in this particular example calculating the location was done before but the look, but it wasn't [00:04:46] Speaker 01: And the location was in the original database. [00:04:51] Speaker 01: But the relation between those two nodes isn't in it until the program goes in there and compares the two locations, realizes that they meet some metric, and then generates a link between them. [00:05:09] Speaker 03: It creates a new title. [00:05:10] Speaker 03: Surely that was done before, in terms of you had a node [00:05:16] Speaker 03: geographic location that it was possible to calculate the distance between the two, right? [00:05:24] Speaker 01: In the abstract, once you have two locations, of course it's possible to calculate the distance between them. [00:05:30] Speaker 01: That's not an issue. [00:05:33] Speaker 01: So what was new about it? [00:05:34] Speaker 01: What the improvement here is changing the database to add that fact, that relationship that did not exist before. [00:05:43] Speaker 04: How exactly are you changing the database? [00:05:45] Speaker 04: When you said changing the database, what did you mean by that? [00:05:51] Speaker 01: The database that comes in from the original collection of observable data has a set of nodes. [00:05:59] Speaker 01: With respect to 9b, where the two individuals were. [00:06:02] Speaker 01: Right. [00:06:02] Speaker 01: Right. [00:06:02] Speaker 01: So with respect to 9b, the data set that comes in, let's say it's some kind of siting data, the observable data comes in with [00:06:13] Speaker 01: Person some kind of identifying information about a person a location which could be GPS in a time and date Those are all facts and and there are And it's all generated and it's embodied in links and nodes and [00:06:39] Speaker 01: And we have at least two instances of that. [00:06:42] Speaker 01: We have a person A and a person B. Both of them have the same kind of data. [00:06:48] Speaker 01: When we add a new link, when we induce a link between those two nodes. [00:06:56] Speaker 01: You're creating a new data set, you say? [00:06:58] Speaker 01: Yes, we're creating a new data set that behaves differently. [00:07:01] Speaker 04: And how exactly is that data set determined? [00:07:08] Speaker 04: What does that? [00:07:11] Speaker 04: How does the data set computed or arrived at or created? [00:07:15] Speaker 04: Is that where the computer comes in? [00:07:19] Speaker 01: The original data set comes to us as a data file of some kind, a file of data that's usable by computer. [00:07:30] Speaker 01: And then how do you define the link, the new link? [00:07:34] Speaker 01: We have an example of that in the specification. [00:07:37] Speaker 01: It's basically code. [00:07:39] Speaker 01: It's a program that does that. [00:07:41] Speaker 04: So the computer has a program that receives the data set, namely, where the two individuals are located. [00:07:51] Speaker 04: And as a result of that, the computer generates the link. [00:07:55] Speaker 04: Is that? [00:07:56] Speaker 01: Yes. [00:07:56] Speaker 01: The program, someone in the example in the specification, someone has written a snippet of code. [00:08:03] Speaker 01: And what it does is it goes out there, and it defines a new type of link, and it creates it. [00:08:10] Speaker 03: But that new code is not part of the claim, right? [00:08:16] Speaker 01: The code is part of the claim because we talk in... It doesn't tell you what it is. [00:08:20] Speaker 01: It doesn't tell you what the code is. [00:08:22] Speaker 03: It just tells you what it does. [00:08:25] Speaker 01: It tells you how to define a new link. [00:08:27] Speaker 01: It tells you two different ways to define the new edge by defining it in terms of edge types. [00:08:33] Speaker 01: That's link derivation in the context of this claim. [00:08:36] Speaker 01: or defining in terms of a node value. [00:08:39] Speaker 01: That's inducing links in the context of this claim. [00:08:42] Speaker 03: But it doesn't tell you how to do it other than to use a computer to do it, right? [00:08:52] Speaker 01: Actually, I respectfully disagree, Your Honor. [00:08:56] Speaker 01: It tells you that you start with this link-oriented data set. [00:08:59] Speaker 01: So that's a specific type of data set. [00:09:02] Speaker 01: And a very specific type of data structure [00:09:05] Speaker 01: with typed edge and typed nodes and And it says you can add new links and here's different ways to add new links it gives you a pretty precise way to What's the precise one there? [00:09:21] Speaker 01: It's either link induction or link derivation as defined in the claim you you add a new type of link where you define it in terms of other edges and [00:09:31] Speaker 01: Or you can define a new link in terms of data that's in one of the nodes, that's in a node. [00:09:39] Speaker 04: Mr. Williams, as briefly as you can, what role does the computer play in the invention? [00:09:52] Speaker 04: How does the computer facilitate the invention? [00:09:54] Speaker 04: What does the computer do? [00:09:57] Speaker 01: The computer does almost everything. [00:10:01] Speaker 01: You have the if you look at claim 114 to begin with you have the the graph analytics platform software Which which hosts the graph oriented database so the the the link oriented database which is a graph is is is stored on memory on a computer and and that [00:10:30] Speaker 01: the graph analytics platform software has the software capabilities to to run searches to to find paths on this link-oriented data set computer has to do that and then the defining of the edge type defining the new edge type that's a you know that's something that's done you're telling the computer how to define the new edge type and then [00:10:57] Speaker 01: going out and identifying the different types of edges or nodes that satisfy the conditions to create new links. [00:11:07] Speaker 01: That's all done by the computer. [00:11:08] Speaker 04: So in a nutshell, the computer is given the information, it's given the formula, and it generates the links. [00:11:20] Speaker 01: Yes, for the derived links, it's given a [00:11:24] Speaker 01: In the example in the specification, it's given a Boolean expression. [00:11:28] Speaker 01: Derive a link by looking for all the different edges that satisfy these conditions. [00:11:36] Speaker 01: And every time you have a path that satisfies these conditions, then you derive a link between the endpoints of that path. [00:11:44] Speaker 01: Same thing for an induced link. [00:11:48] Speaker 01: What you do is the software searches for the nodes that satisfy some conditions, some logical conditions. [00:11:59] Speaker 01: In the examples of 9a and b, it's the nodes where the date and the location coordinates match up to another one. [00:12:10] Speaker 01: And then you create a link between them. [00:12:12] Speaker 01: That's all done by the software. [00:12:16] Speaker 02: Okay, let's hear from the office and you have your rebuttal time. [00:12:23] Speaker 02: Thank you, Robert. [00:12:32] Speaker 02: Mr. Warrick. [00:12:34] Speaker 02: So we've raised some questions concerning the background and how this method is performed. [00:12:42] Speaker 02: But when there's a rejection under Section 101, [00:12:46] Speaker 02: There is no examination on the merits, is that right? [00:12:51] Speaker 00: Good morning, Your Honor. [00:12:53] Speaker 00: There is an option. [00:12:54] Speaker 00: When there is a new rejection entered by the board under 101, the applicant can either return to prosecution or pursue a petition for rehearing, which is what happens here. [00:13:04] Speaker 02: But what we have here is a decision under 101 which is being appealed. [00:13:09] Speaker 00: Correct. [00:13:10] Speaker 02: Not whatever steps may have been taken in order to [00:13:15] Speaker 02: get to, we appreciate that there was reconsideration. [00:13:19] Speaker 02: But the position of the office is that despite the steps and the complexity and the prior art and all the rest of it, this, I'll call it an invention, but even though technically you've held it is not, has no access to patenting. [00:13:39] Speaker 02: Isn't that what the decision was? [00:13:43] Speaker 00: The decision was that the independent claims were not eligible for patent correct And I want to note that either way this will go back to prosecution because there are dependent claims pending And the board left it to the examiner to determine whether they recited Sufficiently more to amount to it the Supreme Court is called an inventive concept to pass 101 That said this is a normal practice for the board it's [00:14:11] Speaker 00: memorialized in the regulations, 4150. [00:14:13] Speaker 00: The board may enter a new rejection where appropriate. [00:14:16] Speaker 00: And again, the applicant has the opportunity to either pursue the petition for reconsideration as they did here and then appeal to this court or to re- You're telling about the internal procedures that got us to this final decision. [00:14:30] Speaker 02: But the final decision is that this is not within the scope of the patent law, of the patent statute. [00:14:38] Speaker 00: That's correct your honor and the reason for that is very simple I think. [00:14:42] Speaker 00: If I were to walk in this room with no additional information and see your honor's name plaque behind the bench as well as your honor Judge Shaw's name plaque, I could infer [00:14:52] Speaker 00: that you are both on the panel that will be deciding this case. [00:14:56] Speaker 00: And that is covered by this claim. [00:14:58] Speaker 00: The claims, each of the four independent claims cover taking two observed. [00:15:03] Speaker 02: You're talking about the merits of patentability. [00:15:06] Speaker 02: The question is whether, as a matter of the foundation, there is, this is a method within the scope of Section 101, not whether, [00:15:21] Speaker 02: the other sections of the statute apply. [00:15:25] Speaker 02: That's what the board held, is it not? [00:15:29] Speaker 00: The board, if I understand correctly, the board held that the claims were not eligible under section 101 of the Patent Act because they did not, because they recited an abstract concept and the additional elements did not amount to something more such that there was eligibility under this court and the Supreme Court's precedent. [00:15:47] Speaker 02: And then I hear you telling us and your friend [00:15:50] Speaker 02: that the reason that it's an abstract concept is because it doesn't pass the tests of section 102 or 103, which is a non sequitur. [00:16:06] Speaker 00: Well, that is not correct, Your Honor. [00:16:09] Speaker 00: The reason it does not pass 101, according to the board and according to our brief, is that the claims are directed to an abstract idea and specifically directed to a mental process, which [00:16:20] Speaker 00: This court is repeatedly held. [00:16:22] Speaker 02: Yes, that's what the board held. [00:16:23] Speaker 02: I'm trying to understand where the boundary line is. [00:16:28] Speaker 02: How is it that we see so many methods, practical methods that are performed in the real world, and yet the office tells us that they don't come within the scope of what the patent system is supposed to consider. [00:16:44] Speaker 02: Whether or not they are new and unobvious and enabled [00:16:49] Speaker 02: and described. [00:16:52] Speaker 00: Well, to that point, Your Honor, I believe we are bound by the Supreme Court's precedent as well as this Court's precedent, and I would point to two examples. [00:17:02] Speaker 02: The Mayo case... I'm interested in the reasoning of the Board and of the Office. [00:17:09] Speaker 00: And the Office's position is that we are bound by that precedent. [00:17:12] Speaker 00: When Mayo said, [00:17:13] Speaker 00: you look only to the additional elements to determine if patentability... This just covers any method of creating links, right? [00:17:21] Speaker 03: That's basically what is claimed, right? [00:17:24] Speaker 03: That is correct. [00:17:26] Speaker 00: I think that's correct. [00:17:26] Speaker 00: I'm happy to return to that. [00:17:28] Speaker 00: I want to make sure I've addressed Judge Newman your question. [00:17:31] Speaker 00: And I think this court's opinion in SAP Invest Pick is a good example where this court explained that no matter how new your abstract idea is, that alone does not confer eligibility. [00:17:44] Speaker 00: You have to look to the additional elements, which here are undisputably generic computer elements. [00:17:49] Speaker 00: We know that because that's what the specification tells us. [00:17:52] Speaker 00: If you look at paragraph 45, it says the software is well known to those of ordinary skill in the art. [00:17:58] Speaker 00: And if we look at paragraph [00:18:00] Speaker 00: And this goes to Your Honor Judge Schall's question. [00:18:04] Speaker 00: The invention, quote, is not limited to any particular computer architecture or network. [00:18:09] Speaker 00: It can be any system. [00:18:11] Speaker 00: So because of that, the only thing that is being argued by the appellants that is new here is the abstract idea, is the mental process itself. [00:18:21] Speaker 00: And according to Mayo and Alice and cases from this court like Invespic, that is not enough. [00:18:27] Speaker 02: You're telling us that the broadest claims are too broad. [00:18:31] Speaker 02: That's not a matter of 101. [00:18:33] Speaker 02: That's a matter of description, enablement, obviousness. [00:18:39] Speaker 00: Just to be very clear, Your Honor, our argument and the board's holding was not that the claims were too broad. [00:18:46] Speaker 00: It's that the claims were directed to ineligible subject matter. [00:18:50] Speaker 00: And specifically, it's the subject matter of inferring a connection between two data points. [00:18:57] Speaker 00: I mean, if I am watching a basketball game on television and I see two people wearing the same color jersey, I could infer that they are on the same team. [00:19:07] Speaker 02: It's ineligible because it's performed by computer? [00:19:11] Speaker 00: The Supreme Court has said if you just have a claim that essentially says, do it on a computer, and the it is otherwise ineligible subject matter, here the mental process of drawing an inference, that's not enough. [00:19:27] Speaker 00: Judge Steick had brought up earlier today, these claims don't tell you how you do something differently or in a new way on a computer. [00:19:36] Speaker 00: They just say, do it on a computer. [00:19:38] Speaker 00: Draw an inference using this admittedly known software in this admittedly known technical environment. [00:19:47] Speaker 00: And the claims are broad enough to cover even these very simple examples that even my friend on the other side was bringing up this morning. [00:19:54] Speaker 00: Two people having some connection like having shared a phone call and drawing a connection between them. [00:20:00] Speaker 00: That's new data It's not a new structure for storing data like we had an enfish It's not a new system for interacting with the data like the tab spreadsheet in the data engine case It's simply an inference and you could call that a node or a link or data but that's all it is and you're saying Mr.. Work is that [00:20:20] Speaker 04: Nothing is done to the computer in this case, in this invention. [00:20:25] Speaker 04: Rather, the computer is used in its normal way to implement the abstract idea. [00:20:33] Speaker 00: That's exactly correct, Your Honor. [00:20:35] Speaker 00: Using some language from this court, the computer is being used as a tool. [00:20:39] Speaker 00: There's no claimed improvement to the tool itself. [00:20:45] Speaker 00: And if Your Honors have no further questions, we would ask that you affirm the board. [00:20:51] Speaker 02: Thank you. [00:20:59] Speaker 01: Mr. Williams. [00:21:00] Speaker 01: Thank you. [00:21:03] Speaker 01: So if you reverse the board, if you reverse the board, then it goes back to the office for allowance of all claims. [00:21:15] Speaker 01: If you don't reverse the board, then it goes back for examination of the [00:21:21] Speaker 01: dependent claims. [00:21:25] Speaker 01: Now, you're not bound by what the board did in terms of how the board defined the abstract idea. [00:21:35] Speaker 01: But if it goes back on examination, my clients are. [00:21:40] Speaker 01: And the examiner is. [00:21:42] Speaker 01: And what the board did was not a correct definition [00:21:50] Speaker 01: was not a supportable definition of the abstract idea. [00:21:52] Speaker 01: And so if you're going to send it back for further examination, one thing we ask that you do is actually tell us as a matter of law what the abstract is that this claim is directed to so that further prosecution can proceed. [00:22:08] Speaker 01: What do you think the idea is to wish the claim is directed? [00:22:12] Speaker 01: I think the idea is improving a link-oriented data set by adding new types of edges that are not already in there, that are not inherently in the data set. [00:22:27] Speaker 01: Because when you add those, and that is a technological improvement, because when you add those new types of edges, it reduces search costs. [00:22:39] Speaker 01: It means that when the analyst wants to direct a search of this graph database, you can search for, you can convert complex searches into simple searches. [00:22:53] Speaker 01: That reduces search costs and that's a technological improvement. [00:22:57] Speaker 03: What is it other than saying use a computer to find new relationships, new edges? [00:23:05] Speaker 01: That's too simplified. [00:23:07] Speaker 01: Your Honor, that is part of it. [00:23:09] Speaker 03: Why is that too simplified? [00:23:10] Speaker 01: Because we're talking about, we're starting in the context of a specific type of graph database structure. [00:23:19] Speaker 01: Not all graph database, not all databases. [00:23:21] Speaker 03: What does the claim say about a specific structure? [00:23:24] Speaker 03: What does the claim say about a specific structure? [00:23:27] Speaker 03: What's the specific structure? [00:23:29] Speaker 01: The specific structure, the specific data structure in the claim, Your Honor, is just looking at claim 114. [00:23:37] Speaker 01: is that you have a graph data structure that has typed nodes and typed edges. [00:23:46] Speaker 01: And that does not cover the waterfront. [00:23:50] Speaker 01: There are other types of databases that that does not describe. [00:23:56] Speaker 01: And it also talks about you have collected observable data that is stored in this particular [00:24:05] Speaker 01: the specific type of graph database structure. [00:24:09] Speaker 01: And when the data is... What's specific about the data structure? [00:24:16] Speaker 01: Well, it's a graph database structure. [00:24:18] Speaker 01: What does that mean? [00:24:21] Speaker 01: It's organized as nodes and edges, so you can search for paths. [00:24:27] Speaker 01: I mean, the way you search... That's not new, right? [00:24:32] Speaker 01: I don't know that that's in the record, Your Honor. [00:24:35] Speaker 01: Certainly not searching the database, certainly not adding new links to a graph database in the way described in this application. [00:24:58] Speaker 01: When my friend stands up and says that the steps of the claim can be performed entirely in the mind [00:25:05] Speaker 01: I think what that does is that's raising a claim construction question. [00:25:09] Speaker 01: Because I don't think that any of these claims can be performed entirely in the mind. [00:25:15] Speaker 01: It may be that some simplified hypothetical can be performed in the mind, but not these claims. [00:25:23] Speaker 01: The claims talk about manipulation of every one of the individual. [00:25:29] Speaker 03: Why can't you figure out in your head what [00:25:33] Speaker 03: distances between two geographic locations. [00:25:37] Speaker 01: That's possible, but that's not what's in the claim. [00:25:39] Speaker 03: What you cannot figure out in your head... Doesn't the claim cover figuring out the relationship between these two addresses on Maple Street? [00:25:47] Speaker 01: Eventually that is a calculation that might be done, but that's not what the claim is directed to. [00:25:53] Speaker 03: What is the claim directed to? [00:25:54] Speaker 01: The claim is directed to defining a new type of edge [00:25:58] Speaker 01: in a graph database and adding that new type of edge into the database. [00:26:03] Speaker 01: What do you mean, new type of edge? [00:26:05] Speaker 01: When the data comes in, it comes in with specific categories of types. [00:26:10] Speaker 01: Like in the example that you started asking about, the 989B, the types of relationships are person, place, and time. [00:26:24] Speaker 01: What's not in there is within one mile of each other. [00:26:28] Speaker 01: That's a new relationship that's not in the data as it comes into us. [00:26:34] Speaker 01: After we create that link, then there's a new edge, and then that can be searched. [00:26:39] Speaker 01: Then you can run new searches on the database then. [00:26:43] Speaker 01: At that point, that's not an abstraction. [00:26:45] Speaker 01: That's a real data element that affects the performance of the database that can be searched on and generate results. [00:26:59] Speaker 01: But the court has also recognized, including in the cyber source case, that claims directed to manipulation of data structures are not mental step, are not abstract mental steps. [00:27:15] Speaker 01: And that's what every one of these claims is directed to, is manipulation of a graph database data structure by adding new link elements. [00:27:29] Speaker 01: The claim construction argument is that my friend here is saying that everything can be done in the mind. [00:27:37] Speaker 01: And as a claim construction question, that's just not so. [00:27:45] Speaker 01: Claim 114, it's expressed that everything is done by a processor working on data structures in memory. [00:27:57] Speaker 01: In claim 73 the elements of claim 73 talk about Collecting data into a data set that has a graph data structure Defining an edge type and generating by computational process an edge type an abstraction edge type edge so [00:28:26] Speaker 01: Those claim elements mean that this cannot be performed in your mind. [00:28:30] Speaker 01: And part of the question, I think, is that when we're talking about, when we use the words defining an edge type in these claims, that's not the kind of defining that you and I do when we're talking. [00:28:42] Speaker 01: In the computer science world, when you define a type of variable, or form a type of element, what you're doing is you're specifying exactly how it's going to behave [00:28:54] Speaker 01: in the context of a program or a database. [00:28:57] Speaker 01: You're describing exactly how the computer is going to manipulate it. [00:29:04] Speaker 01: So defining the defining verb in these claims is one of the things that contributes to, one of the things that supports the idea that these claims cannot be performed in the mind. [00:29:18] Speaker 01: The panel has no further questions. [00:29:21] Speaker 02: Thank you both. [00:29:24] Speaker 02: The case is taken under submission.