Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FRAMEWORKS AND METHODOLOGIES CONFIGURED TO ASSIST CONFIGURING DEVICES SUPPORTED BY A BUILDING MANAGEMENT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/157018
Kind Code:
A1
Abstract:
Described herein are frameworks and methodologies configured to assist configuring devices supported by a building management system. Embodiments of the invention have been particularly developed to allow commissioning of devices, such as HVAC components, to be performed more efficiently in the field. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.

Inventors:
MERUVA JAYAPRAKASH (US)
MORRISON JOHN DAVID (US)
LAYCOCK GRAEME (US)
Application Number:
PCT/US2015/023234
Publication Date:
October 15, 2015
Filing Date:
March 30, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HONEYWELL INT INC (US)
International Classes:
G06Q50/10; G06Q10/06
Foreign References:
US20100058248A12010-03-04
US20100087175A12010-04-08
US20130226579A12013-08-29
US20080235028A12008-09-25
US20110047418A12011-02-24
Attorney, Agent or Firm:
BEATUS, Carrie et al. (Patent Services M/S AB/2B101 Columbia Road,P. O. Box 224, Morristown New Jersey, US)
Download PDF:
Claims:
L,j JIVf i

1. A computer implemented method for enabling an interactive commissioning process in respect of a field device, the method including:

maintaining access to a repository of workflow sequences, wherein each workflow sequence includes:

(i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

(ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

executing a given one of the workflow sequences, including delivering a first audible prompt for a first user activity, and upon receiving and recording a voice-delivered response from a user to the first audible prompt, and subject to processing of the recorded response, progressing through the remainder of the workflow sequence.

2. A method according to claim 1 including, for at least one system activity, providing audible voice signals representing progress of completion of the system activity.

3. A method according to claim 1 including receiving, from the user, a voice-based request for parameter values, and, in response to the voice based request, obtaining the parameter values from a building management system, and providing voice-based output of the obtained parameter values.

4. A method according to claim 1 wherein the method is performed via a computing device, and the voice-delivered responses are transmitted via a wireless microphone device.

5. A method according to claim 1 wherein the method is performed via a computing device, and the voice-delivered responses are transmitted via a mobile device that is coupled to a microphone device.

6. A method according to claim 1 including operating a voice synthesizer that accesses a B S pronunciation lexicon.

7. A method according to claim 1 including operating a voice recognition engine that is configured to recognise commissioning commands via predefined application-specific grammar.

8. A method according to claim 7 wherein the voice recognition engine is configured to switch between default grammar recognition and application-specific grammar recognition.

9. A method according to claim 1 wherein the one or more user activities include user activities prompting the user to perform one or more of the following:

report on a state of the fieid device;

progress the field device into a specified mechanical state;

progress the fieid device into a specified software state; and

perform and report on one or more measurements made with a secondary device.

10. A method according to claim 1 wherein each activity includes a success condition, exception/error condition, and a timeout period.

11. A computer implemented method for defining an interactive commissioning process in respect of a field device, the method including:

defining a workflow sequences, wherein the workflow sequence includes:

(i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

(ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

providing the workflow sequence to an execution module, wherein the execution module is configured to execute on a device that interacts via voice-based prompts delivered to a field technician and voice-based responses provided by the field technician.

12. A method according to claim 1 1 including, for at least one system activity, defining a rule requiring audible voice signals representing progress of completion of the system activity.

13. A method according lo claim 1 including updating a voice synthesized that accesses a BMS pronunciation lexicon based on technical terms used in prompts and/or responses for the workflow sequence.

14. A method according to ciaim 1 1 wherein the one or more user activities include user activities prompting the user to perform one or more of the following:

report on a state of the fieid device;

progress the field device into a specified mechanical state;

progress the field device into a specified software state; and

perform and report on one or more measurements made with a secondary device.

15. A method according to claim 1 1 wherein each activity includes a success condition, exception/error condition, and a timeout period.

16. A device configured to enable an interactive commissioning process in respect of a field device, the device including:

a module configured to access to a repository of workflow sequences, wherein each workflow sequence includes:

(i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

(ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

an execution module configured to deliver each of the workflow sequences, wherein delivering a first of the workflow sequences includes delivering a first audible prompt for a first user activity, and upon receiving and recording a voice-delivered response from a user to the first audible prompt, and subject to processing of the recorded response, progressing through the remainder of the workflow sequence.

17. A device according to claim 16 wherein delivering a given workfiow sequence includes, for at least one system activity, providing audible voice signals representing progress of completion of the system activity.

18. A device according to claim 16 including a voice command processing engine that is configured to receive from the user, a voice-based request for parameter values, and, wherein the device is configured to, in response to the voice based request, obtain the parameter values from a building management system, and provide voice-based output of the obtained parameter values.

19. A device according to claim 16 that is configured to receive the voice-delivered responses via a wireless microphone device.

20. A device according to claim 16 that is configured to receive the voice-delivered responses from a remote wirelessiy coupled mobile device that is coupled to a microphone device.

21. A device according to claim 16 including a voice synthesizer that accesses a BMS pronunciation lexicon.

22. A device according to claim 16 including a voice recognition engine that is configured to recognise commissioning commands via predefined application-specific grammar. A device according to claim 16 wherein the one or more user activities include user activities prompting the user to perform one or more of the following:

report on a state of the fieid device;

progress the fieid device into a specified mechanical state;

progress the fieid device into a specified software state; and

perform and report on one or more measurements made with a secondary device.

Description:
FRAMEWORKS AND METHODOLOGIES CONFIGURED TO ASSIST CONFIGURING DEVICES SUPPORTED BY A BUILDING MANAGEMENT SYSTEM

FIELD OF THE INVENTION

[0001 ] The present invention relates to frameworks and methodologies configured to assist configuring devices supported by a building management. Embodiments of the invention have been particularly developed to allow commissioning of devices, such as HVAC components, to be performed more efficiently in the field. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is appiicable in broader contexts.

BACKGROUMD

[0002] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.

[0003] in the context of field devices supported by a Building Management System (BMS), conventionally, commissioning tasks are often necessary, These may include as point to point checkout (hardware checkout), functional checkout (sequence of operations checkout), VAV balancing, water balancing, and the like. Most commissioning tasks require two technicians: one technician at a terminal connected to the BMS (for example a HVAC Pane!) and another technician at the field device. These two technicians typically interact over radio communication thereby to confirm their respective operations.

[0004] The use of wireless (for example handheld) commissioning devices might reduce the need for two technicians, but is not ideal in many situations. For example, in some commissioning activities user has to climb on ladders (or otherwise move into awkward positions) to access field devices. Furthermore, technicians may already have their hands full with measuring devices such as anemometers, muiti meters and balometer flow hoods.

SUMMA Y OF THE INVENTION

[0005] It is an object of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative.

[0006] One embodiment provides a computer implemented method for enabling an interactive commissioning process in respect of a field device, the method including: [0007] maintaining access to a repository of workflow sequences, wherein each workflow sequence includes:

[0008] (!) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

[0009] (ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

[0010] executing a given one of the workflow sequences, including delivering a first audible prompt for a first user activity, and upon receiving and recording a voice-delivered response from a user to the first audible prompt, and subject to processing of the recorded response, progressing through the remainder of the workflow sequence.

[0011 ] One embodiment provides a computer implemented method for defining an interactive commissioning process in respect of a field device, the method including:

[0012] defining a workflow sequences, wherein the workflow sequence includes:

[0013] (i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

[0014] (ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

[0015] providing the workflow sequence to an execution module, wherein the execution module is configured to execute on a device that interacts via voice-based prompts delivered to a field technician and voice-based responses provided by the field technician.

[00 6] One embodiment provides a device configured to enable an interactive commissioning process in respect of a field device, the device including:

[0017] a module configured to access to a repository of workflow sequences, wherein each workflow sequence includes:

[0018] (i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and [0019] (ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system;

[0020] an execution module configured to deliver each of the workflow sequences, wherein delivering a first of the workflow sequences includes delivering a first audible prompt for a first user activity, and upon receiving and recording a voice-delivered response from a user to the first audible prompt, and subject to processing of the recorded response, progressing through the remainder of the workflow sequence.

[0021 ] One embodiment provides a computer program product for performing a method as described herein.

[0022] One embodiment provides a non-transitory carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.

[0023] One embodiment provides a system configured for performing a method as described herein.

[0024] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment" , "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.

[0025] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

[0026] in the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising. [0027] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.

BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:

[0029] FIG. 1A schematically illustrates a framework according to one embodiment.

[0030] FIG. 1 B schematically illustrates a framework according to one embodiment.

[0031 ] FIG. 1 C schematically illustrates a prior art arrangement.

[0032] FIG. 2 illustrates a method according to one embodiment.

[0033] FIG. 3 illustrates an exemplary screenshot.

[0034] FIG. 4 illustrates sample transactional grammar.

DETAILED DESCRIPTION

[0035] Described herein are frameworks and methodologies configured to assist configuring devices supported by a building management. Embodiments of the invention have been particularly developed to allow commissioning of devices, such as HVAC components, to be performed more efficiently in the field. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.

Overview

[0036] Various embodiments provide computer implemented methods for enabling an interactive commissioning process in respect of a field device. For example, such methods are performed on a computing device based on execution of computer executable code stored on a non-transitory carrier media (for example including a computer hard drive). In overview, the method includes executing one or more workflow sequences, from a repository of workflow sequences. Each workflow sequence, in some embodiments, is embodied in a discrete "app". In other embodiments multiple workflow sequences are executable via a common software application. Each workflow sequence includes: (i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

(ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system (B S);

[0037] Execution of a workflow sequence includes iteratively working through a series of these user activities and system activities, and implementing a series of rules governing the completion of those activities. In very broad terms, voice prompts guide a user through user actions, which might involve interacting with the field device, taking measurements, and so on. Responses are audibly provided. Depending on the internal logic and ordering of a given workflow sequence, completion of a user activity may trigger a system activity, which is automatically completed by way of software-driven interaction with the BMS. This may, in some cases, result in the BMS interacting with the field device via a control network. Audible voice-based update messages are optionaliy provided to the user during that process.

Exemplary Frameworks

[0038] FIG. 1 A and FIG. 1 B illustrate exemplary frameworks according to embodiments. FIG. 2C illustrates a prior art arrangement for a similar situation. In each case, a human field technician 100 is required to perform commissioning functions in respect of a field device 102. The field device is supported by a BMS 103. For example, a control network (and one or more controller devices) communicatively couple field device 102 to BMS 103.

[0039] in the prior art example of FIG 1 C, human field technician 100 communicates via a two way radio (or the like) with a further technician 101 who is positioned to operate a control panel of BMS 103. For example, this may be an HVAC control pane! which is part of an HVAC system to which device 102 belongs. Technician 101 liaises with technician 100 thereby to collaboratively take measurements and have those entered into BMS 103, ensure device 102 is in an appropriate state before B S-driven operations are performed, and so on. Such operations are referred to broadly as "commissioning" operations. Specific examples include:

» in the context of VAV balancing, measuring and feeding measured airflow value into the system.

« In the context of testing a temperature sensor, verifying values for no response test by disconnecting wires, feeding actual measured value which is measured with certified device, and recording wire tag number into the system. [0040] It wiii be appreciated that these are provided as contextual examples only, and are not intended to be limiting in any way.

[0041 ] In general terms, the technology herein provides a solution, which uses speech synthesizer and speech recognition capabilities that reduces the number of technicians required in a site to perform commissioning activities for various forms of B S-sup ported field devices. This includes enabling technicians to record observations through voice technology when in compromising situations (for example atop ladders and the like), in one example, a field technician is responsible for VAV balancing. The technician connects his laptop to an HVAC controller at the relevant panel, and uses voice-based interaction with software running on the laptop to engage in an interactive workflow sequence to enable VAV balancing to be completed,

[0042] in the examples of FIG. 1A and 1 B, the further technician 101 is replaced by IT components. This allows field technician 100 to act alone, resulting in substantial efficiency increases.

[0043] Referring initially to the example of FIG. 1A, field technician 100 acts solo, and in doing so utilises a wireless headset (i.e. a device having a microphone functionality, speaker functionality, and ability to wirelessly communicate with a third party device). The user provides, via headset 1 10, voice-based responses and commands, which are delivered to a technician computing device 120. The user is provided, via headset 110, voice-based prompts and/or information, these originating from technician computing device 120. In the example of FIG, 1 B, headset 1 10 is replaced by a wired headset/microphone 150 (or, in some cases, a wireless headset) which is coupled to a wireless mobile device, that device in turn being wirelessly communicatively coupled to computing device 120. In a further embodiment, functionalities of devices 151 and 120 are integrated into a single device.

[0044] Device 120 executes voice-based interaction software 130. Software 130 is described by reference to a number of functionally identifiable components. In some cases one or more of these components are provided by distinct applications, which collectively form what is conceptually described as software 130. That is, software 130 may describe a first piece of proprietary software in combination with one or more pieces of third party software with which the proprietary software interacts.

[0045] Software 130 includes (or maintains access to) a repository of workflow sequences 131 . For example, these are workflow sequences for various technician operations. Administrative software functionalities are provided to assist with the generation of workflow sequences, which includes defining one or more user activities, one or more system activities, exception/success/other rules for each activity, and logic interrelating the activities. This creates a logical process for each workflow sequence, enabling these to execute autonomously upon initiation, based on input received from system and user activities. [0046] In some embodiments workflow sequences are each defined by an individual "app", which is independently executed. In other cases they are files, or other form of processes, which are able to be loaded and executed by a specially adapted software application.

[0047] in the examples of FIG. 1 A and FIG. 1 B, a workflow sequence execution engine 132 is configured for coordinating the execution of workflow sequences. Engine 132 is configured to load data indicative of a given workflow sequence, and coordinate execution based on rules and !ogic associated with that workflow sequence. Engine 132 operates in conjunction with application transactional grammar data 133 (which provides data indicative of grammatical instructions used to provide specific voice-based commands in software 130, such as request for system parameter values and the like) and application business logic 134.

[0048] A text-to-speech engine 135 is configured for converting text data into voice data. This text-to- speech engine operates in conjunction with a domain specific lexicon 136 which provides pronunciation data for a B S domain vocabulary. This enables engine 135 to pronounce terms/words which are specific to a BMS environment (i.e. domain specific words) with correct phonemes. This combines with conventional pronunciation dictionaries (optionally both general and user-specific), which facilitate pronunciation of standard (i.e. non domain specific) words.

A speech recognition engine 139 is configured to operate with application-specific grammar and default grammar 140. The former is indicative specific grammatical rules defined for enabling interaction with application 130 in the context of workflow sequences, in this manner, the grammar required for commissioning procedures are supplied to the engine, which is used to recognize user commands properly through voice. The default grammar, and application feature specific grammar are dynamically switched based on context, Speech training data 141 assists software 130 improve accuracy in voice recognition over time.

[0049] in some cases device 130 is part of the wireless mobile device, and the mobile device directly communicates to BMS 103 wirelessly. In this scenario the mobile device itself act as technician computing device.

Workflow Sequences

[0050] As noted, the technology described herein relates to executing workflow sequences thereby to assist in commissioning (or otherwise performing actions in respect of) field devices that are supported by a BMS. Each workflow sequence (which may be defined as a discrete "app", or as a procedure executable via an application, includes: (i) one or more user activities, which are configured to be completed by voice-delivered responses to audible prompts; and

(ii) one or more system activities, which are performed as automated processes by way of interaction with a building management system (B S);

[0051 ] in preferred embodiments, a user activity is an activity that needs to be performed by a field user. Each user activity requires user interaction to cause the activity to perform and finish . Upon start of this activity, an audible voice-based prompt announces what the user has to perform (this being generates through voice via the speech synthesizer). Once the user completes his task(s), he can record the status of the task (for example confirming completion, announcing readings, etc.) through voice. The status will be translated to text form through a speech recognizer and will be persisted in the system.

[0052] For example: in the context of VAV balancing user activities include, at least in one embodiment:

» "Checking whether damper rod is connected to an actuator. The user is prompted to check whether a damper rod is connected to its actuator in a physical VAV. The user then responds with either a "confirm" response, or a "fail" response (noting that various semantics may be used).

• "Measuring airflow value". The user is prompted to make an airflow measurement value using an anemometer, and supply the data (i.e. by audibly relaying measurements).

[0053] A system activity is an activity performed by the system automatically. For example, a system activity is fully controlled by the automated computer processes, i.e. the computer system proceeds with execution of an activity automatically, and completes the activity as soon as a transition condition is satisfied (or, for example, predefined exceptions are observed). Upon commencement of a system activity, the computer system announces the activity audibly through an audible signal (for example a voice-based rendering of text data), and starts performing the activity automaticaiiy. A user is in some embodiments enabied to check a current state of an activity by querying the system through voice commands. The computer system in response defines a response message and replies through a voice signal. The computer system also announces once activity is completed, and updates the status such that a next activity in the workflow sequence can commence.

[0054] By way of example, in some embodiments a system activity in VAV balancing is the dosing of a damper, or rotating of a damper to a specific set point value. While executing activities, user is enabled to query the system to know the current controller parameter values. The query is translated to system commands through speech recognition, which in turn is translated to respective device and parameter addresses on the BMS network, thereby to obtain live values from the controller. The live values are transferred audibly to the technician as reply messages in the form of voice through the speech synthesizer.

[0055] Preferably, each activity has a success status and exception/error status, timeout period. In case of error status, the system ends the workflow, and is prevented from proceeding furiher untii that status is turned to success status. In case of a timeout, the system announces a warning message to the user.

[0058] in some cases, a transition condition includes an expression which is evaluated to permit the completion of an activity. It can also be unconditional, meaning that it waits for timeout condition or for a user command to complete the activity.

[0057] In a preferred embodiment each activity has a Timeout Condition", which is used to raise a warning/exception upon the expiration of a specific period of time. For user activities, when a timeout condition is met, the system may be configured to announce a "motivational statement", which may be either a standard statement (e.g. a reminder "we are still waiting for you to complete task name") or a specific user-defined statement defined for an activity. In some cases the statement may mention typically how much time if is anticipated to take to perform the relevant activity. For a system activity, when a timeout condition is met, it one form of response is to make a verbal announcement that system could not perform this activity due to some reason, and request user manual intervention to verify system issues.

[0058] Activities may also include an optional tag, which indicates whether it is allowable or prohibited to skip a given step in the context of a workflow sequence. Additionally, a set of B S Parameters are maintained by the commissioning application, which can be accessed by given activities to answer user queries or used by the commissioning workflow system in an evaluation of conditional expressions.

[0059] FIG. 2 illustrates an exemplary method according to one embodiment, being a method for executing a workflow sequence. Block 201 represents initiation of a workflow sequence. This may occur as a result of manual interaction with device 120, a voice command received by software 130, or based on context (for example by reference to a previously completed workflow). Blocks 202 and 203 represent execution and suspension of execution, subject to suspend and resume commands.

[0060] A next activity is commenced (being a user activity or system activity) at 203, and that activity is completed (successfully) at 204. If there are further activities in the sequence based on a determination at 205, the method loops back to 203. Otherwise the workflow completes at 206.

Example - VAV Balancing Operation [0061 ] FIG. 3 provides a partial screen shot from an exemplary implementation of software 130, showing a selection of activities defining a workflow sequence for zero-balancing a VAV. This commences with a user activity to check whether a damper rod is connected to the relevant actuator. Assuming this is successful for example a (a "confirm" response), a system activity is initiated to control the damper actuator to move to a zero position. Once the damper closes fully, a user activity instructs the technician to measure airflow value (using an anemometer or balometer flow hoods, for example), and the measured airflow value is reported verbally (and then entered into the system). This is foliowed by a system activity whereby to the controller uses the measured airflow value to drive the VAV damper to a correct setpoint value. FIG. 4 shows sample transactional grammar for success flow of this zero balancing scenario.

Conclusions and interpretation

[0082] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

[0083] in a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer or a "computing machine" or a "computing platform" may include one or more processors.

[0084] The methodologies described herein are, in one embodiment, performab!e by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer- readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.

[0085] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.

[0066] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processors), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

[0067] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[0068] Thus, one embodiment of each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer- readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.

[0089] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto- optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.

[0070] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.

[0071 ] it should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, FIG., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention. [0072] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[0073] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.

[0074] in the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[0075] Similarly, it is to be noticed thai the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B, It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

[0076] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.