`JackSOn et al.
`
`USOO6886O17B1
`(10) Patent No.:
`US 6,886,017 B1
`(45) Date of Patent:
`Apr. 26, 2005
`
`GB
`(54) SYSTEM AND METHOD FOR MANAGING
`DISTRIBUTION OF CONTENT TO A DEVICE WO
`WO
`WO
`
`(75) Inventors: Bruce Jackson, Dorset (GB); Nigel
`Robert Brookes, Salisbury (GB)
`(73) Assignee: elata Limited, Dorset (GB)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 643 days.
`
`(21) Appl. No.: 09/460,450
`(22) Filed:
`Dec. 13, 1999
`(30)
`Foreign Application Priority Data
`Apr. 30, 1999
`(GB) ............................................. 99.10164
`Sep. 21, 1999 (GB) ....
`... 9922348
`Oct. 6, 1999
`(GB) ............................................. 992.3640
`(51) Int. Cl. ................................................ G06F 17/30
`(52) U.S. Cl. ............................. 707/104; 707/1; 707/10;
`707/6; 707/102; 710/8
`(58) Field of Search .............................. 707/1, 10, 201,
`707/6, 102, 104; 709/206; 705/26; 710/8;
`715/500
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,581,764 A 12/1996 Fitzgerald et al.
`5,692,129 A 11/1997 Sonderegger et al.
`5,742,820 A * 4/1998 Perlman et al.............. 707/201
`5,797,128 A
`8/1998 Birnbaum
`5,828.876 A * 10/1998 Fish et al. ..................... 707/1
`5,845,077 A 12/1998 Fawcett
`5,859,978 A
`1/1999 Sonderegger et al.
`5,875,327 A
`2/1999 Brandt et al.
`5,884,280 A * 3/1999 Yoshioka et al. ............. 705/26
`5,946,689 A * 8/1999 Yanaka et al. ......
`... 707/10
`5,961,590 A * 10/1999 Mendez et al. ............. 709/206
`6,018,762 A * 1/2000 Brunson et al. ............ 709/206
`6,553,431 B1 * 4/2003 Yamamoto et al. ............ 710/8
`2003/0074632 A1
`4/2003 Marks et al. ............... 715/500
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`O 793 17O A1
`
`9/1997
`
`2341 956
`91/08542
`94/25913
`97/03399
`
`3/2000
`6/1991
`11/1994
`1/1997
`
`OTHER PUBLICATIONS
`“Tivoli Enterprise Concepts, Architecture, and Services”,
`pp. 1-30.
`http://www.ct.hughsym.co.uk/media/whitepaperS/aca
`cia.pdf, “Acacia White Paper”, Aug. 12, 1999.
`Computer record Accession No. 02168408, “Directory Ser
`vices, Not Ncs, Will Cut TCO', J. Lewis, PC Week v15, n10,
`p104, Mar. 9, 1998.
`* cited by examiner
`Primary Examiner Thuy N. Pardo
`(74) Attorney, Agent, or Firm-Renner, Otto, Boisselle &
`Sklar, LLP
`ABSTRACT
`(57)
`The present invention provides a System and method for
`managing distribution of content to a device, the System
`comprising a database for Storing a number of elements as
`a hierarchical Structure, content identifiers being able to be
`asSociated with elements in the hierarchical Structure, and
`one of the elements representing the device, and a server for
`referencing the hierarchical Structure in the database to
`generate a profile for the device, the profile containing a
`number of content identifiers indicating content to be pro
`Vided to the device. A device manager is associated with the
`device and arranged to receive the profile from the Server
`and to use the content identifiers in the profile to cause the
`content indicated by the profile to be provided to the device,
`a record being kept identifying the content provided to the
`device in accordance with the profile. The device manager is
`arranged upon receipt of a Subsequent profile from the Server
`to compare the content identifiers in the Subsequent profile
`with the record to determine new content not yet provided on
`the device and old content no longer to be provided on the
`device, the device manager being arranged to use the rel
`evant content identifiers to cause the new content to be
`provided to the device, and to cause the old content to be
`removed. This approach facilitates the efficient management
`of distribution of content to devices.
`
`24 Claims, 18 Drawing Sheets
`
`40
`
`
`
`SERVER
`
`
`
`220
`
`Assign content
`
`MANAGER
`
`Collect
`profile
`
`210
`
`250
`
`
`
`260
`
`CLIENT
`
`Locate client service
`Collect profile
`
`200
`
`CLINT
`
`Collect
`content
`
`Ex.1023
`APPLE INC. / Page 1 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 1 of 18
`
`US 6,886,017 B1
`
`
`
`09
`
`X{}JONALEN
`
`EOLAECÈ
`
`07
`
`OZ
`
`09
`
`NVT
`
`Ex.1023
`APPLE INC. / Page 2 of 30
`
`
`
`U.S. Patent
`
`US 6,886,017 B1
`
`//
`
`SSETE}}}|NA
`
`09
`
`XAR-HOWA LEN
`
`0/
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1023
`APPLE INC. / Page 3 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 3 of 18
`
`US 6,886,017 B1
`
`Op '6/-/
`
`
`
`Od VICE WILTOW
`
`LEXIOOd
`
`èJEZINWEDYHO
`
`0 || ||Ë
`
`ETIEJOW
`
`ENOHCHETEL
`
`-
`N
`
`a Her VVVVXM Y
`-ZZZAZAZX7
`
`0/
`
`09
`
`
`
`LEN? HEH LE
`
`
`
`d'O+ X|SEC]
`
`WELSÅS
`
`
`
`
`
`
`
`Ex.1023
`APPLE INC. / Page 4 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 4 of 18
`
`US 6,886,017 B1
`
`0 || Z.
`
`LNE|TO
`
`| NE|TO
`
`
`
`OZZ
`
`09
`
`092
`
`Ex.1023
`APPLE INC. / Page 5 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 5 of 18
`
`US 6,886,017 B1
`
`3
`
`S
`
`
`
`a. Y O
`
`H >
`O Y
`nz of
`?h
`
`:
`
`s
`
`S.
`
`S.
`
`2 f
`
`s
`
`Ex.1023
`APPLE INC. / Page 6 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 6 of 18
`
`US 6,886,017 B1
`
`)?CIELEG???
`
`
`
`9'G UO|SJ0A oueds SOunS SO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`JOddns [] -Ç
`
`Ex.1023
`APPLE INC. / Page 7 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 7 of 18
`
`US 6,886,017 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`| aumeN?IT
`
`Ex.1023
`APPLE INC. / Page 8 of 30
`
`
`
`U.S. Patent
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 8 of 18
`
`US 6,886,017 B1
`US 6,886,017 B1
`
`
`
`
`
`
`
`[asp
`
`aee
`
`
`
`__PUNO80s:e5eb6ny/:dny|g64dy-9zSSC=*dU89J9/0BOg:ebe66ny/:dyu
`[eeudvozSC=*d
`enirardedebrurdu]esadyg¢
`
`
`abueiosebeB6nypiu[e6udy-ozssSC=i*d
`
`peyebsdoniiasoSsayeE
`
`
`
`
`
`
`ce
`9bly
`S) UN
`
`wwlL]o
`
`
`
`salBojouyoa|jdaou09«
`
`
`
`yurjeuoResiuebiO
`
`[EWS
`
`
`
`
`
`seyoolg|e6IN
`
`‘uosed+
`
`uonesiuebic
`
`OSH*
`
`adAL
`
`yBny
`
`
`
` uosyoereonigeyequing
`
`
`
`[seyoo1gfo6in|GJgoulbug©
`
`soueuaquiew[_]
`
`yoddng(_]
`
`sees[_]
`
`
`
`OWENIINJZ
`
`salGojouysa|}daou090(5)
`
`
`
`uoneaddy
`
`
`
`Ex.1023
`APPLEINC./ Page 9 of 30
`
`Ex.1023
`APPLE INC. / Page 9 of 30
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 9 of 18
`
`
`
`
`
`L
`
`uaa)
`
`sayooig
`
`iwlL]}
`
`US 6,886,017 B1
`
`yBnH:sd1Aeq
`
`songOayaquind
`poyeyu|eePtrulBnig
`66-1dy-9zaeee
`
`PUO80g:ebeBEnyy-dyy[eeidvozSSCsuoneoddyBeidvg¢rig"'*
`
`
`
`U8eJ9/080g:e6eB6ny/:dyyfe6dv-ozCS—
`ana/andebebbnyy:-dy
`-1dy-9z6uonesddy666
`uojeciddyejeqe'zyajO1A[uény|
`
`
`
` |aBin56661[Mdy9z‘pajoauu0oJse7Jaaubuq©
`
`
`
`souruen=uoneoiddygzmoje,sajes]Jeaulbuywoy
`
`uoneoiddy4,oBipuy
`
`peyeyuyuosyoer
`
`oO,ebue¢o
`IyWoody
`
`
`
`or[Bue0|
`salHojouyoa|}jdaou05O(+)
`
`
`aBueiosabebbniyy:tw
`
`pey/ebebbny/:1w
`
`6idy-
`
`eydeo'1
`
`Ex.1023
`APPLEINC./ Page 10 of 30
`
`Ex.1023
`APPLE INC. / Page 10 of 30
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 10 of 18
`
`US 6,886,017 B1
`US 6,886,017 B1
`
`UOISIAIG94
`
`
`
`66/L0/Z2BujuuiBaqsdepogaseayUOHeAddyovjequer
` Po
`
`
`
`lenjediag“awAsyBnyabebbny/:dyy00:€0:Z16E6LAin9Z
`
`
`66/80/92sedidxeSsoupeW
`
`
`lenjediadsaseoyUoneaddy0°,dAwyjoous
`
`
`jenjedied:esea7UOReaTGGYOL}WeWeo10,
`
`
`00-20-216661Ainf92:pe}oeuu0DJse7
`
`
`auoydainjyn{:a01Aeq
`
`
`
`suelbOlg
`
`
`
`UONEISHION(7)
`
`
`
`eyeqaiqow(3
`
`WELNEMEC)
`
`SddII8SSH
`
`SQM&-
`
`Byeq8xa,(4-
`
`
`
` suowAsYBNHKA©IV2°[|XI
`
`8Oly
`
`
`
`
`
`INYWoyPaWeyuy
`
`
`
`ydeou0D(3salbojouyoa|}daou05&saiBojouyse|
`
`
`
` youalypoy%ueAljeAol)PEqoy%UMOJGSUD%uewdeyy
`
`
`
`
` neg&uosyoepaang%dopjseaq&7
`
`
`S9y00J1g[OCIN
`sigaulbuy[2
`
`yoddnsC)
`
`
`
`lenjadieg~o'wAsySnyebeB6ni//:dyy00:S2:z16661Aine9z
`
`
`
`
`
`
`
`
`
`
`
`
`
`lenjadiag“awAsyBnyebeBSny:dyy00:90:G1666!Ainr92
`
`
`
`
`
`UOHENSIUIUPY(—]-@
`
`Oldnwyyoous&OLEWHEWS10A>uoyeayddy3sweiBolg2
`
`
`
` SOwled¢OLssoupewilequer
`
`Ex.1023
`APPLEINC./ Page 11 of 30
`
`Ex.1023
`APPLE INC. / Page 11 of 30
`
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 11 of 18
`
`US 6,886,017 B1
`
`All
`
`
`
`
`
`Sales
`
`Marketing
`Support
`
`Technical
`
`Z - Customer
`
`
`
`- Tim FOO
`
`Aig.9
`
`All
`
`-- - Reptile
`-- - Bird
`
`-- - G
`ul
`
`+ - Albatross)
`
`-- - Penguin
`
`-- - Adelie
`
`Ex.1023
`APPLE INC. / Page 12 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 12 of 18
`
`US 6,886,017 B1
`
`
`
`
`
`DEVICE'S CLIENT
`PROGRAM CONNECTS
`TO SERVER AND
`PROVIDES ID
`
`400
`
`41 O
`
`
`
`
`
`PROFILE
`RECD 2
`
`YES
`
`DELETE ANY PROGRAMS
`NOT IN PROFILE
`
`420
`
`RETRIEVE ANY PROGRAMS
`N PROFILE WHICH CLIENT
`DOES NOT YET HAVE
`
`43O
`
`Fig.11
`
`Ex.1023
`APPLE INC. / Page 13 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 13 of 18
`
`US 6,886,017 B1
`
`450
`
`
`
`
`
`
`
`IS
`DEVICE IN
`DATABASE
`2
`
`CREATE NEW
`ENTRY IN
`"NEW DEVICES."
`DIVISION
`
`
`
`BUILDS PROFILE OF
`PROGRAMS FROM
`HERARCHICAL DEFINITION
`
`
`
`470
`
`
`
`
`
`
`
`SEND TO CLIENT
`
`
`
`Fig. 12
`
`
`
`PACKAGERS
`
`APPLICATION
`
`8OO
`
`EXTENSION
`
`820
`
`'CONTENT"
`
`Fig. 15
`
`PACKAGE
`DOCUMENT
`
`Ex.1023
`APPLE INC. / Page 14 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 14 of 18
`
`US 6,886,017 B1
`
`fig. 134
`
`500
`
`51O
`
`
`
`
`
`NETWORK
`AVAILABLE 2
`
`YES
`
`NO
`
`52O
`
`STOP
`
`
`
`DOWNLOAD
`PROFILE
`
`530
`
`540
`
`DOWNLOAD
`SUCCESSFUL 2
`
`YES
`
`550
`
`COMPARE NEW
`PROFILE
`
`560
`
`
`
`CONTENT
`RECORD
`
`Ex.1023
`APPLE INC. / Page 15 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 15 of 18
`
`US 6,886,017 B1
`
`S8s
`
`
`
`GNYGVOINMOGS/Sous
`
`
`
`
`
`gerbly(v)
`
`MATIVLSNIINN)
`
`FinoaxaSHAOlINAt
`
`ALNOO
`
`SIHLYOs
`
`éSAOWSY
`
`
`
`AdALLNSLNOO
`
`
`
`Gaivoaydsaq31570
`
`INSLNOO
`
`ON
`
`
`
`
`
`GaivddnNGVOINMOGSAAOlLNALNOO
`
`INSLNOOéaivadn
`
`06S
`
`ON
`
`Ex.1023
`APPLEINC./ Page 16 of 30
`
`Ex.1023
`APPLE INC. / Page 16 of 30
`
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 16 of 18
`
`US 6,886,017 B1
`
`GNVaVOINMOGd
`
`YSTIVLSNIINN)
`
`SIHLHOS
`
`
`
`AdALLNSLNOO
`
`34ino3ax3
`
`
`
`YO4YATIVISNI
`
`
`
`LINALNOOSIHL
`
`ALNOAXS
`
`AdAL
`
`
`
`9&4bly
`
`
`
`Ga1lVOsdd403L3150
`
`AAVS8LNALNOO
`
`INSLNOOMAN
`
`Ex.1023
`APPLEINC./ Page 17 of 30
`
`Ex.1023
`APPLE INC. / Page 17 of 30
`
`
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 17 of 18
`
`US 6,886,017 B1
`
`
`
`
`
`CONTENT TO
`ADD 2
`
`DOWNLOAD NEW
`CONTENT
`
`
`
`
`
`DOWNLOAD
`AND EXECUTE
`NSTALLER FOR
`YES THIS CONTENT
`TYPE
`
`SAVE NEW
`CONTENT
`
`
`
`
`
`
`
`560
`
`
`
`CONTENT
`RECORD
`
`Fig. 13D
`
`SAVE CURRENT
`PROFILE
`
`645
`
`STOP
`
`655
`
`Ex.1023
`APPLE INC. / Page 18 of 30
`
`
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 18 of 18
`
`US 6,886,017 B1
`
`START
`
`7OO
`
`WAT FOR DEVICE
`CONNECTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`NO
`
`CLOSE
`CONNECTION
`
`YES
`
`715
`
`GET CONTENT IDS
`FOR THIS DEVICE
`
`725
`
`ADD CONTENT IDS
`FOR DIVISION
`
`DVISION HAS
`PARENT 2
`
`GET PARENT
`DIVISION
`
`SEND PROFILE
`TO DEVICE
`
`740
`
`Fig. 14
`
`Ex.1023
`APPLE INC. / Page 19 of 30
`
`
`
`1
`SYSTEMAND METHOD FOR MANAGING
`DISTRIBUTION OF CONTENT TO A DEVICE
`
`US 6,886,017 B1
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to a System and method for
`managing distribution of content to a device.
`2. Description of the Prior Art
`Content to be provided to a device may take a variety of
`different forms. For example, data files may be provided to
`the device for use with particular applications installed upon
`the device. Further, particular application programs may be
`distributed to the device for installation on the device in
`order to facilitate new functions, for example word proceSS
`ing programs, spreadsheet programs, e-mail programs, etc.
`Up until now, much of the development of techniques for
`managing the distribution of content to devices has centered
`on the area of fixed computer devices connected to a
`computer network. Within Such an environment, it is then
`possible to provide a localised management Support Struc
`ture to provide content on the network, and to control
`individual devices access to that content.
`For example, U.S. Pat. No. 5,692,129 describes a tech
`nique for managing application programs in a computer
`network. When a computer networks is provided within an
`organisation, it is commonplace for a directory Services
`database to be provided on the computer network to provide
`a “White Pages' style directory concerning people and other
`resources within the organisation. Often Such directory
`Service databases are object oriented databases. In accor
`dance with the teaching of U.S. Pat. No. 5,692,129, such an
`object oriented database is adapted to Support the inclusion
`of application objects defining Software applications avail
`able on the network. Further, certain types of objects in the
`database, Such as user objects, are adapted to allow desktop
`attributes to be specified. An application object can then be
`added as a desktop attribute for Such an object, to indicate
`that the corresponding application should be made available
`to the user represented by the object.
`Additionally, U.S. Pat. No. 5,692,129 specifies the use of
`a launcher application, which for a particular user can be
`arranged to retrieve that user's object, and to adapt the user's
`desktop to provide icons for any application Specified by
`application objects identified in the user object's desktop
`attributes. Hence, by the above approach, a user's desktop
`can be automatically updated to indicate those applications
`that are installed on the network and are available to that
`user for accessing. The applications themselves are retained
`centrally on the network, and the user accesses them over the
`network.
`Whilst this technique is clearly beneficial to computer
`devices that are permanently connected to the network, and
`hence able to run applications on the network, it is clearly
`not suitable for distributed devices that may only make
`periodic connections to a network, and when not connected
`to a network will still need to be self-contained (i.e. will
`need the content to be stored locally for their own use).
`However, Such a Scenario is becoming more and more
`commonplace, with the proliferation in portable computer
`devices, mobile phones, personal digital assistant devices
`(PDA), electronic organisers, etc. Whilst it is clearly desir
`able for an organisation to allow individuals within the
`organisation to use Such portable devices, it makes it Sig
`nificantly more difficult to control and manage the distribu
`tion of content to those devices.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`SUMMARY OF THE INVENTION
`Viewed from a first aspect, the present invention provides
`a System for managing distribution of content to a device,
`comprising: a database for Storing a number of elements as
`a hierarchical Structure, content identifiers being able to be
`asSociated with elements in the hierarchical Structure, and
`one of the elements representing the device; a Server for
`referencing the hierarchical Structure in the database to
`generate a profile for the device, the profile containing a
`number of content identifiers indicating content to be pro
`Vided to the device; a device manager associated with the
`device and arranged to receive the profile from the Server
`and to use the content identifiers in the profile to cause the
`content indicated by the profile to be provided to the device,
`a record being kept identifying the content provided to the
`device in accordance with the profile; the device manager
`further being arranged upon receipt of a Subsequent profile
`from the Server to compare the content identifiers in the
`Subsequent profile with the record to determine new content
`not yet provided on the device and old content no longer to
`be provided on the device, the device manager being
`arranged to use the relevant content identifiers to cause the
`new content to be provided to the device, and to cause the
`old content to be removed.
`In accordance with the present invention, a database is
`provided that enables a number of elements to be stored as
`a hierarchical Structure, with at least one of the elements
`representing a device to which content is to be distributed.
`Content identifiers identifying particular content may then
`be associated with elements in the hierarchical Structure.
`Further, a server is provided which is able to reference the
`hierarchical Structure in the database in order to generate a
`profile for a particular device, the profile containing a
`number of content identifiers, each content identifier iden
`tifying a content to be provided to that device. A device
`manager associated with the device is then able to act upon
`receipt of the profile to cause the content indicated by the
`profile to be provided to the device, with a record being kept
`identifying the content provided to the device in accordance
`with the profile. The record is preferably stored in a logically
`local Storage area relative to the device, i.e. in a location that
`the device is always able to read irrespective of whether it
`is connected to a network.
`The device manager may be Stored on the device, or may
`be remote from the device. However, in the latter case, there
`will typically be something resident on the device itself to
`cause the device manager to execute, for example Some
`configuration information.
`In accordance with the present invention, when at Some
`later point the device manager receives a Subsequent profile
`from the Server, it is arranged to compare the content
`identifiers in that Subsequent profile with the record kept to
`identify the content provided to the device in accordance
`with a previous profile in order to determine new content not
`yet provided on the device and old content no longer to be
`provided on the device. The new content can then be
`retrieved to the device, whilst the old content is removed, for
`example by actually deleting that content, or by removing
`pointers to it in the local memory of the device.
`By this approach, the System of the present invention is
`able to support a wide variety of different devices that may
`spend greater or lesser amounts of time connected to a
`network and which may need to Store content locally in
`order to facilitate its use whilst not connected to the network.
`It should also be noted that the System also Supports use with
`devices that may be permanently connected to the network.
`
`Ex.1023
`APPLE INC. / Page 20 of 30
`
`
`
`US 6,886,017 B1
`
`15
`
`35
`
`40
`
`25
`
`3
`Through use of the present invention, the content provided
`to a device can be centrally managed Such that once a
`content identifier has been associated with the appropriate
`element in the hierarchical Structure, then that content iden
`tifier will be included in any profiles Subsequently prepared
`for relevant devices, whereby the corresponding device
`manager for Such a device will cause that content to be
`provided to the device the next time the profile is received.
`However, given that the content is not merely maintained
`centrally and accessed at that central point by the devices,
`but instead will typically be provided to the devices, the
`present invention further facilitates the removal of old
`content from a device through the comparison of a Subse
`quent profile distributed by the server with a record kept to
`identify the content on that device that has been provided in
`accordance with a previous profile.
`It should be noted that in preferred embodiments the
`present invention does not inhibit a user of a device from
`also installing their own content on the device Since Such
`content would not be included in the profiles, and So would
`not be provided to the device, or removed from the device,
`under the control of the device manager. However, the
`present invention does enable the distribution of certain core
`content to devices to be managed Such that that content may
`be provided and Subsequently removed in a Structured
`manner without the need to involve the user of the device.
`The content identifier may take a variety of forms.
`However, in preferred embodiments, each content identifier
`provides a name for the corresponding content, and a
`location indicator identifying a location from which that
`content can be obtained. Hence, when the device manager is
`Seeking to obtain a content for the device, the location
`indicator in the corresponding content identifier can be used
`to determine the location from which the content can be
`obtained. In preferred embodiments, the name is not needed
`for the content retrieval process, but provides a descriptive
`reference for a network manager responsible for managing
`the hierarchical Structure on the database, and indeed for the
`user of the device to which the content is retrieved.
`The system in accordance with preferred embodiments of
`the present invention may be used to manage the distribution
`of a plurality of different types of content. Hence, preferably,
`the content identifier further identifies the type of the cor
`responding content. This information is then available for
`reference by a network manager responsible for managing
`the hierarchical Structure on the database. This may, for
`example, provide a useful Sanity check to enable the network
`manager to ensure that content is only allocated to devices
`able to receive that type of content.
`It will be appreciated that the location identifier can take
`a variety of forms, provided that it serves to identify the
`location from which the content can be obtained. In pre
`ferred embodiments, the content is Stored on Servers con
`tactable via the Internet, and the location indicator is a URL
`55
`address.
`It will be appreciated that when a content is provided to
`the device, Some predetermined action will need to be taken
`by the device in order to correctly receive and Store the
`content. The system of preferred embodiments of the present
`invention facilitates this by providing a number of packagers
`for associating with a content information required to handle
`the content when received by the device. Hence, when a
`content is retrieved to the device using a content identifier in
`the profile, the device not only receives the content but also
`any related information required to ensure correct handling
`of the content within the device. This content and related
`
`45
`
`50
`
`60
`
`65
`
`4
`information provided to the device will be referred to
`hereafter as “a package'.
`AS mentioned earlier, the distribution of a plurality of
`different types of content may be managed by the System.
`Accordingly, in preferred embodiments, a packager is pro
`Vided for each type of content.
`It will be appreciated that the information provided within
`the package to describe how the content should be handled
`can take a variety of different forms, depending on the
`content itself. For example, if the content is a data file for a
`particular application, for example a MicroSoft Word file,
`then the package will identify the content as being of that
`type, and the type information can be used by the device
`manager to determine whether an installer exists for install
`ing content of that type. If not, the content would typically
`just be stored in a default location, for example one specified
`by the device manager. However, if an installer is available,
`then that will be used to install the content on the device.
`ASSuming an installer is to be used, the information in the
`package may also identify the required version number of
`Microsoft Word that is required to read the file. The installer
`would then try to locate that version of Word, and, for
`example, warn the user of the device if it is not found.
`AS another example, if the content is an application
`program, then it will generally need to be appropriately
`installed on the device by an installer. In Such cases, in
`preferred embodiments, the information associated with
`Such content may comprise an identification of which file is
`the main executable file, an identification of an icon to be
`used to represent the program on the desktop, etc. The
`relevant installer can then use that information to enable it
`to correctly install the application program.
`It will be appreciated that Since devices may be changed
`over time, and/or the use of any particular device may
`change over time, which may necessitate the association of
`different content with the device it is necessary to be able to
`efficiently manage the hierarchical Structure in the database
`in order to take account of Such changes. Accordingly, the
`System of preferred embodiments has a management tool for
`providing an interface to enable a user to manage the
`hierarchical Structure Stored on the database. Hence, for
`example, if the hierarchical Structure is used to represent a
`large number of devices within an organisation, a user in the
`form of a System administrator may use the management
`tool to manage the hierarchical Structure to ensure that each
`device continues to be represented at an appropriate point in
`the hierarchical structure so that that device will receive the
`content that it is desired to provide to that device.
`It will be appreciated that there are many different ways
`in which the hierarchical Structure may be developed.
`However, in preferred embodiments, said elements within
`the hierarchical Structure include one or more divisions, each
`division representing a logical grouping for devices, the
`management tool enabling divisions to be created and
`deleted, and enabling content identifiers to be associated
`with each division. Accordingly, at the top of the hierarchical
`Structure, it is possible for a generic division to be provided
`within which all devices will fall, and then for particular
`divisions to be created depending from that generic division.
`For example, a technical Support division may be provided
`to include all devices used by technical Support Staff, whilst
`a separate customer Support division may be created to
`include all devices used by customer Support Staff. It should
`be noted that the user, e.g. the System administrator, is able
`to create and delete divisions as and when required in order
`to develop an appropriate hierarchical Structure within
`
`Ex.1023
`APPLE INC. / Page 21 of 30
`
`
`
`US 6,886,017 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`which to categorise the devices to be represented within the
`hierarchical Structure.
`It should be noted that since content identifiers can be
`asSociated with each division, content that is to be common
`for all devices within a particular division need not be
`Specified individually for each device, but rather can merely
`be specified once in connection with the corresponding
`division. In preferred embodiments, the profile generated by
`the Server contains any content identifiers associated with
`the device and any content identifiers associated with a
`division from which the device depends in the hierarchical
`Structure. It will be appreciated that this significantly
`improves the efficiency with which content can be associ
`ated with any particular device. Further, if a device is moved
`from one division to another, then the next time a profile is
`generated for that device, it will automatically receive an
`updated profile indicating the content that is relevant to that
`device in its new role. Any new content will then automati
`cally be retrieved, whilst old content will be removed.
`In preferred embodiments of the present invention, the
`management tool enables perSon identifiers identifying indi
`viduals to be provided as elements in the hierarchical
`Structure, whereby the management tool can be used to
`asSociate, within the hierarchical Structure, the device with
`the individual owning that device. The inclusion of this extra
`classification is useful, Since often a particular individual in
`an organisation may have more than one device, and may
`submit requests for each of his/her devices to be provided
`with particular content. Since the individual devices can
`then depend from the relevant person identifier in the
`hierarchical Structure, it is Straightforward for the System
`administrator to then associate that new content with each
`device. Further, as individuals move around within the
`organisation, the System administrator is able to move the
`relevant person identifier between divisions. This will auto
`matically cause all of that person's devices to also move, and
`for the relevant content for those devices to then be provided
`the next time that a profile is provided to those devices.
`It will be appreciated that there are a number of mecha
`nisms which could be used to provide the profile to the
`devices at predetermined intervals. For example, if a device
`is permanently connected to the network, then the Server
`could be arranged to generate the profile at periodic inter
`vals. However, in preferred embodiments, the System Sup
`ports devices of many different types, at least Some of which
`may not be permanently connected to the network. Given
`this situation, it is hence necessary for the profiles to be
`generated and distributed as and when the device is con
`nected to the network. Accordingly, in preferred
`embodiments, the device manager is arranged to make a
`connection with the Server at predetermined intervals in
`order to request the profile, the device manager identifying
`the device for which the profile is required.
`Hence, for example, the device manager may request the
`profile immediately after the device has been powered, Such
`an approach being Suitable for bandwidth restricted devices
`that can only operate with the availability of a network. e.g.
`GSM receivers. Alternatively, the device manager may
`request a profile immediately after a network connection has
`been established, Such an approach being Suitable for those
`devices that are fully operational without network
`availability, but are assumed to make occasional
`connections, e.g. portable computers. Alternatively, as
`another example, the device manager may be arranged to
`request the profile on a periodic basic after discrete time
`intervals, Such an approach being Suitable for high
`bandwidth, permanently connected devices, for example
`cable television receivers and network computers.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`AS mentioned earlier, the distribution of a plurality of
`different types of content may be managed by the System. In
`preferred embodiments, at least one of the types is computer
`programs.
`The database used to Store the hierarchical Structure may
`take a variety of forms. However, in preferred embodiments,
`the database is a relational database. It should be noted that
`in this preferred embodiment, this database is entirely Sepa
`rate to any directory Services database that may also be
`provided as a “White Pages” database for resources within
`an organisation. It has been found to be beneficial to keep
`this database Separate to the directory Services database,
`since this frees the database from being bound by the
`Structure already present in the directory Services database.
`Instead, whilst certain details about resources in the organi
`sation may be obtained from the directory Services database
`for use in the database used to manage content distribution,
`the actual hierarchical Structure within the database is then
`free to be determined having regard Solely to the devices to
`be managed, and the content to be distributed. This enables
`a very efficient hierarchical Structure to be generated.
`Viewed from a Second aspect, the present invention
`provides a computer program product for controlling a
`Server to be used in a System according to the first aspect of
`the present invention, the computer program product being
`configured in operation to generate a profile for the device
`with reference to the database, and to transmit the profile to
`the device manager.
`Viewed from a third aspect, the present invention provides
`a computer program product for controlling a computer to
`act as a management tool in the system according to the first
`aspect of the present invention, the computer program
`product being configured in operation to provide an interface
`to enable a user to manage the hierarchical Structure Stored
`on the database.
`Viewed from a fourth aspect, the present invention pro
`vides a computer program product for providing within a
`device a device manager for use in the System according to
`the first aspect of the present invention, the computer
`program product being configured in operation to receive a
`profile from the Server, and to use the content identifiers in
`the profile to cause the content indicated by the profile to be
`provided to the device, the computer program product
`further being configured in operation upon receipt of a
`Subsequent profile from the Server to compare the content
`identifiers in the Subsequent profile with a record identifying
`the content provided to the device in accordance with a
`previous profile to determine new content not yet provided
`on the device and old content no longer to be provided on the
`device, and to use the relevant content identifiers to cause
`the new content to be provided to the device, and to cause