This US patent application claims priority under 35 U.S.C. § 119 to Indian complete application no. 202121013170, filed on 25 Mar. 2021. The entire contents of the aforementioned application are incorporated herein by reference.
The embodiments herein generally relate to resource management and, more particularly, to a method and system for Proof of Work (POW) based protection of resources.
With customer centric approaches, entities such as service providers offer many free services, wherein resource of the entity is used by the customer/consumer for free. Even though such approaches enhance user experience, it adds cost to the entity as practically the entity pays for the resource usage of its consumers. Thus, it is critical that such free resources are effectively utilized by a true consumer (registered user-non adversary) so that the entity gets true returns for the free services it provides and is intelligently able to identify and block fake consumers or attackers or raise the barriers for such attacks or misuse of resources. Such fake consumers or attackers drain the resources adding to the cost of the service provider or organization and affects the service capability of the company.
Authorization check and multi-level authentication based system are standard existing approaches to provide controlled access, which utilize login IDs, CAPTCHA, passwords, and predefined Question Answer to verify authenticity of each user who is requesting access to the services. However, such mechanisms are practically not useful when end user is Basic Emergent Users (BEUs), who is having very minimal knowledge of technology and self-capability. To enhance user experience, access to any resource for such BEUs has to be hassle free, while still enabling the entity to implement controlled access and apportioning of resources. Further, specifically for free services offered by the entity, it is not advisable that user experiences too many checks during the access attempt, and the checks if any should be in consideration with the end user, who is a BEU.
Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems.
For example, in one embodiment, a method for Proof of Work (POW) based protection of resources is provided. The method includes receiving a request from a request generator for resource usage related to a service provided by an entity to Basic Emergent Users (BEUs), wherein the BEUs are registered with the entity for the service.
Further the method includes recording a source ID indicative of origin of the request. Further the method includes initiating an authorization process to authorize the request generator as a registered BEU, wherein the request generator is classified as an authorized request generator if a credit score associated the source ID is above a credit threshold. The credit score for each of a plurality of source IDs associated with a plurality of request generators is precomputed and updated at a predefined frequency based on a protocol compliance function that compares a) a Compliance Protocol (CP) executed by the request generator with b) a Work Protocol (WP) that is set by the entity for the request generator. Each of the WP and the CP is a directed graph comprising a) a plurality of nodes with each node associated with a predefined function, and b) a plurality of edges connecting the plurality of nodes to form a plurality of sequences of nodes with each of the plurality of sequences representing a unique execution flow of one or more predefined functions.
Furthermore, the method includes authenticating the authorized request generator as a valid BEU if the authorized request generator provides a correct response to each question among a set of questions, wherein the set of question are generated dynamically in a sequence based on a culture graph, wherein toughness level of each question generated increases to exponentially increase a usability function associated with the response provided for each question. The usability function refers to challenge faced by any end user in answering successive questions.
Furthermore, the method includes granting access to the valid BEU to proceed with the resource usage, wherein the credit score of the valid BEU is deducted in accordance with a volume of the resource usage.
In another aspect, a system for Proof of Work (POW) based protection of resources is provided. The system comprises a memory storing instructions; one or more Input/Output (I/O) interfaces; and one or more hardware processors coupled to the memory via the one or more I/O interfaces, wherein the one or more hardware processors are configured by the instructions to receive a request from a request generator for resource usage related to a service provided by an entity to Basic Emergent Users (BEUs), wherein the BEUs are registered with the entity for the service.
Further the one or more hardware processors are configured to record a source ID indicative of origin of the request. Further the method includes initiating an authorization process to authorize the request generator as a registered BEU, wherein the request generator is classified as an authorized request generator if a credit score associated the source ID is above a credit threshold. The credit score for each of a plurality of source IDs associated with a plurality of request generators is precomputed and updated at a predefined frequency based on a protocol compliance function that compares a) a Compliance Protocol (CP) executed by the request generator with b) a Work Protocol (WP) that is set by the entity for the request generator. Each of the WP and the CP is a directed graph comprising a) a plurality of nodes with each node associated with a predefined function, and b) a plurality of edges connecting the plurality of nodes to form a plurality of sequences of nodes with each of the plurality of sequences representing a unique execution flow of one or more predefined functions.
Further the one or more hardware processors are configured to authenticate the authorized request generator as a valid BEU if the authorized request generator provides a correct response to each question among a set of questions, wherein the set of question are generated dynamically in a sequence based on a culture graph, wherein toughness level of each question generated increases to exponentially increase a usability function associated with the response provided for each question. The usability function is measured in terms of toughness level of each question faced by any end user in answering successive questions
Further the one or more hardware processors are configured to grant access to the valid BEU to proceed with the resource usage, wherein the credit score of the valid BEU is deducted in accordance with a volume of the resource usage.
In yet another aspect, there are provided one or more non-transitory machine-readable information storage mediums comprising one or more instructions, which when executed by one or more hardware processors causes a method for Proof of Work (POW) based protection of resources.
The method includes receiving a request from a request generator for resource usage related to a service provided by an entity to BEUs, wherein the BEUs are registered with the entity for the service.
Further the method includes recording a source ID indicative of origin of the request. Further the method includes initiating an authorization process to authorize the request generator as a registered BEU, wherein the request generator is classified as an authorized request generator if a credit score associated the source ID is above a credit threshold. The credit score for each of a plurality of source IDs associated with a plurality of request generators is precomputed and updated at a predefined frequency based a protocol compliance function that compares a) a Compliance Protocol (CP) executed by the request generator with b) a Work Protocol (WP) that is set by the entity for the request generator. Each of the WP and the CP is a directed graph comprising a) a plurality of nodes with each node associated with a predefined function, and b) a plurality of edges connecting the plurality of nodes to form a plurality of sequences of nodes with each of the plurality of sequences representing a unique execution flow of one or more predefined functions.
Furthermore, the method includes authenticating the authorized request generator as a valid BEU if the authorized request generator provides correct responses to each question among a set of questions, wherein the set of question are generated dynamically in a sequence based on a culture graph, wherein toughness level of each question generated increases to exponentially increase a usability function associated with response provided for each question. The usability function is measured in terms of toughness level of each question faced by any end user in answering successive questions.
Furthermore, the method includes granting access to the valid BEU to proceed with the resource usage, wherein the credit score of the valid BEU is deducted in accordance with volume of the resource usage.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems and devices embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
In a customer centric approach entities such as organizations and companies provide various services to end users, wherein these services can be availed by the end user via free usage of resources offered by the entity. A typical example of such service is a toll free communication to provide consultation to the end user, where the ‘consultation’ is a service while the ‘resource’ is the ‘toll free communication network’ of the entity. As mentioned earlier, even though the resource usage may be free of cost to the customer, but the actual cost is bore by the entity. Thus, controlled access of the resource or protection of resource usage is necessary. However, when the end users are Basic Emergent Users (BEUs) having very minimal knowledge of technology usage, maximum part of the controlled access mechanism is expected to be performed in background with minimal checks experienced by the BEU during actual usage of resources. Further, the approach used for authorizing or authenticating the end user should be such that the BEU is not burdened with need to understand the technology such as need to understand CAPTCHA, remembering and entering user or login IDs and passwords and the like.
Embodiments of the present disclosure provide a method and system for Proof of Work (POW) based protection of resources. The method includes using the POW for work done by BEUs in physical world and mapping it to digital world to generate crypto currency in terms of credit score. A BEU, who is an end user, is eligible or authorized to use a resource of an entity to get a desired service only if accumulated credit score is above a credit threshold. The method makes gaining points to improve the credit score challenging, by relying on percentage of compliance achieved by the BEU through actual work in accordance with a Work Protocol (WP) set by the entity. Further, the method adds another level of check by authenticating the authorized user prior to allowing resource usage. The authentication is based on a set of questions posed to the end user with increasing difficulty. The set of question are derived based on a culture graph generated for BEUs registered with the entity.
Thus, the method enables increasing a cost function, which refers to the challenge or difficulty any end user faces in improving the credit score to be eligible for reuse of the resource, if the end user is non-compliant with respect to the WP. The cost function is measured in terms of decrease in credit score for every failed attempt. Similarly, the method enables increasing a usability function, which refers to challenge or difficulty faced by end user (spam/fake user) in answering successive questions with increased level of toughness and is measured in terms of toughness level of each question. Thus, with the usability function and the cost function, the method discourages any repeated attempts by invalid or fake end users. Further, with usage of resource by the authorized and authenticated user, equivalent credit score is deducted from the user account. Thus, credit score deduction enables keeping a check on unnecessary, or over usage of the free resource offered to the BEU or end user.
Referring now to the drawings, and more particularly to
In an embodiment, the system 100 includes a processor(s) 104, communication interface device(s), alternatively referred as input/output (I/O) interface(s) 106, one or more data storage devices or a memory 102 operatively coupled to the processor(s) 104 and a set of sensors 110 deployed in a plurality of regions serviced by an entity. The system 100 with one or more hardware processors is configured to execute functions of one or more functional blocks of the system 100.
Referring to the components of system 100, in an embodiment, the processor(s) 104, can be one or more hardware processors 104. In an embodiment, the one or more hardware processors 104 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the one or more hardware processors 104 are configured to fetch and execute computer-readable instructions stored in the memory 102. In an embodiment, the system 100 can be implemented in a variety of computing systems including laptop computers, notebooks, hand-held devices such as mobile phones, workstations, mainframe computers, servers, and the like.
The I/O interface(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface to display the generated target images and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular and the like. In an embodiment, the I/O interface (s) 106 can include one or more ports for connecting to a number of external devices or to another server or devices.
The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
The set of sensors 110 collect metadata associated with each a plurality of nodes of a Compliance Protocol (CP) and a Work Protocol (WP), further explained in conjunction with
Further, the memory 102 includes a database 108 that stores the CPs recorded corresponding a plurality of request generators and WPs corresponding to a plurality registered BEUs of the entity. The database 108, may also store the collected metadata and the like. Further, the memory 102 may comprise information pertaining to input(s)/output(s) of each step performed by the processor(s) 104 of the system 100 and methods of the present disclosure. In an embodiment, the database 108 may be external (not shown) to the system 100 and coupled to the system via the I/O interface 106. Functions of the components of the system 100 are explained in conjunction with flow diagram of
In an embodiment, the system 100 comprises one or more data storage devices or the memory 102 operatively coupled to the processor(s) 104 and is configured to store instructions for execution of steps of the method 200 by the processor(s) or one or more hardware processors 104. The steps of the method 200 of the present disclosure will now be explained with reference to the components or blocks of the system 100 as depicted in
The steps of method 200 is explained are explained with a use case example. The use case refers an entity, which may be a Digital farming based company that supplies agro-related products to its consumers, herein farmers who fall in category of the BEUs. The company may provide a service such as agro-consultation to its consumers (farmers), wherein the company may set up toll free numbers to avail consultation services. The toll free set up requires communication network resources of the company and the cost of network usage (resource usage) is bore by the company. The company intends to ensure that only true/valid consumers use the service via the toll free number or an IVR service (requiring communication network resources of the entity), and at the same time even control the valid user to avoid over usage or careless usage of the free resource. Thus, the method 200 disclosed herein enables authorizing and authenticating an end user, interchangeably referred as request generator, using Proof of Work (POW) based approach before granting the access to use the IVR service. Also, the entity charges the end user by deducting a digital currency generated for the end user. The monetary loss factor forces the end user to utilize the free service more carefully/cautiously.
Referring to the steps of the method 200, at step 202 of the method 200, the one or more hardware processors 104 receive a request from a request generator for resource usage related to a service provided by an entity to BEUs, wherein the BEUs are registered with the entity for the service consultation. For the example stated above, the service id IVR consultation service while the BEUs are the farmers. The request may be generated via any end devices, such a personal digital assistants or smart phones.
At step 204 of the method 200, the one or more hardware processors 104 record a source ID indicative of origin of the request. The source ID for the example above could be a registered mobile number of the BEU, a Unique identification ID of the request generator or any other identification that can enable authorization process for the request generator. Thus, the request generator can provide any of the one or more IDs that are identified by the system 100 for an authorization process.
At step 206 of the method 200, the one or more hardware processors 104 initiate the authorization process to authorize the request generator as a registered BEU. The request generator is classified as an authorized request generator if a credit score associated the source ID is above a credit threshold. The credit score for each of a plurality of source IDs associated with a plurality of request generators is precomputed and updated at a predefined frequency by the system 100 as a continuous background process. The credit score is based on a protocol compliance function that compares a) the Compliance Protocol (CP) executed by the request generator with b) the Work Protocol (WP) that is set by the entity for the request generator. The WP and the CP are directed graphs comprising a) a plurality of nodes with each node associated with a predefined function, and b) a plurality of edges connecting the plurality of nodes to form a plurality of sequences of nodes with each of the plurality of sequences representing a unique execution flow of one or more predefined functions.
For the example herein, with BEUs as farmers a sample CP is ‘steps’ a farmer has followed during farming in accordance with a previous consultation received during previous call to the IVR service of the entity. The sample WP refers to expected steps the farmer has to follow in accordance with the instructions. The CP can be derived from the response of the farmer to set of WP based questions. Natural Language processing techniques can be used to derive the directed graph from responses of farmers to the as directed graph which is a sequence of nodes connected via directed edges. This enables to record sequence of steps the farmer has followed as a tree-like data structure to be compared with similarly generated tree-like data structure for the WP. It can be understood that the CP is the POW end user (BEU/farmer) submits to the system 100, which is then compared with the expected work to be done as defined in the WP.
Steps of computing the credit score based on the protocol compliance function comprises:
The method 300 further comprises collecting metadata associated with each of the plurality of nodes of the WP and the plurality of nodes of the CP. The collected metadata enables cross checking whether each of the plurality of nodes of the CP execute actions in accordance with predefined function associated with a corresponding node of the WP. The metadata is recorded by the entity using the set of sensors 110 deployed to track a plurality of actual actions performed by the request generator. The set of sensors 110 can be proxy sensors that provide satellite images, hyperspectral sensing, call log data, gyro data, accelerometer data collected from sensors on end devices used by the farmer such as smart phones. The metadata collected enables to have a physical check on actual work done. For example, say the farmer is advised to water the crop and spray pesticides at a given frequency. In response farmer provides to the questions posed to check compliance with the WP, the farmer may agree to performing all required actions. To physically cross check the execution of actions, collected meta data such as satellite images, hyperspectral imagery, location of farmer identified from GPS on the smart phones and the like can provide insights. The GPS data can provide information on whether the farmers was present at the farm site and duration of his presence. Increase in green zones and moisture presence detection from hyperspectral imaging data are indicative of result of actions performed by the farmer. The generation of CP is explained below:
Thus, the WP can be a Plantation Advisory and Compliance. The Plantation Advisory consists of the sequence of steps the farmer has to take from land preparation, to seed preparation, nursery preparation, vegetation to harvesting. These are then also checked for compliance via a participatory systems aided by mobile phone based sensors (namely, comprising of GPS, Gyro sensor and usage of keypads/touch pads on the phone).
The protocol compliance function reduces the credit score in accordance with a preset criterion to exponentially increases the cost function for the request generator for every repeated attempt of the authorization process, post failure of a previous attempt of the authorization process. The cost function refers to challenge faced by the WP non-compliant end user in improving the credit score to be eligible for reuse of the resource. The cost function is measured in terms of decrease in credit score for every failed attempt. The usability function is measured in terms of toughness level of each question faced by any end user in answering successive questions. For example, say the percentage of the credit score deduction may double for every repeated attempt, thus costing the request generator to lose his credit score at faster rate if he is non-compliant repeatedly. This also forces the BEU (farmer) to follow the WP.
Further, it can be noted that even though the advisory is common, to a crop and thereby to an agroclimatic zone based farmer, the variances are introduced by each farmer and hence no two farmers are the same in terms of WP executed (which is the Proof of Work (POW) for the farmer. The POW is hence the mechanism on which each farmer will get say a Coin credit (credit score points). This coin credit is then utilized by a dialer application on the smart phone when the toll free number (IVR service) is called from the smartphone. Thus, the system 100 facilitates prevention of attacks on the resource usage by use of POW. In essence, those who do not follow the advisory protocol, also referred to as WP, of the entity and comply, cannot use the toll free number for themselves—there by preventing an attack since every attack now requires the acquisition of a coin/token (that is POW by farmer—which is constrained by nature and systems—as a farmer (BEU) can probably have not more than 3 seasons of cultivation in a Julian calendar.
1. There is a pan Country (Say pan-India) knowledge repository (KR) for all kinds of crops.
2. For each crop the KR has steps to be followed.
Step1, Step2, . . . {sowing to harvesting}
Step 2.1 {if pest attack do y}
2. At the sign up by the end user (farmer/BEU), the system 100 collects basic information about the farmer (BEU), which includes Latitude-Longitude of his geolocation/farm from his land records. Using this information his agro-climatic zone can be inferred.
3. This information helps reduce (filter) KR into a subset for the inferred agro-climatic zone. For example, KR8 is for region 1 (Nashik) for grapes, versus KR9 in region 2 (Manipur) for rice variety R8892
4. BEU can choose KR from the inferred agro-climatic zone list or opt for a non-conventional KR using search.
5. Once the BEU selects a particular KR, userID gets mapped to KR0-3-4-5 etc.
6. Once the BEU has selected the KR, he is asked to confirm the selection, on receiving acknowledgement from BEU or the BEU provides consent, then the mapping is final. This is when WP gets created, which defines the expected work (set of functions) to be performed by the farmer and the maximum time limit for each of the function.
Say KR09 gets mapped to userID say KPKP98989KP. That tagging of userID to KRID is the relation called WP01.
As depicted in
Lev distance=Lev[(B,A,D,C,E)−(B,A,C,E)]->1 (difference of one node as D node was not captured in actions recorded for the farmer)
Compliance score=52 weeks (predefined quantum of time Y)−Lev distance (1)=53
Averaging compliance score for a predefined time T to compute credit score.
Referring back to step 208 of the method 200, at step 208, the one or more hardware processors 104 authenticate the authorized request generator as a valid BEU a response to each question among a set of questions provided by the authorized request generator is correct. The set of question are generated dynamically in a sequence based on a culture graph, wherein toughness level of each question generated increases to exponentially increase a usability function associated with response provided for each question. The usability function refers to challenge faced by any end user in answering successive questions.
Steps of dynamically generating the set of questions based on the culture graph comprises:
c(t,d)=Q, (2)
Few more examples for rate of change of Q are provided below:
For movies:
For fast fashion:
For fast food:
The culture function c (t) for the above example to generate the culture graph is:
c(t)=apparel,movies,fastfood (3)
Wherein apparel changes are less frequent as compared to movie trend, which is further less frequent as compared to fashion trend in the area/geo circle of interest. Thus, questions generated based on fast food trends are challenging as variations in answers are more as time elapses, while questions generated on apparels are comparatively easier as fashion is steady and changes with seasons, not per day. Same is depicted in table 2 below:
Example would be {“Marbat”, “Perpetual”, “Nagpur”}. This says that the phrase “Marbat” is hyper-local to the Taluka of Nagpur and is perpetual (known for 3 generations of humans}.
As depicted in
Further, at step 210 of the method 200, the one or more hardware processors 104 grant access to the valid BEU to proceed with the resource usage, wherein the credit score of the valid BEU is deducted in accordance with volume of the resource usage. Thus, this keeps a check on careless, over usage of the resource even for the authorized and authenticated end user (registered valid BEU).
Thus, the method and system disclosed herein provides a two level check for protection of resources using the usability function and the cost function. The usability function is based on the culture function (c), which makes resource usage easy for the authentic user and hard to use for the external attacker. Similarly, the cost function based on the protocol compliance function is skewed in favor of the authorized user and hard for the external attacker, thus the fake user will lose credit points for every failed attempt with exponential deduction in credit score, and in turn exponentially increasing cost of reuse of the resource for the fake user.
Thus, the method and system disclosed herein provide the resource protection in two dimensions of usability and cost, wherein for the valid BEU the system is high on the usability scale and security scale at the same time difficult for the external attacker, invalid user or a fake consumer. The method disclosed also exploits natural limits of resources to generate WPs and culture graphs. For example, for BEUs that are farmers, time consideration based on agricultural seasons as a sub-unit of cost of acquisition, a sort of upper limit imposed by laws of Nature.
For example, every year has few seasons—namely, Summer, Winter, Rain {Spring}, referred as the set of Seasons. This is a finite set. That is the number of elements in this set is finite and countable. Here the max value is 3 elements (3 seasons). Within each Season, a BEU can take Zero/None agriculture work or all work, in the seasons. In some seasons such as Winter, he can take 2 crops. Each crop is called a cycle. Hence 2 cycles in Winter. Since the set of Seasons is finite and countable. By Implications, the set of AgriCycle (AC) is also finite and countable. Here, the number of max elements in this set is thus 4. Even if the user were to use hydroponics with some state of the art see and hormone, the crop will take a minimum of 1 week to grow into a harvesting state. Thus, it still cannot exceed 52 (number of weeks in a year) as a theoretical imaginable value. From practical view, it is max 4 as of today.
AgriCycle (AC)=F(x: X E Seasons}Seasons={Summer,Winter,Rain}
Hence max AgriCycle={0<x<=4}(finite set)
Similarly, a BEU inherits a geography in which agri cultivation happens—say state of Rajasthan. Again, by laws of nature, the soil type in this region is fixed—Sandy, Loomy. That is a fixed countable set. One cannot have an infinite value for the set of soil types for a given geography. This maximum value is the upper limit.
SoilType (ST)={Clay,Sandy, . . . }//Finite Set
Similarly, given the type of soil, the types crops which can be grown is also a finite set.
TypeOfCrop (TOC)=F{st:ST}
Hence max TypeOfCrop={0<x<=10}(finite set)
Thus, by same reasoning, the WP for a given userId is finite and countable. That is there is an upper limit to the WP value.
Hence,max WP(UId)=F{toc,ac,toc:TypeOfcrop,ac:AgriCycle}
Hence max WP {UID (toc,ac)=0<x<=40
Thus, 40 is the maximum units for the set UID: TOC x AC, as a measure of Natural Limits.
Max Weeks in a Year (WOY)=52
Hence max WPCredit (WPC){UID (toc,ac,woy)=0<x<=2080
Hence WPC=max TOC×AC×WOY{0<x<=2080}
With help of above examples, it can be noted that there exists finiteness in a WP, which makes the system 100 inherently stable, and bounded. Thus, the credit score a BEU can gain will always have a defined range, wherein lower limit of the credit score is zero and does not permit negative balance. Similarly, the upper limit is introduced by laws of nature as explained above, whereby credit score gained by a BEU post following a WP cannot cross the upper limit, since his maximum work capacity is bounded by laws of nature that the system 100 takes into consideration.
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means, and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
202121013170 | Mar 2021 | IN | national |