throbber

`
`
`
`§<::£:a9mm\
`
`
`
`
`
`
`
`
`
`
`
`fisfiawfi i §¥€S$§$2§§
`
`
`
`
`.. a.“ x:
`\
`i \
`-\.\\\-\\‘~
`
`
` if} \x 7-1:: £2 ,3;- §.
`a
`-
`.
`‘
`‘
`.
`‘
`‘.
`'
`“v.
`\x NNK‘ :91}: EN? :‘a‘se'fihm _
`fi\)\fi\nfi\_\\y\\y_\_\_\i_\\_\_\i_v\)1_\\_\\:I_\\_\\_I_\\\\:I_\\_\\:Ij|\_\\p\_\\_\:|\‘\V'n‘\wh‘\V'n‘\w'n‘\V'n‘\V'n‘\V'n‘N\\\\\\N\\\\‘\\\\\‘\\\\\N\\\\N\\\\N\\\\‘\\\\‘h‘\\\\‘h‘\\\\\‘\\\\\‘\\\\\‘\\\\\‘\\\\\N\\\\‘\\\\\‘\\\\\N\\\\‘\\\\\‘\\\\\‘\\\v\\‘\\\\\‘\\\\‘h‘\\\\\\\\\\\\\\\\\\\\\\\\\k“
`
`\w.«w.«WWW“a“m‘m‘vhanvwlnvhmmkuaems-aVIN“«\mxnwmwxnuxnu“\“an\wmwmwmvmvxxx‘rnxww ,
`wu-W'
`c fl
`v»- .vuu .-.\(
`>.'“<§-\¢~.w\\._
`\\“ a
`“\'\".\<‘-\< M
`\
`
`~ {haw-u:
`% Gov.
`mm‘ \w. 1mm
`S
`“affirm
`i‘o‘wx-‘E:
`-
`
`
`Fk‘mk‘mkwmkm‘hmwnun.n‘hwn‘hwmkm\\m\u\mihfimi\HMi\HMi‘1.“i\HMi‘1.“i‘1.“i\wv“\wv“var“\wv“\‘uM\wv“\H.“\Q-L\Xh\KW\KW\\“\\\\k\\\\k\\\“\\\“\\\‘3“Uh)“Sh)“\\\k\\\x\k\\Hw\‘hh\\\“\Uh»Nah»\‘hh\\\%\\“\\\“\\\“\\\“\\Hfi
`§\x\

`.nun“.u.y“nu...-..u.“u“...u...-.“u...“..-..\.“u“u“u...u“...u..-...u...-...m.-.uu.-.m\
`‘\‘.V‘\
`
`:.
`
`
`
`
`11
`
`
`
`
`
`’{IJIl/(Jtrlnn”nununuunuw,
`
`’2”?
`
`
`\.
`.
`
`
`
`
` ~ xwg-gxw _\\
`
`
`
`
`
`
`
`
`
`
`\r\o\-‘uV-“\'.r‘t- ..-c
`\o'hp: q :
`‘
`M‘-
`i
`.\ YA
`{a
`\
`‘ \‘
`V .L
`
`
`
`
`
`
`arr/”nfff/IIJ('1"ff/ffIJIIIIIIJIIIIJIII/
`
` ..““.““.““qw
`
`
`a“:
` .
`u *-
`‘
`
`““"W‘
`n >‘\‘}'\ ‘ a}.
`“hm. “unfinfinhfiuyv
`
`
`
`
`
`
`
`ra:-
`
` “y‘“xu.1.,1“aH“xu.wmumumknukw
`
`
`
`J
`"..,‘my‘my‘my‘my‘m.‘“x““xH~\.H.‘.»N..,m.wu..mm‘.\\H“w.v.H.1.H.1.H.1.H.uHw“u.Hu.“u.“u.“«nu—“NH“.M
`
`
`
` Ac:- .‘ \
`
`:3“;\:k:s.&.=
`:
`~.\upxv.a“x\u“x\a““a“x\u“x\u“x\u“x\1'“x\““m“m“wn\wu“wm~wn“wm‘wm‘v-m‘v-m‘v-mxvs«\Vx«\Vx\\\N\\\\“xv“xxx“iv“ivv'xxv“\wm““x““x““\wxv.“xxx“xxx“xxxmxvmxvmxwmxvmxwmxvmx““mmxvmxwmxvv‘xx
`
`.y.my..."m,my.m,mm..."a},mmm,.m,...,,,..,,,...,,..,,,..,,,..,,,..mm.
`
`{lMMn‘thaz/Javr/Mrr'r'n‘d/r'rttrwyf‘trr;fin-1137’!!!
`
`
`
`lnwm-nnn”.nu.»
`
`.ww
`4w
`
`a.”“by.nu"mam”.u”"alum...”...A_4...,_l_/..,_,_u
`
`
`
`
`
`\“1
`
` .
`
`3 cuw.
`‘vaz
`\
`‘ Emu».
`{
`
` ‘
`
`
`
`mu“
`
`‘ ~
`
`
`w»,w,
`
`
`
`
`
`%'-\\' "‘“'i\"‘« "A '
`
`-. xrxiq n..- \
`
`
`W W\%\\m\m m\\m\mmmmm\mxwmmw.wwmwmv N‘ \\\\ \\\\\v\\\ I\\\'\i\\\'Ip“'h\i\\'h\\\\\'|i\\a'I\\\'n\\\'n\\\m\\\n\\\'n\\\'n\\\'n\\\v“\‘\'I'I\\\1‘\\\m\\\'n\\\'n\\\'n\\\'n\\\'n\\\'n\\\“\\\“\\\“\\\“\\\“\\\“\
` Mm- humanity”.
`fix‘m
`mmgfiwmMy,“N,wwwwmMy,My,M1,M~,M“M“M~mmM““N“NMHMH“.M.“mum“.“mm“.“mm“.“mum...m.m.m.“mm“.m.“mm“.m.m.m.m.m.m.m“
`llmlw any”...
` ,u\MW‘“““\\\m§“ww\“wmy““mafiwmxx”w“\“x‘m‘uwmw‘._._\,._.M3.“Emma“?M~,M~‘M~‘M~.m~.,.m..m.m“m“n“...m“nmm~.,m“m“m~mmmum“m“m“mm“?mumunmmxmmmx
`
`
`“
`‘
`.
`.
`-
`“
`.
`xii-1:13;
`‘. {mm
`. Wm
`
`. “h \n‘"
`a r :3:‘ 3:1“? 3*:
` 9W .\
`
`
`a. "i‘ ‘t .21:
`
`
`
`APPLE EXHIBIT 1102, Page 1 of 1048
`
`APPLE EXHIBIT 1102, Page 1 of 1048
`
`

`

`“ww\
`
`“MM\\A|A
`
`“mu-nu.
`
`aw.
`
`mmuWw.‘.“
`
`uxvu‘ulnv.‘
`
`“m“.
`
`w .
`uvu (nu
`unv-unv-unv-~\\\\\\\\nunv-unv-hk\\h\\\w\mk\m\\\nkmk\wk‘ng“.5,w“,w“...
`\.
`
`5Iwe“we“.v-e-ev-MIL-A\w\w\m\m\\v€\\\\‘h\\v\\x\\
`
`xmumnxA.H.ummmmmwm“.s‘
`
`--\\w\\wuwuwuwu-m‘.‘.“.\“\.\Mu,A.“.‘.M\\.Mu.uu.u.1.“.1.“.1.H.1..,,.““.u.,,.“mu,a
`
`\uxu\\.
`
`\\.
`
`\u\\.
`
`\\.
`
`\\.
`
`u
`
`
`
`.\2.3‘....Rx..uAxxx\§§\§§x§tx\.§tx\§t\\$§$$¥d
`
`Wm‘m\m“w.“w.“w.\mxmmw‘m\xmmxxmmmmmmmmmmwMmmmiwahx\\x\m\x\x\w“no.“om-m‘o-Mh\\.\x\\k\x\\k\x\\m\\\\\\\w\\H‘XVv-ha\\W\W\W\H\W\M\%\\\m\\%\‘
`~
`
`
`
`
`
`
`imyw1\i_\\_\_\\“h\ix\_\_\ix\_\_\h_\\\-\i_\\\-_\i\-\\-_\\x\)1_\\m\-_\\_\\I_\\\-\)1_\\_\'\:I_\\\\\\\_\\I\\_\\_\_\\_\\_\_\\\\\\\_\\\\\_\\1_\i_\\\_\\\\\\um»
`>mwmn>>
`xx»
`>mm»
`,\\\\
`mm
`.‘NK\\‘N\\‘
`
`“a“
`
`wipxm\fi1\\jnp\\““\y\“ ,
`
`3h1‘\\‘1‘\\kw\\xkw\\\kw\\\_w\u.h\\\--h.u.-.n\\\-.n\\\-hw\\\h\\v.nah\-.nah\\r“\\bx\\\r“\\bx\\-\bx\\-\bx\\-\bx\\\bx\\\bx\\\bx\\-\bx\\-\bx\\-\bx\\-\5\\\-\h'\\\-\r\\\\r\v\\-\r\\\-\ryvtryv-xr‘v-xh‘v-xh“\\h\\\\h»\\\hyifi~hy‘\xh»\\\hy\\~.h\\\\h\\\fii\\\fii\\\fii\\\fii\\\fii\\\fii\\\
`
`
`
`Ania-5...!lit-{fl
`
`\~.\4-un.‘-.uu-u--.-uivmuvmuv.\«qvmu‘~.\«-\~M-vmuvH-nHn‘H-nH-‘H'wvunn'w mmm -.
`
`«\N.)
`
`
`
`u:1.“K“...
`
`
`R“.u$3
` H.mm.ixxu125;V.a
`
`
`
`
`
`wv um N\‘.\'\\‘~ .4 “w .‘-\«q“n.“n.“n.“n.“n.“n.n.“n.“n.“n.“n.“n.“n.“\-..“\-..““.“““u
`
`\‘}t\}t\:t\:=l.
`
`{\Stsktxxxxaxxxx..\\\\\\\\\\\§\M\\\\M\\\\\\§i\\\
`
`
`ixxs‘txktx‘xxt‘xicx\.(««L\\\kw.xx\x\\\\\\\\\\\\\\\\\\\x}r.KEEN}!
`
`1“A
`2»
`
`wmw..V‘\-u.\\\-u.\\\-u.\\\-n.\\\xh\\\-u.\\\-u.\\“a
`
`ox“.IH\\1-H\\~u-nxu-nt-A'ut-J'u
`
`.w w
`
`'i\\I.“\\I.\.\\\I.u\\I.\\\\I.\.\\\In.\\\~n.\\\~n\\\~n.\\vw
`
`w
`
`bktmrat:
`
`=.“. m3“
`
`.~
`:\~ Ext-m“. \-
`
`APPLE EXHIBIT 1102, Page 2 of 1048
`
`APPLE EXHIBIT 1102, Page 2 of 1048
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`e ‘
`e\w\\\\‘\\\\‘\‘\‘-“\‘\\‘-“"'\“5\'\\\'|\\“Hi\\\i'K‘V-'K‘WK‘W\\\-\“"9“an“N“-\““““i.\‘PM)-\-PM)-.\-PM)-.‘-.‘h\H\\\\H\\\\\\\\\\\\\\\\‘w\\\\‘w\\‘\‘\‘w\\‘\\\\\'\\\\n\\\v\\\\\\\\\v'n‘\n\\\n\\\~n\\\“\\\1\\\\\1i\\\\pvqb‘yilsxypm»;h“\\\w\\m\W\m“\\\“\\gwm
`.0‘9
`
`a.
`»s
`\\w\\w\v~hflux-uu.v“u.v““up.“up.\M-‘wku-wwn“1““1“w.“v9“\m-..u'e&u.\&rc\wxuwunvwnwu.“
`,ixh\‘<h\'k\\i\‘H\\\fi-h\\\\‘\\\-“\\\\N‘\\l“\\l\'i\\‘x‘u“xv.«w.\Inu«w.«w.mawxWu.“w.“ww.mmm“ya-xwmmxmmmwmwmwfl
`%H\\¥\H\\\x~h\i\\\hw(«w«Nix\\\\\\\\\H\\\.\\“\\\u‘\\ '\' \-
`u“\\nuuw.“w.“w.«nu-x“mun.“n.“-\‘\M\‘\M‘-‘\MWMWM)-‘M>.‘.V‘.-m‘v.-mxxmmxmxxxxxsxxx“\\\\\\\\\\w«\\\\“x“\“vm~n“~n“wu“wui\\'h\‘i\‘\'h\i“a,‘i.\\\\mmmxumxumxwxxw
`
`
`
`\xuxxt‘i2.3.
`
`i‘
`
`
`
`Vtxxxxxxxxtxxxtxxxtaxtxxx‘k‘stxxsxxx\x.tx\x‘\x\xx\a~s\\a~\\V\\\\V\\\\va\\x\\x\\\a\\\r\\\\\h:u\u...r{R-x¥wvxiwvvvxw§i~vr¥§§§>§~
`
`,.
`
`‘..
`
`u
`
`um\ny\“\“x“
`
`
`\.
`
`1
`
`u
`
`u
`
`n.
`
`u
`
`\uw\u\u“
`
`w\
`
`wxN
`
`
`
`
`
`
`
`nm..{0“n_...n.fin?nx5ya
`
`y._..
`
`EwMwmu:m:
`
`\‘.‘
`
`3“.
`
`-\\s\\s\s\\s\\\\r\\\-\h\\\\h\\\\h\\\\h\\\xhy\\..y\i-u“i~~n~\‘|‘n\\“iI no...
`
`~wMw_.xmm_.wm_.w“~~
`
`\.m.n
`
`“
`
`~
`
`
`
`
`
`.:\:xx}.:§§2§§§2§\2‘3..~\\..~x\\..~x\\..~\\‘1‘\\\\.\\\\xx\\\x\\\\\\\\\\\\\v1§xw§vav$vs§s~.sv§s~¥<s~¥<s§x§§x§~¥<t\.
`
`\\%\\%\\Hfi~~w~“‘n\“M\“V\\“V\\\‘\M\\‘-““-‘-‘~"‘-W\‘D-.‘-".\‘!‘-.‘-".".‘!‘-.‘-‘5'!I‘-HRUN-hKEV-h'<(\"'\\‘€(\"'\\“\H)\\\K\\\\K\\\\K\\\\\\\\V\h\\\\h\\\\\\\\\\\\\\\\\\\fl “w.“‘5‘ bags. IK‘LhiiikhI‘mMI‘\’1.I‘\.\M\.\.w_\_\w_\_\mumm‘w‘““\\w\m\\“\“\\\m\\\““w‘\\\“\"“\““\
`
`APPLE EXHIBIT 1102, Page 3 of 1048
`
`APPLE EXHIBIT 1102, Page 3 of 1048
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`\S5~kS
`
`5
`g
`\
`anwumum“Kan-5"PF“”EN-h‘<~‘.\"-\\'<~‘.\"-\\‘(VN-h\\.\"-\\\\\K\\\\\.\_\\\‘§.\_\\_N\h\\\\h\\\\.\\\\\.\\\\\\\\\\\“w..“$9_-.\_u_\_-.\_“_‘_-..._“W_“_\,.._‘_.,,.WMW, _ _ Q”N_‘A““w““m“m““\“\vm\““\\w“\““Wm‘“m“\“““\““\““‘ wwwx\m~~~‘°
`
`\wxm\“a\“a\n\u\ua\\u
`
`_“.v_“.v_uu\v\“\m.n\“g\
`
`“
`
`m.u..uw..yw..yw..;
`
`u
`
`u
`
`“ ununuuufiuuvn
`
`\“Hxx-w.mwmwmufiw‘“.-m.
`
`leaxlixiix
`
`1u1wu.1;
`
`U
`
`.
`
`n.
`
`‘.
`
`\3:‘3:~\\\\\!-\\\\\\\\\\\\\
`\§\\\x\\\xx\\\\\\\
`\..\.
`
`w»“wanna-x“m“m“\\\m\v-\v-\\\\~u\\\m\\\m“\vmw-m~wmwn“\“““
`\\\I\“\\\“\\\\)\\\\7-\\\an»>m\\m\m\m\m\m\\wxxwm“\“xx“x““\““ww.w““Nun-Lw\\M\\.M-n~%\\\Wr\.\wu.\wm.\wm.
`(v
`k
`3.
`:3.
`Q“
`Mk
`
`\\\\1w\3\x~\SxN~\SxN~\SxN~§~§x§~§x-¥<§~¥<§§x§i§m‘innkxxtxxxuxxxxaxxx\\\\\\\\\\\n\\§\\§\\\§\xb‘§\k
`‘‘‘‘..‘
`
`
`
`\\\\~n\‘.\~'\\
`a\\\\
`' \'~.\“\\~.\
`'\\'~u.-.«If?
`:c: . ax
`
`-.-\\\.\\‘\h\\\\h\\\\h\\\\-1H\\hy‘\\‘--\.H\\¥\.i~\\v‘a\\v‘a\\vn..yn..ym....‘..
`
`um\nn\n“\nL
`
`‘
`
`.:::.::..\..
`
`
`
`mmmu.“nmu.u.1.w.no.\m.n.‘mnm..m...
`
`APPLE EXHIBIT 1102, Page 4 of 1048
`
`APPLE EXHIBIT 1102, Page 4 of 1048
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`REMOTE UPDATE OF COMPUTERS BASED ON PHYSICAL DEVICE
`
`RECOGNITION
`
`[0001]
`
`This application claims priority to US. Provisional Application No. 61/220,092 which
`
`was filed June 24, 2009 and which is fully incorporated herein by reference.
`
`Field of the Invention
`
`BACKGROUND
`
`[0002]
`
`The present invention relates to computers and, in particular, to methods, apparatus
`
`and systems
`
`for maintaining appropriate
`
`configuration updates
`
`to
`
`software/hardware
`
`configuration through the use of physical device recognition to tailor configuration updates.
`
`Description of the Related Art
`
`[0003] Monitoring changes and updates to the plurality of computer programs resident on a
`
`client device is a difficult task for the typical user to consistently perform.
`
`In addition, the latest
`
`update from a vendor may not be appropriate consideiing the hardware,
`
`software or
`
`physical/geo—location of the client device. Thus, there is a need in the art for a tool that will
`
`automate the program configuration update process and optimize the suggested updated program
`
`configuration to match the environment of the client device.
`
`[0004] The present invention is directed toward a system, method and apparatus for remote
`
`updating of the configuration of a computer. One embodiment of the invention is system for
`
`remote updating a computer configuration, comprising: a client device configured to load a
`
`computer program to perform a remote update; a processor, at the client device, configured to
`
`perform physical device recognition on the client device to detemtine machine parameters,
`
`wherein unique device identifiers are generated for the client device, at least in part, based on the
`
`determined machine parameters; a transceiver configured to send the unique device identifiers to
`
`at least one of an auditing sewer and an update sewer via lntemet; an update server configured
`
`to collect the unique device identifiers from at least one client device; a processor, at the update
`
`server, configured to analyzed the unique identifiers at the update server, wherein the analyzed
`
`unique identifiers determine an updated program configuration; and a transceiver, at the update
`
`server, configured to deliver the updated program configuration to the client device via lnternet.
`
`APPLE EXHIBIT 1102, Page 5 of 1048
`
`APPLE EXHIBIT 1102, Page 5 of 1048
`
`

`

`[0005]
`
`In accordance with one aspect of the embodiments described herein, there is provided
`
`an apparatus for remote update of a program, comprising: means for loading a client device with
`
`a computer program configured to perform a remote update; means for performing physical
`
`device recognition on the client device to determine machine parameters; means for generating
`
`unique device identifier based at least in part on the determined machine parameters; means for
`
`sending the unique device identifier to at least one of an auditing server and an update server;
`
`and means for receiving an updated program configuration from the update server.
`
`[0006]
`
`In accordance with another aspect of the embodiments described herein,
`
`there is
`
`provided a method for remote update of a program, comprising: collecting unique identifiers
`
`from at least one of an audit sewer and client device at an update server; analyzing the unique
`
`identifiers; determining an updated program configuration for the client device from the
`
`analyzed unique identifiers; and delivering the updated program configuration to the client.
`
`[0007]
`
`In accordance with another aspect of the embodiments described herein,
`
`there is
`
`provided a tangible computer readable medium having stored thereon, computer—executable
`
`instructions that, if executed by a computing device, cause the computing device to perform a
`
`method comprising:
`
`loading a client device with a computer program configured to perform a
`
`remote update; performing physical device recognition on the client device to determine
`
`machine parameters; generating unique device identifier based at least in part on the determined
`
`machine parameters; sending the unique device identifier to at least one of an auditing server and
`
`an update server; and receiving an updated program configuration from the update server.
`
`[0008]
`
`In accordance with another aspect of the embodiments described herein,
`
`there is
`
`provided an apparatus for remote updating of a program, comprising: means for collecting
`
`unique identifiers from at least one of an audit server and client device; means for analyzing the
`
`unique identifiers; means for determining an updated program configuration for the client device
`
`from the analyzed unique identifiers; and means
`
`for delivering the updated program
`
`configuration to the client.
`
`[0009]
`
`In accordance with another asPect of the embodiments described herein,
`
`there is
`
`provided a tangible computer readable medium having stored thereon, computer-executable
`
`instructions that, if executed by a computing device, cause the computing device to perform a
`
`method comprising: collecting unique identifiers from at least one of an audit sewer and client
`
`APPLE EXHIBIT 1102, Page 6 of 1048
`
`APPLE EXHIBIT 1102, Page 6 of 1048
`
`

`

`device; analyzing the unique identifiers; determining an updated program configuration for the
`
`client device from the analyzed unique identifiers; and delivering the updated program
`
`configuration to the client.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0010]
`
`FIG. I is a schematic diagram of a system for remote updating of a client device by an
`
`update server in accordance with an embodiment of the invention.
`
`[0011]
`
`FIG. 2 is a flow diagram of a method for remote updating of a client device in
`
`accordance with an embodiment of the invention implemented on the client device.
`
`[0012]
`
`FIG. 3 is a block diagram of an apparatus according to the invention that may be
`
`configured as a client device, or as a processor or similar device for use within a client device.
`
`[0013]
`
`FIG. 4 is a flow diagram of a method for remote updating of a client device in
`
`accordance with an embodiment of the invention implemented on the update server.
`
`[0014]
`
`FIG. 5 is a block diagram of an apparatus according to the invention that may be
`
`configured as an update server, or as a processor or similar device for use within an update
`
`SBI'VEI'.
`
`[0015]
`
`FIG. 6 is a block diagram of memory allocation for a unique device identifier used in
`
`the various exemplary embodiments of the invention.
`
`DETAILED DESCRIPTION
`
`[0016]
`
`In accordance with the present technology, there is provided a system, method and
`
`apparatus for the remote update of computer software licenses through the use of physical device
`
`recognition.
`
`In particular, FIG.
`
`1 shows an exemplary schematic diagram for a system for
`
`remote updating of at least one client device 100 by an update server l20 in accordance with an
`
`exemplary embodiment of the invention.
`
`In particular, FIG. I, shows an exemplary system
`
`having at least one computing/network client device 100 that is in operative communication via
`
`the Internet 102 with an audit server 110 and an update server 120. While only one client device
`
`100 is illustrated in FIG. 1, it will be understood that a given system may comprise any number
`
`of client devices and use any number of apparatuses and methods of the invention as described
`
`herein. Further details regarding the system of FIG. 1 are provided below.
`
`Ls.)
`
`APPLE EXHIBIT 1102, Page 7 of 1048
`
`APPLE EXHIBIT 1102, Page 7 of 1048
`
`

`

`[0017]
`
`FIG. 2 provides an exemplary flow diagram of a method for remotely updating a client
`
`device.
`
`In particular,
`
`in step 2l0 of FIG. 2, the loading of at least one client device with a
`
`computer program for remote updating is peiformed. Physical device recognition of at least one
`
`of a software, hardware and geo-location environment of the client device is performed to
`
`determine machine parameters in step 220.
`
`Step 230 involves generating unique device
`
`identifiers, at
`
`least
`
`in part, from the determined machine parameters.
`
`The unique device
`
`identifiers are sent to at least one of an audit server 110 and an update server 120, as shown in
`
`FIG. 1, in step 240.
`
`In step 250, the client device 100 receives an updated program configuration
`
`from the update server 120, as shown in FIG. 1.
`
`[0018]
`
`FIG. 3 illustrates an exemplary apparatus that may be configured as a client device,
`
`comprising: a transceiver 304, a processor 306 and a memory 308; or as a processor 306; or as a
`
`similar device for use within a client device 100, as shown in FIG. 1, which provides the means
`
`for implementing the method, as disclosed in FIG. 2, on the client device 100.
`
`In particular,
`
`apparatus 300 may comprise means for loading 320 a client device with a computer program for
`
`perfonning a remote update.
`
`In addition, the apparatus 300 may comprise means for performing
`
`320 physical device recognition of one or more machine parameters of the client device. The
`
`machine parameters may comprise a combination of at least one user-configurable parameter and
`
`at least one non—user—configurable parameter of the client device. Further, the apparatus 300 may
`
`comprise a means for generating 340 a device identifier for the device based at least in part on
`
`the collected one or more machine parameters. Furthermore, apparatus 300 may comprise means
`
`for sending unique identifiers to at least one of an audit server and an update server. Moreover,
`
`apparatus 300 may comprise means for receiving 360 an updated program configuration from the
`
`update server.
`
`[0019]
`
`In addition, apparatus 300 may further comprise a means for determining the geo—
`
`location code for the device and for associating the geo-location code with a unique device
`
`identifier; and a software identifier to generate an audit number. The geo—location code may
`
`comprise, but is not limited to an Internet protocol (IP) address.
`
`[0020]
`
`The apparatus 300 may further comprise a means for generating a device identifier by
`
`implementing or executing at
`
`least one irreversible transformation such that
`
`the machine
`
`APPLE EXHIBIT 1102, Page 8 of 1048
`
`APPLE EXHIBIT 1102, Page 8 of 1048
`
`

`

`parameters cannot be derived from the device identifier. Additionally, at
`
`least one of the
`
`irreversible transformations may comprise, but is not limited to a cryptographic hash function.
`
`[0021]
`
`It is noted that apparatus 300 may Optionally include a processor module 306 having at
`
`least one processor, in the case of apparatus 300 configured as computing device, rather than as a
`
`processor. Processor module 306, in such case, may be in operative communication with means
`
`for determining the geo—location code; means for generating a device identifier by implementing
`
`or executing at least one irreversible transformation and components thereof, via a bus 302 or
`
`similar communication coupling. Processor 306 may effect initiation and scheduling of the
`
`processes or functions performed by means for generating a device identifier by implementing or
`
`executing at least one irreversible transformation, and components thereof.
`
`[0022]
`
`In related aSpects, apparatus 300 may include a
`
`transceiver module 304 for
`
`communicating with means for generating a device identifier by implementing or executing at
`
`least one irreversible transformation, and components thereof. A stand alone receiver and/or
`
`stand alone transmitter may be used in lieu of or in conjunction with the transceiver 304.
`
`[0023]
`
`In addition, apparatus 300 may optionally include a means for storing information, such
`
`as, for example, a computer readable medium or memory device/module 308. Further,
`
`the
`
`memory device/module 308 may be operatively coupled to the other components of apparatus
`
`300 via bus 302 or the like. The computer readable medium or memory device 308 may be
`
`adapted to store computer readable instructions and data for effecting the methods of FIG. 2;
`
`and, as shown in FIG. 3, the processes and behavior of means 320—360; means for determining
`
`the geo-location code; means for generating a device identifier by implementing or executing at
`
`least one irreversible, and components thereof; or processor 306 (in the case of apparatus 300
`
`being configured as a computing device) or the methods disclosed herein.
`
`[0024]
`
`In yet further related aspects,
`
`the memory module 308 may optionally include
`
`executable code for the processor module 304 configured to: (a) determine machine parameters
`
`of a client
`
`device, the machine parameters comprising a combination of at least one user—
`
`configurable parameter and at
`
`least one non-user-configurable parameter of the device; (b)
`
`generate a device identifier for the device based, at least in part, on the machine parameters; and
`
`(c) determine whether an Internet connection is available for the client device. One or more of
`
`APPLE EXHIBIT 1102, Page 9 of 1048
`
`APPLE EXHIBIT 1102, Page 9 of 1048
`
`

`

`steps (a)-(c) may be performed by a processor module in lieu of or in conjunction with the means
`
`described above.
`
`[0025]
`
`FIG. 4 shows an exemplary flow diagram of a method for remote updating of a client
`
`device in accordance with an embodiment of the invention on the update server 120, as shown in
`
`FIG. 1.
`
`In particular, in step 410 the unique identifiers are collected by update server 120 from
`
`at least one of the audit server ”0 and the client device 100, as shown FIG. 1. The unique
`
`identifiers are then analyzed on the update server in step 420. Step 430 involves determining an
`
`updated program configuration for the client device from the analysis of the unique identifiers.
`
`The updated program configuration is delivered to the client device in step 440.
`
`[0026]
`
`FIG. 5 shows an exemplary apparatus that may be configured as either an update
`
`server, or as a processor or similar device for use within the update server.
`
`an exemplary
`
`apparatus diagram that may be configured as an update server comprising: a transceiver 504, a
`
`processor 506 and a memory 508; or as a processor 506; or as a similar device for use within an
`
`update server 120, as shown in FIG. I, which provides the means for implementing the method,
`
`as disclosed in FIG. 4, on the update server 120, as disclosed in FIG. 1.
`
`In particular, apparatus
`
`500 may comprise means for collecting 520 unique identifiers from at least one of an audit server
`
`and at least one client device with a computer program for performing a remote update.
`
`In
`
`addition, the apparatus 300 may comprise means for analyzing 530 the unique identifiers that are
`
`determined, at least in part, from the machine parameter. The machine parameters may comprise
`
`a combination of at least one user-configurable parameter and at least one non—user—configurable
`
`parameter of the client device.
`
`Further,
`
`the apparatus 500 may comprise a means for
`
`determining 540 an updated program configuration for the device based, at least in part, on the
`
`collected one or more machine parameters. Furthermore, apparatus 500 may comprise means for
`
`delivering the updated program configuration for the client device 100 from the update server
`
`120, as shown in FIG. 1.
`
`[0027]
`
`[t is noted that apparatus 500 may optionally include a processor module 506 having at
`
`least one processor, in the case of apparatus 500 configured as a computing device, rather than as
`
`a processor.
`
`In related aspects, apparatus 500 may include a transceiver module 504 for
`
`communicating with means for generating a device identifier by implementing or executing at
`
`APPLE EXHIBIT 1102, Page 10 of 1048
`
`APPLE EXHIBIT 1102, Page 10 of 1048
`
`

`

`least one irreversible transformation, and components thereof. A stand alone receiver and/or
`
`stand alone transmitter may be used in lieu of or in conjunction with the transceiver 504.
`
`[0028]
`
`In addition, apparatus 500 may optionally include a means for storing information, such
`
`as, for example, a computer readable medium or memory device/module 508. Further,
`
`the
`
`memory device/module 508 may be operatively coupled to the other components of apparatus
`
`500 via bus 302 or the like. The computer readable medium or memory device 508 may be
`
`adapted to store computer readable instructions and data for effecting the methods of FIG. 4;
`
`and, as shown in FIG. 5, the processes and behavior of means 520-550, and components thereof;
`
`or processor 506 (in the case of apparatus 300 being configured as a computing device).
`
`[0029]
`
`In yet further related aspects,
`
`the memory module 508 may optionally include
`
`executable code for the processor module 504 configured to: (a) collect unique identifiers from at
`
`least one of an audit server and client device; (b) analyze the collected unique identifiers; (0)
`
`determine an updated program configuration for the client device; and (d) deliver the updated
`
`program configuration to the client device(s). One or more of steps (a)—(:d) may be performed by
`
`a processor module in lieu of or in conjunction with the means described above.
`
`[0030]
`
`FIG. 6, discloses, for one or more embodiments described herein, an exemplary format
`
`for a unique device identifier 600, which may further include two components: (1) a variable key
`
`portion; and (2) a system key portion. The variable key portion may be generated at the time of
`
`registration of client device 100 by reference to a variable platform parameter, such as, but not
`
`limited to: a reference to system time information, location and/or other parameters that are
`
`variable in nature may be utilized in other embodiments. The system key portion may include
`
`the above described parameters expected to be unique to the client device 100, that are for
`
`example, but not limited to: hard disk volume name, user name, computer name, user password,
`
`hard disk initialization date, or combinations thereof. The variable key portion andfor system
`
`key portion may be combined with the IP address and/or other platform parameters of the client
`
`device 100.
`
`It is noted that unique device identifiers, or‘ portions thereof, may be encrypted to
`
`add an additional layer of specificity and security.
`
`[0031] With respect
`
`to the system, method and apparatus of the invention,
`
`the following
`
`paragraphs provide additional detail regarding the implementation of each of the embodiments
`
`discussed above.
`
`APPLE EXHIBIT 1102, Page 11 of 1048
`
`APPLE EXHIBIT 1102, Page 11 of 1048
`
`

`

`[0032]
`
`The machine parameters may further include, but are not limited to: user account
`
`information, program information (e.g., serial number);
`
`location of a user within a given
`
`application program, and features of the software/hardware the user is entitled to use. As shown
`
`in FIG. 1, block 107,
`
`the updated program configuration delivered to the client device may
`
`include, but is not limited to: binary, executables, paths, dlls, miss or assets.
`
`[0033]
`
`The client device 100 may be, but is not limited to, a personal computer, a server
`
`computer, a laptop computer, a tablet computer, a personal digital assistant, a mobile phone, a
`
`wireless communication device, an onboard vehicle computer, a game console, or any other
`
`machine/device capable of communication with a computer network, such as but not limited to
`
`the Internet.
`
`In related aspects, in wireless communications, Over The Air (OTA) Push or the
`
`like may be implemented to download onto or upgrade (:e.g., configuration/settings, etc.) client
`
`network devices. OTA Push involves the use of wireless phone numbers (MS—ISDN) rather than
`
`IP.
`
`[0034]
`
`The client device 100 may comprise software (e.g., an operating system or other
`
`applications) that requires a license to be authorized for use. The client device 100 may further
`
`comprise an auditing tool or application. The auditing application may be any program or
`
`application that collects identifying information regarding the client device 100 and/or software
`
`on the client device 100. The auditing application may comprise a stand alone application or an
`
`applet running within a web browser on the client device [00 (e.g., an applet comprising
`
`executable code for a Java Virtual Machine).
`
`[0035]
`
`The auditing application may be embedded in or associated with another software
`
`application, including, but not limited to software. For example, the auditing application may be
`
`embedded in or associated with a tool bar of a software application, for example, but not limited
`
`to a web browser. The auditing application may prompt the user to register with an online
`
`software registration service, or may run in the background with little or no interaction with the
`
`user of the client device 100.
`
`[0036]
`
`The auditing application may include a registration routine that collects infomiation
`
`regarding client device 100 by checking a number of parameters which are expected to be unique
`
`to the client device environment. The parameters checked may include, but are not limited to:
`
`hard disk volume name, user name, device name, user password, hard disk initialization date, etc.
`
`APPLE EXHIBIT 1102, Page 12 of 1048
`
`APPLE EXHIBIT 1102, Page 12 of 1048
`
`

`

`The collected information may include, but is not limited to:
`
`information that identifies the
`
`hardware comprising the platform on which the web browser runs, such as, CPU number, or
`
`other unique parameters associated with the firmware in use. The system information may
`
`further include, but is not limited to: system configuration information, amount of memory, type
`
`of processor, software or operating system serial number, etc.
`
`[0037]
`
`In the alternative, or in addition,
`
`the parameters checked may include, but are not
`
`limited to virtual machine specifications. Examples of virtual machine specifications may
`
`include, but are not limited to: information relating to virtual processors, virtual BIOS, virtual
`
`memory, virtual graphics, virtual lDE drives, virtual SCSI devices, virtual PCI slots, virtual
`
`floppy drives, virtual serial (COM) ports, virtual parallel (LPT) ports, virtual keyboard, virtual
`
`mouse and drawing tablets, virtual Ethernet card, virtual networking, virtual sound adapter, etc.
`
`[0038] Based on the collected information, the auditing application may generate a device
`
`identifier that is unique for the client device 100.
`
`In the alternative, or in addition, the auditing
`
`application may gather and send the device parameters to a remote server, such as audit server
`
`110, which in turn generates the device identifier. The device identifier may be stored in a
`
`hidden directory of the client device 100 and/or at a remote location, such as the audit server
`
`110. The device identifier may incorporate the device’s IP address and/or other gee-location
`
`code (e.g., GPS data, cell site triangulation data, or the like, or combinations thereof) to add
`
`another layer of specificity to client device’s unique identifier.
`
`[0039] An application ('e.g., auditing application) running on the client device 100 or otherwise
`
`having access to the hardware and file system of the client device 100 may generate a device
`
`identifier (e.g., a unique device identifier) using a process that operates on data indicative of the
`
`configuration and hardware of the client device 100. The device identifier may be generated
`
`using a combination of user-configurable and non—user—configurable machine parameters as input
`
`to a process that results in the device identifier, which may be expressed in digital data as a
`
`binary number.
`
`[0040]
`
`Each machine parameter is data determined by a hardware component, software
`
`component, or data component specific to the client device 100. Machine parameters may be
`
`selected based on the target device system configuration such that the resulting device identifier
`
`APPLE EXHIBIT 1102, Page 13 of 1048
`
`APPLE EXHIBIT 1102, Page 13 of 1048
`
`

`

`has a very high probability (ea greater than 99.999%) of being a unique identifier of the client
`
`device 100.
`
`[0041]
`
`In addition,
`
`the machine parameters may be selected such that the device identifier
`
`includes at least a stable unique portion up to and including the entire identifier that has a very
`
`high probability of remaining unchanged during normal operation of the client device 100. As a
`
`result, the device identifier should be highly specific, unique, reproducible and stable as a result
`
`of properly selecting the machine parameters.
`
`[0042]
`
`The application for generating the unique device identifier may also operate on the
`
`collected parameters with one or more algorithms to generate the device identifier. This process
`
`may include at least one irreversible transformation, such as, but not limited to a cryptographic
`
`hash function. As a result, the input machine parameters cannot be derived from the resulting
`
`device identifier. Thus, each device identifier, to a very high degree of certainty, cannot be
`
`generated except by the suitably configured application operating or otherwise having had access
`
`to the same client device for which the device identifier was first generated. Conversely, each
`
`device identifier, again to a very high degree of certainty, can be successfully reproduced by the
`
`suitably configured application operating or otherwise having access to the same client device
`
`100 on which the device identifier was first generated.
`
`[0043]
`
`The auditing application may operate by performing a system scan to determine a
`
`present configuration of the client device. The auditing application may then select the machine
`
`parameters to be used as input for generating the unique device identifier.
`
`Selection of
`
`parameters may vary depending on the system configuration. Once the parameters are selected,
`
`the application may generate the device identifier.
`
`[0044]
`
`Further, generating the device

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