`Wecker et al.
`
`USOO6449638B1
`(10) Patent No.:
`US 6,449,638 B1
`45) Date of Patent:
`Sep. 10, 2002
`9
`
`(54) CHANNEL DEFINITION ARCHITECTURE
`EXTENSION
`(75) Inventors: Dave Wecker, Bothell; David
`Tuniman, Redmond, both of WA (US)
`(73) Assignee: Microsoft Corporation, Redmond, WA EP
`(US)
`EP
`EP
`EP
`WO
`WO
`WO
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`54(b) by 0 days
`U.S.C. 1
`y U dayS.
`
`1/1998 Laflin et al. ........... 340/825.44
`5,705.995 A
`5,740,549 A 4/1998 Reilly et al. .................. 705/14
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`O 653 736 A1
`5/1988
`O 434 231 A2 6/1991
`O 704827 A1
`3/1996
`O 803825 A 10/1997
`WO 90/13213
`1/1990
`WO 97/354O2
`3/1996
`WO 97/17682
`10/1996
`
`(56)
`
`(21) Appl. No.: 09/107,941
`(22) Filed:
`Jun. 30, 1998
`Related U.S. Application Data
`(60) Provisional application No. 60/070,720, filed on Jan. 7,
`1998, and provisional application No. 60/075,123, filed on
`Feb. 13, 1998.
`(51) Int. Cl." ............................ G06F 15/16; G06F 9/00
`(52) U.S. Cl. ........................................ 709/217; 709/317
`(58) Field of Search ................................. 709/216, 217,
`709/218, 219, 223, 238, 317, 318, 328;
`707/10
`
`OTHER PUBLICATIONS
`Castedo Ellerman, “Channel Definition Format (CDF)”,
`Channel Definition Format Submission 970309, Mar. 10,
`1998, XP002103294.
`Jason Levitt, “Push YourWeb Pages-Netscape's Netcaster
`and Microsoft's CDF make it easier than ever to join the
`push revolution”, Information Week, No. 634, Jun. 9, 1997,
`XP002103295.
`(List continued on next page.)
`Primary Examiner Zarni Maung
`ASSistant Examiner Jason D. Cardone
`(74) Attorney, Agent, or Firm- Westman, Champlin &
`Kelly, P.A.
`References Cited
`ABSTRACT
`(57)
`U.S. PATENT DOCUMENTS
`A method for rendering information, Such as, available
`5. A :
`to
`this .. 17.f through the Internet on a computer includes Storing a content
`so14,345 A 5/1991 N. cal."
`- - - - - 455/54
`Structure file, a data file and a Script file. The data file
`5,043,721 A 8/1991 May ........... .340,825.44
`includes data indicative of the information and the Script file
`5367667 A * 11/1994 Wahlquist et al. ............ 714/32
`includes Script information indicative of a desired form in
`5,400,331 A 3/1995 Lucak et al. .........
`... 370/85.1
`which the data is to be rendered. The content structure file,
`5,559,800 A 9/1996 Mousseau et al.
`370/85.13
`data file and Script file are independently receivable by the
`5,603,025 A * 2/1997 Tabb et al. .................... 707/2
`computer. The content Structure file is read to ascertain
`5,619,615 A
`4/1997 Pitchaikani et al. ......... 706/10
`which Script in the Script file is associated with data to be
`3. A : : 12 Shizu - - - - - - - - - - -
`- - - - 79.1.
`rendered. The data from the data file is retrieved and the
`2Y-4-2
`yOIS . . . . . . . . . . . . . . . . . . . . . . . . .
`asSociated Script file is executed to render the data. Instruc
`5. A : 8E. thMason eral - - - - - - - - - 35: tions can be provided on a computer readable medium to
`5,675,831 A * 10/1997 Caputo ........................ 710/10
`implement the method.
`5,680,585 A * 10/1997
`... 395/500.47
`5,701,451 A * 12/1997 Rogers et al. ................. 707/1
`24 Claims, 8 Drawing Sheets
`
`
`
`28
`
`ANDREWER
`22
`
`Hooper
`
`RCUNgs
`
`218
`
`TrANSAFORS
`24
`
`UNPACKER
`HANDJOINER
`22
`
`HTM
`PASE
`224
`
`CHANNEL
`BROWSER
`28
`
`OSPAY4S
`
`Snap's Exhibit No. 1012
`Page 001
`
`
`
`US 6,449,638 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5/1998 Ohkami ...................... 348/441
`5,754,242 A
`5,796,952 A * 8/1998 Davis et al. ................ 709/224
`5,799,151 A 8/1998 Hoffer ................... 395/200.34
`5,809,247 A * 9/1998 Richardson et al. ........ 709/218
`5,861,883 A * 1/1999 Cuomo et al. ....
`... 345/326
`5,875,306 A * 2/1999 Bereiter ...................... 709/220
`5,884,097 A * 3/1999 Li et al. ....................... 71043
`5,903.262 A * 5/1999 Ichihashi et al. ........... 725/136
`5,905,856 A 5/1999 Offensooser ......
`... 395/183.14
`5,920,696 A * 7/1999 Brandt et al. ............... 709/218
`5,923,738 A 7/1999 Cardillo, IV et al. ... 379/93.25
`
`6,085,224. A * 7/2000 Wagner ...................... 709/203
`6,112,242 A
`8/2000 Jois et al. ................... 709/225
`6,151,610 A 11/2000 Senn .......................... 707/516
`OTHER PUBLICATIONS
`Vitali, F. et al., “EXending HTML in a principle d way with
`displets'
`k
`d
`1
`isplets”, Computer Networks and ISDN Systems, vol. 29,
`No. 8-13, Sep. 1, 1997, pp. 1115-1128, XP004095309.
`Salampasis, M. et al., “HyperTree: A Structural Approach to
`Web Authoring”, Software-Practice and Experience, vol.
`27, No. 12, Dec. 1, 1997, pp. 1411–1426, XP000726053.
`“Dynamic Documents: Mobile Wireless Access to the
`
`:
`
`WWW", M. Frans Kaashoek, et al., IEEE, Dec. 8, 1994, pp.
`5,933,826 A * 8/1999 Ferguson - - - - - - - - - - - - - - - - - - - - - - - 707/9
`179-184
`5,935,060 A 8/1999 Iliff ............................ 600/300
`Oliverio, G., “A Paging HPC, Handheld Systems, Creative
`5.937,041 A 8/1999 Cardillo, IV et al. .... 379/93.25
`-
`0
`5,943,486 A 8/1999 Li .............................. 395/685
`Digital Publishing Inc., (retrieved from Internet Jun. 10,
`5,946,326 A 8/1999 Rinne .....
`... 370/486
`1999), No. 54, Jul. 1997–Aug. 1997, XP002106345.
`5,953.523 A
`9/1999 Martinez et al. ... 395/701
`Scardinal, M., “The Page Card SDK", Handheld Systems,
`5,953,524. A * 9/1999 Meng et al. ................... 717/1
`Creative Digital Publishing Inc., (retrieved from Internet
`5,963,944. A 10/1999 Adams ........................ 707/10
`Jun. 10, 1999), No. 5.6, Nov. 1997-Dec. 1997,
`5,974,085 A 10/1999 Smith ......................... 375/222
`XPOO2106346.
`5.974.238 A 10/1999 Chase, Jr. .............. 395/200.78
`R A : 2. R tal- - - - - - - - - - - - - - E. “Minstrel Plus TM” brochure, for Novatel Wireless, Inc.
`E.
`5 CE". G.S.
`copyright 1998.
`2Y- - -a-
`ayalune et al. .
`- - -
`6,078,743 A * 6/2000 Apte et al...................... 717/1
`* cited by examiner
`
`
`
`Snap's Exhibit No. 1012
`Page 002
`
`
`
`US. Patent
`
`Sep. 10, 2002
`
`Sheet 1 0f 8
`
`US 6,449,638 B1
`
`www..w~=>>
`
`NNmm2momm
`
`vw
`
`
`
`mm_mm<0www..w~=>>
`
`
`
`
`5.23.200
`
`Nvmun—50mm
`
`
`
`
`
`m?mo.>m_n_memo—2hzmzon=200._.zszn_5_Oom:WWW—JMMRHOO
`
`.oz>w.oz>w
`
`
`
`
`
`mmmm
`
`F.9...
`
`Snap's Exhibit No. 1012
`Page 003
`
`Snap's Exhibit No. 1012
`Page 003
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 2 of 8
`
`US 6,449,638 B1
`
`
`
`34
`
`36
`
`PROCESSOR
`
`MEMORY
`
`APP(S)
`
`OBJECT
`
`DESKTOP
`COMMUNICATION
`INTERFACE
`
`WIRELESS
`RECEIVER 37
`
`FIG.2
`
`Snap's Exhibit No. 1012
`Page 004
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 3 of 8
`
`US 6,449,638 B1
`
`
`
`Snap's Exhibit No. 1012
`Page 005
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 4 of 8
`
`US 6,449,638 B1
`
`
`
`18
`
`Snap's Exhibit No. 1012
`Page 006
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 5 of 8
`
`US 6,449,638 B1
`
`FIG. 5
`
`-
`Optical drive
`Removable storage
`61
`59
`
`D
`
`...
`
`
`
`
`
`COMPUTER 16
`
`
`
`VIDEO ADAPTER
`78
`
`Optical Disk Drive
`60
`
`
`
`
`
`Magnetic Disk
`Drive .58
`
`INTF63
`
`
`
`
`
`
`
`
`
`
`
`SSRIAL PORT
`INTERFACE 76
`
`
`
`NEWORK
`AAPTER
`
`MODEM 84
`
`Kegard
`
`Mouse
`72
`
`
`
`PROGRAM
`MODULE 67
`
`PROGRAM DATA 68
`
`REMOTE
`COMPUTER 79
`
`MEMORY 80
`
`Snap's Exhibit No. 1012
`Page 007
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 6 of 8
`
`US 6,449,638 B1
`
`FIG. 6
`
`coStient
`
`26
`
`REER
`
`AND ORVER
`22
`
`SCRIPT
`TEMPLATES
`204
`
`
`
`
`
`
`
`
`
`
`
`
`
`MESSAGE
`ROUTER 210
`
`CACHE 206
`
`
`
`
`
`
`
`CACHE
`MANAGER
`208
`
`LOADABLE
`RANSPORT
`220
`
`ROUTING
`COMPONENT
`216
`
`TRANSLATORS
`214
`
`UNPACKER
`AND JOINER
`212
`
`
`
`CHANNEL
`BROWSER
`218
`
`DISPLAY 45
`
`Snap's Exhibit No. 1012
`Page 008
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 7 of 8
`
`US 6,449,638 B1
`
`FIG. 7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SCRIPT
`TEMPLATES
`204
`
`DATA
`2O2
`
`PREFERENCES
`230
`
`DEFAULT
`TEMPLATES
`232
`
`2O6
`
`
`
`LOADABLE
`TRANSPORT
`220
`
`
`
`CHANNEL
`BROWSER
`218
`
`DISPLAY 45
`
`Snap's Exhibit No. 1012
`Page 009
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 8 of 8
`
`US 6,449,638 B1
`
`240
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`242
`
`244
`
`245
`
`252
`
`257
`
`
`
`253
`254
`255
`
`246
`
`247
`
`248
`
`249
`250
`262
`
`264
`
`
`
`Channels
`
`Channel 2000
`
`News and Technology
`
`6 CBS SportsLine Channel
`Baseball
`2 NBA
`2College Basketball
`2 NFL
`a College Football
`2 NHL
`
`
`
`
`
`
`
`
`
`(Soccer
`2Tennis
`SESPN SportsZone
`S. MSNBC Sports
`
`Entertainment
`
`Lifestyle and Travel
`
`The Microsoft Network
`
`MSnbC
`
`ADVERTISEMENT
`
`FG. 8
`
`Snap's Exhibit No. 1012
`Page 0010
`
`
`
`1
`CHANNEL DEFINITION ARCHITECTURE
`EXTENSION
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`The present application is based on and claims the benefit
`of provisional patent application, Serial No. 60/070,720 filed
`on Jan. 7, 1998, and provisional application Serial No.
`60/075,123 filed on Feb. 13, 1998.
`
`BACKGROUND OF THE INVENTION
`The present invention relates to personal mobile comput
`ing devices commonly known as mobile devices. More
`particularly, the present invention relates to a System and
`method for delivering and receiving information on a mobile
`device.
`Mobile devices are Small electronic computing devices
`often referred to as personal digital assistants. Many Such
`mobile devices are hand held devices, or palm-Size devices,
`which comfortably fit within the hand. One commercially
`available mobile device is sold under the trade name Hand
`Held PC (or H/PC) having software provided by Microsoft
`Corporation of Redmond, Wash.
`Generally, the mobile device includes a processor, ran
`dom access memory (RAM), and an input device Such as a
`keyboard and a display. The keyboard can be integrated with
`the display, Such as where the keyboard is incorporated as a
`touch Sensitive display. A communication interface is
`optionally provided and is commonly used to communicate
`with a desktop computer. A replaceable or rechargeable
`battery powers the mobile device. Optionally, the mobile
`device can receive power from an external power Source that
`overrides or recharges the built-in battery.
`In Some prior applications, the mobile device is used in
`conjunction with a desktop computer. For example, the user
`of the mobile device may also have access to, and use, a
`desktop computer at work or at home, or both. The user
`typically runs the same types of applications on both the
`desktop computer and on the mobile device. Thus, it is quite
`advantageous for the mobile device to be designed to be
`coupled to the desktop computer to exchange information
`with, and share information with, the desktop computer.
`Another technique for providing information to Such
`mobile devices is through a wireleSS transmission link. Such
`information can include electronic mail or news, weather,
`Sports, traffic and local event information. The information
`is typically obtained from a desktop computer connected to
`the Internet and delivered over a wired connection.
`However, it may be desirable to deliver such information
`over a wireleSS connection as well. A wireleSS receiver on
`the mobile device can act to receive information as it is
`being Sent to the mobile device.
`There is presently no reasonable way to deliver push Style
`content (Such as hypertext mark-up language (HTML) con
`tent provided on a global network Such as the internet and
`world wide web) to Such devices in a wireless manner and
`in an open and available architecture. The bit rate of con
`ventional wireless channels is very low. Thus, the delivery
`of very large content (such as HDML content) is highly
`impractical.
`One conventional type of approach to delivering Such
`information is to rewrite the content into a device friendly
`format, Such as HTML. The content is then obtained over a
`pull-style model. Another approach currently being used to
`deliver information via a wireleSS medium in a closed
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,449,638 B1
`
`2
`model. In a closed model, a content provider can only
`provide content which is written in a format suitable for
`receipt by a specific device implementing a specific type of
`Software. This means that the vast majority of web content
`is unavailable for viewing on Such devices.
`
`SUMMARY OF THE INVENTION
`A method for rendering information, Such as, available
`through the Internet on a computer includes Storing a content
`Structure file, a data file and a Script file. The data file
`includes data indicative of the information and the Script file
`includes Script information indicative of a desired form in
`which the data is to be rendered. The content structure file,
`data file and Script file are independently receivable by the
`computer. The content Structure file is read to ascertain
`which Script in the Script file is associated with data to be
`rendered. The data from the data file is retrieved and the
`asSociated Script file is executed to render the data. Instruc
`tions can be provided on a computer readable medium to
`implement the method.
`In one preferred embodiment, the content Structure file
`includes references to data and Scripts in a hierarchy. In
`particular, the content Structure file includes Script tags
`asSociated with the Scripts in the Script file wherein the Script
`tags are arranged in the hierarchy. When the content Struc
`ture file is read to ascertain which Script in the Script file is
`asSociated with the data to be rendered, the Script is chosen
`as a function of the hierarchy. Organization of the Script tags
`in a hierarchy allows tag inheritance. Specifically, if there is
`no associated Script tag for the data in the lower portion of
`the hierarchy, a Script referenced by a Script tag in a higher
`portion of the hierarchy will be executed to render the data.
`In another embodiment, if a referenced Script in the content
`Structure file cannot be found in the Script file, a default
`Script is executed in order to render the data.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a Simplified block diagram illustrating one
`embodiment of a mobile device in a System in accordance
`with the present invention.
`FIG. 2 is a more detailed block diagram of one embodi
`ment of a mobile device shown in FIG. 1.
`FIG. 3 is a simplified pictorial illustration of one embodi
`ment of the mobile device shown in FIG. 2.
`FIG. 4 is a simplified pictorial illustration of another
`embodiment of the mobile device shown in FIG. 2.
`FIG. 5 is a block diagram of one embodiment of a desktop
`computer in accordance with one aspect of the present
`invention.
`FIG. 6 is a flow diagram illustrating the operation of a
`mobile device in accordance with one aspect of the present
`invention.
`FIG. 7 is a simplified block diagram of FIG. 6.
`FIG. 8 is a diagrammatic illustration of a graphical user
`interface rendered by the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`FIG. 1 illustrates a system 10 in which the present
`invention is illustratively implemented. System 10 includes
`content provider 12, wireleSS carrier 14, desktop computer
`16 and mobile device 18. Content provider 12 provides any
`Suitable type of data from a database or other data Source.
`For example, content provider 12 is discussed hereinafter as
`
`Snap's Exhibit No. 1012
`Page 0011
`
`
`
`US 6,449,638 B1
`
`15
`
`25
`
`35
`
`40
`
`3
`a provider of internet world wide web content. In the
`preferred embodiment, the content is provided in a Standard
`format, such as HTML, JPEG, GIF, WAV, etc. The web
`content is also preferably described in a content Structure file
`also known commonly as a channel definition format (CDF)
`file. A Single portion of content (Such as a web page or a web
`Site) is referred to herein as a mobile channel.
`A mobile channel is a self describing web site that
`contains all the information necessary for efficient download
`of web content to mobile device 18. Three components are
`provided in a preferable mobile channel. The components
`include a channel definition format (CDF) file, a set of script
`files to render the channel, and a set of data files to be
`rendered. The CDF files are described in greater detail
`below. Briefly, the CDF is an inventory of content contained
`on the mobile channel.
`The Script files contain Script which defines templates
`which specify the appearance of the data on the Screen of
`mobile device 18. Scripts are preferably written in visual
`basic script (VBS).
`The data files correspond to one or more Script files and
`include data which is indicative of the Substantive content of
`the channel to be rendered. The data is packaged in Small
`and simple text files. All of this information is used to define
`web content.
`Operation of System 10 using Separate Script and data files
`is described in detail in co-pending U.S. patent application,
`Ser. No. 09/107,666, filed on Jun. 30, 1998, entitled “SYS
`TEM FOR DELIVERING DATA CONTENT OVER A
`LOW BIT RATE TRANSMISSION CHANNEL, and
`hereby incorporated by reference. Briefly, however, wireless
`carrier 14 is configured to receive web content from the web
`content provider 12 via dial-up or direct internet connection,
`or a network connection. WireleSS carrier 14 also includes a
`wireless push server 20. Server 20 splits the content received
`from content provider 12 into pieces which are compatible
`with the particular type of transport being used by wireleSS
`carrier 14. For instance, server 20 may split the data such
`that it conforms to maximum packet Size constraints, char
`acter Set requirements, etc. for the channel type or transport
`type being used. Prior to transmission, the data is preferably
`translated to a different form. Translation may include
`compression, encryption, encoding and then packaging.
`Once the data has been Split appropriately Such that it
`conforms to the transport constraints, the data is then con
`figured for transmission over the air through a wireleSS
`network (such as through a paging channel) to be received
`directly on mobile device 18. The transmitted data is
`received by a wireleSS receiver and driver component 22 on
`mobile device 18 where the data is prepared for use by
`mobile device 18.
`Mobile device 18 can also includes a modem 24. Thus,
`rather than being transmitted through wireleSS carrier 14, the
`web content can be transmitted directly from web content
`provider 12 through a direct dial-up modem connection to
`mobile device 18.
`Desktop computer 16 will also be described in greater
`detail later in the Specification. Briefly, however, desktop
`computer 16 is preferably provided with a standard web
`browser, Such as Internet Explorer 4.0 commercially avail
`able from the Microsoft Corporation of Redmond, Wash.
`That being the case, the users of desktop 16 can preferably
`Subscribe to channels in a Standard fashion which provide
`the user with certain channel content which can be browsed
`off-line or on-line. Desktop computer 16 is preferably pro
`Vided with a loadable transport that accesses the Script files
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`and acts on the corresponding data file (in accordance with
`the Script) to render the content where desktop computer 16
`renders the data. Desktop computer 16, through the
`transport, can periodically retrieve or receive new and
`updated script, data and CDF files either for further trans
`mission to mobile device 18 or simply for rendering the data.
`The script, data and CDF files can be transmitted either
`together or independently of one another. Since Scripting
`files typically need updating much less frequently than the
`data files, this provides the user with the ability to view the
`web content on the desktop (off-line) while requiring only
`Small amounts of bandwidth for incremental updating of the
`data files.
`Desktop computer 16 also preferably includes Synchro
`nization component 26. Briefly, Synchronization component
`26 is configured to interact with a similar Synchronization
`component 28 on mobile device 18 such that files which are
`the Subject of Synchronization can be Synchronized from
`desktop computer 16 to mobile device 18, or vice versa.
`Once synchronized, both files (those on computer 16 and
`mobile device 18) contain up to date information.
`More specifically, mobile device 18, in the preferred
`embodiment, can be Synchronized with either desktop com
`puter 16, or another mobile device 18, or both. In that
`instance, properties of objects Stored in an object Store on
`mobile device 18 are similar to properties of other instances
`of the same object Stored in an object Store on desktop
`computer 16 or another mobile device 18. Thus, for
`example, when a user changes one instance of an object
`Stored in an object Store on desktop computer 16, the Second
`instance of that object in the object store of mobile device 18
`is updated the next time mobile device 18 is connected to
`desktop computer 16 So that both instances of the same
`object contain up-to-date data. This is referred to as Syn
`chronization.
`In order to accomplish Synchronization, Synchronization
`components 26 and 28 run on both mobile device 18 and
`desktop computer 16 (or another mobile device 18). The
`Synchronization components communicate with one another
`through well defined interfaces to manage communication
`and Synchronization.
`Mobile device 18 is also preferably provided with a script
`interpreter which, in one preferred embodiment, is the same
`as or similar to the loadable transport on desktop computer
`16. Such a transport may be, for example, a down-sized
`Visual basic interpreter, which receives and interprets the
`formatting Script. The Script is associated with a certain data
`file (typically a text file) that holds the raw data for the web
`content. Thus, the Script interpreter operates on the data
`asSociated with a given Script to provide a rendering of the
`web content to the user of mobile device 18.
`By Separating the Script from the data in the web content,
`web content can be transmitted to mobile device 18 over
`very low bit rate channels. The script will only typically
`need to be transmitted very infrequently. Also, Since an
`individual file is typically much Smaller than the Script files,
`the data can be updated quite frequently, giving the user of
`mobile device 18 updated web content information, without
`transmitting new Script. Thus, the Separation of the Script
`and data allows the transmission of web content information
`in a very efficient manner over low bit rate channels.
`It is worth noting that, in the preferred embodiment, while
`mobile device 18 can be coupled to desktop computer 16, it
`can be also coupled to another mobile device 18. This
`connection can be made using any Suitable, and commer
`cially available, communication link and using a Suitable
`
`Snap's Exhibit No. 1012
`Page 0012
`
`
`
`US 6,449,638 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`communications protocol. For instance, in one preferred
`embodiment, mobile device 18 communicates with either
`desktop computer 16 or another mobile device 18 with a
`physical cable which communicates using a Serial commu
`nications protocol. Other communication mechanisms are
`also contemplated by the present invention, Such as infra-red
`(IR) communication or other Suitable communication
`mechanisms.
`FIG. 2 is a more detailed block diagram of mobile device
`18. Mobile device 18 preferably includes microprocessor 30,
`memory 32, input/output (I/O) components 34, desktop
`communication interface 36 wireless receiver 37 and
`antenna 39. In a preferred embodiment, these components of
`mobile device 10 are coupled for communication with one
`another over a Suitable bus 38.
`Memory 32 is preferably implemented as non-volatile
`electronic memory Such as random access memory (RAM)
`with a battery back-up module (not shown) such that infor
`mation Stored in memory 32 is not lost when the general
`power to mobile device 18 is shut down. A portion of
`memory 32 is preferably allocated as addressable memory
`for program execution, while another portion of memory 32
`is preferably used for Storage, Such as to Simulate Storage on
`a disc drive.
`Memory 32 includes operating System 40, an application
`program 42 (Such as a personal information manager or
`PIM) as well as an object store 44. During operation,
`operating system 40 is preferably executed by processor 30
`from memory 32. Operating system 40, in one preferred
`embodiment, is a Windows CE brand operating system
`commercially available from Microsoft Corporation. The
`operating System 40 is preferably designed for mobile
`devices, and implements database features which can be
`utilized by PIM 42 through a set of exposed application
`programming interfaces and methods. The objects in object
`store 44 are preferably maintained by PIM 42 and operating
`System 40, at least partially in response to calls to the
`exposed application programming interfaces and methods.
`I/O components 34, in one preferred embodiment, are
`provided to facilitate input and output operations from a user
`of mobile device 18. I/O components 34 are described in
`greater detail with respect to FIGS. 3 and 4.
`Desktop communication interface 36 is optionally pro
`Vided as any Suitable communication interface. Interface 36
`is preferably used to communicate with desktop computer
`16, content provider 12, wireless carrier 14 and optionally
`another mobile device 18, as described with respect to FIG.
`1. Thus, communication interface 36 preferably includes
`Synchronization components 28 for communicating with
`desktop computer 16 and modem 24 for communicating
`with content provider 12. Wireless receiver and driver 22 are
`used for communicating with wireleSS carrier 14.
`FIG. 3 is a simplified pictorial illustration of one preferred
`embodiment of a mobile device 10 which can be used in
`accordance with the present invention. Mobile device 10, as
`illustrated in FIG. 3, can be a desktop assistant sold under
`the designation H/PC having software provided by the
`Microsoft Corporation. In one preferred embodiment,
`mobile device 18 includes a miniaturized keyboard 43,
`display 45 and stylus 46. In the embodiment shown in FIG.
`3, display 45 is a liquid crystal display (LCD) which uses a
`contact Sensitive display Screen in conjunction with Stylus
`46. Stylus 46 is used to press or contact the display 45 at
`designated coordinates to accomplish certain user input
`functions. Miniaturized keyboard 43 is preferably imple
`mented as a miniaturized alpha-numeric keyboard, with any
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`Suitable and desired function keys which are also provided
`for accomplishing certain user input functions.
`FIG. 4 is another simplified pictorial illustration of the
`mobile device 18 in accordance with another preferred
`embodiment of the present invention. Mobile device 18, as
`illustrated in FIG. 4, includes some items which are similar
`to those described with respect to FIG. 3, and are similarly
`numbered. For instance, mobile device 18, as shown in FIG.
`4, also includes touch Sensitive Screen 45 which can be used,
`in conjunction with Stylus 46, to accomplish certain user
`input functions. It should be noted that the display 45 for the
`mobile device as shown in FIGS. 3 and 4 can be the same
`Size as one another, or different sizes from one another, but
`would typically be much Smaller than a conventional display
`used with a desktop computer. For example, displayS 45
`shown in FIGS. 3 and 4 may be defined by a matrix of only
`240x320 coordinates, or 160x160 coordinates, or any other
`Suitable size.
`The mobile device 18 shown in FIG. 4 also includes a
`number of user input keys or buttons (Such as Scroll buttons
`47) which allow the user to scroll through menu options or
`other display options which are displayed on display 45, or
`which allow the user to change applications, without con
`tacting display 45. In addition, the mobile device 18 also
`shown in FIG. 4 also preferably includes a power button 49
`which can be used to turn on and off the general power to the
`mobile device 18.
`It should also be noted that, in the embodiment illustrated
`in FIG. 4, mobile device 18 includes a hand writing area 51.
`Hand writing area 51 can be used in conjunction with Stylus
`46 Such that the user can write messages which are Stored in
`memory 42 for later use by the mobile device 18. In one
`illustrative embodiment, the hand written messages are
`Simply stored in hand written form and can be recalled by
`the user and displayed on the display Screen 45 Such that the
`user can review the hand written messages entered into the
`mobile device 18. In another preferred embodiment, mobile
`device 18 is provided with a character recognition module
`Such that the user can enter alpha-numeric information into
`mobile device 18 by writing that alpha-numeric information
`on area 51 with Stylus 46. In that instance, character recog
`nition module in the mobile device 18 recognizes the
`alpha-numeric characters and converts the characters into
`computer recognizable alpha-numeric characters which can
`be used by the application programs 42 in mobile device 18.
`FIG. 5 and the related discussion are intended to provide
`a brief, general description of a Suitable desktop computer
`16 in which portions of the invention may be implemented.
`Although not required, the invention will be described, at
`least in part, in the general context of computer-executable
`instructions, Such as program modules, being executed by a
`personal computer 16 or mobile device 18. Generally, pro
`gram modules include routine programs, objects,
`components, data Structures, etc. that perform particular
`tasks or implement particular abstract data types. Moreover,
`those skilled in the art will appreciate that desktop computer
`16 may be implemented with other computer System
`configurations, including multiprocessor Systems,
`microprocessor-based or programmable consumer
`electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments where tasks are
`performed by remote processing devices that are linked
`through a communications network. In a distributed com
`puting environment, program modules may be located in
`both local and remote memory Storage devices.
`With reference to FIG. 5, an exemplary system for imple
`menting desktop computer 16 includes a general purpose
`
`Snap's Exhibit No. 1012
`Page 0013
`
`
`
`US 6,449,638 B1
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`7
`computing device in the form of a conventional personal
`computer 16, including processing unit 48, a System
`memory 50, and a system bus 52 that couples various system
`components including the System memory 50 to the pro
`cessing unit 48. The system bus 52 may be any of several
`types of bus Structures including a memory bus or memory
`controller, a peripheral bus, and a local bus using any of a
`variety of bus architectures. The system memory 50 includes
`read only memory (ROM) 54 a random access memory
`(RAM) 55. Abasic input/output system (BIOS) 56, contain
`ing the basic routine that helps to transfer information
`between elements within the desktop computer 16, Such as
`during start-up, is stored in ROM 54. The desktop computer
`16 further includes a hard disk drive 57 for reading from and
`writing to a hard disk (not shown) a magnetic disk drive 58
`for reading from or writing to removable magnetic disk 59,
`and an optical disk drive 60 for reading from or writing to
`a removable optical disk 61 such as a CD ROM or other
`optical media. The hard disk drive 57, magnetic disk drive
`58, and optical disk drive 60 are connected to the system bus
`52 by a hard disk drive interface 62, magnetic disk drive
`interface 63, and an optical drive interface 64, respectively.
`The drives and the associated computer-readable media
`provide nonvolatile Storage of computer readable
`instructions, data structures, program modules and other
`data for the desktop computer 16.
`Although the exemplary environment described herein
`employs a hard disk, a removable magnetic disk 59 and a
`removable optical disk 61, it should be appreciated by those
`skilled in the art that other types of computer readable media
`which can Store data that is accessible by a computer, Such
`as magnetic cassettes, flash memory cards, digital Video
`disks (DVDs), Bernoulli cartridges, random access memo
`ries (RAMs), read only memory (ROM), and the like, may
`also be used in the exemplary operating environment.
`A number of program modules may be Stored on the hard
`disk, magnetic disk 59, optical disk 61, ROM 54