1. Technical Field
Devices, methods and systems consistent with the exemplary embodiments relate to providing automatic recommendations for a group of individuals based on sensed physiological data of the individuals of the group.
2. Description of the Related Art
There is an increasing push to develop technology that includes body sensors for measuring various parameters of the body in order to provide fitness data that may be used to assist a wearer in improving the fitness of the wearer. There are also sensors such as electro-dermal sensors that may predict a state of the user based on previously determined states of a group of people. For example, a group may be subjected to a common state-inducing event, such as a scene in a movie, and the electro-dermal activity of the group may be determined, and a characteristic created. Then, the electro-dermal activity of an individual in an unknown context may be measured and compared to the characteristic to determine whether the individual is in a certain state.
However, such technology is not able to determine a state of a group, or a state of interrelationships between group members. Moreover, such technology is not able to automatically determine recommendations for a group of individuals based on sensed physiological data of the individuals of the group.
According to an aspect of an exemplary embodiment, there is provided a method comprising acquiring, from one or more sensors, a plurality of first physiological data from a plurality of individuals of a group, prior to a point of time of a change in the group; acquiring, from one or more sensors, a plurality of second physiological data from the plurality of individuals of the group, after the point of time of the change, the second physiological data corresponding to the first physiological data; determining, using at least one microprocessor, a physiological condition of an individual of the group, based on the acquired first physiological data and the acquired second physiological data of the plurality of individuals of the group; and determining, using at least one microprocessor, a recommendation for the individual of the group based on the determined physiological condition, and the first and second physiological data.
According to another aspect of an exemplary embodiment, there is provided a system for providing automatic recommendations for a group of individuals based on physiological data of the individuals measured by sensors, the system comprising a computer storage containing physiological data, for each of a plurality of individuals of a group, the physiological data having been sensed for each individual by one or more sensors and recorded at intervals over a period of time; and a computer server which is coupled to the computer storage and programmed to acquire, from one or more sensors, current physiological data from each of the plurality of individuals of the group, the plurality of individuals of the group participating in a common activity; determine a current physiological condition of an individual of the group, based on the acquired current physiological data from the individuals of the group and the physiological data for the plurality of individuals of the group recorded in the computer storage; and automatically determine a recommendation for the individual of the group, based on the common activity, the determined current physiological condition of the individual.
According to still another aspect of an exemplary embodiment, there is provided a method comprising acquiring, from one or more sensors, a plurality of physiological data from each of a plurality of individuals of a group; determining, using at least one microprocessor, a physiological condition for each individual of the group, based on the acquired physiological data from the individual; correlating the physiological data of individuals of the group who are participating in one or more daily activities, to produce correlated physiological data for each of the one or more daily activities; evaluating, using the at least one microprocessor, the one or more daily activities of the group based on the correlated physiological data for the daily activity; and automatically determining, using the at least one microprocessor, a recommendation for the group based on the evaluation of the one or more daily activities.
The above and other aspects and features will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, in which:
Exemplary embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which the exemplary embodiments are shown. The inventive concept may, however, be embodied in different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art.
The same reference numbers indicate the same components throughout the specification.
The use of the terms “a” and “an” and “the” and similar referents in the context of describing the exemplary embodiments and especially in the context of the following claims are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the inventive concept belongs. It is noted that the use of any and all examples, or exemplary terms provided herein is intended merely to better illuminate the inventive concept and is not a limitation on the scope of the inventive concept unless otherwise specified. Further, unless defined otherwise, all terms defined in generally used dictionaries may not be overly interpreted.
The present inventive concept will be described with reference to perspective views, cross-sectional views, and/or plan views, in which exemplary embodiments are shown. The exemplary embodiments are not intended to be the exact views shown but cover all changes and modifications that can be caused due to a change in implementation. Thus, regions shown in the drawings are illustrated in schematic form and the shapes of the regions are presented simply by way of illustration and not as a limitation.
Moreover, in the following description, the terms “individual” and “person” are used interchangeably unless the context clearly indicates otherwise, and the term “group” refers to a plurality of individuals unless the context clearly indicates otherwise.
As the number of handheld devices has proliferated, there is an increasing push to develop wearable computer technology, such as eyeglasses fitted with a computer and camera, that allow for hands-free operation of a handheld device while the user operates a car or shops, etc.
There is also an increasing push to develop wearable computer technology that includes various body sensors for measuring various fitness data. As one example, there are wearable pedometers that measure how many steps a person takes during a given time period. There are also devices that may be worn on the wrist and include sensors for measuring the heart rate of the user. This data may then be downloaded and viewed on a computer in graph form so that the user may make changes to a fitness program. In some cases, the heart rate data may be displayed real time to the user so that the user can avoid overexertion during fitness activities. There is also a wearable sensor technology for measuring, for example, electro-dermal activity (i.e., skin conductance) of a wearer's skin.
There are also non-wearable sensors—such as video cameras, thermal cameras and smart chairs—for measuring different physiological data, for example, heart rate, breathing rate and body temperature. The measured physiological data, such as heart rate and electro-dermal activity, may then be incorporated into computer technology for implementing physiological analysis to make various physiological assessments. For example, a group of people wearing electro-dermal sensors may be placed in a controlled environment in which they are subjected to a shared experience. This environment may contain additional non-wearable sensors, such as heart rate and body temperature. The shared experience may be, for example, viewing a movie showing various scenes, such as a scary scene and a peaceful scene. A computer connected wirelessly to the body and environment sensors may then measure the physiological changes of the group of people while they are viewing the various scenes. The computer may then analyze and process the physiology measurements from the group to generate a reference signature that indicates a physiological state, such as fear, based on the controlled state of the shared experience. For example, in this way, a reference signature for fear or anxiety may be determined from the control group, and a reference signature for happiness or tranquility may also be determined. The reference signatures may then be stored and used to determine a physiological state of an individual.
In determining a physiological state of an individual, physiological data from an individual in an unknown situation may then be sensed and may be compared to these reference signatures derived from the group in order to determine the physiological state of the user. For example, the individual may be wearing a device with electro-dermal and heart rate sensors that are connected to a computer. The computer senses the physiological activity of the individual and generates a measured profile of the individual. If this measured profile matches closely one of the reference signatures, the computer may determine based on the physiological data of the individual that the individual is in a physiological state corresponding to the reference signature. For example, if the measured electro-dermal profile of the individual matches closely the reference signature for fear, the computer may determine that the individual is experiencing the physiological state of fear. On the other hand, if the measured electro-dermal profile of the individual matches closely the reference signature for happiness, the computer may determine that the individual is experiencing the physiological state of happiness.
It is also possible for the computer to use other data of the individual to assist in the analysis. For example, the individual may also be wearing an accelerometer, and the computer may receive information about the motion of the individual from the accelerometer. If the computer determines that the individual is in a state of running based on the accelerometer data, and the electro-dermal activity profile of the individual matches that of the reference signature for fear or anxiety, the computer may determine that the individual is not actually experiencing fear, but rather is just sweating due to running.
In the example of fitness measurements discussed above, the processing of the computer is relatively straightforward. In this case, the computer must only store one data-point per sensor, such as a heart rate, and this data is then downloaded to a phone or personal computer for analysis. In the case of monitoring of physiological states the current measured profile of the individual is compared with various pre-stored reference signatures that correspond to physiological states.
However, there are several disadvantages of this physiological analysis system. For example, due to the memory and processing power limitations of related art wearable computer technology for implementing the physiological analysis, there is a limit to the scalability of the system. That is, the memory and processing power of a related art wearable device may only hold and analyze a limited number of physiological data points.
There is also a disadvantage in that the computing limitations of the wearable computer technology also limits the ability to provide real-time physiological state analysis of a group of people.
Exemplary embodiments employ a dynamic network of interconnected wearable sensors and non-wearable sensors distributed in a smart environment across a variety of distributed locations, including homes and office buildings, to analyze changes in human physiology of people working and living throughout the smart environment, and predict or identify physiological and emotional conditions such as stress and depression. The sensors include a variety of different types of sensors, for example, touch, pressure, and vibration sensors (e.g., piezoelectric sensors, piezoresistive sensors and accelerometers), electro-dermal activity sensors, infrared, thermal and 3D cameras, that are distributed throughout the smart environment and provide continuous data. The continuous data is transmitted to a server, which may be a local server or web-based server, where the continuous data from the plurality of different types of data is correlated in order to predict and identify the physiological conditions. The sensor data may be personalized and the individuals localized and identified within the different locations, such that sensor data acquired from an individual across various locations may be correlated to identify personal physiological changes. Alternatively, or additionally, the physiological data from a plurality of different people may be correlated and used to identify and predict physiological conditions of a group of people, allowing for improved organizational development by identifying how particular environments affect groups of people, including how changes to the environment over time affect individual people and groups of people. The system may then automatically assess and recommend individual and group behavioral changes within an organization.
For example, people working in an office (or, for example, a distributed work environment) may be monitored via the distributed wearable and non-wearable sensors to identify physiological conditions, and the computer system may automatically determine whether a certain worker is depressed or overly stressed according to temporal changes in the physiological data of the individual across various locations. In another example, people in an elderly care center may be monitored to identify automatically how changes in the environment affect their mood, and an automatic recommendation for changes to their environment may be made and implemented accordingly. In yet another example, the distributed network of wearable and non-wearable sensors may be used to identify how changes over time, for example, at home and/or in the office, affect different individuals or groups of individuals. The computerized system may use correlations to pinpoint specific activities of individuals or groups that have negative and/or positive effects. In yet another example, distributed wearable and non-wearable sensor data shared over the Internet may be used to identify how different environments (e.g. in home, in hospitals, in restaurants, etc.) affect individuals and/or groups of people based on, for example, a time of the year and/or geographical location.
In some exemplary embodiments, one or more of the plurality of sensors 10 may be provided as part of a wearable computing device. For example, the head sensor 10-11 may be provided as part of a wearable computer implemented as glasses. In some exemplary embodiments, one or more of the plurality of sensors 10 may be provided as a fitness band. In some exemplary embodiments, one or more of the plurality of sensors 10 may be provided as part of one or more pieces of clothing. For example, the head sensor 10-11 may be provided as part of a headband. Similarly, the arm sensors 10-1, 10-2, the body sensor 10-5 and the waist sensor 10-6 may be implemented in a sensor jacket, or as part of an undergarment. In some exemplary embodiments, one or more sensors 10 may be attached directly to the skin of the person P, or may be embedded in the skin of the person P. In some exemplary embodiments, one or more of the sensors 10 may be implemented as a medical device. For example, one of the arm sensors 10-1, 10-2 may be implemented as a blood pressure monitor device. In such a case, the arm sensor 10-1 or 10-2 may include a pressure band for applying pressure to the arm to take a blood pressure of the person P.
The plurality of sensors 10 may include, without limitation, one or more of an infra-red or visual camera sensor, a thermal sensor, a pressure sensor, a vibration sensor, an accelerometer, a piezoelectric sensor, a piezoresistive sensor, a walking gait sensor, a pedometer, a blood sugar sensor, an electro-dermal (i.e., skin conductance) sensor, a heart beat sensor, a body temperature sensor, a heart rate sensor, a blood pressure sensor, a weight sensor, etc.
In some exemplary embodiments, an individual sensor of the plurality of sensors 10 may sense only one type of physiological data. For example, a heart rate sensor may sense only a heart rate of the person P. In other exemplary embodiments, an individual sensor of the plurality of sensors 10 may sense more than one type of physiological data. For example, a heart rate sensor may sense a heart rate and an electro-dermal conductance of the person. As another example, a blood pressure sensor may also sense a heart rate, heart rate variability and/or an electro-dermal conductance of the person P. As another example, a heart rate sensor may sense a heart rate and a body temperature of the person P. One of ordinary skill in the art will understand that the above sensors 10 are only examples, and any sensor that may be used to measure a physiological parameter of the person P may be implemented and is included in the scope of the plurality of sensors. The sensors 10 may also sense the type of physiological data at intervals over a period of time. For example, a sensor 10 may sense a heart rate every 1, 5 or 10 seconds, or every 1, 5, or 10 minutes over a period of minutes, days, weeks or months. The sensor 10 may thus track the physiological data over time, producing a physiological data set for the type of physiological data being sensed, or for the types of physiological data being sensed.
The sensor unit 15 is the portion of the sensor that attaches to the person P, and is typically different for each type of sensor. Thus, the sensor unit 15 in the case of a camera sensor is the camera lens and CCD. The sensor unit 15 for an electro-dermal sensor is the contact that is attached to the skin through which the skin conductance is measured. The sensor unit 15 for a blood pressure sensor may be the electrode that listens to the blood vessel. The sensor unit 15 for a thermal sensor may be a thermistor.
The driver circuit 20 may control the operation of the sensor 10. The driver circuit 20 receives as an input the output of the sensor unit 15 and amplifies, filters, and encodes the signal to drive the antenna 35. The driver circuit 20 may include one or more microprocessors or microcontrollers. The driver circuit 20 may also include RAM for temporary storage of the signal from the sensor unit 15 during amplification, filtering, and encoding prior to supply to the antenna 35. In some exemplary embodiments, the driver circuit 20 may receive and send raw unprocessed data over the antenna 35. In other exemplary embodiments, the driver circuit 20 may perform pre-processing on the raw physiological data. The pre-processing may include, for example, aggregating data, filtering data, time-stamping data, etc. In some exemplary embodiments, the sensor 10 may be provided with location information 33 indicating a location of the sensor 10 on the person P. The location information 33 may be descriptive (e.g., “left wrist”) or may be include an identifier indicating the location (e.g., ID001==left wrist). In some exemplary embodiments, the location information 33 may comprise an identity of the person P on which the sensor 10 is provided. In some exemplary embodiments, the driver circuit 20 may add the location information 33 to the raw physiological data or the pre-processed physiological data prior to transmission.
The antenna 35 may be, for example, a near field communication (NFC) antenna, a Bluetooth antenna, or other close proximity communication antenna for transmitting to the sensor computer 50, or may be a radio frequency (RF) antenna for transmitting data directly to a local server located a longer distance from the person P. The local server will be described later.
In some exemplary embodiments, the sensor 10 may include a storage 25 such as a hard drive or non-volatile memory for longer-term storage of data from the sensor unit 15. In some exemplary embodiments, the sensor 10 may include an actuator 30. For example, in the case the sensor 10 is a blood pressure monitor, the sensor 10 may include a pump as the actuator 30 in order to apply pressure to arm of the person P to take the blood pressure of the person P. As another example, in the case of a blood sugar sensor, the sensor 10 may include a needle and spring as the actuator 30 in order to pierce the skin of the person P to draw blood for measuring the blood sugar.
The microprocessor 75 may include one or more microprocessors and may control the whole operation of the sensor computer 50.
The first antenna 55 may receive a signal wirelessly from the antenna 35 of the sensor 10 of
The first communication circuit 60 may pass the signal received by the antenna 55 through the bus 80 to the storage 85 under control of the microprocessor 75. The sensor computer 50 may store the raw physiological data or the pre-processed physiological data from one or more sensors. The sensor computer 50 may store the data in association with the location information 33 provided in the signal.
In some exemplary embodiments, the sensor computer 50 may include a connector 72 for making a wired connection to another computer in order to upload the contents of the storage 85 to the computer. In some exemplary embodiments, the sensor computer 50 may include a second antenna 65 and a second communication circuit 70. The second antenna 65 and the second communication circuit 70 may operate according to a radio frequency (RF) or Wi-Fi communication format, and may be used in place of or in addition to the connector 72 in order to transmit the contents of the storage 85 to another computer, such as a local server, to be described later. In some exemplary embodiments, the sensor computer 50 may include a display 90 and/or an input/output (I/O device) 95. The display 90 may be used to display various data from one or more sensors. For example, the display 90 may display a blood pressure, a heart rate, or electro-dermal data of the person P, in order that the person P may check the data and/or otherwise use the data. The I/O device 95 may include various buttons for interfacing with the sensor computer 50 and may be used for basic management of the data from one or more sensors 10. For example, the I/O device 95 may be used to clear the storage 95 or perform diagnostics on the sensor computer 50 or one or more of the sensors 10.
In operation, in some exemplary embodiments, the sensor computer 50 may be used with a single sensor of the plurality of sensors 10. For example, the sensor computer 50 may be used in conjunction with a blood pressure sensor in order to provide more processing power for driving the actuator 30 of that sensor. In other exemplary embodiments, the sensor computer 50 may be used with a plurality of sensor 10 on the person P. In this case, the sensor computer 50 provides centralized storage of the raw or pre-processed physiological data from the plurality of sensors 10. In exemplary embodiments in which the plurality of sensors 10 use NFC or other short-distance communication, the sensor computer 50 may also operate as a repeater in order to send the raw or pre-processed data real-time to a local server as will be described later.
The non-wearable sensor configuration includes a plurality of non-wearable sensors including the plurality of room sensors 310, the plurality of chair sensors 510 and the plurality of table sensors 330. The plurality of room sensors 310 include wall sensors 310-1, 310-3, 310-4, and 310-5, and corner sensors 310-2. The plurality of table sensors 330 include corner sensors 330-1, 330-2, 330-3 and table top sensors 330-5. In some exemplary embodiments, table sensors 330 may also be placed along the edges of the table or under the table. Although not illustrated, the non-wearable sensors may also include sensors provided on lighting fixtures and/or sensors provided in domes on the ceiling of the meeting room.
The wall sensor 310-4 may include a camera to image the board 340. The board 340 may be a blackboard or a white board, and may be electronic. The sensor 310-5 may include a camera that images the board 340 and/or a printer that can produce a physical copy of what is on the board 340.
The non-wearable sensors may each include one or more of a camera sensor, a thermal sensor, an infrared sensor, a proximity sensor, a pressure sensor, electrodermal activity sensor, vibration sensor, and a motion sensor.
The hardware configuration of the non-wearable sensors may be similar to the sensor 10 shown in
The non-wearable sensors 330 may each include one or more of a camera sensor, a thermal sensor, an infrared sensor, a proximity sensor, an electrodermal activity sensor, a vibration sensor, a pressure sensor, and a motion sensor.
The hardware configuration of the non-wearable sensors 330 may be similar to the sensor 10 shown in
In operation, the table sensor 330-5a may sense the pressure of the arm of person P1 resting on the table with light pressure, whereas the table sensor 330-5b may sense the elbows of the person P2 pressing into the table with hard pressure. As an example, in case of an amount of pressure change per unit time is lower than a threshold value, the computer may determine that a person is more likely to be in a position tending to indicate a relaxed listening state or a peaceful state. On the other hand, in case of an amount of pressure change per unit time is equal to or greater than the threshold value, the computer may determine that a person is more likely to be in a position tending to indicate an active discussion state or an agitated state. That is, a computer may analyze the pressure data from pressure sensor 330-5a as one data point tending to indicate that person P1 is in a relaxed listening state or a peaceful state. On the other hand, the computer may analyze the pressure data from pressure sensor 330-5b as one data point tending to indicate that person P2 is in an active discussion state, or an agitated state. It should be noted that data point as described here may include multiple data samples over a short period of time, for example, if multiple samples from the pressure sensor 330-5b indicate that the pressure exerted by P2 has not changed for a period of 5 minutes, or alternatively, has been changing every 10 seconds for the last 7 minutes. It should also be noted at this point that in some cases the computer may not be able to determine with high probability from the single data point whether person P1 is actually relaxing, sleeping, or listening. Similarly, the computer may not be able to determine with high probability from the single data point whether person P2 is actually agitated, angry, actively engaged, or simply listening intently. In these cases, the computer may sense additional data from other sensors in order to increase the probability of an accurate determination.
The chair 500 also includes a plurality of sensors 510 placed throughout the chair. The non-wearable sensor configuration includes the plurality of sensors 510. For example, the seat 505 may include sensors 510-1 and 510-2, armrests 530 may each include sensors 510-4, 510-5, 510-6, the headrest 520 may include sensor 510-7, the backrest 515 may include sensors 510-8, 510-9, the adjustment mechanism 525 may include sensor 510-10, the pedestal 540 may include sensor 510-11, and the base 545 may include sensor 510-12. However, this is only an example, and the number of the sensors may be greater or fewer than those shown in
The non-wearable sensors may each include one or more of a camera sensor, a thermal sensor, an infrared sensor, a proximity sensor, a pressure sensor, a vibration sensor, an electrodermal activity sensor and a motion sensor.
The hardware configuration of the non-wearable sensors may be similar to the sensor 10 shown in
As with the wearable sensor discussed above, in some exemplary embodiments, an individual sensor of the plurality of sensors 310, 330, 510 may sense only one type of physiological data. For example, a visual camera sensor may sense only a visual image. As another example, a pressure sensor may sense only pressure. In other exemplary embodiments, an individual sensor of the plurality of sensors 310, 330, 510 may sense more than one type of physiological data. For example, a camera sensor may sense a visual image and an infrared image. In another example, a camera sensor may sense a visual image and a thermal image of an individual or environment. As another example, a motion sensor may also sense motion and/or a thermal image As another example, a motion sensor may sense motion and audible data. As yet another example, a pressure sensor may sense pressure, audible data, and a heat. One of ordinary skill in the art will understand that the above sensors 310, 330, 510 are only examples, and any sensor that may be used to measure a physiological or environmental parameter may be implemented and is included in the scope of the plurality of non-wearable sensors. The sensors 310, 330, 510 may also sense the type of physiological data at intervals over a period of time. For example, a sensor 310, 330, 510 may sense a pressure every 5, 10, or 30 seconds, or every 1, 5, or 10 minutes over a period of minutes, days, weeks or months. The sensor 310, 330, 510 may thus track the physiological data over time, producing a physiological data set for the type of physiological data being sensed, or physiological data sets for the types of physiological data being sensed.
The non-wearable sensor configuration includes a plurality of non-wearable sensors including a plurality of sensors 710 provided throughout the floor 700.
The non-wearable sensors 710 may each include one or more of a camera sensor, a thermal sensor, an infrared sensor, a proximity sensor, a pressure sensor, vibration sensors and a motion sensor.
The hardware configuration of the non-wearable sensors 710 may be similar to the sensor 10 shown in
It will be understood by one of ordinary skill in the art that the rooms and room types included in the floor 700 are only examples, and any configurations of rooms may be used. For example, in some exemplary embodiments, the floor 700 may be a floor of a house, in which case the conference rooms 752, 753, 756, 760 may be understood as bedrooms, and the seminar room 770 may be understood as an entertainment room or living room, and the men's restroom 722 and women's restroom 724 may be combined into a bathroom, etc.
In operation, the local server 1210 receives physiological data from the plurality of sensors 1220-1, 1220-2, . . . , 1220-N located within the location 1200-1. The local server 1210 processes the physiological data and transmits the physiological data through network 1230 to remote server 1240. The remote server 1240 receives physiological data from local servers 1210 of other locations 1200-2, . . . , 1200-N, and processes and correlates the received physiological data.
The remote server 1630 may have a hardware configuration of the server shown in
Local server receives the data on A, B, C, and D from sensors 2310. Based on the heart rate data from A, B, C, and D, local server determines that A is in a state of stress between time t1 and t2, because only A's heart rate was elevated whereas the heart rates of B, C, and D remain unchanged. Local server then provides a recommendation that A needs to learn to relax more.
Assuming the same situation as in
Assuming the same situation as in
This example is similar to Example 3. However, the local server tracks A and determines that over the last 5 days, A has had an average heart rate of 90 bpm. That is, unlike the data shown in
This example is also similar to Example 3. However, in this example, the local server determines that A is sitting in the posture of
A, B, C, and D are all individuals in a single group, e.g., a single department within a company. Using similar sensor data and temporal analysis described above with reference to
This example is similar to example 6. Assuming that A, B and C are all individuals in a single group, and HR, electrodermal activity and weight has analysed during a period of one year. While the data from A and B remain unchanged, the analysis shows that during the last month A has been showing high levels of stress and negative emotions, as a result of large changes in HR and electrodermal activity, while is also gaining significant amounts of weight. The system predicts that at this rate A will suffer of depression or other stress-related condition, and provide recommendations to avoid it from happening.
The above-described exemplary embodiments may be implemented using hardware components and/or software components. For example, the hardware components may include microphones, sensors, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more general-purpose computers or one or more special purpose computers, such as, for example, a processor, a controller, a central processing unit (CPU), an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable gate array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciate that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such a parallel processors.
The software may include a computer program, a piece of code, an instruction, or some combination thereof, for independently or collectively instructing or configuring the processing device to operate. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. In particular, the software and data may be stored by one or more computer readable recording mediums.
Methods according to one or more of the above-described exemplary embodiments may be recorded, stored, or fixed in one or more non-transitory computer-readable media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed, or the program instructions may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa.
While certain exemplary embodiments have been particularly shown and described with reference to the accompanying drawings, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the following claims. It is therefore desired that the exemplary embodiments be considered in all respects as illustrative and not restrictive, reference being made to the appended claims rather than the foregoing description to indicate the scope of the inventive concept.