Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR MANAGING OPERATION ASSOCIATED WITH AN OBJECT ON IOT ENABLED DEVICES
Document Type and Number:
WIPO Patent Application WO/2020/043897
Kind Code:
A1
Abstract:
A method (300) and system (100) for managing an operation associated with an object in an loT enabled device (104A) in an loT environment is provided. In one aspect of the invention, the method includes receiving the object intended for the target loT device (104A) from a remote system (102). Additionally, the method includes determining a criticality index associated with the object based on a set of pre-determined parameters associated with the object. Furthermore, the method includes initiating operation associated with the object by the target loT device (104A) based on the determined criticality index.

Inventors:
JANARDHANAN SHAIJU (IN)
KRISHNAN SANDEEP (IN)
Application Number:
PCT/EP2019/073254
Publication Date:
March 05, 2020
Filing Date:
August 30, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L29/08; G06F8/65
Foreign References:
US20180189048A12018-07-05
US20180157557A12018-06-07
US20120324578A12012-12-20
US20180189048A12018-07-05
US20180157557A12018-06-07
Attorney, Agent or Firm:
ISARPATENT - PATENT- UND RECHTSANWĂ„LTE BEHNISCH BARTH CHARLES HASSA PECKMANN UND PARTNER MBB (DE)
Download PDF:
Claims:
Patent claims

1. A method (300) of managing an operation associated with an object on a target IoT enabled device (104A) in an IoT environment, the method comprising:

receiving the object intended for the target IoT device (104A) from a remote system (102);

determining a criticality index associated with the object based on a set of pre-determined parameters asso ciated with the object;

determining a probability of occurrence of an in coming event at the target IoT device if the criticality index is greater than or equal to a pre-determined threshold;

determining a suitable time period for initiating the operation associated with the object by the target IoT device based on the probability of occurrence of the incoming event; and

initiating operation associated with the object by the target IoT device (104A) at the suitable time peri od .

2. The method (300) according to claim 1, wherein determin ing the criticality index associated with the object comprises :

identifying a criticality factor associated with each of the pre-determined parameters in the set of pre determined parameters; and

computing the criticality index based on the iden tified criticality factors.

3. The method (300) according to claim 1, wherein initiat ing the operation associated with the object by the tar get IoT device (104A) comprises: determining whether the criticality index associat ed with the object is equal to or greater than a pre determined threshold;

if the criticality index is greater than or equal to the pre-determined threshold, initiating of the oper ation associated with the object in the target IoT de vice (104A) ; and

if the criticality index is below the pre

determined threshold, deferring the operation associated with the object by the target IoT device (104A) .

4. The method (300) according to claim 1 or 3, further com prising determining the suitable time period during which the operation associated with the object can be successfully performed by the target IoT device (104A) based on the criticality index.

5. The method (300) according to claim 4, wherein determin ing the suitable time period during which the operation associated with the object may be successfully performed comprises :

determining whether the operation associated with the object is to be initiated by the target IoT device (104A) ; and

computing a next available time period for initiat ing operation associated with the object by the target IoT device (104A) .

6. The method (300) according to claim 4, wherein determin ing the suitable time period during which the operation associated with the object may be successfully performed comprises : determining whether the operation associated with the object is to be initiated immediately by the target IoT device (104A) ; and

suspending all operations on the target IoT device (104A) for initiating the operation associated with the object by the target IoT device (104A) .

7. The method (300) according to claim 4, 5 or 6, further comprising initiating the operation associated with the object by the target IoT device (104A) based on the de termined suitable time period.

8. The method (300) according to claim 5, wherein in deter mining the suitable time period, the method comprises: determining whether the operation associated with the object is deferred;

determining an event history of the target IoT de vice (104A) ;

wherein the probability of occurrence of the incom ing event is determined based on occurrence of an event in one or more peer IoT devices (104B-N) and the event history of the target IoT device (104A) ; and

the suitable time period for initating the opera tion associated with the object is determined based on the event history and the probability of occurrence of the incoming event .

9. The method (300) according to claim 8, further compris ing initiating the operation associated with the object by the target IoT device (104A) based on the determined suitable time period.

10. The method (300) according to any of the abovemen- tioned claims, wherein the object is an artefact to be operated in the target IoT device (104A) .

11. The method (300) according to claim 8 or 9, wherein the event history of the target IoT device (104A) is up dated based on the occurrence of the incoming event in peer IoT devices (104B-N) ; wherein the target IoT device (104A) is offline during operation the object.

12. An IoT device (104A) for managing operation associ ated with an object, the IoT device (104A) comprising: a processing unit (201) ;

a database (112) coupled to the processing unit (201) ;

a memory (202) coupled to the processing unit (201), the memory (202) comprising an operation manage ment module (110) configured for performing the method (300) according to any of the claims 1 to 11.

13. A system (100) comprising:

a IoT cloud platform (102); and

one or more devices (104A-N) according to claim 12, com municatively coupled to the IoT cloud platform (102) .

14. A computer program product comprising machine read able instructions, that when executed by a processing unit, cause the processing unit to perform a method ac cording to claims 1-11.

15. A computer readable medium on which program code sections of a computer program are saved, the program code sections being loadable into and/or executable in a system to make the system (100) execute the method of any one of the claims 1 to 11 when the program code sec tions are executed in the system (100) .

Description:
Description

METHOD AND SYSTEM FOR MANAGING OPERATION ASSOCIATED WITH AN OBJECT ON IOT ENABLED DEVICES

The present invention generally relates to the field of In- ternet-of-Things (IoT) , and more particularly to a method and system for managing operation of an object on an IoT enabled device in an IoT environment .

US 2018/189048 Al describes a technique for updating an ap plication. The technique seeks to select when to install an update. A system downloads an update for the application and obtains an activity flag. The activity flag indicates that the application will interrupt the user. The system sets the flag based on identifying a match between a flow profile and a current operative flow.

US 2018/157557 Al describes a reboot time after a system up date. A reboot time after a system update includes processing a request to reboot a user equipment (UE) , accessing the state data representing the state of the service running on the UE, and generating a service activity level for the ser vice from the state data.

An IoT environment may include several IoT enabled devices. These devices are connected to an IoT cloud platform and sen sors and actuators via the Internet . The IoT environment may further include a control center that controls operation of objects in the devices and monitors the activities of the de vices in the network. The IoT enabled devices may function based on the instructions executed within the devices. These instructions may be received from the control center. In or der to function smoothly, the devices in the IoT network may require frequent upgradation of firmware and other associated software. The software updates may be, for example, security fixes that may be necessary to avoid breaches. Since the num ber of devices in an IoT network may be huge, manual update of these devices may not be possible. Therefore, such updates may be communicated to the devices as a software package Over the Air (OTA) . However, complete installation of an update in an IoT enabled device may require the device to reboot .

Therefore, the IoT devices may be unavailable for a short du ration during the upgradation process. During this period, occurrence of some critical events that are to be monitored by the IoT enabled devices may result in untoward complica tions .

In the light of the above, there exists a need to provide a method and system for managing operation associated with an object on IoT enabled devices in an IoT environment, that minimize the impact of device unavailability in an IoT net work .

The object of the invention is therefore to provide a method and a system for managing operation associated with an object on IoT enabled devices, which is efficient and convenient.

This object is solved by a method of managing operation asso ciated with an object on IoT enabled devices according to claim 1, an IoT enabled device according to claim 12, a sys tem according to claim 13, a computer program product accord ing to claim 14 and a computer readable medium according to claim 15.

In the following, the solution according to the invention is described with respect to the claimed system as well as with respect to the claimed method. Features, advantages or alter- native embodiments herein can be assigned to the other claimed objects and vice versa. In other words, claims for the system can be improved with features described or claimed in the context of the method. In this case, the functional features of the method are embodied by objective units of the system. one aspect of invention relates to a method of managing oper ation of an object on an IoT enabled device in an IoT envi ronment. The method includes receiving an object intended for a target IoT device from a remote system. The remote system may be, for example, the control center or the IoT cloud platform. For example, the object may be a firmware upgrade for the target IoT device. Alternatively, the object may be a software update for security fixes that may be necessary to avoid breaches. Operation associated with the object may in clude, for example, installation if the object intended for the target IoT device is a software update. Alternatively, operation may mean deployment of software in the target IoT device. The IoT enabled device may be a device having IoT ca pability or a capability of communicating with an IoT cloud platform and/or IoT devices such as an edge device sitting at an edge of a premise or network.

The method further includes determining a criticality index associated with the object based on a set of pre-determined parameters associated with the object. The criticality index associated with the object may determine how quickly the op eration associated with the object may have to be performed in the target IoT device. The criticality index associated with the object may determine the importance of the object for the target IoT device. The criticality index may be de termined, for example, based on a message associated with the object. Alternatively, the object may be associated with a criticality classification which enables determination of the criticality index of the object. Therefore, for example, on a scale of 1 to 5, the classification parameter 1 may be asso ciated with highest criticality and the classification param eter 5 may be associated with lowest criticality.

In a preferred embodiment, determining the criticality index associated with the object includes identifying a criticality factor associated with each of the pre-determined parameters in the set of pre-determined parameters . The parameters may be, for example, a type of the target IoT device in which the operation associated with the object is to be performed, and/or the importance of the object. A criticality factor may be associated with each of the pre-determined parameters, which enables identification of the criticality factor of the parameter. The criticality factor may be depicted, for exam ple, by a numerical value. The criticality index is computed based on the identified criticality factors. For example, the criticality index may be a sum of the criticality factors. Alternatively, the criticality index may be an average value of the criticality factors.

In a preferred embodiment, initiating the operation associat ed with the object by the target IoT device includes deter mining whether the criticality index associated with the ob ject is greater than or equal to a pre-defined threshold. A threshold may be defined based on which the criticality index of the object may be determined. Advantageously, the opera tion associated with the object is performed by the target IoT device based on the criticality index being above or be low a threshold. Therefore, the device unavailability is man aged efficiently. If the criticality index is greater than or equal to the pre-determined threshold, the operation associ ated with the object is initiated by the target IoT device. If the criticality index is below the pre-determined thresh old, the operation associated with the object is deferred by the target IoT device. Such deference may be, for example, for a defined time period. Alternatively, the time period for which the operation is deferred may be determined dynamical ly. Therefore, the time period during which one or more IoT enabled devices are unavailable is reduced. Yet another ad vantage is that the impact of the unavailability of the IoT enabled device is minimized.

In a preferred embodiment, a suitable time period during which the operation associated with the object can be suc cessfully performed by the target IoT device is determined. Such operation is performed based on the criticality index. The suitable time period may also be termed as an execution slot or a time window within which the operation associated with the object is to be initiated by the target IoT device. In an embodiment, based on the criticality index, the opera tion associated with the object may have to be performed by the target IoT device within a short period of time. Advanta geously, the operation associated with critical objects may be performed without further delay.

In a preferred embodiment, in determining the suitable time period for initiating the operation associated with the ob ject, the method includes determining whether the operation associated with the object is to be initiated by the target IoT device. Such determination may be based on the criticali ty index associated with the object. If the operation associ ated with the object is to be initiated, a next available time period is determined for initiation of the operation.. The next available time period may be determined, for example based on one or more activities and artifacts queued for op eration in the target IoT device. Advantageously, the initia- tion of operation associated with the object by the target IoT device has minimal impact on the availability and func tioning of the target IoT device.

In a preferred embodiment, in determining the suitable time period for performing the operation associated with the ob ject by the target IoT device, the method includes determin ing whether the operation associated with the object is to be initiated by the target IoT device immediately. If so, all operations on the target IoT device are suspended to initiat ing the operation associated with the object. Such operation may be performed if the operation associated with the object has highest criticality for the target IoT device.

In a preferred embodiment, the operation associated with the object is initiated by the target IoT device based on the de termined suitable time period. Advantageously, the perfor mance of the operation of the object is managed efficiently in the IoT enabled devices.

In a further aspect, the method further includes determining a suitable time period during which the operation associated with the object can be successfully performed by the target IoT device. Based on the criticality index associated with the object, the operation associated with the object may be performed immediately or may be deferred. In determining the suitable time period, the method includes determining whether the operation associated with the object is deferred. In an embodiment, if the criticality index associated with the ob ject is below the pre-determined threshold, the operation as sociated with the object may be deferred by the target IoT device. The method further includes determining an event his tory of the target IoT device. The event history of the tar get IoT device may include time logs of occurrence of one or more events in the target IoT device. The event history may also include the type of the event and records of time taken for the execution of an event in the target IoT device. The event history may be recorded, for example, in a database.

The method further includes identifying a probability of oc currence of an incoming event in the target IoT device. The probability of occurrence of an incoming event may be deter mined, for example, based on the event history of the peer IoT devices and also the event history of the target IoT de vice. The peer IoT devices may be queried about the occur rence of an event in the past to determine the probability of occurrence of an incoming event in the target IoT device. The method further includes determining the suitable time period for the initiation of the operation associated with the ob ject based on the event history and the probability of occur rence of the incoming event. A time period when the target IoT device is most idle is determined based on the event his tory and the probability of occurrence of event in the target IoT device. The operation associated with the object may be performed by the target IoT device in this idle time period.

In a preferred embodiment, the operation associated with the object is initiated by the target IoT device based on the de termined suitable time period. Advantageously, the operation associated with the object is managed efficiently in the IoT enabled devices.

In a preferred embodiment, the object received by the target IoT device is an artefact to be executed in the target IoT device. For example, the object may be a firmware upgrade to be executed in the target IoT device. Alternatively, the ob ject may be a security update to be executed in the target IoT device. In a preferred embodiment, the event history of the target IoT device is updated based on the occurrence of the incoming event in peer IoT devices; wherein the target IoT device is offline during the performance of the operation associated with the object.

The invention further achieves the object by an IoT device for managing execution of an object in one or more IoT ena bled devices. The IoT device includes a processing unit; a database coupled to the processing unit; a memory coupled to the processing unit, the memory including an object manage ment module. The object management module is configured to receive an object intended for a target IoT device from a re mote system. The remote system may be, for example, the con trol center or the IoT cloud platform. For example, the ob ject may be a firmware upgrade for the target IoT device. Al ternatively, the object may be a software update for security fixes that may be necessary to avoid breaches. Operation as sociated with the object may include, for example, installa tion if the object intended for the target IoT device is a software update. Alternatively, operation may mean deployment of software in the target IoT device.

The object management module is further configured to deter mine a criticality index associated with the object based on a set of pre-determined parameters associated with the ob ject. The criticality index associated with the object may determine how quickly the operation associated with the ob ject may have to be performed in the target IoT device. The criticality index associated with the object may determine the importance of the object for the target IoT device. The criticality index may be determined, for example, based on a message associated with the object. Alternatively, the object may be associated with a criticality classification which en- ables determination of the criticality index of the object. Therefore, for example, on a scale of 1 to 5, the classifica tion parameter 1 may be associated with highest criticality and the classification parameter 5 may be associated with lowest criticality.

In a preferred embodiment, in determining the criticality in dex associated with the object the object management module is configured to identify a criticality factor associated with each of the pre-determined parameters in the set of pre determined parameters. The parameters may be, for example, a type of the target IoT device in which the operation associ ated with the object is to be performed, and/or the im portance of the object. A criticality factor may be associat ed with each of the pre-determined parameters, which enables identification of the criticality factor of the parameter.

The criticality factor may be depicted, for example, by a nu merical value. The criticality index is computed based on the identified criticality factors. For example, the criticality index may be a sum of the criticality factors. Alternatively, the criticality index may be an average value of the criti cality factors .

In a preferred embodiment, in initiating the operation asso ciated with the object by the target IoT device the object management module is configured to determine whether the criticality index associated with the object is greater than or equal to a pre-defined threshold. A threshold may be de fined based on which the criticality index of the object may be determined. Advantageously, the operation associated with the object is performed by the target IoT device based on the criticality index being above or below a threshold. There fore, the device unavailability is managed efficiently. If the criticality index is greater than or equal to the pre- determined threshold, the operation associated with the ob ject is initiated by the target IoT device. If the criticali ty index is below the pre-determined threshold, the operation associated with the object is deferred by the target IoT de vice. Such deference may be, for example, for a defined time period. Alternatively, the time period for which the opera tion is deferred may be determined dynamically. Therefore, the time period during which one or more IoT enabled devices are unavailable is reduced. Yet another advantage is that the impact of the unavailability of the IoT enabled device is minimized .

In a preferred embodiment, a suitable time period during which the operation associated with the object can be suc cessfully performed by the target IoT device is determined by the object management module. Such operation is performed based on the criticality index. The suitable time period may also be termed as an execution slot or a time window within which the operation associated with the object is to be ini tiated by the target IoT device. In an embodiment, based on the criticality index, the operation associated with the ob ject may have to be performed by the target IoT device within a short period of time. Advantageously, the operation associ ated with critical objects may be performed without further delay .

In a preferred embodiment, in determining the suitable time period for initiating the operation associated with the ob ject, the object management module is configured to determine whether the operation associated with the object is to be in itiated by the target IoT device. Such determination may be based on the criticality index associated with the object. If the operation associated with the object is to be initiated, a next available time period is determined for initiation of the operation. The next available time period may be deter mined, for example based on one or more activities and arti facts queued for operation in the target IoT device. Advanta geously, the initiation of operation associated with the ob ject by the target IoT device has minimal impact on the availability and functioning of the target IoT device.

In a preferred embodiment, in determining the suitable time period for performing the operation associated with the ob ject by the target IoT device, the object management module is configured to determine whether the operation associated with the object is to be initiated by the target IoT device immediately. If so, all operations on the target IoT device are suspended so as to initiate the operation associated with the object. Such operation may be performed if the object has highest criticality for the target IoT device.

In a preferred embodiment, the object management module is configured to initiate the operation associated with the ob ject based on the determined suitable time period. Advanta geously, the performance of the operation associated with the object in the IoT enabled devices is managed efficiently.

In a preferred embodiment, the object management module is configured to determine a suitable time period during which the operation associated with the object can be successfully performed by the target IoT device. Based on the criticality index associated with the object, the operation associated with the object may be performed immediately or may be de ferred. In determining the suitable time period, the object management module is configured to determine whether the op eration associated with the object is deferred. In an embodi ment, if the criticality index associated with the object is below the pre-determined threshold, the operation associated with the object may be deferred by the target IoT device. The object management module is further configured to determine an event history of the target IoT device. The event history of the target IoT device may include time logs of occurrence of one or more events in the target IoT device. The event history may also include the type of the event and records of time taken for the execution of an event in the target IoT device. The event history may be recorded, for example, in a database. The object management module is configured to iden tify a probability of occurrence of an incoming event in the target IoT device. The probability of occurrence of an incom ing event may be determined, for example, based on the event history of the peer IoT devices and also the event history of the target IoT device. The peer IoT devices may be queried about the occurrence of an event in the past to determine the probability of occurrence of an incoming event in the target IoT device. The object management module is configured to de termine the suitable time period for the initiation of the operation associated with the object based on the event his tory and the probability of occurrence of the incoming event . A time period when the target IoT device is most idle is de termined based on the event history and the probability of occurrence of event in the target IoT device. The operation associated with the object may be performed by the target IoT device in this idle time period.

In a preferred embodiment, the operation associated with the object is initiated by the target IoT device based on the de termined suitable time period. Advantageously, the operation associated with the object is managed efficiently in the IoT enabled devices.

In a preferred embodiment, the object received by the target IoT device is an artefact to be executed in the target IoT device. For example, the object may be a firmware upgrade to be executed in the target IoT device. Alternatively, the ob ject may be a security update to be executed in the target IoT device.

In a preferred embodiment, the event history of the target IoT device is updated based on the occurrence of the incoming event in peer IoT devices; wherein the target IoT device is offline during the performance of the operation associated with the object.

The invention relates in one aspect to a system including an IoT cloud platform and one or more devices, communicatively coupled to the IoT cloud platform. The one or more devices may be configured to manage an operation associated with an object in an IoT enabled device in an IoT environment.

The invention relates in one aspect to a computer program product comprising a computer program, the computer program being loadable into a storage unit of a system, including program code sections to make the system execute the method according to an aspect of the invention when the computer program is executed in the system.

The invention relates in one aspect to a computer-readable medium, on which program code sections of a computer program are saved, the program code sections being loadable into and/or executable in a system to make the system execute the method according to an aspect of the invention when the pro gram code sections are executed in the system.

The realization of the invention by a computer program prod uct and/or a computer-readable medium has the advantage that already existing allocation systems can be easily adopted by software updates in order to work as proposed by the inven tion .

The computer program product can be, for example, a computer program or comprise another element apart from the computer program. This other element can be hardware, for example a memory device, on which the computer program is stored, a hardware key for using the computer program and the like, and/or software, for example a documentation or a software key for using the computer program.

The present invention is further described hereinafter with reference to illustrated embodiments shown in the accompany ing drawings, in which:

FIG 1 is a schematic representation of an Internet-of-

Things (IoT) environment, according to a first em bodiment .

FIG 2 is a block diagram of an IoT-cloud platform as shown in FIG 1, according to the first embodiment. FIG 3 illustrates a flowchart of a method of managing an operation associated with an object in one or more IoT enabled devices, according to an embodiment.

FIG 4 illustrates a flowchart of a method managing an op eration associated with an object in one or more IoT enabled devices, according to an embodiment.

FIG 5 illustrates a flowchart of a method of initiating an operation associated with the object by the tar get IoT device, according to an embodiment.

FIG 6 illustrates a flowchart of a method of determining a suitable time period during which the operation associated with the object may be successfully per formed, according to an embodiment . FIG 7 illustrates a flowchart of a method of determining a suitable time period during which the operation associated with the object may be successfully per formed, according to another embodiment .

FIG 8 illustrates a flowchart of a method of determining a suitable time period for the operation associated with the object, when the operation is deferred, according to an embodiment .

Hereinafter, embodiments for carrying out the present inven tion are described in detail. The various embodiments are de scribed with reference to the drawings, wherein like refer ence numerals are used to refer to like elements throughout. In the following description, for purpose of explanation, nu merous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details.

FIG 1 is a schematic representation of an Internet-of-Things ( IoT) environment 100, according to a first embodiment. The IoT environment 100 comprises an IoT-cloud platform 102, one or more plants 107 connected to the IoT-cloud platform 102, and a user device 108. The plants 107 can be an industrial setup such as manufacturing facility, power plant, etc. The plants 107 may be geographically distributed. Each of the plants 107 may comprise IoT-based devices or IoT enabled de vices 104A-N. The IoT-based devices 104A-N can be edge devic es, IoT gateways, and/or different types of assets (equip ment, machines, devices, sensors, actuators, etc.) located in the plant 107. Each of the IoT-based devices 104A-N is capa ble of communicating with the IoT-cloud platform 102 using respective communication interfaces 120A-N via communication links 116A-C via the Internet. Also, the IoT-based devices 104A-N are capable of communicating with each other using re spective communication interfaces 120A-N via communication links 116D to 116F. The communication links 116D to 116F can be wired or wireless links.

Also, in the plant 107, the one or more IoT-based devices 104N may be connected to assets 106A-N in the plant 107 which cannot directly communicate with the IoT-cloud platform 102. As shown in FIG. 1, the IoT-based device 104N is connected to assets 106A-N via wired or wireless network. For example, the IoT-based device 104N may be an IoT gateway and the assets 106A-N may be robots, sensors, actuators, machines, robots, or other field devices which communicate to the IoT-cloud platform 102 via the IoT gateway 104N.

Each of the IoT-based devices 104A-N is configured for com municating with the IoT-cloud platform 102 via the communica tion interfaces 120A-N. The IoT-based devices 104A-N may have an operating system and at least one software program for performing desired operations in the plant 107. Also, the IoT-based devices 104A-N may run software applications for collecting, and pre-processing plant data (process data) and transmitting the pre-processed data to the IoT-cloud platform 102. The plant data is sensitive data and needs to be handled in a secured manner. For this, the IoT environment 100 needs to be secured and free from security attacks (such as hacker attacks, malware attacks, etc.) . It is important that the IoT-based devices 104A-N comply with pre-defined security re quirements (e.g., security policies, security rules, etc.) to keep the IoT environment 100 free from cyber-attacks and oth er security risks. For example, the IoT-based devices 104A-N should have up-to-date security algorithms and certificates (e.g., anti-virus software, anti-malware software, security certificates, software patches, etc.). The IoT-cloud platform 102 can be a cloud infrastructure ca pable of providing cloud-based services such data storage services, data analytics services, data visualization ser vices, etc. based on the plant data. The IoT-cloud platform 102 can be part of public cloud or a private cloud. The IoT- cloud platform 102 may enable data scientists/software ven dors to provide software applications/firmware as a service, thereby eliminating a need for software maintenance, upgrad ing, and backup by the users. The software application can be full application, or software patch.

The IoT-cloud platform 102 is further illustrated in greater detail in FIG 2. Referring to FIG 2, the IoT cloud platform comprises a processing unit 201, a memory 202, a storage unit 203, a network interface 114 and a standard interface or bus 207. The IoT cloud platform 102 may be an exemplary embodi ment of a system. The system 102 can be a (personal) comput er, a workstation, a virtual machine running on host hard ware, a microcontroller, or an integrated circuit. As an al ternative, the system 102 can be a real or a virtual group of computers (the technical term for a real group of computers is "cluster", the technical term for a virtual group of com puters is "cloud") .

The processing unit 201, as used herein, means any type of computational circuit, such as, but not limited to, a micro processor, microcontroller, complex instruction set computing microprocessor, reduced instruction set computing micropro cessor, very long instruction word microprocessor, explicitly parallel instruction computing microprocessor, graphics pro cessor, digital signal processor, or any other type of pro cessing circuit. The processing unit 201 may also include em bedded controllers, such as generic or programmable logic de- vices or arrays, application specific integrated circuits, single-chip computers, and the like. In general, a processing unit 201 can comprise hardware elements and software ele ments. The processing unit 201 can be configured for multi threading, i.e. the processing unit 201 can host different calculation processes at the same time, executing the either in parallel or switching between active and passive calcula tion processes.

The memory 202 may be volatile memory and non-volatile memory. The memory 202 may be coupled for communication with the processing unit 201. The processing unit 201 may execute instructions and/or code stored in the memory 202. A variety of computer-readable storage media may be stored in and ac cessed from the memory 202. The memory 202 may include any suitable elements for storing data and machine-readable in structions, such as read only memory, random access memory, erasable programmable read only memory, electrically erasable programmable read only memory, a hard drive, a removable me dia drive for handling compact disks, digital video disks, diskettes, magnetic tape cartridges, memory cards, and the like. In the present embodiment, the memory 202 includes an operation management module 110 stored in the form of ma chine-readable instructions on any of the above-mentioned storage media and may be in communication to and executed by processing unit 201. When executed by the processing unit 201, the operation management module 110 causes the pro cessing unit 201 to manage operation associated with an ob ject in an IoT enabled devices in an IoT environment. The op eration management module may further cause the processing unit to determine a criticality index of the object and to initiate the operation associated with the object by a target IoT device based on the criticality index. Method steps exe cuted by the processing unit 201 to achieve the abovemen- tioned functionality are elaborated upon in detail in FIG 3, 4, 5, 6, 7 and 8.

The storage unit 203 may be a non-transitory storage medium which stores an operation management database 112. The opera tion management database 112 may store an event history of the one or more IoT enabled devices. Additionally, the opera tion management database 112 may also store the object before the initiation of the operation associated with the object in the target IoT device. The bus 207 acts as interconnect be tween the processing unit 201, the memory 202, the storage unit 203, and the network interface 114.

Those of ordinary skill in the art will appreciate that the hardware depicted in FIG 2 may vary for particular implemen tations. For example, other peripheral devices such as an op tical disk drive and the like, Local Area Network (LAN) / Wide Area Network (WAN)/ Wireless (e.g., Wi-Fi) adapter, graphics adapter, disk controller, input/output (I/O) adapter also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

A system in accordance with an embodiment of the present dis closure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface sim ultaneously with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event such as clicking a mouse button, generated to actuate a desired re sponse .

One of various commercial operating systems, such as a ver sion of Microsoft Windows™, a product of Microsoft Corpora tion located in Redmond, Washington may be employed if suita bly modified. The operating system is modified or created in accordance with the present disclosure as described.

The present invention is not limited to a particular computer system platform, processing unit, operating system, or net work. One or more aspects of the present invention may be distributed among one or more computer systems, for example, servers configured to provide one or more services to one or more client computers, or to perform a complete task in a distributed system. For example, one or more aspects of the present invention may be performed on a client-server system that comprises components distributed among one or more serv er systems that perform multiple functions according to vari ous embodiments. These components comprise, for example, exe cutable, intermediate, or interpreted code, which communicate over a network using a communication protocol. The present invention is not limited to be executable on any particular system or group of systems, and is not limited to any partic ular distributed architecture, network, or communication pro tocol .

Disclosed embodiments provide systems and methods for manag ing operation associated with an object in one or more IoT enabled devices in an IoT environment. In particular, the systems and methods may initiate operation associated with an object in a target IoT device based on a criticality index associated with the object. FIG 3 illustrates a flowchart of a method 300 of an exemplary method of managing operation associated with an object in one or more IoT enabled devices 104A-104N in an IoT environment 100, according to an embodiment. At step 301, an object in tended for a target IoT device 104A is received. In an embod iment, the object may be an artefact to be executed in a tar get IoT device 104A. For example, the object may be a firm ware upgrade to be executed in the target IoT device 104A for a security fix. Alternatively, the object may be an update which corrects an error in the operation of the target IoT device 104A. Such object may be received by the target IoT device 104A from the IoT cloud platform 102. The IoT cloud platform 102 may control and monitor communication between one or more IoT enabled devices 104A-N in an IoT network. At step 302, the criticality index of the object is determined. In an embodiment, one or more pre-determined parameters may be associated with the object. The pre-determined parameters may enable determining the criticality index of the object. The pre-determined parameters may define the importance of the object for the target IoT device 104A. In an embodiment, the criticality index may be determined, for example, based on a message associated with the object. Alternatively, a classification may be associated with the object based on which the criticality index of the object may be determined. For example, the classification of the object may be defined on a fixed scale of 1 to 5. The classification parameter 1 may be associated with highest criticality and the classifi cation parameter 5 may be associated with lowest criticality. Such message or classification is determined based on the set of pre-determined parameters associated with the object.

In an embodiment, the pre-determined parameters may include, for example, the device on which the object is to be in stalled. For example, if target IoT device 104A on which the operation associated with the object is to be managed is an edge device sitting at an edge of a premise or network, the operation associated with such object may have to be initiat ed on such target IoT device 104A with higher priority. The pre-determined parameters may also include the importance of the object to be executed in the target IoT device 104A. The method steps of determining the criticality index associated with the object is elaborated in detail under FIG 4.

At step 303 of the method 300, a suitable time period during which the operation associated with the object can be suc cessfully performed by the target IoT device 104A is deter mined. In an embodiment, the suitable time period for the performance of the operation associated with the object is determined based on the criticality index associated with the object, event history of the target IoT device 104A and/or probability of occurrence of an event in the target IoT de vice 104A. The method steps of determining the suitable time period for initiation of the operation associated with the object is elaborated in FIG 6, 7 and 8. At step 304, the op eration associated with the object is initiated based on the determined suitable time period.

FIG 4 illustrates a flowchart of an exemplary method 400 of determining the criticality index associated with the object, according to an embodiment. At step 401, a set of pre

determined parameters associated with the object are deter mined. The parameters may be, for example, a type of the tar get IoT device 104A in which the operation associated with the object is to be performed, and/or the importance of the object. At step 402, criticality associated with each of the pre-determined parameter is identified. A criticality factor may be associated with each of the pre-determined parameters, which enables identification of the criticality of the param- eter. Based on the criticality factors, the criticality index associated with the object is determined. In an embodiment, if the importance of the object, the criticality factor asso ciated with this pre-determined parameter is high. Similarly, criticality factor of each of the pre-determined parameters is identified. The criticality factor may be depicted, for example, by a numerical value. In an embodiment, higher the numerical value, higher is the criticality factor of the pre determined parameter. At step 403, the criticality index of the object is computed based on the criticality factor of the pre-determined parameters. For example, the criticality index may be a sum of the criticality factors. Alternatively, the criticality index may be an average value of the criticality factors .

FIG 5 illustrates a flowchart of an exemplary method 500 of initiating an operation associated with the object by the target IoT device 104A, according to an embodiment. At step 501, the criticality index of the object is determined based on the one or more pre-determined parameters. At step 502, the determination of the criticality index being above a de fined threshold level is made. In an embodiment, the thresh old level determines the criticality of the object for the target IoT device 104A. Therefore, if the criticality index is above the threshold, the criticality of the object is high. However, if the criticality index is below the thresh old, the criticality of the object is low. If the criticality index is above the threshold level, at step 503 the operation associated with the object is initiated by the target IoT de vice. If the criticality index is below the threshold level, at step 504, the operation associated with the object is de ferred by the target IoT device. FIG 6 illustrates a flowchart of an exemplary method 600 of determining a suitable time period during which the operation associated with the object may be successfully performed, ac cording to an embodiment. At step 601, the criticality index associated with the object is determined. At step 602, the determination of the criticality index being above a defined threshold level is made. If the criticality level is above the defined threshold, at step 603 a next available time slot in the target IoT device 104A is computed. The next available time slot may be computed, for example, based on an existing queue of tasks in the target IoT device 104A. At step 604, the operation associated with the object is initiated by the target IoT device 104A based on the computed next available time slot. If the criticality index associated with the ob ject is below the threshold, at step 605, the operation asso ciated with the object is deferred.

FIG 7 illustrates a flowchart of method 700 of determining a suitable time period during which the operation associated with the object may be successfully performed, according to another embodiment. At step 701, the criticality index asso ciated with the object is determined. At step 702, the deter mination of the criticality index being above a defined threshold level is made. If the criticality index is above the threshold level, whether the execution of the object is urgent is determined at step 704. If the execution of the ob ject is urgent, at step 705, all ongoing tasks on the target IoT device 104A are suspended to accommodate the operation associated with the object by the target IoT device 104A. At step 706, the operation associated with the object is initi ated by the target IoT device 104A. If the execution of the object is not urgent, at step 707 a next available time peri od for the operation associated with the object is deter mined. Based on the available time period, the operation as- sociated with the object is initiated in the target IoT de vice 104A.

FIG 8 illustrates a flowchart of an exemplary method 800 of determining a suitable time period for the initiation of the operation associated with the object in the target IoT device 104A, when the execution of the object is deferred. At step 801, the criticality index associated with the object is de termined. At step 802, the determination of the criticality index being above a defined threshold level is made. If the criticality index associated with the object is low, at step 803, the event history of the target IoT device 104A is de termined to identify a suitable time period for the initia tion of the operation associated with the object. The event history may include, for example, one or more logs associated with the target IoT device 104A. The logs may include a time series history of events which may provide information relat ed to a time period in a day during which the number of events occurred the most and at which time periods the events occurred the least. In an embodiment, an average number of events that occur in a given time period is determined. The average number of events occurring in the given time period may change dynamically based on, for example, changes in the IoT environment, changes in the operating hours of the target IoT device 104A, etc. At step 804, event history of one or more peer devices 104B-N in the IoT network is checked to de termine a probability of occurrence of an event in the target IoT device 104A. In an embodiment, the activity details of the peer devices may be checked to determine the chance of occurrence of an incoming event in the target IoT device 104A. At step 805, the determination of whether a probability of occurrence of an event exists is made. For example, a que ry message may be broadcasted to the peer devices 104B-N in the IoT network to determine the probability of occurrence of an event. Alternatively, the control center or the IoT cloud platform 102 may be queried to send information about the peer devices 104B-N that are in the vicinity of the target IoT device 104A. If there is no probability, the operation associated with the object is initiated in the target IoT de vice and the operation associated with the object is per formed in the target IoT device 104A at step 806. In an em bodiment, on performing the operation associated with the ob ject on the target IoT device 104A, a notification may be sent to the control center or the IoT cloud platform 102 about the status of such operation.

If a probability of an occurrence of an event in the target IoT device 104A exists, at step 807, no action is taken for a pre-defined wait period. On expiry of the predefined wait pe riod, the activity of the peer devices 104B-N is checked again for initiation of operation associated with the object in the target IoT device 104A. In an embodiment, if the suit able time period within which the operation associated with the object is to be performed has lapsed before the expiry of the pre-defined wait period, the event history of the target IoT device 104A is determined again to identify another suit able time period for such initiation. Additionally, if the occurrence of an event is identified in the peer devices 104B-N, a probability of occurrence of a similar event in the target IoT device 104A is determined. Such a probability may be determined based on a co-occurrence of events recorded in the event history of the target IoT device 104A and/or the peer devices 104B-N. In an embodiment, the pre-defined wait period may be dynamically adjusted. The optimum wait period may be learned using, for example, reinforcement learning. In yet another embodiment, the target IoT device 104A may be of fline during the performance of the operation associated the object. When the target IoT device 104A is offline, the event history of the target IoT device 104A may be updated based on the event history of the peer IoT devices 104B-N.

The foregoing examples have been provided merely for the pur pose of explanation and are in no way to be construed as lim iting of the present invention disclosed herein. While the invention has been described with reference to various embod iments, it is understood that the words, which have been used herein, are words of description and illustration, rather than words of limitation. Further, although the invention has been described herein with reference to particular means, ma terials, and embodiments, the invention is not intended to be limited to the particulars disclosed herein; rather, the in vention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the append ed claims. Those skilled in the art, having the benefit of the teachings of this specification, may effect numerous mod ifications thereto and changes may be made without departing from the scope and spirit of the invention in its aspects.