Mirror Worlds, LLC v. Apple, Inc.

Filing 163

RESPONSE in Opposition re #156 MOTION for Partial Summary Judgment of Invalidity for Indefiniteness Under U.S.C. Section 112 paragraph 2 filed by Mirror Worlds, LLC. (Attachments: #1 Affidavit Declaration of Alexander Solo, #2 Exhibit 1, #3 Exhibit 2, #4 Exhibit 3, #5 Exhibit 4, #6 Exhibit 5)(Solo, Alexander)

Download PDF
Mirror Worlds, LLC v. Apple, Inc. Doc. 163 Att. 4 Dockets.Justia.com Page 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 TSG Reporting - Worldwide 877-702-9580 Job Number: REPORTED BY: BARBARA R. ZELTMAN Professional Stenographic Reporter 27001 **CONTAINS CONFIDENTIAL PORTION** DEPOSITION OF STEPHEN FEINER New York, New York Thursday, January 7, 2010 APPLE, INC., Defendant. ---------------------------------------X STEPHEN FEINER IN THE UNITED STATES DISTRICT COURT FOR THE EASTERN DISTRICT OF TEXAS TYLER DIVISION ---------------------------------------X MIRROR WORLDS, LLC, Plaintiff, vs. No. 6:08 CV 88 Page 90 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 developed. STEPHEN FEINER They include issues of trying to incorporate them in a clear and consistent way within the user interface, if we're talking about a user interface facility or a facility that has some kind of user interface. One reason would be that there might be issues that would need to be very carefully resolved to create an extension that would not break things that people were already familiar with. So recalling the Mander paper, for example, there's a number of issues that are mentioned. I think I actually discuss some of those in this document here, which are ways about how one manipulates a pile. Looking at Page 16, Bates number Feiner 203, I have some issues here, such as whether piles are distinctly manipulatable entities, whether you can move a pile by clicking and dragging, or whether you move the document by clicking and dragging. TSG Reporting - Worldwide 877-702-9580 Page 194 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 A Q A STEPHEN FEINER and time that uniquely identifies each document." And in my description of possible ways later on that one might implement a timestamp that uniquely identifies a document, I mentioned the use of additional data in the form, for example, of a counter, let's say, that could be used to be sure that something received a unique timestamp even if it was being created at the exact same time and the exact same date as something else. Q So is it your opinion that a timestamp does not need to be a unique date and time value? MR. BROWN: Objection. In the context of the patent? Yes. I think that a timestamp, in the context of the patent, needs to, in some way, be unique for each document, so that one could not have two different documents that received the same timestamp. TSG Reporting - Worldwide 877-702-9580 Page 196 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER One way to create a timestamp would be that either you make sure you could not somehow make two things or receive two things at the same time, in which case you should also make sure that a person having set the time into the future couldn't set it to the exact same time again. And you could do that -- you know, I opined about this a little bit later on in my report, on various ways you could do things of that sort. But I think that you could create a timestamp which, taking the date and time and adding additional information, would make that timestamp unique. Q So when you stated in your report that, "A timestamp is a date and time" -strike that. When you stated in your report that, "A timestamp is a date and time value that uniquely identifies each document," you were including the TSG Reporting - Worldwide 877-702-9580 Page 197 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER possibility of additional information beyond the date and time? A I was including the possibility of additional information beyond the date and time, and so I'm qualifying value with date and time. Because clearly, the timestamp needs to actually indicate time and date somehow. But to make it unique, you would either have to ensure that you're never allowed to use that date and time again once you've used it, which it seems to me ... For example, if I time tripped into the future and I set the date and time to a particular date and time, and then I went back in the past, or if I time tripped into the future and set the date and time to a particular date and time and then set it again to the same date and time, and I created one thing after setting it the first time and created a second document after setting it the second time, and the system then TSG Reporting - Worldwide 877-702-9580 Page 199 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER something like this from the standpoint of how it would be implemented, and that there are a number of subtleties, which I think I discussed in my report. And as well, I of course wasn't being exhaustive in describing some ways in which this could be done. Q In the example that we discussed earlier in which you described how a user would locate a particular document created two weeks ago, does the user have to know the timestamp assigned to that document in order to locate the document? A Q A The user in that specific example? Yes. The user needs to know what specific example -- we're talking about a time-based search. And I don't think the user needs to I don't know exact bits in the timestamp. see anything indicating that they would need to know that. I think in that case, they need to know the time at which the document was created. TSG Reporting - Worldwide 877-702-9580 Page 200 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER And as I said, you could imagine an example in which, because there weren't a lot of documents created over that time, if there were like, say, only one document, for whatever reason, created during that period of time, they'd simply need to know both the upper and lower bound on the time period, and then maybe they would find that single document. If they found multiple ones, then maybe they would position their cursor over the objects that they saw on the screen to be able to gain more information about it and figure out which one it was. Q Moving to Section D, labeled Archiving, or titled Archiving, do you consider yourself an expert in archiving? A "expert." Q You've been retained as an expert in I'm not sure what you mean by connection with this case by Apple, correct? A That is correct. 877-702-9580 TSG Reporting - Worldwide Page 222 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER So the devil is in the details of exactly how you set U. Because there's ways to set it that one might at first think would work that are not going to work in the context of this kind of system, in which the user can dial to the future, for example. Q How many different ways of creating a unique timestamp did you describe here? A Let's see. I described one in which -well, I described one of a number of methods -- rather, I described several methods, one of which -- or rather, all the ones I described used two values, a system clock and a separate value of U that ensures uniqueness at the very high level described in terms of that second sentence in this paragraph, which is the first full paragraph on Page 11. Again, at a very high level, I mention the idea that any timestamp that's given a value C that's the same as that of at least one other timestamp TSG Reporting - Worldwide 877-702-9580 Page 223 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER needs to be given a U that's different from that. So one can imagine that if we had two timestamps which had different values of C -- rather, if there was only a single timestamp that had a given value C, that you could perhaps, even in perhaps an attempt to try to save space, not have to have a value of U associated with it. Maybe you might have to go back and add one later or allow that one without it could also be supplemented by one with it. I mention an approach in which if you serialized requests so that one place actually knew all the requests being made, that you would then know the previous value of U, and you could then just bump it up by one and then reset it to zero whenever you got a new C. That is to say a C that was different from the last C. However, you know, this was an TSG Reporting - Worldwide 877-702-9580 Page 224 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER attempt to try to argue from first principles and show how even in that case there's a problem, because this is not a system in which you go only by the regular normal system clock, but it's one in which the user can change the so-called time cursor. And because you can change the time cursor, I can explicitly set the times -- I mean we don't normally do that -- and I could set the time cursor to be a particular date in the future. And then I could go back again and set it to be the same date in the future and make another document. Or I could, after having made that document in the future, go back in the past. And then when that future time came around and it created a new document, I couldn't just do what I described before, which is now that C is changed, I'm going to start again at zero because I might have something that had U at zero already created. TSG Reporting - Worldwide 877-702-9580 Page 225 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER So I was describing that one way that you can do that is to look to see what values of U there are. Another way you could do it is to perhaps have U be incremented every time starting with zero, for example. In that case, U might get to be bigger and bigger and bigger. In fact, U might always be unique, and there may never be recycled values of U. But in that case, you would need more bits, probably, for U. So I think I have one approach in which you set U to zero whenever a timestamp is created where C is different from the last request. I describe how that one doesn't work. I corrected it by saying one approach would be when you're creating a new timestamp, you could look at all those timestamps that are associated with files that have the same C and make sure you use a U that's different. Or another alternative is you TSG Reporting - Worldwide 877-702-9580 Page 226 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER could, at the very beginning of time, so to speak, initialize U to zero and then just increment it with every single timestamp. That probably would make you have to have more bits associated with it independent of the value of C. Q So those second two approaches would work to create a unique timestamp, correct? A Those approaches would work. Now, since I had not actually implemented streams and I had not actually implemented the software in the system, one of the things that we usually do in computer science is for people who are experimentalists, who are writing for conferences, for example, in which we have to actually -- we're talking about software. Very rarely, except publications that are on so-called paper prototypes, ones in which a person waves their hands and says, "I could do this," or, "I could do that," precisely because it's very easy, when you wave your hands TSG Reporting - Worldwide 877-702-9580 Page 229 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER want to see a description of how to do this at least one way in the patent, and I don't see it there. Q Just looking at the second idea or the second method that I believe you testified would work, which is that you initialize U to zero and increment it with the creation of each timestamp, which would result in a unique value of U, how long did it take you to come up with that idea? A Q solution? A It depends what you mean by I don't remember. Is that a fairly straightforward "straightforward." I think a person of ordinary skill in the art would be able to come up with that solution. Q What about the second method, in which you determine the values of U for each C to ensure that the U is unique for each C? A I think a person of ordinary skill in the art would be able to come up with that. I don't think a person of ordinary 877-702-9580 TSG Reporting - Worldwide Page 230 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER skill in the art would look at that description and say, "Wow, that's incredibly inventive and novel, and I can't imagine anyone having thought about that without having incredible skill." I'm not sure that I would imagine a person who was not of ordinary skill in the art would necessarily be able to come up with these. And as I said, you know, there's tradeoffs. For each of those, I suggested what some of those tradeoffs may be in terms of the amount of time it takes to determine which values have already been used, which would even include issues of what happens if I delete a document, if I really delete a document as in the standard method of deletion of documents we have right now? Do we not have holes, for example, in that sequence, the U sequence? Possibly. Does it get reassigned? don't know. TSG Reporting - Worldwide 877-702-9580 I Page 253 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPHEN FEINER kind of document. There may be some kind of other information, perhaps a link list of some sort, which is used in conjunction with the things that elements of that link list point to, which could ultimately be the documents that are part of that main stream. Q Do you know how to generate an instance of a data structure in software? A There is more than one way to generate an instance of a data structure in software. Q A Can you name one? Sure. One way to generate an instance of a data structure in software is to have some prototype of that data structure that, you know, would tell the computer how much space needs to be allocated and then make a call to some facility that generates that amount of space and returns the address of that space so I can then set a pointer to TSG Reporting - Worldwide 877-702-9580 Page 264 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 A STEPHEN FEINER of "iconic" that he gives over here, he's referring to the notion of an interface that uses icons, referable icons, to represent things that perhaps in other interfaces that would not be considered iconic might be represented with text, for example, as opposed to with graphic icons. Q A And what is an icon? An icon in this context is a graphical representation of some entity in the computer system. And that entity usually can be viewed and manipulated interactively by the user of that computer system. Q How can you tell whether something is an icon or not? MR. BROWN: Objection. I'm trying to give you as general an answer as I possibly can. An icon is usually some kind of stylized representation of something. So if I were looking at, for example, the full page of a document that I was editing perhaps in a mode TSG Reporting - Worldwide 877-702-9580

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?