Sign In to Follow Application
View All Documents & Correspondence

An Event Processing System For Small Or Micro Computing Devices

Abstract: An event processing system (100) for small or micro computing devices in a network that does not depend on a central host or a controller to process events is disclosed. The system (100) comprises a device engine (101), an event pump engine (102), an incoming event queue (103), a verifier unit (1021), and an outgoing event queue (105). The method of processing the incoming and outgoing event by the system (100) is also disclosed.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
20 August 2018
Publication Number
38/2018
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
pramesh.kannan@rediffmail.com
Parent Application
Patent Number
Legal Status
Grant Date
2019-04-18
Renewal Date

Applicants

QUARKIFI TECHNOLOGIES PRIVATE LIMITED
Colife 6thFloor, Gamma Block, Sigma Softtech Park, Varthur Kodi, Whitefield, Bengaluru–560066, Karnataka, India.

Inventors

1. Anirban Bhattacharya
3132, Sobha Rose, Whitefield Main Road, Whitefield, Bangalore – 560066, Karnataka, India.

Specification

TITLE OF THE INVENTION: AN EVENT PROCESSING SYSTEM FOR SMALL OR MICRO COMPUTING DEVICES
FIELD OF THE INVENTION
The present disclosure is generally related to an event processing system for small or micro computing devices in a network. The present disclosure is particularly related to an event processing system for small or micro computing devices in a network that does not depend on a central host or controller to process the events.
BACKGROUND OF THE INVENTION
Small or micro devices in Internet of Things domain needed to act on events in coordination or as a response to the peer devices. Normally, these events are processed/handled by one or more powerful central hosts or controllers. The event processing/handling will be more challenging in the absence of central hosts or controllers because of: the small or micro devices needed to process many intended and/or unintended events with limited computing power; too much power will be consumed by the small or micro devices in processing/handling the unintended events.
Different techniques such as mesh networking and network division and dimensioning are available to address the above problem. But they are also having their own limitations. The mesh networks add latency to the network and the messages takes more time to reach the end clients. Also, network becomes highly complicated as it grows. The network division and dimensioning limits the network growth and it requires more energy and effort to re-dimensioning the network.
The above problem may be addressed by the technique of divulging two types of devices with varying processing power who can become master nodes and perform better computation with more resources. However, implementing master nodes in this technique is too costly and complex. Also, for a large-scale application, these master nodes combined will be too costly to implement and manage.
There is, therefore, a need in the art for an event processing system for small or micro computing devices in a network without depending on a central host or controller to process the events that is simple and cost effective.

SUMMARY OF THE INVENTION
An event processing system for small or micro-computing devices that does not depend on a central host or a controller to process events is disclosed. The system comprises a device engine that: acts on all functions of the small or micro computing device, generates an event whenever necessary in a pre-defined structure, pushes the event to an outgoing event queue of an event pump engine, and multicasts the event in the specific domain with redundant packets to maximize delivery chances, following which that event is propagated to the network in a first pre-defined order
The event in a pre-defined structure comprises an event header, said event header comprising a domain security hash and a serial number that facilitates the event pump engine to decide whether the event is to be processed or to be discarded. An event source and delegate mode carries the information about the small or micro device from which the event is propagated in the network and information about the event. An event time and action contains the timestamp of the event for processing the events in chronological order, and details of an action to be performed if the event is accepted for processing.
An incoming event queue receives the events propagated by one or more small or micro devices in the network and sends them to the event pump engine for verification in a second pre-defined order.
A verifier unit checks the event source information of each event. If the event source is not present in a processing map maintained by each small or micro device, the event is rejected. If the event source is present in the processing map maintained by each small or micro device, the event is pushed to the device engine for processing the event.
The method of processing the incoming and outgoing event by the system is also disclosed.
BRIEF DESCRIPTION OF THE INVENTION
A better understanding of the present invention can be obtained from the detailed description in conjunction with the following drawings.
Figure 1 is a block diagram illustrating the system architecture of an embodiment of the present disclosure.
Figure 2 is a block diagram illustrating an event structure propagated by the system in accordance with an embodiment of the present disclosure.

Figure 3 illustrates the real-time working of the system in accordance with an embodiment of the present disclosure.
Figure 4 is a flowchart illustrating the method of delivery of an outgoing event by the system in accordance with an embodiment of the present disclosure.
Figure 5 is a flowchart illustrating the method of processing an incoming event by the system in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
Throughout this specification, the use of the word "comprise" and variations such as "comprises" and "comprising" may imply the inclusion of an element or elements not specifically recited.
Throughout this specification the term small or micro computing device refers to computing devices with less than 100 KB of memory and less than 100 Mhz of processing power, including, but not limited to, Internet of Things (IoT).
Throughout this specification the term ‘process’ and variations such as ‘processes’ and ‘processing’ may imply delivery/propagation and/or receipt of one or more events and subsequent processes.
Figure 1 is a block diagram that illustrates an event processing system (100) for small or micro computing devices in a network that does not depend on a central host or a controller to process events, in accordance with the embodiments of the present disclosure. The system (100) comprises a device engine (101), an event pump engine (102), an incoming event queue (103), a verifier unit (1021), and an outgoing event queue (105).
The device engine (101) acts on all functions of the small or micro computing device. On any action where an event is to be generated, the device engine (101) creates the event in a pre-defined structure as illustrated in Figure 2 and pushes the event to the outgoing event queue (105) of the event pump engine (102), following which that event is propagated to the network (106) in a first pre-defined order. The incoming event queue (103) receives the events propagated by one or more small or micro devices in the network (104) and sends them to the event pump engine (102) for verification in a second pre-defined order. The verifier unit (1021) in the device engine (102) performs a qualification check and sends the

event to the device engine (101) for further processing, if the event is qualified, or rejects the event, if the event is not qualified.
The event pump engine (102) acts as an input engine and output engine for the input events and the output events, respectively. The event pump engine (102) reads the incoming events from the incoming event queue (103) and checks for qualified events, which are then pushed to the device engine (101) for further processing. The event pump engine (102) reads the outgoing event queue (105) and multicasts the event in the specific domain with redundant packets to maximize delivery chances.
The event generated by the device engine (101), as illustrated in Figure 2, comprises an event header (201), which comprises a domain security hash (domain key) and a serial number that facilitates the event pump engine (102) to decide whether the event is to be processed or to be discarded; an event source and delegate mode (202); and an event time and action (203).
The event source and delegate mode (202) carries the source of the event i.e. the information about the small or micro device from which the event is propagated in the network and information about the event.
Each small or micro device will maintain a processing map which contains information about all the sources of events. Hence, each small or micro device accepts the events only from the other small or micro devices which are present in its processing map as a source of the event.
The event time and action (203) contains the timestamp of the event for processing the events in chronological order, and details of an action to be performed if the event is accepted for processing.
Figure 3 illustrates the real-time working of the system in accordance with an embodiment of the present disclosure. The figure clearly depicts how the different small or micro devices (301, 302) in the network exchange the events within them and process them effectively with the help of the event pump engine (102) and device engine (101) of the present system (100), without depending on a central host or a controller to process the events.
The method of generation and delivery/propagation of the event by the system (100) in accordance with an embodiment of the present disclosure is illustrated in Figure 4. The device engine (101) monitors the small or micro device for any changes in its state (401). If such changes are detected, the device engine (101) generates an event related to the change in

a pre-defined structure, as illustrated in Figure 2, and pushes that event (402) to the outgoing event queue (105) of the event pump engine (102), following which the event is propagated/delivered to the network (403) with its corresponding domain key.
The method of processing of an incoming event by the system (100) in accordance with an embodiment of the present disclosure is illustrated in Figure 5. Events that are propagated/delivered by one or more small or micro devices in the network are received (501) by the incoming event queue (103) of the event pump engine (102). The verifier unit (1021) in the event pump engine (102) checks the header of each event received (502) and takes it forward to the next level only if the domain security hash in the event header matches with the network domain (503). If the domain security hash in the event header does not match with the network domain (503), the event is rejected (504). In the next step, the verifier unit (1021) checks the event source information of each event (505). If the event source is not present in the processing map, the event is rejected (504) or if the event source is present, the event is pushed (506) to the device engine (101) for processing the event. Finally, the device engine (101) reads the information about the action (507) and triggers the intended action (508) defined in the event.
It will be apparent to a person skilled in the art that the above description is for illustrative purposes only and should not be considered as limiting. Various modifications, additions, alterations and improvements without deviating from the spirit and the scope of the disclosure may be made by a person skilled in the art. Such modifications, additions, alterations and improvements should be construed as being within the scope of this disclosure.

LIST OF REFERENCE NUMERALS:
100 - An event processing system for small or micro-computing devices
101 – Device Engine
102 – Event Pump Engine 1021 – Verifier Unit
103 – Incoming Event Queue
104 – Event from Network
105 – Outgoing Event Queue
106 – Event to Network

200 – Pre-defined Structure of an Event
201 – Event Header
202 – Event Source and Delegate Mode
203 – Event Time and Event Action 301, 302 – Small or Micro Devices

401 – Monitoring the small or micro device for any changes in its state
402 – Pushing the generated event to the outgoing event queue
403 – Propagating the event to the network

501 – Receiving the incoming event by incoming event queue
502 – Checking the event header for domain security hash
503 – Accepting and forwarding the event to the next level
504 – Rejecting the event
505 – Checking the event source information
506 – Pushing the event to the device engine
507 – Reads the information about the action
508 – Performing the intended action

We claim
1. An event processing system (100) for small or micro-computing devices that does not depend on a central host or a controller to process events, comprising:
a device engine (101) that: acts on all functions of the small or micro computing device, generates an event whenever necessary in a pre-defined structure, pushes the event to an outgoing event queue (105) of an event pump engine (102), and multicasts the event in the specific domain with redundant packets to maximize delivery chances, following which that event is propagated to the network (106) in a first pre-defined order; said event in a pre-defined structure comprising:
an event header (201), said event header (201) comprising a domain security hash and a serial number that facilitates the event pump engine (102) to decide whether the event is to be processed or to be discarded;
an event source and delegate mode (202) that carries the information about the small or micro device from which the event is propagated in the network and information about the event; and
an event time and action (203) that contains the timestamp of the event for processing the events in chronological order, and details of an action to be performed if the event is accepted for processing;
an incoming event queue (103), that receives the events propagated by one or more small or micro devices in the network (104) and sends them to the event pump engine (102) for verification in a second pre-defined order; and
a verifier unit (1021) that checks the event source information of each event (505) and pushes (506) the event to the device engine (101) for processing the event if the event source is present in a processing map maintained by each small or micro device, or rejects (504) the event if the event source is present is not present in the processing map.

2. A method of generation and delivery/propagation of the event by the system (100) as
claimed in in claim 1 comprising:
monitoring the small or micro device for any changes in its state (401) by the
device engine (101);
generating an event related to the change in the state of the small or micro
device in a pre-defined structure by the device engine (101);
pushing the generated event (402) to the outgoing event queue (105) of the
event pump engine (102); and
delivering/propagating the event to the network (403) with its corresponding
domain security hash.
3. A method of processing of an incoming event by the system (100) as claimed in claim
1, comprising:
receiving an event propagated/delivered a small or micro device in the
network by the incoming event queue (103) of the event pump engine (102);
checking the header of the event received by the verifier unit (2021) for a
domain security key;
taking the event forward to the next level if the domain security hash in the
event header matches with the network domain or rejecting the event if the
domain security hash does not match with the network domain;
checking the event source information of the event;
pushing the event to the device engine (101) for further processing if the event
source is present in the processing map of the small or micro device or
rejecting the event if the event source is not present in the processing map of
the small or micro device; and
reading the information about the action and triggering the intended action by
the device engine (101).

Documents

Application Documents

# Name Date
1 201841031195-FORM FOR STARTUP [20-08-2018(online)].pdf 2018-08-20
2 201841031195-FORM FOR SMALL ENTITY(FORM-28) [20-08-2018(online)].pdf 2018-08-20
3 201841031195-FORM 1 [20-08-2018(online)].pdf 2018-08-20
4 201841031195-FIGURE OF ABSTRACT [20-08-2018(online)].jpg 2018-08-20
5 201841031195-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [20-08-2018(online)].pdf 2018-08-20
6 201841031195-EVIDENCE FOR REGISTRATION UNDER SSI [20-08-2018(online)].pdf 2018-08-20
7 201841031195-DRAWINGS [20-08-2018(online)].pdf 2018-08-20
8 201841031195-DECLARATION OF INVENTORSHIP (FORM 5) [20-08-2018(online)].pdf 2018-08-20
9 201841031195-COMPLETE SPECIFICATION [20-08-2018(online)].pdf 2018-08-20
10 abstract 201841031195.jpg 2018-08-29
11 201841031195-Proof of Right (MANDATORY) [30-08-2018(online)].pdf 2018-08-30
12 201841031195-FORM-26 [30-08-2018(online)].pdf 2018-08-30
13 201841031195-ENDORSEMENT BY INVENTORS [30-08-2018(online)].pdf 2018-08-30
14 Correspondence by Agent_Form 1,Form 5,POA_31-08-2018.pdf 2018-08-31
15 201841031195-FORM-9 [15-09-2018(online)].pdf 2018-09-15
16 201841031195-FORM 18A [15-09-2018(online)].pdf 2018-09-15
17 201841031195-FER.pdf 2018-10-10
18 201841031195-OTHERS [27-11-2018(online)].pdf 2018-11-27
19 201841031195-FER_SER_REPLY [27-11-2018(online)].pdf 2018-11-27
20 201841031195-CLAIMS [27-11-2018(online)].pdf 2018-11-27
21 Correspondence by Agent_Declaration,Certificate of recognition_29-11-2018.pdf 2018-11-29
22 201841031195-HearingNoticeLetter.pdf 2019-02-13
23 201841031195-Written submissions and relevant documents (MANDATORY) [19-03-2019(online)].pdf 2019-03-19
24 201841031195-RELEVANT DOCUMENTS [12-04-2019(online)].pdf 2019-04-12
25 201841031195-PETITION UNDER RULE 137 [12-04-2019(online)].pdf 2019-04-12
26 201841031195-MARKED COPY [16-04-2019(online)].pdf 2019-04-16
27 201841031195-CORRECTED PAGES [16-04-2019(online)].pdf 2019-04-16
28 Marked up Claims_Granted 311354_18-04-2019.pdf 2019-04-18
29 Drawings_Granted 311354_18-04-2019.pdf 2019-04-18
30 Description_Granted 311354_18-04-2019.pdf 2019-04-18
31 Claims_Granted 311354_18-04-2019.pdf 2019-04-18
32 Abstract_Granted 311354_18-04-2019.pdf 2019-04-18
33 201841031195-PatentCertificate18-04-2019.pdf 2019-04-18
34 201841031195-IntimationOfGrant18-04-2019.pdf 2019-04-18
35 Correspondence by Applicant_Startup_25-06-2019.pdf 2019-06-25
36 201841031195-RELEVANT DOCUMENTS [17-03-2020(online)].pdf 2020-03-17
37 201841031195-RELEVANT DOCUMENTS [18-09-2021(online)].pdf 2021-09-18
38 201841031195-RELEVANT DOCUMENTS [28-09-2022(online)].pdf 2022-09-28
39 201841031195-RELEVANT DOCUMENTS [24-09-2023(online)].pdf 2023-09-24
40 201841031195-FORM FOR STARTUP [19-08-2024(online)].pdf 2024-08-19
41 201841031195-EVIDENCE FOR REGISTRATION UNDER SSI [19-08-2024(online)].pdf 2024-08-19
42 201841031195-OTHERS [19-08-2025(online)].pdf 2025-08-19
43 201841031195-FORM FOR STARTUP [19-08-2025(online)].pdf 2025-08-19

Search Strategy

1 201841031195_search_10-10-2018.pdf

ERegister / Renewals

3rd: 15 Aug 2020

From 20/08/2020 - To 20/08/2021

4th: 10 Aug 2021

From 20/08/2021 - To 20/08/2022

5th: 14 Aug 2022

From 20/08/2022 - To 20/08/2023

6th: 16 Aug 2023

From 20/08/2023 - To 20/08/2024

7th: 19 Aug 2024

From 20/08/2024 - To 20/08/2025

8th: 19 Aug 2025

From 20/08/2025 - To 20/08/2026