SERVICE COMPUTING DEVICE FOR EFFICIENCY IN AUTHENTICATION, VERIFICATION, AND DISTRIBUTION
20220398137 · 2022-12-15
Inventors
- Robert Matthew Barrie (Double Bay, AU)
- Darren Nicholas John Williams (Camperdown, AU)
- David Harrison (Strathfield, AU)
- Peter Phillips (Forest Lodge, AU)
Cpc classification
G06Q10/06
PHYSICS
G06F9/5038
PHYSICS
H04L63/0876
ELECTRICITY
G06Q20/085
PHYSICS
G06Q20/10
PHYSICS
International classification
Abstract
A service computing device is provided for efficiently authenticating, verifying, and distributing subtasks or microtasks in a peer-to-peer network or distributed network. Also provided are computing devices with varying capabilities with respect to the performance of such tasks, such that enhancing efficiency in the authentication, verification, and/or distribution may enhance device efficiency and/or overall network efficiency. Processors or processor elements many be configured with differing capabilities to perform various types of the subtasks or microtasks such that proper distribution of such subtasks and microtasks may be required for completion of a complex task with enhanced efficiency. Probabilistic authentication or classification-based verification may be employed by the service computing device in performing its functions.
Claims
1. A service computing system comprising: a service computing device comprising a processor, a memory, a network interface, a task module, and a verification module; a first remote computing device having a processor and a first capability for performing a first subtask or a first microtask; a second remote computing device having a processor and a second capability for performing a second subtask or a second microtasks; a third remote computing device having a processor and a third capability for performing a third subtask or a third microtasks; a data network coupled to each of the service computing device, the first remote computing device, the second remote computing device, and the third remote computing device; wherein, the task module is configured to: decompose a task into three or more subtasks or microtasks; distribute a different one of the three or more subtasks or microtasks to each of the first remote computing device, the second remote computing device, and the third remote computing device; receive a first result from the first remote computing device, receive a second result from the second remote computing device, and receive a third result from the third remote computing device; and wherein, the verification module is configured to: consider for verification each of the first result, the second result, and the third result, using a probabilistic based authentication or a classification-based verification.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0105] A preferred embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
[0106]
[0107]
[0108]
[0109]
[0110]
PREFERRED EMBODIMENT OF THE INVENTION
[0111] A computing apparatus including a central co-ordinating computing device and one or more remote computing devices provided to perform (or complete) a predetermined set of subtasks, allowing the co-ordinating computing device to perform (or complete) a client requested tasks.
[0112] In one embodiment, the co-ordinating computing device decomposes a task, into subtasks for human performance and/or computer performance, and programmatically requests the performances, using an application programming interface (API) of the present invention. In response, the central coordinating server dispatches one or more of the subtasks to one or more of the remote computing devices adapted to perform on or more of the subtasks, for example by way of the Internet.
[0113] Remote computing device perform the requested subtasks and provide a results back to the coordinating computing device. The coordinating computing device receives responses corresponding to the subtasks, and generates a result for the task based at least in part on the subtasks.
[0114]
[0115] It is understood that a result, sub-result, or micro-result, by way of example can include the null result.
[0116] In an embodiment, the computing device 110 comprises a task module 122. The task module 122 provides a portal (or front end) to the computing device 110 for engage, via the data network, one or more remote computing devices (150,155) to perform selected subtasks for a fee. A function of the task module 122 is to decompose a client task to into manageable (potentially many) subtasks to be performed by remote computing devices.
[0117] In an embodiment, the task module 122 can be distributed across multiple computing platforms, but accessible to a client computing device 190 for providing a task, by way of a data 130 network. In an alternate embodiment, the task module 122 can be co-resident with the client 190.
[0118] It will be appreciated that subtasks are represented in a form indicative of that can be perform by a remote computing device. A task or problem is broken down into smaller subtasks that may be performed (or solved) by a computer, for example collating email addresses, providing web links meeting set criteria, and/or categorising web sites.
[0119] Decomposition of a task into subtasks may be performed automatically by a task decomposition module 124 or manually by an operator (not shown). Such task decomposition application may decompose a task in any one of a number application dependant manner. Preferably, the manner in which such task decomposition decomposes a task is client configurable and/or selectable. That is, task decomposition application is equipped with a number of ways to decompose a task, and the client may specify which of the available options is to be employed.
[0120] It will be understood that data can be indicative of any one or more information element selected from the set comprising: description, required skills and or capabilities, budget, maximum duration, and any supporting attachments, files, or documentation.
[0121] In an embodiment, data indicative of the subtasks to be performed are stored in a database 112 and posted via a web server 114. Data associated with a subtask is externally available to one or more remote computing devices (for example 150 and 158), via a data network 130 (for example the Internet and/or local area network).
[0122] In an embodiment, the computing device 110 comprises a verification module 126 for verifying a subresult, or micro-results thereof, provided by one or more remote computing devices (for example 150 and 158).
[0123] In an embodiment, the computing device 110 comprises a payment control module 128 for providing payment of a fee to a remote computing device (for example 150 and 158). Payment can include an escrow payment. Escrow payments can be maintained though a third party computer. Providing payment can also include providing micro-payments for respective verified micro-results of a subresult. Providing payment can be terminated for a non-verified subresult, or micro-results thereof. Further, acceptance of the remote computing device, and associated subresults, can be withdrawn upon the subresult (or micro-results thereof) being unable to be verified.
[0124] It will be appreciated that the computing device 110, serves as the central coordinating computer which manages and posts subtasks and receives and verifies subresults. If a remote computing device is available, a subtask can be assigned. Subresults, (including any micro-results) can be received across a communication link between interfaces 114 and 154 (or 158) via a data network 130. Once subresults are received, (and preferably verified or authenticated) then based—at least in part—on one or more subresults, a result to the task can be generated. The result can be provided to the client 190.
[0125]
[0136] In an embodiment, by way of example only, an initial deposit payment can be received from the client before receiving data indicative of a task to be performed. This initial payment can be refunded if there is a failure to reach agreement.
[0137] In an embodiment, by way of example only, the step of negotiating and reaching agreement can be conducted prior to receiving data indicative of a task to be performed. This advance negotiation can pre-establish a set fee in respect of a task and/or subtask.
[0138] In an embodiment, by way of example only, a fee for the intermediation provided by the service computing device can be deducted from any payment to the remote provider (associated with the remote computer device).
[0139]
[0149] In an embodiment, the method (200 or 300) further comprises the step of: verifying a subresult. By way of example, verifying a subresult can include, dispatching the subtask to two or more remote computers, identifying a majority received subresult to the task, selecting the majority received subresult as the subresult for the subtask. Alternatively, verifying a subresult can include, dispatching the subtask wherein the task has a predetermined subresult, comparing a subresult from a remote computer with the predetermined subresult, and rejecting all subresults from the remote computer if the subresult does not match the predetermined subresult. In such an embodiment, the computing device comprises a verification module for verifying the subresult, or micro-results thereof.
[0150] In an embodiment, control payment can include an escrow payment. Providing payment can include providing micro-payments for respective verified micro-results of the subresult. Typically, providing payment is terminated for a non-verified subresult, or micro-results thereof. Acceptance of the remote computing device, and associated subresults is typically withdrawn upon the subresult (or micro-results thereof) being unable to be verified. In such an embodiment, the computing device can further comprise a payment control module for providing payment of a fee to the remote computing device.
[0151] In an embodiment, a micro-result may consist of only one of many data records required to complete a subresult. Verification and payment can be made on each micro-result. The ongoing acceptance of a remote computer can be dependant on continuous verification of micro-results.
[0152]
[0160] In an embodiment, accepting terms with the remote computing device can include identifying one or more required capabilities for performance of the subtask. Accepting terms with the remote computing device, can further include verifying capabilities of the remote computing device. Accepting terms with a remote computing device, can also include restricting receipt of offers to a select subset of remote computing devices pre-recognised as possessing the required capabilities for performance of the subtask. By way of example, selecting a remote computing device is based on past quality information. Typically, past quality information can include any one or more of the set comprising: quality of past work product, past product turn-around time and reputation defined as by others.
[0161] It will be understood that capabilities can include any one or more of the following: skills, experience, availability, or resources required for completion of the task.
[0162] It will be understood that terms can include any one or more of the following: pricing, time constraints, or requirements in relation to the performance of the task, or the results to be returned.
[0163] It will be appreciated that a plurality of subtasks can be identified, automatically and under control of the computing device. Negotiating terms, accepting terms, dispatching any one or more of the plurality of subtasks, receiving a subresult providing payment can be steps take in relation to another remote computing device. By way of example, the same subtask can be dispatched to a plurality of remote computing devices.
[0164] In an embodiment, the subresult is verified (or authenticated) prior to providing payment of a fee. Typically, verification can be performed by a verification routine that verifies all of the subresult. Alternatively, verification can be performed by a verification routine that performs a probabilistic based verification. Alternately, verification can be performed by a verification routine that performs classification based verification.
[0165] In an embodiment, a subtask can be performed by a remote computer as a plurality of corresponding micro-tasks. By way of example, receiving a subresult can include receiving a plurality of corresponding micro-results. Preferably, micro-results can be individually verified upon receipt. As such, payment of a fee can include a plurality of micro-payment being a partial payment of a total fee associated with the subtask.
[0166] By way of example, a subresult can be a micro-result being a partial result of the subtask. Preferably, a micro-result is verified upon receipt, and payment of a fee is a micro-payment being a partial payment of a total fee associated with the subtask.
[0167] In an embodiment, a first application programming interface (API) is provided to enable applications on a remote computer (for example 150 or 155 of
[0168] In an embodiment, a second application interface (API) is provided to enable applications on a client computer (for example 190 of
[0169] It will be appreciated that, utilising the first and/or second API, tasks can be generated, work allocated, and notification provided as a result for the task completed. For example, the API can accept data as URL encoded key value pairs. Client and/or remote computer verification can be account based employing key-verification methods. Security can be provided by using an encrypted communication link, such as over SSL.
[0170] By way of example, results (including subresults and/or micro-results) can be verified using a set of known results. These known results can be used to verify results received and/or train remote computing devices and/or train a classifier bases verification module. Tasks (or subtasks) having known results items can be mixed with tasks (or subtask) having unknown results (or subresults).
[0171] It will be appreciated that, if a remote computer provides results not consistent with a known result, an error response can be issued, thereby providing training feedback.
[0172] In an embodiment, by way of example only, results are verified before providing payment. A verification routine can provides feedback for updating a measure indicative of reputation of a respective remote computing device. A ‘bidirectional’ feedback can be provided in respect of both the service provider (associated with the remote computing device) and client (associated with the client computing device).
[0173] Based on the conformity between the results (or subresults) provided and the known results (or subresults), a confidence score can be calculated. Deciding to accept the results (or subresults) can be based on the calculated confidence score.
[0174] It will be appreciated that the illustrated method and apparatus can engage a plurality of associate computers to perform selected sub-tasks for payment. It will be appreciated that the illustrated method and apparatus can provide a marketplace for software hiring software. By way of example, software can connect to post a job, and software on the other side can bid for available jobs.
Further Examples
[0175] By way of example only, a service computing device can engage, on behalf of a client computing device, one or more remote computing devices to perform a client directed task for a negotiated fee.
[0176] Referring to
[0185] In this example embodiment, selecting suitable remote computing devices includes comparing a measure considered indicative of their reputation. This measure is updated upon each completion of a subtask.
[0186] A measure indicative of qualification and/or reputation can be obtained for suitable remote computing devices, and used in selecting a first remote computing device to perform a task or subtask.
[0187] This measure indicative of qualification and/or reputation can be maintained (and/or stored) in a database by the service computing device, for each remote computing device. Recording and tracking of a measure indicative of qualification and/or reputation of a remote computing device can be maintained in respect of past performance of tasks and/or subtasks.
[0188] Selecting a first remote computing device can include ranking suitable remote computing devices on the basis of a measure of reputation. When a remote computing device completes a task and/or a subtask, a respective measure of reputation can be updated. The measure of reputations can, by way of example only, be calculated from any one or more of the set comprising: [0189] accuracy rate; [0190] completion rate; [0191] acceptance rate; and [0192] client feedback rating.
[0193] In this example embodiment, results are typically verified before providing payment to the remote service provider. Verification is typically determined by a verification routine (or module). The verification routine can be provided by a respective client or operates on validity data provided by a client.
[0194] It will be appreciated that, a verification routine can be executed by the service computing device, remote computing device or client computing device. The verification routine can further provide feedback for updating a measure indicative of reputation for a respective remote computing device.
[0195] A verification routine can be run on a subresult to verify if it achieves an acceptable threshold for its correctness in satisfying the terms of a subtask. Typically, the verification routine calculates a measure indicative of correctness in satisfying negotiated terms of the subtask.
[0196] A verification routine may employ probabilistic techniques in calculating a measure indicative of correctness. Alternatively, the verification routine may be a null routine. Feedback data from the verification routine can be used to update the reputation measure indicative of the respective remote computing device.
[0197] Upon verification of a subresult, payment is typically released to a remote service provider associated with that subresult (and subtask).
[0198] In this example embodiment, payment is typically received from a client before negotiating, and reaching agreement, with selected remote computing devices. Preferably, pre-payment is received from the client for maintaining a client account in credit.
[0199] Before dispatching a task, a payment is provided from the client. Typically this occurs after negotiating terms, but before accepting terms. This payment can be sufficient to cover payment of: a total fee associated with the task, a partial fee associated with the task, or one or more micro-payment being a partial payment of a total fee associated with the first subtask. This payment is preferably provided to the service provider (associated with the service computing device) prior to dispatching a task. Verification of payment is preferably required prior to dispatching a task (or sub task).
[0200] A client typically provides pre-payment, in the form of a controlled payment or an escrow payment. The amount of pre-payment is typically at least enough to pay a first fee associated with the first sub result. Payment is typically only provided to a remote service provider (associated with the remote computing device), upon verifying any received results.
[0201] It will be appreciated that, in an embodiment, a client device is not exposed to (or provided details on) the remote computing devices. The service computing device is adapted to negotiate with a plurality of remote computing devices, on behalf of the client (or client computing device), to perform a task comprising one or more subtasks for a fee. The client need not know of the remote providers (or remote computing devices).
[0202] In an embodiment, by way of example only, a client computing device can be associated with managing a website that publishes internet (or world wide web) advertisements. These advertisements are generated by a software module on the client computing device.
[0203] To improve advertisements published, a service computing device can be requested to complete a task of providing new software module that generates improved advertisements. Verification can be assessed on the basis of one or more verifiable indicators, for example by measuring advertisement effectiveness.
[0204] Alternatively, to improve advertisements published, service computing device can be requested to complete a task of preparing new copy-text for an advertisement. Verification can be assessed on the basis of one or more verifiable indicators. The remote computing device may perform data mining and/or provide improved advertisement copy-text for a product or service. The proposed copy-text can be provided to the service computing device for verification. Verification may include the client computing device trialing an advertisement for a predetermined period of time, with the proposed copy-text, to confirm that target terms are satisfied.
[0205] It will be appreciated that, in an embodiment, the remote computing devices can automatically negotiate and accept terms for completing a task, provide results (or sub results), and receive payment.
[0206] Interpretation
[0207] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
[0208] In a similar manner, the term “processor” may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A “processing system”, or equivalently: “computer”, “computing machine” or a “computing platform” may include one or more processors.
[0209] Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., an liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein.
[0210] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
[0211] Note that while some diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single processor “processing system” is illustrated, the term “processing system” shall also be taken to include any collection of processors that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0212] It will be appreciated that, the description uses terminology commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art, such as node, server, client, and so forth. As well understood by those skilled in the art, this terminology is merely logical in nature to facilitate explanation of the present invention. The description is also presented in terms of operations performed by a computer system, using terms such as network, text, data and the like. As well understood by those skilled in the art also, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of a digital system; and the term digital system includes general purpose as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded.
[0213] Methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. A computer-readable carrier medium may form, or be included in, a computer program product. The computer readable medium comprises computer code for executing a method as herein described. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.
[0214] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors, e.g., one or more processors that are part of whatever the device is. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
[0215] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.
[0216] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a processing system (or computer) or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
[0217] The software (or computer program) may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term “carrier medium” shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media, a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that when executed implement a method, a carrier wave bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions a propagated signal and representing the set of instructions, and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
[0218] Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
[0219] Similarly it should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, any claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
[0220] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[0221] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
[0222] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as fall within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
[0223] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as verify, verified, verifying, verifies and verification, can similarly be applied to authenticate, authenticated, authenticating, authenticates, and authentication.
[0224] Any one of the terms “comprising”, “comprised of” or “which comprises” is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
[0225] Similarly, it is to be noticed that the term “coupled”, when used in the claims, should not be interpreted as being limitative to direct connections only. The terms “coupled” and “connected”, along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. “Coupled” may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
[0226] As used herein, unless otherwise specified, the use of the ordinal adjectives “first”, “second”, “third”, etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
[0227] Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.