`
`PATENT NUMBER
`
`._
`
`PATENTDATE
`
`APR 10 ZIIIII
`
`§ é a 3 g 3
`
`2
`
`(“$830
`
`SUBCLASS I/7
`
`EXAMINER
`
`4’
`Hit!
`FILED WITH: [:l DISK (can I] FICHE
`(An-chad In 90cm on mum II”)
`
`‘PREPARED AND APPROVED FOR ISSUE
`
`
`
`_RIGINAL—-
`
`ISSUING CLASSIFICATION
`
`cnoss nereneucas)
`
`
`
`
` .T RMINAL
`D CLAIMER
`
`DRAWINGS
`
`CLAIMS ALLOWED
`
`
`.: IIIII-_lr‘——__—
`
`
`
` . 'l'.'-—l- D Continued on Issue SIIp Inslde File Jackal
`I
`'
`,
`V
`
`
`
`are) The term of Ibis patent
`quehl to _____._(daIe)
`
`boon‘dlsmalmed
`
`
`
`
`,.
`/ 02%
`
`
`I DIc) The IeImInaI
`months 0!
`
`INS patent have bun dlsdalmod.
`
`
`WARNING:
`
`
`, ThIIInIomtIon disclosed Main may be mm Unmthorlm measure may be pmhbled by he 0mm swan Code TllIe 35. Sodium 1a. 181 and 3687
`' Poueulon oumdo Ina us. PM I Tmn: OM09 III resumed to unbound why”: and contractors any.
`
`Sheets70Mg
`
`Figs Drwg.
`
`Print/.FI9
`
`_
`
`(land mm Enmlnlr)
`
`Print (/Elaim forO.G
`Total Claims
`NOTICE_F_LLOWANCEMAILED
`‘
`
`ISSUE BATCH NUMBER
`
`
`
`
`
`.
`
`
`
`-....__...._-b_._..-..«.m.-.
`
`.
`
`
`
`37H NI 513:: :1! I33:
`W‘MSEIIIIEII meet...
`
`fl,—
`
`IFACP)
`
`LGE Exhibit—1002/Page 1 of 176
`LGE v. Uniloc
`
`
`
`
`CONTENTS
`
`-
`
`Date neceued
`
`’1 '
`
`18049937
`
`INITIALS ,
`
`Date received
`
`.
`
`(Incl. c. of M.)
`or
`Date Melted
`
`‘4"
`
`,
`
`
`
`
`(Incl. c. of M.)
`or
`Date Mailed
`
`
`170:.
`~ 192'?
`
`.
`
`
`
`4s.
`
`I:1. Ap ”cation m papers.
`I i11; S I
`III;
`‘
`I / '
`fg’ 1141413.: I
`
`{ti-“:1.A44"
`
`.
`
`_
`
`,.
`
`I
`
`I,
`
`
`
`82.
`
`*"
`
`(LEFT OUTSIDE)
`
`LGE Exhibit-IOOZ/Page 2 of 176
`
`
`
`‘
`
`ISSUE SLIP STAPLE AREA (for additional cross mafia?
`
`EEEEEEEEIIIIIIIIIIIIIIIIIIflIIIIIII
`
`
`
`
`
`0’
`
`................................. Rejected
`........... Allowed
`
`INDEX OF CLAIMS
`...................
`.................
`
`' N
`‘:
`I
`A ...................
`0 ...................
`
`.............. Non~elected
`.............. Interference
`.............. Appeal
`.............. Oblected
`
`........... Restricted
`
`
`EMIIIIIIIIIVY-IIIIEIIIIIIIIEEEEIIII
`
`
`EEEEEEEEIIlwflIIIIiMHEEIIIIIEHHFIIII
`
`
`
`-_fifi?€d§fifi$eml).. Canceled
`
`
`“GEMIIIIEIIIII
`
`
`EEIIIIIIIIII
`
`
`
`
`IEIIIIIIIIIII
`IE‘BIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIIII
`IEIIIIIIIIII
`IEEIIIIIIIIII
`IEflIIIIIIIIII
`IWIIIIIIIIII
`IBIIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIIII
`IEBIIIIIIIIII
`IE‘JIIIIIIIIII
`IEIIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IIIIIIIIIIII
`IEIIIIIIIIII
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IIIIIIIII
`IEIIIIIII
`
`flIIE
`
`IIIIIII
`IIIIIII
`IIIIIII
`IEEIIIIII
`IEEIIIIII
`IEIIIIIIII
`IEEIIIIII
`
`
` IIIIBEBEIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`IIIIIIIIIII=
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`i‘;
`‘ SCHEME-III..-
`
`-' IlfllIIIIIIIIIIII
`
`
`mmflmfllflllill
`
`
`flmflfllIIlllll
`‘ Elilllll IIIIIIII
`
`
`'IITIIIIIIIIIIIIII “
`
`
`ImnnuIIIIIII
`mnIIIIIIIIIIIII
`
`
`III:IIIIIIIIIIIII
`umunnlIIIIII
`.mmnunlIII-II
`
`
`mmuunlllulll
`alwuflfllllllll
`:flmflflflllIIIII
`mwnnmIIIIIII
`
`
`gmwnumIIIIIII
`’Zgflflulllllll
`
`
`..a:=IIIIIII
`
`
`mwuuslllllll
`.HEMHEIIIIIII
`
`
`Immune-III..-
`maul-III...-
`
`
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`
`.IEIIIIIIIIII
`
`IEIIIIIIIIII
`IEIIIIIIIIII
`lmllllllllll
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘ IIIIIIII
`
`IE‘JIIIIIII
`
`IEIIIIIIII
`
`IEIIIIIIIIII
`
`
`IIIIIIIIIIIIII
`
`
`IIEIIIIIIIIII
`IEIIIIIIIIII
`IIIIIIIIIIIIII
`
`
`
`
`
`
`
`IIIIIII IIIII I
`
`
`
` EII IIIIIII I
`
`If more than .150 claims or to actions
`
`staple additional sheet here
`
`(LEE—T INSME)
`
`LGE Exhibit-IOOZ/Page 3 of 176
`
`
`
`
`
`
`IEIIIIIHMIIIII
`EIIIIIIIIIIII
`
`
`
`
`
`
`
`
`IEIIIIIIIIII
`IIIEIIIIIIIIII
`IIEIIIIIIIIII
`IBI-I-I-IIII
`
`IEIIIIIIIIII
`
`IIEEIIIIIIIIII
`
`IWIIIIIIIIII
`IIEIIIIIIIIIII
`
`IEIIIIIIIIII
`
`IIIEIIIIIIIIII
`
`IIIIIIIIIIII
`
`IEEIIIIIIIIII
`
`IIIEIIIIIIIIII '
`
`IEIIIIIIIIII
`
`IIIEIIIIIIIIII
`
`IIIEIIIIIIIIII
`
`IIIIIIIIIIII
`
`IIIE'IIIIIIIIII
`
`IIIEIIIIIIIIII
`
`IEIIIIIIIIII
`
`IIEJIIIIIIIIII
`IIIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`IEIIIIIIIIII
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IIIIIIII.fiflfiflfifififiIIIIIIII
`
`
`
`
`
`
`(mew OUTSIDE)
`
`LGE Exhibit-IOOZ/Page 4 of 176
`
`
`
`(13) United States Patent
`US 6,216,158 B1
`(10) Patent No.:
`Lun ct al.
`
`(45) Date of Patent: Apr. 10, 2001
`
`USUOOB t () 1 58m
`
`SYSTEM AND METHOD USING A PALM
`SIZED COMPUTER TO CONTROL
`NETWORK DEVICES
`
`(75)
`
`(73)
`
`lnwnturs: Wenjun Luo. Fremont; Elaine P.
`Lusher, Piuasztulon. bulb of CA (US)
`
`Assigncc: SCOM Corporation. Santa Clara. CA
`(US)
`
`Notice:
`
`Subject m any disclaimer, the term ol‘this
`pattnt is cxlendcd or adjusted under 35
`U.S.C. 154th) by 0 days.
`
`Appl. No.2 09/237,609
`
`Filed:
`
`Jan. 25, 1999
`
`tm. Cl.’ ................................... GOGF 13/00
`
`
`l. 709/217; 709/219; 709,235;
`v.5. CI.
`709/313; 709/329
`.
`Flt-Id of Search t.
`7095202. 203,
`.
`.
`709/217. 2
`_
`. -25‘ 230‘ 250. 313.
`319, 328. 329
`
`(56)
`
`References C lied
`
`US. l’A‘I‘EN'l‘ DOCUMENTS
`
`tltr'lwn \Nauld al.
`5,504.07“ "
`8.1008 Firkicl
`5.79“!)77 '
`5,832.5!th ' MENUS Kuztna
`5.9.“).545 " WWW l‘rese ll el .21,
`
`........ 4551‘5! W
`
`.l 702."! 22
`.. 707,100
`WHIZUS
`
`7:]‘100 Johnson ct ul.
`5.03.1885 ’
`5.004.830 ‘ 10:1‘1‘10 Row: el al.
`.....
`5.073.0'Jb ' 10/1091! Agranal ct al.
`OTHER PUBLICATIONS
`
`
`
`
`3‘J5’7’l.’
`709/23
`345857
`
`[tr/Emmllimr
`11151171118 for PE'I’Sullll/iit‘ll
`Mfr Dimming.
`Errtimnnwnt 1994 "'l'nwards Fumrc Personalised informa-
`tion Environmcnm" 7l’c/micnl Repnrl EPC—IU‘M—HM.
`Dec. 21. 1993.
`McCandlcss. Micliucl, “'lltc PulmPiolt and the l-ltmdltlcd
`Revolution”, IEEE prert. NovfiDcc. [997. pp. (1—34.
`
`‘ cited by examiner
`
`1 ’I‘immfit' Llrrlminur—Vict D. Vu
`(74) Allomqy. Agent. or I inn—Marl; A. Hayncs: Haynes 6‘;
`Belle] LLP
`
`(57)
`
`ABSTRACT
`
`Controlling network services using palm six/:d computers is
`described. A program on th: palm sized computcr is used to
`.iccus's. a registry of network scrvicus thul may be available
`The registry include-s descriptions for various scrvtces. [inch
`dowription includes at least a rclktrcncc to program code that
`can be downloaded to the palm sized computer. Executing
`this program causes the palm sized computer
`to issue
`commands directly to the specific llchUIk serviccs needed.
`In some cast-s. these nctwork services includ: application
`serviccs for running, desktop applications that the palm sized
`computer could not execute
`
`20 Claims. 7 Drawing Sheets
`
` mA3
`
`I
`
`. Download
`
`Applicafiun Service
`
`120
`
`
`
`140 Display Sewice
`
`LGE Exhibit-IOOZ/Page 5 of 176
`
`
`
`US. Patent
`
`Apr.10.2|l01
`
`Sheet 1 or 7
`
`US 6,216,158 B1
`
`Application Service
`
`m/
`
`\3. Download
`
`FoocPololCcrtrc' I
`
`
`
`140 Display Service
`
`FIG. 1
`
`LGE Exhibit-1002/Page 6 of 176
`
`
`
`US. Patent
`
`Apr. 10,2001
`
`Sheet 2 of 7
`
`US 6,216,158 Bl
`
`52%Egg8sta?”a
`
`
`
`5:232.2382mm8“
`
`222,.Es:Es8??8%”am
`
`32“:5%9252.283%
`
`sagasfi
`
`835m
`
`3830
`
`”BE3ages
`
`a
`
`$982223
`
`Esséméfi
`
`E._88_§=o_§§§__wH
`
`gnogéasa
`
`5%Egg8%358a“
`
`523%$8an
`
`5:52_§E3.55555%%
`
`
`
`32%ESE$3232a.
`
`egazmlm
`
`/_¢a.w\
`/as°§88§\
`32:3323:8
`
`i.,,
`
`8EcwSass
`
`
`
`EmmaEamz8N\E;5%?/
`
`.333.:ng
`
`/
`
`8st6:55am
`
`
`
`
`
`sea:messages8%:82%Na
`
`
`
`
`
`53.;2252358“.5562Na
`
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Apr. 10, 2001
`
`Sheet 3 of 7
`
`US 6,216,158 81
`
`5%3.6%85385%E
`
`553252582%fl
`
`
`
`2%:_§§n_23Egg;am
`
`
`
`22%Bus;225%:8:.”ma
`
`ssam
`
`£8.30
`
`”8202920358”533555823%/385:562_=__,\
`/§§§§§\
`
`
`
`
`
`358E523
`
`33%;”me
`
`gmsogammcsscaemwgaS
`
`EsanmaES
`
`523583
`
`5352ESEsEgg;3
`
`22%ESE$535fl
`
`2:532as;922%
`
`83mE502SN
`
`83%.2353
`
`\Egsogegf
`
` .\_8§>235
`ELSE—=88%gm;:2
`
`
`
`5%.:2255358$58858H
`
`ESE€525E252NN
`
`md.”—
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Apr. 10, 2001
`
`Sheet 4 0f 7
`
`US 6,216,158 B1
`
`
`
`
`11o Control A
`pplication
`
`
`
` Middleware Protocol layer
`lPowerPointControlProtocolManager
`
`
`
`PowerPoint Control
`CPowerPoint
`
`
`
`
`
`
`
`
`Middleware Protocol Layer I
`—
`
`
`
`
`
`
`
`
`m Projector Service
`
`
`
`
`
`Projector control front end
`
`m Storage Service
`I Middleware Protocol Layer
`
`_ L
`
`DAP front end
`
`Backend LDAP Database
`Cldapr
`
`Projector Control
`CProjector
`
`FIG. 4
`
`LGE Exhibit-1002/Page 9 of 176
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 5 or 7
`
`US 6,216,158 B1
`
`Object Class Hierarchy
`
`
`
`CPowerPoint
`
`
`
`
`
`
`
`
`----------
`
`FIG. 5
`
`LGE Exhibit-IOOZ/Page 10 of 176
`
`
`
`US. Patent
`
`Apr. 10. 2001
`
`Sheet 6 of 7
`
`US 6,216,158 B1
`
`Object Class Hierarchy for Network Services
`
`Network Service
`
`Application
`Service
`
`Operating System
`Service
`
`Storage
`Service
`
`Projection
`Service
`
`Service Location
`Service
`
`Slide Presentation
`Service
`
`Speech Recognition
`Service
`
`Groupware
`Service
`
`Service
`
`Object Instance
`
`Object Class
`
`FIG. 6
`
`LGE Exhibit-1002/Page 11 of 176
`
`
`
`US. Patent
`
`Apr.10,2001
`
`Sheet 7 of 7
`
`US 6,216,158 B1
`
`Object Class Hierarchy for Application Services
`
`Application
`Service
`
`Slide Presentation
`Service
`
`Speech Recognition
`Service
`
`Groupware
`Service
`
`Service
`
`Naturally
`Speaking
`
`Altthsta
`Forum
`
`Lotus
`Notes
`
`Eudora
`
`Microsoft
`
`Netscape
`
`Object Instance
`
`Object Class
`
`FIG. 7
`
`LGE Exhibit-1002/Page 12 of 176
`
`
`
`US 6,216,158 131
`
`1
`SYSTEM AND METHOD USING A PALM
`SIZED COMPUTER T0 CONTROL
`NETWORK DEVICES
`
`BACKGROUND OF THE. INVENTION
`I. Field of the Invention
`
`5
`
`.l I)
`
`15
`
`'lhis invention relates to the lield of networked computer.
`In particular. the invention relates to a system and method to
`control network devices using a palm sized. or otherwise
`reduced functionality. computer.
`2. Description of the Related Art
`Palm sized computers, also referred to as Personal Digital
`Assistants (PDAs), are portable devices which perfomt an
`array of personal management tasIS such as calendar man-
`agement and address book storage. The adoption of palm
`sized computers has been rapid. Some palm sized computers
`are able to interface with conventional computing devices.
`such as PCs, on an as-needed basis. For example, palm sized
`computers such as SC'orn’s Palm PlatformTM computers can .
`upload personal appointments to a PC-based calendar.
`Palm sized computers generally have the following char-
`acteristics. Relative to desktop and laptop computers. palm
`sized computers have limited processing, display and input
`capabilities. As a result of these limitations, palnt sired
`computers do not run the same applicatiom as desktop or
`laptop computers. Other limitations of palm sized computers
`include limited battery life and lower bandwidth communi-
`cations with other devices.
`
`3')
`
`35
`
`4“
`
`50
`
`One big advantage of palm sized computers is their
`portability. Therefore,
`it
`is desirable to be able to access
`desktop functionality from palm sized computers.
`
`SUMMARY OF THE INVENTION
`
`Controlling network services using palm si2ed computers
`is described. A program on the palm sized computer is used
`to access a registry of network services that may be avail-
`able. The registry includes descriptions for various services
`Each description includes at least a reference to program
`code that can be downloaded to the palm sized computer.
`Executing this program causes the palm sized computer to
`issue commands directly to the specific network services
`needed.
`In some cases.
`these network services include
`application serviaas for running desktop applications that the
`palm sized computer could not execute.
`In some embodiments. the device executing the network
`services and the palm sized computer are cchutng middle—
`ware applications for communicating with the registry. In
`some embodiments. this middleware includes Jini technol-
`ogy from Sun Microsystems. Additionally.
`the programs
`downloaded can include Java program code.
`BRIEF DESCRIPTION OF THE FIGURES
`
`J.u.
`FIG. 1 illustrates a system having a palm sized computer -
`controlling operations of various network devices.
`FIG. 2 illustrates a software architecture for use in the
`system of FIG. 1.
`FIG. 3 illustrates an example architecture for controlling
`a PowerPoint presentation.
`FIG. 4 illustrates a detailed software architecture for the
`example of FIG. 3.
`FIG. 5 illustrates a class hierarchy that am In: used in the
`example of FIG. 3.
`FIG. 6 illustrates an example class hierarchy for network
`services that can be provided in the system of FIG. I.
`
`60
`
`2
`FIG. 7 illustrates an example class hierarchy for applica»
`tion services that can be provided in the system of FIG. 1.
`
`DETAILED DESCRIPTION
`A. System (lverview
`A palm sized computer can serve as a network portal to
`usher in a new generation of mobile computing. Palm sized
`computers are the ideal nem generation computing device in
`that they are inherently mobile and have the lightweight
`form factor necessary for mobile computing. The fundamen»
`tal obstacle to palm sized computers as the next generation
`computing device can be removed by viewing the network
`as an extension of the palm sized computer’s resources.
`Functions can be downloaded into the device as needed. and
`overlaid after they have been used. This allows the palm
`sizod computer to adapt to a changing environment (as the
`mobile user '5 location changes) and to access exactly the set
`of services it needs. These services are stored on the network
`and can be used at will. Many of these services may never
`reside on the device and are more suitable for execution by
`a conventional computer. However, they an: accessible and
`can be controlled via a lightweight computing device. such
`as a palm sized computer.
`B. Building Blocks of Network-Enabled Palm Sized Com—
`puters
`'l'he building blocks for lightweight mobile computing
`include a palm sized computer, a computc/‘memory,-‘storage-
`intensive devicds). and a network.
`Middlewarc allows palm sized computers to discover
`network-based computing resources. Once discovered, this
`middleware provides a mechanism for the palm sized com
`puter to use these resources. This middlcwarc typically
`includes a directory of resources (or services). a protocol for
`storing and retrieving front the directory. and mechanisms to
`transfer software from the directory to a palm sized corn~
`putct'.
`Control applications reside on a lightweight computing
`device. such as a palm sized computer. but manipulate
`computing services on the network. Control applications
`assume the use of middleware. such as Sun Microsystems
`lini, for access to network-based resources. (Note in some
`embodiments, the control application is distributed betwuen
`the palm sized computer and a control proxy server.)
`Example Registry and Control Infrastructure: Jini
`Jim?“ is a technology developed by Sun Microsystems
`which addresses the problem of computing and network
`complexity. It eases the burden of accessing services by
`providing seamless access and automatic registration of
`network resources. Jini accomplishes this by adopting a
`model in which devices announce their presence and capa-
`bilities to the network. and access the same type of infor-
`mation in order to locate ServiCes they wish to use.
`The Jini approach relies on Java and a Jini “registry" (Le.
`database of services) as the underlying infrastructure. Each
`device is expected to run a Java Virtual Machine (JVM), or
`rely on a Jini proxy which runs a JVM on the device's
`behalf. Key to Java is the idea that software (as Well as data)
`can be dynamically downloaded to a device. The Java model
`assumes a distributed, network-centric model in which the
`behavior of a device can be dynamically altered to accom-
`modate changing conditions
`Jini eases network connectivity problems. Jlni acts as
`mrddlcwarc to access network resources. as it lets devices
`locate services and download software for those services.
`Other middleware could be substituted for Jim if it provides
`discovery and software download for network-based scr-
`VICCS.
`
`LGE Exhibit—1002/Page 13 of 176
`
`
`
`US 6,216,158 B]
`
`3
`
`(7. Definitions
`Acontrot device is a device which runsJini (or some other
`discovery and software download technology) and is
`capable of accessing a wide range of network-centric
`services. including services which are incapable of running
`on the control device. The control device is the access device
`for a wide class of computing services otherwise inacces-
`sible to devices with restricted computing power. 3Com‘s
`palm sized computer. the Palm Computing platform, is an
`example of such a control device. Windows Cl: compatible
`devices may also be used,
`A control application is as an application that relies on
`resources located all" of the control device (cg. on a
`network), but uses a control device to initiate and control the
`application. The resources are accessed and controlled. but
`not
`resident, on the control device. Examples of such
`compute/'memory-inlensive services include PowerPoint
`slide presentations and speech recognition systems. These
`services can be both invoked and controlled vin a control
`device.
`Network-based services can be used by any control
`device. Services oflcr a discrete task to the control device.
`This contrasts with a traditional model
`in which devices,
`such as a PP, house the entirety of resources a control device
`might utilize. Services are tine-grained and represent
`a
`distributed set of capabilities residing on a network. Services
`may or may not be co-located with other services on the
`same physical device. Services are offered (via a network
`and a Directory of Services, such as the Jim Lookup) in as
`small a unit as is justifiable giVen the application tasks users
`will typically want to accomplish. Fine-grained services can
`be used by a variety of consumers who need precisely that
`function. The model that emerges is a network-based model
`that offers a wide range of narrowly-defined computing
`services of interest to a wide range of applications, Services
`will be physically distributed across devices but accessible
`via a central repository (cg. database) of services. This
`model of distn'buted computing is inherently scalable in that
`the set of services offered via the network grows seamlessly
`as devices “plug in" and announce their capabilities.
`D. An Example of the Control Application
`To help illustrate the use of a control device and a control
`application, a PowerPoint slide presentation control
`is
`discribed herein. (F10. 1 illustrates a generalized view of
`such an example.) In this example, a palm sized computer
`100 accesses network 110 resources (via a Directory of
`Services. such as the lookup service 120) to locate the
`elements it requires to remotely control a presentation
`located on the network. The ptdm sized computer 100 uses
`three services to function as a control device to display a
`PowerPoint presentation:
`an application service 130 (to run PowerPoint)
`a persistent storage service ISO (to store the presentation)
`a display service 140 (to display the presentation images)
`Each of these services will have registered with the
`lookup service 100. A service in this example. is tied to
`ditl'erent hardware devices. However, this is not required.
`Storage, processing, and/or display could be supported by
`one or more computer systems.
`None of these services are resident on tho; palm sized
`computer 100. Once the palm sized computer 100 has
`located the necessary services,
`it downloads the code
`required to control
`those services (using the lookup and
`download protocols). Middleware, such as Sun's Java/Jim
`technology, is used to move the code,
`The palm sized computer 100 is then capable ofdireclly
`controlling the services it requires.
`
`I."
`
`ll)
`
`15
`
`t".
`
`3')
`
`40
`
`50
`
`60
`
`4
`In this example. all the devices can communicate on the
`network 110. however. they need not all be connected to the
`network in the same way.
`Functionally. the devices play the following roles:
`palm sized computer 100: the remote control device
`application services: a set of resourws and services, such
`as compute power and applications
`network [10:
`the physical medium which connects
`devices and services
`
`lockup service 120'. a database of network services
`E. Architecture
`As noted above, the palm sized computer 100 functions as
`the remote control device for the PowerPoint presentation. It
`is a mum-function control device in that it can control a host
`of resources accessible via the network. The palm sized
`computer 100 accomplishes this via middle-ware (cg. .lini)
`and a generic control protocol capable ol
`issuing control
`commands to an otl'bonrd resource. The palm sized corn-
`puter 100 implements this control via the software compo-
`nents depicted in FIG. 2. These software components rcp-
`rcscnt a generic architecture (or control of any network—
`based resource using a reduced functionality computer such
`as at palm sized computer. The software architecture,
`middlewarc. and control protocol implement a new model
`for lightweight mobile computing. This model of light—
`weight mobile computing is particularly wellvservcd by
`devices such as a palm sized computer, as they possess the
`requisite size and portability.
`In FIG. 2, the control device 200 is able to control services
`on the netwurk 1l0. such as the mount: based service 250.
`The directory of services 220 provides the registry functions
`used to enable the system.
`The control device 200 includes a control device operat-
`ing system 201 which supports a network communications
`program 202 and a control application 210. The network
`communications program 202 allows the control device 200
`to communicate with other devices on the network. The
`control application 210 includes the following elements:
`a GUI 212 to display the available network-based services
`and accept user input
`an application control protocol manager 214 which inter—
`faces betweun the control device 200 and the network
`based computer service 250 by requesting tasks from
`that service (tag. slide manipulation). 1his module is
`responsible for generating the application control pro-
`tocol to command the selected service,
`a middleware protocol manager 216 to transfer data
`between the control device 200 and the directory of
`services 220 (mg. communication between Palm plat—
`form aud the Jinj Lookup). This module is responsible
`for generating the syntax necessary to communicate
`based on the type of middlcware being used.
`The service device operating system 25l
`includes a
`service device communications program 152 and a service
`control application 260. The service device communications
`program 252 is resptmsihle for communicating with the
`network 110. The service control application 260 includes
`the following components:
`a service application} control protocol manager 262 that
`interfaces between the network based computer service
`250 and the control device 200 and accepts control
`tasks (cg. slide manipulation) issued from the control
`device 200. This module is capable of sending back a
`response (cg. status) to the control device 200.
`a middlcware protocol manager 266 to transfer data
`between the network based computer service 250 and
`
`LGE Exhibit—1002/Page 14 of 176
`
`
`
`US 6,216,158 B]
`
`m
`
`10
`
`15
`
`If)
`
`5
`the directory service (eg. communication between the
`application sentice 130 and the Jim lockup), 1111s
`module is responsible for generating the syntax used to
`communicate based on the type of middlcwarc being
`used.
`an applimtion 268 to perfomt functions on the network.
`The application 268 can be a desktop application that
`would not execute on a palm sized computer.
`Returning to the specific example of the PowerPoint
`presentation. FIG. 3 illustrates the architecture that could be
`used to implement such a system. In FIG. 3. the control
`device 200 has been replaced with a palm sited computer
`100 executing the Palm ()S 301. 'lhe GUI 212 is specifically
`for PowerPoint control (see FIG. 1 for no example 01‘ such
`a GUI). The Java Virtual Machine 318 is executing on the
`palm sized computer 100 and replaces the middleware 218.
`The middleware protocol manager 216 supports .lini
`discovery, lookup and download protocols. PowerPoint con-
`trol commands are isued to the network based computer
`service 250. The PowerPoint control protocol manager 364
`provides the interface for these commands and controls the
`PowerPoint application 368.
`1-. Control How
`The process for accessing and controlling network-based
`services is described below. The specific implementation
`control of a PowerPoint Service via a 3Com Palm Comput-
`ing platform is used as an example. Refer to FIG. 1.
`t. (.‘ontigure a computer hosting the directory of services
`220 and connect it to the network 110, For instance, :1 Jim
`lockup service is configured to listen at a preset TCP, or
`UDP, port {or service registration or service lockup
`requests.
`2. Establish in network connection front the network based
`computer servrce 250 to the network 110.
`3. Register the computing service with a directory of ser—
`vices 220. For example. in the Jim" model, the computing
`service initially sends out a multicast packet announcing
`its presence on the network. Once the directory service
`20 receives the packet, it sends a urticast packet back to
`the announcer. The packet includes an interface (e.g. Java
`utde) for uploading code hack to the directory service 220
`as well as for searching and downloading code from the
`directory service 220.
`4. Upload service description to the directory service 220. If
`Jim is adopted as the middlcware. the application service
`130 receives the response from the directory service 220
`and uses the included interface to upload its service
`interface to the directory service 220. When the service
`interface is called, it contacts the directory service 220
`which in turn creates an entry (represented by an object)
`for this new service and sets the proper fields such as
`service name, attributes and optionally the corresponding
`service interface. ()thcr middlewure may choose to use
`protocol-based approaches web as FTP or TFTP for the
`uploading process.
`5. Register the storage service 150 and display service 140 .
`via the same process
`0. Establish it network connection front the control device
`200 to the network 110. For Palm computers, there are
`multiple options [or network connectivity. Possible solu-
`tions include using the infrared (LR) port
`to talk to a
`lR—LAN bridge or router, using the serial port to tall; to a
`serial-to-LAN bridge or router, using either the [R or the
`serial port to talk to a digital cell phone and dial up 11
`modem Server, and/or using wireless data communica—
`tions.
`7. launch the service control graphical user interface (GUI)
`212 on the control device 200.
`
`6
`8. Via the service control (tUl 212. accept user input, such
`as the selection of an application (for example. a Power-
`Point appliCation) to be controlled.
`9. Optionally register the control device 200 with the direc-
`tory service via a registration protocol. such as the Jini
`Discovery Protocol. This step is the same as the above one
`for the other services. 1t is executed only it" the control
`device 200 has resources to offer.
`10. Search the directory service 220 and download the
`desired service descriptor.
`III
`the case of Jini, after the
`control device 200 receives the response from the direc-
`tory service 220, it uses the included interface to search
`the directory service 220 for an application service using
`the object type representing the service (such as an object
`type of PowerPoint presentation service) and the desired
`service attributes (such as the name and the physical
`location of the service). Once the directory service 220
`tinds such a service entry,
`the control device MO is
`notified, which itt turn uses the downloading interface to
`download the application service descriptor. One example
`of these services is the GUI code for controlling tt
`PowerPoint presentation.
`11. Send requests from the control device 200 to the network
`based computer service 250 to control the desired apph-
`cation. For example, a "next slide" request could he sent
`from u palm sized computer 100 to an application Service
`130 running PowerPoint. The communication can be
`based on a protocol such as the following one:
`
`Control Type
`
`Appiicution
`
`File Name
`
`tonuol Function
`
`Where:
`
`Control Type-{RequesL Reply}
`Application- (PowerPoint, FAX, Print, Email.
`Phonebook. .
`.
`.
`}
`File Nante-{3ComPalmVllSpeciticxttion}
`Control function-{ File Load. Slide Forward, Slide
`Backward, File Close, .
`.
`.
`}
`Allematively, techniques such as Java's Remote Method
`Invocation (RM1)can be used to achieve the same goal. In
`this case, the control device makes it local function call such
`as doForwardSlide( ). '11): RM] mechanism will transfer the
`call to a remote machine which implements and carries out
`the function call. The PowerPoint presentation service may
`in tttrn use other services such as the storage service 150 and
`the display service 140. The procedure to employ these
`services is similar to steps 10—” above.
`12. Accept any response to requests sent from the control
`device 200 to the network based computer server 250 and
`process any errors.
`G. Control Device GUI
`An important element of the control application 210 is a
`GUI front-end which accepts user input for controlling the
`PowerPoint presentation (or other application) and a control
`protocol manager backend which takes user input and trans
`tales it ittto commands to the CPU service. An example GUI
`is depicted in FIG. 1. The example. 6111 allows the user to
`click on "forward“, “backward", “go-to—lirst-page" or ”go-
`to-lttst-pngc“ buttons to control the slide show. The user can
`also click a “get-list" button to get a full list of the slide titles
`in the current presentation and choose to go to a particular
`slide. By clicking the “scribble" button,
`the Window
`switches to graphics mode. In this mode, the user can draw
`at random on the panel. and the result of the drawing, will he
`sent
`to the CPU service and eventually displayed on the
`projection service.
`
`3')
`
`4f)
`
`45
`
`5t)
`
`60
`
`(I5
`
`LGE Exhibit—1002/Page 15 of 176
`
`
`
`US 6,216.58 B]
`
`7
`there are
`As explained in the software flow section.
`multiple ways to implement the application control protocol
`manager 214. the following illustrates one approach. The
`protocol takes the following l‘onn:
`
`
`
`
`
`
`Propertt‘chtht-d Name
`Type
`Description
`PowerPoint
`
`5
`
`Presentation»
`
`Collection list of open presentations
`Presentation
`
`Collection Army at slides in presentation
`Storage
`location whet: presentation lmrlcll
`from
`Proieuor
`Proiector when: presentation i‘~
`viewed
`
`Slide
`
`String
`Method
`
`Method
`
`Title for the slide
`Add git rn comments to slide at
`given uwtditt‘nlur
`Add given graphitz to slide ut
`given coordinates
`Stomge
`
`Strmg
`String
`
`LDAP Server host when: the
`presentation stored
`File name and other dermis for
`presentation
`Projector
`
`Slider:
`to Lmatiort
`
`View
`
`15 Till:
`Addt 'ontntertts
`
`AddScrihole
`
`1 ‘
`
`0 Host
`I’iteNamc
`
`35 Host
`String
`Projecwr host where slides shown
`
` ShowSlIde Method Show slide image on projector
`
`
`
`3,,
`
`LDAP Database Control
`
`The LDAP database control provides tile system services
`to store and retrieve presentations. This control gets com-
`mands from the PowerPoint control
`through the LDAP
`protocol.
`to search for presentations and return preseotn
`lions.
`
`35
`
`An object class hierarchy for CLdapDB could include
`4., ('Ltlrme having to a specillc storage system reference.
`
`
`
`Stomp:
`
`
`45 Pi'opettyiMeLhud Name
`'I‘ype
`Descrithon
`FiteFittei
`Stung
`File filter used to get file list
`l’rlclist
`Collection
`List ot‘ files found on
`storage
`
`
`50
`
`55
`
`60
`
`(-5
`
`Projector Control
`
`The projector Control provides image viewing services
`and has a simple image viewer that shows the image on it
`projection screen, monitor, display device or canvas. The
`control gets commands from the PowerPoint control.
`Specifically. to display images. the projector control could
`cause frames generated by the PowerPoint control
`to be
`displayed at the device controlled by the projector control.
`Other embodiments use more sophisticated techniques for
`displaying the PowerPoint information (e.g., support wrn-
`dowing system API calls that an application may make).
`
`An object class hierarchy for CProjecIor could include
`CProjcctor having to a specific image view reference.
`
`LGE Exhibit—IOOZ/Page 16 of 176
`
`
`
`File NameAppfimtionControl Type Control function
`
`
`
`
`
`Where:
`
`('ontml ’l‘ype-{Rcormsh Reply}
`Application-{PrmerPoint, FAX, Print. Emuil.
`Phonebook, .
`.
`.
`}
`File Nunie-{3(‘omPnlmVllSpecilicntion}
`Control function --[File- Load. Slide Forward. Slide
`Backward, File Closc..
`.
`.
`. }
`When the user clicks arty button or draws something on
`the GUI,
`the application control protocol manager 214
`generates the corresponding field in the protocol and sends
`a command to the notwurk based computer service 250 via
`a 'I‘CP/IP channel.
`
`ll. Service Control Application Design
`FIG. 3 illustrates a detailed software architecture [or the
`service control application of FIG. 3. The architecture
`includes three main elements:
`a CPU service 410
`
`(corresponding to the application service 130), a storage
`service 420 (corresponding to the storage service 150) and
`a projector service 430 (corresponding to the display service
`140). Each of the elements include middleware protocol
`layer management modules. Each module has :1 correspond-
`ing service application control module (e.g., PowerPoint
`Control Protocol Manager). To control specific network
`services, instances of those