Abstract: ABSTRACT AN OPERATING SYSTEM FOR VENDING MACHINES (VendOS) A computer implemented method embodied in an operating system is described. The method comprises implementing a user space for hosting an application (202) and implementing a kernel space. The kernel space comprises a hardware encapsulation layer hosting one or more hardware independent functions of the application (202). A function of the one or more hardware independent functions allows at least one of configuration and calibration of a hardware component of a device. The kernel space further comprises an input/output (I/O) management layer (206) for enabling communication with the hardware component via the hardware encapsulation layer (204). The I/O management layer (204) enables controlling of the hardware component via a system bus (102). The kernel space comprises a compute layer for managing resource allocation and process scheduling for the device. [To be published with Fig. 1]
Description:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
AN OPERATING SYSTEM FOR VENDING MACHINES (VendOS)
Applicant:
Canectar Foods Private Limited
An Indian Company
Having address:
B1-2102/2103, F Residences, S. No.44/45, Balewadi, Pune – 411045,
Maharashtra, India
The following specification describes the invention and the manner in which it is to be performed.
PRIORITY INFORMATION
[001] The present application does not claim a priority from any other application.
FIELD OF INVENTION
[002] The present invention is directed to an operating system, and more particularly to an operating system that is agnostic to any hardware.
BACKGROUND OF INVENTION
[003] An Operating System (OS) is a critical software component that serves as an intermediary between computer hardware and applications. It plays a fundamental role in managing system resources, providing a user interface, and ensuring efficient execution of software applications. An OS serves as the backbone of a computer system, providing the necessary abstractions and services for hardware and software to work together efficiently and securely. Its functions encompass resource management, user interaction, security, and the smooth execution of applications, making it a crucial component of modern computing.
[004] However, traditional OS does not provide direct access of hardware components managed through the OS. Access to the hardware components is achieved via passing of a control or configure command through several layers of the OS. Such layers include applications layer, services layer, device driver layer, and hardware layer. Further, applications are typically developed at the application layer for accessing or controlling hardware, and control of hardware via applications requires specific routines or functions in these applications.
[005] Therefore, there exists a need of an OS that is hardware agnostic and allows quick execution of commands.
SUMMARY
[006] It is one of the objectives of the present disclosure to provide a computer implemented method embodied in an operating system, and that avoids the drawbacks of the prior art. The present disclosure provides a computer implemented method embodied in an operating system is described. The computer implemented method comprises implementing an operating system in a user space and a kernel space. The kernel space comprises a hardware encapsulation layer hosting one or more hardware independent functions of the application. A function of the one or more hardware independent functions allows at least one of configuration and calibration of a hardware component of a device. The kernel space further comprises an input/output (I/O) management layer for enabling communication with the hardware component via the hardware encapsulation layer. The I/O management layer enables controlling of the hardware component via a system bus. The kernel space further comprises a compute layer for managing resource allocation and process scheduling for the device.
[007] In one aspect, a native operating system command is provided to the hardware component from a services layer. The native operating system command is provided for controlling a function of the hardware component.
[008] In one aspect, the native operating system command is translated by the hardware encapsulation layer into a machine language code.
[009] In one aspect, the hardware component is controlled based on the function of the one or more hardware independent functions, and the controlling of the hardware component includes at least one of fetching of data related to the hardware component and modifying an operational parameter of the hardware component.
[010] In one aspect, a device driver is utilized to enable communication of the hardware component with the computing device.
[011] In one aspect, the hardware component is identified based on a port reference of the device.
[012] In one aspect, the hardware component determines one or more of motor speed, temperature, humidity level, weight, length, width, voltage level, velocity, viscosity, pressure, flow rate, density, and ON/OFF state.
[013] In one aspect, the operating system captures telemetry data of the hardware component and stores the telemetry data in a standardized manner for use by one or more applications.
[014] In one aspect, the hardware component is an electro-mechanical device.
[015] In one aspect, the operating system sets configuration parameters of the hardware component for the configuration.
[016] In one aspect, the device is one of a vending machine, an Internet of Things (IoT) device, a System On Chip (SOC), a healthcare device, a wearable device, and an automation device.
[017] In one aspect, the hardware component is connected through wires or wirelessly to the device via at least one of Digital Input/ Digital Output (DI/DO) port, Analog Input/ Analog Output (AI/AO) port, Serial Input/ Serial Output (SI/SO) port, USB port. In one aspect, the hardware component is connected to the device wirelessly using Bluetooth port, infrared port or other wireless means such as Wi-Fi , RF( any radio frequency based device) etc.
[018] In one aspect, the hardware component is detected when connection is established between the hardware component and the device via the Digital Input/ Digital Output (DI/DO) port, the Analog Input/ Analog Output (AI/AO) port, USB port, Bluetooth port and Infrared port.
[019] In one aspect, the function of the one or more hardware independent functions is invoked at runtime when another device is connected with the device.
[020] In one aspect, a memory management layer and a message interpreter layer are implemented by the method.
[021] Features and advantages of the subject matter hereof will become more apparent in light of the following detailed description of selected embodiments, as illustrated in the accompanying FIGS. As will be realized, the subject matter disclosed is capable of modifications in various respects, all without departing from the scope of the subject matter. Accordingly, the drawings and the description are to be regarded as illustrative in nature.
BRIEF DESCRIPTION OF THE DRAWINGS
[022] Further features and advantages of the present disclosure will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
[023] FIG. 1 illustrates a block diagram showing connection of core components and hardware components of a device running a proposed Operating System, in accordance with one embodiment of present disclosure;
[024] FIG. 2 illustrates a layered architecture of the proposed Operating System, in accordance with one embodiment of present disclosure;
[025] FIG. 3 illustrates a block diagram showing functions running on a hardware encapsulation layer, in accordance with one embodiment of present disclosure; and
[026] FIG. 4 illustrates a block diagram of a vending machine running the Operating System, in accordance with one embodiment of present disclosure.
[027] It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[028] The words “comprising,” “having,” “containing,” and “including,” and other forms thereof, 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.
[029] FIG. 1 illustrates a block diagram showing connection of core components and hardware components of a device running a proposed Operating System (OS). All the core components and the hardware components may be connected directly with a system bus (102). The system bus 102 provides a communication path for transfer of data and control signals between the core components and the hardware components. The core components may include one or more memory elements, such as a Hard Disk Drive (HDD) or Solid State Drive (SSD) 104, Random Access Memory (RAM) 106, and Read Only Memory (ROM) 108. The other implementation of ROM (108) may include one or more of Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Non-Volatile Memory Express (NVME),M1drive, M2 drive and a removable storage media such as memory card. The HDD is a non-volatile, electro-mechanical data storage element storing data in magnetic disks. The SSD is a high-speed data storage element that stores data in a solid-state flash memory. Before runtime, the OS and other software applications are stored in the HDD/SSD 104.
[030] The RAM 106 provides fast and temporary storage for data and programs. The OS and its core components are loaded into the RAM 106 during boot-up from the HDD/SSD 104. Further, the software applications or programs required to be executed are loaded into the RAM 106 from the HDD/SSD 104.
[031] The ROM 108 is a non-volatile memory used for storing data that cannot be electronically modified after it is stored once. The ROM 108 is essential for the storage and operation of Basic Input/Output System (BIOS), and can also be used for basic data management, to hold program instructions for performing basic processes of utilities and to read and write to peripheral devices.
[032] The core components may further include a User Interface (UI) 110 for allowing interaction of a user with the device. The UI 110 allows the user to input commands, provide information, and receive feedback. The UI 110 may be a Graphical User Interface (GUI), Command-Line Interface (CLI), Voice User Interface (VUI), Touch User Interface (TUI), and Augmented Reality (AR) and Virtual Reality (VR) Interface.
[033] The core components may further include a processor 112. The processor 112 may be an embedded processor such as ARM Cortex-M series, Intel Quark, and Raspberry Pi SoCs, a Graphics Processing Unit (GPU) such as NVIDIA GeForce, AMD Radeon, and integrated Intel Iris Xe graphics, a Reduced Instruction Set Computer (RISC) processor such as ARM Cortex-A series processor and MIPS processor, a Complex Instruction Set Computer (CISC) processor such as Intel x86 processor and AMD Athlon processor, or a Field-Programmable Gate Array (FPGA) processor such as Xilinx FPGA and Intel (formerly Altera) FPGA. Alternatively, a system on Chip (SOC), a system on module (SOM) or embedded microcontroller may be implemented in a device of the invention.
[034] The hardware components may include sensors 114 for detecting and measuring physical quantities and converting them into electrical signals. The sensors 114 may include temperature sensors, pressure sensors, proximity sensors, light sensors (photodetectors), motion sensors, humidity sensors, gas sensors, sound sensors (microphones), infrared (IR) sensors, force sensors (load cells), distance sensors (Ultrasonic and LiDAR), color sensors, magnetic sensors, biometric sensors, and chemical sensors.
[035] The hardware components may further include actuators 116 for converting various forms of signals received from the sensors into a mechanical motion or force, to control the device or components of the device. In an embodiment, the signals from the sensors 114 are received based on an action performed by a user on the computing device. In another embodiment, the computing device may be programmed to automatically receive signals from the various hardware components such as the sensors 114 and provide the signals to perform certain actions via the actuators 116. The actuators 116 may include electric actuators such as electric motors, linear actuators, and solenoids, pneumatic actuators such as pneumatic cylinders, pneumatic grippers, and air-powered motors, hydraulic actuators such as hydraulic cylinders, hydraulic pumps, and hydraulic motors, piezoelectric actuators, electromagnetic actuators such as solenoid valves and electromagnetic relays, thermoelectric actuators, mechanical actuators such as screw jacks, levers, and linkages, rotary actuators such as electric motors, pneumatic rotary actuators, and hydraulic rotary actuators, and linear actuators such as electric linear actuators, hydraulic linear actuators, and lead screws.
[036] Referring now to FIG. 2, a layered structure of the proposed OS is described. A user request may pass through many layers of the OS before being serviced. Multiple layers of the OS are organized hierarchically, and they rely on services and communication with adjacent layers for various operations. Such modular approach of the OS simplifies debugging and modification of functions operating at different layers.
[037] The OS operates over a user space and a kernel space. Within the user space, applications 202 operate for providing required functionalities. The applications 202 are programs defined to perform specific functions or tasks on the device. During operation, an application configures or instructs one or more of the hardware components to perform required tasks.
[038] Within the kernel space, several layers are implemented to provide a bridge between the applications 202 and the hardware components. One such layer implemented within the kernel space is hardware encapsulation layer 204. The hardware encapsulation layer 204 hosts hardware independent functions that can interact with the applications 202. The hardware independent functions allow configuration and/or calibration of the hardware components of the device. The hardware independent functions may be invoked at runtime or as and when required by the applications 202.
[039] Beneath the hardware encapsulation layer 204, an input/output (I/O) management layer 206 may be implemented in the kernel space. The I/O management layer 206 enables communication with the hardware components via the hardware encapsulation layer 204. The I/O management layer 206 passes a command to the hardware components. The command is provided by a user through touch panels, keyboard, microphone, or gestures made by the user such as hand movements, facial expressions, eye movements etc.. Further, the I/O management layer 206 enables controlling of the hardware components via the system bus 102. In an alternate embodiment, the command may be automatically initiated by the device based on a predefined criterion.
[040] Beneath the I/O management layer 206, a message interpreter layer 208 may be implemented in the kernel space. The message interpreter 208 layer translates the command into machine readable instructions and forwards the machine-readable instructions to a memory management layer 210 operating beneath the message interpreter layer 208, in the kernel space. The memory management layer 210 is responsible for allocating and deallocating memory to the applications 202. The applications 202 are moved to a main memory, such as the RAM 106 during execution and returned back after a successful execution, and the main memory is freed.
[041] Beneath the memory management layer 210, a compute layer 212 may be implemented in the kernel space 212. The compute layer 212 manages resource allocation and process scheduling for the device. Although the positioning of different layers of the proposed layers is described in a certain order, it must be understood that the layers could also be arranged or combined in a different order but providing similar functionality. . For example, in an embodiment two layers of the OS can be combined as a single layer to provide functionality of both the layers from a single layer.
[042] Another layer implemented within the kernel space includes a services layer. In an embodiment the services layer is placed beneath the application layer in the kernel space of the OS. The services layer allows the command to be provided as a native OS command to the hardware components. A native OS command refers to a command that is executed directly by the OS of the device without the need for any intermediary software. The native OS command may be issued through the CLI or a terminal of the OS. For example, “dir” is a native OS command for listing files and directories in a current directory, “mkdir” is a native OS command for creating a new directory, and “copy” is a native OS command for copying files from one location to another, in Windows™ OS.
[043] The native OS command may be translated into a machine language code by the hardware encapsulation layer. The native OS command may be meant to control a function of the hardware components. Controlling of the hardware components include fetching of data related to the hardware components and modifying an operational parameter of the hardware components.
[044] Additionally, for controlling functioning of the hardware components, a device driver may be used. Specifically, the device driver may enable communication of the hardware components with the device. The device driver translates generic commands, such as the native OS commands from the OS into specific instructions for the hardware components. The device driver may be a Kernel-mode driver, a user-mode driver, or a hybrid driver, depending on nature and function of the hardware component. The Kernel-mode driver run in same memory space as the operating system kernel and is usually faster and more efficient. The user-mode driver runs in a separate memory space from the kernel and is usually safer and more stable. The hybrid driver combines both kernel-mode and user-mode components and may be used for performing complex operations.
[045] The device described above to be running the proposed OS may be, for example a vending machine, an Internet of Things (IoT) device, a System On Chip (SOC), a healthcare device, a wearable device, and an automation device. The hardware components of the device may be electro-mechanical devices. The hardware components may be identified based on a port reference of respective hardware component.
[046] The hardware component may be connected through wires or wirelessly to the device via at least one of Digital Input/ Digital Output (DI/DO) port, Analog Input/ Analog Output (AI/AO) port, Serial Input/ Serial Output (SI/SO) port, USB port. In one aspect, the hardware component is connected to the device wirelessly using Bluetooth port, infrared port or other wireless means such as Wi-Fi, RF (any radio frequency based device) etc. The presence of the hardware component may be detected when connection is established between the hardware component and the device via the Digital Input/ Digital Output (DI/DO) port, the Analog Input/ Analog Output (AI/AO) port USB port, Bluetooth port, Infrared port Wi-Fi, and/or RF(any radio frequency based device).
[047] The hardware component may be a sensor for determining a value of a specific parameter. Such parameter may include, but not limited to, motor speed, temperature, humidity level, weight, length, width, voltage level, velocity, viscosity, pressure, flow rate, density, and ON/OFF state. Such parameters may be associated with different hardware components including, but not limited to, a heater, chiller, display unit, flow control valve, and pressure regulator.
[048] The OS may capture telemetry data of the hardware components. The telemetry data may include logs, metrics, events, and traces created by the application running on the device. The telemetry data may be stored in a standardized manner for use by one or more applications. The telemetry data may also be communicated to a remote location for monitoring and analysis through the use of native OS commands.
[049] FIG. 3 illustrates a block diagram showing functions running on the hardware encapsulation layer 204, in accordance with one embodiment of present disclosure. As illustrated, all the functions (function 1 through function n) would run on the hardware encapsulation layer 204 i.e. within the kernel space and would directly access the system bus 102 for their execution. Thus, the requirement of writing separate functions at an application layer like in the case of conventional OS are prevented. Because the functions are now executed closer to the hardware components and within the kernel space, the functions/operations become agnostic of underlying hardware and severely reduces the delay occurring in execution of the functions. Due to such advantages, the proposed OS is suitable for use in Internet of Things (IoT) devices such as vending machines.
[050] FIG. 4 illustrates a block diagram of a vending machine running the proposed Operating System, in accordance with one embodiment of present disclosure. The vending machine may include a power supply 402 for feeding AC/DC power to different elements of the vending machine. The vending machine further includes an internet connection element 404 such as a WiFi module or Ethernet port for connecting with internet. The vending machine may connect to internet for processing online payments made for dispensing of items. The vending machine further includes a display 406 for allowing the user to select the items required to be dispensed upon making payments, either online or offline. The vending machine further includes a payment collection mechanism 408 for collecting the payment from the user. The vending machine further includes a memory 410 for storing details of the items selected for dispensing by the user. The vending machine may further include a motor 412 for moving a tray holding the items. The motor 412 may selectively move a column of the tray for dispensing an item selected by the user. All the components 402 through 412 may be controlled and managed via a processor 414. Although the description is provided here to describe an item dispensing vending machine, however it must be understood that similar or related components would be present in other vending machines meant for dispensing or release of other items.
[051] In one implementation, the proposed OS may provide commands for controlling and setting configuration parameters of the hardware components of the vending machines. In one implementation, the proposed OS may provide commands for obtaining or setting operational parameters such as voltage of frequency of a variable speed motor. For example, “motor.getvoltage” command may be used to determine value of voltage received by the variable speed motor. Further, “motor.setvoltage” command may be used for increasing or decreasing a value of voltage supplied to the variable speed motor. Similarly, in another implementation, native OS commands may be provided for determining weight, and setting cut-off weight and tare value for a load cell. Such commands i.e. the native OS commands may be provided to the device through a CLI. These commands may be executed on an application layer and would be independent of the underlying hardware i.e. type of the motor or manufacturer/model of the motor. Specifically, both of these commands would work for any type and rating of motor developed by any manufacturer.
[052] In the above described manner, the commands are developed to operate at the hardware encapsulation layer instead of the application layer, for gaining quick access of the hardware components. This makes interaction of the applications with the hardware components easier and quicker and moves away the burden of writing different commands specific to a hardware component of particular type and model.
[053] Although the description above has been provided for a VendOS i.e. an OS for a vending machine, it must be understood that the OS could also be used for other devices such as Internet of Things (IoT) devices, System On Chip (SOC), healthcare devices, wearable devices, and automation devices.
[054] As used in this application, the terms "component," "system," "platform," "station," "node," "interface" are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components. As further yet another example, interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
[055] Embodiments within the scope of the present invention also include computer-readable media having computer-executable instructions or data structures stored thereon. Such computer-readable media may be any available media which can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communication connection to a computer, the computer properly views the connection as a computer-readable medium. Thus, such a connection is also properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
[056] While preferred embodiments have been described above and illustrated in the accompanying drawings, it will be evident to those skilled in the art that modifications may be made without departing from this disclosure. Such modifications are considered as possible variants comprised in the scope of the disclosure.
, Claims:We Claim:
1. A computer implemented method embodied in an operating system, the method comprising:
implementing a user space for hosting an application (202); and
implementing a kernel space comprising:
a hardware encapsulation layer (204), wherein the hardware encapsulation layer (204) hosts one or more hardware independent functions of the application (202), and wherein a function of the one or more hardware independent functions allows at least one of configuration and calibration of a hardware component of a device;
an input/output (I/O) management layer (206) for enabling communication with the hardware component via the hardware encapsulation layer (204), wherein the I/O management layer (206) enables controlling of the hardware component via a system bus (102); and
a compute layer (212) for managing resource allocation and process scheduling for the device.
2. The computer implemented method as claimed in claim 1, further comprising providing a native operating system command to the hardware component from a services layer, wherein the native operating system command is provided for controlling a function of the hardware component.
3. The computer implemented method as claimed in claim 2, further comprising translating the native operating system command by the hardware encapsulation layer into a machine language code.
4. The computer implemented method as claimed in claim 1, wherein the controlling of the hardware component is based on the function of the one or more hardware independent functions and the controlling of the hardware component includes at least one of fetching of data related to the hardware component and modifying an operational parameter of the hardware component.
5. The computer implemented method as claimed in claim 1, further comprising utilizing a device driver to enable communication of the hardware component with the computing device.
6. The computer implemented method as claimed in claim 1, further comprising identifying the hardware component based on a port reference of the device.
7. The computer implemented method as claimed in claim 1, wherein the hardware component determines one or more of motor speed, temperature, humidity level, weight, length, width, voltage level, velocity, viscosity, pressure, flow rate, density, and ON/OFF state.
8. The computer implemented method as claimed in claim 1, wherein the operating system captures telemetry data of the hardware component and stores the telemetry data in a standardized manner for use by one or more applications (202).
9. The computer implemented method as claimed in claims 1 and 8, wherein the hardware component is an electro-mechanical device.
10. The computer implemented method as claimed in claim 1, wherein the operating system sets configuration parameters of the hardware component for the configuration.
11. The computer implemented method as claimed in claim 1, wherein the device is one of a vending machine, an Internet of Things (IoT) device, a System On Chip (SOC), a healthcare device, a wearable device, and an automation device.
12. The computer implemented method as claimed in claim 1, wherein the hardware component is connected with the device via at least one of Digital Input/ Digital Output (DI/DO) port, Analog Input/ Analog Output (AI/AO) port, Serial Input/ Serial Output (SI/SO) port, USB port, Bluetooth port, Infrared port, Wi-Fi and a radio frequency (RF) based connection.
13. The computer implemented method as claimed in claim 12, wherein the hardware component is detected when connection is established between the hardware component and the device via the Digital Input/ Digital Output (DI/DO) port, the Analog Input/ Analog Output (AI/AO) port, USB port, Bluetooth port and/or Infrared port..
14. The computer implemented method as claimed in claim 1, wherein the function of the one or more hardware independent functions is invoked at runtime when another device is connected with the device.
15. The computer implemented method as claimed in claim 1, further comprising implementing a memory management layer (210) and a message interpreter layer (208).
| # | Name | Date |
|---|---|---|
| 1 | 202321065383-STATEMENT OF UNDERTAKING (FORM 3) [28-09-2023(online)].pdf | 2023-09-28 |
| 2 | 202321065383-PROOF OF RIGHT [28-09-2023(online)].pdf | 2023-09-28 |
| 3 | 202321065383-POWER OF AUTHORITY [28-09-2023(online)].pdf | 2023-09-28 |
| 4 | 202321065383-FORM FOR STARTUP [28-09-2023(online)].pdf | 2023-09-28 |
| 5 | 202321065383-FORM FOR SMALL ENTITY(FORM-28) [28-09-2023(online)].pdf | 2023-09-28 |
| 6 | 202321065383-FORM 1 [28-09-2023(online)].pdf | 2023-09-28 |
| 7 | 202321065383-FIGURE OF ABSTRACT [28-09-2023(online)].pdf | 2023-09-28 |
| 8 | 202321065383-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [28-09-2023(online)].pdf | 2023-09-28 |
| 9 | 202321065383-EVIDENCE FOR REGISTRATION UNDER SSI [28-09-2023(online)].pdf | 2023-09-28 |
| 10 | 202321065383-DRAWINGS [28-09-2023(online)].pdf | 2023-09-28 |
| 11 | 202321065383-DECLARATION OF INVENTORSHIP (FORM 5) [28-09-2023(online)].pdf | 2023-09-28 |
| 12 | 202321065383-COMPLETE SPECIFICATION [28-09-2023(online)].pdf | 2023-09-28 |
| 13 | Abstract.jpg | 2024-01-24 |
| 14 | 202321065383-RELEVANT DOCUMENTS [24-12-2024(online)].pdf | 2024-12-24 |
| 15 | 202321065383-POA [24-12-2024(online)].pdf | 2024-12-24 |
| 16 | 202321065383-FORM 13 [24-12-2024(online)].pdf | 2024-12-24 |
| 17 | 202321065383-FORM FOR STARTUP [27-12-2024(online)].pdf | 2024-12-27 |
| 18 | 202321065383-EVIDENCE FOR REGISTRATION UNDER SSI [27-12-2024(online)].pdf | 2024-12-27 |