throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2009/0094179 A1
`Jager
`(43) Pub. Date:
`Apr. 9, 2009
`
`US 20090094179A1
`
`(54) CLASSIFYING ENVIRONMENT OF A DATA
`PROCESSING APPARATUS
`
`(75) Inventor:
`
`Ivo Ruben Jager, Amstelveen (NL)
`
`Publication Classi?cation
`
`(5 1) Int. Cl.
`G06E 1/00
`
`(200601)
`
`Correspondence Address:
`FENWICK & WEST LLP
`SILICON VALLEY CENTER, 801 CALIFORNIA
`STREET
`MOUNTAIN VIEW, CA 94041 (US)
`
`(73) Assignee:
`
`PALM, INC., Sunnyvale, CA (U S)
`
`(21) Appl, NO;
`
`11 $68,925
`
`(22) Filed;
`
`Oct. 8, 2007
`
`(52) US. Cl. ........................................................ .. 706/21
`
`(57)
`
`ABSTRACT
`
`Data processing apparatus is disclosed comprising: a sensor
`module con?gured to sense a ?rst pro?le comprised of one or
`more attributes of an environment of said data processing
`apparatus; and a classi?cation module con?gured to assign a
`prediction factor to each of said one or more attributes of said
`?rst pro?le and to store each said attribute and assigned
`prediction factor as a stored pro?le.
`
`1 O2
`\
`
`Environment
`
`7
`
`Input
`
`f104
`
`1 O6
`
`208
`
`1 12
`\
`Action
`
`promes
`
`1 14
`
`.
`
`.
`
`.
`
`Classlflcatlon
`
`Learning
`
`J1 10
`
`Output
`
`1
`
`Google Inc., Nest Labs, Inc., and Dropcam, Inc.
`GOOG 1006
`IPR of US Pat. No. 8,315,618
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 1 0f 8
`
`US 2009/0094179 A1
`
`“5
`
`Environment
`
`7
`
`Input
`
`104
`-/
`
`106 W Classifrcatron
`
`.
`
`.
`
`.
`
`7
`
`114
`
`/1 10
`
`Learning
`1
`
`‘
`Output
`J \
`208
`
`FIG. 1
`
`112
`\\
`Action
`
`m
`
`Observed
`environment
`
`Created
`Profile
`
`302
`
`304
`
`306
`
`J314
`
`- - - 1316
`ID 1
`ID 2
`ID 3
`Total match:
`33.3%
`33.3%
`33.3%
`100%
`
`308
`
`310
`
`312
`
`FIG. 3
`
`2
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 2 of 8
`
`US 2009/0094179 A1
`
`200
`
`Screen
`
`226”
`
`Keyboard
`
`RF interface
`
`218
`Processor /
`
`216~/
`
`/ Memo
`
`W
`
`206
`
`//
`
`/, Input
`
`Classification J
`
`d
`
`'
`
`//
`204, // Learning
`.
`21O,///— Action
`212//
`
`Profiles
`database
`
`,/’_
`
`208
`
`/228
`
`Output V
`_/
`/214
`/
`
`__ Bluetooth Module/Environment
`Sensor
`
`/
`f
`202
`
`FIG. 2
`
`3
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 3 of 8
`
`US 2009/0094179 A1
`
`S402
`Receive observed profile /
`
`8404
`Set counter g = 0 f
`
`_ Set counter g =g+1; / S406
`' Get stored pr 'Ie(g)
`|
`Set counter h = 0; f 5408
`Set score = 0
`|
`Set counter h = h + ‘I; Get / $410
`> attribute(h) of stored
`pr0file(g)
`
`Attribute(h)
`in observed
`profile ‘.7
`
`Add attribute (h)
`prediction factor to score
`
`I
`
`8416
`
`Subtract attribute(h) /
`prediction factor from score
`
`8418
`
`NO
`
`YES
`
`FIG. 4(a)
`
`4
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 4 0f 8
`
`US 2009/0094179 A1
`
`S420
`
`NO
`
`YES
`
`Select pro?le with highest score /S422
`
`Output highest score profile to
`learning module and action module
`
`/ S424
`
`FIG. 4(b)
`
`5
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 5 0f 8
`
`US 2009/0094179 A1
`
`Receive highest score and f 8502
`observed profile
`
`Score <
`
`similariév
`
`threshoi ?
`
`S504
`
`YES
`
`S506 \ Capture new profile
`
`Assi _n normalised
`pre iction factors
`|
`Store new profile
`
`$510k
`
`stop
`
`fs514
`
`\ S513
`
`|
`
`_
`
`[8516
`
`Get attributeh? in [S518
`observed pro ile
`
`S520
`
`YES
`
`/S522
`
`Add attribute to highest score
`profile & assign prediction factor
`
`in
`
`FIG. 5(a)
`
`6
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 6 of 8
`
`US 2009/0094179 A1
`
`Add learning factor to
`attribute prediction factor
`
`fsszs
`YES
`Sum prediction factors
`
`S530
`Calculate J
`normalisation factor
`I
`
`0 /S532
`
`'
`
`15534
`
`I
`r=r+1
`|
`Prediction factor(j) /5536
`normalised
`
`NO
`
`Store updated fs540
`pro?le
`
`FIG. 5(b)
`
`7
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 7 0f 8
`
`US 2009/0094179 A1
`
`gri'v'irr‘ilktmem @ ® @
`@ @ @
`
`Recorded
`profile
`
`Final score:
`33.3%
`
`FIG. 6
`
`706
`
`ZQQ
`
`704
`E
`
`708
`
`702
`4f
`ID 1
`Observed
`environment \—/
`716 710
`J
`Highest
`VAIHZ
`714
`Total match:
`score
`ID 1
`720
`33.3%
`profile
`33.3%
`708
`:
`71813
`,
`3 722
`Updated
`F D V é C
`profile (+10
`ID 2
`ID 1
`ID 3
`ID 4 f 724
`learning)
`433
`43.3
`33.3
`10 J
`
`A "
`
`726
`
`Updated O \____/ O O 1
`profile
`ID 1
`ID 2
`ID 3
`ID 4
`Total match
`normalized
`33.3%
`33.3%
`25.6%
`7.7%
`48.7%
`C V" <3 G
`ID 1
`ID 2
`ID 3
`ID 4
`Total match:
`33.3%
`33.3%
`19.7%
`13.6%
`60.5%
`730
`> \728
`736
`
`2nd iteration
`examp|e
`
`F‘
`732
`
`734
`
`8
`
`

`

`Patent Application Publication
`
`Apr. 9, 2009 Sheet 8 of 8
`
`US 2009/0094179 A1
`
`Stored profile
`Pr0?le(1)
`Profilei2)
`
`Pro?leli)
`
`Pro?leln)
`(camera in use)
`
`Action
`Observed behaviour
`Initiate silent mode
`Silent mode, smartphone off
`Calls from certain telephone numbers Ignore call from the certain
`not answered
`telephone numbers
`None - action set by user
`Forward business calls to
`office telephone
`Decativate vibration alarm
`
`None — pre-set action
`
`FIG. 8
`
`9
`
`

`

`US 2009/0094179 A1
`
`Apr. 9, 2009
`
`CLASSIFYING ENVIRONMENT OF A DATA
`PROCESSING APPARATUS
`
`BACKGROUND
`
`[0001] 1. Field
`[0002] The present invention relates to apparatus and
`method for classifying the environment of a data processing
`apparatus.
`[0003] 2. Description of the Related Art
`[0004] Users of communications devices such as cellular
`telephones, smartphones, personal digital assistants (PDAs)
`and data processing apparatus in general often have such
`devices With them at all times. HoWever, While it is convenient
`to have a communications device present at all times it can be
`intrusive, for example if telephone calls are received Whilst in
`a meeting or business telephone calls received Whilst at home.
`A user may Wish to only receive SMS text messages or voice
`mail during such times but may forget to con?gure the com
`munications device to respond to only text messages or take
`voicemail.
`[0005] It is also the case that the times When a user Would
`not Wish to be disturbed, such as When in a meeting or by
`business calls When at home are often characterized by the
`user being in a particular location, With particular people
`and/or When the user is exhibiting particular behavior or a
`particular type of use of the device. Such things may be
`considered to represent the environment of the user and the
`communications device.
`[0006] Aspects of the present invention Were made With the
`foregoing in mind.
`
`SUMMARY
`
`[0007] VieWed from a ?rst aspect disclosed is a data pro
`cessing apparatus comprising a sensor module con?gured to
`sense a ?rst pro?le comprising one or more attributes of an
`environment of the data processing apparatus; and a classi?
`cation module con?gured to assign a prediction factor to each
`of the one or more attributes of the ?rst pro?le and to store
`each attribute and assigned prediction factor. VieWed from a
`second aspect, a method of operating data processing appa
`ratus comprises sensing a ?rst pro?le comprising one or more
`attributes of an environment of the data processing apparatus;
`assigning a prediction factor to each of the one or more
`attributes of the ?rst pro?le; and storing each attribute and
`assigned prediction factor.
`[0008] Data processing apparatus con?gured or operated in
`accordance With the foregoing aspects may sense attributes of
`the data processing apparatus environment such as cellular
`telephone cell sites, ambient light and/or noise, and/or the
`presence of other devices by sensing their Bluetooth signals,
`as non-limiting examples. At a given moment, the attributes in
`the environment of the data processing apparatus may be
`sensed and stored by the data processing apparatus.
`[0009] Assigning a prediction factor to each attribute in a
`stored pro?le provides a value against Which attributes of later
`observed environment pro?les may be compared to deter
`mine if an observed environment pro?le is the same or similar
`to a stored environment pro?le. If the same or a similar
`environment to a stored environment is ob served then the data
`processing apparatus settings, or settings of a communica
`tions device incorporating the data processing apparatus, may
`be set to be consistent With settings previously set for the
`stored environment pro?le.
`
`[0010] In this Way, a communications device incorporating
`such data processing apparatus may be automatically con?g
`ured according to its environment. Thus, in an of?ce environ
`ment an observed pro?le may match a stored pro?le Which is
`the pro?le When the user is at their desk, or in a conference
`room. The communications device may be automatically
`con?gured in accordance With an operational mode associ
`ated With the stored pro?le.
`[0011] The classi?cation module may be con?gured to
`automatically determine a value for the correlation betWeen
`the ?rst pro?le and one or more stored pro?les and store the
`?rst pro?le if each of the correlation values is less than a
`threshold level. In this Way, the data processing apparatus
`may automatically determine if an observed pro?le is differ
`ent from the stored pro?les and store the observed pro?le.
`Thus, a neW observed environment may be automatically
`stored thereby automatically building a database of environ
`ments for the data processing apparatus.
`[0012] Optionally, or additionally, a user of the data pro
`cessing apparatus may initiate storing of an observed pro?le.
`Additionally, the classi?cation module may be con?gured to
`normaliZe each assigned prediction factor to the number of
`attributes in the ?rst pro?le. For example, each assigned pre
`diction factor may be a number N divided by the number of
`attributes in the ?rst pro?le. By making the prediction factors
`a function of the number of detected attributes, the same
`absolute level of the prediction factors may be maintained
`independently of the number of attributes in the ?rst pro?le.
`[0013] The classi?cation module may be con?gured to
`determine each of the correlation values based on a difference
`betWeen the presence of one or more attributes in the ?rst
`pro?le and the presence of one or more attributes in each of
`the one or more stored pro?les. In this Way, it may be deter
`mined to What extent an observed pro?le is similar to stored
`pro?les.
`[0014] In one embodiment the classi?cation module may
`be con?gured to determine each correlation value based on
`adding and subtracting prediction factors; and to add a pre
`diction factor if associated With an attribute of the stored
`pro?le for Which a corresponding attribute is present in the
`?rst pro?le and subtract a prediction factor if associated With
`an attribute of the stored pro?le for Which a corresponding
`attribute is not present in the ?rst pro?le. In this Way, the
`similarity betWeen an observed (?rst) pro?le and a stored
`pro?le is based on the prediction factors for those attributes
`present in both the ?rst pro?le and the stored pro?le.
`[0015] The data processing apparatus may further comprise
`a learning module. The classi?cation module may be con?g
`ured to determine a best match stored pro?le, the best match
`stored pro?le being the stored pro?le having the highest cor
`relation value With the ?rst pro?le. The learning module may
`be con?gured to update the best match stored pro?le deter
`mined by the classi?cation module for the highest correlation
`value being equal to or exceeding the threshold value and not
`being the maximum correlation value. Thus, a stored pro?le
`may be updated based on the ?rst pro?le Where the ?rst pro?le
`is similar to the stored pro?le, but not identical. In this Way,
`stored pro?les may be adapted and modi?ed to take into
`account gradual changes in an environment.
`[0016] The learning module may be con?gured to update
`the best match stored pro?le by adding to the best match
`pro?le an attribute of the ?rst pro?le not present in the best
`match stored pro?le. Optionally, or additionally, the learning
`module may be con?gured to modify the prediction factor of
`
`10
`
`

`

`US 2009/0094179 A1
`
`Apr. 9, 2009
`
`each attribute present in the best match stored pro?le. In this
`Way a stored pro?le may be gradually modi?ed and updated
`if the environment corresponding to that stored pro?le gradu
`ally changes overtime.
`[0017] The learning module may be con?gured to add a
`learning factor to each prediction factor of each attribute
`present in both the best match stored pro?le and the ?rst
`pro?le. The learning factor may increase the prediction factor
`(importance) of attributes Which are present in both the best
`match pro?le and the ?rst pro?le, and decrease the prediction
`factor (importance) of those that are not. A “remove” thresh
`old may be set such that an attribute having a prediction factor
`less than the “remove” threshold is removed from the stored
`pro?le. The learning module may be con?gured to normalize
`learning factors of the stored best match pro?le. In addition,
`in one embodiment using percentage values the formula
`(l00%/number of detected attributes) *learning factor may be
`used to derive a learning factor Which provides an equal
`amount of change due to updating distributed over all modi
`?ed attributes.
`[0018] In one embodiment, the data processing apparatus
`comprises an action module con?gured to perform an action
`associated With said best match stored pro?le. Such an action
`might be to inhibit incoming telephone calls, sWitch calls to
`voicemail or some other device setting.
`[0019] In one embodiment, a computer program comprises
`computer program elements Which are implementable in a
`general data processing apparatus (for example a computer)
`to con?gure data processing apparatus and implement a
`method for such data processing apparatus in accordance
`With the foregoing.
`[0020] The features and advantages described in the speci
`?cation are not all inclusive and, in particular, many addi
`tional features and advantages Will be apparent to one of
`ordinary skill in the art in vieW of the draWings, speci?cation
`and claims. Moreover, it should be noted that the language
`used in the speci?cation has been principally selected for
`readability and instructional purposes, and may not have been
`selected to delineate or circumscribe the disclosed subject
`matter.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`[0021] Other advantages and features Will be more readily
`apparent from the folloWing detailed description and the
`appended claims. The detailed description Will make refer
`ence to the folloWing ?gures:
`[0022] FIG. 1 is a schematic illustration of one embodiment
`of an architecture of a disclosed system;
`[0023] FIG. 2 is a schematic illustration of one embodiment
`of a mobile communications device;
`[0024] FIG. 3 is a schematic illustration of one embodiment
`of a stored pro?le created from an observed pro?le;
`[0025] FIG. 4 is a process How control diagram for one
`embodiment of a classi?cation module;
`[0026] FIG. 5 is a process How control diagram for one
`embodiment of a learning module;
`[0027] FIG. 6 is a schematic illustration shoWing a ?nal
`match score for one embodiment of an observed pro?le and
`stored pro?le;
`[0028] FIG. 7 is a schematic illustration shoWing iterations
`of one embodiment of an updated stored pro?le based on an
`observed pro?le; and
`
`[0029] FIG. 8 illustrates one embodiment of a pro?le/ac
`tion concordance table.
`
`DETAILED DESCRIPTION
`
`[0030] A preferred embodiment is noW described With ref
`erence to the ?gures Where like reference numbers indicate
`identical or functionally similar elements.
`[0031] The embodiments are, by Way of example only, and
`With reference to the accompanying ?gures introduced above.
`[0032] A general overvieW of the operation of an embodi
`ment Will noW be described With reference to the functional
`architecture illustrated in FIG. 1. Environment sensor mod
`ules 102 are con?gured to sense a value of one or more aspects
`or features of the environment at a particular time or in a
`particular time WindoW. An aspect or feature is something in
`the environment that can be sensed and a value assigned to it.
`An aspect or feature With an assigned value is termed herein
`an attribute of the observed environment.
`[0033] The value may be a logical value such as true or
`false, Which merely indicates the presence or absence of an
`aspect or feature in the environment, or it may be a numeric
`value indicating the amount of something in the environment,
`for example. The environment may be a physical environ
`ment, a processing or executing environment such as a com
`puter application that is being run on a data processing appa
`ratus or the state of a data processing apparatus, or a
`combination of tWo or more, for example.
`[0034] Input module 104 is con?gured to collect attribute
`values from the environment sensors 102. This may be done
`automatically or triggered by user input. One or more
`attributes sensed at the same time or Within the same time
`WindoW form an environment pro?le, Which may be consid
`ered a “snapshot” of the environment. The input module 104
`forWards the observed pro?le to classi?cation module 106.
`The classi?cation module 106 compares the attributes of the
`forWarded observed pro?le With pro?les stored in pro?les
`database 114.
`[0035] The classi?cation module 106 assigns a default pre
`diction factor to each attribute in a pro?le the ?rst time the
`pro?le is created. At a later time the input module 104 may
`collect attributes of the environment observed by sensors 102.
`Classi?cation module 106 may compare the neWly observed
`pro?le to see if its attributes match any of the stored pro?les.
`The pro?le and best match score is passed to output module
`108 Which distributes it to learning module 110 and action
`module 112. Action module 112 evaluates the pro?le and
`matching score and may initiate an associated task or state for
`the data processing apparatus associated With the stored pro
`?le providing the best match, for example.
`[0036] If the observed pro?le is different from any of the
`stored pro?les but suf?ciently closely matching, the learning
`module 110 uses the differences to adapt and adjust a stored
`pro?le, such as a stored pro?le having the closest match to the
`observed pro?le, by adjusting the prediction factors associ
`ated With the presence of one or more of the attributes in the
`stored pro?le. In this Way, stored pro?les may be automati
`cally adapted and adjusted based on differences betWeen
`observed pro?les and stored pro?les. Thus, stored pro?les
`may be gradually adapted and adjusted to take into account
`changes in the environment. If no suf?ciently closely match
`ing stored pro?le is found then the learning module 106 may
`initiate storing of the observed pro?le in the pro?les database,
`as a neW pro?le.
`
`11
`
`

`

`US 2009/0094179 A1
`
`Apr. 9, 2009
`
`[0037] In a particular embodiment, the data processing
`apparatus comprises a communications device such as a
`smartphone. In this embodiment the presence of Bluetooth
`devices in an environment of a smartphone is sensed. A smart
`phone is a mobile communications device Which provides
`functions in addition to voice and/or data communications,
`for example it may provide address book functionality or run
`applications such as Word processor applications or other
`application softWare.
`[0038] For simplicity and clarity of description the folloW
`ing description refers to a smartphone in Which only Blue
`tooth signals are sensed, although it Will be evident to a person
`of ordinary skill in the art that other aspects of the environ
`ment may be sensed by the smartphone dependent on What
`sensor modules or sensing operations are included in the
`smartphone.
`[0039] FIG. 2 is a schematic illustration of a smartphone
`200 con?gured in accordance With an embodiment of the
`present invention Which senses Bluetooth protocol Wireless
`signals in the environment of the smartphone 200. Example
`smartphones include 12, 20, or 24-key keypad smartphones.
`Other example smartphones include smartphones having
`mechanical or on-screen character keypads in a keyboard
`type layout. By Way of example, such keyboard type layouts
`include a ‘QWERTY’ (having, inter alia, ‘Q’, ‘W’, ‘E’, ‘R’,
`‘T’, ‘Y’, keys successively in a roW), ‘AZERTY’,
`‘QWERTZ’, ‘QZERTY’, Dvorak, or double-byte keys key
`pad layout.
`[0040] Smartphone 200 comprises a screen 224, a keyboard
`222, an RF interface 220, a processor 218 and a memory 216,
`all of Which are connected to a data bus 226. Stored in
`memory 216 are an environment classi?cation application
`program 228 and an environment pro?les database 214. Also
`included in smartphone 200 is a Bluetooth module 202 Which
`provides Bluetooth communication and Bluetooth sensing.
`Bluetooth is a loW poWer Wireless communications protocol
`for Wirelessly communicating betWeen devices such as com
`puters, printers and communications devices. The protocol is
`governed by the Bluetooth Special Interest Group (SIG).
`[0041] The keyboard 222 enables a user of the smartphone
`200 to enter text data and commands into the smartphone 200.
`The processor 218 is con?gured to run the environment clas
`si?cation application 228 Which is stored in memory 216 and
`provide a graphical user interface to the user on the screen
`224. The RF interface 220 is con?gured to provide Wireless
`communication With other devices for example Within a cel
`lular radio telephone netWork. It is noted that the keypad can
`be mechanical or on-screen and may in some instances com
`prise a combination thereof, e. g., an on-screen haptic keypad
`or touch sensitive keypad. The processor 218 may run envi
`ronment classi?cation application 228 automatically as a
`background routine during operation of smartphone 200, or in
`response to a user input through, for example, keyboard 222.
`[0042] Environment classi?cation application 228 com
`prises an input module 204 Which receives Bluetooth identi
`?er information from the Bluetooth module 202 and passes it
`to classi?cation module 206. The classi?cation module 206
`compares the information from input module 204, processes
`the information and provides an output to output module 208.
`Output module 208 then passes the result of the classi?cation
`module to learning module 210 and action module 212.
`[0043] When a Bluetooth enabled device has its Bluetooth
`module turned on it periodically transmits from its Bluetooth
`module a signal announcing its availability for communica
`
`tion. The signal comprises a Bluetooth identi?er for the
`device Which is unique to each device. The Bluetooth identi
`?er may be in the form of a Bluetooth module’s MAC (Media
`Access Control) address, Which has the format xxx.xxx.xxx.
`xxx. It is noted that one embodiment, the ‘x’s can be integer
`number values. In an environment Where there are a number
`of Bluetooth enabled devices operating, a number of Blue
`tooth identi?ers may be transmitted. For example, Where
`there are three Bluetooth devices operating, signals compris
`ing respective identi?ers xxx.xxx.xxx.xxl ; xxx.xxx.xxx.xx2;
`and xxx.xxx.xxx.xx3 may be present.
`[0044] Bluetooth module 202 of smartphone 200 may
`detect each Bluetooth identi?er in the environment and
`thereby sense the presence and communications availability
`of the three other Bluetooth enabled devices. Additionally,
`Bluetooth module 202 may also transmit its oWn identi?er,
`for example xxx.xxx.xxx.xx4. In the currently described
`embodiment, the Bluetooth value is a logical value true or
`false indicating the presence or not of a Bluetooth device in
`the environment.
`[0045] During execution of environment classi?cation
`module application 228, input module 204 acquires from
`Bluetooth module 202 a “snapshot” of the observed Blue
`tooth identi?ers detected by the Bluetooth module. The snap
`shot may be made at an instant in time or over a short time
`period. Acquisition of the snapshot may be under control of
`the classi?cation application 228 itself, or in response to a
`user input, for example via a function button on keyboard 222.
`The creation of a neW Bluetooth pro?le in accordance With an
`embodiment of the invention Will noW be described With
`reference to FIG. 3 and With reference to the process How
`control diagrams of FIGS. 4 and 5.
`[0046] FIG. 3 illustrates an environment 300 in Which
`Bluetooth identities ID1 302, ID2 304 and ID3 306 are
`present, and form an observed environment pro?le 314. If this
`is the ?rst time that this combination of Bluetooth identities
`are sensed as present in an environment, a neW pro?le is
`created 316 by the environment classi?cation application and
`stored in pro?les database 214. The created pro?le 316 com
`prises the Bluetooth identities, 308, 310, 312 and their pre
`diction factors. The prediction factors are made equal to each
`other and are normaliZed to add up to 100%, and, therefore, in
`the illustrated example each prediction factor is 33.3%. Each
`Bluetooth identity and its associated prediction factor is an
`attribute of the created pro?le 316.
`[0047] The stored pro?les may be provided and stored With
`an identity label or stored in de?ned memory locations in
`pro?les database 214. For illustrative purposes in this descrip
`tion the pro?les may be considered to be labeled and stored
`numerically as pro?le(1) .
`. .pro?le(g) .
`. .pro?le(m). Within
`each created and stored pro?le each attribute is identi?ed.
`Again, for illustrative purposes in this description the
`attributes may be considered to be labeled and stored numeri
`
`cally as attribute(l) .
`.
`. attribute(h) .
`.
`. attribute(n).
`[0048] In the currently described embodiment the creation
`of a neW pro?le results from operation of both the classi?ca
`tion module 206 and the learning module 210. Operation of
`the classi?cation module 206 and the learning module 210
`Will noW be described With reference to the process How
`control diagrams 400 and 500 illustrated in FIGS. 4 and 5,
`Which provide merely one example of hoW the classi?cation
`module 206 and learning module 210 may be implemented.
`[0049] The classi?cation module 206 receives an observed
`pro?le from the input module 204, S402. A counter g is
`
`12
`
`

`

`US 2009/0094179 A1
`
`Apr. 9, 2009
`
`assigned the value Zero, S404, and then incremented by 1 at
`step S406. Stored pro?le “pro?le(g)” is retrieved from pro
`?les database 214 via the classi?cation module 206, S406. A
`counter “h” is then assigned the value Zero, together With a
`variable “score” Which is also assigned the value Zero, S408.
`The variable “score” indicates the correlation level or simi
`larity of the observed pro?le 314 With a stored pro?le, and is
`updated during operation of the classi?cation module 206.
`[0050] Counter “h” is incremented by 1 and the attribute(h)
`of pro?le(g) is made available for comparison With the
`attributes in the observed pro?le 314, S410. Attribute(h) of
`pro?le(g) is then compared With the attributes of the observed
`pro?le 314, S412. If attribute(h) is found in the observed
`pro?le 314 then that process control ?oWs to step S414 Where
`the prediction factor assigned to attribute(h) is added to the
`“score” value. If attribute(h) is not found in the observed
`pro?le 314 then the prediction factor for attribute(h) is sub
`tracted from the “score” value, S416. If the counter value “h”
`reaches the maximum value “m”, Where “m” is the number of
`attributes in the stored pro?le, S418, process control ?oWs to
`step S420. If the counter value “h” is not the maximum value
`“m” process control ?oWs back to step S410, h incremented
`by one and the next attribute retrieved. If counter g:n at step
`S420 the process control ?oWs to step S422. At step S422 the
`stored pro?le having the highest score is selected, and output
`to both learning module 210 and action module 212, S424.
`The best match pro?le is the pro?le having the highest score
`of all, and Will lie in the range —100 to 100. From the forego
`ing description of one example of the operation of the classi
`?cation module 206, a person of ordinary skill in the art Will
`readily understand hoW a correlation level or similarity score
`is derived for an observed pro?le and respective stored pro
`?les.
`[0051] The operation of learning module 210 Will noW be
`described With reference to the process How control diagram
`500 illustrated in FIG. 5. The stored pro?le With the highest
`score (best match score) is received by the learning module
`210 together With the observed pro?le, Which becomes the
`“pro?le to learn from” for the learning module, S502. It is
`then determined Whether the score is less than a “similarity
`threshold”, S504. The “similarity threshold” may be pre-set
`and/ or modi?able by a user of the smartphone incorporating
`the environment classi?cation application 228. A suitable
`“similarity threshold” is 30%, although other values may be
`used at the application implementer’s or user’s discretion.
`[0052] If the highest score is less than the similarity thresh
`old then process control ?oWs to step S506 Where a pro?le
`capture signal is established and the observed pro?le is
`treated as a neWly created pro?le. Normalized prediction
`factors are assigned to each attribute such that the prediction
`factors add up to 100%. The neW pro?le is in effect created as
`described With reference to FIG. 3 above, and is then stored in
`pro?les database 214, S510. If the score is equal to or greater
`than the similarity threshold the score is checked to see if it
`equals 100% and there is a perfect match betWeen the
`observed pro?le and the highest scored pro?le, S512. If there
`is a perfect match, the learning module then stops, S514.
`Optionally, the learning module may be con?gured to stop for
`a similarity less than 100% in Which case the test at S512
`Would be against a score loWer than 100%.
`[0053] Before continuing With the description of the pro
`cess ?oW control diagram 500 reference Will be made to FIG.
`7, Which is a schematic illustration of hoW a stored pro?le is
`updated based on a different observed pro?le. An observed
`
`environment pro?le 702 includes Bluetooth identities ID1
`704, lD2 706 and lD4 708. In the described example a highest
`score pro?le 710 comprises Bluetooth identities ID1 712, lD2
`714 and ID3 716. The correlation betWeen the observed envi
`ronment pro?le 702 and the highest score pro?le 710 has been
`determined to be 33% by the classi?cation module 206.
`[0054] The observed pro?le 702 and highest score pro?le
`710 are compared and for each attribute that is present in both
`pro?les a learning factor of 10 is added to the attribute’s
`prediction factor to form an updated pro?le 724. Thus, ID1
`704 and lD2 706 have their prediction factors increased to
`43.3 de?ning neW attributes 718 and 720. ID3 708 remains
`unchanged as there is no corresponding attribute in the
`observed pro?le 702.
`[0055] Attribute 708 (ID4) in observed pro?le 702 is not
`present in the highest score pro?le and so is added to updated
`pro?le 724, and the prediction factor initialiZed to the leam
`ing factor 10 to form attribute 722 of updated pro?le 724. The
`prediction factors of the updated pro?le 724 are normaliZed to
`100% by summing the prediction factors of the updated pro
`?le and dividing the sum by 100 to derive a prediction factor.
`The sum may be considered to be the total con?dence value
`for the pro?le. Each prediction factor is then divided by the
`normaliZation factor to derive a percentage prediction factor.
`In the described example:
`
`Total con?dence:Sum:43.3+43.3+33.3+10:129.9;
`
`Normalization facto1:129.9/100:1.299;
`
`43.3/1.299:33.3%
`
`33.3/1.299:25.6%; and
`
`10/1.299:7.7%.
`
`[0056] This gives a 48.7% match or con?dence factor as
`Would be derived by the classi?cation module 206. If
`observed pro?le 702 should occur again the resultant updated
`pro?le 728 Would have attributes ID1 730 and lD2 732 With
`prediction factor 33.3%, ID3 734 With prediction factor
`19.7% and lD4 726 With prediction factor 16.6%. Thus, after
`tWo iterations the updated pro?le sloWly begins to adapt to
`lD4 708 being present in the environment Which used to have
`ID3. Thus, the prediction factor for lD4 increases and the
`prediction factor for ID3 diminishes resulting in a decreasing
`prediction factor for ID3 and an overall ever increasing
`matching score for the pro?le. The matching score increases
`to 60.5%. Thus, environment classi?cation application
`through the learning module 210 adapts stored pro?les to
`changing environmental conditions.
`[0057] At step S514 a counter i is initialiZed to Zero, and
`then incremented by 1, S516. Attribute(i) of the observed
`pro?le is made available for comparison With the attributes in
`the highest scored pro?le, S518.

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