Apple Inc. v. Samsung Electronics Co. Ltd. et al

Filing 559

Declaration of Deok Keun Matthew Ahn in Support of #558 Response ( Non Motion ), filed byApple Inc.. (Attachments: #1 Exhibit 1.01, #2 Exhibit 1.02, #3 Exhibit 1.03, #4 Exhibit 1.04, #5 Exhibit 1.05, #6 Exhibit 1.06, #7 Exhibit 1.07, #8 Exhibit 1.08, #9 Exhibit 1.09, #10 Exhibit 1.10, #11 Exhibit 1.11, #12 Exhibit 1.12, #13 Exhibit 1.13)(Related document(s) #558 ) (Jacobs, Michael) (Filed on 12/29/2011)

Download PDF
EXHIBIT 1.05 9 5,202,961 lected flow velocity and the selected flow direction being selected in a one of a tentative set mode and a fixed set mode, in the tentative set mode the se- 10 9. A controller as recited in claim 1, wherein said control icon image includes a first image when said control icon is operating in said tentative set mode and lected flow velocity and the selected flow direction wherein said control icon image includes a second being continuously variable according to the se- 5 image when said control icon is operating in said fixed lected position of the control icon image while the set mode, button is in a one of two button states, in the fixed 10. A controller as recited in claim 9, wherein said set mode the selected flow velocity and the seslide indicator includes at least one interactive control lected flow direction being independent of control dial for indicating a range of gradational flow velocities icon image position, said tentative set mode an said 10 for said sequential information in a predetermined flow fixed set mode being alternatively selectable direction and includes at least one interactive control through operation of said control device; and button for indicating a predetermined flow velocity for means for detecting the presence of said control icon said sequential information in said predetermined flow image at said selected position and for generating direction, wherein said control icon image is operative said control signals corresponding to said selected 15 to be moved to said selected position in response to said flow direction and said selected flow velocity for control dial being selected by said control device, and use in regulating the flow of said sequential inforwherein said control icon image is operative to be mation. moved to said selected position in response to said con2. A controller as recited in claim 1, wherein said trol button being selected by said control device. slide indicator includes at least one interactive control 20 11. A controller as recited in claim 10, wherein said dial for indicating a range of gradational flow velocities slide indicator image has a first region for indicating a for said seguential information in a predetermined flow zero flow velocity for said sequential information, and a direction and includes at least one interactive control second region contiguous to said first region for indicatbutton for indicating a predetermined flow velocity for ing a forward flow velocity of said sequential informasaid sequential information in said predetermined flow 25 tion. direction, wherein said control icon image is operative 12. A controller as recited in claim 11, and further to be moved to said selected position in response to said including a third region contiguous to said first region control dial being selected by said control device, and for indicating a backward flow velocity of said sequenwherein said control icon image is operative to be tial information. moved to said selected position in response to said con- 30 13. A controller as recited in claim 12, wherein said trol button being selected by said control device. 3. A controller as recited in claim 2, wherein slide indicator includes a plurality of said control tons, and wherein said control buttons are radio tons 4. A controller as recited in claim 1, wherein first region includes one of said interactive control but- said butbut- tons, wherein said second region includes one of said control dials, and wherein said third region includes one of said control dials. 35 14. A controller for producing control signals for use said in regulating the flow of sequential information, com- slide indicator image has a first region for indicating a zero flow velocity for said sequential information, and a second region contiguous to said first region for indicating a forward flow velocity of said sequential informa- 40 tion 5. A controller as recited in claim 4, and further including a third region contiguous to said first region for indicating a backward flow velocity of said sequential information. 45 6. A controller as recited in claim 5, wherein said slide indicator includes at least one interactive control dial for indicating a range of gradational flow velocities for said sequential information in a predetermined flow direction and includes at least one interactive control 50 button for indicating a predetermined flow velocity for said sequential information in said predetermined flow direction, wherein said control icon image is operative to be moved to said selected position in response to said prising: a first means for indicating a range of selectable flow directions and flow velocities for said sequential information; a second means responsive to a user for choosing a selection position from said range of selectable flow directions and flow velocities, said selection position corresponding to a selected flow direction and a selected means for operating in a first mode for tentatively maintaining said selection position, means for operating in a second mode for fixedly maintaining said selection position, and means for switching between said first and second modes while maintaining said selection position; and a third means responsive to said second means for detecting said selection position and producing said control signals for regulating the flow of said sequential information as selected by said second control dial being selected by said control device, and 55 means in said selected flow direction and at said wherein said control icon image is operative to be moved to said selected position in response to said control button being selected by said control device. 7. A controller as recited in claim 6, wherein said first region includes one of said interactive control buttons, 60 wherein said second region includes one of said control dials, and wherein said third region includes one of said control dials. 8. A controller as recited in claim 7, wherein said control buttons are radio buttons, wherein said second 65 re on further includes a plurality of said radio buttons, an wherein said third region further includes a plurality of said radio buttons. selected flow velocity. 15. A controller as recited in claim 14, wherein said first means includes a slide mdicator having at least one interactive control dial for indicating a range of gradational flow velocities for said sequential information m a predetermined flow direction and having at least one interactive control button for indicating a predetermined flow velocity for said sequential information m said predetermined flow direction. 16. A controller as recited in claim 15, wherein said slide indicator includes a plurality of said control buttons, and wherein said control buttons are radio buttons. APLNDC00028552 11 5,202,961 12 17. A controller as recited in claim 14, wherein said 27. A controller as recited in claim 26, wherein said first means includes a slide indicator having a first refirst means includes at least one interactive control dial gion for indicating a zero flow velocity for said sequenfor indicating a range of gradational flow velocities for tial information, and a second region contiguous to said said sequential information in a predetermined flow first region for indicating a forward flow velocity for 5 direction and includes one or more mteractive control said sequential information. buttons for indicating a predetermined flow velocity for 18. A controller as recited in claim 17, and further said sequential information in said predetermined flow including a third region contiguous to said first region direction. for indicating a backward flow velocity of said sequen- 10 first region includesas recited in interactivewherein but28. A controller one of said claim 27, control said tial information. 19. A controller as recited in claim 18, wherein said slide indicator includes at least one interactive control tons, wherein said second region includes one of said control dials, and wherein said third region includes one dial for indicating a range of gradational flow velocities of said control dials. for said sequential information in a predetermined flow 29. A controller for use in combmation with a display direction and includes at least one interactive control 15 system and a user operable control device for producing button for indicating said predetermined flow velocity control signals for regulating the flow direction and the for said sequential information in a predetermined flow flow velocity of sequential information, said control device including means for selecting and manipulating dr20 controller as recited in claim 19, wherein said images on a display of said display system, comprising: first region includes one of said interactive control buta first means for generating an interactive controller tons, wherein said second region includes one of said image for display on said display, said controller control dials and a plurality of said control buttons, and image including a plurality of selectable markers wherein said third region includes one of said control and a slide indicator, each said marker corresponddials and a plurality of said control buttons. 25 ing to a predetermined flow velocity for said se21. A controller as recited in claim 17, wherein said quential information in a predetermined flow direccontrol buttons are radio buttons. 22. A controller as recited in claim 14, wherein said controller is used in combination with a display system and a user operable control device including means for selecting and manipulating images on a display of said display system, wherein said first means includes means for generating an interactive slide indicator image portraying said range on said display, and wherein said tion, said slide indicator corresponding to a range of gradational flow velocities for said sequential information in one or more predetermined flow directions; a second means responsive to a user for selecting a selection position along said controller image corresponding to a selected flow direction and a selected flow velocity for said sequential informa- second means further includes means for generating an 35 interactive control icon image on said display visually roximate to said slide indicator image, said control con image being operative to be moved by said control don; means responsive to said second means for a third and detecting said selection position and generatmg said control signals for regulating the flow of said device to said selected position along said slide indica- sequential information as selected by said second tor image, said third means being operative to detect the y sition of said control icon image along said slide indi- means in said selected flow direction and at said selected flow velocity, said second means having a tor image as said selection position and to generate first operating mode, a second operating mode, and said control signals corresponding to said selected flow direction and said selected flow velocity for use in regulating the flow of said sequential information45 a third operating mode, said third means bemg operative to tentatively generate said control signals in response to said first operating mode, said 23. A controller as recited in claim 22, wherein said control icon image has a first image when said second means is operating in said first mode and wherein said control icon image has a second image when said sec- third means being operative to fixedly generate said control signals in response to said second oper- on A co ro err as ecm din 2 herein said y first means includes at least one interactive control dial for indicating a range of gradational flow velocities for d ential information in a predetermined flow ec n and includes at least one interactive control 55 button for indicating a predetermined flow velocity for said sequential information in said predetermined flow ating mode, said third operating mode being operative to switch between said first o ratm m e w n u t en temsni contreol signals. 30. A controller as recited in claim 29, wherein said slide indicator includes at least one interactive control dial representing said range of gradational flow velocities, and wherein each of said markers includes at least one interactive control button representing a predetermined flow velocity and a predetermined flow direc- da25œ. ntroller as recited in claim 22, wherein said . A controller as recited in claim 30, wherein said slide indicator image has a first region for indicating a 60 slide indicator includes a first region corresponding to a zero flow velocity for said sequential information, and a zero flow velocity for said sequential information, and a second region contiguous to said first region for indicatsecond region contiguous to said first region corrg ing a forward flow velocity for said sequential informasponding to a forward range of gradational flow velocaties for said sequential information. tio . A controller as recited in claim 25, and further 65 32. A controller as recited in claim 31, and further clud a third region contiguous to said first region including a third region contiguous to said first region r ind ting a backward flow velocity of said sequencorresponding to a backward range of gradational flow velocities for said sequential information. tial information. APLNDC00028553 5,202,961 13 14 33. A controller as recited in claim 32, wherein said mined flow velocity for said sequential information in first region includes one of said interactive control butone of said predetermined flow directions. tons, wherein said second region includes one of said 41. A controller as recited in claim 40, wherein said control dials and a plurality of said control buttons, and first region includes one of said interactive control butwherein said third region includes one of said control -5 tons, wherein said second region includes one of said dials and a plurality of said control buttons. control dials, and wherein said third region includes one 34. A controller as recited in claim 33, wherein said of said control dials. control buttons are radio buttons. 42. A method for producing control signals for con35. A controller as recited in claim 29, wherein said trolling the flow of sequential information, comprising second means further includes means for generating an 10 the steps of: interactive control icon for display on said display visuselecting a flow operation mode for the flow of the ally proximate to said slide indicator, said control icon sequential information, said flow operation mode be rative to be moved by said control device to including a tentative flow operation mode for consai se tion position along said slide indicator, said trolling the flow of said sequential information third means being operative to detect the position of 15 according to a position of a control icon image said control icon along said slide indicator as said selection position and to generate said control signals corresponding to said selected flow direction and said se- while a selecting means of a control device is in a one of two states, on a temporary basis and a fixed flow operation mode for maintaining a fixed flow lected flow velocity for use in regulating the flow of ial inf rmation 20 said sequ troller as recited in claim 35, wherein said control icon has a first image when said second means is of said sequential information; selecting a selected flow direction and a selected flow velocity for the sequential information; and producing control signals for regulating the flow of said first mode and wherein said control c nm as amsecond image when said second means is the sequential information in accordance with e selected flow direction and the selected flow veloc- o e t 1 esr ec e ein claim 35, wherein said 25 it e method of claim 42, and further including the slide indicator includes at least one interactive control steps of n e 30 di 38. A controller as recited in claim 35, wherein to a slide indicator includes a first region corresponding said 35 44.velocity. The method of claim 43, wherein said control icon zero flow velocity for said sequential information, and a has a first image when said tentative flow operation """!.. °"ro°°"":"°"'s.'°r'ida ne ion odse edmí eew e te ti forAsai uential inf rma aim 38, and further 40 of selecting said first image to select said tentative flow including a third region contiguous to said first region operation mode and selecting said second image to corresponding to a backward range of gradational flow seleect d fmix flow ope ion mdheerein said step of ve i esc r 11 rœa r d c , wherein said selecting said flow direction and said flow velocity slid indicator includes at least one interactive control 45 includes the step of moving said control icon to a seer se e ti 1ri f rm to noe of d pred termined flow directions and includes one or more in- fl w-dir t onna dæs d flo vbe oc y ano d flow of the sequential information accordingly. teractive control buttons representing said predeter50 55 60 65 APLNDC00028554 llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllIl USOO5428730A United States Patent (19] Baker et al• [54) MULTIMEDIA SYSTEM HAVING SOFTWARE -· -ANISM PROVIDING STANDARDIZED INTERFACES AND CONTROLS FOR THE OPERATION OF MULTIMEDIA DEVICES [75] Inventors: Randolph S. Baker, Atlanta, Ga.; Richard E. DuLaney, Lighthouse [11] [45] Warinner, Woodstock, both of Ga.; Scott J. Broussard, Boca Raton, Fla. [73] Assignee: International Business Machines Corporation, Armonk, N.Y. [21] Appl. No.: 991,034 [22] Filed: Dec. 15, 1992 [51] Int. CI.6 .............................................. GO6F 15/00 [52] U.S. CI. ....... 395/154; 395/161 [58] Field of Search ............... 395/154, 155, 157, 159, 395/161 [56] References Cited U.S. PA a sa x DOCUMENTS 4,845,644 7/ 989 Anthias et al. ...................... 395/157 4,866,638 9/ 989 Cosentino et al. .................. _95/155 4,901,221 2/ 990 Kodosky et al. ................... .95/159 4,914,568 4/ 990 Kodosky et al. ......... ....... ¯95/275 5,040,131 8/ 99 5,041,992 8/ 99 Torres ----..---........ 195/156 Cunningham et al. ............. 295/155 5,060,140 10/ 99 Brown et al. ....................... 364/200 5,065,345 11/199 Knowles et al. .................... 395/154 5,109,515 4/ 992 Laggis et al- ..................-.... 395/725 5,291,587 3/ 994 Kodosky et al. ................... 395/500 5,293,476 3/ 994 Wolber et al. ------................ 395/ 59 5,309,556 5/ 994 Sismilich ............................. 395/ 61 5,313,574 5/ 994 Beethe ..--.....----..-................. 395/ 59 5,333,299 7/ 994 Koval et al. .--..................... 395/550 OTHER PUBLICATIONS Cohen, "LabVIEW Controls DOS, Tape Systems", MacWEEK, v. 6, No. 42, Nov. 23, 1992, p. 12 (1). 5,428,730 Jun. 27, 1995 Rizzo, "LabVIEW 2", MacUSER, v. 7, No. 5, May 1991, p. 58 (2). Santori, "An Instrument That Isn't Really", IEEE Spectrum, v. 27, No. 8, Aug. 1990, pp. 36-39. Schmalzel, et al., "Instrumentation Curriculum:.From ATE to VXI," IEEE IMTC '92, May 1992, pp. 265-267. Point; Patricia A. Esack, Boca Raton, both of Fla.; Stephen R. Henson, Atlanta, Ga.; Scott R. Swix, Half Moon Bay, Calif.; George E. Wagener, Marietta; Frank D. Patent Number: Date of Patent: (List continued on next page.) Primary Examiner--Heather R. Herndon Assistant Examiner-Joseph R. Burwell Attorney, Agent, or Firm-Bernard D. Bogdon; Stephen A. Becker [57] --•«CT A multimedia system includes a multimedia device con- trol program having a plurality of application program selectable controls for controlling operation of a like plurality of different classes of multimedia devices. Each class has a different set of controllable device functions or attributes. In response to selection of a class by an application program, a unique control panel is created in a user interface for controlling operation of a device. The selected control performs all of the processing actions necessary to control the device in response to user selections on the interface, without involvement of the application program in such actions. The multi- media control program includes a plurality of panel templates from which control panels are created in a control screen. Each panel has a plurality of controllers that can manipulated by a user to control a corresponding function of a multimedia device. The templates provide a consistent interfaces having a common look and feel. The multimedia control program also includes a plurality of class control programs one or more of which are selected by an application program to be attached to a like number of multimedia devices for controlling operation of the devices in response to user selections on the user interface, thereby relieving the application program of performing the necessary control functions. 20 Claims, 7 Drawing Sheets APLNDC00028555 5,428,730 Page 2 O-·---- PUBLICATIONS Petzold, "An Introduction to the Media Control Interface", PC Magazine, v. 11, No. 1, Jan. 14, 1992, p. 407 (5). Petzold, "MCI Command Strings: The Easy Multimedia Interface", PC Magazine, v. I I, No. 2, Jan. 28, 1992, p. 329 (5). Varney, "Multimedia Development Kit Now Runs Under Motif", Digital News & Review, v. 9, No. 17, Sep. 14, 1992, p. 15 (1). Arnett, "Workstations-a Software Advantage?", Multimedia Computing & Presentations, v. 4, No. 7, Apr. 30, 1992, p. 1 (3). Volkman, "The Digital Video Interface for Windows Multimedia", Windows-DOS Developer's Journal, v. 3, No. 9, Sep. 1992, p. 5 (9). "Microsoft Ships Toolkit for Multimedia Windows", PC Magazine, v. 10, No. 19, Nov, 12, 1991, p. 61 (1). Seltzer, "05/2 PDK a Boom for Developers", PC Week, v. 9, No. 39, Sep. 28, 1992, p. 1 (2). Thomsen, "A Software Architecture for VXI Bus Systems", Autotestcon '89 Conference Record, 1989, pp. 327-334. Southerton, Programmer's Guide to Presentation Man- ager, 1989, Addison-Wesley, pp. 32-36, 75-78, 181, 205-211, 312-313. Hamilton et al., "The ATTC Laboratory Automation System", National Association of Broadcasters, Apr. 1992. Pyxis Corp. (Fairfax, Va.) News Release, "New VI Libraries Expand LabView TM Capabilities for Macintosh", Nov. 6, 1992. Pyxis Corp. (Fairfax, Va.), "Multimedia VIs Application Note", 1992. Letter from Scott Hamilton, President, Pyxis Corp. (Fairfax, Va.), Sep. 12, 1994. IBM TDB vol. 34, No. 11, Apr. 1992, p. 29. APLNDC00028556 U.S. Patent June 27, 1995 12 MICRO PROCESSOR 10 A 16 Sheet 1 of 7 MATH COPROCESSOR 5,428,730 , 20 BC 22 14D 45 37 BUFFER 102 98 OP A 6 SCSI HD DATA MAIN MEMORY APPUCATION -PROGRAMS _ MMAP 100 NVRAM 38 J 40 ROM POST 32 ROM 2 FLOPPY 73 PRINTER BIOS 74 KEYBOARD 76 46 42 G lOC - MMPM - MMDCP SPEAKER SERIAL 44 48 VSP 60 7Û cr AUX. VIDEO 110 AIC 112 MONITOR CABLE 8g 49 90 n?P \ 108 VIDEO DISC PLAYER 68 i 82 79 MOUSE MONITOR 02 TEXT AND GRAPHICS VRAM 78 80 114 DAC MUX 88 a 24 I 39 3 ADAPTER 41 AUDIO \ INST. RAM 84Á ---- DATA RAM 86 - 50 . / 92 94 ADAPTER EC HEADPHONE MICROPHONE LINE IN LINE OUT SPEAKER MIDI CARD 96 MMD APLNDC00028557 U.S. Patent June 27, 1995 Sheet 2 of 7 5,428,730 FIG. 2 200 204 ) 213 21L - Audio 202 ) 212 Sample VIDPLAY 22o) 206 21s il 2 231 Mute Freeze 22 N 226 --232 Volume 227 222- -233 Balance 223- 3° File Coritrols S_ource Image Help 'j' . Video - - Contrast 21e - 2 6 234 Player Control Treble 24 Color 44 LJ Frarrie 242 243 224- i i i i Bass 236 Tint 249" 245 i 246 \247 \248 Sh ness APLNDC00028558 U.S. Patent June 27, 1995 126 Sheet 3 of 7 USER INTERFACE (Uly 102 106 MULTIMEDIA APPLICATION PROGRAM (MMAP) AUDIO CONTROL 103 OS/2 MULTIMEDIA PRESENTATION MANAGER (MMPM) VfDEO CONTROL 105 107 10 OS/2 PRESENTATION MANAGER (PM) FIG.3 / MULTIMEDIA DEVICE CONTROL PROGRAM (MMDCP) 101 104 5,428,730 PLAYER CONTROL €ONTROL iNSTANCE(S) - PANEL TEMPLATES 111% 113¾ INTERFACE LOGIC - DEVICE LOGIC OS/2 KERNEL 120 OS/2 DEVICE DRIVERS 122 DEVICE COMMUNICATIONS SERIAL, PARALLEL, SYSTEM BUS 42 BIOS 124 m DEVICES 108 VIDEODISC VIDEOTAPE DIGITAL AUD1O CD MMD 96 DIGITAL VIDEO ETC. APLNDC00028559 U.S. Patent June 27, 1995 Sheet 4 of 7 5,428,730 FIG. 4 ( PRIOR ART) 126 128 USER INTERFACE (UI) * 130 Ý 132 A OTHER k UI SELECTIONS k CONTROL PANEL DISPLAY APPLICATION (BUTTONS, SL1DERS, & UPDATE, CHANGE IN INTERACTIONS DIALS, ETC.) STATUS, ENABLE/DISABLE, ETC. MMAP 13 CREATE/DESTROY CONTROL DISPLAY WITH SELECTION COMPONENTS 136 UI DETECTION Ul EVALUATION- WHAT WAS SELECTED? SELECTION EVALUATION- VALID/INVALID DEVICE COMMANDS NECESSARY COMMAND RESPONSE EVALUATION UI UPDATE TO REFLECT NEW CONDITIONS ERROR PROCESSING TIMED EVENT NOTIFICATION PROCESSING 138 140 CONTINUOUS STATUS NOTIFICATIONS COMMAND RESULTS TIMED EVENT NOTIFICATIONS STATUS REQUESTS 104 Y DEVICE OPENICLOSE DEVICE COMMANDS COMMAND TERMINATES DEVICE ERROR NOTIFICATIONS w MMPM 120 DEVlCE DRIVER ' DEVICE COMMUNICATIONS 'S DEVICE APLNDC00028560 U.S. Patent June 27, 1995 Sheet 5 of 7 5,428,730 FIG. 5 126 128 102 USER INTERFACE (Ul) A 130 Ý 132 OTHER k Ul SELECTIONS i CONTROL PANEL DISPLAY APPLICATION (BUTTONS, SLIDERS, & UPDATE, CHANGE IN INTERACTIONS DIALS, ETC.) STATUS, ENABLE/DISABLE, ETC. 106 A MMAP ,l 150 CREATE 102/ CREATE WINDOW OPEN DEVICE CREATE CONTROL 107 156' BUILD CONTROL DISPLAY y O NIBol DESTROY 158 UI DETECTION om amur <152 - U1 EVALUATION- WHAT WAS SE wm 2 DEVICE ID > SELECTION EVALUATION- VALID/lNVALID DEVICE COMMANDS NECESSARY MISC. /DENTIFY DEVICE MSGS· > (O ) 160s 154 1623 w DEVICE OPEN/CLOSE 104 MMDCP COMMAND RESPONSE EVALUATION UI UPDATE TO REFLECT NEW CONDITIONS ERROR PROCESSING TIMED EVENT PROCESSING 164 CONTINUOUS STATUS NOTIFICATIONS i COMMAND RESULTS TIMED EVENT NOTIFICATIONS DEVICE ERROR NOTIFICATIONS DEVICE COMMANDS COMMAND TERMINATES STATUS REQUESTS o MMPM 120 DEVICE DRIVER 122 DEVICE COMMUNICATIONS 124 DEVICE APLNDC00028561 U.S. Patent June 27, 1995 Sheet 6 of 7 5,428,730 FIG. 6 126' USER INTERFACE (Ul) 130-1 132-1 - 130-2 107P 102 107A I DU- I PLAYER CONTROL INSTANCE 7 U-2' <- AUDIO CONTROL INSTANCE MMAP * 152-1 164-1 - 132-2 152-2 162-1 162-2 164-2 104 MMPM 120-1 120-2 LAYER DEVICE DRIVER AUDIO DEVlCE DRIVER 122-1 122-2 DEVICE COMMUNICATIONS DEVlCE COMMUNICATIONS 124-1 SERIAL PORT PLAYER DEVICE 124-2 SYSTEM BUS AUDIO DEVICE APLNDC00028562 U.S. Patent 170 June 27, 1995 172 APPLICATION INPUT CREATE FIG. 7 USER INTERFACE INPUT DESTROY DEVICE ID MISC. Sheet 7 of 7 SELECTIONS 5,428,730 c 17 OS INPUT MOVE SHOW HIDE PAINT ETC. 176 DEVICE INPUT (VIA MMPM) ERRORS TIMED EVENTS 106 MMDCP CONTROL M ^GE PROCESSING 178 CREATE MESSAGES FROM APPLICATION ACQUIRE RESOURCES (MEMORY, ETC.) MAKE CONTROL PANEL PLACE IN WINDOW 180 DESTROY MESSAGES FROM APPLICATION RELEASE RESOURCES (MEMORY, ETC.) DISCARD WINDOWS, CONTROL PANEL 182 DEVICE ID MESSAGES FROM APPLICATION CHECK ID VALIDITY ATTACH CONTROL INSTANCE TO DEVICE DETERMINE DEVICE CAPABILITIES QUERY DEVICE STATUS UPDATE CONTROL PANEL (ENABLE/DISABLE COMPONENTS, CHANGE CURRENT SETTINGS) 184 MISCELLANEOUS APPLICATION MESSAGES TOGGLE APPLICATION NOTIFY ONIOFF TOGGLE DEVICE COMMUNICATION ONIOFF USE CUSTOM CONTROL PANEL LAYOUT 186 OPERATING SYSTEM MESSAGES MOVE, PAINT, SHOW, HIDE, ETC. THE WINDOW UPDATE THE CONTROL PANEL AS NECESSARY 788 DEVICE NOTIFICATION MESSAGES ERROR? IF SO, A l I vlPT RECOVERY OR DISABLE COMPONENTS UPDATE CONTROL PANEL AS NECESSARY 190 UI SELECTION MESSAGES / CHECK CURRENT CONTROL PANEL/DEVICE COly i s i DETERMINE ACTIONS NECFSSARY, INCLUDING: CANCEL CURRENT OPERATION(S) SEND DEVICE COMMAND(S) EXAMINE DEVICE COMMAND RESPONSES IF ERROR, ATTEMPT RECOVERY UPDATE CONTROL PANEL AS NECESSARY APLNDC00028563 1 5,428,730 MULTIMEDIA SYSTEM HAVING SOFTWARE ME· ••-=SMPROVIDING STANDARDIZED INTERFACES AND CONTROLS FOR THE OPERATION OF MUL • = - = ·IA DEVICES 2 gram having a plurality of application program select- able controls for a like plurality of different classes of multimedia devices. Each class has a different set of controllable device functions or attributes. In response 5 to selection of a control by an application program, a unique control panel is created in a user interface for BACKGROUND OF THE Iix veis1ION controlling operation of a device. The selected control performs all of the processing actions necessary to conThis invention relates to the field of data processing, trol the device in response to user selections on the and, more particularly, to an improved multimedia system having a software mechanism that provides stan- 10 interface, without involvement of the application pro- dardized interfaces and controls for the operation of multimedia devices. gram in such actions. In accordance with another aspect of the invention, A multimedia system is designed to present various multimedia materials in various combinations of text, the multimedia application program includes a plurality of predetermined templates defining different control graphics, video, image, animation, sound, etc. Such a 15 panels which contain user manipulable controllers. The system is a combination of hardware and software. The application program sends a message to the control hardware may include a personal computer to which program indicating its selection and the control provarious multimedia devices can be attached. The hardgram creates the desired control screen from the seware runs under the control of an operating system and lected template. multimedia application programs. Recent commercially 20 DRAWINGS available multimedia systems provide multimedia application developers the capability to control the multimeOther objects and advantages of the invention will be dia devices via software. In turn, application developers apparent from the following description taken in concreate programs that allow end users to control a device nection with the accompanying drawings wherein: by manipulating simulated controls, such as buttons, 25 FIG. 1 is a schematic diagram of a multimedia data dials, and other elements, on a computer display screen. processing system embodying the invention; The application programmers have been required to FIG. 2 is a schematic diagram of an exemplary concreate their own custom designed device control trol screen on a display; screens as well as handle all user interactions, device FIG. 3 is a schematic diagram of the major compocommunications, and screen changes. Such custom 30 nents of the software mechanism included in the system development has resulted in inconsistent user interfaces, requires knowledge of the device and device control methods, and duplicates effort for multiple applications. shown in FIG. 1; FIG. 4 is a schematic diagram illustrating communi- Another object of the invention is to provide a multimedia control program that interacts with a multimedia application program to control a multimedia device without requiring the application program developer to have an in-depth knowledge of the multimedia device to be controlled. A further object of the invention is to provide a multimedia control program which provides common functions available for use by multimedia application programs, so as to relieve application programmers of duplicate development effort and to thereby increase multimedia programmer productivity. Still another object of the invention is to provide a multimedia control program which creates user interfaces comprising display screens having a common look and feel, the screens containing graphic controllers that can be manipulated by users to control multimedia devices. A still further object of the invention is to provide a multimedia device control program which creates a control panel with minimum involvement of an application program and which thereafter controls operation of the device without intervention of the application program. Briefly, in accordance with the invention, a multimedia system includes a multimedia device control pro- FIG. 7 is a block diagram illustrating different inputs into the MMDCP, and the actions responsive to the 45 inputs. DET A e av DESCRIPTION Referring now to the drawings, and first to FIG. 1, cations between the major components of a prior art These problems reduce useability and increase development expense. 35 system which the present invention improves; FIG. 5 is a diagram similar to FIG. 4 but showing the SUMMARY OF THE I- - · ION improved processing in accordance with the invention for multimedia device control and user interface interOne of the objects of the invention is to solve the action; problems noted above by providing a multimedia sysFIG. 6 is a simplified diagram similar to FIG. 5 but tem with a set of standardized multimedia controls by 40 showing processing for controlling a plurality of differwhich a consistent user interface is presented from difent multimedia devices; and ferent application programs. there is shown an exemplary multimedia data process50 ing system comprising a personal computer 10 operable under a multitasking operating system such as OS/2 Version 2.0, to execute application programs. Computer 10 comprises a microprocessor 12 connected to a local bus 14 which, in turn, is connected to a bus interface 55 controller (BIC) 16, a math coprocessor 18, and a small computer system interface (SCSI) adapter 20. Microprocessor 12 is preferably one of the family of 80xxx microp. _ -, such as an 80386 microprocessor, and local bus 14 includes conventional data, address, and 60 control lines conforming to the architecture of such processor. Adapter 20 is also connected to a SCSI bus 22 which is connected to a SCSI hard drive (HD) 24 designated as the C:drive, the bus also being connectable to other SCSI devices (not shown). Adapter 20 is 65 also connected to a NVRAM 30 and to a read only memory (ROM) 32. BIC 16 performs two primary functions, one being that of a memory controller for accessing a main mem- APLNDC00028564 3 5,428,730 ory 36 and a ROM 38. Main memory 16 is a dynamic random access memory (RAM) that comprises stores data and programs for execution by microprocessor 12 and math coprocessor 18. ROM 38 stores a POST program 40 and a BIOS 42. POST program 40 performs a 5 standard power-on, self-test of the system when computer 10 is started by turning the power on or by a keyboard reset. An address and control bus 37 connects BIC 16 with memory 36 and ROM 38. A data bus 39 connects memory 36 and ROM 38 with a data buffer 41 10 that is further connected to data bus 14D of bus 14. Control lines 45 interconnect BIC 16 and data buffer 41. The other primary function of BIC 16 is to interface between bus 14 and an I/O bus 44 designed in conformance with Micro Channel (MC) architecture. Bus 44 is 15 further connected to an input/output controller (IOC) 46, a video signal processor (VSP) 48, a digital signal processor (DSP) 49, and a plurality of expansion connectors (EC) or slots 50. VSP 48 is further connected to a video RAM (VRAM) 60 and a multiplexor (MUX) 62. 20 VRAM 60 stores text and graphic information for controlling what appears on the screen of a monitor 68. MUX 62 is further connected to a digital to analog converter (DAC) 66 and to a connector or terminal 70 that is connectable to a video feature bus (VFB). DAC 25 66 is connected to monitor 68 that provides a conventional output screen or display for viewing by a user. IOC46 controls operation of plurality of I/O devices including a floppy disc drive 72 designated as the A:drive, a printer 74, and a keyboard 76. Drive 72 com- 30 prises a controller (not shown) and a removable floppy disc or diskette 73. IOC 46 also is connected to a mouse connector 78, a serial port connector 80, and a speaker connector 82, which allow various optional devices to be connected into the system. A mouse 79 is connected 35 to connector 78. DSP 49 is further connected to an instruction RAM 84, a data RAM 96, an analog interface controller (AIC) 88, and an audio controller (90). RAMS 84 and 86 respectively hold instructions and data used by DSP 49 40 for processing signals. Audio controller 90 controls various audio inputs and outputs and is connected to a plurality of connectors 92 by which various devices can be connected to the system. Such devices include a headphone, a microphone, a speaker, a musical instru- 45 ment digitizing interface (MIDI), and devices requiring an audio line-in and line-out functions. Various other multimedia devices (MMD) 96 can be also attached to 4 invention is embodied primarily in MMDCP 106 and its interaction with operating system 100 and the hardware. The combination and interaction of hardware and software is referred to herein as a "software mechanism". FIG. 2 illustrates an exemplary control screen 200 in which a plurality of windows or panels are displayed on a monitor in response to execution of a sample program named "VIDPLAY". This program creates a display of a control screen 200 that includes a video window 202, an audio control panel 204, a video control panel 206, and a player control panel 208. Also presented in the screen is a standard cursor 210 that is manipulated through use of mouse 79. Window 202 contains a title bar 212 bearing the title "Sample VIDPLAY", a window control button 213, a sizing button 215, a menu bar 214, and a video viewing area 216. The window itself is conventional and can be manipulated by means of cursor 210 to change the position and size of the window. Audio control panel 204 contains a title bar 218 identifying the panel as an "Audio" control panel, and a control area containing various simulated controllers or controls 220-224. Control 220 is a mute button, änd controls 221-224 are dials for respectively controlling volume, balance, treble, and bass. With reference to control 221, each dial includes reference marks 228 around the periphery of a circular knob, a movable pointer 229, a decrease button 226, and an increase button 227. Buttons 226 and 227 respectively display graphic symbols "-" and "+" which generally denote the button function. Also included in control 221 is a legend "Volume" signifying the function of the device being controlled. When the cursor 210 is placed on one of buttons and the mouse is clicked, the pointer appears to move until the mouse button is released. Such movement would be --panied by signals being sent to the physical device whose controls are being simulated to cause the corresponding action to occur. For example, if the cursor is clicked on button 227, pointer 229 rotates clockwise and thé actual volume of the audio device would increase. Video control panel 206 has a title bar 230 displaying the legend "Video", a freeze button 231, and dial controls 232-236 for controlling the brightness, contrast, color, tint, and sharpness, of the video device, e.g., monitor 112 (FIG. 1). Player control panel 208 displays the legend "Player Control" in title bar 240, push buttons 241-248, and a slider control 249. Buttons 241-248 the system through an EC 50 and adapter card 94. include different symbols symbolic of different player For purposes of illustrating the invention, system 10 50 functions controlled thereby. Such buttons provide, for further includes a video disc player 108 having a control video disc player 108, controls of eject, pause, play, line connected to connector 80 of the serial port for play backward, record, repeat, rewind, scan forward, receiving start/stop signals through the serial port. scan backward, step backward (frame backward), step Player 108 is also connected to and transmits video forward (frame advance), and stop. Slider control 249 signals to an auxiliary video card 110 that has a connec- 55 displays the current device position in time or frame tion to a monitor 112 and another connection 108 to based units. VFB connector 70. Preferably, each button presents a visual differentiaMemory 36 stores various programs for execution in tion between actuated and non-actuated conditions. the system, which programs include application proThis can be accomplished by shadowing the buttons to grams 100, including multimedia application programs 60 give appearances of being pushed in or sticking out (MMAP) 102, and an operating system 98 which infrom the plane of the display. Some of the buttons may cludes OS/2 multimedia presentation manager also be animated. For example, scan forward and scan (MMPM) 104 and a multimedia device control program backward buttons may have a series of arrows that are (MMDCP) 106. It is to be noted that while FIG. 1 successively highlighted to simulate the direction of illustrates an exemplary multimedia system, the operat- 65 movement. ing system is general purpose and is designed to run or It is to be noted that the above discussion of FIG. 2 control data processing systems having configurations provides nomenclature facilitating an understanding of that are different from the one shown in FIG. 1. The the invention as described below. The contents of con- APLNDC00028565 5 5,428, 730 trol screen 200 as shown in FIG. 2 is intended to primarily show what samples of different control panels look like. Quite obviously, in any given system, the type and number of panels is dependent upon what multimedia devices are connected to the system, and what controls are selected to be shown. Further variations in such control panels and how they are created are described hereinafter. FIG. 3 illustrates the layered structure of the software mechanism and the primary programs that are executed concurrently in a multitasking mode, in accordance with the invention. At the top, a user interface 126 communicates with MMAP 102 and MMDCP 106, both of which are above MMPM 104. The latter program interacts with the IBM OS/2 Presentation Manager (PM) program 99 which is above the operating system kernel 98, which sits on top of device drivers 120. PM 99 also communicates with MMAP 102 and MMDCP 106. A device communications program 122 is between drivers 120 and BIOS 42 which is the lowest software layer and provides device specific processing for operating multimedia devices 124. These devices include video disc player 118, and any MMD 96 such as video tape, digital audio, compact disc (CD), and digital video devices. 6 the commands can be sent to the proper device. After attachment, the control instance performs its primary function of controlling the particular device, as described in more detail hereinafter. 5 FIG. 4 illustrates various functions 134, 136, and 138 as performed in the prior art by a typical application program 102' and the interfaces between such program and user interface (UI) 126' and MMPM 104. The illustration is for a system having a single multimedia device 10 124. The graphics on the screen display together with the means for manipulating the graphics and making selections, form the user interface 126' through which the user interacts with the system to control operation of the multimedia devices. Input messages 130 from the 15 user into the application program 102' include UI selections made by the user actuating the various buttons, sliders, dials, etc. Output communications or messages 132 from the application to the user interface include controlling and updating the panel display, indicating 20 changes in status of the multimedia devices, enabling and disabling buttons or controls which are or are not appropriate for the current device state. For example,if a device is not playing, then the pause button is disabled because its use is not applicable. Other application inter25 actions 128, such as those not pertinent to the control of MMAP 102 is a user oriented application program a MMD, may also occur with the user interface. providing access to services of multimedia devices apVarious input/output messages 140 and 142 also compropriate to the application, e.g., a video disc browsing municate between the application and MMPM 104. program. MMAP 102 interacts with MMDCP 106 for Application 102' may receive as input messages 142 the purpose of providing a user interface for the appro- 30 continuous notifications on the status of the multimedia priate device, and with MMPM 104 for opening and devices, the results of commands, timed event notificaclosing the device and accessing specific features or tions and device error notifications. The application performing custom processing not available via the output messages 140 include device open/close and more generic MMDCP 106. MMPM 104 implements a other commands, command terminates, and status rehigh level, device independent interface to multimedia 35 quests. devices for application use and includes support for In response to the application program being run or device context switching, data streaming, and manageexecuted, the program is initially operative to create, by ment of device contention. PM 99 is used for its screen function or step 134, a control screen on a monitor management functions and capability of creating winwhich screen includes one or more controllers. The dows on a display screen. OS/2 kernel 98 represents the 40 size, appearance, location, contents, etc. of the control services provided by the IBM OS/2 operating system. screen are the full responsibility of the application. These services generally include functions for process Once the controllers are displayed, the user can thereafand .. ... management. Kernel 98 and PM 99 are ter manipulate the controls and make selections to conomitted from later drawing figures for simplicity of trol operation of a MMD. When the application is being illustration. OS/2 device drivers 120 are device specific 45 ended, a destroy message 134 destroys the control control programs providing a software interface for screen initially created. Functions 136 are performed in controlling individual devices A device driver at this response to the application program receivmg messages level generally provides services for a device of a spe130 and include detecting UI actions, evaluating the cific type and manufacturer. Device communications selection as to what action was selected, determining if 122 indicates a communication mechanism by which a 50 the selection is valid or invalid, and generating various device driver __ - an attached device. Some deoutput messages 140. In response to the application vices are card type adapters installed in the system for program receivmg messages 142, application 102' evalu- access by the system bus. External devices are generally ates responses to commands, updates the UI to reflect attached to the computer by a cable plugged into the new conditions, and processes the notifications of timed parallel port or the serial port. 55 events and device errors. The application also sends MMDCP 106 comprises an audio control 101, a video messages 132 as appropriate in response to such processcontrol 103, a player control 105, one or more control ing. In summary, the messages and interactions exinstances 107, panel templates 109, interface logic 111, plained with reference to FIG. 4 indicate what an appliand device logic 113. Controls 101, 103, and 105 are cation program would have to do in the absence of the separate generic routines or programs for controlling 60 invention. It is to be appreciated that application promultimedia devices having audio, video, and player grams normally perform functions in addition to those attributes. In general, an application program first opens related to MMD control but inasmuch as the invention a device, and then sends a message to MMDCP to creis concerned with MMD control, the additional funcate a control screen which is done by making an intions have been omitted for simplicity. stance or copy of the appropriate control and then at- 65 With reference to FIG. 5, in accordance with the taching the control instance to the device. That is, once invention, MMAP 102 is greatly simplified and reduced the instance has been made, it is necessary to inform it of relative to the equivalent prior art application program the identity of the device it will be controlling so that 102' because MMDCP 106 performs most of the func- APLNDC00028566 i 7 5,428,730 8 tions for generating and receiving communications with display player control panel208 and audio control panel the user interface and with MMPM 104. When MMAP 204. Once the control instances are attached, each con102 is run, a series of instructions 102I are executed. The trol instance manages its attached device and configures first instruction is to create a window and this is done by itself according to the device capabilities. During operPM 99. The second instruction is to open the device to 5 ation, player control instance 107P receives communibe controlled and this is done by sending by sending a cations 130-1 for the UI and sends messages 132-1 to the DEVICE OPEN command 162. The third instruction is UI, while audio control instance 107A receives mes- to create a control and this is done by sending a CREsages 130-2 from the UI and sends messages 132-2 to the ATE message 150. The fourth instruction IDENTIFY UI. In the prior art, the application program has to DEVICE sends a DEVICE ID message 152 identifying 10 implement and manage the additional functionality to the particular device to be controlled to MMDCP. In address and handle the functional differences between response to messages 150 and 152, MMDCP 106 creates player and audio devices. a control instance 107 and attaches it to open device FIG. 7 shows further details of control message pro124. After that, control processing including generating cessing that is done in response to ......Ing messages or and receiving communications from the UI and the 15 inputs 170, 172, 174, and 176 from four sources, namely, MMPM, is done by control instance 107 thereby reliev¯ MMAP 102, UI 126, the operating system, and multimeing the application from doing similar functions and dia device 124 inputs through MMPM 104. In response being concerned with knowledge of individual devices. to receiving a DRE A TE control screen command, Control instance 107 receives input messages 130 from MMDCP is operative to perform the functions 178 and UI 126, transmits messages 132 to the UI, and communi- 20 acquire the resources (e.g., memory) for the display, cates with MMPM 104 via two way communications make the desired control panels, and place them on the 164. Control instance 107, in response to receiving variscreen. In response to receiving a DESTROY message ous inputs, performs the functions described below with from the application, actions 180 release the resources, reference to FIG. 7. The control screen presents a conand discard the window and any control panels on the trol interface to the end user, and control instance 107 25 translates actions and selections on the interface into screen. In response to receipt of a DEVICE ID message appropriate media control and system commands. from the application, actions 182 comprise checking the MMDCP 106 can create three different types of convalidity of the device ID, making a control instance by trol panels: a video control panel for a device, such as a copying the control and then attaching the control graphics/video overlay adapter, having video attri- 30 instance to the open device, determining device capabilbutes; an audio control panel for a device, such as an ities, querying the device status, and updating the conamp/mixer device, having audio attributes; and a player trol panels, e.g., by enabling or disabling components control panel for a device, such as a videodisc player, and changing current settings. The attaching is simply having player attributes. A video control panel typinotifying the control instance of the ID of device to be cally includes a freeze push button, and circular sliders 35 controlled. Actions 184 are functions or actions peror dials to control brightness, contrast, saturation, hue, formed in response to miscellaneous messages from the and sharpness. An audio control panel typically inapplication and include enabling or disabling the sendcludes a mute push button and a series of circular sliders ing of notification messages to the application, toggling to control volume, balance, treble, and bass. A player application notify on/off, toggling device communicacontrol panel typically includes push buttons for combi- 40 tion on/off, and using custom control panel layout. nations of the following player actions: eject, pause, Action 186 updates control panels as necessary in play backward,play forward, play reverse, record, re. response to receiving messages from the operatmg syspeat, rewind, scan backward, scan forward, scan retem. Such messages include hide, show, move, paint, verse, step backward, step forward, and stop. A player etc. In response to receiving device notification mescontrol panel might also include a linear slider for posi- 45 sages, actions 188 include updating the control panel as tion display. It should be obvious that the individual necessary. If an error has occurred, a recovery attempt controls depend on the capabilities of the attached mulis made or the component is disabled. Timed events are timedia device(s) and the configuration of the player control ... events which occur at a device asynchronously with respect to a command issued to the device. For examFIG. 6 illustrates the manner in which MMDCP 106 50 ple, if the device is instructed to play for a certain amount of time, the completion of the play command is controls two multimedia operations for a MMO that a timed event which results in a notification being sent runs two multimedia devices. The devices might be , to MMDCP 106. At this point, MMDCP 106 stops e.g., a player device 124-1 such as videodisc player 108 animating the play button and changes the appearance connected to the serial port, and an audio device 124-2 connected to one of the expansion connectors 50 and 55 of the play button to be consistent with a "stop" state. Other timed events might include position notifications accessible over the system bus. For such a configuraand cuepoints. When an input 172 is received, actions tion, MMAP 102 needs to send a first DEVICE OPEN 190 are performed to check the -.-..t control pamessage 162-1, a first DEVICE ID message 152-1, and nel/device context, and determine what actions are a first ^TE message 150-1 to create a player control instance 107P, and to then send a second DEVICE 60 necessary. If for example, a device is already playing and the play button is selected, the context indicates no OPEN message 162-2, a second DEVICE ID message 152-2, and a second CREATE message 150-2 to create action is necessary and the selection of the play button is ignored. The actions to be done include cancelling an audio control instance 107A. Also, respective player current operations, sending device commands, examinand audio device drivers 120-1 and 120-2 and respective device communications 122-1 and 122-2 have to have 65 ing device command responses, attempting error recovbeen loaded into the system, for establishing communiery, and updating the control panel as necessary. The cations with the respective multimedia devices. With specific details of the actions described relative to FIG. two devices, the control screen 200 in FIG. 2 could 7 should be obvious to those skilled in the art and have APLNDC00028567 9 5,428,730 been omitted to shorten description particularly since the details are not claimed. A typical sequence of actions that occur can be illus- trated by the example of audio control panel 204 and volume controller 221 (FIG. 2). Suppose the user de- 5 10 The following application code is written for OS/2 operating system with OS/2 multimedia extensions, and provides an example of the code simplicity of an application program useable with the invention: sires a volume increase. To accomplish this using the ******** BEGIN EXAMPLE CODE ******** mouse, the mouse is manipulated to position cursor 210 //Open a videodisc device with an alias name and obtain a on button 227 and then clicked and held until the vol//device ID ume increases to the desired level. In response to the OpenDevice ((LPSTR)szVdiscDevName, (LPSTR)szVdiscAlias, mouse being clicked, the following sequence of actions 10 &wVdiscDevlD); //Create a window to hold the Player Control Panel on the occur. First, presentation manager 99 (FIG. 3) deter//screen mines which application, the cursor is currently being hwndVPCDIg = WinLoadDIg(HWND_DESKTOP, operated under, which window the cursor is being ophwndClient, erated in, and which object in the window has been pVPCDigProc, 0, selected. In this example, the object is the audio control- 15 ID_DLG_VPC, ler volume increase button. PM 99 then sends a user NULL); interface message 172 (FIG. 7) to the audio control //Create the Player Control Panel using MINIMAL instance which message identifies the object and the //configuration. "hwndVPC" is the handle uses for any further control action desired. In response to receiving the //communication with the player control functions 190 and determines what actions are necessary. The first is to decide whether to cancel any cur- WC-PLAYERCTL, rent operation. If the mute button is on, it would be WS VISIBLE ] MCS-MINIMAL //Select panel style audio device to increase the volume by an increment. HWND-TOP ID_VPC_WND, message, the audio control instance then performs the 20 hwndVPC = WincreateWindow (hwndVPCDig, //Create Player Control //Misc OS/2 item X_MMCTL, Y MMCTL cancelled to allow audio to be produced by the device. 200,100 Next, a volume increase device command is sent to the 25 hwndVPCDig, At this point the device responds and if the response indicates such action has been done without error, the next action is to update the pointer of the volume dial and this is done by sending a message through PM 99 and user interface which thereupon redraws the volume dial pointer to a new position representing an increment of volume increase. The sequence of actions repeat until the mouse button is released, or until the maximum volume is reached. An optional action (not shown) could be performed before communicating with the device, to give the application program the opportunity to handle the user selection. This is useful in situations where operational customization is done by the application, instead of operating by the control instance. With this option, the application would send a return code indicating it will or will not handle the message. As indicated above, MMDCP 106 includes a variety of panel templates 109 that are used in making a control panel in 178. MMDCP provides the application programmer with the options of accepting a default panel, a minimal panel, a complete panel, or a custom panel. A complete panel includes all the supported dials, buttons, sliders, etc. for controlling a particular device. A minimal panel includes only those controllers generally considered absolutely necessary. Naturally, the minimal panel occupies less screen area than a complete panel. A custom panel could be defined by the application and use any subset of the components of a complete panel, change relative positions, include other functions, etc. The templates also include vertically oriented panels, such as the audio and video panels shown in FIG. 2, and horizontally oriented panels, for both complete and minimal panels. Additional options include animated buttons (such as movement of arrows on a Play button when a device is playing), and the ability for an application to request that the control only present a user inter- //Use the window above 30 //Starting screen location //Size //Misc OS/2 item //Misc OS/2 item //Misc OS/2 item NULL, //Misc OS/2 item NULL); //Misc OS/2 item //Inform the Player Control to use the videodisc player that //was opened earlier WinSendMsg (hwndVPC, M - -- - EVICEALIAS, szVdiscAlias, 0) ********END SAMPLE CODE ******** 35 In response to successful execution of the above code, a device ID is obtained, a window is created, a player control instance is created, and the device is set. The player control instance will display the control screen 40 including the player control panel, handle all user interface actions, communicate with the videodisc player, etc. No other code in the application program is needed to perform or process selections from the control panel. As indicated previously, an application program must 45 first create an instance of a control and second, attach 50 55 60 face but not communicate with the device. This option may be useful if the application desires to control other devices while taking advantage of the user interface 65 standards and processing. The designs of the panels provide a uniform appearance and common look and feel between different applications. the instance to an open device before the control instance can assume responsibility for managing the user interface with the attached device. The first action involves creating a window of the proper window class. There is a window class for each type of supported device to be controlled: audio attributes, video attributes, and player attributes. There are also separate control programs (which may share a function) for each window class. In presentation manager (PM), an application program creates a window using the PM call WinCreateWindow. WinCreateWindow has several parameters including the window class and window style. The window style of the MMDCP specifies, among other things, the orientation of the control panel (vertical or horizontal) and the degree of desired device control (minimal, complete). The control program uses the style to select one of four layouts for the initial appearance. For example, audio control 204 in FIG. 2 is a vertical, complete control. The result thus promotes a consistent user interface. The panel templates 109 each specify the type of components and their positions using a dialog template APLNDC00028568 11 5,428,730 of PM. By way of example, the dialog template corresponding to the layout of audio control panel 204 is: 12 multimedia device (hereinafter referred to as open MMD) and for thereafter transmitting signals to DGLTEMPLATE ID-DLG_AACCOMPLETE_V LOADONCALL MOVEABLE DI- --· --LE BEGIN DIALOG "", ID_DLG_AACCOMPLETE_V, 0, 0, 42, 174, NOT FS DLGBORDER | FS_NOBYTEALIGN PRESPARAMS PP_FONTNAMESIZE, "8.Helv" BEGIN PUSHBUTTON " ", ID-MUTE, I, 153, 40, 20, WS-TABSTOP "Mute", ID_TEXT-MUTE 1,145,40,8 PRESPARAMS PP-FOREGROUNDCOLORINDEX, SYSCLR_WINDOWTEXT --· -- = - ·· ·N "Volume" ID_VOLUME 1,IO9,40,36,WS-TABSTOP PUSHBUTTON "Balance", ID_BALANCE 1,73,40,36, WS_TABSTOP PUSHBUTTON "Treble", ID_TREBLE, 1,37,40,36, WS-TABSTOP PUSHBUTTON "Bass", ID_BASS 1,1,40,36, WS TABSTOP END END For the purpose of defining the layout of a control panel, the window class specified in the dialog template 20 is ignored for each of the predefined components such as the mute button or the volume dial. To create the control panel display, the MMDCP uses the information in the template to create each of the desired components. The subset of components present influences the 25 subsequent operation of the MMDCP. For example, a minimal audio control includes only a volume dial and a mute button. A request to update the control panel would query the device only for the applicable information, i.e., the volume and mute status. A complete audio 30 control would cause a query of the device for all of the components, i.e., the mute, volume, bass, and treble status, The template mechanism also allows the MMAP to specify an alternative layout for a control panel. This is 35 done through an optional miscellaneous application message 184 to USE CUSTOM CONTROL PANEL LAYOUT. In this case, the MMAP provides the desired template to the MMDCP after the panel is created. The custom template supersedes any layout selected at 40 MMDCP creation time. If neither minimal nor complete is specified in the style, then the MMDCP assumes that the MMAP will subsequently provide a layout and no components are created until this is done. While the invention has been described in connection 45 with a specific operating system, it should be obvious that other operating systems could also be used. Further, it should also be obvious that additional classes of control programs can be added or substituted for the audio, video and player control programs. It should be 50 further apparent to those skilled in the art that many changes can be made in the details and arrangements of steps and parts without departing from the scope of the invention as defined in the appended claims. What is claimed is: 55 1. In a multimedia data processing system (MMDPS) comprismg a processor, a storage system including a memory for storing at least one multimedia application program (MMAP) and a multitasking operating system for execution by said processor, a monitor for display- 60 ing screens of information, and connector means for said open MMD in response to said first means receiving device commands, said signals being operative to control said controllable functions of said open MMD; second means comprising a user interface including user manipulable objects on a display screen of said monitor; and multimedia device control means (MMDCM) layered between said first means and said second means, said MMDCM comprising a plurality of application-program-selectable class-specific controls, each control being for a different one of said classes of multimedia devices; said MunCM being responsive to a CREATE message from the application program to select one of said controls (hereinafter referred to as selected control) having the same class as said open MMD; said selected control comprising third means for creating a control screen on said monitor in said user interface, said control screen having a control panel comprising a plurality of user actuated controllers for controlling different functions of said open MMD; said user interface being operative to send a user selection message in response to a user manipulating one of said controllers; and, said MMDCM further comprising processing means operative, in response to receiving said user selection message, to send a device command to said first means for changing a function of said open MMD and to send a message to said user interface to update the one of said controllers manipulated by the user to reflect the changed function of said open MMD. 2. A MMDPS in accordance with claim 1 wherein: said selected control is a copy of one of said controls (which copy is referred to hereinafter as a control instance); and said MMDCM is operative to attach said control instance to said open MMD in response to receiv- ing an identification of said MMD. 3. A MMDPS in accordance with claim 2 wherein said control instance is made in response to said CRE- connecting one or more multimedia devices into said ATE message and said identification is done by a DEMMDPS, each device having a plurality of controllable VICE ID message from the application program. functions, each device being in one class of a plurality of 4. A MMDPS in accordance with claim 3 wherein: different classes of multimedia devices, the improve- 65 said MMDCM further comprises a plurality of predefined control panels for each class of said controls, ment comprising: first means responsive to a DEVICE OPEN command from said application program for opening a said MMDCM being further operative in response to said on = ^ TE message to select one of said APLNDC00028569 13 5,428,730 predefined control panels for display in said control screen; and said processing means is further operative in response to receiving said DEVICE ID message to determine device capabilities and device status, and 5 send messages to said user interface for updating said control panel in accordance with said device capabilities and said device status. 5. A MMDPS in accordance with claim 4 wherein said processing means is operative to selectively enable 10 and disable said controllers in said control screen according to whether or not said MMD has a controllable function corresponding to the control function of each controller. 6. A MMDPS in accordance with claim 4 wherein: 15 said MMDCM is further operative in response to receiving a second CREATE message to create a second control instance and a second control panel for a second MMD. 7. A MMDPS in accordance with claim 1 wherein 20 said MMDCM further comprises a plurality of predefined control panels for each class of said controls, said MMDCM being further operative in response to said CREATE message to select one of said predefined control panels for display in said control screen. 25 8. A MMDPS in accordance with claim 7 wherein said predefined control panels for each class include a minimal control panel and a complete control panel, said minimal control panel having a minimum number of controllers for controlling a minimum number of 30 functions, and said complete control panel having a plurality of controllers for controlling a maximum number of functions of each class. 9. A MMDPS in accordance with claim 8 wherein: said predefined control panels further comprise con- 35 trol panels of horizontal and vertical orientations. 10. A MMDPS in accordance with claim 1 wherein: said first means is operative to send to said control instance notification messages notifying said control instance of errors occurring in said MMD and 40 timed events occurring in said MMD; and said processing means is further operative to process said notification messages. 11. In a multimedia data processing system (MMDPS) comprising a processor, a storage system 45 including a memory for storing at least one multimedia application program (MMAP) and a multitasking oper- 14 trols, said templates for each class include a minimal control panel template and a complete control panel template, said minimal control panel template defining a minimum number of controllers for con- trolling a minimum number of functions, and said complete control panel template defining a plurality of controllers for controlling a maximum number of functions of each class; said MMDCM being responsive to a CREATE message from the application program to select one of said templates and send a message to said user mterface to create a control panel in said control screen in accordance with the definition in the template so selected; said control panel in said control screen comprising a plurality of user actuated controllers for controlling different functions of said open MMD; said user interface being operative to send a user selection message to said MMDCM in response to a user manipulating one of said controllers; and, said MMDCM further comprising processing means operative, in response to receiving said user selection message, to send a device command to said first means for changing a function of said open MMD and to send a message to said user interface to update the one of said controllers manipulated by the user to reflect the changed function of said open MMD. 12. A MMDPS in accordance with claim 11 wherein said minimal control panel templates and said complete control panel templates further define control panels of horizontal and vertical orientations. 13. A MMDPS in accordance with claim 12 wherein said controllers include buttons, dials, and sliders. 14. The method of operating a multimedia data processing system (MMDPS) comprising a processor, a storage system including a memory for storing at least one multimedia application program (MMAP) and a multitasking operating system for execution by said processor, a monitor for displaying screens of information, and connector means for connectmg one or more multimedia devices into said MMDPS, each device having a plurality of controllable functions, each device being in one class of a plurality of different classes of multimedia devices, said method comprising: (a) opening a multimedia device (hereinafter referred ating system for execution by said processor, a monitor for displaying screens of information, and connector means for connecting one or more multimedia devices 50 to as open MMD); (b) storing in said storage system a plurality of application-program-selectable class-specific controls, each control being for a different one of said into said MMDPS, each device having a plurality of controllable functions, each device being in one class of classes of multimedia devices; (c) creating, in response to a CREATE message from a plurality of different classes of multimedia devices, the improvement comprising: the application program, a control instance from the one of said controls (hereinafter referred to as first means responsive to a DEVICE OPEN com- 55 mand from said application program for opening a multimedia device (hereinafter referred to as open MMD) and for thereafter transmitting signals to said open MMD in response to said first means receiving device commands, said signals being 60 selected control) having the same class as said open MMD and attaching said control instance to said open MMD; (d) creating a control screen on said monitor in said user interface, said control screen including a control panel comprising a plurality of user actuated operative to control said controllable functions of said open MMD; second means comprising a user interface including a display screen on said monitor; and multimedia device control means (MMDCM) 65 layered between said first means and said second controllers for controlling different functions of said open MMD; (e) sending a user selection message from said user interface to said control instance in response to a user manipulating one of said controllers; (f) generating, in response to said control instance means, said MMDCM comprising a plurality of receiving said user selection message, at least one control panel templates for each class of said con- device command for changing a function of said APLNDC00028570 15 5,428,730 16 . open MMD, based upon said user selection mes- accordance with said device capabilities and said sage and current operational state of said open device status. 18. The method according to claim 15 comprising: sending to said control instance notification messages notifying said control instance of errors occurring in said MMD and timed events occurring in said MMD; (g) transmitting signals to said open MMD in response to said device commands, said signals being 5 operative to change one of said controllable func- tions of said open MMD; MMD; and (h) sending a message to said user interface to and processing said notification messages. update the one of said controllers manipulated by 19. The method according to claim 14 further comthe user, to reflect the changed function of said 10 pnsmg: open MMD. storing in said storage system a plurality of control 15. The method according to claim 14 further companel templates for each class of said controls, said pnsmg: templates for each class include a minimal control storing in said storage system a plurality of control panel template and a complete control panel tempanel templates for each class of said controls, said 15 plate, said minimal control panel template defining templates for each class include a minimal control a minimum number of controllers for controlling a panel template and a complete control panel temminimum number of functions, and said complete plate, said minimal control panel template defining control panel template defining a plurality of cona minimum number of controllers for controlling a trollers for controlling a maximum number of funcminimum number of functions, and said complete 20 tions of each class; control panel template defining a plurality of conincluding in said application program a template detrollers for controlling a ...J..um number of funcfining a custom control panel; tions of each class; specifying in said no ^TE message which template and selecting one of said templates; is to be used in step (d) said step (d) being performed by creating said control 25 said step (d) creates a custom control panel in said panel in said control screen in accordance with the control screen when said custom control panel definition in the one template so selected. template is specified in said ""=^TE message. 16. The method according to claim 15 comprising: 20. The method according to claim 14 comprising: selectively enabling and disabling said controllers in said control screen according to whether or not 30 sending a message to said application program in response to receiving said user selection message in said MMD has a controllable function correspondstep (e), which message requires a response from ing to the control function of each controller. 17. The method according to claim 15 comprising: said application program indicating whether or not determining device capabilities and device status, and said application program will process said user sending a message from said control instance to 35 selection message. said user interface to update said control panel in ***** 40 45 50 55 60 65 APLNDC00028571 04860.P1365THE UNITED STATES PATENT AND TRADEMARK tion of St FeFntCE ) W. chutensen ) Examiner: ) Art Unit: o. 08/316,237 Dela Torre, C. 2415 Filing Date: September 30, 1994 ) For: METHOD AND APPARATUS FOR DISPLAYING AND ACCESSING CONTROL AND STATUS INFORMATION IN A CO- -R ) ) ) ) evenu ) Commissioner of Patents and Trademarks Washington, D.C. 20231 PETITION FOR EXTENSION OF TIME (37 C.F.R. § 1.136(a) Sir: Pursuant to Rule 1.136(a) Applicant hereby petitions for an extension of time to respond to the outstanding Office Action dated March 20, 1996. Our check in the amount of $380.00, the extension fee required for a response filed within the second month (37 C.F.R. § 1.17(b)), is submitted concurrently herewith. Please charge any debits and credit any overages to our Deposit Account Number 02-2666. Respectfully submitted, BL LA KB I Y, SOKOLOFF, TAYLOR & ZAFMAN Dated: ½ , 1996 Michaei'J. Mallie Reg. No. 36,591 12400 Wilshire Blvd. Seventh Floor Los Angeles, CA 90025-1026 (408) 720-8598 (37 C.F.R. § 1.8( ) I hereb certi y that this correspondence is being deposited with the United States Postal Service as first class mail w th sufacient postage in an envelope addressed to the Commissioner of Patents and Trademarks, Washington, D.C. 20231 Date of Deposit Name o Signature erson Mailing Correspondence Date APLNDC00028572 Att 's In in ge A ati Applic PATENT . Steven W. Christensen 8/316.237 Filed: For: 004R60 P13As 9/30/94 .METHOD AND APPARATUS FOR DISPLAYlNG AND ACCESSING CONTROL AND STATUS INFORMATION IN A COMPUTER SYSTEM (title) THE COMMISSIONER OF PATENTS AND TRADEMARKS Washington, D.C. 20231 SIR: Transmitted herewith is an Amendment for the above application. / Small entity status of this application under 37 C.F.R. §§ 1.9 and 1.27 has been established by averified statement previously submitted. / A verified statement to establish small entity status under 37 C.F.R. §§ 1.9 and 1.27 is endlosed. I No additional fee is required. I The fee has been calculated as shown below: (Col. 1) (Col. 2) (Col. 3) Claims remaining after amendment Highest no. previously paid for Present extra Indep. Claims: Rate Additional fee minus 20 4* x $11.00= x $22.00= minus 3 0 x $39.00= x $78.00= + $125.00 + $250.00 Fir t presentation c Multip e Dependent Claim(s) *If the difference in Col. ? Is less than zero, ente "0" in Col. 3 A check in the amount of I fee Other than a Small Entity 3 Claims: XXX Additional 24 Total | XXX Small Entity Rate m a nno Total Add. Fee: $88.00 $0.00 Total Add. Fee: $88.00 is attached for presentation of additional claim(s). Applicant(s) hereby Petition(s) for an Extension of Time of twn 191 month(s) pursuant to 37 C.F.R. § 1.136(a). A check for * n ^^ is attached for processing fees under 37 C.F.R. § 1.17. Please charge my Deposit Account No. 09-2666 the amount of . A duplicate copy of this sheet is enclosed. The Commissioner is hereby authorized to charge payment of the following fees assodated with this communication or credit any overpayment to Deposit Account No. no oman (a duplicate copy of this sheet is enclosed): Any additional filing fees required under 37 C.F.R. § 1.16 for presentation of extra claims. VW Any extension or petition fees under 37 C.F.R. § 1.17. BLAKELY, S-..-.., TAYLOR & ZAFMAN Date: Michael allie Reg. No. 36,591 12400 Wilshire Blvd., 7th Floor Los Angeles, California 90025 (408) 720-8596 I hereby certify that this correspondence is being deposited with the United States Postal Service as first class mail with sufficient postage in an envelope addressed to: Commissioner of Patents & Trademarks, Was on, D.C. 20231 on: Angdfa M. Quinn vare LJV/ccm (1/31/96) APLNDC00028573 PATENT COOPERATION TREATY From the INTERNATIONAL PRELIMINARY EXAMINING AUTHORITY To: JAMES C. SCHELLER BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN 12400 WILSHIRE BOULEVARD, 7TH FLOOR GELES C - -1026 WRTITEN OPINION O (PCT Rule 66) OC I 1 1 199ô BgY, 80KOLOFF, TAYLOR & 2AFMAN LOS ANGELES Date of Mailing (day/month/year) Applicant's or agent's file reference 04860.P1365 REPLY DUE / International application No. International filing date (day/monthlyear) PCTIUS95/11025 | 29 AUGUST 1995 aancT W98 " ¯ ~ within TWO months from the above date of mailing Priority date (day/monthlyear) 30 --- --BER 1994 International Patent Classification (IPC) or.both national classification and IPC IPC(6): GO6F 9/44; and US Cl.: 395/161 Applicant APPLE COMPUTER, INC. 1. This written opinion is the Et (first, etc.) drawn by this International Preliminary Examining Authority. 2. This opinion contains indications relating to the following items: I Basis of the opinion II Priority III Non-establishment of opinion with regard to novelty, inventive step or industrial applicability IV Lack of unity of invention V Reasoned statement under Rule 66.2(a)(ii) with regard to novelty, inventive step or industrial applicability; citations and explanations supporting such statement VI Certain documents cited VII Certain defects in the international application VIII Certain observations on the international application 3. The applicant is hereby invited to reply to this opinion. When? See the time limit indicated above. How? By submitting a written reply, accompanied, where appropriate, by amendments, according to Rule 66.3. For the form and the language of the amendments, see Rules 66.8 and 66.9. Also For an additional opportunity to submit amendments, see Rule 66.4. For the examiner's obligation to consider amendments and/or arguments, see Rule 66.4 bis. For an informal communication with the examiner, see Rule 66.6. If no reply is filed, the international preliminary examination report will be established on the basis of this opinion. 4. The final date by which the international preliminary examination report must be established according to Rule 69.2 is: 30 JANUARY 1997 Name and mailing address of the IPEA/US Authorize officer Commissioner of Patents and Trademarks Box PCI' Washington, D.C. 20231 Facsimile No. (703) 305-3230 Form PCT/IPEA/408 (cover sheet) (January 1994)* WiARK R. POWELL Telephone No. (703) 305-9703 APLNDC00028574 -.. ...n. OPINION I. International application No. PCT/US95/11025 Basis of the opinion 1. This opinion has been drawn on the basis of (Substitute sheets which have beenfurnished to the receiving Ojice in response to an invitation under Article 14 are referred to in this opinion as "originaHyfded".): the international application as originally filed. the description, pages 1-54 pages NONE , filed with the demand. pages NONE , filed with the letter of the claims, Nos. 1-18 , as originally ñled. , as originally filed. Nos. NONE , filed with the demand. Nos. NONE the drawings, , as amended under Article 19. Nos. NONE , filed with the letter of sheets/Ag 1-13 , as originally filed. shœtsing NONE , filed with the demand. sheets/Ag NONE , filed with the letter of 2. The amendments have resulted in the cancellation of: the description, pages NONE the claims, Nos. NON the drawings, shots/Rg 3. NONE This opinion has been established as if (some of) the amendments had not been made, since they have been considered to go beyond the disclosure as filed, as indicated in the,SupplemmtabBox Additional observations below (Rule 70.2(c)). 4. Additional observations, if necessary: NONE Form PCT/IPEA/408 (Box I) (January 1994)* APLNDC00028575 International application No. WRITTEN OPINION PCT/US95/11025 V. Reasoned statement under Rule 66.2(a)(ii) with regard to novelty, inventive step or industrial applicability; citations and explanations supporting such statement 1. STATEMENT Novelty (N) 2. YES 1-18 NO Claims NONE YES Claims Industrial Applicability (IA) NONE Claims Inventive Step (IS) Claims 1-18 NO Claims Claims 1-18 NONE YES NO CITATIONS AND EXPLANATIONS (See Supplemental Sheet.) Form PCT/IPEA/408 (Box V) (January 1994)* APLNDC00028576 International application No. WRITTEN OPINION VI. PCT/US95/11025 Certain documents cited 1. Certain published documents (Rule 70.10) Application No. Patent No. Filing Date (dayhnonth/year) US, A, 5,416,895 16 MAY 1995 8 APRU 1992 NONE US, A, 5,428,730 2. Publication Date (day/month/year) Priority date (valid claim) (day/month/year) 27 JUNE 1995 15 DECEMBER 1992 NONE Non-written disclosures (Rule 70.9) Kind of non-written disclosuæ Date of non-written disclosure (day/monthlyear) Date of written disclosure referring to non-written disclosure (day/month/year) Form PCT/IPEA/408 (Box VI) (January 1994)* APLNDC00028577 Intemational application No. - "N OPINION PCT/US95/11025 Supplemental Box (To be used when the space in any of the preceding boxes is not sufficient) Continuation of: Boxes I - VIII Sheet 10 TIME LIMIT: The time limit set for response to a Written Opinion may not be extended. 37 CFR 1.484(d). Any response received after the expiration of the time limit set in the Written Opinion will not be considered in preparing the International Preliminary Examination Report. V. 2. REASONED STATEMENTS - CITATIONS AND EXPLANATIONS (Continued): Claims 1-18 lack novelty under PCT Article 33(2) as being anticipated by the patent to Mills. As to claim 1, see Fig. 1, which shows a processor 14, display screen 18, and cursor control device 19. Mills also teaches 'window generation logic' to 'generate and display a first window region' with view window 20, at Fig. 2, and at col. 3, line 68; and 'indicia generation logic' to 'generate data for display in at least one display area in the first window' such as windows 22,24 at Fig. 2, such that the 'indicia generation logic use message-based communications to exchange information to coordinate activities' at col. 3, lines 22-26. Mills also teaches a 'control strip' [claim 2] with controller 36, at Fig. 2, and at col. 4, lines 32-40; wherein at least one display area is variably sized [claim 3] using size boxes, at Fig. 2, and at col. 4, lines 8-9; and that the size of the first window region is variable [claim 4] also at col. 4, lines 8-9. In addition, Mills teaches sizing the first window region so that none of the display areas are visible [claim 5] with close box 28, at Fig. 2, and at col. 4, lines 7-8, or all [claim 6] or a portion [claim 7] of the display areas are visible, both at col. 4, lines 8-9. Mills also teaches that one of the display areas displays only information [claim 8] with video window 22, at Fig. 2, or provides -s to control information [claim 9] with video window 24, at Fig. 2, or displays an additional display element [claim 10] with video window 22, at Fig. 2. As to claim 11, it corresponds to claim 1, and also includes the following: using the 'indicia generation logic' to 'generate user sensitive graphics for display' at col. 4, lines 32-40; wherein the 'window generation logic' determines when a data display area has been selected, signals the indicia generation logic, which then initiates a response, at col. 2, lines 9-13. Claims 12-14 correspond respectively to claims 6,2,3. Regarding claim 15, Mills teaches the following: 'generating a first window' with view window 22, at Fig. 2, to accommodate one display area, as with control window 24, for 'indicia' with control buttons 42-54, at Fig. 2, and col. 4, lines 37-40, by 'executing a first programming module' at col. 3, line 66; 'displaying an indicia' at col. 4, lines 32-40; 'selecting one of the indicia' at col. 4, lines 48-55, and sending a message for generating the display at col. 3, lines 22-26; with the programming module performing a function, at col. 4, lines 38-40. Mills also teaches 'status information' [claim 16] such as tentative-set state at col. 5, lines 1014, or fixed-set state at col. 5, lines 23-35, and describes the operating stat_e or mode of the controller at col. 6, lines 21-32. Form PCT/IPEA/408 (Supplemental Box) (January 1994)* APLNDC00028578 w m OPINION International application No. PCT/US95/11025 Supplemental Box (To be used when the space in any of the preceding boxes is not sufficient) Continuation of: Boxes I - VIII Sheet 11 In addition, Mills teaches 'control information' [claim 17] in control window 24, at Fig. 2, and at col. 4, lines 32-40. As to claim 18, Mills teaches that the first programming module requests a set of features at col. 4, lines 20-25, sends a message to the programming module indicative of features, and the programming module returns a message; such that the programming modules interact with each other in response to user interaction with the first programming module, all at col. 4, lines 25-40. Claims 1-18 lack an inventive step under PCT Article 33(3) for the reasons given forth above. Claims 1-18 have industrial applicability as defined by PCT Article 33(4) because the subject matter claimed can be made or used in industry. -- NEW CITATIONS US, A, 4,896,291 (Gest et al) 23 JANUARY 1990, see Fig. 1, which shows graphical user interface tools, such as slide bars 12, dials 11, and menus 14. US, A, 5,202,961 (Mills et al) 13 APRIL 1993, see Figs. 2,3, which show a slider bar 36, with velocity and direction indicators, and a control icon 40. Forn PCT/IPEA/408 (Supplemental Box) (January 1994)* APLNDC00028579 65 JDS I Paten ' E UNITED STATES PATENT AND TRADEMARK OFFICE In re Application of ) Steven W. Christensen ) Examiner: Dela Torre, C. Serial No. 08/316,237 ) Art Unit: 2415 Filing Date: September 30, 1994 ) For: METHOD Amn APP^R^TUS FOR DISPLAYING AND ACCESSING COIN 1xOL AND STATUS INFORMATION IN A COMPUTER ) ) ) ) SYSTEM ) AMENDMRNT Commissioner of Patents and Trademarks Washington, D.C. 20231 Sir: In response to the Office Action mailed March 20, 1996, Applicant respectfully requests the Examiner to enter the following amendments and consider the following remarks: IN · - SPECTFICATION At page 2, line 1 At page 4, line 10, ease replace "it" with --It--. ase replace "individiual" with --individual--. At page 21, line 23, please insert --not-- after "has". Serial No. 08/316,237 1 04860.P1365 APLNDC00028580 At page 28, lines 11-12, please delete "If the cursor location is determined to be within the control strip." AT page 28, line 15, please insert -within the control strip-- after "occurs". IN THF. CT.ATMS . 2 (Amended) An interactive computer-controlÏ&d d s¯pÏay system comprisin : 3 a pro ssor; 4 a data d play screen coupled to the processor; 5 a cursor c 6 7 trol device coupled to said processor for positioning a cursor on said data isplay - a w; a window gen ation and contr.ol logic coupled to the processor and 8 data display screen to c ate an operating environment for a plurality of 9 individual programming odules that provide status and control funci;ions, 10 wherein the window genera n and control lo ic venerates and dis lavs a 11 first window region having a pl ality of display areas on said data display 12 screen, wherein each of the plural 13 the plurality of individual programuking modules; of display areas is associated with one of 14 an_ indicia generation logic couple to the data display screen to executa 15 at least one of the plurality of programmin modules to generate inform=+1an 16 [data] for display in [at least] one of the plurah 17 window reyton wherein [a] at least one of the p rality of display areas and its 18 associated_prog---_---imodule is sensitive to us r input, and further 19 wherein the window generation anri can+ral logic an the indicia generation 20 logic use message-based communication to exchange in rmation to Serial No. 08/316,237 2 of display areas in the first 04860.P1365 APLNDC00028581 21 coordinate activities 22 display activity. 1 5. the indicia generation logic to enable interactive (Amended) The display system defined in Claim 4 wherein the 2 first window region[s] is sized such that none of the phiralg of display areas 3 à [are] visible. 1 6. (Amended) The display system defined in Claim 4 wherein the 2 first window region[s] is sized such that all of the plurality of display areas are 3 visible. 1 7. (Amended) The display system defined in Claim 4 wherein the 2 first window region[s] is sized such that a portion of the plurality of display 3 areas n [are] visible. 1 2 1 8. (Amended) The display system defined in Claim 1 wherein at least one of the pluralg of the display [data] areas only displays information. 9. (Amended) The display system defined in Claim 1 wherein at 2 least one of the display [data] areas acts to provide access to control 3 information when selected. 1 10. (Amended) The display system defined in Claim 9 wherein said 2 at least one of the plurality of display [data] areas displays an additional 3 display element. Serial No. 08/316,237 3 04860.P1365 L APLNDC00028582 2 1 . (Amended) An interactive computer-controlled display system comprisin : 3 a proc ssor; 4 a data d play screen coupled to the processor; 5 a cursor c 6 trol device coupled to said processor for positioning a cursor on said data isplay s--; 7 window gener tion and control logic coupled to the processor and data 8 display reen to create an operating environment for a plurality_of 9 individual programming modules that provide status and control functions 10 wherein the window gener tion and control logic generates and displays a 11 first window region having 12 scre 13 the plurality of individual prog mming modules [, wherein the first 14 window region comprises at least wherein each of the lurality of display areas on said data display ality of display areas is associated with one of e data display area]; 15 at least one indicia graphics g neration logic coupled to the processor 16 and the window generation logic, wh ein said at least one indicia graphics 17 generation logic generates user sensitive 18 one data display area by executing at leas one of the plurality of programming 19 modules; 20 aphics for display in said at least wherein the window generation and c ntrol logic determines when 21 said at least one data display area has been sele 22 at least one indicia graphics generation logic in r ponse to user selection, and 23 further wherein said at least one indicia graphics g neration logic initiates a 24 response from said at least one of the plurality of pr gramming modules. 1 2 d by the user and signals said (Amended) The display system defined in Claim wherein the first window regn is always visible to the user. Serial No. 08/316,237 4 04860.P1365 APLNDC00028583 1 . ' 2 3 4 ' 5 (Amended) A method for generating control information comprisin the steps of: create n operating environment for a plurality of individual programming odules that provide status and control fimetions· generating first window sized to accommodate a pluraligof [at least 6 one] display areas 7 the first window com rises] executing [a first] at least one of the plurality of 8 individual programm° 9 areas is associated with oe of the plurality of individuaLyrog 10 r indicia resulting_Jrom [, wherein the step of generating modules, wherein each of the plurality of displaX a maanle=· 11 displaying an indicia ° each of said at least one display area by 12 executing one of a plurality of rogramming modules corresponding to each 13 indicia; 14 selecting one of the indicia, herein the step of selecting comprises the 15 first progr ------- --g module determin 16 area is selected and sending a message 17 plurality of programming modules respon ible for generating the display of 18 the selected indicia; 19 20 which of said at least one display the programming module of said said progr-------ing module performing function in response to the selection. Please add the following new claims: I( 1 2 (New) The display system defined in Claim 1 wherein each of the plurality of display areas is individually and variably sized. Serial No. 08/316,237 5 04860.P1365 APLNDC00028584 1 2 (New) The display system defined in Claim 1 wherein the first window region always appears in front of application windows. / 3 1 (New) The display system defined in Claim 1 wherein the first 2 window region is implemented in a private window layer that appears in 3 front of windows for all applications layers. 1 2 (New) The display system defined in Claim the plurality of display areas is individually and variably sized. 1 2 wherein each of (New) The display system defined in Claim wherein the first window region always appears in front of application windows. 1 (New) The display system defined in Claim wherein the first 2 window region is implemented in a private window layer that appears in 3 front of windows for all applications layers. Applicant respectfully requests reconsideration of this application as amended. Claims 1-18 remain in the application. Claim 1, 5-12, and have been amended. Claims 19-24 have been added. No claims have been canceled. The Examiner has listed a number of informalities and errors in the application. The Applicant has corrected these informalities and errors, as well as others, to put the application in correct form for allowance. The Examiner has rejected Claims 1-18 under 35 U.S.C. § 102(b) as being unpatentable over \ Serial No. 08/316,237 111= * =1 Mills teaches the use of a slider control bar for 6 04860.P1365 L APLNDC00028585 controlling the rate of display of sequential information. Specifically, Mills teaches the use of such a control window to control the playback rate of video. This control window is defined as having certain components such as standard playback direction/velocity indicators, reverse, stop and fast forward. Mills. uses control icon to select one of these rates of display. Claim 1 of the present invention as amended states, in part: a window generation and control logic coupled to the processor and data display screen to create an operating environment for a plurality of individual progr-------ing modules that provide status and control functions, wherein the window generation and control logic generates and displays a first window region having a plurality of display areas on said data display screen, wherein each of the plurality of display areas is associated with one of the plurality of individual progr-,sing modules; Thus, the present invention provides logic that creates an operating environment like a shell for other programming modules to provide status and control functions. Mills does not provide such an environment. In Mille the control window is used for controlling video generated by an application. Claim 1 of the present invention also includes that "window generation and control logic and the indicia generation logic use messagebased communication to exchange information to coordinate activities of the indicia generation logic to enable interactive display activity" Contrary to the Ex22,.°1L€r'S RSsertion, Mills does not teach the use of message based communication for information exchange, particularly between control logic that creates an envi-------ent for the plurality of programming modules Serial No. 08/316,237 7 04860.P1365 APLNDC00028586 which control the indicia generation logic. In one described embodiment, the message based communication comprises the control strip of the present invention passing messages to a module to either tell it what to do or to obtain information about the module and its capabilities (e.g., See Specification, pg. 32, lines 5-7). There is no indication in Mills that such message based communication is used. In view of the above discussion, Applicant respectfully submits that Mills does not anticipate the present invention as claimed in Claim 1, nor any of its dependent claims. Independent Claims 11 and 15 also include a similar limitation regarding the creation of the operating environment. Therefore, based on the same rationale given above, Applicant respectfully submits Claims 11 and 15 and their dependent claims are not anticipated by Mills. Applicant has added Claims 19-24. Claims 19-21 are dependent on Claim 1, and Claims 22-24 are dependent on Claim 11. Claims 19 and 22 provide that each of the plurality of display areas is individually and variably sized. Mills does not disclose such sizing. Claims 20 and 23 provide that the first window region always appears in front of application windows. Similarly, Claims 21 and 24 provide that the first window region is implemented in a private window layer that appears in front of windows for all applications layers. Mills clearly does not show this. In fact, as soon as another application is used in Mills, the control window will be overlapped and at least partially non-visible. Therefore, based on this, Applicant respectfully submits that Claims 19-24 are allowable over the art of record. Accordingly, Applicant respectfully submits that the rejection under 35 U.S.C. § 102(b) has been overcome by the amendments and the remarks and withdrawal of these rejections is respectfully requested. Applicant submits Serial No. 08/316,237 8 04860.P1365 L APLNDC00028587 that Claims 1-18 as amended and Claims 19-24 as added are now in condition for allowance and such action is earnestly solicited. Please charge any shortages and credit any overcharges to our Deposit Account No. 02-2666. Respectfully submitted, Bl .« K NLY, SOKOLOFF, TAYLOR & ZAFMAN Dated: , 1996 Micha J Mallie Attorney for Applicant Registration No. 36,591 12400 Wilshire Boulevard Seventh Floor Los Angeles, CA wo-1026 (408) 720-8598 I hereby certify that this correspondence is being deposited with the United States Postal Service as first class mail with sufficient postage in an envelo e addressed to the ommissioner of Patents and rademarks, Washington, D.C. 0231 on Augmt on Angel& Quinn Serial No. 08/316,237 9 ' 6 10 A August 20, 1996 Date 04860.P1365 APLNDC00028588 Attorney's Docket No. 04860.Pl365 PA IN THE • " •• ~••STATES PATENT AND = a = mviAKE OFFICE In Re Patent Application of: ) Steven W. Christensen Application No.: Filed: For: 08/316,237 September 30, 1994 Examiner: ) Art Unit: C. Dela Torre 2306 ) METHOD AND APP A RATUS ) FOR DISPLAYING AND STATUS) INFORMATION IN A COMUTER ) SYSTRM ) Assistant Co......:-sioner for Patents Washington, D.C. 20231 REGENED INFORMATION DISCLOSURE STATEMENT Sir: 6800, () Enclosed is a copy of Information Disclosure Citation Form PTO-1449 together with copies of the documents cited on that form. It is respectfully requested that the cited --nts be considered and that the enclosed copy of Information Disclosure Citation Form PTO-1449 be initialed by the E--··-----er to indicate such consideration and a copy thereof returned to applicant(s). Pursuant to 37 C.F.R. § 1.97, the submission of this Information Disclosure Statement is not to be construed as a representation that a search has been made and is not to be construed as an admission that the information cited in this statement is material to patentability. Pursuant to 37 C.F.R. § 1.97, this Information Disclosure Statement is being submitted under one of the following (as indicated by an "X" to the left of the appropriate paragraph): 37 C.F.R. §1.97(b). X 37 C.F.R. §1.97(c). If so, then enclosed with this InformationÛ Disclosure Statement is one of the following: C X A certification pursuant to 37 C.F.R. §1.97(e) y A check for $ LJV/cak (10/01/96) for the fee under 37 C.F.R. § 1.17(p). - 1 - APLNDC00028589 37 C.F.R. §1.97(d). If so, then enclosed with this Information Disclosure Statement are the following: (1) A certification pursuant to 37 C.F.R. §1.97(e); (2) A petition requesting consideration of the Information Disclosure Statement; and (3) A check for $ for the fee under 37 C.F.R. § l.17(i) for submission of the Information Disclosure Statement. If there are any additional charges, please charge Deposit Account No. 02-2666. Respectfully submitted, BLAKELY, SOKOLOFF, TAYLOR & Dated: , \ -- LLP , 1996 s C. Scheller, Jr. g. No. 31,195 12400 Wilshire Blvd. Seventh Floor Los Angeles, CA 90025-1026 (408) 720-8598 I hereby certify that this correspondence is being deposited with the United States Postal Service as first class mail with sufficient postage in an envelope adoressed to the Assistant Commissioner for Patents, Washington, D. C. 20231on L \¾. ( 9 p (Date of Deposit) Dehemh McDovem (Typed or printed na e of person mailing correspondence) (Signature of person mailing correspondence) LJV/cak (10/01/96) to o, -2- APLNDC00028590 AVAC.B To: PAPER & Sheet U.S. DEPARTMENT OF COMMERCE ATTY. DOCKET NO. PATENT AND WADEMARK OFFICE rm PTO-1449 EV. 8-83) 1 of 1 SERIAL NO. 04860.P1365 08 APPLICANT 4 TRA06f INFORMATION DISCLOSURE CITATION Steven W. Christensen FILING DATE (Use several sheets if necessary) GROUP 9/30/94 289& 246 U.S. PATENT DOCUMENTS *E I ER -umm. NUMBER DATE NAME 5 4 1 6 8 9 5 5/16/95 Anderson, et al. CLASS 395- - †4W IF FILING DATAETE 4/8/92 FOREIGN PATENT DOCUMENTS DOC"MENT GUMBER DATE COUNTRY CLASS SUBCLASS TRANSLATION YES NO I I THER DOCUMENTS (including Author, 71tle, Date, Pertinent Pages, Etc.) fj3 c "PCT Written Opinion", October 4, 1996 Ch EXAMINER DATE CONSIDERED Q .ORLA -TORí2g i\/(2/96 *EXAMINER: Initial if citation considered, whether or not citation is in conformance with MPEP 609; Draw line through citation if not in conformance and not considered. Include copy of this form with next communication to applicant. APLNDC00028591 lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll! United States Patent [191 Anderson et al. [11] [45] [54] SYSI'EM AND METHODS FOR IMPROVED SPREADSHEET INTERFACE WITH USER-Famr sax OBJECTS Lotus Development Corporation, Lotus User's Guide: Lotus 1-2-3 for Windows Release 1.0, 1991, pp. 37-46, 307-317. Proceedingr Advanced Computer Technology, Reliable Systems and Applications, 5th Annual European Computer Conf., CompEuro '91, May 13, 1991, Italy, pp. 282-286. Andreas Hutflesz et al., The R-File·An Effcient Access Structurefor Proximity Queries, Proceedings Sixth International Conference on Data Engineering, Feb. 5-9, 1990, Los Angeles Airport Hilton and Towers, Los Angeles, Calif., USA, pp. 372-379. D. Cakmakov et al., "A Multimedia Cognitive-Based System Model" Advanced Computer Technology, Reliable Systems and Applications, 5th Annual European Computer Conference, Bologna, May 13-16, 1991, pp. [73] Assignee: Borland International, Inc., Scotts Valley, Calif. [21] Appl. No.: 866,658 [22] Filed: Apr. 8, 1992 [52] U.S. CI. . GO6F 17/30; GO6F 17/40 .............. 395/148; 395/159; 395/161; 395/158; 395/155 [58] Field of Search ............... 395/155, 148, 158, 149, 395/159, 160, 161; 340/747, 748; 364/401; 345/24, 25 [56] References Cited U.S. PAxen1 DOCUMENTS 5,021,973 6/199 5,033,009 7/199 282-286. Birkholz, "Die Datenbank in der Tabellenkalkulation," CIIIP 2eitschnf fur Mikrocomputer-Technik, No. 3, Mar. 1991, pp. 450-454. "Hyperpaper," IBM Technical Disclosure Bulletin, vol. 33, No. 9, Feb. 1991, pp. 283-384. Hernandez et al. ................ 364/518 Dubnoff .............................. 364/523 Pdmary Examiner-Mark K. Zimmerman Assistant Examiner-J. Feild Attorney, Agent, or Firm-John A. Smart; David N. Slone; Vernon A. Norviel 5,055,998 10/ 99 Wright et al. ....................... 364/200 5,072,412 12/ 99 Henderson, Jr. et al. .......... 395/159 5,093,907 3/ 992 Hwong et al. ...... 395/152 5,095,429 5,121,499 5,140,678 5,182,793 5,231,577 5,237,651 5,283,864 3/ 992 8/1992 1/1993 7/1993 8/1993 2/1994 Harris et aL ........................ 364/408 Torres ........-........................ 395/159 Alexander et al. .---............... 395/13 Koss .................-......--........ 364/419 Randall ........ 395/148 Knowlton ........................... 395/158 6/1992 McCaskill et al- .................. 395/700 [57] ABSTRACT An electronic spreadsheet system of the present invention includes a notebook interface having a plurality of notebook pages, each of which may contain a spread of information cells, or other desired page type (e.g., Graphs page). Methods are provided for rapidly accessing and processing information on the different pages, including displaying a plurality of page identifiers for selecting individual pages, and further including a preferred syntax for referencing information. Additional methods are provided for editing cells and blocks of cells. FOREIGN PA mm DOCUMENTS 0428261 0431638A2 0443184A2 WO92/04678 WO92/08199 5/1991 6/1991 8/1991 3/1§92 5/1992 5,416,895 May 16, 1995 Lotus User's Guide: Lotus1-2-3for Windows Release l.0; 1991; pp. 159-171. Lucia 3-D Tutorial Guide, Chapter 16, pp. 1-18, 1987. [75] Inventors: Charles R. Anderson, Santa Cruz; Robert W. Warfield, Aptos; Istvan Cseri, Scotts Valley; Murray K. Low, Santa Cruz; Weikuo Liaw, Scotts Valley; Alan M. Bush, Palo Alto, all of Calif. [51] Int. CL6 ........ - ' USOO5416895A Patent Number: Date of Patent: European Pat. Off. . European Pat. Off. . European Pat. OfT . WIPO . WIPO . OTHER - CATIONS Microsoft Excel User's Guide, 1990, pp. 76-79· . 17 Claims, 35 Drawing Sheets 250 APLNDC00028592 U.S. Patent May 16, 1995 Sheet 1 of 35 5,416,895 104 KEYBOARD 105 PONTING DEVICE ¯ ios 102 D-- DISPLAY 107 103 MASS STORAGE 108 PRINTING D••·, - MAIN MEMORY Ilo CONTROLLER - 101 CENTRAL PROCESSOR 110 FIG. 1A 150 152 151 153 APPLICATION T SOFTWARE OPERATING F SYSTEM A USER FIG. iB APLNDC00028593 172 160 -- 174 - 175 • . Sample Appilcation EIIe Edit Iext grawing Ereferences +Y The quick brown 182 {TEXTOBÆCT) f0x jumped over ... r- m 165 181 (GRAPHIC OBÆCT (D FIG. 1C 178 APLNDC00028594 r U.S. Patent C‡ Sheet 3 of 35 5,416,895 C3 w· May 16, 1995 CO N N S APLNDC00028595 220 221 224 \ l cut I copy pastel C I i 22L 22L . 226 227 229 Ililli Normal 225 • a...2 7 22 FIG. 28 A 261a 262a 263a FIG. 2D 260b b FIG. 2E 'y APLNDC00028596 ' A 250 ,253 ,,256(CELLC4") 255 254 NOTEBK1.WB1 liilt 118 257··· 252- .* cilD (0 | E F I'd 259 e+ GlH 4 5 a 7 1 25 10 11 12 13 14 DJ DY © 15 18 271 260 272 273 FIG. 2C 278 CA 00 APLNDC00028597 U.S. Patent May 16, 1995 Sheet 6 of 35 5,416,895 260a I 2eaa 271a 261a 272a FIG. 3A 273 2eoo I 262c 271c Graphs 261c E 272c FIG. 38 F G .. H . +I 273 259 VERTICAL NAVIGATION HORIZONTÆ NAVIGATION FIG. 3C APLNDC00028598 U.S. Patent May 16, 1995 Sheet 7 of 35 5,416,895 COLB 410 I 411 13-ir I 2 3 - I * fŒff/MI F////ff//l - Y/////'7/A i I 6 f////////d 6 V/ff(//fd FIG. 4A 421 420ROW3 -i 4 - A - e _ r - V/////Æ/////// .I 6 410m L-i . 420 ¡ \ myyNI 1 I N 1 2 , YR/«///1 V/ /// I * - Yl//f///d I 6 - FIG.48 c («/€///1 ! 5 - VN¥ \ .! FIG. 4C 431 - 4\ /////////////////////////A FIG. 4D 441 ' 4 , , , , , , //////// /////M 27////E, ..... 442 FIG. 4E APLNDC00028599 U.S. Patent May 16, 1995 Sheet 8 of 35 5,416,895 to 8 CO APLNDC00028600 I A - Elle B Edit Block \ C | D E I F H 1 c Ouattro Pro for Windows - PROFITS.WB1 Ioola §raph Eroperty ndow Belp D.ata IBIBIRI IHeading2 le] Salads:04 G Igla. 1 1 PROFITS: SALADS 2 3 4 7 8 9 10 La Food Cost (D þ|g J am liÏ Total Öõi 1.00 6Ï smummuma . ofit 2 397.22% Las ... fahd 73 4 17 «D 51.00 $2.75 24 $0.50 $2.75 $1.75 22 52.25 00% FIG. 4G 0.75 $2.75 07 36Ò ËϾ 00 APLNDC00028601

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?