throbber
(stating “Milestone Review ... basic HW/SW bootup on I* proto — Sep ... DSP playing sounds...
`
`Late Basic MP3 playback (RAM) ... (disk) ... Rev 2 Proto, in form factor ... Nov”). The reference
`
`to “Rev 2 Proto, in form factor” refers to a second prototype that would later be implemented having
`the size and shape as desired for the ultimate Nomad Jukebox product.
`/d. Theearlier prototypes
`
`were not “form factor,” meaning they were larger and square-shaped and not designed toactuallyfit
`
`in the plastic casing that was being designed. See, e.g., Exh. T.
`
`At the Oasis Engineering Meeting on October 13, 1999, | reported on certain issues
`
`2 3
`
`8.
`
`concerning the embedded software. See Exh. W, p. 2. My co-inventors on the *433 Patent, David
`
`Bristow and Ron Goodman, werealso present at the Oasis Engineering Meeting on October 13, 1999,
`
`wetalked about efforts in “storyboarding”the user interface.
`
`/d., p. 3.
`
`At another Oasis Engineering Meetingthat took place sometime after Oct. 20, 1999, but
`39.
`before Dec. 9, 1999, one of my colleagues gave a status report on the embedded software
`
`development, reporting that: “Howard [Egan] has been working onfile system ... The basics work...
`
`Load,save, create files”; “Playback mgr, DSP Mgr. ... MP3 decode works in Playback mgr”; and
`
`“Ron’s UI stuff integrated into Oasis.” See Exh. W,p. 10.
`
`40.
`
`At a subsequent meeting that took place sometime after Dec. 2, 1999, but before Dec.9,
`
`1999, Mr. Freeman reported on the status of the Oasis hardware development, indicating that: “Oasis
`
`PCBin assembly”; “test fixture in fab Thu | 2/2/99”; “DVT plan being written”; “Prog guide/Theory
`of Ops doc being written.” See Exh. W, p. 12. The notes also indicate that| waspresentat this
`meeting, and that | said “MP3 decode from disk works.” /d. These notes indicate to me that in the
`
`first week of December, 1999, I received a form-factor prototype that I coulduse to begin testing the
`
`Oasis operating system in firmware on a hardware prototype, as opposed to by using an emulator.
`
`/d.
`
`. The notes also say that | wanted Scott W. “commit to what can be delivered for CES.” Jd. The
`
`notation “CES”refers to the upcoming Consumer Electronics Show 2000 (“CES 2000”), which was
`scheduled to take place in Las Vegas, NV onJan. 5 through Jan. 10, 2000. The Oasis R&D team had
`already been notified sometime in Septemberof 1999 that Creative was planningto introduce the
`
`Nomad Jukebox at CES 2000.
`
`It was understood by all members of the Oasis R&D team thatthis
`
`meant we needed to have a robust working prototype fully tested and ready to presentat least a day
`
`before the show wasscheduled to begin on Jan. 5, 2000. So, the target date was set for Jan. 4, 2000.
`
`41.
`
`At a meeting on Dec. 9, 1999, | gave a status update on the developmentofthe Oasis
`
`embedded software. See Exh. W, pp. 14-15. Prior to that day, the hardware sub-group had provided
`
`13787448
`
`- 28
`
`SONYExhibit 1004 - Page 538
`
`SONY Exhibit 1004 - Page 538
`
`

`

`mewith a functional hardware prototype having all the same components shownin Exh. Q.
`
`I know
`
`this based on my memory ofthe events, and also because Mr. Freeman’s notes of Dec. 9, 1999
`
`indicate that | talked about the need to integrate “boot loader” software into the system. See Exh. W,
`
`~
`
`p. 15 (stating “Intertrust secure Bootloader — we have to write bootloader. Intertrust portion in read-
`
`only part of the Boot ROM”).
`
`
`
`42. Using the prototype Nomad Jukebox provided to me priortoDecember 9, 1999, 1 had begun
`
`testing the Oasis operating system. See, e.g. Exh. W,p. 15 (stating “U] managertask running, button
`
`manager ... Library traversal system in place ...”) Prior to Dec. 9, 1999, | had beguna testing
`process wherein I compiled the Oasis source code, and executedit as firmware on the ARMprocessor
`of the prototype. See Exh. Q.
`In conjunction with testing the Oasis source code, | used a personal
`computer (PC) connected to an Oasis Test Fixture Board via a standard Joint Test Action group
`(“JTAG”) adaptor, wherein the prototype Nomad Jukebox connected directly to the Oasis Test
`
`Fixture Board. Exhibit U shows photographstaken recently of the Oasis Test Fixture Board | began
`
`
`
`using priortoDec. 9, 1999 for purposesof testing the Oasis operating system. /d. I note the Oasis
`
`
`
`Test Fixture Board bears a copyrightdate of 1999. See Exhibit U. This test board was designed by
`Mr. Freemanand others specifically for the purpose oftesting the source code for the embedded
`
`software, including the Oasis operating system. See, e.g. Exh. W,p. 12 (stating “Test fixture in fab
`
`Thu 12/2/99 ... DVT plan being written”). Mr. Freeman’s notes concerning the “Test fixture” refer
`
`to the Oasis Test Fixture Board shownin exhibit U. See, e.g. Exh. W, p. 12; see also Exh. U. The
`
`notation “DVTplan being written” refers to a plan for a device verification test (“DVT”) for verifying
`
`the operation of the prototype Nomad Jukebox. See, e.g. Exh. W, p. 12; see also Exh. U.
`
`43,
`
`Prior to Dec. 9, 1999,| begantesting the Oasis operating system by compiling the Oasis
`
`source code, and downloading . the compiled code via the JTAG adaptor to the ARM processorofthe
`
`prototype. See Exh. Q, Exh. U. The Oasis block diagram of exhibit Q showsthe basic components
`
`of the prototype. As mentioned above, Mr. Freeman’s notes of Dec. 9, 1999 indicate that I talked
`
`aboutthe need to integrate “boot loader” software into the prototype. See Exh. W,p. 15 (stating
`
`“Intertrust secure Bootloader — we have to write bootloader. Intertrust portion in read-only part of the
`
`Boot ROM”). Referring to the diagram of exhibit Q, the Nomad Jukebox prototype design called for
`
`“bootloader” code to be stored in the “Boot Flash” memory. See Exh. Q. The purpose ofthe
`
`bootloader can be described as follows. Upon initial power-up of the system, the ARM processor
`
`would access and execute the bootloader code from the boot flash memory, which would then load
`
`the Oasis operating system from the Hard Disk to the dynamic random access memory (“DRAM”) so
`
`that the ARM processor could then begin executing the Oasis operating system to controlall
`
`13787448
`
`.-29
`
`SONYExhibit 1004 - Page 539
`
`SONY Exhibit 1004 - Page 539
`
`

`

`embedded software functions on the portable media player. See Exh. Q. However, as of Dec. 9,
`
`1999, the bootloader code wasnot yet written andinstalled into the boot flash memory. See Exh. Q;
`
`Exh. W, p. 15. In order to proceed with the testing without the boot loader, upon power-up of the
`prototype, | configured the PC to control the ARM processoron the prototype via the JTAG adaptor
`so that the ARM processor loaded the Oasis operating system directly from the hard disk drive to the
`
`DRAM. This was a simple by-pass solution that enabled meto fully test the Oasis operating system,
`
`including all of the functions described aboveaspracticing claims 1-33 of the ‘433 Patent.
`
`44,
`
`Using the techniques described in the previous paragraph, | was able to power-up and
`
`initialize the Nomad Jukebox prototype without having a bootloader, and thus | was able to test the
`
`compiled Oasis operating system by executingit directly on the prototype without the use of any
`
`software emulation. See, Exh. W, pp. 14-15; see also Exh. U. Mr. Freeman’s notes of Dec. 9, 1999
`
`also state “UI Managertask running, button manager... library traversal system in place.” See, Exh.
`
`W,pp. 14-15. This indicates to methat prior to Dec. 9, 1999, I had been able to power-up andtest
`
`parts of the Oasis operating system on the Nomad Jukebox prototype without having a bootloader.
`Id. These notes are in accordance with my memory of the events during the first few weeks of
`January, 1999, which I remember very well because I was very excited and determined to meet the
`
`goalof publicly demonstrating a Nomad Jukebox prototype at CES 2000, which was atthattimeless
`
`than a month away.
`
`45,"
`
`Mr. Freeman’s notes on the report 1 gave on Dec. 9, 1999 also state “want‘limping along’
`
`1 coined the term “limping
`unit that can play songs next week (old boards).” See, Exh. W, pp. 14-15.
`along”unit on or aboutthe time of the Dec. 9, 1999 meetingto refer to astand-alone Nomad Jukebox
`prototype detached from the Oasis Test Fixture Board and othertest equipment, that would could
`properly execute the Oasis operating system. See Exhs. AA through OO. Onceagain, our goalin
`
`Decemberof 1999 wasto publicly demonstrate a Nomad Jukebox prototype at CES 2000, which was
`
`at that time less than a month away.| called it a “limping along” unit sort of as a term of endearment
`
`because the Oasis R&D was well awarethatany early prototype is likely to have sporadic bugs or
`
`glitches. However, weall took very serious the prospect of demonstrating a prototype at CES 2000,
`
`whichis the largest and most important annual consumerelectronics show in North America. As
`
`such, we knewthat the stakes were extremely high because it would have been a major
`
`embarrassmentif any of the Nomad Jukebox prototypes presented at CES 2000 were to “crash.”
`
`46.
`
`| During a meeting on Dec. 15, 1999, I gave another update on developmentofthe Oasis
`
`embedded software. See Exh. W, pp. 16-17. Mr. Freeman’s notesindicate “’ Limping along’ unit
`
`13787448
`
`- 30
`
`SONYExhibit 1004 - Page 540
`
`SONY Exhibit 1004 - Page 540
`
`

`

`could be ready later this week? Then will be made more robust so can survive demo at CES.” /d.,
`
`p.17. This meansthat the bootloader code was still not installed.
`
`47.
`
`Based on my memory, myinspection of the CVS check-in logs (see Exh. Z), my inspection
`
`of the Dec. 14, 1999 Oasis source code (see Exhs. A through O), and also based on Mr. Freeman’s
`
`notes on Dec. 9, 1999 (see Exh. W at pp. 14-15), | am sure that at least as of Dec. 14, 1999, I had
`
`fully tested the Oasis operating system — which implementedall of claims 1-33 of the 433 Patent - as
`
`actual firmware running on a Nomad Jukebox prototype. See Exh. W,pp. 14-15 (stating “UI
`
`Managertask running, button manager... library traversal system in place.”) It is true that as of Dec.
`
`9, 1999, many aspects of the prototype needed to be de-bugged,and it is also true that the Oasis
`
`operating system needed to be loaded by J1AG control on power-up due to the absence of a
`
`bootloader. However, the bootloader wasnot essential to demonstrating that the Oasis operating
`
`system (including all of the functionality described above in Table A) was workingforits intended
`
`purpose. Therefore, as of Dec. 14, 1999, | had fully tested all of the functions correlated in the above
`
`table with claims 1-33 of the “433 Patent, and these functions were working for their intended
`
`purpose.
`
`48.
`
`Prior to Dec. 14, 1999, before | began testing the Oasis operating system as compiled
`
`firmware on a Nomad Jukebox prototype (as the notes show I was doing throughoutthefirst few
`
`weeks of Decemberof 1999), | had previously tested the Oasis operating system (includingall of the
`
`functionality described above in Table A) using a software emulator. For reasons that will be
`
`understood by anyoneskilled in the developmentof firmware in the 1999 time period, | would not
`
`have beguntesting the firmware withoutfirst testing the source code in an emulator environment,
`
`where it was mucheasier to debug.
`
`Diligence Towards A Second Reduction to Practice on January 4, 2000
`
`49.
`
`As explained above,| believe that the Dec. 15, 1999 Oasis source code demonstrates
`
`complete conception of claims | -33 of the °433 Patent (see Table A, above) at least as early as Dec.
`
`15, 1999.
`
`| also believe that the above-described emulation testing and/or the firmware testing was
`
`sufficient to demonstrate that the inventionsrecited in claims 1-33 of the 433 Patent were working
`for the intended purpose.
`
`50.
`
`Alternatively, | submit that: (1) the Jan. 4, 2000 Nomad Jukebox prototypes demonstrated at
`
`CES 2000 constituted an actual reductionto practice of the inventions of claims 1-33 of the “433
`
`Patent; (2) the Oasis R&D team was diligentin its effort to reduce to practice the inventions of claims
`
`13787448
`
`-3]
`
`SONYExhibit 1004 - Page 541
`
`SONY Exhibit 1004 - Page 541
`
`

`

`1-33 starting on Dec. 15, 1999 and proceeding on a daily basis up until the time of the actual
`
`reduction to practice on Jan. 4, 2000.
`
`Sl.
`
`As explained above, during our developmentof the Nomad Jukebox in Decemberof 1999,
`
`we were working toward a very aggressive internaltarget date of Jan. 4, 2000 for having a fully
`
`functional Nomad Jukebox ready to present at CES 2000. And as explained below, we were very
`
`successful in achieving that goal.
`
`52.
`
`After the Oasis Engineering Meeting on Dec. 15, 1999, the Oasis R&D team including Mr.
`
`Freeman began working so hard and fast toward the CES 200 target date that Mr. Freeman largely
`
`stopped taking meaningful notes in his notebook in the time period between Dec. 15, 1990 and
`
`January 11, 2000. See Exh. W, pp. 16-22. However, I have located numerous documents that
`
`describe the work that was done on reducing the inventions of the 433 Patent to practice during the
`
`time period between Dec. 15, 1999 and Jan. 4, 2000.
`
`53.
`
`Exhibit Z is a copy of a Log of all CVS check-in activity for the Oasis source code between
`
`Nov.r 10, 1999 and Jan. 10, 2000. This log indicates that portions of Oasis source code were checked
`
`in by various members of the embedded software development team on the following dates: 12/14/99
`
`(see, e.g., Exh. Z, p. 4 showing a check-in by Howard Egan with notes indicating “Resynchronize
`
`after adding button scanner, transfer agent, now playing manager, LibTreeManageretc.); 12/16/99
`
`(see, e.g., Exh. Z, p. 196 showing a check-in by Andrei Veltchev with notes indicating “delay inserted
`
`to accommodate the D12's timing requirements”); 12/17/99 (see, e.g., Exh. Z, p. 4 showing a check-in
`
`by Howard Egan with notes indicating ‘First cut with playback manager hookedto transfer agent
`Plays audio from disk”); 12/18/99 (see, e.g., Exh. Z, p. 47 showing a check-in by Andrei Veltchev
`
`with notes indicating “added encoder event handling to the LCD manager”); 12/20/99 (see, e.g., Exh.
`
`Z, p. 11 showing a check-in by Howard Egan with notesindicating “Miscellania”); 12/22/99(see,
`
`e.g., Exh. Z, p. 70 showing a check-in by Howard Egan with notes indicating “Moved from sysmgr’”);
`
`12/23/99 (see, e.g., Exh. Z, p. 75 showing a check-in by Howard Egan with notes indicating “Latest
`
`boot loader modifications and inclusion of some new hard coded music.”); 12/24/99 (see, e.g., Exh.
`Z, p. 11 showing a check-in by Gerald I. with notes indicating “Fixed sometransport issues”);
`12/26/99 (see, e.g., Exh. Z, p. 10 showing a check-in by Howard Egan with notes indicating “Fixed
`several transport key issues, and changed fonts and LCD Displaysizeto 6 lines (total)”); 12/27/99
`
`(see, e.g., Exh. Z, p. 10 showing a check-in by Howard Egan with notes indicating “Added status line
`class to LCDPagefor use by both nowplaying screen and qlist screen. Added elapsed playing time
`calculations and functions to dsp managerfor use bystatus line.”); 12/28/99 (see, e.g., Exh. Z, p. 35
`
`13787448
`
`- 32
`
`SONYExhibit 1004 - Page 542
`
`SONY Exhibit 1004 - Page 542
`
`

`

`showing a check-in by Howard Egan with notesindicating “Miscellaneous bug fixes”); 12/29/99
`
`(see, e.g., Exh. Z, p. 35 showing a check-in by Howard Eganwith notes indicating “Added fix to
`filesystem to take aninitial file size on creation. "Cause double indirect is broken currently"”’);
`
`12/30/99 (see, e.g., Exh. Z, p. 35 showing a check-in by Howard Egan with notes indicating “Better
`
`fonts, cosmetics”); 12/31/99 (see, e.g., Exh. Z, p. 5 showing a check-in by Howard Egan with notes
`indicating “Added INode debug output statements.”); 01/01/2000 (see, e.g., Exh. Z, p. 5 showing a
`check-in by Howard Egan with notes indicating “Added system menu,including dsp effects
`
`control”); 01/03/2000 (see, e.g., Exh. Z, p. 15 showing a check-in by Howard Egan with notes
`
`indicating “CES Release”); and 01/04/2000 (see, e.g., Exh. Z, p. 21 showing a check-in by Howard
`
`Egan with notes indicating “CES Final”).
`
`54.
`
`As noted above, the CVS Log indicates that members of the Oasis R&D team checked in
`
`source code revisions on every day between Dec. 14, 1999 and Jan. 4, 2000, except the following
`
`days: Dec. 15, 1999; Dec. 19, 1999; Dec. 21, 1999; Christmas day, 1999; and Jan. 2, 2000. However,
`
`I am absolutely sure that most of the members of the members of the Oasis R&D team worked
`
`diligently every single day between Dec. 14, 1999 and Jan. 4, 2000, with the possible exception of
`
`Christmas day, 1999.
`
`I worked on revising and testing the Oasis operating system on every single
`
`day in this time period, except Christmas day.
`
`In addition, | should explain that each one of the
`
`logged source code revisions may reflect more than one day’s worth of work leading up to the check-
`in date. Moreover, the fact that no check-ins on a given date certainly does not mean that there was
`no embeddedsoftware developmentactivity on that date because the Oasis source code developers
`
`followed the standard practice of testing all source code revisions before checking them in, andthis
`wasoften a complicated and time consumingprocess.
`I note that there was a very well attended
`
`Oasis Engineering Meeting on Dec. 15, 1999. See Exh. W, pp. 16-18. Mr. Freeman’s notebook
`
`showsthat at least he was working on developmentof the Nomad Jukebox on Dec. 19, 1999, See
`
`Exh. W, pp. 18-19.
`
`I am certain | worked that day as well. Thus, the only daysin the period for
`
`which | cannot find direct evidence of work activity are: Dec. 21, 1999; Jan. 2, 2000 (which was a
`
`Sunday); and Christmas day, 1999. However,as I said, I am certain that I personally worked on
`every day between Dec. 14, 1999 and Jan. 4, 2000, except Christmas day.
`In this time period, |
`estimate that | worked about 80 hours per week on further development of the Nomad Jukebox
`embedded source code. And I am sure that the other members of the Oasis R&D team workedat a
`
`similar pace in developing various other components of the Nomad Jukebox. As explained,
`
`the
`
`reason forthis tireless pace was that we had promisedto deliver a working Nomad Juekbox prototype
`
`in time to demonstrate it at the CES 2000 show in Las Vegas, NV starting on January 5, 2000.
`
`13787448
`
`-33
`
`SONYExhibit 1004 - Page 543
`
`SONY Exhibit 1004 - Page 543
`
`

`

`55.
`
`Ane-mail sent by Dan Freeman on Dec. 28, 1999 to Andrei Veltchev and Howard Egan
`
`regarding “ARM Initialization Pwr Up/Downfor CES” shows that Dan Freeman had been working
`
`various aspects of the hardware, and his message indicates that he had solved the bootloader problem,
`
`which | had previously discussed at the Oasis Engineering Meeting’on Dec. 9, 1999. See Exh. X; see
`
`also Exh. W,pp. 15-16.
`
`56.
`
`Dan Freemansent another e-mail on Dec. 30, 1999 to a numberof people including myself.
`
`See Exh. Y. This email attached a Word document,entitled “Script Guideline: Public
`
`Demonstration.” Jd. The purpose of the document wasto train Creative sales and marketing
`personnel on how to operate the Nomad Jukebox portable media players that would be ready to
`
`demonstrate at CES 2000. Jd. This document provides direct evidence about what functions were
`ready for the “demonstration” at CES 2000.
`Id.
`Infact, the document provide directions for how to
`perform the demonstration, including the following excerpts:
`
`e
`
`e
`
`e
`
`e
`e
`
`e
`e
`
`e
`
`e
`
`e
`
`e
`
`©“Lets start with the LibraryKey — showthat this skips between the top library
`Screen and the ‘now playing’ Screen”
`“SoftKeys — repeat that the softkeys are labeled depending on the screen, and
`for example, when searchingthe library, they are used to expand the view via
`different categories”;
`‘Show the use of the ScrollKeys by moving up and downlists of albums,styles,
`artists or tracks”;
`“Mention 6GB HD holds 100 hours of CD-quality music ...”;
`“Touch the LibraryKey again to return to the top Library screen and select an
`album. (let the audience choose a style). Show howto play this directly from
`the Library by pressing the PLAYtransport key”
`“You find and select what you want to hear and simply press Play’”
`“Show that the Jukebox automatically displays the ‘Now Playing” screen soon
`after audio has started ...see the list of tracks waiting to be played”;
`“Now direct the audience to the sound quality. Have them put on a headset(if
`available)’;
`“Remember: if the PlayKey is pressed when the Library Screenis active,it will
`immediately play the selection and will not act as pause”
`“Building and playing playlists is an important part of the JukeBox’s function.
`We’ve shown howeasyit is to immediately Play any Album from the library
`by selecting and using the PlayKey. However, whenever you repeat this action
`with the PlayKey, whateveris playing will stop and the newselection will take
`its place on the “virtual turntable”. Show an example ofthis by selecting and
`playing a track from the Library followed by a second “played”track after about
`10 seconds.
`,
`
`“To build up a list of selections, instead of pressing the PlayKey when
`searching throughthe library, press the QueueKey ... This will add your
`selection to the currently playing list, and you can checkthis by lookingat the
`
`13787448
`
`- 34
`
`SONYExhibit 1004 - Page 544
`
`SONY Exhibit 1004 - Page 544
`
`

`

`list view of the PlayScreens. After any listening session, you can chooseto save
`all the music you have beenlistening to as a playlist for future occasions.”
`
`See Exh. Y, p. 3 (emphasis added).
`57.
`As indicated in the CVSlog, | personally checked in the Oasis source code that was used in
`the Nomad Jukebox prototypes presented at CES 2000 in accordance with the above-cited
`
`demonstration instructions. See Exh. Z, p. 21 (showing a check-in on 01/04/2000 by Howard Egan
`
`with notes indicating ““CES Final”),
`
`58.
`
`According to schedule, the NOMAD® Jukebox was indeed presented to attendees at the
`
`Consumer Electronics Show in Las Vegas, NV, which began on January 5, 2000. See Exh. PP, Exh.
`
`QQ.
`
`| was present at the show,and| participated in demonstrating the NOMAD® Jukebox. Durling
`
`and after the CES 2000 show, the NOMAD®Jukebox received rave reviews. See Exh. PP, Exh. QQ.
`
`59.
`
`Presented below in Table B is a chart explaining how the Jan. 4, 2000 Oasis source code (see.
`
`Exhs. AA through OO) - which was embeddedas fully operative firmware in the NOMAD® Jukebox
`
`portable media players presented at CES 2000 - implemented each and every element of claims 1-33
`
`of the °433 Patent.
`
`Table B
`
`~- Claim'Elements.
`
`|
`
`~~~
`
`Jan.4, 2000 “CES Final”Oasis SourceCode
`
`t. A method ofselecting at|The Nomad Jukebox “Script Guideline : Public Demonstration”
`least one track from a
`explains many features of the Nomad Jukebox portable audio players
`plurality of tracks stored in|that were demonstrated at CES 2000. The Nomad Jukebox portable
`a computer-readable ~
`audio players included:a liquid crystal display screen (see Exh. Y at
`medium ofa portable media|pp. 3-4); user control buttons such as ScrollKeys and SoftKeys(see id.
`player configured to present|
`at p. 3); a hard disk drive for storing songs (or tracks)(see id. at pp. 3
`sequentially a first, second,|and 7.); electronics for playing music through headphonesor a speaker
`and third display screen on|(seeid.at p. 3.).
`the display of the media
`player.
`The Oasis source code (see Exhs. AA through OO) was embedded as
`fully operative firmware in the NOMAD® Jukebox portable media
`players presented at CES 2000.
`
`interface, and also stores the actual details of where to find a particular
`
`Onor before Jan. 4, 2000, the prototype portable media player was
`tested. The test results demonstrated that the prototype successfully
`implemented all of the functions of the Jan. 4, 2000 version of the
`Nomad Jukeboxsource code.
`
`The source codefiles LibraryTree.cpp and LibraryTree.h implement a
`hierarchy in the form of a library tree. See Exhs. BB and CC. The
`library tree stores human-readable information that is shownin a user
`
`13787448
`
`- 35
`
`SONYExhibit 1004 - Page 545
`
`SONY Exhibit 1004 - Page 545
`
`

`

`
`
`Claim Elements
`
`Jan. 4, 2000 “CES Final” Oasis Source Code
`
`
`
`/d. A display screenis displayed for every
`track in the file system.
`
`/d. Thus, the entire display is replicated by the
`level of the hierarchy.
`library tree. Jd. This way the user-interface code traverses the tree
`
`and displays any items(s) at the current node. Jd.
`
` A plurality of musical “tracks” are stored in a computer-readable
`medium accessedvia thelibrary tree. See file LibraryTree.cpp at Exh.
`
`BB, p. 2 (referring to a “tracks directory”); see also Exh. CC.
`
` Asindicated by developer notes in the source code, the “Class
`CLibTreeMegr creates and makes modifications as necessary to a tree
`structure whose purpose is to make the track data on disk logically and
`quickly navigable.
`It is currently rebuilt every time the system boots.”
`See Exh. BB; Exh. CC.
`
`The display of the above elements is one example ofa “first ... display
`screen.” From here the user has the option of opening any of the
`displayed categories by pressing an “Open”sofikey (see CLCDLib
`Page::Softkey | Handler() at Exh. DD, pp.
`1 and 3; Exh. EE,p. 1).
`
`
`
`
` Onentry into the Library display screen, the elements of the top level
`of the Library Tree are displayed by the CLCDLibPageclass. See
`
`Exhs. DD and EE. Thetop level of the Library Tree has the following
`
`categories: “Albums,” “Artists,” “Styles,” “Play Lists.” See, e.g.,
`
`Exh, BB,pp.1-2.
`
`
`
`
`
`
`The user moves the:selection up and downlists by pressing up and
`downarrow keys, wherein the key presses are handled by the
`
`CLCDMgr(see Exh. FF, p. 5) whichin turn tells the CLCDLibPage
`
`(see Exhs. DD and EE)to scroll the highlight up or down.
` Whenthe user presses “Open” with the “Albums”item highlighted,
`the CLCDLibPageclass (see Exhs. DD and EE)displays a currentlist
`
`of Albums, which is one example of a “second ... display screen.” As
`
`explained above,the user can scroll up and downthelist, and either
`
`Open, Queue,or Play an item. Atthis level, the Close softkey is also
`
`active. (See Exhs. DD and EE.)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Whenthe user again presses “Open”with a selected album
`highlighted, the CLCDLibPageclass (see Exhs. DD and EE)redraws
`the screen showinga list of tracks corresponding to the album. Thisis
`one example of a “third display screen.” At this point CLCDLibPage ~
`(see Exhs. DD and EE)again changesthe soft key labels to replace
`“Open”with “Details”. Pressing a Details button for any selected
`
`track will display more detailed information, such as album,artist,
`duration.
`
`
`
`
`The source codefiles LibraryTree.cpp and LibraryTree.h implement a
`the plurality of tracks
`“hierarchy” in the form ofa library tree. See Exhs. B and C. The
`accessed according toa
`
`
`
`library tree is built at system startup by traversing tracks stored in a
`hierarchy,
`
`
`file system. Jd. Additionally, as the user adds tracks, the library tree
`
`is expanded.
`/d. Thelibrary
`tree stores human-readable information
`
`
`
`13787448
`
`- 36
`
`SONYExhibit 1004 - Page 546
`
`SONY Exhibit 1004 - Page 546
`
`

`

`Claim Elements
`
`Jan. 4, 2000 “CES Final” Oasis Source Code
`
`that is shownin a userinterface, and also stores the actualdetails of
`whereto find a particular track in the file system.
`/d. A display screen
`is displayed for every level of the hierarchy.
`/d. Thus, the entire
`display is replicated by the library tree. /d. This way the user-
`interface code traverses the tree and displays any items(s) at the
`current node.
`/d. Thelibrary tree is implementedin classbythe files
`LibraryTree.cpp (see Exh. BB) and LibraryTree.h (see Exh. CC).
`
`Tracksare “accessed” using the “hierarchy”in the form ofa library
`tree. See Exhs. BB and CC.
`
`Asindicated by developer notes in the files LibraryTree.cpp and
`LibraryTree.h, “Class CLibTreeMgrcreates and makes modifications
`as necessary to a tree structure whose purposeis to make the track data
`on disk logically and quickly navigable.
`It is currently rebuilt every
`time the system boots.” See Exh. BB, p. 1; Exh. CC,p. 1.
`
`the hierarchy having a
`plurality of categories,
`subcategories, and items
`respectively in a first,
`second,andthird level of
`the hierarchy, the method
`comprising:
`
`The source codefiles LibraryTree.cpp and LibraryTree.h implement a
`hierarchy in the form of a library tree. See Exhs. B and C.
`
`Thelibrary tree stores human-readable information that is shown in a
`user interface, and also stores the actual details of where to find a
`particulartrack in the file system. Jd. A display screen is displayed
`for every level of the hierarchy.
`/d. Thus, the entire display is
`replicated by the library tree. /d. This way the user-interface code
`traverses the tree and displays any items(s) at the current node.
`/d.
`
`The top level of the Library Tree (see LibraryTree.cpp ) displays the
`top level categories (i.e., “Albums,” “Artists,” “Styles,” “Play Lists’’)
`onafirst display screen. See, e.g., Exh. BB, pp. 1-2.
`Thecategories are inafirst “level” of the “hierarchy.”
`
`list of tracks is another example of a plurality of “items.”
`
`Whenthe user presses “Open”with the “Artists” element highlighted,
`the CLCDLibPageclass (see Exhs. DD and EE)gets a currentlist of
`Artists from an artist level of the library tree. This artist level is one
`example of a “secondlevel”of the “hierarchy.” The list ofartists is
`one example ofa plurality of “subcategories” in a “second level” of
`the “hierarchy.”
`
`Now if a user presses “Open” with a particular Artist item highlighted,
`the CLCDLibPageclass (see Exhs. DD and EE)gets a currentlist of
`Albumsfor the selected Artist from an album level of the hierarchy.
`This album level is one example ofa “third level” of the “hierarchy.”
`Thelist of albumsis one example of a plurality of “items”in a “third
`level” of the “hierarchy.”
`
`Nowif a user presses “Open” with a particular Album item
`highlighted, the CLCDLibPage class (see Exhs. DD and EE)gets the
`tracks for the selected album fromatrack level of the hierarchy. This
`track level is one example of a “fourth level” of the hierarchy. This
`
`13787448
`
`-37
`
`SONYExhibit 1004 - Page 547
`
`SONY Exhibit 1004 - Page 547
`
`

`

`Claim Elements
`
`Jan. 4, 2000 “CES Final’ Oasis Source Code
`
`selecting a category in the
`first display screen of the
`portable media player;
`
`Highlighting a track and pressing the Play button cause the CLCDMgr
`(see Exh. FF and G) to call CNowPlayingMgr::Play() function (see
`Exhs. HH and11) to clear the contents of the NowPlayingQ, and
`replace it with the track and begin playing.
`
`Onentry into the Library display screen, the elements ofthe top level
`of the Library Tree are displayed by the CLCDLibPage class. See
`Exhs. DD and EE.
`The top level of the Library Tree (see LibraryTree.cpp) displays the -
`top level categories(i.e., “Albums,” “Artists,” “Styles,” “Play Lists”)
`on a first display screen. See, e.g., Exh. BB,pp. 1-2.
`Thedisplay of the above categories is one example ofa “first display
`screen.” From here the user has the option of opening any of the
`displayed categories by pressing an “Open” softkey (see CLCDLib
`Page::Softkey | Handler() at Exh. DD, pp.
`| and 3; Exh. EE,p. 1).
`
`The user moves the selection up and downlists by pressing up and
`down arrow keys, wherein the key presses are handled by the
`CLCDMgr(see Exh. FF, p. 5) which in turn tells the CLCDLibPage
`(see Exhs. DD and EE)toscroll the highlight up or down.
`
`Whenthe user presses “Open” with the “Albums”category
`highlighted in the “first display screen,” the CLCDLibPageclass (see
`Exhs. DD and EE)displays a currentlist of Albums. This is one
`exampleof“selecting a category in thefirst display screen of the
`portable media player.”
`
`
`
`Whenthe user presses “Open” with the “Albums”category
`displaying the
`subcategories belonging to|highlighted in the “first display screen,” the CLCDLibPage class (see
`the selected category in a
`-Exhs. DD and EE)displays a currentlist of Albums, which is one
`listing presented in the
`example of “subcategories belonging to the selected category in a
`second display screen;
`listing presented in the second display screen.”
`As explained above, the user can scroll up and downthelist, and either
`Open, Queue, or Play a selected one of the albumsin thelist. (See
`Exhs. DD and EE.)
`
`selecting a subcategory in
`the second display screen;
`
`Whenthe userpresses “Open” with the “Albums” category
`highlighted in the “first display screen,” the CLCDLibPageclass (see
`Exhs. DD and EE)displays a currentlist of Albums, which is one
`example of “subcategories belonging to the selected category in a
`listing presented in the second display screen.”
`
`The user can scroll up and downlist of Albums, andactivate either
`Open, Queue, or Play buttons to select one

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket