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 fomi factor
`
`Nov”). The reference
`
`to “Rev 2 Proto, in fonn factor” refers to a second prototype that would later be implemented having
`
`the size and shape as desired for the ultimate Nomad Jukebox product. Id. The earlier prototypes
`
`were not “fonn factor," meaning they were larger and square-shaped and not designed toactually fit
`
`in the plastic casing that was being designed. See, e.g., Exh. T.
`
`4!
`.38.
`
`At the Oasis Engineering Meeting on October I3, I999, I reported on certain issues
`
`concerning the embedded sofiware. See Exh. W, p. 2. My co-inventors on the ‘433 Patent, David
`
`Bristow and Ron Goodman, were also present at the Oasis Engineering Meeting on October 13, 1999,
`
`we talked about efforts in “Storyboarding” the user interface. Id., p. 3.
`
`39.
`
`At another Oasis Engineering Meeting that took place some time afler Oct. 20, I999, but
`
`before Dec. 9, I999, one of my colleagues gave a status report on the embedded software
`
`development, reporting that: “Howard [Egan] has been working on file system
`
`The basics work
`
`Load, save, create files”; “Playback mgr, DSP Mgr. MP3 decode works in Playback mgr”; and
`
`“Ron’s Ul stuff integrated into Oasis.” See Exh. W, p. I0.
`
`40.
`
`At a subsequent meeting that took place some time after Dec. 2, 1999, but before Dec. 9,
`
`I999, Mr. Freeman reported on the status of the Oasis hardware development, indicating that: “Oasis
`
`PCB in assembly”; “test fixture in fab Thu I2/2/99”; “DVT plan being written”; “Prog guidefiheory
`of Ops doc being written.” See Exh. W, p. 12. The notes also indicate that I was present at this
`meeting, and that I said “MP3 decode from disk works.” Id. These notes indicate to me that in the
`
`first week of December, I999, I received a fomt-factor prototype that I could use to begin testing the
`
`Oasis operating system in firmware on a hardware prototype, as opposed to by using an emulator. Id.
`
`. The notes also say that I wanted Scott W. “commit to what can be delivered for CES.”- Id. The
`
`notation “CES” refers to the upcoming Consumer Electronics Show 2000 (“CES 2000”), which was
`
`scheduled to take place in Las Vegas, NV on Jan. 5 through Jan. I0, 2000. The Oasis R&D team had
`
`already been notified some time in September of I999 that Creative was planning to introduce the
`
`Nomad Jukebox at CES 2000.
`
`It was understood by all members of the Oasis R&D team that this
`
`meant we needed to have a robust working prototype fully tested and ready to present at least a day
`
`before the show was scheduled to begin on Jan. 5, 2000. So, the target date was set for Jan. 4, 2000.
`
`41.
`
`At a meeting on Dec. 9, 1999, I gave a status update on the development of the Oasis
`
`embedded sofiware. See Exh. W, pp. I4-I5. Prior to that day, the hardware sub-group had provided
`
`13731443
`
`_ 2;;
`
`SONY Exhibit 1004 - Page 538
`
`SONY Exhibit 1004 - Page 538
`
`

`
`me with a functional hardware Prototype having all the same components shown in Exh. Q.
`
`I know
`
`this based on my memory of the events, and also because Mr. Freeman’s notes of Dec. 9, I999
`
`indicate that I talked about the need to integrate “boot loader” soflware into the system. See Exh. W,
`
`-
`
`p. I5 (stating “lntertrust secure Bootloader — we have to write bootloader.
`
`lntertrust portion in read-
`
`only part of the Boot ROM”).
`
`42.
`
`Using the prototype Nomad Jukebox provided to mei December 9, I999, I had begun
`
`testing the Oasis operating system. See, e.g. Exh. W, p. I5 (stating “Ul manager task running, button
`
`manager
`Library traversal system in place ...”) Prior to Dec. 9, I999, I had begun a testing
`process wherein I compiled the Oasis source code, and executed it as firmware on the ARM processor
`
`of the prototype. See Exh. Q.
`
`In conjunction with testing the Oasis source code, I 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 photographs taken recently of the Oasis Test Fixture Board I began
`
`using yarilg Dec. 9, I999 for purposes of testing the Oasis operating system. Id.
`
`I note the Oasis
`
`Test Fixture Board bears a copyright date of I999. See Exhibit U. This test board was designed by
`
`Mr. Freeman and others specifically for the purpose of testing the source code for the embedded
`
`software, including the Oasis operating system. See, e.g. Exh. W, p. I2 (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 shown in exhibit U. See, e.g. Exh. W, p. I2; see also Exh. U. The
`
`notation “DVT plan being written” refers to a plan for a device verification test (“DVT”) for veri fying
`
`the operation of the prototype Nomad Jukebox. See, e.g. Exh. W, p. I2; see also Exh. U.
`
`43.
`
`Prior to Dec. 9, I999, I began testing the Oasis operating system by compiling the Oasis
`
`source code, and downloading . the compiled code via the JTAG adaptor to the ARM processor of the
`
`prototype. See Exh. Q, Exh. U. The Oasis block diagram of exhibit Q shows the basic components
`
`of the prototype. As mentioned above, Mr. Freeman’s notes of Dec. 9, I999 indicate that I talked
`
`about the need to integrate “boot loader” software into the prototype. See Exh. W, p. I5 (stating
`
`“lntertrust secure Bootloader — we have to write bootloader.
`
`lntertrust 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 of the
`
`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 control all
`
`I378‘!-148
`
`__
`
`SONY Exhibit 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 was not yet written and installed into the boot flash memory. See Exh. Q;
`
`Exh. W, p. I5. In order to proceed with the testing without the boot loader, upon power-up of the
`prototype, I configured the PC to control the ARM processor on 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 me to fully test the Oasis operating system,
`
`including all of the functions described above as practicing claims 1-33 of the ‘433 Patent.
`
`44.
`
`Using the techniques described in the previous paragraph, I was able to power-up and
`
`initialize the Nomad Jukebox prototype without having a bootloader, and thus I was able to test the
`
`compiled Oasis operating system by executing it directly on the prototype without the use of any
`
`sofiware emulation. See, Exh. W, pp. 14-15; see also Exh. U. Mr. Freeman’s notes of Dec. 9, 1999
`
`also state “U-l Manager task running, button manager
`
`library traversal system in place.” See, Exh.
`
`W, pp. 14-] 5. This indicates to me that prior to Dec. 9, 1999, I had been able to power-up and test
`
`parts of the Oasis operatingysystem 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
`
`goal of publicly demonstrating a Nomad Jukebox prototype at CES 2000, which was at that time less
`
`than a month away.
`
`45. '
`
`Mr. Freeman’s notes on the report 1 gave on Dec. 9, I999 also state “want ‘limping along’
`
`unit that can play songs next week (old boands).” See. Exh. W, pp. I4-l 5.
`I coined the tenn “limping
`along" unit on or about the time of the Dec. 9, I999 meeting to refer to alstand-alone Nomad Jukebox
`prototype detached from the Oasis Test Fixture Board and other test equipment, that would could
`
`properly execute the Oasis operating system. See Exhs. AA through 00. Once again, our goal in
`
`December of 1999 was to publicly demonstrate a Nomad Jukebox prototype at CES 2000, which was
`
`at that time less than a month away.
`
`I called it a “limping along” unit sort of as a term of endearment
`
`because the Oasis R&D was well aware that any early prototype is likely to have sporadic bugs or
`
`glitches. However, we all took very serious the prospect of demonstrating a prototype at CES 2000,
`
`which is the largest and most important annual consumer electronics show in North America. As
`
`such, we knew that the stakes were extremely high because it would have been a major
`
`embarrassment if-any of the Nomad Jukebox prototypes presented at CBS 2000 were to “crash.”
`
`46.
`
`_ During a meeting on Dec. I5, I999, I gave another update on development of the Oasis
`
`embedded software. See Exh. W, pp. I6-I 7. Mr. Freeman’s notes indicate “’Limping along’ unit
`
`13787448
`
`_ 30
`
`SONY Exhibit 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.” ld.,
`
`p. I7. This means that the bootloader code was still not installed.
`
`47.
`
`Based on my memory, my inspection of the CVS check-in logs (see Exh. Z), my inspection
`
`of the Dec. I4, I999 Oasis source code (see Exhs. A through 0), and also based on Mr. Freeman’s
`
`notes on Dec. 9, I999 (see Exh. W at pp. I4-I 5), I am sure that at least as of Dec. I4, I999, I had
`
`fully tested the Oasis operating system — which implemented all of claims 1-33 of the ‘433 Patent - as
`
`actual firmware running on a Nomad Jukebox prototype. See Exh. W, pp. l4-I5 (stating “Ul
`
`Manager task running, button manager
`
`library traversal system in place.’’) It is true that as of Dec.
`
`9, I999, many aspects of the prototype needed to be de-bugged, and it is also tme that the Oasis
`
`operating system needed to be loaded by J'l'AG control on power-up due to the absence of a
`
`bootloader. However, the bootloader was n_ot essential to demonstrating that the Oasis operating
`
`system (including a_ll of the functionality described above in Table A) was working for its intended
`
`purpose. Therefore, as of Dec. I4, 1999, I 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. I4, 1999, before I began testing the Oasis operating system as compiled
`
`firmware on a Nomad Jukebox prototype (as the notes show I was doing throughout the first few
`
`weeks of December of I999), I had previously tested the Oasis operating system (including a_ll of the
`
`functionality described above in Table A) using a sofiware emulator. For reasons that will be
`
`understood by anyone skilled in the development of finnware in the I999 time period, I would not
`
`have begun testing the firmware without first testing the source code in an emulator environment,
`
`where it was much easier to debug.
`
`Diligence Towards A Second Reduction to Practice on .lanuaI_'y 4, 2000
`
`49.
`
`As explained above, I believe that the Dec. 15, 1999 Oasis source code demonstrates
`
`complete conception of claims I-33 of the ‘433 Patent (see Table A, above) at least as early as Dec.
`
`15, I999.
`
`I also believe that the above-described emulation testing and/or the frnnware testing was
`
`sufficient to demonstrate that the inventions recited in claims 1-33 of the ‘433 Patent were working
`
`for the intended purpose.
`
`50.
`
`Alternatively, I submit that: (I) the Jan. 4, 2000 Nomad Jukebox prototypes demonstrated at
`
`CES 2000 constituted an actual reduction to practice of the inventions of claims l-33 of the ‘433
`
`Patent; (2) the Oasis R&D team was diligent in its effort to reduce to practice the inventions of claims
`
`rzmm
`
`_ 3]
`
`SONY Exhibit 1004 - Page 541
`
`SONY Exhibit 1004 - Page 541
`
`

`
`I-33 starting on Dec. I5, I999 and proceeding on a daily basis up until the time of the actual
`
`reduction to practice on Jan. 4, 2000.
`
`5 I .
`
`As explained above, during our development of the Nomad Jukebox in December of 1999,
`
`we were working toward a very aggressive internal target 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. IS, I999, the Oasis R&D team including Mr.
`
`Freeman began working so hard and fast toward the CBS 200 target date that Mr. Freeman largely
`
`stopped taking meaningful notes in his notebook in the time period between Dec. I5, 1990 and
`
`January I1, 2000. See Exh. W, pp. I6-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. I5, 1999 and Jan. 4, 2000.
`
`53.
`
`Exhibit Z is a copy of a Log of all CVS check-in activity for the Oasisasource code between
`
`Nov.r I0, I999 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/] 4/99
`
`(see, e.g., Exh. Z, p. 4 showing a check-in by Howard Egan with notes indicating “Resynchronize
`
`afier adding button scanner, transfer agent, now playing manager, LibTreeManager etc.); I2/I6/99
`
`(see, e.g., Exh. 2, p. I96 showing a check-in by Andrei Veltchev with notes indicating “delay inserted
`
`to accommodate the Dl2's timing requirements”); I2/I7/99 (see, e.g., Exh. 2, p. 4 showing a check-in
`
`by Howard Egan with notes indicating “First cut with playback manager hooked to 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”); I2/20/99 (see, e.g., Exh.
`
`Z, p.
`
`l I showing a_check-in by Howard Egan with notes indicating “Miscellania”); I2/22/99 (see,
`
`e.g., Exh. 2, p. 70 showing a check-in by Howard Egan with notes indicating “Moved from sysmgr”);
`
`l2I23l99 (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.
`l I showing a check-in by Gerald l. with notes indicating “Fixed some transport issues”);
`
`I2/26‘l99 (see, e.g., Exh. 2, p. 10 showing a check-in by Howard Egan with notes indicating “Fixed
`
`several transport key issues, and changed fonts and LCD Display size to 6 lines (total)”); I2/27/99
`'(see, e.g., Exh. Z, p. IO showing at check-in by Howard Egan with notes indicating “Added status line
`
`class to LCDPage for use by both now playing screen and qlist screen. Added elapsed playing time
`
`calculations and functions to dsp manager for use by status line.”); 12/28/99 (see, e.g., Exh. Z, p. 35
`
`l37814-18
`
`A
`
`_ 32
`
`SONY Exhibit 1004 - Page 542
`
`SONY Exhibit 1004 - Page 542
`
`

`
`showing a check-in by Howard Egan with notes indicating “Miscellaneous bug fixes”); I2/29/99
`
`(see, e.g., Exh. Z, p. 35 showing a check-in by Howard Egan with notes indicating “Added fix to
`
`filesystem to take an initial file size on creation. "Cause double indirect is broken currently"”);
`
`I2/30/99 (see, e.g., Exh. Z, p. 35 showing a check-in by Howard Egan with notes indicating “Better
`
`fonts, cosmetics”); I2/3|/99 (see, e.g., Exh. Z, p. 5 showing a check-in by Howard Egan with notes
`indicating “Added INode debug output statements.”); 01/0|/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”); 0]/03/2000 (see, e.g., Exh. Z, p. I5 showing a check-in by Howard Egan with notes
`
`indicating “CES Release”); and 01/04/2000 (see, e.g., Exh. Z, p. 2l showing a check-in by Howard
`Egan with notes indicating “CES Final”).
`I
`
`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. I4, I999 and Jan. 4, 2000, except the following
`
`days: Dec. I5, I999; Dec. 19, I999; Dec. 21, 1999; Christmas day, I999; 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. I4, I999 and .Ian. 4, 2000, with the possible exception of
`
`Christmas day, I999.
`
`I worked on revising and testing the Oasis operating system on every single
`
`day in this time period, except Christmas day.
`
`In addition, I 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 embedded sofiware development activity on that date because the Oasis source code developers
`
`followed the standard practice of testing all source_ code revisions before checking them in, and this
`
`was ofien a complicated and time consuming process. I note that there was a very well attended
`
`Oasis Engineering Meeting on Dec. I5, I999. See Exh. W, pp. I6-I8. Mr. Freeman’s notebook
`
`shows that at least he was working on development of the Nomad Jukebox on Dec. 19, I999. See
`
`Exh. W, pp. I8-I9.
`
`I am certain I worked that day as well. Thus, the only days in the period for
`
`which I cannot find Q evidence of work activity are: Dec. 21, I999; Jan. 2, 2000 (which was a
`
`Sunday); and Christmas day, I999. However, as I said, I am certain that I personally worked on
`
`every day between Dec. I4, I999 and Jan. 4, 2000, except Christmas day.
`
`In this time period, I
`
`estimate that I 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 worked at a
`
`similar pace in developing various other components of the Nomad Jukebox. As explained, the
`
`reason for this tireless pace was that we had promised to deliver a working Nomad J uekbox prototype
`
`in time to demonstrate it at the CES 2000 show in Las Vegas, NV starting on January 5, 2000.
`
`l378‘I448
`
`_ 33
`
`SONY Exhibit 1004 - Page 543
`
`SONY Exhibit 1004 - Page 543
`
`

`
`55.
`
`An e-mail sent by Dan Freeman on Dec. 28, 1,999 to Andrei Veltchev and Howard Egan
`
`regarding “ARM Initialization Pwr Up/Down for 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 I had previously discussed at the Oasis Engineering Meetingon Dec. 9, 1999. See Exh. X; see
`
`also Exh. W, pp. l5-l6.
`
`56.
`
`Dan Freeman sent another e-mail on Dec. 30, I999 to a number of people including myself.
`
`See Exh. Y. This email attached a Word document, entitled “Script Guideline: Public
`
`Demonstration.” Id. The purpose of the document was to 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. Id. This document provides direct evidence about what functions were
`ready for the -“demonstration” at CES 2000. Id.
`In. fact, the document provide directions for how to
`perfonn the demonstration, including the following excerpts:
`
`0
`
`0
`
`0
`
`0
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`“Lets start with the LibraryKey — show that 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 searching the library, they are used to expand the view via
`different categories”;
`
`“Show the use of the ScrollKeys by moving up and down lists of albums, styles,
`artists or tracks”;
`“Mention 6GB HD holds" I00 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 how to play this directly from
`the Library by pressing the PLAY transport 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 P|ayKey is pressed when the Library Screen is 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 how easy it is to immediately Play any Album from the library
`by selecting and using the PlayKey. However, whenever you repeat this action
`with the PlayKey, whatever is playing will stop and the new selection will take
`its place on the “virtual tumtable”. Show an example of this by selecting and
`playing a track from the Library followed by a second “played” track afier about
`I0 seconds.
`'
`
`“To build up a list of selections, instead of pressing the PIayKey when
`searching through the library, press the Queuekey
`This will add your
`selection to the currently playing list, and you can check this by looking at the
`
`I378?-‘I48
`
`_ 34
`
`SONY Exhibit 1004 - Page 544
`
`SONY Exhibit 1004 - Page 544
`
`

`
`list view of the P|ayScreens. After any listening session, you can choose to save
`all the music you have been listening to as a playlist for future occasions.”
`
`See Exh. Y, p. 3 (emphasis added).
`
`57.
`
`As indicated in the CVS log, I 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. 2| (showing a check-in on 01/04/2000 by Howard Egan
`
`with notes indicating “CBS 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.
`
`1 was present at the show, and I participated in demonstrating the NOMAD® Jukebox. Duriing
`
`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 00) - which was embedded as fully operative finnware in the NOMAD® Jukebox
`
`portable media players presented at CES 2000 - implemented each and every element of claims l-33
`
`ofthe ‘433 Patent.
`
`..
`
`L A method ofselccting at The Nomad Jukebox “Script Guideline : Public Demonstration”
`least one track from a
`explains many features of the Nomad Jukebox portable audio players
`piui-aliry oft;-acks 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 SottKeys (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 headphones or a speaker
`and third display screen on
`(See id. at P. 3-)-
`the display ofthe media
`The Oasis source code (see Exhs. AA through 00) was embedded as
`player’
`fully operative firmware in the NOMAD® Jukebox portable media
`players presented at CES 2000.
`
`On or 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 Jukebox source code.
`
`’ The source code files 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 shown in a user
`interface and also stores the actual details of where to find a -
`.
`icular
`
`l3781448
`
`_ 3 5
`
`SONY Exhibit 1004 - Page 545
`
`SONY Exhibit 1004 - Page 545
`
`

`
`Claim Elements
`
`Jan. 4, 2000 “CES Final” Oasis Source Code
`
`track in the file system. Id. A display screen is displayed for every
`level of the hierarchy. Id. Thus,,the entire display is replicated by the
`library tree. Id. This way the user-interface code traverses the tree
`and displays any items(s) at the current node. Id.
`
`A plurality of musical “tracks” are stored in a computer-readable
`medium accessed via the library tree. See file LibraryTree.cpp at Exh.
`BB, p. 2 (referring to a “tracks directory”); see also Exh. CC.
`
`As indicated by developer notes in the source code, the “Class
`CLibTreeMgr 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.
`
`On entry into the Library display screen, the elements of the top level
`of the Library Tree are displayed by the CLCDLibPage class. See
`Exhs. DD and EE. The top level of the Library Tree has the following
`categories: “Albums,” “Artists," “Styles,” “Play Lists.” See, e.g.,
`Exh. BB, pp. l-2.
`
`display
`The display of the above elements is one example of a “first
`screen.” From here the user has the option of opening any of the
`displayed categories by pressing an ‘‘Open’' sofikey (see CLCDLib
`Page::SofikeylHandler() at Exh. DD, pp. l and 3; Exh. EE, p. l).
`
`The user moves theselection up and down lists 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) to scroll the highlight up or down.
`
`When the user presses ‘fOpen” with the “Albums” item highlighted,
`the CLCDLibPage class (see Exhs. DD and EE) displays a current list
`of Albums, which is one example of a “second
`display screen.” As
`explained above, the user can scroll up and down the list, and either
`Open, Queue, or Play an item. At this level, the Close sottkey is also
`active. (See Exhs. DD and EE.)’
`
`When the user again presses “Open” with a selected album
`highlighted, the CLCDLibPage class (see Exhs. DD and EE)'redraws
`the screen showing a list of tracks corresponding to the album. This is
`one example of a “third display screen.” At this point CLCDLibPage '
`(see Exhs. DD and EE) again changes the 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 plurality of tracks
`accessed according to a
`hierarchy,
`
`The source code files LibraryTree.cpp and LibraryTree.h implement a
`“hierarchy” in the fonn of a library tree. See Exhs. B and C. The
`library tree is built at system startup by traversing tracks stored in a
`file system. Id. Additionally, as the user adds tracks, the library tree
`is ex anded. Id. The libra
`tree stores human-readable information
`
`I3787448
`
`_ 36
`
`SONY Exhibit 1004 - Page 546
`
`SONY Exhibit 1004 - Page 546
`
`

`
`Claim Elements
`
`Jan. 4, 2000 “CES Final” Oasis Source Code
`
`
`
`
`
`
`
`
`
`that is shown in a user interface, and also stores the actual details of
`where to find a particular track in the file system. Id. A display screen
`is displayed for every level of the hierarchy. Id. Thus, the entire
`display is replicated by the library tree. Id. This way the user-
`interface code traverses the tree and displays any items(s) at the
`current node. Id. The library tree is implemented in class by the files
`LibraryTree.cpp (see Exh. BB) and LibraryTree.h (see Exh. CC).
`
`
`
`
`
`
`
`
`
`
`
`Tracks are “accessed” using the “hierarchy” in the fonn of a library
`tree. See Exhs. BB and CC.
`
`
`
`
`
`As indicated by developer notes in the files LibraryTree.cpp and
`LibraryTree.h, “Class CLibTreeM gr 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, p. l; Exh. CC, p. l.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` The source code files LibraryTree.cpp and LibraryTree.h implement a
`the hierarchy having a
`hierarchy in the form of a library tree. See Exhs. B and C.
`plurality of categories,
`subcategories, and items
`The library tree stores human-readable infonnation that is shown in a
`respectively in a first,
`user interface, and also stores the actual details of where to find a
`second, and third level of
`particular track in the tile system. Id. A display screen is displayed
`the hierarchy, the method
`for every level of the hierarchy. Id. Thus, the entire display is
`comprising:
`
`replicated by the library tree. Id. This way the user-interface code
`
`traverses the tree and displays any items(s) at the current node. Id.
` 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.
`
`
`
`
`
`
`The categories are in a first “level” of the “hierarchy.”
`When the user presses “Open” with the “Artists” element highlighted,
`
`the CLCDLibPage class (see Exhs. DD and EE) gets a current list of
`Artists fi'om an artist level of the library tree. This artist level is one
`example of a “second level” of the “hierarchy.” The list of artists is
`one example of a plurality of “subcategories” in a “second level” of
`
`the “hierarchy.”
` Now if a user presses “Open” with a particular Artist item highlighted,
`
`the CLCDLibPage class (see Exhs. DD and EE) gets a current list of
`Albums for the selected Artist from an album level of the hierarchy.
`This album level is one example of a “third level” of the “hierarchy.”
`
`The list of albums is one example of a plurality of “items” in a “third
`level” of the “hierarchy.”
`'
` Now if 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 from a track level of the hierarchy. This
`track level is one example of a “fourth level” of the hierarchy. This
`list of tracks is another example of a plurality of “items.”
`
`
`
`
`
`l3781448
`
`_ 37
`
`SONY Exhibit 1004 - Page 547
`
`SONY Exhibit 1004 - Page 547
`
`

`
`Claim Elements
`
`Jan. 4, 2000 “CES Final” Oasis Source Code
`
`
`
`
`Highlighting a track and pressing the Play button cause the CLCDMgr
`(see Exh. FF and G) to call CNowPlayingMgr::PlayO function (see
`Exhs. HH and I1) to clear the contents of the NowPlayingQ, and
`replace it with the track and begin playing.
`
`
`
`selecting a category in the
`first display screen of the
`portable media player;
`
`
`
`
`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., I.-Exh. BB, pp. I-2.
`The display of the above categories is one example of a “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::SofikeylHand|er() at Exh. DD, pp. l and 3; Exh. EE, p. I).
`
`The user moves the selection up and down lists 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) to scroll the highlight up or down.
`
`When the user presses “Open” with the “Albums” category
`highlighted in the “first display screen,” the CLCDLibPage class (see
`Exhs. DD and EE) displays a current list of Albums. This is one
`example of “selecting a category in the first display screen of the
`portable media player.”
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`When the user presses “Open” with the “Albums” category
`highlighted in the “first display screen,” the CLCDLibPage class (see
`
`.Exhs. DD and BE) displays 8 current list ofAlbums, which l5 one
`
`example of “subcategories belonging to the selected category in a
`listing presented in the second display screen.”
`
`
`
`
`dispiaying the
`subcategories belonging to
`the selected category in a
`
`listing presented in the
`second display screen;
`
`
`
`
`As explained above, the user can scroll up and down the list, and either
`Open, Queue, or Play a selected one of the albums in the list. (See
`Exhs. DD and EE.)
`
`
`
`
`When the user presses “Open” with the “Albums” category
`highlighted in the “first display screen," the CLCDLibPage class (see_
`
`Exhs. DD and EE) displays a current list 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 down list of Albums, and activate either
`Open,

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