Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
APPAREL FACTORY SEWING MACHINES MONITORING SYSTEM
Document Type and Number:
WIPO Patent Application WO/2021/181237
Kind Code:
A1
Abstract:
Aspects of the present invention are directed to an apparel factory sewing machines monitoring system. In one embodiment, a monitoring device associated with a machine (e.g., sewing machine) determines that the machine is powered on and is available to be operated. Upon detecting the occurrence of a first event (e.g., needle movement start) and a second event (e.g., needle movement stop) associated with that the machine, where the first event and the second event respectively indicates the start and end of productive operation of the machine, the monitoring device measures a productive time (e.g., when the sewing machine is running) as the difference in the time instances of the first event and the second event. In one embodiment, the monitoring device is an electric power consumption monitoring device which detects the first and second events by monitoring the change in electric power consumption of the machine.

Inventors:
RAGHUWANSHI SANDEEP (IN)
Application Number:
PCT/IB2021/051894
Publication Date:
September 16, 2021
Filing Date:
March 07, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RAGHUWANSHI SANDEEP (IN)
International Classes:
G05B21/02; D05B19/12; G05B23/02; G06Q50/04
Foreign References:
CN110241517A2019-09-17
CN109629121A2019-04-16
US20140257916A12014-09-11
Attorney, Agent or Firm:
SAHOO, Lipika (IN)
Download PDF:
Claims:
CLAIMS

I/WE CLAIM:

1. A method of monitoring machines, the method being performed in a monitoring device associated with a machine, the method comprising: determining that the machine is powered on and is available to be operated; detecting the occurrence of a first event and a second event associated with that the machine, wherein the first event and the second event respectively indicates the start and end of productive operation of the machine; and measuring a productive time as the difference in the time instances of the first event and the second event.

2. The method of claim 1, wherein the machine is a sewing machine, wherein the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is running.

3. The method of claim 2, wherein the monitoring device is an electric power consumption monitoring device, wherein the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

4. The method of claim 3, wherein the electric power consumption monitoring device is fitted between a power source and the machine.

5. The method of claim 1, further comprising: measuring an available time when the machine is powered on; and calculating an efficiency of operation of the machine as the ratio of the productive time and the available time. 6. The method of claim 1, further comprising: determining, at a first time instance, that the machine is idle when the machine is powered-on and not being operated productively for a pre-defined duration; and identifying the absence of an operator at the machine in view of determining the machine is idle.

7. The method of claim 6, further comprising: providing to the operator, a plurality of reasons for the machine to be idle; and enabling the operator to select one or more reasons of the plurality of reasons for the machine to be idle at the first time instance.

8. The method of claim 7, further comprising: determining an expected behavior of the operator based on monitoring of the machine over a long duration; and generating alerts and recommendations to the operator upon determination of any deviation from the expected behavior.

9. A method of monitoring machines, the method being performed in a computing device, the method comprising: collecting, from each monitoring device associated with a corresponding machine of a plurality of machines, the time instances of occurrence of a first event and a second event associated with the corresponding machine, wherein the first event and the second event respectively indicates the start and end of productive operation of the corresponding machine; measuring a productive time as the difference in the time instances of the first event and the second event for the corresponding machine and an available time when the corresponding machine is powered on; calculating an efficiency of operation of each machine of the plurality of machines as the ratio of the productive time for the machine and the available time for the machine; and generating an aggregated data based on the efficiency of operation of the plurality of machines.

10. The method of claim 9, wherein each machine of the plurality of machines is a sewing machine, wherein the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is mnning.

11. The method of claim 10, wherein the monitoring device is an electric power consumption monitoring device, wherein the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

12. The method of claim 9, further comprising: performing statistical and mathematical calculations on the aggregated data to generates a range of derived metrics and parameters; and providing to a user, the range of derived metrics and parameters by way of one or more of graphs, charts, electronic messages and alerts.

13. The method of claim 10, wherein the aggregated data is generated based on combinations of one or more of apparel production plan, line manager or supervisor, factory or site, machine make or type or age, number of years of experience, hour of the day, weekday, week of month, month of year, and year.

14. The method of claim 9, wherein the collecting also collects information on the operator at each of the plurality of machines, further comprising: maintaining a historical data indicating the efficiency of operation of each operator at different machines of the plurality of machines; creating a skill matrix for each operator based on historical data, wherein the skill matrix specifies the efficiency of operation of the operator with respect to different types of machines in the plurality of machines; and providing recommendations on which operators should be staffed at different machines of the plurality of machines based on the skill matrix.

15. The method of claim 14, further comprising generating ratings of different operators based on the skill matrix for use in performance and incentive management system.

16. The method of claim 14, further comprising: determining, based on historical data, a current pattern of performance of a specific operator in a current duration; comparing the current pattern of performance with a past pattern of performance of the specific operator in a past duration; and forecasting a future pattern of performance of the specific operator for a future duration.

17. A system comprising: a plurality of machines; a plurality of monitoring devices, wherein each monitoring device is associated with a corresponding machine of the plurality of machines, each monitoring device performing the actions of: determining that the associated machine is powered on and is available to be operated; detecting the occurrence of a first event and a second event associated with that the machine, wherein the first event and the second event respectively indicates the start and end of productive operation of the machine; and measuring a productive time as the difference in the time instances of the first event and the second event and an available time when the associated machine is powered on; and a computing device to perform the actions of: collecting from each monitoring device, the productive time and the available time corresponding to the associated machine; calculating an efficiency of operation of each machine of the plurality of machines as the ratio of the productive time for the machine and the available time for the machine; and generating an aggregated data based on the efficiency of operation of the plurality of machines.

18. The system of claim 17, wherein each machine of the plurality of machines is a sewing machine, wherein the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is running.

19. The system of claim 18, wherein the monitoring device is an electric power consumption monitoring device, wherein the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

Description:
APPAREL FACTORY SEWING MACHINES MONITORING SYSTEM

BACKGROUND OF THE INVENTION [001] Technical Field

[002] The present disclosure relates to computing systems and more specifically to apparel factory sewing machines monitoring system.

[003] Related Art

[004] The textile and apparel industry has two major segments: (i) the production of textiles and fabric from raw materials and (ii) the transformation of these fabrics into clothing and other accessories. The textile section of the industry involves taking raw material, converting that material to yarn, and then dyeing and finishing the fabric made from the yam. The apparel section of the industry consists of cutting fabrics and other materials and sewing them together to create apparel or accessories using sewing machines.

[005] Aspects of the present invention are directed to the apparel section of the industry, in particular, to an apparel factory sewing machines monitoring system.

SUMMARY OF THE INVENTION

[006] Aspects of the present invention are directed to an apparel factory sewing machines monitoring system. In one embodiment, a monitoring device associated with a machine determines that that the machine is powered on and is available to be operated. Upon detecting the occurrence of a first event and a second event associated with that the machine, where the first event and the second event respectively indicates the start and end of productive operation of the machine, the monitoring device measures a productive time as the difference in the time instances of the first event and the second event.

[007] According to another aspect of the present disclosure, the machine is a sewing machine, the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is running.

[008] According to one more aspect of the present disclosure, the monitoring device is an electric power consumption monitoring device, wherein the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine. In one embodiment, the electric power consumption monitoring device is fitted between a power source and the machine.

[009] According to yet another aspect of the present disclosure, the monitoring device also measures an available time when the machine is powered on and then calculates an efficiency of operation of the machine as the ratio of the productive time and the available time.

[010] According to an aspect of the present disclosure, the monitoring device determines, at a first time instance, that the machine is idle when the machine is powered-on and not being operated productively for a pre-defined duration and accordingly identifies the absence of an operator at the machine in view of determining the machine is idle.

[011] According to another aspect of the present disclosure, the monitoring device provides to the operator, a plurality of reasons for the machine to be idle and enables the operator to select one or more reasons of the plurality of reasons for the machine to be idle at the first time instance.

[012] According to one more aspect of the present disclosure, the monitoring device determines an expected behavior of the operator based on monitoring of the machine over a long duration and generates alerts and recommendations to the operator upon determination of any deviation from the expected behavior.

[013] According to an aspect of the present disclosure, a computing device (such as a server system) collects, from each monitoring device associated with a corresponding machine of a plurality of machines, the time instances of occurrence of a first event and a second event associated with the corresponding machine, where the first event and the second event respectively indicates the start and end of productive operation of the corresponding machine. The computing device then measures a productive time as the difference in the time instances of the first event and the second event for the corresponding machine and an available time when the corresponding machine is powered on. The computing device calculates an efficiency of operation of each machine of the plurality of machines as the ratio of the productive time for the machine and the available time for the machine and generates an aggregated data based on the efficiency of operation of the plurality of machines.

[014] According to another aspect of the present disclosure, each machine of the plurality of machines is a sewing machine, the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is running. Each monitoring device is an electric power consumption monitoring device, where the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

[015] According to one more aspect of the present disclosure, the computing device performs statistical and mathematical calculations on the aggregated data to generates a range of derived metrics and parameters and provides to a user, the range of derived metrics and parameters by way of one or more of graphs, charts, electronic messages and alerts.

[016] According to yet another aspect of the present disclosure, the aggregated data is generated based on combinations of one or more of apparel production plan, line manager or supervisor, factory or site, machine make or type or age, number of years of experience, hour of the day, weekday, week of month, month of year, and year.

[017] According to an aspect of the present disclosure, the computing device also collects information on the operator at each of the plurality of machines and maintains a historical data indicating the efficiency of operation of each operator at different machines of the plurality of machines. The computing system creates a skill matrix for each operator based on historical data, wherein the skill matrix specifies the efficiency of operation of the operator with respect to different types of machines in the plurality of machines. The computing system also provides recommendations on which operators should be staffed at different machines of the plurality of machines based on the skill matrix.

[018] According to another aspect of the present disclosure, the computing device generates ratings of different operators based on the skill matrix for use in performance and incentive management system. [019] According to one more aspect of the present disclosure, the computing device determines, based on historical data, a current pattern of performance of a specific operator in a current duration, compares the current pattern of performance with a past pattern of performance of the specific operator in a past duration and forecasts a future pattern of performance of the specific operator for a future duration.

[020] According to an aspect of the present disclosure, a system (e.g., apparel factory sewing machines monitoring system) contains a plurality of machines and a plurality of monitoring devices, each monitoring device being associated with a corresponding machine of the plurality of machines. Each monitoring device performs the actions of determining that the associated machine is powered on and is available to be operated; detecting the occurrence of a first event and a second event associated with the machine, the first event and the second event respectively indicating the start and end of productive operation of the machine; and measuring a productive time as the difference in the time instances of the first event and the second event and an available time when the associated machine is powered on. The system also contains a computing device to perform the actions of collecting from each monitoring device, the productive time and the available time corresponding to the associated machine; calculating an efficiency of operation of each machine of the plurality of machines as the ratio of the productive time for the machine and the available time for the machine; and generating an aggregated data based on the efficiency of operation of the plurality of machines.

[021] According to another aspect of the present disclosure, each machine of the plurality of machines is a sewing machine, the first event is needle movement start and the second event is needle movement stop such that the productive time represents the time when the needle of the sewing machine is running. Each monitoring device is an electric power consumption monitoring device, where the detecting of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

[022] It may be appreciated that aspects of the present invention are targeted to assist Micro, Small and Medium-sized Enterprises (MSMEs) level apparel manufacturers to measure and monitor the work of individual employees (e.g., tailors) in the factory using an electric power consumption monitoring device. [023] Several aspects of the invention are described below with reference to examples for illustration. However, one skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific details or with other methods, components, materials and so forth. In other instances, well- known structures, materials, or operations are not shown in detail to avoid obscuring the features of the invention. Furthermore, the features/aspects described can be practiced in various combinations, though only some of the combinations are described herein for conciseness.

BRIEF DESCRIPTION OF THE DRAWINGS [024] Example embodiments of the present invention will be described with reference to the accompanying drawings briefly described below.

[025] FIG. 1 is a block diagram illustrating an example computing system in which various aspects of the present invention can be implemented.

[026] FIG.s 2A and 2B are flow charts illustrating the manner in which monitoring of productive time of machines is facilitated according to aspects of the present invention.

[027] FIG.s 3 A and 3B are flow charts illustrating the manner in which productive time of machines is collected and processed according to aspects of the present invention.

[028] FIG. 4A is a block diagram of a monitoring device in one embodiment. [029] FIG. 4B depicts the corresponding formats (with examples) of the packets sent between a monitoring device and a computing device (server system) in one embodiment.

[030] FIG. 4C depicts sample packets received by a computing device (server system) from multiple monitoring devices in one embodiment.

[031] FIG. 4D depicts a skill matrix created by a computing device (server system) in one embodiment. [032] FIG. 4E depicts a skill training table created by a computing device (server system) in one embodiment.

[033] FIG. 5 is a block diagram illustrating the details of a digital processing system in which various aspects of the present invention are operative by execution of appropriate execution modules.

[034] In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.

DETAILED DESCRIPTION OF THE INVENTION [035] It is to be understood that the present disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The present disclosure is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology herein is for the purpose of description and should not be regarded as limiting.

[036] The use of “including”, “comprising” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. Further, the use of terms “first”, “second”, and “third”, and the like, herein do not denote any order, quantity, or importance, but rather are used to distinguish one element from another.

[037] All documents cited in the present specification are hereby incorporated by reference in their totality. In particular, the teachings of all documents herein specifically referred to are incorporated by reference.

[038] 1. Example Environment

[039] FIG. 1 is a block diagram illustrating an example computing system (100) in which various aspects of the present invention can be implemented. The block diagram is shown containing machines llOa-llOc, monitoring devices 120a-120c, network 130, server system 150, cloud 160 (which in turn is shown containing a number of nodes such as node 170a and 170b), data store 180 and external system 190.

[040] Merely for illustration, only representative number/type of systems is shown in FIG. 1. Many computing systems often contain many more systems, both in number and type, depending on the purpose for which the computing system is designed. Each system/ device of FIG. 1 is described below in further detail.

[041] Network 130 provides connectivity between monitoring devices 120a-120c, server system 150, nodes of cloud 160 (such as node 170a/170b) and external system 190. Network 130 may represent Wireless/LAN networks implemented using protocols such as Transport Control Protocol/Internet Protocol (TCP/IP), or circuit switched network implemented using protocols such as GSM, CDMA, etc. as is well known in the relevant arts.

[042] In general, network 130 provides transport of packets, with each packet containing a source address (as assigned to the specific system from which the packet originates) and a destination address, equaling the specific address assigned to the specific system to which a packet is destined/targeted. The packets would generally contain the requests and responses between the monitoring devices 120a- 120c, server system 150, nodes of cloud 160 (such as node 170a/170b) and external system 190 as described in detail in the below sections. [043] Machines 110a- 110c represent physical machines designed to perform corresponding operations on raw material or partially/fully finished goods. Each machine is used by one or more users (referred to as “operators”) for the performance of the operations. Machines llOa-llOc may be located in a single premise/geographical location (e.g., a factory floor, a factory) or distributed across multiple premises/geographical locations. In one embodiment, each of machines 110a- 110c is a sewing machine located in one or more premises of an apparel manufacturer.

[044] Monitoring devices 120a- 120c, provided according to several aspects of the present invention, represent devices designed to monitor the productivity of machines 110a- 110c. Each monitoring device (e.g., 120b) is depicted associated with a corresponding machine (e.g., 110b), though in alternative embodiments, a single monitoring device can be used to monitor the productivity of multiple machines. The manner in which monitoring devices 120a- 120c is implemented in one embodiment is described in detail in below sections.

[045] Server system 150 represents a system, such as a web and/or application server, executing various software applications designed to perform one or more tasks (such as generating aggregated data, performing statistical and mathematical calculations on the aggregated data to generates a range of derived metrics and parameters). Server system 150 may perform the tasks using data maintained internally to server system 150, on external data (e.g., maintained in data store 180) or on data received as part of the requests (e.g., data received from monitoring devices 120a-120c). Server system 150 may also send the results of performance of the tasks to monitoring devices 120a- 120c or one or more nodes of cloud 160. Furthermore, server system 150 may maintain some of the received information (such as the data from monitoring devices 120a- 120c) and the result of performance of the tasks (such as aggregated data, derived metrics and parameters, etc.) in data store 180.

[046] Data store 180 represents a non-volatile storage, facilitating storage and retrieval of a collection of data by server system 150. Data store 180 may maintain information such as user data received from monitoring devices 120a-120c, aggregated data based on the data received, metrics and parameters derived from the aggregated data, etc. In one embodiment, data store 180 is implemented using relational database technologies where the data is maintained in the form of databases containing tables and columns and provides storage and retrieval of data using structured queries such as SQL (Structured Query Language), as is well known in the relevant arts. Alternatively, data store 180 may be implemented as a file server and store data in the form of one or more files organized in the form of a hierarchy of directories, as is well known in the relevant arts.

[047] Cloud 160 is a collection of nodes (such as node 170) that may include processing nodes, connectivity infrastructure, data storages, administration systems, etc., which are engineered to together host software applications. Cloud 16 may be provided on a public cloud infrastructure (such as Amazon Web Services (AWS) available from Amazon.com, Inc., Google Cloud Platform (GCP) available from Google LLC, etc.) that provides a virtual computing infrastructure for various customers, with the scale of such computing infrastmcture being specified often on demand. Alternatively, cloud 160 may be provided on an enterprise system (or a part thereof) on the premises of the customers. Cloud 160 may also be a "hybrid" infrastructure containing some nodes of a public cloud infrastructure and other nodes of an enterprise system.

[048] Some of the nodes of cloud 160 may be implemented as corresponding data stores similar to data store 180, while other nodes of the cloud 160 may be implemented as corresponding server systems, similar to server system 150. In one embodiment, node 170a is implemented as a server system (similar to server system 150) and node 170b is implemented as a data store (similar to data store 180). Aspects of the present invention described below with respect to server system 150 and data store 180 may be performed by nodes 170a and 170b in an alternative embodiment.

[049] External system 190 represents a system such as a personal computer, workstation, mobile phones (e.g., iPhone available from Apple Corporation), tablets, portable devices (also referred to as “smart” devices”) that operate with a generic operating system such as Android operating system available from Google Corporation, etc., that execute client applications such as factory management applications, buyers and customers applications, other stake holders’ applications, etc.

[050] In one embodiment, external system 190 is designed to enable an end-user to send client requests for desired tasks to server system 150 and to receive corresponding responses containing the results of performance of the requested tasks. For example, external system 190 may send client requests to server system 150 for generation of aggregated data, performing statistical and mathematical calculations on the aggregated data, and receive corresponding responses containing the results such as the generated aggregated, the derived metrics and parameters, etc. The results may then be provided to the end-user using appropriate user interfaces (e.g., web pages).

[051] It may be appreciated that in the following description, computing system 100 of FIG. 1 is assumed to be implemented in textile and apparel industry. However, one skilled in the art may appreciate that computing system 100 may be implemented in other industries/scenarios as well where productivity of machines is sought to be monitored/measured. For a better appreciation of the various aspects of the present invention, a brief description of apparel production process and the manner in which productivity/efficiency is measured in the production process is provided below.

[052] 2. Apparel Production Process

[053] Apparel production is typically viewed as containing multiple stages from design, fabric selection, conversion of fabric into clothing and retailing including additional intermediate steps. The most important stage is CMT (Cut, Make, Trim), during which apparels are manufactured by cutting the fabric and sewing the cut fabric into apparels for delivery (to a customer) in accordance with pre defined specifications.

[054] The apparel shop floor workflow typically involves several steps from cutting the fabric as per the design, bundling them for production process, sewing the fabrics into apparel, packing and dispatching. Among all steps of CMT operations, Sewing/Stitching is the most labor-intensive part of the process and constitutes the highest portion of the operating cost.

[055] Sewing/Stitching of an apparel/garment is commonly broken into multiple production steps each of which is performed by an operator specialized in that step. For example, the sewing of a ladies knitted top may be broken down into 13 production steps such as Whipper Elast. (Elasticate, attach lace and elastic to sleeves), Over Lock (Join two back seams), Over Lock Friller (Friller attach. Front yoke), etc. Each production step is associated with a corresponding name, a description and a Standard Allowed Minutes (SAMs) or Standard Minute Values (SMVs). The SAM for each production step is calculated either through time study of an efficient operator (performing the production step) or from historical knowledge. Machines are allocated as per the requirement of each production step and a theoretical workflow is created. Based on SAM of each production step, production capacity target for each production step (as well as the assembly line) are calculated.

[056] In apparel industry, the efficiency of operation is typically defined as the percentage of productive time spent during the work time. The work time is generally referred to as "Clock Time" - or the time available for principal tasks during the working hours. This excludes the time lost during machine maintenance, break hours and other time not available with the operator for the principal work. Such loss time is commonly referred to as "Off Standard Time". During the Clock Time, the actual production time is invariably less than 100% due to general allowances including rest & fatigue, waiting time and other factors. [057] For efficient planning of operations and determine job costings, one of the most critical metrics is line and worker efficiency. Supervisors and managers maintain a formal or mental record of efficiency of each worker by the type of operation. This metric is used in multiple decisions including, but not limited to, planning the assembly line for maximum output, designing workflow steps, estimating the production capacity, setting targets and deciding on the payment and incentive structure.

[058] In one current approach to calculation of cost of production, identification tickets are generated for each finished garment as well as for every operation step. The tickets are collected and production data is entered into a paper or digital register. The efficiency is calculated as follows:

[059] Efficiency= (Number of pieces completed / Target No. of pieces) x 100 [060] Working Minute Cost:

[061] Working Minute Cost = (Total Operating Cost) ÷ (Total Clock Time)

[062] Total Clock Time = (Total work days x work minutes per day) - (Total Off the Clock time)

[063] Production Cost:

[064] Total Production Cost = SAM x (1 ÷ Efficiency) x Working Minute Cost [065] Thus, current approaches of calculating efficiency are based on actual production output compared with target output of efficient operations. Aspects of the present invention are directed to improving efficiency monitoring/tracking for apparel factory sewing machines as described below with examples.

[066] 3. General Flows

[067] FIG.s 2 A and 2B are flow charts illustrating the manner in which monitoring of productive time of machines is facilitated according to aspects of the present invention. The flowcharts are described with respect to FIG. 1 merely for illustration. However, various features can be implemented in other systems and/or other environments also without departing from the scope of various aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein.

[068] In addition, some of the steps may be performed in a different sequence than that depicted below, as suited in the specific environment, as will be apparent to one skilled in the relevant arts. Many of such implementations are contemplated to be covered by several aspects of the present invention.

[069] Referring to FIG. 2A, in step 201, monitoring device (assumed to be 120a for illustration) determine that a machine (to which the monitoring device is associated, here machine 110a) is powered on and is available to be operated. The determination may be performed in any convenient manner. In one embodiment, monitoring device 120a is an electric power consumption monitoring device (fitted between a power source and the machine) and as such the determination that machine 110a is powered on is performed by monitoring the change in electric power consumption of the machine.

[070] In step 202, monitoring device 120a detects the occurrence of a first event and a second event associated with the machine, where the first event and the second event respectively indicates the start and end of productive operation of the machine. In one embodiment, when machine 110a is a sewing machine, the first event is needle movement start and the second event is needle movement stop. When monitoring device 120a is an electric power consumption monitoring device (fitted between a power source and the machine), the detection of needle movement start and the needle movement stop is performed by monitoring the change in electric power consumption of the machine.

[071] In step 203, monitoring device 120a measures a productive time based on the time instances of the first and second events. In particular, the productive time in calculated as the difference in the time instances of (occurrence) the first event and the second event. In the above noted embodiment, the productive time represents the time when the needle of the sewing machine is running.

[072] In step 204, monitoring device 120a measures an available time when the machine is powered on. The available time may be calculated as the difference between the current time instance and the time instance at which machine 110a was determined to be powered on. In addition, available time may be calculated similar to work time noted above taking into consideration the time lost during machine maintenance, break hours and other time not available with the operator for the principal work.

[073] In step 205, monitoring device 120a calculates an efficiency of operation of the machine as the ratio of the productive time and the available time. It may be appreciated that the efficiency of operation is calculated based on the monitoring of the operation of machine 110a and does not require any identification tickets, SAMs, etc. noted above in the current approach to calculating efficiency.

[074] It may be appreciated that monitoring device 120a may perform the step of detecting (202) at multiple time instances (for example, in a day) based on the operation of the machine by the operator. In response to each such detecting at a corresponding time instance, monitoring device 120a also performs the steps of measuring the productive time (203), measuring the available time (204) and calculating the efficiency of operation (205). All of the measured and calculated values may be stored in a local memory (within monitoring device 120a) for later processing.

[075] Thus, aspects of the invention facilitate efficiency calculation by measuring the time when the sewing or stitching machine productively operates compared with the available time for the machine to operate. Machines productive time is calculated as the time when the needle of the sewing machine runs, which is typically achieved by operator pushing a pedal by foot or hand. The available time for a machine is when the machine is powered on and is available to be operated. [076] Monitoring devices may be set up for each machine (as shown in FIG. 1). Such a setup allows flexibility of installation in small setups and large setups alike. Data being collected by each monitoring device (such as 110a) includes, but is not limited to Machine power start/on, Machine power stop/off, Needle movement start, Needle movement stop. Each monitoring device may provide additional features based on the data collected as described below with examples. [077] Referring to Figure 2B, in step 221, monitoring device 120a determines that the machine (110a) is idle at a first time instance when the machine is powered-on and not being operated productively for a pre-defined duration. For example, monitoring device 120a may determine that machine 110a is idle if it determines that the machine is powered on (based on Machine power start/on) and that Needle movement start has not occurred for more than 15 minutes (pre defined duration, that may be appropriately configured).

[078] In step 222, monitoring device 120a identifies the absence of an operator at the machine 110a at the first time instance in view of determining the machine is idle in the above step. Monitoring device 120a may store the details of absences of the operator in a memory/storage.

[079] In step 223, monitoring device 120a provides to the operator, reasons for the machine to be idle. The reasons may be provided in any convenient form, for example, as a set of options displayed on a display unit associated with monitoring device 120a. The reasons may be provided/displayed at a later time instance when the operator is determined to be present again at the machine, for example, after the operator has performed an action at the machine (110a).

[080] In step 224, monitoring device 120a enables the operator to select one or more reasons (of the provided reasons) for the machine to be idle at the first time instance. In the example noted above, the operator may select one or more options from the displayed set of options using appropriate input methods (such as touch screen, mouse, buttons, etc.) The selected reasons may be stored by monitoring device 120a or forwarded to a computing device (such as server system 15) for later analysis.

[081] In step 225, monitoring device 120a determines an expected behavior of the operator based on monitoring of the machine over a long duration (e.g., days, weeks, months). The expected behavior may indicate a pattern of working and absences of the operator. For example, the expected behavior may indicate that the operator has a habit of taking an absence at a regular time every working day due to the operator taking a coffee break or that the operator has a pattern of being more productive (higher productive time) in the morning session in comparison to the afternoon session.

[082] In step 226, monitoring device 120a identifies a deviation from the expected behavior. In particular, monitoring device 120a monitors the operation of machine 110a for a current duration (e.g., hour, day), compares a current pattern of working and absences in the current duration with an expected pattern for the same duration as indicated by the expected behavior. Monitoring device 120a then identifies that a deviation exists if there is a mismatch between the current pattern and the expected pattern of the operator. For example, a current pattern may indicate that the operator has three absences from the machine during a specific hour window (say, from 10am to 11am), while the expected pattern indicates that the operator has generally taken only one absence for the same hour window as per the determined expected behavior. Accordingly, monitoring device 120a may identify that a deviation exists from the expected behavior.

[083] In step 227, monitoring device 120a generates alerts and recommendations to the operator upon determination of any deviation from the expected behavior. The alerts and recommendations may assist the operator to understand the details of the deviation and to take necessary actions to correct/avoid the deviation in the future. Alternatively, the operator may be facilitated to provide an explanation for the deviation.

[084] Thus, monitoring devices associated with the sewing machines provide several features of the present invention. If multiple machines are setup with monitoring systems, this allows for real time monitoring of the performance, eliminates administrative effort to convert production data into efficiency information, allows for aggregation of data according to several aspects of the present invention, as described below with examples.

[085] FIG.s 3A and 3B are flow charts illustrating the manner in which productive time of machines is collected and processed according to aspects of the present invention. The flowcharts are described with respect to FIG. 1 merely for illustration. However, various features can be implemented in other systems and/or other environments also without departing from the scope of various aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein.

[086] In addition, some of the steps may be performed in a different sequence than that depicted below, as suited in the specific environment, as will be apparent to one skilled in the relevant arts. Many of such implementations are contemplated to be covered by several aspects of the present invention.

[087] Referring to FIG. 3 A, in step 301, a computing device (assumed to be server system 150, for illustration) collects from multiple monitoring devices (120a- 120c), the time instances of occurrence of a first event and a second event associated with corresponding machines (110a- 110c), where the first event and the second event respectively indicates the start and end of productive operation of the machine.

[088] As noted above, in one embodiment, machines 110a- 110c are sewing machines, the first event is needle movement start and the second event is needle movement stop. Monitoring devices 120a- 120c are electric power consumption monitoring device (fitted between a power source and the machine) which perform the detection of needle movement start and the needle movement stop by monitoring the change in electric power consumption of the machine.

[089] In step 302, server system 150 measures a productive time based on the time instances and an available time when the machine is powered on. The productive time and available time are calculated as noted above in steps 203 and 204. The productive time represents the time when the needle of the sewing machine is running, while the available time represents the time when the machine is powered on and is available to be operated. [090] In step 303, server system 150 calculate an efficiency of operation of each machine. The calculation may be performed similar to that noted above in step 205 for each machine, that is, as the ratio of the productive time and the available time.

[091] In step 304, server system 150 generates an aggregated data based on the efficiency of operation of the multiple machines. The aggregated data may be generated based on combinations of one or more of apparel production plan, line manager or supervisor, factory or site, machine make or type or age, number of years of experience, hour of the day, weekday, week of month, month of year, and year. Server system 150 may maintain/store the generated aggregated data in data store 180 for further usage/analysis.

[092] As noted above, monitoring device 120a may perform the step of detecting (202) at multiple time instances (for example, in a day) based on the operation of the machine by the operator. Accordingly, server system 150 may perform collecting (301) of the first and second events at regular intervals and thereafter perform the measuring (302), calculating the efficiency of operation (303), and generating the aggregated data (304) for each of the collected first and second events.

[093] Thus, the monitored data from multiple monitoring devices is collected and used as the basis for providing different aggregations of the data. In addition to those noted above, it may be appreciated that the calculated efficiency of operation of individual machines may also be used to calculate efficiency by production batch, by supervisor or line manager, by factory, by days of week, by hour of day and many more combinations.

[094] Additional data derived based on the collected data may include, without limitation, Factory Operations Monitoring, Daily Man-Machine Status, Shift and break time punctuality, overtime and variance, Clock Time, Off Standard Time, and Line Efficiency. Server system 150 may provide additional features based on the data collected as described below with examples.

[095] Referring to Figure 3B, in step 321, server system 150 generates a range of derived metrics and parameters based on the collected data. In particular, server system 150 performs statistical and mathematical calculations on the aggregated data to generates the range of derived metrics and parameters. Examples of such derived metrics/parameters include, without limitation, complexity score of a particular operation compared to all other operations, injury rates of operators to alert preventive or training measures, projected maintenance cost of machines for 'repair or replace' decision of machine, time loss due to "No Feeding" of input material to identify inter departmental coordination, and A/B testing of training method efficacy.

[096] Server system 150 may maintain/store the generated range of derived metrics and parameters in data store 180 for further usage/analysis. In one embodiment, such generation of derived metrics/parameters is performed by server system 150 in response to a request from external system 190.

[097] In step 322, server system 150 provides to a user, the range of derived metrics and parameters by way of one or more of graphs, charts, electronic messages and alerts. For example, the derived metrics/parameters may be displayed on a display unit associated with server system 150. In the above noted embodiment when a request is received from external system 150, server system 150 sends the range of derived metrics and parameters as a response to the request to external system 190, which in turn displays the derived metrics/parameters on a display unit associated with external system 190.

[098] In step 323, server system 150 maintains a historical data indicating the efficiency of operation of each operator at different machines. In one embodiment, server system 150 collects information on the operator at each of the plurality of machines from the monitoring devices, calculates the efficiency of operation of each operator based on the data collected from monitoring devices and stores the calculated efficiency associated with the operators as historical data. The historical data may be maintained/stored in data store 180.

[099] In step 324, server system 150 creates a skill matrix for each operator based on historical data. The skill matrix specifies the efficiency of operation of each operator with respect to different types of machines in the plurality of machines. In other words, the skill matrix indicates the level of skill/competency of each operator to operate a specific machine.

[0100] In step 325, server system 150 provides recommendations for operators based on the skill matrix. In particular, the recommendations indicate which operators should be staffed at different machines of the plurality of machines. These skill matrix charts can be used for automated recommendations on which workers/operators should be staffed in production line of a particular apparel manufacturing.

[0101] In step 326, server system 150 generate ratings of different operators based on the skill matrix. The generated ratings may be used in performance and incentive management system.

[0102] In step 327, server system 150 forecasts a future pattern of performance of operators for a future duration. In one embodiment, server system 150 determines, based on the historical data noted above, a current pattern of performance of a specific operator in a current duration and then compares the current pattern of performance with a past pattern of performance of the specific operator in a past duration. Such comparison may form the basis for forecasting the future pattern of performance of the specific operator.

[0103] Thus, the various aspects of the present invention are direct to measuring an apparel manufacturing factory's sewing machines' productive operation by monitoring the change in electric power consumption of each machine during power on and operation start or operation stop. The monitoring device to monitor the electric power consumption patterns is fitted between the power source and the machine. The monitoring device (120a) could be boxed in an external cabinet or can be housed inside the sewing machine's cabinet.

[0104] The change of electric power consumption during power switch on and/or due to operation of the machine is measured and is sent to a computing device (server system 150) through wired or wireless, local area network or a wide area network technology. Server system 150 then perform statistical and mathematical calculations on the data and generate a range of derived metrics and parameters, which are then provided to different users.

[0105] Such an implementation facilitates the remote monitoring of individual or aggregated performance data from any location in the world. In a preferred embodiment, monitoring devices are deployed along with each sewing machine in the factory and handheld devices are provided to supervisors and line managers to input supplementary information. Senior managers and remote advisors are provided with analytical dashboards, alerts and other ways to monitor performance and make decisions.

[0106] The manner in which an apparel factory sewing machines monitoring system according to the operations of FIG.s 2A-2B and 3A-3B may be implemented is described below with examples.

[0107] 4. Example Implementation

[0108] FIG.s 4A-4E illustrate the manner in which an apparel factory sewing machines monitoring system in one embodiment. Each of the figures is described in detail below.

[0109] FIG. 4A is a block diagram of a monitoring device (120a, for illustration) in one embodiment. The block diagram is shown containing inbound power supply 410, power measurement 415, event generator 420, outbound power supply 425, inbound power storage 430, local memory 435, network interface 440, remote control 445 and processing unit 450. Each of the blocks is described in detail below.

[0110] Inbound power supply unit 410 receives power from a power source connected to monitoring device 120a and forwards the received power to power measurement 415. Inbound power supply unit 410 also diverts some of the received power to inbound power storage 430.

[0111] Power measurement 415 is designed to quantify the received power as a power value and forward the received power and the measured power value to event generator 420. Power measurement 415 also forwards the measured power value to processing unit 450 for processing/storage.

[0112] Event generator 420 determines whether an event such as Machine power start/on, Machine power stop/off, Needle movement start, Needle movement stop has occurred based on the change in the power value determined by power measurement 415. The change at a current time instance may be identified by comparing the power value at the current time instance with the power values measured at prior time instances (maintained internally by event generator 420). [0113] In one embodiment, event generator 420 determines that the event Machine power start/on has occurred if the current power value is greater than 0 and the power value at a preceding time instance (hereinafter “preceding power value”) was 0. Event generator 420 determines that the event Machine power stop/off has occurred has occurred if the current power value is 0 and the preceding power value was greater than 0. Event generator 420 determines that the event Needle movement start has occurred if the current power value is greater than the preceding power value by a pre-defined threshold (the increase in power indicating that the machine is being used to perform an operation). Event generator 420 determines that the event Needle movement stop has occurred if the current power value is less than the preceding power value by a pre-defined threshold (the decrease in power indicating that the operation is completed). Event generator 420 sends the determined event to processing unit 450.

[0114] Outbound power supply 425 provides the power received from the power source to the machine associated/connected with monitoring device 120a. Inbound power storage 430 provides power to the various components/blocks of monitoring device 120a such as processing unit 450. Inbound power storage 430 may store the power diverted by inbound power supply 410 in one or more batteries, as is well known in the relevant art.

[0115] Local memory 435 represents a storage that maintains data received from processing unit 450. Local memory 435 may be implemented as a volatile memory (e.g., RAM) or a non-volatile memory (e.g., ROM, hard disk) or by a suitable combination thereof.

[0116] Network interface 440 facilitates the various components/blocks of monitoring device 120a to communicate with other systems (such as server system 150) via network 130. Network interface 440 also facilitates remote system (connected to network 130) to access the data maintained/stored in local memory 435.

[0117] Remote control 445 receives commands from external systems (such as server system 150) via network interface 440 and performs the tasks associated with the received commands. The commands may be pre-defined, with remote control 445 containing the tasks associated with the pre-defined commands. Thus, remote control 445 facilitates external systems to remotely control the operation of monitoring device 120a.

[0118] Processing unit 450 receives the measured power values from power measurement 415 and the determined events from event generator 420, associates a time stamp (time instance) of receipt of the values/events and stores the received values and events and their associated time stamps in local memory 435. Processing unit 450 also forwards the values/events and associated time stamps to external systems (such as server system 150) via network interface 440.

[0119] Processing unit 450 also checks whether a pair of Needle movement start and Needle movement stop have occurred. If such a pair has occurred, processing unit calculates the productive time as the difference between the time stamps (time instances) of the pair and the available time as the difference between a current time instance and the time stamp/instance associated with a Machine power start/on event. Processing unit 450 also performs the steps of FIG. 2B as noted above.

[0120] The description is continued with the manner in which monitoring device 120a interacts with a computing device such as server system 150.

[0121] In one embodiment, each of monitoring devices 120a-120c is required to register itself with server system 150. A QR code for monitoring device and sewing machine is first generated. The details of the monitoring device as well as sewing machine are provided to server system 150 through a user interface to generate QR codes. After monitoring device 120a is powered ON, monitoring device QR is scanned and paired with the associated sewing machine’s QR code. The pairing can be done in any sequence. If network connection is made successfully, a commission success response is sent to server system 150 and an error is sent otherwise. Server system 150 is designed to verify the validity of the sent parameters and send a response indicating success/failure of registration of the monitoring device (here 120a). [0122] After successful registration, monitoring device 120a communicates with server system 150, either directly through APIs or via user applications, by exchanging proprietary packets. Monitoring device 120a receives the configuration parameters from server system 150, and the parameters received are stored in the local memory (435) of the monitoring device till it gets reconfigured again by the server system. The live data from the factory environment (such as the machine parameters, operator generated events, etc.) are sent to the server URL by the monitoring device.

[0123] FIG. 4B depicts the corresponding formats (with examples) of the packets sent between a monitoring device and a computing device (server system) in one embodiment. Table 460 depicts the packet/packet type and the corresponding format and examples. A Power On packet is sent to server system 150 on first powering up of monitoring device 120a. A Keep Alive packet is sent periodically by monitoring device 120a to server system 150 to give an indication of the machine being in powered ON status even if it is not being utilized. If this packet is not received by server system 150, it is an indication of power being switched off, or power failure, or network communication issues, or error in the monitoring device.

[0124] A Needle Start Time packet is sent by monitoring device 120a to server system 150 to provide the machine needle start time of the machine (110a). A Needle End Time packet is sent monitoring device 120a to server system 150 to provide the machine needle stop time of the machine (110a).

[0125] A Needle Replacement packet is sent when there is a necessity of replacing a sewing needle, for example, when the operator presses a designated key provided on the machine/monitoring device. A Maintenance request packet is sent when there is a necessity of machine breakdown maintenance, for example, when the operator presses a designated key for maintenance provided on the machine/monitoring device. A No Input packet is sent if the operator is sitting idle because she/he is waiting for input material to work upon. The packet is sent only upon the operator pressing a designated key provided on the machine/monitoring device. [0126] Thus, each monitoring device sends various types of packets to server system 150. Server system 150 may receive similar packets from different monitoring devices and maintain the received packets in data store 180. Some sample packets received by server system 150 are described below.

[0127] FIG. 4C depicts sample packets received by a computing device (server system) from multiple monitoring devices in one embodiment. Table 465a depicts sample Needle Utilization packets received by server system 150 from different monitoring devices (120a-120c). Table 465b depicts sample operator event packets (such as Needle Replacement, Maintenance, No Input) received by server system 150 from different monitoring devices (120a-120c). Table 465b depicts sample Power On packets received by server system 150 from different monitoring devices (120a-120c). Similarly, server system 150 also receives (and maintains) packets of other types from multiple monitoring devices.

[0128] Server system 150 in response to receiving the packets of FIG. 4C performs the steps of measuring productive time and available time and calculating the efficiency of operation for each machine. Server system 150 also maintains a historical data indicating the efficiency of operation of each operator at different machines.

[0129] Server system 150 also creates a skill matrix for each operator based on historical data. As is well known, a skill matrix (also known by various names such as competency matrix, skill inventory, skill database etc.), is a record of operator’s past performances on various operations. These records are regularly required to be referenced for various decisions such as identification of the most suitable operator for a particular operation, determination of replacement during absenteeism or attrition, identification of training requirements and deciding on compensation or incentives. Traditionally in a skill matrix, the operator’s performance is recorded in form of output efficiency percentage. FIG. 4D depicts a skill matrix (table 470) created by a computing device (server system 150) in one embodiment.

[0130] It may be appreciated that the utility of skill matrix (table 470) is maximized if it is accurate and updated. The operators perform various types of operations that vary in their level of complexity. The performance is also affected by various externalities such as machine status, flow of material in the production line, and any form of disruption. This poses multiple challenges including capture of the data and filtering of anomalies and outliers.

[0131] Aspects of the present invention facilitate maintaining a skill matrix based on the needle utilization efficiency. The measurements are supplemented with information of the production plan enabling the tables to be updated automatically for various types of operations and their complexities. Automated calculations are performed to take into account various reasons for the needle idle time as captured by the monitoring devices. In addition, automated calculations are performed to take into account various factors outside the control of the operator such as any issues related to the machine, or having uneven availability of material from previous operators in the assembly line, etc. Accordingly, the utility of the skill matrix shown in table 470 is maximized.

[0132] Server system 150 may also provide utility in line balancing. A balanced line is one of the most fundamental productivity drivers in a garment factory. In a sewing line, production of the finished garment requires multiple individual operations to be performed, each of which takes a different amount of time. This requires preparing a production plan in order to maximize the production productivity and efficiency. The plan needs to be updated on a regular basis since the realized production often differs from the planning and factories also face a certain amount of absenteeism and attrition.

[0133] Aspects of the present invention allows for automated generation of the line plan based on the competency and efficiency requirement of each individual operation and matching those with the efficiency of available operators in such a manner that it maximizes production of the line.

[0134] Server system 150 may also assist in Skill Training. Each operation to be performed by an operator consists of a variable combination of various activities including but not limited to stitching, move materials and position them for stitching, sit idle due to various reasons, take breaks, have discussions with co workers, supervisors, quality control and other colleagues etc. [0135] Aspects of the present invention allows for identification of the specific intervention areas for skill training planning as well as continuous measurement of efficacy of training imparted by monitoring of the key metrics associated with each of the operation including needle efficiency, time intervals between consecutive stitching runs and ideal number of stitch runs to complete the operation. FIG. 4E depicts a skill training table (480) created by a computing device (server system 150) in one embodiment.

[0136] Server system 150 may also assist in operator grading and compensation. Traditionally, the compensation and incentive structure of machine operators is primarily linked with the number of output pieces generated and quality of the output. However, since the operators work in an assembly line where their output performance is dependent on various external factors also including the efficacy of assembly line planning, performance of the machine, availability of the machine for operations, and functioning of other operators before and after in the assembly line.

[0137] Aspects of the present invention allows for designing of an alternative compensation and incentivization method linked with the readings of the monitoring system and its derived metrics and thereby giving adequate weightage to the actual effort put in by the operator along with the output generated.

[0138] It should be appreciated that the above noted features can be implemented in various embodiments as a desired combination of one or more of hardware, execution modules and firmware. The description is continued with respect to one embodiment in which various features are operative when execution modules are executed.

[0139] 5. Digital Processing System

[0140] FIG. 5 is a block diagram illustrating the details of digital processing system 500 in which various aspects of the present invention are operative by execution of appropriate execution modules. Digital processing system 500 may correspond to any of monitoring devices 120a- 120c or server system 150.

[0141] Digital processing system 500 may contain one or more processors (such as a central processing unit (CPU) 501), random access memory (RAM) 502, secondary memory 503, graphics controller 506, display unit 507, network interface 508, and input interface 509. All the components except display unit 507 may communicate with each other over communication path 505 which may contain several buses as is well known in the relevant arts. The components of FIG. 5 are described below in further detail.

[0142] CPU 501 may execute instructions stored in RAM 502 to provide several features of the present invention. CPU 501 may contain multiple processing units, with each processing unit potentially being designed for a specific task. Alternatively, CPU 501 may contain only a single general-purpose processing unit. RAM 502 may receive instructions from secondary memory 503 using communication path 505.

[0143] Graphics controller 506 generates display signals (e.g., in RGB format) to display unit 507 based on data/instructions received from CPU 501. Display unit 507 contains a display screen to display the images defined by the display signals. Input interface 509 may correspond to a keyboard and a pointing device (e.g., touch-pad, mouse), which enable the various inputs to be provided.

[0144] Network interface 508 provides connectivity to a network (e.g., using Internet Protocol), and may be used to communicate with other connected systems. Network interface 508 may provide such connectivity over a wire (in the case of TCP/IP based communication) or wirelessly (in the case of WIFI, Bluetooth based communication).

[0145] Secondary memory 503 may contain hard drive 503a, flash memory 503b, and removable storage drive 503c. Secondary memory 503 may store the data (e.g., portions of the data shown in FIG. 4B-4E) and software instructions (e.g., for implementing the steps of FIG.s 2A, 2B, 3A and 3B, for implementing the blocks of FIG. 4A), which enable digital processing system 500 to provide several features in accordance with the present invention.

[0146] Some or all of the data and instructions may be provided on removable storage unit 504, and the data and instructions may be read and provided by removable storage drive 503c to CPU 501. Floppy drive, magnetic tape drive, CD-ROM drive, DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) are examples of such removable storage drive 503c.

[0147] Removable storage unit 64 may be implemented using storage format compatible with removable storage drive 503c such that removable storage drive 63c can read the data and instructions. Thus, removable storage unit 504 includes a computer readable storage medium having stored therein computer software (in the form of execution modules) and/or data.

[0148] However, the computer (or machine, in general) readable storage medium can be in other forms (e.g., non-removable, random access, etc.). These “computer program products” are means for providing execution modules to digital processing system 500. CPU 501 may retrieve the software instructions (forming the execution modules) and execute the instructions to provide various features of the present invention described above.

[0149] It is to be understood that the present disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The present disclosure is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology herein is for the purpose of description and should not be regarded as limiting.

[0150] Reference throughout this specification to “one embodiment”, “an embodiment”, or similar language 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 an embodiment” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

[0151] The use of "including", "comprising" or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms "a" and "an" herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. Further, the use of terms "first", "second", and "third", and the like, herein do not denote any order, quantity, or importance, but rather are used to distinguish one element from another.

[0152] All documents cited in the present specification are hereby incorporated by reference in their totality. In particular, the teachings of all documents herein specifically referred to are incorporated by reference.