throbber
United States Patent 15
`Warman et al.
`
`[54] METHOD AND APPARATUS FOR
`CONTROLLING NON-COMPUTER SYSTEM
`DEVICES BY MANIPULATING A
`GRAPHICAL REPRESENTATION
`
`[75]
`SS
`
`Inventors: David J. Warman, Bainbridge Island;
`MarkA. Lacas; Geoffrey P. Coco,
`both of Seattle, all of Wash.
`
`[73] Assignee: MediaLink Technologies Corporation,
`Seattle, Wash.
`
`[21] Appl. No.: 334,416
`
`[22] Filed:
`
`Nov. 4, 1994
`
`Related U.S. Application Data
`
`[63] Continuation-in-part of Ser. No. 307,864, Sep. 16, 1994,
`abandoned.
`
`Taat, C16 cccccccccccssssssesscsecsccssesssseesesssseenene GOSB 15/02
`[52]
`[52] U.S. Ch wesc
`364/188; 364/146; 395/348
`
`
`[58] Field of Search...
`csscsessesssesees 364/140, 141,
`364/145, 146, 188, 189, 191; 395/155,
`161, 169
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`7/1981 Beckedorff et al...eeescee 364/146
`4,279,012
`7/1989 Bhaskar et al.
`.
`4,849,880
`6/1991 Wexelblat et al...csecscnsene 364/146
`5,021,976
`5,062,060 10/1991 Kolnick............
`.
`364/188
`5,086,385
`2/1992 Launey etal.
`364/147
`5,321,829
`6/1994 Zifferen ........
`8/1994 Kolnick........
`.- 395/164
`9,335,323
`
`3/1995 Willson et al. oo...ssescccescseees 364/146
`5,400,246
`
`US005657221A
`
`(11] Patent Number:
`
`[45] Date of Patent:
`
`5,657,221
`Aug. 12, 1997
`
`FOREIGN PATENT DOCUMENTS
`
`0596594
`
`5/1994 European Pat. Off. .
`
`Primary Examiner—Paul P. Gordon
`Attorney, Agent, or Firm—Christensen, O’ Connor, Johnson
`& Kindness PLLC
`
`[57]
`
`ABSTRACT
`
`invention
`The graphical control system of the present
`includes a computer (20), a device interface 5) for a
`non-computer system device (21) having at least one feature
`control (29a) (or display (29b)), a bus network (28) con-
`necting the computer (20) to the device interface (35), and
`a visual network operating system (78) based on an object-
`oriented programming paradigm. The device interface (35)
`comnects the non-computer system device (21) to the bus
`network (28) and provides the mechanism for converting
`computer-generated commandsinto signals for controlling
`the operation of the feature control (29a) of the non-
`computer system device (21). The visual network operating
`system (78)is a distributed operating system thatis partially
`stored on the computer (20) andpartially stored in the device
`interface (35). A computer portion causes the computer (20)
`to generate or create a visual device control (40) that
`graphically replicates the feature control (29a) normally
`associated with the non-computer system device (21). The
`visual device control (40) is operated by a conventional
`graphical control device, such as a mouse (32), track ball,
`touch screen, joystick, etc. As the replicated controls are
`operated, the computer (20) sends messages to the device
`interfaces (35), which cause the feature control (29a) of the
`non-computer system device (21) to respond in the same
`way it would have responded had the feature control been
`operated manually, electrically or effected by another com-
`puter on the bus network (28).
`
`74 Claims, 20 Drawing Sheets
`
`¢‘Ormitoam
`
`\Cer A
`
`Google Exhibit 1047
`Google v. VirtaMove
`
`Google Exhibit 1047
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 1 of 20
`
`5,657,221
`
`
`24Ns
`ae
`
`™~
`
`&&
`
`29a
`
`©“
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 2 of 20
`
`5,657,221
`
`\
`© 5
`%
`oo /
`
`a
`
`a
`rs v8
`
`LLPeay
`5s|41
`
`BRIDCE
`
`4
`
`22
`
`x
`Na
`
`20
`
`ee
`
`45
`
`rs
`
`ee
`
`42
`
`44
`
`

`

`Aug.12, 1997
`
`a2
`
`294
`
`296
`
`290
`
`XY
`
`S=3
`
`CHANNEL1
`
`US. Patent
`
`Sheet 3 of 20
`
`5,657,221
`
`

`

`US. Patent
`
`Aug. 12, 1997
`
`Sheet 4 of 20
`
`5,657,221
`
`,
`
`510
`
`30 530 540 550
`
`PAPATATATAAToeVVV
`
`EEaaa!
`POAeeooeeooeeeeoe
`PEVONVAee
`
`

`

`USS. Patent
`
`Aug. 12, 1997
`
`Sheet 5 of 20
`
`5,657,221
`
`78
`
`VISUAL NETWORK
`OPERATING
`SYSTEM
`
`
`
`
`DATABASE
`STORAGE
`
`66
`
`67
`
`68
`
`

`

`U.S. Patent
`
`Wy
`
`Sheet 6 of 20
`
`5,657,221
`
`Aug. 12, 1997
`
`LLL
`
`

`

`U.S. Patent
`
`
`
`GEVALITIAT
`
`40LNIWLSALavy
`
`
`
`AVIdSI@0TOULNODdFItAda
`
`Aug. 12, 1997
`
`Sheet 7 of 20
`
`5,657,221
`
`+9A¥IdSI@YOTOYLNOD
`
`HOIATGAG
`
`
`
`(HINISTadTdINVA
`
`PEECERARY
`
`“ILVINdGINVW
`
`FAISITY/TLVIINNAKO)
`
`JOQTVANISONVHO
`
`WOud/OL
`
`
`SHOAITYTHLOGNV
`
`
`
`
`beYALNdNO)TVNOSHId
`
`
`
`TOULNODTILTHAVYDVdiVYdNnd)
`
`
`
`INIGNTINIAVIdSIC
`
`OTAINOLSVATLV08
`
`
`
`LTdddaINI
`
`FIVINdINVW
`
`
`
`QIINISTUdTYANTVA
`
`JOGAAG18
`
`
`
`
`
`TAITITH/TLVIINQWWOD
`
`SQIVANISONVHO
`
`
`
`JOIATGWOUA/OL
`
`ce
`
`BL
`
`
`
`
`
`

`

`US. Patent
`
`Aug. 12, 1997
`
`Sheet 8 of 20
`
`5,657,221
`
`98
`
`96
`
`92
`
`94
`
`90
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 9 of 20
`
`5,657,221
`
`TINVESNI
`
`LANIVd
`
`YINVISNI
`
`SSVTI
`
`LIXIVE
`
`LITHO
`
`HOTAII
`
`LIE
`
`(FIA)INIWITYA
`
`FINIEIATS
`
`LITLEO
`
`ANT¥A
`
`TOULNOD
`
`TVASIA
`
`LITE
`
`ANTVA
`
`TOULNOD
`
`JONVISNI
`
`(FIA)LNIWITI
`
`AFINTUAATS
`FOINVESNI
`
`TVASIA
`
`MOCUNIM
`
`LIGTLEO
`
`MOCNIM
`
`FINVISNI
`
`
`
`
`
`
`

`

`oh3<
`
`ccR=ef
`
`CB)wohe
`
`
`
`
`
`SS¥T9
`
`PIG
`
`

`

`Aug. 12, 1997
`
`Sheet 11 of 20
`
`5,657,221
`
`
`
`TOINVISNIMOGNIM
`
`e&h
`
`T¥ASIA
`
`YINVISNI
`
`crt
`
`TVASIA
`
`TINVISNI
`
`U.S. Patent YeOLPus
`
`
`
`AYOLNYANINUOMLAIN
`
`col
`
`TVASIA
`
`HONTATALY
`
`FINVESNI
`
`9&1}
`
`oF}
`
`9¢]
`
`Bel
`
`INIWOOINT
`
`LINIVd
`
`GINVLISNI
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 12 of 20
`
`3,657,221
`
`T¥ASIA
`
`INGTTIATE
`
`
`
`YINVESNIMOGNIM
`
`TVASIA
`
`8A}
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 13 of 20
`
`5,657,221
`
`
`
`TINVISNTMOGNIM
`
`TINVdYdIAITANVY
`
`TVASIA
`
`
`
`|—| TWASIA
`
`
`
`
`

`

`US. Patent
`
`Aug. 12, 1997
`
`Sheet 14 of 20
`
`5,657,221
`
`nat
`
`eeNINyyNIN
`
`Ld
`
`
`
`FINVISNIMOGNIM
`
`MHL
`
`

`

`Aug. 12, 1997
`
`Sheet 15 of 20
`
`5,657,221
`
` HINVESNI
`[orToor
`
`U.S. Patent
`
`=
`
`MOUNIM
`
`
`
`TINIETATA
`
`FINVLISNI
`
`TYASTA
`
`
`
`TONIYTATA
`
`JONVISNI
`
`TVASIA
`
`
`
`
`

`

`Sheet 16 of 20
`
`5,657,221
`
`MOGNIM|MIAsn|—|
`FINVLSNI
`
`U.S. Patent
`
`Aug. 12, 1997
`
`LIMIVE
` INVISNI
`
`

`

`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 17 of 20
`
`5,657,221
`
`MOCUNIM|AIAUS|
`SONVISNI
`
`
`INVISNI TVNSIA
`
`TVOSTA
`
`ve
`
`TOINVISN
`
`TWASIA
`bee/
`
`ote/b0¢
`
`bie
`
`9é¢
`
`
`
`
`
`
`
`
`

`

`5,657,221
`
`109
`
`119
`
`CLASS
`
`INSTANCE
`
`U.S. Patent
`
`Aug. 12, 1997
`
`Sheet 18 of 20
`
`INTERFACE
`PACKET
`OBJECT
`
`DEVICE CONTROL
`ELEMENT (DCE)
`OBJECT
`
`INSTANCE
`
`INTERFACE
`PACKET
`INSTANCE
`
`DEVICE CONTROL
`ELEMENT (DCE)
`
`Fig. 17.4
`
`

`

`U.S. Patent
`
`5,657,221
`
`Aug. 12, 1997
`
`Sheet 19 of 20
`
`INSTANCE
`
`CLASS
`
`

`

`US. Patent
`
`Aug. 12, 1997
`
`Sheet 20 of 20
`
`5,657,221
`
`66
`
`D06¢
`
`6IéAlé
`
`INIOILNO
`
`LAMIVd
`
`FINVISNI
`
`£e¢@
`
`ININOINI
`
`LINIVd
`
`FINVISNI
`
`
`

`

`5,657,221
`
`1
`METHOD AND APPARATUS FOR
`CONTROLLING NON-COMPUTER SYSTEM
`DEVICES BY MANIPULATING A
`GRAPHICAL REPRESENTATION
`
`RELATIONSHIP TO OTHER APPLICATIONS
`
`This application is a continuation-in-part of U.S. patent
`application Ser. No. 08/307,864, filed Sep. 16, 1994, now
`abandoned as of Dec. 26, 1995 and entitled A Method and
`Apparatus for Controlling Non-Computer System Devices
`By Manipulating a Graphical Representation. The subject
`matter of application Ser. No. 08/307,864 is incorporated
`herein by reference.
`FIELD OF THE INVENTION
`
`This invention generally relates to a method and apparatus
`for using a computer to control non-computer system
`devices connected to the computer.
`BACKGROUND OF THE INVENTION
`
`Object-oriented programming paradigms have become an
`increasingly commontool in computer programming. Such
`paradigms are often employed by graphical user interfaces,
`where computer system elements are visually represented
`and manipulated by visible screen entities such as icons on
`a computer screen or other display device. For programming
`purposes, “objects” are used to represent the manipulatable
`computer system. elements by containing methods and data
`that define those elements. By representing such computer
`system elements as objects, it is unnecessary for the pro-
`grammer to generate a specific set of code for each computer
`system element. Rather, the programmer can define classes
`of objects and assign certain universal behaviors to each
`class. Computer system. elements that can be represented by
`objects include computer peripherals and computer applica-
`tion programs. Examples of application programs are
`spreadsheets, word processing programs, database
`programs, etc.
`In graphical user interfaces employing an object-oriented
`programming paradigm, application programs are typically
`represented to a user by an icon displayed within a window
`on a computer screen, one icon for each application program
`that can be run. Execution of an application program is
`initiated by selecting its corresponding icon, most often
`using a pointing device such as a mouse. When an applica-
`tion program is selected, a message is sent to the corre-
`sponding application program object, indicating that the
`application program object is to invoke certain ofits meth-
`ods. For example, if a word processing program is selected,
`the methods contained within the application program object
`may includestarting the word processing program. The user
`mayalso “drag” icons from one area ofthe screen to another,
`or from one window to another using the mouse. The user
`may even “drag” one icon representative of an application
`object and “drop”that icon on top of another. This “object-
`object” interaction will result in a combination of applica-
`tion objects. For example, if a word processing document
`icon is dropped upon a word processing program icon, the
`object-object interaction results in starting the word process-
`ing program and causing that program to open the word
`processing document. This is possible because both the word
`processing program and the word processing document have
`been represented as compatible application program objects.
`Hence, the icons in the object-oriented programming para-
`digm allow the user to graphically control various computer
`system elements and the interrelationships between com-
`puter system elements.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`2
`While the conventional object-oriented, graphical user
`interface described above has been used to allow a user to
`initiate execution of such computer system elements as
`applications programs, use of object-oriented programming
`5 paradigms to graphically control and monitor non-computer
`system devices has been severely limited. Non-computer
`system devices include virtually any electronic device
`equipped with the necessary hardware to be connected to a
`personal computer either directly or via a network. For
`example, non-computer system devices may include lamps,
`television sets, VCRs, video cameras,
`telephones,
`amplifiers, CD players, equalizers, etc. Such devices typi-
`cally come equipped with a variety of feature controls and
`displays for operation including volume controls, power
`switches, input and output meters, channel selectors, etc. In
`order to control a non-computer system device using a
`graphical user interface, in the past, each feature control
`(e.g., a volume control) or feature display (e.g., an output
`meter) that is to be manipulated by the user has been coupled
`to the graphical user interface computer by specially
`designed software, resulting in a visible screen entity for
`each feature control of the device being displayed on the
`computer screen.
`Conventionally, non-computer system devices have been
`graphically represented and controlled via a special program
`designed specifically for each device, where the specially
`designed program is either built into the computer operating
`system or loaded into the computer operating system as an
`add-on software product. For example, the CD Remote
`program, Version 1.3 for the Macintosh computer provides
`the computer user with a graphic interface for controlling a
`Macintosh CD player hardwired to the computer. The useris
`provided with a graphical display of the CD player’s control
`panel, complete with graphical stop, play, pause, skip, etc.
`controls. To initiate execution of any one of these commands
`upon the CD player, the user merely selects the correspond-
`ing graphical control using the mouse. Unlike graphical user
`interface programs for controlling applications programs,
`the graphical controls are not visible screen entities that the
`user can “drag and drop” or “cut and paste” into other areas
`of the screen, into other windows, or on top of one another.
`Instead, the placement, position and execution of each of the
`graphical controls is predefined by the specially designed
`CD Remote program for the CD player.
`In contrast to the Macintosh CD player, non-computer
`system devices are normally not used alone. Instead, non-
`computer system devices are used in combination with other
`non-computer system devices. For example, a stereo system
`often comprises at least a CD player, an equalizer and an
`amplifier, each of which may be made by the same or a
`different manufacturer. In order to use a personal computer
`to operate an entire stereo system using the approach
`employed by the CD Remote program referred to above,
`each stereo system device would be necessarily be hard-
`wired to the personal computer and a specially designed
`program comprising specific sets of code would be neces-
`sary for controlling each device, each feature control, and
`each feature display on each device, and for controlling the
`relationships between the devices and the feature controls
`and displays. In addition, the code would have to be spe-
`cially designed for each manufacturer’s device. Evenif the
`devices were connected to the personal computer via a
`network as opposedto directly hardwired, specialized code
`would still be required to control each device because, prior
`to the present invention, a graphic user interface employing
`an object-oriented programming paradigm for controlling
`stereo devices produced by varying manufacturers did not
`exist.
`
`35
`
`40
`
`45
`
`50
`
`35
`
`60
`
`65
`
`

`

`5,657,221
`
`3
`Accordingly, there is a needfor a graphical control system
`for controlling non-computer system devices and the rela-
`tionships between those devices. In order to eliminate the
`need for specially designed code for each device, such a
`graphical control system should employ a common para-
`digm for representing the non-computer system devices to
`be controlled. In addition,
`the graphical control system
`should provide for dynamic visual device controls that
`represent each feature control of a device and allow a user
`to graphically control and monitor each device without
`having any specific knowledge about the device and without
`making any physical contact with the device. The present
`invention is directed to providing such a graphical control
`system.
`
`SUMMARY OF THE INVENTION
`
`15
`
`In accordance with this invention, a graphical control
`system for controlling non-computer system devices is pro-
`vided. Non-computer system devices are devices that can be
`electronically controlled such as musical amplifiers and
`equalizers, television sets, VCRs, video cameras, etc. Vir-
`tually any electronic device equipped with the necessary
`hardware to be either directly or indirectly controlled by a
`computer,
`including a simple on/off switch, can form a
`non-computer system device. The graphical control system
`includes a computer, an interface(s) for a non-computer
`system device(s) having at
`least one feature control, a
`coupling medium for coupling the computerto the interface
`(s) and a visual network operating system (VNOS). The
`coupling medium can be a bus network or simply a point-
`to-point connection between a computer and a single non-
`computer system device. Various typed of bus networks can
`be used including fiber optics, co-axial cable and twisted
`wire pair. The coupling medium could also include a radio
`frequency coupling medium, such as a radio frequency
`coupling network. The interface(s) connects the non-
`computer system device(s) to the bus network and provides
`the mechanism for converting computer-generated com-
`mands into signals for controlling the operation of the
`non-computer system devices.
`The visual network operating system (VNOS) is a dis-
`tributed operating system that is partially stored in a com-
`puter and partially stored in the interface(s). The major
`portion is stored in the computer. The computer portion
`causes the computer to generate or create graphical controls
`that represent the type of feature controls normally associ-
`ated with the non-computer system devices connected to the
`network. For example, in the case of a musical amplifier,
`such controls may include an on/off switch, an input meter
`and a volumecontrol. An equalizer would include boost and
`cut controls for frequency bands. The graphical controls are
`operated by a conventional graphical control device, such as
`a mouse, track ball, touch screen, joystick, etc. As the
`graphical controls are operated, the computer sends mes-
`sages to the interface(s), which cause the non-computer
`system devices to respond in the same way the devices
`would have responded to the manual or electrical operation
`of the equivalent feature controls.
`In accordance with other aspects of this invention, the
`visual network operating system (VNOS)is based on an
`object-oriented programming paradigm in which objects are
`interoperable and are organized into classes in a hierarchical
`fashion.
`
`In accordance with further aspects of this invention, five
`different types of objects are employed by the invention.
`They are: window objects; visual reference objects; value
`
`60
`
`4
`control element (VCE) objects; device objects; and packet
`objects. Window objects contain the data and methods
`necessary for displaying a window on the screen of the
`computer display. Visual reference objects contain the meth-
`ods and data necessary for displaying and associating icons
`and visual device controls (VDCs) with a window object. A
`VCE object contains a value represented by the VDC and
`controlled by setting the VDC, and methods for manipulat-
`ing the value. A device object contains the methods and data
`for communicating with particular types of non-computer
`system devices and for managing a graphical representation
`of a non-computer system device. Packet objects contain the
`methods and data for communicating data between the
`computer and non-computer system devices via the network.
`In accordance with yet other aspects of this invention, the
`window, visual reference, VCE, device, and packet objects
`are subdivided into lower order subclasses.
`
`As can be readily appreciated from the foregoing
`summary, the invention provides a graphical control system
`for controlling a wide variety of non-computer system
`devices. Virtually any electronic device equipped with the
`necessary hardware can be controlled. The graphical control
`system creates visual device controls that represent the
`feature controls and feature displays normally associated
`with the non-computer system devicethatis to be controlled.
`The visual device controls are operated by a conventional
`user manipulation device, such as a mouse, track ball, touch
`screen, joystick, etc. The invention eliminates the need for
`specially designed code for each non-computer system
`device by employing an object-oriented paradigm to repre-
`sent the non-computer system devices. While the invention
`is designed for use, in part, in the forward direction wherein
`the computer controls non-computer system devices, in
`some versions of the invention it is desirable for the non-
`computer system devices to be subject to manual or elec-
`trical control, monitoring, or control by another computer. In
`such cases data representing control changes are sent from
`the non-computer system devices and/or other computers to
`all other non-computer devices and personal computers on
`the network which store object data related to the control
`being changed. As a result, any associated visual device
`control is updated and monitored.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing aspects and many of the attendant advan-
`tages of this invention will become morereadily appreciated
`as the same becomes better understood by reference to the
`following detailed description, when taken in conjunction
`with the accompanying drawings, wherein:
`FIG.1 is a pictorial diagram of a preferred embodiment
`of a graphical control system formed in accordance with the
`present invention that includes a personal computer, a bus
`network and a plurality of devices controlled by a graphical
`control program incorporated in the personal computer;
`FIG. 2 is a block diagram of the personal computer,
`devices and bus network shown in FIG. 1;
`FIG. 3 is an isometric view of an amplifier;
`FIG.4 is an isometric view of a typical personal computer
`suitable for use in the graphical control system shown in
`FIG.1;
`FIG. 5 is a block diagram of several components of the
`personal computer shown in FIG. 4 that are used by the
`graphical control system of the present invention;
`FIG.6 illustrates a typical Amplifier Panel window pro-
`duced by the graphical control system shown in FIG.1;
`
`

`

`5,657,221
`
`5
`FIG..7 is a flow chart illustrating the functions provided
`by the graphical control system shown in FIG. 1,
`FIG. 8 is a graphical representation of an object imple-
`mented in the graphical control system shown in FIG. 1;
`FIG. 9A is a hierarchical diagram of an object-oriented
`programming paradigm implemented in the graphical con-
`trol system shown in FIG. 1;
`FIG.9B illustrates the methods and data provided by the
`object-oriented programming paradigm depicted in FIG. 8;
`FIG. 10illustrates the flow of messages between instances
`of objects when the graphical control system shownin FIG.
`1 first encounters a device on the network;
`FIG.11 illustrates the flow of messages between instances
`of objects when the graphical control system shownin FIG.
`1 enables a user to control a device;
`FIG.12 illustrates the flow of messages between instances
`of objects when the graphical control system shownin FIG.
`1 enables a user to create a cloned visual device control;
`FIG. 13illustrates the flow of messages between instances
`of objects when the graphical control system shown in FIG.
`1 automatically regenerates operable dimensionsof a visual
`device control;
`FIGS. 14, 15 and 16 illustrate the flow of messages
`between instances of objects when the graphical control
`system shown in FIG. 1 enables a user to control a plurality
`of devices with a single visual device control;
`FIG. 17A is a hierarchical diagram of an object-oriented
`programming paradigm implemented in a device as part of
`the graphical control system shownin FIG. 1 provided by a
`device;
`FIG. 17B illustrates the methods and data provided by the
`object-oriented programming paradigm depicted in FIG.
`17A; and
`FIG. 18illustrates the flow of messages between instances
`of objects when the graphical control system shownin FIG.
`1 effectuates a device control.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`As will be better understood from the following
`description, the present invention is directed to a graphical
`control system for controlling non-computer system devices,
`wherein virtually any electronically controllable device
`equipped with the necessary interface hardware can be
`controlled. While the following description explains the
`invention in connection with musical system components,
`such as amplifiers and equalizers, it is to be understood that
`the invention can be used with other non-computer system
`devices, including a simple on/off switch for controlling a
`lamp. In addition, the invention easily accommodates non-
`computer system devices produced by various manufactur-
`ers. The invention employs a personal computer, a network,
`interfaces for connecting the computer and the non-
`computer system devices to the network, and a visual
`network operating system. While the preferred network is a
`bus network, such as a fiber optic bus, other types of
`networks, including non-wired networks can be employed in
`actual embodiments of the invention. Further, the network
`can simply be a point-to-point connection for connecting a
`computer to the interface of a single non-computer system
`device. The visual network operating system, which controls
`the operation of the computer and the interface is based on
`an object-oriented programming paradigm. In orderto better
`understand the preferred embodiment of the invention
`described below, certain aspects of object-oriented program-
`
`5
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`6
`ming paradigms that are relevant to the following discussion
`are first described.
`
`The fundamental aspects of object-oriented programming
`paradigms are that objects can be organized into classes in
`a hierarchical fashion and that objects are interoperable.
`Classes are abstract generic descriptions of objects and their
`behaviors. A class defines a certain category or grouping of
`methods and data within an object. Methods comprise,
`procedures or code that operate upon data. Methods as
`applied to data define the behavior of the object. Refinement
`of the methods of the class is achieved by the creation of
`“sub-classes.” In other words, a class can be thoughtof as a
`genus, and its subclass as the species. Subclasses allow the
`introduction of a new class into the class hierarchy, and
`inherit the behaviors of its superclass while adding new
`behaviors to the subclass.
`
`An instance of a class is a specific individual entity,
`something concrete having observable behavior. An instance
`is a specific object with the behaviors defined by its class.
`Instances are created and deleted dynamically in an object-
`oriented programming paradigm. The class, however, is the
`broad, yet abstract, concept under which the instance
`belongs. The instance inherits all the methods ofits class,
`but has particular individual values associated with it that
`are unique. There is only one location in the memory of a
`computer for the class. There may, however, be numerous
`instances of the class, each of which has different values and
`different physical locations in memory.
`FIG. 1 illustrates a bus network 28 interconnecting a
`personal computer 20 and a plurality of non-computer
`system devices 21. The graphical control system of the
`present invention employing the object-oriented program-
`ming paradigm as described above allows a user to use the
`personal computer 20 to control the operation of the non-
`computer system devices 21 via bus network 28. For ease of
`illustration only three non-computer system devices 21 are
`shown in FIG. 1. Theillustrated devices are a two-channel
`amplifier 22, a tuner 24 and a graphic equalizer 26. As will
`be appreciated by those of ordinary skill in the art from the
`following description, additional non-computer system
`devices can be connected to and controlled by personal
`computer 20 via the bus network 28, if equipped with the
`necessary interface hardware. Non-computer system devices
`may include video cameras, speakers,
`television sets,
`telephones, lamps, etc. Even simple light switches can form
`non-computer system devices. For illustrative purposes
`only, the devices shown in FIG. 1 are depicted as audio
`sound system devices, i.e., amplifiers, equalizers, tuners, etc.
`In addition, those of ordinary skill in the art will recognize
`that additional personal computers equipped with the nec-
`essary hardware interfaces may be connected to bus network
`28 and simultaneously used to the control non-computer
`system devices 21. In fact, any computer system including
`but not limited to portable computers, powerbooks, personal
`device assistants that is equipped with the necessary hard-
`ware interface to be connected to bus network 28 or any
`other coupling medium may be used control
`the non-
`computer system devices 21.
`
`Inter-Device Communication
`
`As shown in FIG. 2, the personal computer 20 is con-
`nected to the network 28 by way of an RS232 interface 42
`and a bridge 45. Standard personal computers typically
`include an RS232 card 43 and an RS232 cable 44 for
`communicating with external devices such as printers.
`RS232 is an interface standard that specifies signal voltage
`
`

`

`5,657,221
`
`7
`levels, etc. RS232 is also a byte-level communication pro-
`tocol that specifies start bits, stop bits, etc. for sending bytes
`of data. Generally, a higher level communication protocolis
`used on top of the RS232 byte-level communication
`protocol, i.e., the personal computer 20 includes software
`defining a point-to-point communication protocol that is
`used on top of the R$232 byte-level protocol. The bridge 45
`provides the interface between the RS232 cables 38 and the
`bus network 28, on which a network communication pro-
`tocol is used.
`
`Also depicted in FIG. 2 are the same non-computer
`system devices 21 shown in FIG. 1. Each non-computer
`system device 21 includes an interface 35 comprising an I/O
`board 47 and a processor board 46 which allow the devices
`to be directly connected to the network 28. The 1/O board 47
`is specifically constructed for use with the bus network
`configuration and a particular type of transmission medium,
`whereas the processor board 46 can be used with different
`communication configurations and transmission media.
`The processor board 46 of interface 35 controls the
`communication of the devices 21 over the bus network 28.
`The processor board 46 includes a processor 41, an elec-
`tronically erasable and programmable read-only memory
`(EEPROM)58, and a random access memory (RAM)59.
`Oneof ordinary skill in the art will recognize that interface
`35 includes many more components than those shown in
`FIG. 2. Such other components are not described because
`they are conventional, and an understanding of them is not
`believed to be necessary to an understanding of the present
`invention.
`
`When a non-computer system device 21 sends data, a
`command, or program code (collectively referred to herein
`as data), the processor board 46ofinterface 35 housedin the
`device constructs a packet of data representing the relevant
`information. The processor board 46 determines the time at
`which the bus network 28 is available for sending the packet.
`The processor board 46 sends the packetto the I/O board 47
`at the appropriate time, and upon receipt of the packet, the
`TV/O board transmits the packet via the bus network 28 to
`personal computer 20. When a non-computer system device
`21 receives data from a data source, such as the personal
`computer 20, the /O board 47 receives the packet over the
`bus network 28, and sends the packet to the processor board
`46. Upon receipt of the packet, the processor board 46 of
`interface 35 processes the packet and performs any appro-
`priate function, possibly including sending a response
`packet back to the personal computer 20.
`Typically, non-computer system devices come equipped
`with a variety of internal and external feature controls 29a
`and feature displays 29b that are used to control and monitor
`the operation of such devices, including but not limited to
`volume controls, channel selectors, power switches, input
`and output meters, etc. (in FIG. 1, internal controls and
`displays are represented by phantom lines, while external
`controls and displays are represented by solid lines). The
`processor boards 46 in the non-computer system devices 21
`are further connected to these controls and displays to either
`control the devices directly or to control the devices in
`conjunction with other processors or controllers within the
`devices based upon packets received over the bus network
`28.
`The bus network 28 shown in FIGS. 1 and 2 can be
`formed of various coupling media such as glass or plastic
`fiber optic cables, coaxial cables, twisted wire pair cables,
`ribbon cables, etc. In the professional audio industry it is
`generally preferable to use fiber optic cables, as fiber optic
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`cables are highly immune to electromagnetic interference
`and are capable of carrying signals over long distances
`without significant attenuation. As described herein, the bus
`network 28 represents fiber optic cables. Accordingly, the
`V/O board 47 of interface 35 shown in FIG. 2 is constructed
`for use with fiber optic cables.
`Various network communication protocols can be used to
`communicate over the bus network 28.
`In one actual
`embodimentof the present invention, the network commu-
`nication protocol used to communicate over the bus network
`28is of the type disclosed in commonly assigned U.S. Pat.
`No. 5,245,604, entitled “Communication System,” the dis-
`closure and drawings of which are specifically incorporated
`herein by reference. The network communication protocol
`described by U.S. Pat. No. 5,245,604 is referred to herein as
`the MediaLink protocol. The advantage of the MediaLink
`protocolis that it provides an upper limit on the amount of
`time it takes to communicate over the bus network 28. This
`is important in real-time environments such as a musical
`performance stage, where unpredictable delay would result
`in unacceptable distortion. As all network communication
`protocols must, the MediaLink protocol includes a network
`resource sharing and managementalgorithm such that only
`one device communicates over the bus network 28 at any
`one given time and such that each device has sufficient
`access to the bus network 28. While the MediaLink protocol
`and the bus network are presently preferred, it is

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket