throbber
(12) United States Patent
`Chen et al.
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US006496979Bl
`US 6,496,979 Bl
`*Dec. 17, 2002
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) SYSTEM AND METHOD FOR MANAGING
`APPLICATION INSTALLATION FOR A
`MOBILE DEVICE
`
`(75)
`
`Inventors: James Chen, Redmond, WA (US);
`Kevin Shields, Redmond, WA (US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`( *) Notice:
`
`This patent issued on a continued pros(cid:173)
`ecution application filed under 37 CFR
`1.53( d), and is subject to the twenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/058,031
`
`(22) Filed:
`
`Apr. 10, 1998
`
`Related U.S. Application Data
`(60) Provisional application No. 60/063,164, filed on Oct. 24,
`1997, and provisional application No. 60/064,986, filed on
`Nov. 7, 1997.
`
`Int. Cl.7 ................................................ G06F 9/445
`(51)
`(52) U.S. Cl. ....................................................... 717/178
`(58) Field of Search .................. 395/712; 709/200-203,
`709/221; 717/11, 168-178; 455/418-419;
`370/486
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,247,683 A *
`5,337,044 A
`5,392,390 A
`5,414,844 A
`5,497,464 A
`
`............. 709/221
`9/1993 Holmes et al.
`8/1994 Folger et al.
`................ 340/7.l
`2/1995 Crozier ....................... 345/335
`5/1995 Wang ......................... 713/200
`3/1996 Yeh ............................ 710/101
`
`5,522,089 A
`5,542,046 A
`5,555,416 A *
`5,564,070 A
`5,598,536 A
`5,625,829 A
`5,664,228 A
`5,666,530 A
`
`5/1996
`7/1996
`9/1996
`10/1996
`1/1997
`4/1997
`9/1997
`9/1997
`
`Kikinis et al. ................ 710/73
`Carlson et al.
`............. 713/200
`Owens et al. . . . . . . . . . . . . . . . 717 /178
`Want et al.
`................. 455/507
`Slaughter, III et al.
`..... 709/219
`Gephardt et al.
`........... 710/104
`Mital .......................... 710/62
`Clark et al. . . . . . . . . . . . . . . . . . 707 /201
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`
`WO 94 15294 A
`W094/15294
`WO 96 20445 A
`WO 97 23853 A
`WO 97 25665 A
`
`7/1994
`* 7 /1994
`7/1996
`7/1997
`7/1997
`
`........... G06F/13/00
`
`........... G08C/25/02
`............. G06F/3/00
`
`OTHER PUBLICATIONS
`
`Pepper, D .J. et al., "The CallManager system: A platform for
`intelligent telecommunications services", Speech Commu(cid:173)
`nication, Oct. 1997, Elsevier, Netherlands, vol. 23, No. 102,
`pp. 129-139.
`Anonymous, "Method for Personal Digital Assistance Cal(cid:173)
`endar Export Nomenclature", IBM Technical Disclosure
`Bulletin, vol. 37, No. 3, Mar. 1994, p. 481.
`
`Primary Examiner---Kakali Chaki
`Assistant Examiner-Hoang-Vu Antony Nguyen-Ba
`(74) Attorney, Agent, or Firm-Westman, Champlin &
`Kelly, P.A.; S. Koehler
`
`(57)
`
`ABSTRACT
`
`A method and system of installing applications for a plu(cid:173)
`rality of mobile devices from a storage source, wherein each
`mobile device is of a different type, includes storing on the
`storage source a plurality of applications. Each application
`is designed for a unique type of mobile device. The mobile
`device is connected to the storage source and the type of
`mobile device is detected. A selected application is then
`transferred to the mobile device.
`
`23 Claims, 10 Drawing Sheets
`
`~-----~160
`
`CONNECT
`MOBILE DEVICE TO
`DESKTOP COMPIJTER
`
`DETERMINE TYPE
`OF MOBILE DEV:CE
`CONNECTED
`
`r---y AVAl:..ABLE
`AP~~T611~0N PROGRAMS
`
`I
`
`ASA LIST OR AS
`PRESELECTED COLLECTIONS
`
`164
`
`162
`
`166
`
`TRANSFER SELECTED
`SETUP PACKAGE
`FILES
`
`IPR2017-00184
`UNIFIED EX1015
`
`

`
`US 6,496,979 Bl
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,666,553 A
`5,684,990 A
`5,717,737 A
`5,721,824 A *
`5,721,835 A
`5,727,159 A
`5,727,202 A
`5,742,829 A *
`5,790,800 A
`5,812,819 A
`
`9/1997
`11/1997
`2/1998
`2/1998
`2/1998
`3/1998
`3/1998
`4/1998
`8/1998
`9/1998
`
`Crozier ....................... 707/540
`Boothby ..................... 707/203
`Doviak et al. .............. 455/403
`Taylor ........................ 709/203
`Niwa et al. ................. 710/101
`Kikinis ....................... 709/246
`Ku cal a . . . . . . . . . . . . . . . . . . . . . . . . 707 /10
`Davis et al.
`................ 717 /178
`Gauvin et al. .............. 709/227
`Rodwin et al.
`............... 703/23
`
`5,845,090 A * 12/1998 Collins, III et al.
`........ 709/221
`5,860,012 A * 1/1999 Luu
`........................... 717/175
`5,864,708 A
`1/1999 Croft et al. .................... 710/1
`5,887,063 A
`3/1999 Vardharajan et al.
`....... 713/172
`5,896,369 A
`4/1999 Warsta et al. ............... 370/338
`5,918,016 A
`6/1999 Brewer et al. .............. 709/220
`5,958,006 A
`9/1999 Eggleston et al.
`.......... 709/219
`5,974,238 A
`10/1999 Chase, Jr .................... 709/248
`5,974,257 A * 10/1999 Austin ........................ 717/125
`.............. 704/233
`5,983,176 A
`11/1999 Hoffert et al.
`* cited by examiner
`
`

`
`MOBILE STORAG~
`DEVICE CARD 3A
`
`SA-t-+-1
`
`I
`
`I
`
`LOAD
`MODULE
`
`5B-n1
`
`SC
`
`I
`
`I
`
`I T.
`
`3
`
`I MOBILE f-' 48
`
`DEVICE
`
`-
`
`2
`
`.,-----
`
`4
`
`(
`
`DESKTOP
`COMPUTER
`
`12
`
`-
`
`APP~
`
`MGR
`MODULE
`
`7A
`-
`
`7B
`
`J 7C
`
`~I I
`
`\
`
`I
`
`I
`
`I l/7D
`
`I
`
`10
`
`STORE
`6
`
`I
`
`'
`
`I I
`
`I
`
`'
`
`'
`
`'
`
`10A-tD . o-t-r1oc
`
`'
`
`'
`
`' 10D
`
`LOCALOR ~A
`WIDE AREA
`NETWORK
`
`FIG. 1
`
`d .
`\JJ. .
`~
`~ ......
`~
`=
`......
`
`~
`~
`ri
`'"""'
`~-..J
`N c
`c
`N
`
`~
`
`'J1 =-~
`.....
`'"""' 0 .....,
`'"""' c
`
`e
`
`rJ'J.
`O'I
`~
`\0
`O'I
`\o
`""-l
`\0
`~
`lo-"
`
`

`
`COMPUTER 4
`
`"I
`
`CPU
`21
`
`VIDEO
`ADAPTER
`48
`
`OPTICAL
`DRIVE 31
`
`LJ
`I
`I
`
`lri
`
`~EMOVABLE
`STORAGE
`29
`
`l
`
`MOBILE
`DEVICE
`3
`
`FIG
`
`\.
`
`OPTICAL DISK
`DRIVE 30
`
`MAGNETIC DISK
`DRIVE 28
`
`HARD DISK
`DRIVE 27
`
`INTF 34 ~
`INTF 33 r-
`INTF 32 l
`I -·
`MEMORY22
`
`23
`
`ROM24
`
`BIOS 26 RAM25 I
`
`I
`
`l
`I
`
`OPERATING
`SYSTEM 35
`
`APPLICATION
`PROGRAMS 7
`
`PROGRAM
`MODULE 37
`
`PROGRAM DATA 38
`
`MICROPHONE
`43
`
`KEYBOARD 40
`
`MOUSE
`42
`
`\.
`
`NETWORK
`ADAPTER
`53
`
`SERIAL PORT
`INTERFACE 46
`
`~
`
`I
`
`I
`MODEM 54
`
`MONITOR
`47
`
`...
`
`_.
`
`LAN
`51
`
`REMOTE
`COMPUTER
`49
`
`I
`
`MEMORY
`50
`
`WAN
`52
`
`d .
`\JJ. .
`~
`~ ......
`~ = ......
`
`~
`~
`ri
`'"""'
`~-..J
`N c c
`
`N
`
`'J1 =(cid:173)~
`~ .....
`N
`0 .....,
`'"""' c
`
`e
`
`rJ'J.
`O'I
`~
`\0
`O'I
`\o
`""-l
`\0
`~
`lo-"
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 3of10
`
`US 6,496,979 Bl
`
`84
`
`c:::; c:::; c:::; CJ c:::; c::; c:::; c:::; c:::;
`c:::; CJ CJ CJ CJ CJ c:::; c:::;
`CJ CJ c:::; c::; CJ c:::; c:::; c:::; c:::;
`
`FIG. 3
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 4of10
`
`US 6,496,979 Bl
`
`3
`
`I
`I
`
`(
`
`MEMORY
`
`OS
`
`APP(S)
`
`REGISTRY
`
`LOAD
`MODULE
`
`90
`
`98
`
`
`
`5A -5C
`
`97
`
`9
`9
`
`96
`
`(
`PROCESSOR pl
`J~
`
`1/0
`
`88
`
`92 "-
`
`94
`
`~ SERIAL
`
`l
`
`FIG.4
`
`

`
`L
`
`-104'
`
`APPLICATION
`PROGRAM
`BINARY FILES
`
`APPLICATION
`PROGRAM
`BINARY FILES
`
`(
`
`104"
`
`APPLICATION
`PROGRAM
`BINARY FILES
`
`I i
`
`.. + ...
`
`.. j
`L-)2
`
`110
`
`SETUP
`INFORMATION
`SCRIPT
`
`FIG. 5
`l (10A"
`
`(105
`
`OPTIONAL
`ISV CREATED 1 - - (cid:173)
`SETUP.DLL
`
`-·-
`
`OPTIONAL
`ISVCREATED
`SETUP.DLL
`
`105'
`l-:/
`
`(106
`
`DESIRED
`CPUs
`
`I
`
`~
`GENERATOR
`MODULE
`
`I
`
`10~
`
`'
`
`I
`
`OPTIONAL
`ISVCREATED
`SETUP.DLL
`
`I\
`I \105"
`
`1
`10A'
`~
`SETUP
`PACKAGE
`FILE
`
`•
`r
`
`SETUP
`PACKAGE
`FILE
`
`SETUP
`PACKAGE
`FILE
`
`d .
`\JJ. .
`~
`~ ......
`~ = ......
`
`~
`~
`ri
`'"""'
`~-..J
`N c c
`
`N
`
`rF.J. =(cid:173)~
`~ .....
`Ul
`0 .....,
`'"""' c
`
`e
`
`rJ'J.
`O'I
`~
`\0
`O'I
`\o
`""-l
`\0
`~
`!>-"
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 6of10
`
`US 6,496,979 Bl
`
`APPLICATION INFORMATION
`AND
`"COMPILED' 1 SETUP
`INFORMATION FILE
`
`ISV-CREATED "SETUP. DLL"
`
`~
`
`APPLICATION FILE 1
`
`'
`
`APPLICATION FILE 2
`
`120A
`__.)
`
`12 OB
`
`J
`J
`
`1 20C
`
`APPLICATION FILE N
`
`10A_/
`
`FIG. 6
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 7of10
`
`US 6,496,979 Bl
`
`130
`
`RECEIVE SETUP J
`
`PACKAGE FILE
`
`CHECK TO SEE IF THE
`SETUP PACKAGE FILE
`IS VALID FOR THE
`MOBILE DEVICE
`
`131
`
`I)
`
`132
`
`DOES SETUP PACKAGE _,/
`FILE CORRESPOND TO AN YES
`1 - - - - - - .
`ALREADY- INSTALLED
`APPLICATION PROGRAM
`?
`
`NO
`
`NO
`
`1341
`.-----.......... - - - - - - ,
`I)
`REINSTALL
`APPLICATION
`?
`
`, ,
`
`STOP
`
`YES
`
`_,, __ ___...__~~
`
`,,
`(A)PARSE "COMPILED" SETUP
`INFORMATION FILE
`(B)MAKE REGISTRY SETTINGS
`(C)COPY APPLICATION FILES
`
`138
`
`, ,
`....------......._ __ '-,~- 140
`RESTORE USER SETTINGS
`REPOPULATE USER
`DATABASE
`
`)
`
`FIG. 7
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 8 of 10
`
`US 6,496,979 Bl
`
`160
`
`162
`
`CONNECT
`MOBILE DEVICE TO
`DESKTOP COMPUTER
`
`DETERMINE TYPE
`OF MOBILE DEV:CE
`CONNECTED
`
`164
`
`DISPLAY AVAILABLE
`APPLICATION PROGRAMS
`AS A LIST OR AS
`PRESELECTED COLLECTIONS
`
`166
`
`TRANSFER SELECTED
`SETUP PACKAGE
`FILES
`
`FIG. 8
`
`

`
`U.S. Patent
`
`Dec. 17, 2002
`
`Sheet 9of10
`
`US 6,496,979 Bl
`
`163
`
`j
`
`I Jordan Application Manager
`
`To add or remove an application, click on box.
`
`A disabled box means that you can only remove the application
`from the mobile device.
`
`165
`
`I Microsoft Pocket Pow~o_i_nt.;:_ __ 1:....;:5:....;:6...:..... 9;...:.K..:...-l
`
`Microsoft Voice Recorder
`
`234.0K
`
`Details
`
`Space required
`
`Space available on drive
`
`156.9K
`
`264.SK +---------
`
`Description----~-~------------
`
`Microsoft Pocket Powerpolnt
`
`173
`
`Remove
`
`Install using the default application directory
`
`OK
`
`I I Cancel 11 Help
`
`167
`
`175
`
`

`
`183
`
`189
`
`~181
`
`I Add/Remove program p;operties·-
`x
`
`Theme ~cc~s---
`
`J2]
`
`Comr _e~n~t~s-·~---------~--~
`0.1MB
`Accessibility Options
`8.1MB
`Accessories
`1.0MB
`Communications
`
`1~'
`
`Description - - - - - - - - .
`
`Includes single or two games
`Two player games can be played with
`another HPC using infra-red or with
`a desktop computer using the
`I I
`serial cable.
`! O of 1 O components selected
`L_ ______ ---1..I _ Details
`
`I
`
`.
`
`Space required
`
`600bytes
`
`193
`I
`
`Space available on H PC
`
`1200bytes
`
`To add or remove a component, click the box.
`A shaded box means that only part of the component
`wm be installed. To see what's included in a
`component, click Details.
`L - -
`
`[
`
`I I
`
`Canc~I
`
`I
`
`\ OK
`""'=-= 191
`
`d .
`\JJ. .
`~
`~ ......
`~ =
`......
`
`~
`~
`ri
`"'""
`~-..J
`N c c
`
`N
`
`rF.J. =-~
`~ .....
`"'"" c
`0 .....,
`"'"" c
`
`e
`
`rJ"J.
`O'I
`~
`\0
`O'I
`\o
`-....l
`\0
`~
`!>-"
`
`

`
`US 6,496,979 Bl
`
`1
`SYSTEM AND METHOD FOR MANAGING
`APPLICATION INSTALLATION FOR A
`MOBILE DEVICE
`
`REFERENCE TO CO-PENDING PATENT
`APPLICATIONS
`
`2
`fers each file of the application onto the computing device,
`storing it as required in preselected directories so as to be
`accessed by the application. Registry values are then
`changed in accordance with the requirements of the appli(cid:173)
`cation. In some systems, the desktop computer executes a
`script file which contains a listing of each file needed for the
`application and transfers the file sequentially down to the
`mobile device.
`One significant problem associated with the latter method
`occurs if the connection between the desktop computer and
`the mobile device is disrupted during the downloading
`procedure. For example, from inadvertent or accidental
`error, the connection may be broken only after some of the
`files required by the application have been transferred. In
`15 this event, the mobile computing device contains only some
`of the necessary files for the application and the download(cid:173)
`ing procedure must be repeated. If more than one application
`is being transferred down to the mobile device, this may
`require the entire procedure to be repeated.
`Another significant problem involves the script file itself
`and, in particular, error handling. When installing an appli(cid:173)
`cation from the desktop computer to the mobile device using
`a simple script file, the installation program must perform
`"run-time" error handling such as with missing files, and
`25 errors in the script file. These problems would be encoun(cid:173)
`tered by the end-user. Ideally, these problems should be
`resolved at "compile-time", before the application setup
`program is in its final product state. End-users should not
`need to encounter problems like these when installing an
`30 application to their mobile device.
`Another significant drawback of the current method of
`installing applications onto a mobile device is the require(cid:173)
`ment of the mobile device to be connected to the desktop
`computer in order to transfer the desired application. This
`requires the user to first install an application for the mobile
`device onto the desktop computer, and then, after a connec(cid:173)
`tion has been made, transfer the application from the desktop
`computer to the mobile device.
`There is a continuing need to overcome the shortcomings
`of the present methods for installing applications onto a
`mobile computing device. In particular, there is a need to
`reduce the number of operations necessary to be performed
`by the user in order to install an application. In addition, the
`actual application installation procedure should not need to
`handle errors that can be resolved before the final product is
`shipped. The user should also have the ability to install an
`application from sources other than the dedicated desktop
`computer.
`In addition, many times the application must be uniquely
`written to run on a specific mobile device. Thus, there may
`be many variations of the same application, each being
`designed for a different type of CPU. There is a need to
`easily create the variations of the application as well as
`easily ascertain and access the correct variation if all are
`stored on the same desktop computer for use by multiple
`mobile device users having different CPU platforms.
`
`The present application claims priority from and fully
`incorporates herein, U.S. Provisional patent application Ser.
`No. 60/063,164, filed on Oct. 24, 1997, and U.S. Provisional
`patent application Ser. No. 60/064,986, filed on Nov. 7, 10
`1997.
`
`BACKGROUND OF THE INVENTION
`
`20
`
`The present invention relates to personal mobile comput(cid:173)
`ing devices commonly known as handheld portable com(cid:173)
`puters. More particularly, the present invention relates to a
`system and method for creating an application setup package
`for installing application programs onto such devices, and
`managing installed application device programs from the
`desktop computer.
`Mobile devices are small electronic computing devices
`often referred to as personal digital assistants. Two such
`mobile devices are sold under the trade name Handheld PC
`(or "H/PC") and also Palm PC (or "P/PC") by Microsoft
`Corporation of Redmond, Wash. Although small, a wide
`variety of computing tasks and applications can be per(cid:173)
`formed by such mobile devices, such as word processing,
`spread sheet programs, personal money managers and
`games, to name a few. In many respects, these programs are
`very similar to programs that reside on an individual's
`desktop computer. In some applications, the mobile device
`may not have as many functions as that available on the
`desktop computer, but nevertheless, are quite valuable as a
`means for updating and changing data in the field where 35
`even a laptop computer may not be available or used
`conveniently.
`As stated above, a mobile device can be used in conjunc(cid:173)
`tion with a desktop computer. For example, the user of a
`mobile device may also have access to, and use, a desktop 40
`computer at work or at home. A user may typically run the
`same types of applications on both the desktop computer and
`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 informa- 45
`tion with, the mobile device. However, in view that the
`mobile device has limited storage capabilities, a user may
`not be able to install all applications he may have for the
`mobile device at the same time. In such instances, the user
`must remove those applications which are not necessary in 50
`order to make room for other desired applications.
`A number of significant problems exist when applications
`are deleted from or transferred to a mobile device from a
`desktop computer. Commonly, an application may include a
`number of files which must be correctly installed onto the 55
`mobile device in preselected directories, and settings must
`be made to the mobile device in order to properly configure
`the device for such applications. In some platforms, such as
`those sold by Microsoft Corporation of Redmond, Wash., a
`"Registry" is maintained. The Registry is a well-known 60
`database that is a source of information about applications
`present on the computing device. This information is used
`by applications that require persistent data storage (such as
`user settings). One method for installing a new application
`on the mobile computing device includes connecting the 65
`mobile computing device to a desktop computer having a
`stored copy of the desired application. The user then trans-
`
`SUMMARY OF THE INVENTION
`A system and method of installing applications for a
`plurality of mobile devices from a storage source, wherein
`each mobile device is of a different type, includes storing on
`the storage source a plurality of applications. Each applica(cid:173)
`tion is designed for a unique type of mobile device. The
`mobile device is connected to the storage source and the type
`of mobile device is detected. A selected application is then
`transferred to the mobile device.
`
`

`
`US 6,496,979 Bl
`
`3
`A system and method of installing program applications
`from a storage source onto a mobile device includes in one
`aspect, storing the necessary application files and registry
`information in a single setup package. The setup package
`comprises a single file having a first portion comprising
`application setup instructions and a second portion compris(cid:173)
`ing application files. The application setup instructions
`include setup information such as settings to be made on the
`mobile device and where the application files are to be stored
`on the mobile device. Upon selection by a user, the setup
`package file is transferred and stored on the mobile device.
`The setup package file is then unpacked, installing the
`executable application program on the mobile device and,
`preferably, the setup package file is subsequently automati(cid:173)
`cally deleted.
`In another broad aspect of the present invention, a system 15
`and method of installing a program application from a
`storage source onto a mobile device includes storing on the
`storage source a plurality of setup package files, with each
`setup package file corresponding to one or more types of
`mobile devices. Upon connection of a mobile device to the 20
`storage source, the system detects the type of mobile device
`from a plurality of known mobile devices. The system then
`selects the setup package file applicable to the detected
`mobile device.
`In another broad aspect of the present invention, a method 25
`of installing a program application on a mobile device
`includes storing information on the mobile device indicative
`of the application to be installed, and deleting the informa(cid:173)
`tion on the mobile device as the application is being installed
`on the mobile device.
`In yet another broad aspect of the present invention, a
`computer-readable medium having stored thereon data
`structure for installing a program application from a storage
`source onto a mobile device is disclosed. The data structure
`includes a first portion comprising application specific infor(cid:173)
`mation and a second portion comprising application files.
`The application specification information includes setup
`information such as settings to be made on the mobile device
`and where the application files are to be stored on the mobile
`device.
`
`4
`mobile device 3 and a desktop computer 4. The mobile
`device 3 includes one or more application programs indi(cid:173)
`cated at SA, SB and SC, and a store 6. The desktop computer
`4 also includes one or more application programs indicated
`at 7A, 7B, 7C and 7D, and a store 8. The mobile device 3
`and the desktop computer 4 are connectable by one of a
`plurality of known connection mechanisms 9, such as a
`serial connection, an infrared link or a modem connection
`via the Internet or a direct dial. The form of the connection
`10 mechanism 9 is irrelevant, but additional forms of connec(cid:173)
`tions are described in copending application entitled "INTE(cid:173)
`GRATED COMMUNICATIONS ARCHITECTURE ON A
`MOBILE DEVICE" filed on even herewith, which is incor(cid:173)
`porated herein by reference.
`In one embodiment of the present invention, application
`programs 7A-7D are applications for a word processing
`program, a personal money manager, a spread sheet
`program, or a game program, to name just a few. The store
`8 is a memory which is configured to store a plurality of
`individual files for running the program or for maintaining
`data such as records or objects entered by the user. The
`desktop computer 4 executes the application programs
`7A-7D and uses the files and objects stored in store 8 as
`necessary.
`The application programs SA-SC are designed to access
`data stored in the store 6 in a manner similar to the
`applications programs 7A-7D residing on the desktop com(cid:173)
`puter 4. In some embodiments, the application programs
`SA-SC have been optimized or reduced in some manner to
`30 run on the mobile device 3 in view of typically limited
`memory available on the store 6. For instance, the applica(cid:173)
`tion program 7Aon the desktop computer 4 may be a word
`processor such as Word brand word processor sold by
`Microsoft Corporation, while the application program SA on
`35 the mobile device 3 may be Pocket Word brand word
`processor sold by Microsoft Corporation. However, since
`the mobile device 3 has limited memory making up the store
`6, the user may not be able to install all programs corre(cid:173)
`sponding to application programs 7A-7D, or other desired
`40 programs onto the mobile device 3 at any one time. In the
`embodiment illustrated, this is illustrated wherein three
`application programs SA-SC reside on the mobile device 3,
`while four application programs 7A-7D reside on the desk(cid:173)
`top computer 4. Thus, it may be necessary for the user to
`45 occasionally remove one or all of the application programs
`SA-SC installed on the mobile device 3 in order to install
`and run the desired applications. In the embodiment
`illustrated, all necessary information for installing the appli(cid:173)
`cation programs SA-SC onto the mobile device 3 are stored
`50 in the store 8 in one of a plurality of unique setup package
`files indicated at 10. Specifically, setup package file lOA
`contains or includes all of the program files and the user
`settings for installing the application program SA onto the
`mobile device 3. Similarly, setup package file lOB includes
`55 all of the program files and usersettings for installing the
`application program SB onto the mobile device 3, while
`setup package file lOC includes all of the files and user
`settings for installing the application program SC onto the
`mobile device 3. As stated above, application programs
`60 SA-SC are similar but not necessarily identical to applica(cid:173)
`tion programs 7 A-7C on the desktop computer 4. A setup
`package file lOC for mobile device 3 indicated in the store
`8 contains all of the files and user settings for installing and
`running the program SC on the mobile device 3.
`In view that the setup package files lOA-lOD are each a
`single file containing all files and settings necessary for
`installing the corresponding application programs onto the
`
`65
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram illustrating one environment in
`which the present invention operates.
`FIG. 2 is a block diagram of one embodiment of a
`conventional desktop computer used in conjunction with a
`mobile device.
`FIG. 3 is a simplified pictorial illustrating one embodi(cid:173)
`ment of a mobile device in accordance with the present
`invention.
`FIG. 4 is one embodiment of a simplified block diagram
`of the mobile device shown in FIG. 3.
`FIG.Sis a pictorial illustrating creation of an application
`for use on the mobile device.
`FIG. 6 is a pictorial representation of a file created in
`accordance with the pictorial of FIG. S.
`FIG. 7 is a flow diagram illustrating operation of an
`installer module on the mobile device.
`FIG. 8 is a flow diagram illustrating operation of an
`application manager module.
`FIGS. 9 and 10 illustrate user interfaces displayed by the
`application manager module.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`FIG. 1 is a block diagram of one environment 2 in which
`the present invention operates. Environment 2 includes a
`
`

`
`US 6,496,979 Bl
`
`5
`mobile device 3, the setup package files are not limited to
`use solely on a desktop computer 4. For instance, referring
`to FIG. 1, the mobile device 3 can be connected through the
`communication link 9 to a Local or a wide area network 4A,
`for example, the Internet. Although the actual creation of the
`setup package file would be done by an independent soft(cid:173)
`ware vendor (ISV), requiring a suitable desktop computer,
`once the setup package file has been stored on a server (not
`shown), the mobile device 3 can access the stored setup
`package file on the local or wide area network 4A using a
`suitable browser.
`In yet another operating environment, the mobile device
`3 can be connected to a second mobile device 4B through the
`suitable communication link 9. In this manner, application
`programs can be transferred between the mobile devices 3
`and 4B.
`In addition, the setup package files lOA-lOD can be
`transferred to the mobile device 3 using a removable storage
`or memory card 3A, which are commonly present in mobile
`devices.
`Generally, one broad aspect of the present invention
`includes the creation of the setup package files lOA-lOD for
`installing the corresponding programs onto the mobile
`device 3. Another broad aspect includes the unique structure
`of the setup package files lOA-lOD. Yet, another broad
`aspect of the present invention includes an application
`manager module 12 provided on the desktop computer 4 to
`manage the uninstalling and installing of the setup package
`files lOA-lOD onto the mobile device 3 as requested by the
`user.
`Before describing aspects of the present invention, a brief
`description of the desktop computer 4 and the mobile device
`3 will be helpful.
`FIGS. 2, 3 and 4 and the related discussion are intended
`to provide a brief, general description of a suitable comput(cid:173)
`ing environment in which the invention may be imple(cid:173)
`mented. 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 the desktop computer 4 or the mobile
`device 3. Generally, program 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 the invention may be practiced with other computer
`system configurations, including other handheld devices,
`such as palmtop computers, 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(cid:173)
`puting environment, program modules may be located in
`both local and remote memory storage devices.
`With reference to FIG. 2, an exemplary system for imple(cid:173)
`menting the invention includes a general purpose computing
`device in the form of a conventional personal or desktop
`computer 4, including a processing unit (CPU) 21, a system
`memory 22, and a system bus 23 that couples various system
`components including the system memory 22 to the pro(cid:173)
`cessing unit 21. The system bus 23 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 22 includes
`read only memory (ROM) 24 and random access memory
`
`10
`
`6
`(RAM) 25. A basic input/output (BIOS) 26, containing the
`basic routine that helps to transfer information between
`elements within the desktop computer 4, such as during
`start-up, is stored in ROM 24. The desktop computer 4
`further includes a hard disk drive 27 for reading from and
`writing to a hard disk (not shown), a magnetic disk drive 28
`for reading from or writing to removable magnetic disk 29,
`and an optical disk drive 30 for reading from or writing to
`a removable optical disk 31 such as a CD ROM or other
`optical media. The hard disk drive 27, magnetic disk drive
`28, and optical disk drive 30 are connected to the system bus
`23 by a hard disk drive interface 32, magnetic disk drive
`interface 33, and an optical drive interface 34, respectively.
`The drives and the associated computer-readable media
`15 provide nonvolatile storage of computer readable
`instructions, data structures, program modules and other
`data for the desktop computer 4.
`Although the exemplary environment described herein
`employs the hard disk, the removable magnetic disk 29 and
`20 the removable optical disk 31, 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, Bernoulli cartridges, random access memories
`25 (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 29, optical disk 31, ROM 24 or RAM 25,
`including an operating system 35, one or more of the
`30 application programs 7A-7D, other program modules 37,
`and program data 38. A user may enter commands and
`information into the desktop computer 4 through input
`devices such as a keyboard 40, a pointing device 42 and a
`microphone 43. Other input devices (not shown) may
`35 include a joystick, game pad, satellite dish, scanner, or the
`like. These and other input devices are often connected to the
`processing unit 21 through a serial port interface 46 that is
`coupled to the system bus 23, but may be connected by other
`interfaces, such as a sound card, a parallel port, a game port
`40 or a universal serial bus (USE). A monitor 47 or other type
`of display device is also connected to the system bus 23 via
`an interface, such as a video adapter 48. In addition to the
`monitor 47, personal computers may typically include other
`peripheral output devices, such as a speaker and printers (not
`45 shown).
`The desktop computer 4 may operate in a networked
`environment using logic connections to one or more remote
`computers, such as a remote computer 49. The remote
`computer 49 may be another personal computer, a server, a
`50 router, a network PC, a peer device or other network node,
`and typically includes many or all of the elements described
`above relative to the desktop computer 4, although only a
`memory storage device 50 has been illustrated in FIG. 1. The
`logic connections depicted in FIG. 1 include a local area
`55 network (LAN) 51 and a wide area network (WAN) 52. Such
`networking environments are commonplace in offices,
`enterprise-wide computer network Intranets and the Internet.
`When used in a LAN networking environment, the desk(cid:173)
`top computer 4 is connected to the local area network 51
`60 through a network interface or adapter 53. When used in a
`WAN networking environment, the desktop computer 4
`typically includes a modem 54 or other means for establish(cid:173)
`ing communications over the wide area network 52, such as
`the Internet. The modem 54, which may be internal or
`65 external, is connected to the system bus 23 via the serial port
`interface 46. In a network environment, program modules
`depicted relative to the desktop computer 4, or portions
`
`

`
`US 6,496,979 Bl
`
`7
`thereof, may be stored in the remote memory storage
`devices, not shown. It will be appreciated that the network
`connections shown are exemplary and other means of estab(cid:173)
`lishing a communications link between th

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