`Hans et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,941,656 B2
`May 10, 2011
`
`USOO7941656B2
`
`(54) CARD DEVICE FOR LOADING
`APPLICATIONS TO A MOBILE DEVICE
`(75) Inventors: Sebastian J. Hans, Berlin (DE); Eduard
`K. de Jong, Dyfed (GB)
`
`(73) Assignee: Oracle America, Inc., Redwood City,
`CA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1458 days.
`
`(21) Appl. No.: 11/374,937
`
`(22) Filed:
`
`Mar 13, 2006
`e - a 9
`Prior Publication Data
`US 2006/0212537 A1
`Sep. 21, 2006
`Foreign Application Priority Data
`
`(65)
`
`(30)
`
`Mar. 16, 2005 (EP) ..................................... 05.005728
`(51) Int. Cl.
`(2006.01)
`G06F 9/00
`(2006.01)
`G06F 9/24
`(52) U.S. Cl. ................ 713/2: 713/1: 71.3/100; 713/191:
`713/189: 713/190: 455,418. 455,419. 455,420.
`455/558. 455,414.1. 455/4323. 455,403.
`709/220; 709/27. 717/1 68. 717/1 69. 717/70.
`717/171: 717/172
`s
`None
`(58) Field of Classification Search
`h historv.
`S
`lication file f
`let
`ee appl1cauon Ille Ior complete searcn n1Story
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`235,379
`6,039.247 A * 3, 2000 Reccia et all
`6,250,557 B1 * 6/2001 Forslund et al. .............. 235,402
`6,788,926 B1* 9/2004 Frangione et al. ............ 455,405
`6,978,453 B2 * 12/2005 Rao et al. ...................... 717/171
`
`6,996,818 B2 * 2/2006 Jacobi et al. .................. 717/170
`7,058,890 B2 *
`6/2006 George et al. ................. 71.5/728
`7,139,372 B2 * 1 1/2006 Chakravorty et al. ... 379/114.01
`7,197,322 B1* 3/2007 Rayb
`tal. ............ 455,456.1
`7,258.267 B2 * 8/2007 E. urn era.
`... 235,379
`2002/O128984 A1* 9, 2002 Mehta et al. .................... 705/71
`2002/0131404 A1* 9, 2002 Mehta et al. .......
`370,352
`2003/0023963 A. 1/2003 Birkholz et al. ...
`717/172
`2007/OO79142 A1
`4/2007 Leone et al. .......
`T13, 193
`20090318171 A1* 12/2009 Backholm et al. .
`... 455,466
`2010, 0146500 A1* 6, 2010 Joubert et al. ................ 717/178
`OU
`FOREIGN PATENT DOCUMENTS
`133 1559 A2 * 7, 2003
`EP
`1 498 812
`1, 2005
`EP
`1538.855 A2 * 6, 2005
`EP
`WO O2/44892
`6, 2002
`WO
`WOO3,O73273
`9, 2003
`WO
`* cited by examiner
`Primary Examiner — Syed A. Zia
`(74) Attorney, Agent, or Firm — Gunnison, McKay &
`Hodgson, L.L.P.: Forrest Gunnison
`(57)
`ABSTRACT
`A system for loading application identifiers to a mobile
`device includes a mobile device, a card device insertable into
`the mobile device, and an application center. The card device
`is adapted to determine an effective mobile device identifier
`of the mobile device, and transmit the effective mobile device
`identifier to the application center. The effective mobile
`device identifier is based at least in part on the result of a
`process performed by the card device. The application center
`is adapted to (1) determine Zero or more allotted application
`identifiers and Zero or more application identifiers of appli
`cations loaded on the mobile device based at least in part on
`the effective mobile device identifier, (2) identify at least one
`application identifier of the Zero or more allotted application
`identifiers which does not form part of the Zero or more
`application identifiers of applications loaded on the mobile
`device, and (3) load the at least one application identifier to
`the mobile device.
`22 Claims, 10 Drawing Sheets
`
`066
`
`95
`
`5
`
`Processing Unit
`
`Application Center
`
`1050
`
`55
`
`Memory Unit
`
`066
`
`Program store
`
`Application Store
`
`ApplicatioF
`Manager
`listrictids
`
`Allotted Application
`identifiers
`
`Application loader
`lists
`--
`070
`
`Loaded Application
`identifiers
`
`
`
`
`
`Moblawlce
`
`452
`
`88wice
`
`d 4. identifier
`2 88
`to 4 Effective Mobile
`Deiosidentifier
`
`Application
`listier
`
`
`
`22
`
`sile or Upit
`Memory Unit
`Assignid
`askie wic
`kdentir
`
`2
`
`cPU
`
`Card dewlce
`Memory Unit
`and swice
`lenir
`
`t2
`
`08
`
`92
`
`09
`
`1084
`
`Page 1 of 28
`
`SAMSUNG EX-1073
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 1 of 10
`
`US 7,941,656 B2
`
`
`
`Application Center
`
`
`
`
`
`
`
`
`
`
`
`Application
`Manager
`
`Application
`Loader
`
`Assigned
`
`Mobile Device
`Identifier
`Card Device
`
`152
`
`4. dentifier
`
`
`
`
`
`Allotted
`Application
`ldentifier(s)
`
`Loaded
`Application
`identifier(s)
`
`151
`
`4.
`
`identifier
`
`154
`
`Effective Mobile
`Device dentifier
`7 - all
`
`155
`
`
`
`Mobile Control Uni Z
`Assigned Mobile
`Device dentifier
`
`120
`
`124
`
`Fig. 1
`
`Application
`Management
`Request
`
`162
`
`
`
`
`
`
`
`
`
`:
`
`Persistent: Transient:
`Mobile
`::
`Mobile
`:
`Device
`:
`Device
`identifier ::
`Identifier
`
`Page 2 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 2 of 10
`
`US 7,941,656 B2
`
`Perform initial Mobile Device Boot
`
`
`
`
`
`Perform Application Management
`
`Perform Application loading
`
`2OO
`
`205
`
`210
`
`Fig. 2
`
`Page 3 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 3 of 10
`
`US 7,941,656 B2
`
`Enroll User For Application
`
`Bootstrap Mobile Device
`
`Trigger Application Management
`
`Application Management Server
`Process
`
`User Feedback
`
`loading
`
`Administrative Update
`
`
`
`
`
`
`
`
`
`3OO
`
`305
`
`310
`
`315
`
`32O
`
`325
`
`330
`
`Fig. 3
`
`Page 4 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 4 of 10
`
`US 7,941,656 B2
`
`Mobile Device
`(Card Device And
`Mobile Control Unit
`
`Initialization
`450
`
`401
`
`Application Center
`
`455
`
`Determine Effective Mobile Device
`dentifier
`
`Request A Device identifier
`
`402
`
`Transmit Effective Mobile Device
`identifier To The Application Center
`
`Receive lodentifier
`
`Application
`Management
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Determine Zero Or More Allotted
`Application ldentifiers And Zero Or
`More Application identifiers
`installed On The Mobile Devices
`Associated With The Mobile Device
`Based On The Effective Mobile
`Device identifier
`
`Determine An Application identifier
`Of The Zero Or More Allotted
`Application identifiers Which Does
`Not Form Part Of The Zero Or More
`Application dentifiers installed On
`The Mobile Device
`
`42
`
`403
`
`404
`
`405
`
`410
`
`
`
`Transmit Application To Mobile
`Device
`
`Application
`Loading
`
`Receive Application
`
`4.08
`
`install Application
`
`Fig. 4
`
`Page 5 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 5 of 10
`
`US 7,941,656 B2
`
`Determine Load Event
`
`515 505
`510
`
`501
`
`Card Device
`Serving Network 1 Mobile
`Control Unit
`
`Determine Whether An Application Management
`Condition is Fulfilled, including At Least One Of:
`1. Lapse Of Time
`2. Change Of Location Of The Mobile Device
`3. A Handover Between Serving Networks
`4. Handover Between Cells Of A Serving Network
`5
`. User Request
`6. Move Card Device From A First Mobile Device
`To A Second Mobile Device (Effective Mobile
`Device identifier Of First Mobile Device Does Not
`Match Effective Mobile Device dentifier Of Second
`Mobile Device)
`
`No
`
`530
`
`525
`
`
`
`502
`
`52O
`
`
`
`
`
`Application Management
`Condition Fulfilled 2
`
`Yes
`
`Fig. 5
`
`Page 6 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 6 of 10
`
`US 7,941,656 B2
`
`Mobile Device
`Mobile control unity
`
`675 so
`Switch
`on'
`-
`-
`Initialization
`
`615
`
`617
`
`610
`
`Receive dentification
`Request
`
`Store Received
`Assigned Mobile
`Device dentifier
`
`Determine if Mobile
`
`Niotic
`-
`
`635
`
`Trigger
`
`ganisatists
`Mobile Device
`dentifier
`
`620
`I
`Trigger
`Receive Content
`Management Request
`
`
`
`Receive Application
`Management Request
`
`Determine Effective
`obile Device
`identifier
`
`640
`Application
`Management
`
`645 Compose Application
`Management Request
`Response Comprising
`The Effective Mobile
`Device dentifier And
`Possibly identification
`Of Changed Mobile
`
`Receive Application
`Management Request
`Response And
`Forward Effective
`Mobile Device
`identifier
`
`-
`
`660
`
`Application
`Center
`
`Network
`
`695
`
`697
`
`90
`685
`N
`
`600
`
`605
`
`orror
`Event
`
`Trigger
`
`625
`
`655
`
`Receive Effective
`Mobile Device
`identifier
`
`H Determine Allotted H
`Application
`identifiers Based
`On The Effective
`Mobile Device
`identifier
`
`665
`
`Application
`Loading
`
`670
`
`
`
`Fig. 6
`
`|
`Determine
`Applicatio
`Send E. Application
`Application
`identifiers installed
`Loaded List
`On The Mobile
`E. Device Based On
`The Effective
`Mobile Device
`dentifier
`
`Page 7 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 7 of 10
`
`US 7,941,656 B2
`
`Mobile Device
`
`t O cades D Mobile Control Unit
`780
`785
`
`790
`
`797
`
`Application Center
`700
`
`795
`
`identify An
`Application Of The
`Allotted
`Application
`dentifiers Which
`Do Not Form Patt
`Of The Application
`identifiers installed
`On The Mobile
`
`Determine User
`input Required For
`Loadable
`Applications
`
`
`
`Send List Of
`Approvals | Choice
`
`
`
`720
`
`
`
`
`
`List
`
`Display List
`
`User Selection
`
`Receive User
`Selection
`
`Remove
`Unselected items
`From list
`
`Send Modified
`List
`
`740
`
`Fig. 7
`
`Page 8 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 8 of 10
`
`US 7,941,656 B2
`
`i.
`
`Mobile Dewice
`
`sos
`
`88O
`
`Application Center
`
`o
`890 as
`
`800
`
`897
`
`885
`
`Receive
`
`Transmit Mobile
`
`Parapplication." lsiorum
`
`820
`
`Receive
`Application
`
`8
`25
`
`
`
`Send Proof Of
`Loading
`
`
`
`855
`
`|
`|
`
`8
`
`P
`
`0.
`p
`d
`
`O
`
`s
`
`s
`
`830
`
`Install Application:
`
`O. O.
`Sign Proof Of
`loading H ar
`840
`
`Determine Proof :
`Of Loading
`
`864
`
`s
`
`865
`
`Send Proof Of
`Loading
`
`860 :
`
`Receive Proof. Of
`Loading
`
`862
`
`Send Application
`Loaded List
`
`45
`8
`
`installed
`Application
`List
`
`AiR
`Loaded List
`
`850
`
`Fig. 8
`
`Page 9 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 9 of 10
`
`US 7,941,656 B2
`
`Mobile Device
`
`Application Center
`
`975 C class D tecs 990
`
`980
`
`985
`
`s tw o
`
`
`
`
`
`Release Mobile
`Device Application
`
`
`
`Release Card
`Device Application
`
`
`
`
`
`Release
`Application
`
`970
`
`
`
`Update loaded
`Application
`identifier(s)
`
`Update Loaded
`Application
`Register
`
`
`
`905
`
`Fig. 9
`
`Page 10 of 28
`
`
`
`U.S. Patent
`
`May 10, 2011
`
`Sheet 10 of 10
`
`US 7,941,656 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Processing Unit
`
`1095
`
`
`
`Application Center
`
`1050
`
`1055
`
`Memory Unit
`
`Program Store
`
`Application Store
`
`Application
`Manager
`instructions
`
`
`
`Allotted Application
`Identifier(s)
`
`Application Loader
`Instructions
`
`Loaded Application
`ldentifier(s)
`
`Mobile Device
`Identifier
`
`1OOO A
`t ldentifier
`
`Card Device
`
`1054
`
`Effective Mobile
`Device Identifier
`
`
`
`
`
`
`
`
`
`
`
`Application
`identifier
`
`Assigned
`Mobile Device
`identifier
`
`
`
`Card Device
`
`Fig. 10
`
`Page 11 of 28
`
`
`
`US 7,941,656 B2
`
`1.
`CARD DEVICE FOR LOADING
`APPLICATIONS TO A MOBILE DEVICE
`
`FIELD OF THE INVENTION
`
`The present invention relates to the field of computer sci
`ence, and more particularly to a card device for loading appli
`cations to a mobile device.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`2
`device when the mobile device is put into service, e.g. during
`manufacture of the mobile device, when entering a service
`contract with a user, or similar. Furthermore, applications
`may be installed on a card device upon putting a card device
`into service, including making a service contract with a user,
`upon manufacturing the card device, or similar. Thus, the
`mobile device and the card device will be equipped with a
`certain initial set of applications available for a user.
`However, if at a later point in time during regular operation
`of the mobile device requirements change, or if new services
`are subscribed to, an operator of the wireless network may
`want to install, remove or update applications available on the
`mobile control unit, the card device, or both.
`It is conceivable to load applications onto the mobile con
`trol unit, the card device, or both, in a specific service mode
`entered by a user, where the wireless link between the net
`work and the mobile device is used for downloading applica
`tions. However, this may require Substantial user interaction
`in selecting applications, and controlling the downloading of
`applications, which may lead to errors. Furthermore, as the
`network may not have full knowledge about applications or
`versions of applications available on the mobile device, appli
`cations may be loaded repeatedly or not at all.
`
`SUMMARY OF THE INVENTION
`
`A system for loading application identifiers to a mobile
`device includes a mobile device, a card device insertable into
`the mobile device, and an application center. The card device
`is adapted to determine an effective mobile device identifier
`of the mobile device, and transmit the effective mobile device
`identifier to the application center. The effective mobile
`device identifier is based at least in part on the result of a
`process performed by the card device. The application center
`is adapted to (1) determine Zero or more application identifi
`ers of applications loaded on the mobile device and Zero or
`more allotted application identifiers based at least in part on
`the effective mobile device identifier, (2) identify at least one
`application identifier of the Zero or more allotted application
`identifiers which does not form part of the Zero or more
`application identifiers of applications loaded on the mobile
`device, and (3) load the at least one application identifier to
`the mobile device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated into
`and constitute a part of this specification, illustrate one or
`more embodiments of the present invention and, together
`with the detailed description, serve to explain the principles
`and implementations of the invention.
`FIG. 1 is a block diagram that illustrates a communication
`environment for loading an application identifier to a mobile
`device in accordance with one embodiment of the present
`invention.
`FIG. 2 is a high level flow diagram that illustrates a method
`for loading one or more application identifiers to a mobile
`device from a system perspective in accordance with one
`embodiment of the present invention.
`FIG.3 is a low level flow diagram that illustrates a method
`for loading one or more application identifiers to a mobile
`device from a system perspective in accordance with one
`embodiment of the present invention.
`FIG. 4 is a flow diagram that illustrates initialization, appli
`cation management, and application loading methods from
`the perspectives of a mobile device and an application center
`in accordance with embodiments of the present invention.
`
`15
`
`25
`
`Wireless communication networks are becoming increas
`ingly popular and are widely used for communications in
`private and business environments. Wireless networks allow a
`wireless transmission of information between users, e.g. dur
`ing a telephone conversation between telephone terminals or
`a data communication between computing devices. Wireless
`networks generally operate according to a wireless commu
`nication standard, examples being the GSM (Global System
`for Mobile Communications) standard, the UMTS (Universal
`Mobile Telecommunications System) standard, also known
`as wide band CDMA (WCDMA), the CDMA2000 (Code
`Division Multiple Access 2000) standard, wireless local area
`network (WLAN) standards and others.
`Mobile communications networks are one type of wireless
`communication network that generally allows a user of a
`mobile device to at least roam within the coverage area of the
`serving network, and communications may be handed over
`between individual cells of the mobile network. Furthermore,
`fixed wireless networks are another type of wireless commu
`30
`nication network, which generally only allows a movement of
`a wireless device within a smaller defined area, such as an
`office or home.
`A mobile telephone is one type of wireless communication
`device, widely used in Voice communications, data commu
`35
`nications, or both. Similarly, a mobile computer is a type of
`wireless communication device which is able to connect to
`wireless communication networks for data transmission, for
`assisting in Voice communications with other communica
`tions or computing devices, or both.
`40
`Mobile devices such as mobile telephones or mobile com
`puting devices may include a card device for enabling access
`to a wireless network or a plurality of different wireless
`networks. The card device can be a type of plastic card
`embedded with a computer chip for storing data and for
`carrying out processing operations to enable the mobile
`device to access the network or networks. The card device
`may store information pertaining to a particular user or Sub
`scriber of a network, allowing a network operator to identify
`the user for properly directing calls to the user, for providing
`features of subscribed services, for billing purposes and other
`purposes. The card device may be insertable into the mobile
`device, into a dedicated slot or receiving compartment.
`Newer mobile devices typically have substantial comput
`ing power and are thus becoming increasingly versatile. In
`addition to offering simple communication services, e.g.
`Voice communication services, newer mobile devices may
`also offer data services for virtually any type of application,
`Such as information services, maintenance of personal infor
`mation, purchasing transactions, banking services, and other
`services.
`Accordingly, the mobile devices will be required to hold a
`number of different mobile application programs, for operat
`ing the mobile device and for enabling service provision.
`The application programs may be installed on a mobile
`control unit of the mobile device, or may be installed on the
`card device. An application may be installed on the mobile
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 12 of 28
`
`
`
`US 7,941,656 B2
`
`3
`FIG. 5 is a flow diagram that illustrates a method for deter
`mining a load event in accordance with one embodiment of
`the present invention.
`FIG. 6 is a flow diagram that illustrates initialization, appli
`cation management, and application loading methods from
`the perspectives of a user, a card device of a mobile device, a
`mobile control unit of the mobile device, an application cen
`ter, and a network in accordance with embodiments of the
`present invention.
`FIG. 7 is a flow diagram that illustrates application identi
`fier loading methods from the perspectives of a user, a card
`device of a mobile device, a mobile control unit of the mobile
`device, an application center, and a network, with particular
`emphasis on user input regarding loadable applications in
`accordance with embodiments of the present invention. FIG.
`7 is a continuation of FIG. 6.
`FIG. 8 is a flow diagram that illustrates application identi
`fier loading methods from the perspectives of a user, a card
`device of a mobile device, a mobile control unit of the mobile
`device, an application center, and a network, with particular
`emphasis on providing a proof of loading in accordance with
`embodiments of the present invention. FIG. 8 is a continua
`tion of FIG. 7.
`FIG. 9 is a flow diagram that illustrates application identi
`fier releasing methods from the perspectives of a user, a card
`device of a mobile device, a mobile control unit of the mobile
`device, an application center, and a network, with particular
`emphasis on performing administrative updates in accor
`dance with embodiments of the present invention. FIG. 9 is a
`continuation of FIG. 8.
`FIG.10 is a block diagram that illustrates a communication
`environment in accordance with one embodiment of the
`present invention, particularly illustrating elements of an
`application center and a mobile device.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`DETAILED DESCRIPTION
`
`4
`machines. The method can be run as a programmed process
`running on processing circuitry. The processing circuitry can
`take the form of numerous combinations of processors and
`operating systems, or a stand-alone device. The process can
`be implemented as instructions executed by Such hardware,
`hardware alone, or any combination thereof. The software
`may be stored on a program storage device readable by a
`machine.
`In addition, those of ordinary skill in the art will recognize
`that devices of a less general purpose nature, such as hard
`wired devices, field programmable logic devices (FPLDs),
`including field programmable gate arrays (FPGAs) and com
`plex programmable logic devices (CPLDS), application spe
`cific integrated circuits (ASICs), or the like, may also be used
`without departing from the scope and spirit of the inventive
`concepts disclosed herein.
`In accordance with one embodiment of the present inven
`tion, the method may be implemented on a data processing
`computer Such as a personal computer, workstation com
`puter, mainframe computer, or high performance server run
`ning an OS such as Solaris(R available from Sun Microsys
`tems, Inc. of Santa Clara, Calif., Microsoft(R) Windows(R XP
`and Windows(R 2000, available from Microsoft Corporation
`of Redmond, Wash., or various versions of the Unix operating
`system such as Linux available from a number of Vendors.
`The method may also be implemented on a mobile device
`running an OS such as Windows(R CE, available from
`Microsoft Corporation of Redmond, Wash., Symbian OSR),
`available from Symbian Ltd of London, UK, Palm OSR),
`available from PalmSource, Inc. of Sunnyvale, Calif., and
`various embedded Linux operating systems. Embedded
`Linux operating systems are available from vendors includ
`ing MontaVista Software, Inc. of Sunnyvale, Calif., and
`FSMLabs, Inc. of Socorro, N. Mex. The method may also be
`implemented on a multiple-processor system, or in a comput
`ing environment including various peripherals such as input
`devices, output devices, displays, pointing devices, memo
`ries, storage devices, media interfaces for transferring data to
`and from the processor(s), and the like. In addition, Such a
`computer system or computing environment may be net
`worked locally, or over the Internet.
`In the context of this description, the term “network”
`includes local area networks, wide area networks, the Inter
`net, cable television systems, telephone systems, wireless
`telecommunications systems, fiber optic networks, ATM net
`works, frame relay networks, satellite communications sys
`tems, and the like. Such networks are well known in the art
`and consequently are not further described here.
`In the context of this description, the term “randomized'
`describes the result of a random or pseudo-random number
`generation process. A “randomized process' describes the
`application of such a result to a process. Methods of generat
`ingrandom and pseudo-random numbers are known by those
`skilled in the relevant art.
`In the context of this description, the term “identifier”
`describes one or more numbers, characters, symbols, or the
`like. More generally, an “identifier describes any entity that
`can be represented by one or more bits.
`In the context of this description, the term “application
`identifier describes different applications with different
`functionality, different versions of the same application, or
`both. Thus, for example a version V1.1 of a particular service
`application can be considered to constitute a first application,
`while a version V1.2 of the same service application can be
`considered to constitute a second application.
`In the context of this description, an application identifier is
`“allotted to a device such as a mobile device or a card device
`
`40
`
`Embodiments of the present invention are described herein
`in the context of a system for loading applications to a mobile
`device. Those of ordinary skill in the art will realize that the
`following detailed description of the present invention is
`illustrative only and is not intended to be in any way limiting.
`Other embodiments of the present invention will readily sug
`gest themselves to such skilled persons having the benefit of
`this disclosure. Reference will now be made in detail to
`45
`implementations of the present invention as illustrated in the
`accompanying drawings. The same reference indicators will
`be used throughout the drawings and the following detailed
`description to refer to the same or like parts.
`In the interest of clarity, not all of the routine features of the
`implementations described herein are shown and described. It
`will, of course, be appreciated that in the development of any
`Such actual implementation, numerous implementation-spe
`cific decisions must be made in order to achieve the develop
`er's specific goals, such as compliance with application- and
`business-related constraints, and that these specific goals will
`vary from one implementation to another and from one devel
`oper to another. Moreover, it will be appreciated that such a
`development effort might be complex and time-consuming,
`but would nevertheless be a routine undertaking of engineer
`ing for those of ordinary skill in the art having the benefit of
`this disclosure.
`In accordance with one embodiment of the present inven
`tion, the components, process steps, and/or data structures
`may be implemented using various types of operating sys
`tems (OS), computing platforms, firmware, computer pro
`grams, computer languages, and/or general-purpose
`
`50
`
`55
`
`60
`
`65
`
`Page 13 of 28
`
`
`
`5
`if the executable application code that implements the appli
`cation is enabled for use on that particular type of device (i.e.
`the application code is capable of running on the type of
`mobile device), and if the application code is allowed for use
`on the particular device (i.e. the device user has paid for use of
`a service enabled by the application).
`In the context of this description, the term “loading an
`application identifier describes any operation or sequence of
`operations for installing or making available an application
`on a device, i.e. on the mobile control unit, the card device, or
`both. This includes compiling, downloading or storing coded
`instructions of an application on the card device or mobile
`control unit, such that, upon execution, the functionality of
`the application can be realized and utilized. Furthermore, the
`expression "loading application identifiers' as used in this
`description may refer to the operation of transferring one or
`more application identifiers, e.g. from an application center
`towards the mobile device, i.e. loading does not necessarily
`also include installing the application at the mobile device.
`In the context of this description, the term “releasing an
`application identifier describes any operation or sequence of
`operations for uninstalling or making unavailable an applica
`tion on a device, i.e. on the mobile control unit, the card
`device, or both. Releasing an application identifier may
`include releasing files associated with an application, such as
`image files. An application identifier may be released to
`increase availability of memory space or if application iden
`tifiers are no longer required for other reasons, such as if a
`certain service is un-subscribed, if a service provision is ter
`minated at the mobile device, or for other reasons.
`In the context of this description, the term “mobile device
`application identifier describes an application identifier
`associated with an application for loading on a mobile device.
`In the context of this description, the term “card device
`application identifier describes an application identifier
`associated with an application for loading on a card device.
`In the context of this description, an assigned mobile
`device identifier describes an identifier assigned to a mobile
`device prior to being issued to a mobile device user.
`In the context of this description, an assigned card device
`identifier describes an identifier assigned to a card device
`prior to being issued to a card device user or being configured
`with a mobile device.
`Turning now to FIG. 1, a block diagram that illustrates a
`communication environment for loading application identi
`fiers to a mobile device in accordance with one embodiment
`of the present invention is presented. The embodiment
`enables convenient downloading of application identifiers
`from an application center 100 to a mobile device 120 by
`maintaining information regarding application identifiers
`allotted to mobile device 120. Application center 100 may
`also maintain information regarding identifiers of applica
`tions loaded on mobile device 120. Application center 100
`may also maintain a relationship between one or more
`assigned mobile device identifiers and one or more card
`device identifiers, where an assigned card device identifier
`uniquely identifies a card device and an assigned mobile
`device identifier uniquely identifies a mobile device. Based at
`least in part on a comparison of the application identifiers
`already loaded on mobile device 120 and application identi
`fiers allotted for mobile device 120, application center 100
`determines additional application identifiers to be down
`loaded to the mobile device 120. Thus, application center 100
`ensures a desired set of application identifiers on mobile
`device 120, without requiring extensive user interaction and
`by reducing communication overhead.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,941,656 B2
`
`5
`
`10
`
`15
`
`6
`Still referring to FIG. 1, application center 100 is shown to
`include an application manager 101, an application loader
`102, Zero or more allotted application identifiers 103, and
`Zero or more application identifiers 104 of applications
`loaded on mobile device 120. Furthermore, FIG. 1 illustrates
`mobile device 120 including a card device 121 and a mobile
`control unit 122. Card device 121 may be removably attached
`to mobile device 120.
`In operation, application manager 101 of application cen
`ter 100 determines Zero or more allotted application identifi
`ers 103, and Zero or more application identifiers 104 of appli
`cations loaded on mobile device 120, based at least in part on
`an effective mobile device identifier 155 of mobile device
`120. Application manager 101 also identifies at least one
`application identifier of the Zero or more allotted application
`identifiers 103, which does not form part of the Zero or more
`application identifiers 104 of applications loaded on the
`mobile device 120. Effective mobile device identifier 155 is
`based at least in part on the result of a process performed by
`card device 121. Application loader 102 of the application
`center 100 then loads the at least one application identifier to
`mobile device 120.
`According to one embodiment of the present invention,
`application center 100 maintains a comprehensive overview
`of application identifiers allotted to and loaded to mobile
`device 120, or a plurality of mobile devices. Application
`center 100 loads only application identifiers, including dif
`ferent versions thereof, to mobile device 120, which are not
`already available at mobile device 120.
`To enable application center 100 to determine the Zero or
`more allotted application identifiers 103, and the Zero or more
`application identifiers 104 of applications loaded on mobile
`device 120, an assigned mobile device identifier 130 is trans
`mitted by mobile device 120 to application center 100 as
`illustrated with reference numeral 152 in FIG. 1. More pre
`cisely, card device 121 of mobile device 120 includes an
`application request unit 126 that responds to an application
`management request and an identification unit 125 that
`responds to a device identification request 124. Device iden
`tification request 124 is made by mobile control unit 122 to
`transfer assigned mobile device identifier 130 to card device
`121, and application management request 123 is made by
`mobile control unit 122 to transfer effective mobile device
`identifier 155 including the assigned mobile device identifier
`152 from card device 120 to application center 100. Upon
`receipt of effective mobile device identifier 155, application
`center 100: (i) determines the Zero or more allotted applica
`tion identifiers 103, and the Zero or more application identi
`fiers 104 of applications loaded on mobile device 120 based at
`least in part on the received effective mobile device identifier
`155; (ii) identifies at least one application identifier of the Zero
`or more allotted application identifiers 103 that does not form
`part of the Zero or more application identifiers 104 of appli
`cations loaded on mobile device 120; and (iii) transmits the at
`least one application identifier to mobile device 120, as illus
`trated with reference numeral 151 in FIG. 1.
`According to another embodiment of the present invention,
`mobile control unit 122 is operationally adapted to provide a
`conduit such that application center 100 to det