[00:00:00] Speaker 05: This case is number 21, 2251, real-time data LLC against Array Networks Incorporated. [00:00:08] Speaker 05: When you're ready, Mr. Liddell. [00:00:10] Speaker 01: Thank you, Your Honor, and may it please the court, Brian Liddell, for the appellate real-time data. [00:00:20] Speaker 01: The patent claims at issue in this case [00:00:24] Speaker 01: They claim technological solutions to technological problems rooted in computer technology and computer network systems. [00:00:33] Speaker 01: The claimed solutions improve that computer functionality, and they're not abstract for that very reason. [00:00:41] Speaker 01: The district court did not even consider whether or not the claims were directed to a technological solution to a technological problem at step one of its Alice analysis, despite this court clearly indicating that that's a required part of the step one directed to analysis. [00:01:01] Speaker 01: That was clearly established in Enfish and many other cases. [00:01:06] Speaker 01: Indeed, in Enfish, this court expressly explained that [00:01:11] Speaker 01: The step one analysis should consider this question, and that it was not merely a step two issue, as some had argued. [00:01:19] Speaker 01: The district court. [00:01:20] Speaker 00: Council, I think that if we were to ask ourselves, is the mere manipulation of data an abstract idea, the answer would probably be yes. [00:01:33] Speaker 00: What is it about this invention and its compression of data that makes it non-abstract? [00:01:41] Speaker 01: Thank you, Your Honor. [00:01:41] Speaker 01: I think obviously there are multiple sets of claims across seven different patents and three families. [00:01:49] Speaker 01: I'm going to generalize a little bit to answer your question, but there are obviously nuanced differences between each one. [00:01:56] Speaker 01: I think manipulation of data using compression is an incredible oversimplification of all of the claims here. [00:02:04] Speaker 01: The claims recite a solution for problems in data compression in which multiple different compression algorithms, compression encoders, are used in conjunction with one another based on a selection of which type of encoder is appropriate for which incoming data to improve the functionality and performance of the system [00:02:27] Speaker 01: And that depending on the patent, for example, in the first family, the 728 and 203 patents, the descriptor for the file is not to be the sole mechanism of identifying the data type. [00:02:42] Speaker 01: It's actually supposed to look at the content of the data. [00:02:45] Speaker 01: That was something that was a different way of approaching compression. [00:02:49] Speaker 00: So is deciding whether to compress or not [00:02:53] Speaker 00: to, you know, you can, under the pan, the data can be sent out in sin formula received, or it can be compressed into a data block, just generally. [00:03:05] Speaker 00: Now, do I understand this correctly that the decision, the algorithm decides whether or not to compress into a data block based on the content of the data as opposed to its size? [00:03:20] Speaker 01: That's part of it, your honor. [00:03:22] Speaker 01: That's correct. [00:03:23] Speaker 01: It's not simply though, so if we take the first family of patents, the 728 and the like, it's not simply whether or not to compress based on the content. [00:03:35] Speaker 01: It's actually how to compress based on the content. [00:03:38] Speaker 01: So some incoming data will be of a content type that- OK, so now focus on the how. [00:03:44] Speaker 01: I think the issue here for you is going to be the how. [00:03:48] Speaker 01: Sure. [00:03:49] Speaker 01: A particular encoder, and again, I'm starting with this first family for simplicity's sake, you have a particular encoder that is associated with a particular data type. [00:03:59] Speaker 01: It's a good encoder for that particular data type that it can be recognized based on the content of the data. [00:04:06] Speaker 01: When the data that comes in fits that parameter, it goes to the encoder that's specifically good for that data type. [00:04:14] Speaker 01: When other data comes in, it's routed in a different direction to a different encoder that's a more default or generic encoder for compressing data that doesn't fit that data type. [00:04:28] Speaker 01: For many reasons, some encoders and some compression techniques are going to be better than others for different data types. [00:04:33] Speaker 01: That's very much a focus of these patents. [00:04:36] Speaker 01: It's a technological problem that the patents were addressing to use different encoders for the different data types to improve the throughput, improve the speed, and compression functionality of the system. [00:04:49] Speaker 01: to use the compression in a new way to improve the throughput. [00:04:53] Speaker 01: So instead of just looking, for example, at the size or the compression ratio that a particular encoding technique uses, it's trying to pick which one's going to be good for which particular data type that's coming in. [00:05:07] Speaker 03: By the way, are we talking entirely within the universe of lossless compression or are the different compression options sometimes lossless and sometimes lossy? [00:05:17] Speaker 01: I believe that almost everything, I hesitate because there are about 211 claims at issue here. [00:05:26] Speaker 03: You've effectively argued three. [00:05:27] Speaker 01: I understand. [00:05:29] Speaker 01: And yes, we are talking about different types of lossless compression in those systems, yes. [00:05:35] Speaker 01: The idea here is not about so much lossy compression where you're not able to reconstruct the original, but rather lossless compression and different kinds of lossless compression, which may be better or worse for different data types. [00:05:49] Speaker 03: Just to pick up on Judge Raina's focus on this how question. [00:05:57] Speaker 03: One way to look at this matter is that, particularly as our case law has developed, it is not enough, probably even at step one, but certainly at the combination, to say this is about a technological problem. [00:06:15] Speaker 03: And moving, if one wants to speak in precisely, moving data from one place to another securely, reliably, [00:06:26] Speaker 03: at speed is certainly a technological problem. [00:06:30] Speaker 03: The problem here is not that. [00:06:34] Speaker 03: The problem here is whether there is that minimum degree of specificity about a technique for doing that, that it's no longer abstract. [00:06:50] Speaker 01: Sure. [00:06:51] Speaker 01: So the [00:06:53] Speaker 01: problem here to be clear the technological problem here is not merely moving data faster it's using compression was a pre-existing concept but this patent [00:07:07] Speaker 01: at these patents as a group, each provide new ways to use compression in a new configuration in systems to improve its function to make those systems work better. [00:07:18] Speaker 01: So rather than simply using a single encoder for compressing all the data that comes in, some of which will be good and some of which will be bad, or using whichever encoder has the highest compression ratio, which might be a technique that one could try, these patents [00:07:37] Speaker 01: provide a new and different technique for how you basically choose the compression to be done. [00:07:45] Speaker 03: So the first one basically says if you have the potential of a couple of different kinds of data without relying entirely on a descriptor, choose a compressor that works [00:08:00] Speaker 03: It doesn't even say better, but let's assume it says better for a particular kind of data. [00:08:07] Speaker 03: But it doesn't say we got a new compressor that does that. [00:08:13] Speaker 03: Perhaps that's a little less abstract than saying use a compressor to send data. [00:08:21] Speaker 03: It says use a compressor that suits a particular kind of data on the basis of taking a peek inside the data file. [00:08:29] Speaker 03: And isn't that still abstract? [00:08:32] Speaker 01: I don't think it is, but I also don't think that's quite a fair summary of these claims. [00:08:37] Speaker 01: And in fact, I think this court actually said that's not a fair summary of these claims in its prior opinion, which from our perspective is the law of the case here. [00:08:45] Speaker 01: The court actually expressly criticized a formulation of choosing a data compressor based on the type of data as not being a fair characterization of these claims. [00:08:57] Speaker 03: Without reference to the tax? [00:08:59] Speaker 03: Well, that would be true. [00:09:03] Speaker 01: What the court said, Your Honor, was that choosing a compression method based on the data type, which was the district court's characterization. [00:09:11] Speaker 03: Right, but we're not talking about that. [00:09:12] Speaker 03: We are now talking about whether it is sufficiently specific to say, and this is just group one and probably group three also, [00:09:21] Speaker 03: but not group two? [00:09:22] Speaker 03: Correct. [00:09:23] Speaker 03: Choosing a compression tool to use based on the data where you look at not merely the descriptor of the data. [00:09:36] Speaker 03: So it adds something. [00:09:37] Speaker 01: It does add something. [00:09:38] Speaker 01: Does it add enough? [00:09:40] Speaker 01: First, I would suggest that it is. [00:09:42] Speaker 01: But I would also add that the first family, for example, doesn't actually stop there. [00:09:51] Speaker 01: pick one compression technique for the things you recognize. [00:09:56] Speaker 01: It's have a compression technique that is associated with a particular data type, use that when the data coming in fits the criteria, and use a generic or a more standard technique if it doesn't. [00:10:13] Speaker 01: What it refers to in the first group often is the content independent. [00:10:16] Speaker 01: So we have a default encoder for things that don't fit our parameters. [00:10:21] Speaker 01: We have an encoder that's [00:10:24] Speaker 01: fitted to parameters of at least some types of data, and we analyze the data as it comes in and send it to one of those two so that what we end up with is a stream that's mixed types of compression to optimize the speed and the throughput of the system. [00:10:41] Speaker 01: That was entirely new. [00:10:42] Speaker 01: That was a completely different way of approaching compression and encoding than anything that had been done in the prior art. [00:10:48] Speaker 01: There's no showing here that that was conventional, that any of those things were well known. [00:10:55] Speaker 01: There certainly was the case that compression standing alone was known, but combining compression encoders in this way to improve the system functionality was a completely novel and new approach to [00:11:11] Speaker 01: improving the functionality of the system that does, in fact, recite a very specific solution. [00:11:17] Speaker 01: Yes, it can be implemented in multiple ways, but that doesn't mean it's not a specific solution. [00:11:22] Speaker 01: It's certainly as specific as solutions that this court has found sufficient in cases like visual memory, in cases like ENFISH, [00:11:30] Speaker 01: where, in cases like SRI, where there's a lot of high level to the claims, but they are describing an improvement to the technology and the functioning of the technology itself. [00:11:42] Speaker 01: And at the directed to inquiry, that makes clear that the claim is not directed to an abstract idea, as this court has repeatedly helped. [00:11:52] Speaker 01: And I would suggest that the district court's approach [00:11:57] Speaker 01: if anything, stepped away from this court's caution not to overgeneralize the claims and, in fact, increase the level of oversimplification. [00:12:08] Speaker 01: The district court recited that all 211 claims of every one of those patents is directed to, and I want to make sure I quote this accurately, [00:12:19] Speaker 01: Manipulating information using compression. [00:12:22] Speaker 01: That's at page 44 of the appendix. [00:12:24] Speaker 01: That's the district court's characterization of 211 different patent claims in seven patents. [00:12:30] Speaker 01: Every single one of them is directed to the adit. [00:12:32] Speaker 00: There's no doubt that that's what we're looking at, manipulation of data through compression. [00:12:38] Speaker 00: But I asked you a while ago, and I wasn't totally satisfied with your answer. [00:12:44] Speaker 00: Let me ask it this way. [00:12:45] Speaker 04: Certainly. [00:12:46] Speaker 00: When I go through the different asserted claims, [00:12:49] Speaker 00: The words that I'm focusing on, for example, data compression based on one or more parameters or attributes of the data within the data block. [00:12:59] Speaker 00: What does that mean? [00:12:59] Speaker 00: Is it reviewing the content? [00:13:02] Speaker 00: Yes. [00:13:03] Speaker 00: Well, why did you say it wasn't long ago? [00:13:05] Speaker 00: I mean, I think you walked away from that. [00:13:10] Speaker 01: I'm sorry. [00:13:10] Speaker 01: Maybe I misunderstood your question, Your Honor. [00:13:13] Speaker 00: So when we're looking at the parameters or attributes [00:13:18] Speaker 00: It says, are the data within the data block? [00:13:20] Speaker 01: Yes. [00:13:21] Speaker 00: Or whether to compress the data block with a single data compression encoder. [00:13:25] Speaker 00: There's decisions that are being made there. [00:13:27] Speaker 00: And that's an algorithm. [00:13:29] Speaker 00: But what I need to know is, what are those parameters and attributes of the data? [00:13:36] Speaker 00: What are we talking about? [00:13:37] Speaker 00: We're talking about the content of the data? [00:13:40] Speaker 01: Yes. [00:13:41] Speaker 01: Not the size. [00:13:44] Speaker 01: It's typically not going to be the size. [00:13:46] Speaker 01: So the patent specifications do address this in a number of places. [00:13:51] Speaker 01: The claims, for example, in the first family make clear that what you're looking at cannot exclusively be a file descriptor. [00:14:01] Speaker 01: So for example. [00:14:03] Speaker 03: Well, what's the affirmative side? [00:14:05] Speaker 01: So the affirmative side, Your Honor, is that you would look at various different aspects of the data. [00:14:12] Speaker 03: So there might be... You've got to get to something more concrete. [00:14:17] Speaker 03: We know what we're asking. [00:14:18] Speaker 01: Sure. [00:14:18] Speaker 01: And there are examples in the specifications. [00:14:21] Speaker 01: So there might be lots of repetition. [00:14:23] Speaker 01: There might be lots of redundancies in the data that might suit it to a particular encoder. [00:14:29] Speaker 01: There might be long strings of common characters that might suit it to it. [00:14:33] Speaker 01: a particular encoder. [00:14:35] Speaker 01: If we look at the, I'll use the 203 patent as an example, but if we look at the specification, there is a discussion about that kind of analysis and embodiments of doing that. [00:14:46] Speaker 01: In the figures, both figures 13A and B, and figures 14A through D of the specification for the 203 patent, that's it, pages. [00:15:02] Speaker 01: 392 to 393 and 394 to 397 of the appendix. [00:15:07] Speaker 01: There's a discussion of that at column 15 through 20 of the specification. [00:15:13] Speaker 01: Examples of some of the type of parameters that you would look at are in column 16. [00:15:18] Speaker 01: of the 203 patent at page 417 of the appendix. [00:15:23] Speaker 01: Things like the data types, the structures, the data block formats, the file substructures, the file types. [00:15:30] Speaker 01: All of those are things that the patent describes as some of the kinds of parameters that you might look at in order to ascertain which encoder would be best. [00:15:40] Speaker 00: What does the structure of the data mean? [00:15:43] Speaker 01: So that can take some of the forms I mentioned, things like common repeating sequences or large portions that are present repeatedly. [00:15:54] Speaker 01: So for example, one type of lossless encoding that is often used is drawn as a kind of a dictionary encoding, where strings of bits are represented by a smaller number of bits. [00:16:08] Speaker 01: So maybe I frequently have, if I use [00:16:13] Speaker 01: A more colloquial example, if I have many letters, but a run of 10 letters recurs, maybe I have a single character or a couple characters that can represent that 10, and I know that that's the lookup for that 10 characters. [00:16:28] Speaker 01: Certain kinds of data have more susceptibility to that kind of encoding than others, and so a dictionary encoder might be really good for that kind of data structure, whereas other data is much more randomized, and that kind of encoding wouldn't be as useful. [00:16:43] Speaker 01: Does that answer your question? [00:16:44] Speaker 00: If there's a block of data, a string of data that's just pure repetition, then you're saying that this invention would make a decision based on that? [00:16:56] Speaker 00: But what does it do? [00:16:57] Speaker 00: I mean, it's going to compress it or not. [00:17:00] Speaker 01: Well, but it's going to choose how to compress it with that information. [00:17:05] Speaker 01: So if it recognizes that and says that's a data type. [00:17:08] Speaker 00: What do you mean by the how? [00:17:08] Speaker 00: It'll just compress part of that? [00:17:10] Speaker 01: No So let's say I have one data block that comes in and the blocks can be of different sizes depending on the system But I have a data block that comes in that data block has a lot of repetition I'm going to send that to the encoder that's good for the repetition data The next data block comes in and that doesn't have a lot of repetition. [00:17:32] Speaker 01: It's much more randomized I'm going to send that to the default encoder that doesn't work as well with repetition or isn't as efficient for repetition [00:17:40] Speaker 01: That's the how. [00:17:42] Speaker 01: It's taking individual data blocks and compressing them differently depending on the content of the data and which kind of compression will work better for that particular data. [00:17:54] Speaker 05: OK. [00:17:54] Speaker 05: Let's hear from the other side. [00:17:55] Speaker 05: We'll save you rebuttal time. [00:17:57] Speaker 01: Thank you, Your Honor. [00:18:00] Speaker 05: Mr. Newcomb. [00:18:01] Speaker 02: Good morning. [00:18:02] Speaker 02: May it please the court, John Newcomb. [00:18:05] Speaker 02: I represent defendant Appellee Fortinet. [00:18:07] Speaker 02: And I'm speaking today on behalf of all of the defendant's appellees. [00:18:11] Speaker 02: It's nice to be here in person. [00:18:13] Speaker 02: The last time I was before you was by Zoom. [00:18:15] Speaker 02: And I have been regretting ever since that I mispronounced Your Honor Judge Tremonto's name. [00:18:19] Speaker 02: It's happened before. [00:18:20] Speaker 02: It's been killing me ever since. [00:18:22] Speaker 02: I'm happy to proceed in whatever order makes best sense for the court. [00:18:26] Speaker 02: I propose to start with four topics. [00:18:29] Speaker 02: Number one is the specificity question, which the court just asked my friend about. [00:18:34] Speaker 02: There's a very nice line in the TechSec decision from 2016 where the court describes this analysis as, quote, whether the line of specificity of solution has been crossed. [00:18:45] Speaker 02: It stuck with me because it's a bit of poetry from the court. [00:18:50] Speaker 02: Uh, the patentee can look to cases where the answer was yes, for example, McRoe. [00:18:57] Speaker 02: And we see there the courts repeated focus on the specificity of delineated rules, which are repeatedly called limiting to the scope of the claimed invention. [00:19:08] Speaker 02: For my part, I can focus you on Recognacorp and the courts [00:19:13] Speaker 02: lack of finding of any specificity there. [00:19:15] Speaker 02: We can even find decisions where that same line of specificity is found to be crossed or not crossed for different claims within the exact same patent. [00:19:25] Speaker 02: For example, the court's data engine case in Google is illustrative there, where you had, for example, one patent claim going for a very specific technical solution, which was the use of a graphical user interface in a large 3D spreadsheet context. [00:19:41] Speaker 02: That was found to have crossed the line. [00:19:44] Speaker 02: And other claims, even within the same patent and families, that did not. [00:19:50] Speaker 00: Here. [00:19:51] Speaker 00: Why is this case not like Macro? [00:19:53] Speaker 00: Where Macro, we address the existence of very specific steps and rules that were in the claims. [00:20:04] Speaker 00: Why is this not like Macro? [00:20:07] Speaker 00: When I look at, for example, the 728 patent, [00:20:10] Speaker 00: On line 25, it talks about, again, about the parameters, the attributes, the encoder. [00:20:18] Speaker 00: It seems to lay out a roadmap that results in the data compression. [00:20:27] Speaker 02: So as I read McRoe, the court had what I saw as a repeated focus on the specificity of the rules [00:20:37] Speaker 02: The relation between the morph weight sets and the phonemes, which I'm probably now mispronouncing that name, it recurs throughout the opinion. [00:20:46] Speaker 00: The court talks about it. [00:20:47] Speaker 00: In this case, we have reoccurring the words attributes and parameters. [00:20:52] Speaker 00: And that's almost in every single claim that we're looking at. [00:20:56] Speaker 00: And there's quite a few of them. [00:20:58] Speaker 02: It sure is, Your Honor. [00:21:00] Speaker 02: The difference, and it's a huge one, is that in this case, [00:21:04] Speaker 02: Every time the patent uses any of the patents, when they're using the technical jargon for an encoder or a decoder or a compression method, the patentee is uniformly clear that they are talking about compression techniques, and I'm going to get to parameters and attributes in just a moment. [00:21:21] Speaker 02: They are talking about techniques known in the art. [00:21:24] Speaker 02: When we talk about what the parameters or attributes are, it is claimed in an almost unbounded fashion. [00:21:34] Speaker 02: what those parameters or attributes are is only claimed in one partial negative limitation. [00:21:42] Speaker 02: It's in stark contrast, for example, to the SRI case where [00:21:46] Speaker 02: Right there within the claim limitations, you see a list of 5, 8, 15 specific parameters that may be used. [00:21:55] Speaker 02: That was on the right side of the line of specificity. [00:21:58] Speaker 02: These are not. [00:21:59] Speaker 02: And when I say, I'll go one step further. [00:22:02] Speaker 02: Let's talk about what I'm calling the partial negative limitation, that you can't look at exclusively the descriptor. [00:22:11] Speaker 02: That certainly does not get this patentee on the right side of specificity. [00:22:14] Speaker 02: That's for a couple of reasons. [00:22:16] Speaker 02: Number one, we actually just heard from my friend an admission. [00:22:20] Speaker 02: I don't have the exact time stamp. [00:22:22] Speaker 02: It was when there was about two minutes left on his clock in which the court asked him, what does it mean to be looking beyond the descriptor? [00:22:29] Speaker 02: Does that mean you're looking at the content? [00:22:31] Speaker 02: And the answer was yes. [00:22:33] Speaker 02: That certainly doesn't get us to any level of specificity for a couple of reasons. [00:22:38] Speaker 02: Number one, we know from a Cognacorp, and we also know from, well, we might not know, but I sure like the Judge Connolly decision explaining that choosing a compression algorithm based on the content of the data that is as old as two if by land, one if by sea, or choosing scientific notation for a large number by contrast using Morse code for language compression. [00:23:03] Speaker 02: Number two, we actually know from this patentee itself in the intrinsic record that content-dependent compression is very well known in the art. [00:23:17] Speaker 02: I can read from the 825 patent, column two, quote, there are many conventional content-dependent techniques. [00:23:25] Speaker 02: From all seven patents, it says in the specification, it talks about how data can be parsed lexically, syntactically, or otherwise, quote, using methods known by those skilled in the art. [00:23:37] Speaker 02: If I look at figure one for the data compression patents, it's actually described as a content-dependent compression technique known to those in the art. [00:23:46] Speaker 03: Can you address visual memory, which in this case was here last time, [00:23:53] Speaker 03: Prominent appears to be somewhat less prominent now, but Why Why is that on the right side? [00:24:02] Speaker 02: So I read visual memory, I think there are two ways I would distinguish visual memory number one is I [00:24:14] Speaker 02: If we're going to talk about whether the problem is necessarily rooted or specifically rooted in a computer problem, many panels of this court have used, of course, the mental process test or the pen and paper test. [00:24:31] Speaker 02: And that's why, for example, [00:24:33] Speaker 02: where Cognacorp fails because people can compress data in their brains. [00:24:38] Speaker 02: That's why you see the disagreement between the majority and the dissent as I read it in DDR about whether you can instantly transport somebody to a different brick and mortar store and you cannot. [00:24:49] Speaker 02: So it fails that test. [00:24:51] Speaker 02: In visual memory, if we're talking about [00:24:55] Speaker 02: problems inherent to a three-tiered memory architecture, starting with the huge magnetic base, which is relatively efficient but stores very slowly, then going to the main memory, then going up to the cache. [00:25:12] Speaker 02: The specificity of that problem being necessarily rooted in computer functionality, one cannot make an analogy [00:25:21] Speaker 02: to the way one can with this case or with others in terms of data compression. [00:25:27] Speaker 02: So that's problem number one to me, Your Honor. [00:25:30] Speaker 02: Number two is if you then read the, and I hate to get back to it, but that line of specificity of solution in visual memory, it is so markedly different than what we see in all seven of these paths. [00:25:43] Speaker 02: In visual memory, you're talking about a main memory plus the creation of three new cache memories [00:25:48] Speaker 02: right, your internal, your prefetch, your write buffer. [00:25:52] Speaker 02: Plus you get programmable operational characteristics. [00:25:55] Speaker 02: And then the majority there says, just to buttress any further criticism, let's be clear, we also have 263 frames of computer code demonstrating how you can do that three crash programming. [00:26:09] Speaker 02: We take that level of specificity of solution and we compare it to these paths where we can encode or decode using any technique known [00:26:19] Speaker 02: based on a parameter or attribute, but I won't claim in my claim language which ones that is using general process generic hardware. [00:26:32] Speaker 02: I would say rather than focus on visual memory, [00:26:36] Speaker 02: I would turn the court to, not just for Cognacourt, but you versus Apple, which talks about using a hardware configuration of known components to engage in the manipulation of digital information. [00:26:49] Speaker 03: To enhance photos. [00:26:51] Speaker 02: Yes, to enhance photos. [00:26:53] Speaker 03: Without saying how. [00:26:54] Speaker 02: That's right. [00:26:55] Speaker 02: And, of course, there the court also did that mental process test. [00:27:00] Speaker 02: It might be laborious, it might be hard, but could I take two pictures manually, find reference points, improve one by reference to the other? [00:27:09] Speaker 02: I could. [00:27:10] Speaker 02: That applies here. [00:27:12] Speaker 02: And, of course, I would all the more so direct the court's attention to Voigt's 2009 decision. [00:27:19] Speaker 02: It's not precedential, but it's in the appendix. [00:27:22] Speaker 02: which goes straight to data compression and decompression, and yet using conventional compression techniques on generic hardware. [00:27:32] Speaker 04: Do you see any daylight between the three classes here? [00:27:38] Speaker 02: I do. [00:27:40] Speaker 02: And I think I'm not a very good bench mind reader, but I think I may see the same distinction that I inferred from one of the court's questions. [00:27:48] Speaker 02: The middle tier of patents, what I call the data, the accelerated retrieval or storage, can't be saved with the, but you must look beyond the descriptor limitation. [00:28:02] Speaker 02: That's applying to the first three, which I'm calling the data compression patents, and then the seventh, the 751. [00:28:10] Speaker 02: I don't think adding that descriptor, which is [00:28:14] Speaker 02: Sorry, adding that descriptor of the descriptor. [00:28:17] Speaker 02: I don't think that adding a limitation that you must choose your compression method based on the content of the file and not just on the descriptor adds anything non-abstract. [00:28:27] Speaker 02: If anything, I think it could be supplanted with don't judge a book by its cover if we're going to find a mental process for what's being claimed there. [00:28:35] Speaker 02: But there is that difference between them. [00:28:38] Speaker 02: Otherwise, I don't have anything to add beyond [00:28:44] Speaker 02: Judge Connolly's detailed, detailed discussion of individual claims, dependent claims, in the May 2021 decision. [00:28:55] Speaker 00: What about Judge Lowe's decisions? [00:28:59] Speaker 02: So for carbonite and actin, a couple of thoughts on carbonite. [00:29:06] Speaker 02: Number one. [00:29:08] Speaker 02: The Carbonite Court did not have the benefit. [00:29:11] Speaker 02: That was in 2017 of the last five to six years of this court's precedent about how do we look for and find that line of specificity. [00:29:22] Speaker 02: So Magistrate Love did not have the benefit of reading Voight, which came out two years later. [00:29:27] Speaker 02: You versus Apple, which came out in 2021. [00:29:30] Speaker 02: Reid and Voight might have taught the court that, according to this court, that the, quote, rapid transmission of digital data by advanced data compression using generic components and conventional compression techniques, that that does not get you on the right side of an eligibility analysis. [00:29:49] Speaker 02: The court might have benefited from You versus Apple, which I've already discussed. [00:29:53] Speaker 02: Data Engine versus Google, which as I've mentioned, I think is an especially useful tool for district courts to find the difference between claims and how specific the solution is in the claim language. [00:30:05] Speaker 02: So that's number one. [00:30:07] Speaker 02: And that's obviously the most gracious and eliding answer to say that there's been subsequent case law. [00:30:14] Speaker 02: If asked respectfully to take carbonite head on, [00:30:18] Speaker 02: I would tell you that the underlying information relied upon by that court does not support the conclusions drawn. [00:30:26] Speaker 02: I'll give you one example, maybe two, if the court's patience permits it. [00:30:31] Speaker 02: When talking about the 908 patent, I think of all of these patents and all of these claims, reading the 908 patent, claim one, [00:30:40] Speaker 02: gets you right there to abstraction and lack of specificity. [00:30:45] Speaker 02: But in reference to the 908 patent in particular, the carbonite court found that it would, quote, improve a technological process by pairing data blocks with specific techniques, end quote. [00:30:59] Speaker 02: That's not from the patent, that's from the carbonite decision. [00:31:02] Speaker 02: So that conclusion certainly sounds right and comports with this court's precedent on [00:31:10] Speaker 02: Alice issues. [00:31:11] Speaker 02: The problem is, if you go read the 908 patent, it does no such thing. [00:31:16] Speaker 02: There's no specific data block that's identified in the 908 in the claim language. [00:31:20] Speaker 03: You don't mean that the conclusion sounds right. [00:31:23] Speaker 03: You mean that if those words applied correctly to the material, it would support an eligibility conclusion. [00:31:30] Speaker 02: That's right. [00:31:32] Speaker 02: That is a recitation of the law that if you get on the right side of the specificity line, you're going to survive an Alice inquiry. [00:31:40] Speaker 02: The quote unquote specific techniques that the carbonite court mentioned, respectfully, I don't see them in the 908 pad. [00:31:50] Speaker 02: It can be any data block. [00:31:52] Speaker 02: It can be any compression technique. [00:31:55] Speaker 02: The claim simply describes using two compression techniques on two data blocks and making sure that what you get is a faster process than you would if it wasn't. [00:32:02] Speaker 00: Well, it describes taking a data block that you compress and then running this thing through the rules again. [00:32:10] Speaker 00: and compressing even further. [00:32:14] Speaker 00: That's a 908 pattern. [00:32:16] Speaker 02: Well, I don't read. [00:32:17] Speaker 02: I mean, I'm thinking in particular of claim one. [00:32:19] Speaker 02: I don't read it to do that at all. [00:32:21] Speaker 02: As I read claim one of the 908, it says, and I am maybe abstracting or summarizing, but you have two different data blocks. [00:32:29] Speaker 02: You have two different data compression techniques. [00:32:32] Speaker 02: You apply one technique to one data block and the other technique to the other data block. [00:32:37] Speaker 02: Now, as you read the claim language, [00:32:40] Speaker 02: It can be any data block, any kind of data, and it can be any conventional known-in-the-art compression technique. [00:32:46] Speaker 02: The only limitation is straight-up functional claiming. [00:32:50] Speaker 02: That when you do that, you'll know that you're within the bounds of the claim if you're now storing that data faster than if you wouldn't have used any one of those known-in-the-art compression techniques on any varieties of data blocks. [00:33:04] Speaker 02: I mean, I think if looking at the 908, the best one can do for specificity. [00:33:08] Speaker 00: But storing it faster. [00:33:10] Speaker 00: is the object here, because, well, not faster, but achieving data blocks that you can use quicker, that have more data in it, and yet you preserve bandwidth and some of these other things that are mentioned as a claim to advance here. [00:33:36] Speaker 00: I'm looking at claim one of the 908 patent, and it seems to me that it takes what's already been done and makes it even, let's say, better. [00:33:46] Speaker 00: I'm still looking for the how, though, and that's why I invited you to take a look at this. [00:33:54] Speaker 02: Well, I'm going to bring up the 908 with you. [00:33:56] Speaker 02: While I'm doing that, Your Honor, I can tell you [00:34:02] Speaker 02: That faster limitation at the tail end of 908 Claim 1 is an awfully good read on the discussion in Voigt, the 2019 decision, in which the court recognizes that there is some specificity in that what is being claimed is, quote, faster compression. [00:34:23] Speaker 02: And yet, the Voigt Court explains, rightly, I submit, that that's just an example of nonspecific functional claiming. [00:34:33] Speaker 02: Yeah. [00:34:34] Speaker 02: And I think if I take the first question the way you intended it, looking at that last limitation, quote, the compression and storage occurs faster than the first and second data blocks are able to be stored on the memory device in uncompressed form. [00:34:51] Speaker 02: Sounds great. [00:34:52] Speaker 02: Noble aspiration. [00:34:53] Speaker 02: The question is whether there's a very specific solution. [00:34:57] Speaker 02: And a limited, or I might say modestly claimed, through claim language, [00:35:02] Speaker 02: Solution that teaches you how to get there like those super defined off relied upon definitional rules in McRoe Or like in the SRI case at least the patentee there said if I'm going to look at attributes Here's a list of right the 12 which are within the scope, but we don't have anything like that anywhere else in the 908 I'm well beyond my time [00:35:33] Speaker 05: Thank you. [00:35:34] Speaker 05: Thank you, counsel. [00:35:35] Speaker 02: Thank you. [00:35:35] Speaker 05: Thank you for the court's time. [00:35:38] Speaker 01: Thank you, Your Honor. [00:35:40] Speaker 01: I did want to return to [00:35:45] Speaker 01: I think, Judge Toronto, you asked about visual memory. [00:35:49] Speaker 01: And I do want to disagree with my friend's characterization of visual memory. [00:35:53] Speaker 01: The claims there simply recited using a cache that was basically to perform better with the particular processor. [00:36:03] Speaker 01: It didn't recite in the claims the parameters to use or how to determine which way was better. [00:36:09] Speaker 01: It simply recited. [00:36:11] Speaker 01: a technique in which at a very high level of generality, I would argue higher levels of generality than the claims present here, that you use these programmable caches to [00:36:24] Speaker 01: in however they will work best with the processor to which they're connected. [00:36:28] Speaker 01: Didn't tell you how, didn't tell you in the claims any of those levels of specificity. [00:36:33] Speaker 01: And so to suggest that that's somehow more specific or more directed to a problem rooted in computer technology than the claims here really doesn't wash with [00:36:43] Speaker 01: the decision that the court entered in visual memory, that those claims were, in fact, directed to a technological solution to a technological problem. [00:36:53] Speaker 01: The same is true here. [00:36:54] Speaker 01: It's not merely the problem of we'd like to have it. [00:36:57] Speaker 03: Can you just remind me, did Judge Connolly on remand here discuss visual memory? [00:37:03] Speaker 01: He references it. [00:37:06] Speaker 01: He basically, so the court had direct. [00:37:08] Speaker 01: The first opinion or the second? [00:37:09] Speaker 01: It's in the first opinion, Your Honor. [00:37:11] Speaker 01: There were a number of things that this court had suggested he should consider. [00:37:16] Speaker 04: That was definitely one of them. [00:37:20] Speaker 01: I would basically say that all of them are addressed solely in footnote four, starting on page 48 of the appendix, actually concluding on page 48 of the appendix as well. [00:37:32] Speaker 01: That footnote purports to address all of the cases that the court suggested the district court should address in greater detail, as well as Judge Love's decisions, which the district court addresses with a single sentence that I disagree with those conclusions. [00:37:50] Speaker 01: we would submit that that does not comply with this court's directive to more carefully and robustly analyze those things. [00:37:57] Speaker 01: And frankly, the district court conceded that it wasn't really even looking at the technological solution question in the directed to analysis. [00:38:06] Speaker 01: At page 27 of the appendix, the district court basically disputes the premise that that's something it should consider at step one, and so indicates that it won't do so. [00:38:15] Speaker 01: And I think that's a clear error and clearly in contravention of this court's precedents. [00:38:23] Speaker 01: I also wanted to address this notion that the solution isn't, I think there was some colloquy about the second family and the storage claims relating to storage faster than. [00:38:41] Speaker 01: Part of what's important to remember about the way those claims are structured is that they recite using two different kinds of compression in a way that allows you to both compress and store the data faster than you can store the uncompressed data. [00:38:58] Speaker 01: So this patent was speaking specifically about bottlenecks that occur with the connection time and the response time of storage media, and that if you [00:39:12] Speaker 01: If you want to store compressed data, you have to keep that in mind. [00:39:15] Speaker 01: And so sometimes compression, the act of doing the compression, can take a very long time. [00:39:23] Speaker 01: And if the compression itself takes [00:39:26] Speaker 01: longer than it would take to store the data without doing any compression, then there's no savings. [00:39:33] Speaker 01: So the patent is directing, and the claims are directing, that you pick compression techniques that are essentially to optimize for that speed characteristic so that the storage, whatever reduction you're getting in terms of space, plus is enough to save you time in the storage, enough to offset the time you're spending doing the compression. [00:39:55] Speaker 03: And these patents don't add into the mix of comparison the required time for decompression on the receiving end, right? [00:40:06] Speaker 01: I believe, Your Honor, let me just double-check my notes. [00:40:09] Speaker 01: I think that one of the three speaks a little bit more to decompression as well. [00:40:16] Speaker 01: But they... But I think in both instances the point is you're picking which data blocks to send to which compressors all with that additional constraint in mind that how long the compression takes plus the storage has to be better than how long it would take to store without having any compression. [00:40:39] Speaker 01: So there's a time to store the data that's uncompressed [00:40:44] Speaker 01: And there's an additive time of compression plus storing the presumably reduced compressed data. [00:40:52] Speaker 01: And so the storage time for the compressed data is less. [00:40:55] Speaker 01: But of course, you have the processing time to get it compressed. [00:40:59] Speaker 01: And the idea of those claims and the constraint that it imposes is you make sure that you're using the compression technique that doesn't eat up all the time savings that you've got from having smaller blocks of data that have to be stored. [00:41:14] Speaker 01: Unless the court has other questions, I know I'm past my time. [00:41:18] Speaker 05: Thank you. [00:41:18] Speaker 05: Thanks to both counsels. [00:41:20] Speaker 05: Thank you, Your Honor.