GB2532975A - Device and software settings management - Google Patents

Device and software settings management Download PDF

Info

Publication number
GB2532975A
GB2532975A GB1421534.7A GB201421534A GB2532975A GB 2532975 A GB2532975 A GB 2532975A GB 201421534 A GB201421534 A GB 201421534A GB 2532975 A GB2532975 A GB 2532975A
Authority
GB
United Kingdom
Prior art keywords
setting
context
instance
settings
performance metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1421534.7A
Other versions
GB201421534D0 (en
Inventor
William Fleming Tobias
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to GB1421534.7A priority Critical patent/GB2532975A/en
Publication of GB201421534D0 publication Critical patent/GB201421534D0/en
Publication of GB2532975A publication Critical patent/GB2532975A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Abstract

A method of managing a setting for controlling an operation of a configurable device 15, an instance of the setting having been provided in response to and based on an identifier of a context within a setting request, comprises: receiving a performance metric derived from analysing an output generated by the operation using the instance; analysing the received performance metric with respect to a further performance metric derived from a previous output generated by the operation using a previous instance of the setting; and managing the setting based on the analysis. The performance metrics may be compared to determine a difference in quality, and the instance may be changed upon determination of a lower quality of the output. The configurable device may be a camera module.

Description

Intellectual Property Office Application No. GII1421534.7 RTM Date:29 May 2015 The following terms are registered trade marks and should be read as such wherever they occur in this document: Wi-Fi Intellectual Property Office is an operating name of the Patent Office www.gov.uk/ipo
DEVICE AND SOFTWARE SETTINGS MANAGEMENT
FIELD OF THE INVENTION
100011 The present invention relates to a method for managing device settings and/or software settings provided to a device given an identified context.
BACKGROUND
100021 Devices and systems which employ software can often enable a wide range of functionality from basic configurations of components. For example, most modern mobile phone cameras are capable of producing output images significantly better than previous generations of digital cameras because of advances in device management and flexible image processing software. To generate the best results from such devices, many configuration properties or settings need to be set. This is a problem for modem devices, for numerous reasons: 100031 Firstly, the device may be controlled by a user not familiar with the complexity and interdependencies of the device components. Such lack of familiarity with the device can lead to settings being selected which are not optimal for the situation or context.
100041 Secondly, the user may only have access to a limited user interface for the device. For example a mobile phone display with a defined size may only have available interface display area for controlling a limited number of settings.
100051 Thirdly the time that can be spent on 'setting up' the device may be limited. For example a person attempting to take a family 'snap-shot' will not have time to optimise the camera settings or the 'moment' to take the photo will pass.
100061 Controlling a device, for example to change settings within the device, based on a location context is known 100071 The management and control of context-based settings is typically pre-defined or user-defined. For example a pre-defined settings list may be modified by the user to attempt to customise the operation of the device based on the context. However the user may lack sufficient data or information about the context or the operation or device to optimise the selection of specific settings to optimise the operation.
BRIEF SUMMARY OF THE INVENTION
100101 According to an aspect of the present invention, there is provided a method of managing a setting for controlling an operation of a configurable device, an instance of the setting having been provided in response to and based on an identifier of a context within a setting request, wherein the method comprises: receiving a performance metric derived from analysing an output generated by said operation using said instance, analysing the received performance metric with respect to a further performance metric derived from a previous output generated by said operation using a previous instance of the setting; and managing the setting based on the analysis 100111 By implementing setting management using previously performed operations it may be possible to generate an instance of a setting which is more optimally selected, for example in terms of providing a better setting value to produce a better performance given a particular context. A context, representative of environmental factors, conditions or properties (such as location, time, date, weather, temperature, lighting conditions, orientation, speed, acceleration, user properties, etc, for example), may therefore be taken account of in order to determine one or more setting values. The performance of previously performed operations under the same or similar context may be used to determine if a setting value should be changed and, if so, how it should be changed 100121 Furthermore, such an instance of a setting may provide better resolution for the selection of such setting values by improved sensor based context definitions and thus enable a faster or more detailed processing of an 'expert' database to arrive at the setting values.
100131 Analysing at least one setting based on the analysis may comprise comparing the received performance metric with the further performance metric to determine a difference in quality between the output and the previous output; and managing the setting may comprise changing the instance to a further instance upon the determination of a lower quality of the output.
100141 Thus, in such embodiments, the management of the settings may lead to improved selection of the setting values by determining poorer than expected performances and then changing the setting values appropriately.
100151 The changing the instance to a further instance may comprise: searching a database comprising a plurality of database entries each comprising a further instance of the setting associated with a performance metric indicative of an output quality, selecting a database entry comprising a further instance of the setting associated with a performance metric indicative of an increased output quality; and changing the instance to the further instance retrieved from the selected database entry.
100161 In such embodiments the database entries can be searched to determine an expected better performing setting value based on a sample of previously employed settings.
100171 The method may further comprise: determining a plurality of contexts, wherein each context is defined by a point or region within a sensor space; and storing an instance of the setting associated with each of the plurality of contexts, and wherein managing the setting based on the analysis comprises managing the plurality of contexts based on the analysis.
100181 In such embodiments the setting may be managed by defining and managing the contexts which control the provision of the setting values, such that the provision of the setting values may be further improved by better definition of the contexts.
100191 Managing the plurality of contexts may comprise at least one of: increasing a number of contexts; decreasing a number of contexts; and remapping at least one of the plurality of contexts to a new point or region within the sensor space.
100201 In such a manner, the context definition may enable a finer grained setting determination, a coarse grained setting determination, or a remapping of the contexts to reflect a change in the setting coverage.
100211 The method may further comprise providing the managed plurality of contexts to a device for controlling the operation of the configurable device.
100221 In such embodiments the method may enable the device to know of the context definitions to enable the device to efficiently process the sensor information and to encode the sensor information into a form suitable for passing to a 100231 server for providing the requesting setting values.
100241 The method may further comprise providing the managed setting in response to and based on the identifier for the context within a further setting request to enable controlling the performance of a further operation of a configurable device 100251 In such embodiments the managed settings may be provided to a suitable device to enable the performance of further operations using the settings.
100261 The further performance metric may be derived from analysing an output generated from a previous output generated by said operation using a previous instance of the setting provided in response to and based on the identifier for the context within a previous setting request.
100271 In such embodiments the further performance metric may be a composite of the analysis of previously performed operations to enable better settings management.
100281 According to another aspect, there is provided a method for providing a setting for controlling a configurable device, the method comprising: receiving at least one setting request comprising an identifier of a context; determining an instance of the setting in response to and based on the identifier of the context, providing said instance of the setting to the configurable device; and managing the setting according to an embodiment.
100291 The settings provider may also be the settings manager.
100301 According to another aspect, there is provided a computer program product comprising a computer-readable storage medium having computer-readable program code, when executed on at least one processor of a computer, causing the computer to implement the steps of a method according to an embodiment 100311 According to another aspect, there is provided a server for managing a setting for controlling an operation of a configurable device, an instance of the setting having been provided in response to and based on an identifier of a context within a setting request, wherein the server comprises: a settings manager configured to receive a performance metric derived from analysing an output generated by said operation using said instance, to analyse the received performance metric with respect to a further performance metric derived from a previous output generated by said operation using a previous instance of the setting; and to manage the setting based on the analysis.
100321 In embodiments settings management using previously performed operations may generate settings which are more optimally selected, for example, in terms of providing a better setting value to produce a better performance. Also, embodiments may provide better resolution for the selection of such setting values by improved sensor based context definitions and thus enable a faster or more detailed processing of an 'expert' database to arrive at the setting values.
100331 The settings manager may comprise: a metric comparator configured to compare the received performance metric with the further performance metric to determine a difference in quality between the output and the previous output; and a settings analyser configured change the instance to a further instance upon determining a lower quality of the output.
100341 The settings analyser may be configured to. search a database comprising a plurality of database entries each comprising a further instance of the setting associated with a performance metric indicative of an output quality; select a database entry comprising a further instance of the setting associated with a performance metric indicative of an increased output quality; and change the instance to the further instance retrieved from the selected database entry.
100351 The server may further comprise a context manager configured to: determine a plurality of contexts, wherein each context is defined by a point or region within a sensor space; determine an instance of the setting associated with each of the plurality of contexts; and manage the plurality of contexts based on the analysis.
10036] The context manager configured to manage the plurality of contexts may be configured to perform at least one of: increase a number of contexts; decrease a number of contexts; and remap at least one of the plurality of contexts to a new point or region within the sensor space 100371 The context manager may be configured to provide the managed plurality of contexts to a device for controlling the operation one of the configurable device.
100381 The sewer may further comprise a settings generator configured provide the managed setting in response to and based on an identifier for the context within a further setting request to enable controlling the performance of a further operation of a configurable device.
100391 The settings manager may be configured to receive the further performance metric derived from analysing an output generated by said operation using a previous instance of the setting provided in response to and based on the identifier for the context within a previous setting request.
100401 The sewer may further comprise: a settings generator configured to receive at least one setting request comprising an identifier of a context, to determine an instance of the setting in response to and based on the identifier of the context, and to provide said instance of the setting to the configurable device.
10041:I Accordingly, embodiments may provide a more robust method for management of device and/or software settings within a device based on an identified context, such as an environmental property.
BRIEF DESCRIPTION OF THE DRAWINGS
100421 Preferred embodiments of the present invention will now be described, by way of example only, with reference to the following drawings, in which: FIG. 1 schematically shows a system for implementing context-based settings control according to an embodiment; FIG 2 schematically shows a flow diagram of the steps of a method of implementing context-based settings management according to an embodiment; FIG 3 schematically shows a flow diagram of the steps of a method of implementing context-based settings management according to another embodiment; FIG 4 schematically shows the context determiner of Figure 1 in further detail; FIG 5 schematically shows the settings generator of Figure I in further detail; and FIG. 6 schematically shows the settings manager of Figure 1 in further detail.
DETAILED DESCRIPTION OF THE EMBODIMENTS
100431 It should be understood that the Figures are merely schematic and are not drawn to scale. It should also be understood that the same reference numerals are used throughout the Figures to indicate the same or similar parts or steps.
100441 In the context of the present application, where embodiments of the present invention constitute a method, it should be understood that such a method is a process for execution by a computer, i.e. is a computer-implementable method. The various steps of the method therefore reflect various parts of a computer program, e.g. various parts of one or more algorithms.
100451 Various embodiments may be stored as computer-executable program code on a computer program product comprising a computer-readable storage medium. The computer-readable storage medium may be any medium that can be accessed by a computer for the retrieval of digital data from said medium. Non-limiting examples of a computer-readable storage medium include a CD, DVD, flash memory card, a USB memory stick, a random access memory, a read-only memory, a computer hard disk, a storage area network, a network server, an Internet server and so on.
100461 In the context of the present application, a (computer) system may be a single device or a collection of distributed devices that are adapted to execute one or more embodiments of the methods of the present invention. For instance, a system may be a personal computer (PC), a server or a collection of PCs and/or servers connected via a network such as a local area network, the Internet and so on to cooperatively execute at least one embodiment of the methods of the present invention.
100471 The embodiments featured herein describe a method to manage settings which may be provided to devices to control the operation of the device and/or software controlling the device. These settings may be used to control the operation of the device and/or software controlling the device in highly specialised situations. The management and control of the settings may improve the provided or generated settings and may be based on data analysis from multiple devices or sources of information. Furthermore, the methods and apparatus described may be implemented in such a manner that little or no change in user interaction is needed.
100481 The method as described herein thus allows users to benefit from previous users' settings and configuration values. This can be useful as it reduces or avoids the need for the user to attempt to optimise settings manually. Furthermore, such methods as described herein may avoid the need to use computationally complex algorithms within the device in order to determine settings and thus avoid or reduce any associated processor requirement and power consumption issues. The methods as described herein may also reduce configuration or 'setting up' time spent controlling the device and thus may reduce any frustration that arises when using opaque, automatic algorithms or automatic settings or configurations.
100491 Furthermore, a concept as expressed herein is the provision of such managed settings given an identified context experienced by the device, operation, and/or user.
100501 Figure 1 schematically depicts an example system according to an embodiment. The system comprises a user apparatus (UA) 1. The UA 1 is configured to be operated by an end user or user, and is further configured to perform a function or operation which is controllable based on at least one setting with an associated setting value.
100511 The UA 1 comprises a sensor 19. The sensor 19 may be any suitable sensor or sensors for monitoring the environmental conditions of the UA 1. For example, the sensor 19 may be a clock/timer configured to produce a suitable time/date stamp value. The sensor 19 may, in a further example, be a location or position sensor configured to produce a suitable estimate of the position/location/orientation of the user or device. The sensor 19 may furthermore be configured to estimate some derived value from the position/location/orientation of the user or device, such as for example the speed, velocity or acceleration of the user. A further example of the sensor 19 may be a light sensor for estimating the light levels, light distribution, or spectral analysis of the light experienced by the UA 1. Another example of the sensor 19 may comprise a barometer for measuring the atmospheric pressure experienced by the UA 1, 100521 The sensor 19 may be configured to monitor or determine internal conditions regarding to the UA 1. For example the sensor 19 may monitor an operating temperature of a microprocessor, the input/output UA data or data bandwidth, a UA memory capacity, or a UA battery capacity/power supply.
100531 Furthermore, the UA 1 comprises a user interface (UI) 11 configured to enable the user or end user to interact with the UA 1. The UI 11 may for example comprise any suitable input apparatus or means such as: a keyboard, a mouse, a touch screen input, a digital key reader; a digital token reader. Further, the Ut 11 may comprise any suitable output apparatus or means such as: a display of any suitable format such as LED, OLED, LCD or printed display, a speaker or headset suitable for providing an audio output, or a tactile output such as a vibra for providing touch based output.
100541 The UA 1 further comprises a transceiver 17 suitable for communicating via a network 7 to a suitable settings server (SS) 3. The transceiver 17 may be any suitable wireless communications apparatus, for example the transceiver may be a cellular or mobile data transceiver or a Wi-Fi or other 802.1x transceiver.
100551 The UA 1 further comprises a configurable device 15 (also known as a configurable output device). The configurable device 15 may be controlled at least partially by settings applied to the configurable device 15. For example, the configurable device 15 in this embodiment comprises a camera module. The camera module may have configurable elements such as mechanical lens, an iris, and a shutter.
100561 The UA 1 also comprises a microprocessor 13. The microprocessor 13 may be any suitable processing means or apparatus and be configured to fetch and execute computer executable program code. The computer executable program code may for example be stored on a memory 15 which is a computer readable storage medium of any suitable form. The computer readable storage medium may for example include a CD, DM, flash memory card, a USB memory stick, a random access memory, a read only memory, a computer hard disk, a storage area network, a network server, an internet server and so on.
100571 The microprocessor 13 is configured to operate or perform a program algorithm which is based on a value or values for at least one setting. For example, the microprocessor 13 is configured to perform image processing on an image captured by a camera module. The image processing is performed based on at least one setting value. A further example of an operation which may be controlled by a setting value is a UA or device configuration operation. For example the UA 1 may comprise software which controls or modifies communication between the microprocessor and memory based on a setting or configuration value.
100581 The microprocessor 13 is further configured to receive the sensor information and identify or determine a context based on the sensor information. A context may therefore express environmental conditions experienced by the UA 1. For example, a context may be associated with one or more of: the time; date; location; weather conditions; orientation; acceleration; temperature; lighting conditions; etc. Furthermore, a context may express the internal situation with respect to the UA 1. For example, a context may be associated with one or more of the operating temperature of the microprocessor; the data transmission rate; the memory utilization rate; operating speed; available systems resources; storage free-space; etc. 100591 Figure 1 furthermore shows operational modules with respect to the UA 1. These may represent computer code, programs or parts of computer code or programs stored within the memory and implemented or executed within the microprocessor as shown in Figure I At least one of the operational modules may furthermore be implemented as separate hardware, or firmware components within the UA 1, 100601 Here, the microprocessor 13 comprises a context identifier 101 operational module. The context identifier 101 is configured to receive information from the sensor 19. The context identifier 101 is further configured to determine or identify a context based on the sensor information.
100611 The determination of the context based on the sensor information can be performed in any suitable manner. For example, the sensor information may be mapped into a suitable context space, where the context space is subdivided into defined contexts. For example the context space may comprise time which is divided into 'times' of a working day, with the sub-divisions identifying 'morning', mid-day', and 'afternoon' contexts. The sensor information, a time value, may then be mapped to one of the context values.
100621 In a further example, context space may be a location space sub-divided into geographical regions such as 'London', 'Birmingham', 'Manchester', 'Newcastle' and 'Edinburgh'. The sensor information, representing an identified location, may then be mapped to one of the context values.
100631 In the above examples the context space is a single variable input to context output mapping, whereas multi-dimensional context spaces may be employed. For example, the context space may be a location-time space divided into times of a working day within a geographical region (and therefore sub-divided into 15 sub divisions) such as 'Birmingham midday', 'London afternoon' etc. 100641 The UA 1 further comprises an assistance determiner 103. The assistance determiner 103 is configured to determine whether the operation (or configurable device) is to be used according to an unaided (manual or preconfigured settings) mode or an aided (retrieved settings given the context identified by the context identifier 101) mode. For example, in this embodiment, the assistance determiner 103 is configured to receive a user input defining the operating mode.
100651 Having determined the context, the microprocessor 13 is configured to determine or request settings for controlling the operation given the identified context. As described in further detail hereafter, the settings may be provided by a settings server 3. For example, where the operation is an image processing operation, the microprocessor 13 may request an example setting value for a brightness balance setting in the image processing operation. Furthermore, the microprocessor 13 may be configured to request the brightness balance setting for the image processing operation given an identified or determined context based on image light sensitivity values generated from the light sensor 19.
100661 The UA 1 therefore comprises a settings determiner 105 to request or determine the settings. The settings determiner 105 is configured to receive the output of the context identifier 101 and the assistance determiner 103.
100671 The settings determiner 105 is configured, when the assistance determiner 103 indicates that the operation (or configurable device) is to be operated in an unassisted mode, to employ settings entered via a user interface or a set of preconfigured settings.
100681 The settings determiner 105 may, when the assistance determiner 103 indicates that the operation (or configurable device) is to be operated in an assisted mode, be configured to generate a settings request message. In this example, the settings request message comprises a request for at least one setting value for an operation given the identified context. The settings request message thus comprises information identifying the operation, information identifying the context, and information identifying the user apparatus.
100691 The settings determiner 105 passes the settings request message to the settings server 3 for example by using the transceiver 17 100701 The settings determiner 105 furthermore receives from the settings server 3 a response message to the settings request message The response message comprises the requested setting value(s).
100711 The UA 1 further operates the configurable device 15 and/or the program code using the setting value(s) For example, the microprocessor 13 comprises an operation/device controller 107 configured to receive the setting value(s) and perform the operation based on the setting value(s) 100721 The microprocessor 13, having performed the operation controlled by the setting value(s), is then configured to analyse the performance. The analysis of the performance may, for example, comprise the microprocessor 13 being configured to determine a performance metric associated with the operation, wherein the performance metric is representative of one or more performance measures or values. The performance metric may be therefore be numerical or non-numerical, and/or comprise a value from a predetermined discrete/ restricted set of possible values. For example, the microprocessor 13 of this example is configured to determine the quality of the captured image from the camera module using the setting value(s). Furthermore, the microprocessor 13 is configured to output the performance metric to the settings server SS3. In this embodiment, the transceiver 17 transmits a message to the settings server S53, wherein the transmitted message comprises information relating to the determined performance metric.
100731 The microprocessor 13 comprises a metric generator 109. The metric generator 109 may be configured to generate or identify a suitable operation or performance metric based on an analysis of the operation (or configurable device) controlled by the setting value(s). The metric generator 109 determines the performance metric directly, for example, by measuring the time required to process or carry out the operation, measure a processing error, or determine a change in system capacity or performance etc. 100741 However, the metric generator 109 may be configured to indirectly determine the metric For example, in some embodiments the metric generator 109 may be configured to output the results of the performance of the operation (or configurable device) to be analysed remotely.
10075] The metric generator 109 is configured to generate an operation or performance feedback message comprising the performance metric and to pass the performance metric (via the transceiver 17) to the settings server SS3 for managing the settings. For example, managing the settings may include determining whether the provided setting value(s) associated with the operation (or configurable device) given the context is/are acceptable.
100761 In the example system shown herein there is shown a single user apparatus UAl However, there may be more than one user apparatus. Furthermore, there may be more than one user apparatus performing the same operation or controlling the same type of configurable device and therefore generating more than one performance metric for the operation (or configurable device) given the context and therefore generating a rich set of performance metric data to be analysed.
100771 As shown in Figure 1 the system may further comprise a settings server (SS) 3. The SS 3 comprises a microprocessor 23. The microprocessor 23 may be any suitable processing means or apparatus configured to fetch and execute computer executable program code. The computer executable program code may for example be stored on a memory 25 which is a computer readable storage medium of any suitable form. The computer readable storage medium may for example include a CD, DVD, flash memory card, a USB memory stick, a random access memory, a read only memory, a computer hard disk, a storage area network, a network server, an internet server and so on.
100781 The SS 3 further comprises a transceiver 27 suitable for communicating via the network 7 to the user apparatus (UA) 1.
100791 The SS 3 (and the transceiver 27) is configured to receive settings requests from the UA 1. The settings request identifies at least one setting value for an operation (or configurable device) given the identified context.
100801 Furthermore, the microprocessor 23 is configured to determine (or provide) at least one setting value for the at least one setting. The setting values are stored internally within the SS 3. For example, a memory 25 is provided which is adapted to store setting values or configuration information which is accessed by the microprocessor 23. The SS3 is further configured to determine (or provide) at least one setting value by filtering received setting values from further apparatus, such as a separate settings storage In other words the setting values may be stored remotely from the SS 3.
100811 Figure 1 further shows example operational modules suitable for implementing context-based settings management within the settings server 3. The operational modules as shown herein with respect to the SS 3 may also represent computer code, programs or parts of computer code or programs stored within the memory 25 and implemented or executed within the microprocessor 23 as shown in Figure 1. At least one of the operational modules may furthermore be implemented as separate hardware, or firmware components within the SS 3.
100821 The SS microprocessor 23 further comprises a settings generator 111. The settings generator 111 is configured to receive the settings request message from the UA 1 via the transceiver 27.
10083] The settings generator 111 is also configured to determine at least one setting value for the operation (or configurable device) given the context. The setting value is then determined in a suitable manner.
10084] For example, the settings generator 111 may perform a look up operation within the memory using the operation (or configurable device) identifier and the context identifier as inputs in order to generate a setting value as an output.
100851 In this embodiment, the settings generator 111 is configured to generate the values for the setting as an output of an expression or equation using the received context and the operation (or configurable device) identifier as an input.
10086] The settings generator 111 then generates a suitable settings response message comprising the value(s) for the setting to the UA 1 (via transceiver 27) 100871 The SS3 is also configured to receive (via the transceiver 27) performance metric data. For example, the SS 3 may be configured to receive performance metric data from the UA 1 (or from a third party) configured to analyse the performance of the operation and generate the performance metric. The microprocessor 23 may furthermore be configured to analyse the performance metric data to determine whether associations between the setting and the operation (or configurable device) given the identified context produced a 'good' output, and whether a change to the association or the setting is required.
10088] The SS microprocessor 23 also comprises a settings manager 113. The settings manager 113 is configured to receive the output of the metric generator 109 from the UA 1. The settings manager 113 is configured to analyse whether the received performance metric value is similar to a previously determined or stored performance metric value associated with previously performed operations (or previously operated configurable device) using the same settings and given the same context. Furthermore, the settings manager 113 is configured to modify the operation of the settings generator 111 based on the analysis of the performance metric. For example, the setting which would be provided by the settings generator 111 for a determined operation given an identified context may be modified or changed.
100891 With respect to Figure 2 there is shown a flow diagram of an example method of implementing settings control within the system as shown in Figure 1. In the following example, the UA 1 comprises a configurable device 48 in the form of a camera module. As such, the setting may be the camera module settings such as exposure (shutter time), aperture and ISO settings. Furthermore the UA 1 sensor 19 comprises a light meter configured to provide a light level, a location sensor configured to provide a location estimate, a compass configured to provide an orientation, and a clock to provide a time/date value. The UA 1 is configured to receive the sensor information.
100901 The operation of receiving or determining the sensor information is shown in Figure 2 by step 201.
100911 The UA I is configured to determine or identify the context associated with the sensor information. In this example, the context space is a space defined by light level, location, orientation, and time. This space may be sub-divided into any suitable number of contexts. The sensor information may then be used to determine which of the contexts (or context identifiers) can be associated with the sensor information.
100921 The operation of determining or identifying a context based on the sensor information is shown in Figure 2 by step 203.
100931 The UA 1 may also determine or identify whether the operation or configurable device (the camera module) may operate in an aided or unaided mode. For example, whether the camera module settings (the ISO setting, the exposure setting and the aperture setting) are manually set by the user using the U1 or are to be determined based on the identified context.
100941 The operation of identifying whether the operation/configurable device is operating in an assisted or unassisted mode is shown in Figure 2 by step 205.
100951 In the flow diagram shown in Figure 2, when the configurable device is operated in an unaided or 'manual' mode of operation the method jumps to step 213 (controlling the configurable device using determined settings values). This is shown in Figure 2 by the dashed line between steps 205 and 213.
100961 When the configurable device is operated in an aided (or 'expert') mode, a settings request message may be generated. The settings request message can, for example, comprise an identifier for identifying the camera module and an identifier for the context. The settings request message can then be passed or transmitted to the SS 3. The settings request message may furthermore comprise a UA identifier for identifying the UA generating the message.
100971 The operation of generating and transmitting a settings request message is shown in Figure 2 by step 207.
101001 The SS 3, having received the settings request message can be configured to identify or determine the setting value for controlling the UA operation or configurable device (the camera module) given the context. In this example, the SS 3 is configured to generate values for the camera module settings given the context. The SS 3 may, for example, store within the memory a look up table or database. The input to the look-up-table or database may be the context identifier and the output from the look-up-table or database may be the values for camera module settings (for example the aperture, exposure and ISO setting values).
101011 The operation of generating setting value for the UA 1 is shown in Figure 2 by step 209.
101021 Furthermore the SS 3 is configured to generate a response message comprising the setting value (and for example transmit the aperture, exposure and ISO setting values) to the UA].
101031 The operation of generating and transmitting the response message to the UA I is shown in Figure 2 by step 211 101041 The UA is then configured to receive the setting value (the camera module settings comprising the aperture, exposure and ISO setting values), either via the response message or having determined them manually. These settings can then be applied to the configurable device or control the camera module when capturing the next image.
101051 The operation of applying the setting value to the configurable device (or the operation) is shown in Figure 2 by step 213.
101061 The UA 1 may then perform the operation or operate the configurable device, for example use the camera module to capture an image using the camera settings provided.
101071 The operation of performing the operation or operating the configurable device using the settings is shown in Figure 2 by step 215.
101081 The UA 1 is configured to analyse the performance of the operation of the configurable device. For example, the UA I may be configured to analyse the image captured by the camera module to generate an image quality metric. The image may for example be analysed by the user apparatus itself to determine whether the captured image is too bright, too dark or has other errors or flaws based on any suitable image analysis.
101091 The operation of generating a performance metric is shown in Figure 3 by step 217.
101101 The UA 1 is then be configured to generate a metric message comprising the at least one performance metric and transmit this message to the SS 3.
101111 The operation of generating and transmitting a metric message to the SS 3 is shown in Figure 2 by step 219.
101121 The SS 3 is then be configured to receive the metric message comprising the at least one performance metric. For example, the metric message may comprise the image quality metric The SS 3 may then be configured to analyse the image quality metric to determine whether the camera module settings which were used to control the camera module based on the identified context are 'good'. In other words, the SS 3 may be configured to identify whether the image quality metric based on the image generated using the camera settings given the identified context is better or worse than would be expected by comparing the image quality metric against previous image quality metrics or metric averages for the same and/or different settings given the same context.
101131 Furthermore the SS 3 is configured, where the at least one performance metric shows that the settings provided given the context produce poor or poorer results than expected, to change the value for the setting. For example the camera module settings (aperture, ISO and exposure setting values) may be changed where the image quality metric shows that the quality of the image captured by the camera module is poor or below an expected quality.
101141 The operation of analysing the at least one performance metric and determining whether to change the setting values for the setting is shown in Figure 2 by step 221 101151 With respect to Figure 3 there is shown a further flow diagram of an example method of implementing context based settings control as shown in Figure 1. The flow diagram differs from the method shown in Figure 2 in that following the step of performing the operation or operating the configurable device using the settings shown in Figure 2 by step 215 the UA 1 is configured to pass the output of the operation or configurable device to an auxiliary server (AS) 301. For example, the UA 1 is configured to generate an output message comprising the image captured by the camera module, and information identifying the camera module, the camera module settings used, and the identified context. The output message may then be passed to the AS 301.
101161 The operation of generating and transmitting an output message to the AS is shown in Figure 3 by step 316.
101171 The AS 301 is configured to permit other users to view and rate the captured image. For example the AS 301 may be a social media sewer displaying the images to any user authorised by the privacy settings set by the user of the UA 1. The social media server may allow the option for viewers to select a rating, for example from 1 to 10, to indicate the perceived quality of the image.
101181 The operation of permitting other users to view and rate the captured image is shown in Figure 3 by step 317 101191 The AS may be further configured to generate a metric message to the SS 3. The metric message may comprise the ratings (or aggregated ratings), and may further comprise the information identifying the camera module, the camera module settings used, and the identified context. The metric message may then be transmitted to the SS 3 for analysis.
101201 The operation of generating and transmitting a metric message to the SS 3 is shown in Figure 3 by step 319.
101211 The SS 3 may then be configured to receive and analyse the information within the metric message in the same or similar manner as described herein with respect to the method shown in Figure 2.
101221 With respect to Figure 4 an example context analyser 101 is shown in further detail. The example context analyser 101 is furthermore described with respect to a further example settings control wherein a server configuration operation is controlled based on values for settings provided given an identified context. The server may be controlled, for example, by values for settings such as a variable processor clock speed, and variable bandwidth data interface configuration between the processor and memory. The context analyser 101 may comprise a context space mapper 401. The context space mapper 401 is configured to receive the sensor information from the at least one sensor and map the information into a suitable context space. For example where the sensor information input is time (date) information, processor temperature and memory capacity the context space may be defined as a 3 dimensional space from which the space mapper 401 maps the sensor information to a point or points within the context space. Thus for example the sensor input information may identify that the server time is 10:47, the processor temperature is 70 degrees and the memory capacity is 50%.
101231 The context mapper 401 may be further configured to define or determine within the context space points or regions which are associated with 'defined' contexts. Furthermore the context mapper 401 may be further configured to determine whether the 'defined' contexts have a defined context region, area, or space. The context may, for example, be defined a region of context space around a context point. In such examples a context may be identified when sensor data is mapped into the context space which lies within the region associated with the context. The distribution (and locations) of the 'defined' context space points or regions may be regular or irregular. In the following example three contexts may be defined. A first context may, for example, be a 'peak thermal warning' context defined by an example context space region of processor temperature > 80 degrees, memory capacity > 70%, and time 0900-1700 H. A second context may be a 'peak overload' context defined by the context space region of processor temperature <40 degrees, memory capacity <5%, and time 0900-1700 H. A third context may be a 'off-peak underload' context defined by the context space region of processor temperature < 40 degrees, memory capacity > 90%, and the time 1701-0859 H. Although three contexts are defined here, there may be more than or fewer than 3 contexts.
101241 The context mapper 401 is configured to receive the 'defined' contexts (and furthermore any defined context region) from the SS 3. The context mapper 401 may furthermore be configured to define the contexts and upload the defined contexts to the SS 3. In such a manner the contexts are known to both the UA 1 and the SS 3.
101251 The context analyser 101 may furthermore comprise a context searcher 403. The context searcher 403 is configured to receive the output of the context mapper 401 and identify the 'nearest' defined context with respect to the mapped sensor information. The context searcher 403 is configured to search for the 'nearest' defined context according to any suitable search method. For example the search may be a minimum absolute distance search. Thus for the example sensor information provided above the sensor information may be mapped to a identified as having a 'nearest' defined context as the example 'peak thermal warning' context as the mapped sensor information in the context space is within the range of values associated with the 'peak thermal warning' context.
10126] The context searcher 403 may be considered to be an encoding or quantization of the multidimensional context space into a compact data form suitable for transmitting to the SS 3. Thus for example the mapped sensor information defined by time, processor temperature, and memory values may be quantized or encoded according to the 'defined' contexts (and regions) 101271 The context searcher 403 may therefore be configured to output a 'defined' context or identifier for the context which may be incorporated within a settings request message to the SS 3.
101281 With respect to Figure 5 an example settings generator 111 is shown in further detail. The example settings generator 111 is furthermore described with respect to the settings control example described above herein where a server configuration operation is controlled based on the settings provided by the settings generator. The settings generator 111 may comprise a message parser 501. The message parser 501 is configured to receive the settings request message and process the message to retrieve the information about the operation/configurable device for which the settings are required. The message parser 501 may also be configured to retrieve the identified context or identifier for the context from the settings request message. For example the message parser 501 may parse the message to extract an identifier indicating that the operation is the example sewer control operation. Furthermore the message parser 501 may then extract the identified context or an identifier for the context, which in this example may be the 'peak thermal warning' context.
101291 The settings generator 111 may further comprise a settings determiner 503. The settings determiner 503 is configured to receive the information about the operation/configurable device and the identified context to determine the setting value for the setting. The settings determiner 503 may for example be configured to determine the setting value for the setting by interrogating a look up table or database of setting values using the operation/configurable device and the identified context as inputs. The output (or stored data) may be any suitable form. For example the look up table or database may output a single entry of setting values associated with the operation/configurable device and the context which is managed by the settings manager 113. Using the example context of -peak thermal warning', the settings determiner 501 may identify the settings values for the settings which are associated with the context. The settings values associated with the 'peak thermal warning' context may be the variable processor clock speed set at a low clock level, and the variable bandwidth data interface configuration between the processor and memory set at a normal configuration. In such a manner when the settings are implemented the processor temperature would be reduced with an expected decrease in memory capacity as the memory buffer is slowly filled.
101301 However, the look up table or database may store multiple entries for a context, each entry comprising the values for setting for the operation/configurable device and the context and also a current performance metric value identifying the 'quality' of the setting. The settings determiner 503 in such an example is configured to select the entry and therefore the setting value(s) with the 'best' or highest metric value. For example there may be entries associated with the 'peak thermal warning' context. The first entry may be one with a low clock setting value for the variable processor clock speed, and a normal setting value for the variable bandwidth data interface configuration. A second entry may be one with a medium clock setting value for the variable processor clock speed, and a fast setting value for the variable bandwidth data interface configuration between the processor and memory. The first entry may be associated with an arbitrary performance metric of 50 and the second entry may be associated with a performance metric of 52 where a higher value is a 'better' metric value. Thus in such an example the second entry is chosen and the setting output to the UA 1 is one which contains the settings of a variable processor clock speed at a medium clock level, and a variable bandwidth data interface configuration between the processor and memory set at fast configuration.
101311 The settings generator 111 may further comprise a response message generator 505 configured to generate a suitable response message comprising the value for the setting. The response message being configured to be passed back to the UA 1 101321 With respect to Figure 6 an example settings manager 113 is shown in further detail. The example settings manager 113 is furthermore described with respect to the example settings control for a server configuration operation. The settings manager 113 may for example comprise a metric comparator 601. The metric comparator 601 is configured to receive the performance metric information and compare the determined metric against previously determined performance metric values generated when performing the same operation or using the same configurable device with the same settings given the same context. For example, the settings manager 113 may receive performance metric values associated with the server having implemented settings associated with the 'peak thermal warning' context of a variable processor clock speed set at a low clock level, and a variable bandwidth data interface configuration between the processor and memory set at normal configuration. The metric value may be an arbitrary value of 45. The metric value may itself be based on performance metrics relating to data processing delay rates and energy consumption levels for the server. The metric comparator 601 may furthermore be able to access previously determined or stored performance metric values associated with the same settings and the same context.
101331 The metric comparator 601, having compared the received metric and the previously determined metric may compare the two values and determine whether the received metric value is better than, worse than or the same as the 'expected' previously determined metric value. In this example the received metric produces a poorer result than expected.
101341 The settings manager 113 may furthermore comprise a settings analyser 603. The settings analyser 603 is configured to receive the output of the metric comparator 601 and determine whether the current setting value for the setting associated with the operation/configurable device given the identified context should be changed or modified. The settings analyser 603 is configured to trigger any analysis of the settings as described herein when the comparison between the received performance metric and the previously determined performance metric is greater than a determined threshold 101351 For example the settings analyser 603 is configured to change the stored setting value for the setting when the received metric indicates that the quality of the recently performed operation/configurable device using the setting value for the setting for the given context is significantly poorer than expected. The settings analyser 603 may, for example, in such circumstances be configured to apply a change to the setting value for the setting, and store the new setting value to be accessed and further analysed at a later time.
101361 As described herein the SS 3 is configured to store or access multiple entries associated with the same operation/configurable device given the same context, and where each entry comprises different setting values for the setting and associated performance metric. In such examples the settings analyser 603 is configured to generate a combined performance metric value by combining the received performance metric value and the stored performance metric value associated with the same setting value for the setting. The combined performance metric value may be a 'running average' value. For example the combined metric value may be a weighted combination of the received and previously determined metric values.
101371 The settings analyser 603 may then compare the combined performance metric value against other performance metric values associated with other setting values given the same context. If the 'new' combined performance metric is less than any of the other performance metric values then the settings analyser 603 is configured to identify the entry with the best performance metric value and control the settings generator 111 to output the setting associated with the entry with the best performance metric value for the given context.
10138] The server control example described above features two example entries associated with the 'peak thermal warning' context. These two example entries originally are associated with an arbitrary performance metric of 50 and 52 respectively and thus the second entry is the one initially chosen. Furthermore the setting analyser is configured to use the example received performance metric value of 45 to combine with the stored performance metric of 52. In this example the combined performance metric value is a mean average of the metric values of 48.5. The setting analyser may then be configured to control the settings generator 111 to store the combined performance metric value within the second entry. Furthermore when the settings generator 111 attempts to identify or determine the setting following a further request the first entry would be selected as the performance metric value for the first entry is now the better performance metric.
101391 The settings analyser 603 may furthermore be configured to determine whether for any settings entry the setting values for the setting are to be changed or modified. For example where a settings entry has a performance metric less than a determined threshold then the value or values associated with the setting can be modified to 'improve' the setting. Furthermore the settings analyser 603 is configured to generate additional settings entries or combine or merge settings entries.
101401 The settings manager 113 may furthermore comprise a context manager 605. The context manager is configured to receive the output of the settings analyser 603 and the metric comparator 601. The context manager 605 is configured to analyse the settings analyser 603 and the metric comparator 601 outputs and determine whether the number and type of contexts currently defined are enabling the identification or determination of good quality settings. For example the introduction of additional contexts may enable better granularity of identified contexts and therefore enable a more optimised setting for the context rather than a less optimised and more general setting where the context is a broad' context. Similarly fewer contexts may decrease the need to switch between settings values for the setting associated with each context and thus reduce signalling load between the UA 1 and the SS 3 as the sensor values change.
101411 The present invention may be a system, a method, and/or a computer program product The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
101421 The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire 101431 Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0144] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
101451 Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
101461 These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
101471 The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
101481 The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

Claims (19)

  1. CLAIMS1. A method of managing a setting for controlling an operation of a configurable device, an instance of the setting having been provided in response to and based on an identifier of a context within a setting request, wherein the method comprises: receiving a performance metric derived from analysing an output generated by said operation using said instance; analysing the received performance metric with respect to a further performance metric derived from a previous output generated by said operation using a previous instance of the setting; and managing the setting based on the analysis.
  2. 2. The method as claimed in claim 1, wherein: said analysing step comprises comparing the received performance metric with the further performance metric to determine a difference in quality between the output and the previous output; and said managing step comprises changing the instance to a further instance upon the determination of a lower quality of the output.
  3. 3. The method as claimed in claim 2, wherein changing the instance to a further instance comprises: searching a database comprising a plurality of database entries each comprising a further instance of the setting associated with a performance metric indicative of an output quality; selecting a database entry comprising a further instance of the setting associated with a performance metric indicative of an increased output quality; and changing the instance to the further instance retrieved from the selected database entry.
  4. 4. The method as claimed in any of claims 1-3, further comprising: determining a plurality of contexts, wherein each context is defined by a point or region within a sensor space; and storing an instance of the setting associated with each of the plurality of contexts, and wherein managing the setting based on the analysis comprises managing the plurality of contexts based on the analysis.
  5. 5. The method as claimed in claim 4, wherein managing the plurality of contexts comprises at least one of: increasing a number of contexts; decreasing a number of contexts; and remapping at least one of the plurality of contexts to a new point or region within the sensor space.
  6. 6. The method as claimed in claim 4 or 5, further comprising providing the managed plurality of contexts to a device for controlling the operation of the configurable device
  7. 7. The method as claimed in any of claims 1-6, further comprising providing the managed setting in response to and based on the identifier for the context within a further setting request to enable controlling the performance of a further operation of a configurable device.
  8. 8. The method as claimed in any of claims 1-7, wherein the further performance metric is derived from analysing an output generated from a previous output generated by said operation using a previous instance of the setting provided in response to and based on the identifier for the context within a previous setting request.
  9. 9. A method for providing a setting for controlling a configurable device, the method comprising: receiving at least one setting request comprising an identifier of a context; determining an instance of the setting in response to and based on the identifier of the context; providing said instance of the setting to the configurable device and managing the setting according to the method as claimed in any of claims 1-8.
  10. 10. A computer program product comprising a computer-readable storage medium having computer-readable program code, when executed on at least one processor of a computer, causing the computer to implement the steps of the method of any of claims 1-9.
  11. 11. A server (3) for managing a setting for controlling an operation of a configurable device, an instance of the setting having been provided in response to and based on an identifier of a context within a setting request, wherein the server comprises: a settings manager (113) configured to receive a performance metric derived from analysing an output generated by said operation using said instance, to analyse the received performance metric with respect to a further performance metric derived from a previous output generated by said operation using a previous instance of the setting; and to manage the setting based on the analysis.
  12. 12. The sewer as claimed in claim 11, wherein the settings manager (113) comprises: a metric comparator (601) configured to compare the received performance metric with the further performance metric to determine a difference in quality between the output and the previous output; and a settings analyser (603) configured change the instance to a further instance upon determining a lower quality of the output.
  13. 13. The sewer as claimed in claim 12, wherein the settings analyser is configured to: search a database comprising a plurality of database entries each comprising a further instance of the setting associated with a performance metric indicative of an output quality; select a database entry comprising a further instance of the setting associated with a performance metric indicative of an increased output quality; and change the instance to the further instance retrieved from the selected database entry.
  14. 14. The server as claimed in any of claims 11-13, further comprising a context manager (605) configured to: determine a plurality of contexts, wherein each context is defined by a point or region within a sensor space; determine an instance of the setting associated with each of the plurality of contexts, and manage the plurality of contexts based on the analysis
  15. 15. The sewer as claimed in claim 14, wherein the context manager (605) configured to manage the plurality of contexts is configured to perform at least one of increase a number of contexts; decrease a number of contexts; and remap at least one of the plurality of contexts to a new point or region within the sensor space.
  16. 16. The sewer as claimed in any of claims 14 or 15, wherein the context manager (605) is configured to provide the managed plurality of contexts to a device for controlling the operation one of the configurable device.
  17. 17. The sewer as claimed in any of claims 11-16, further comprising a settings generator (111) configured to provide the managed setting in response to and based on an identifier for the context within a further setting request to enable controlling the performance of a further operation of a configurable device.
  18. 18. The server as claimed in any of claims 11-17, wherein the settings manager (113) is configured to receive the further performance metric derived from analysing an output generated by said operation using a previous instance of the setting provided in response to and based on the identifier for the context within a previous setting request.
  19. 19. The server (3) in any of claims 11-18, further comprising: a settings generator (111) configured to receive at least one setting request comprising an identifier of a context, to determine an instance of the setting in response to and based on the identifier of the context, and to provide said instance of the setting to the configurable device.
GB1421534.7A 2014-12-04 2014-12-04 Device and software settings management Withdrawn GB2532975A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1421534.7A GB2532975A (en) 2014-12-04 2014-12-04 Device and software settings management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1421534.7A GB2532975A (en) 2014-12-04 2014-12-04 Device and software settings management

Publications (2)

Publication Number Publication Date
GB201421534D0 GB201421534D0 (en) 2015-01-21
GB2532975A true GB2532975A (en) 2016-06-08

Family

ID=52425423

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1421534.7A Withdrawn GB2532975A (en) 2014-12-04 2014-12-04 Device and software settings management

Country Status (1)

Country Link
GB (1) GB2532975A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088278A1 (en) * 2002-10-30 2004-05-06 Jp Morgan Chase Method to measure stored procedure execution statistics
US20070198679A1 (en) * 2006-02-06 2007-08-23 International Business Machines Corporation System and method for recording behavior history for abnormality detection
US20070220371A1 (en) * 2006-02-06 2007-09-20 International Business Machines Corporation Technique for mapping goal violations to anamolies within a system
US20090182848A1 (en) * 2003-12-29 2009-07-16 Aol Llc Network scoring system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088278A1 (en) * 2002-10-30 2004-05-06 Jp Morgan Chase Method to measure stored procedure execution statistics
US20090182848A1 (en) * 2003-12-29 2009-07-16 Aol Llc Network scoring system and method
US20070198679A1 (en) * 2006-02-06 2007-08-23 International Business Machines Corporation System and method for recording behavior history for abnormality detection
US20070220371A1 (en) * 2006-02-06 2007-09-20 International Business Machines Corporation Technique for mapping goal violations to anamolies within a system

Also Published As

Publication number Publication date
GB201421534D0 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
US11049334B2 (en) Picture-based vehicle loss assessment
US11244402B2 (en) Prediction algorithm based attribute data processing
US10255453B2 (en) Controlling privacy in a face recognition application
US10321051B2 (en) Intelligent image enhancement
US11228549B2 (en) Mobile device sending format translation based on message receiver&#39;s environment
US20190026930A1 (en) Digital information retrieval and rendering in a factory environment
US11928583B2 (en) Adaptation of deep learning models to resource constrained edge devices
US11144578B2 (en) High performance and efficient multi-scale trajectory retrieval
US10958828B2 (en) Advising image acquisition based on existing training sets
US11790918B2 (en) Audio firewall
WO2017040852A1 (en) Modeling of geospatial location over time
CN110084317B (en) Method and device for recognizing images
US11347646B2 (en) Method, device and computer program product for managing cache based on matching API
US20210209144A1 (en) Internet of things sensor equivalence ontology
US11048745B2 (en) Cognitively identifying favorable photograph qualities
US10540594B2 (en) Identifying abnormal pumpjack conditions
JP2021168195A (en) Classification method and device for face image, electronic apparatus and storage medium
CN111373436A (en) Image processing method, terminal device and storage medium
CN114615177B (en) Load detection method and device of cloud platform, electronic equipment and storage medium
US20210064981A1 (en) Controlling performance of deployed deep learning models on resource constrained edge device via predictive models
GB2532975A (en) Device and software settings management
CN114359602A (en) Method and device for detecting product defects, storage medium and electronic equipment
US20210199842A1 (en) Integration of physical sensors in a data assimilation framework
US10171622B2 (en) Dynamic content reordering for delivery to mobile devices
US20220342898A1 (en) Apparatus, method and computer-readable medium for access

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)