System and method for undirectional communication among child modules in a modular architecture
The system addresses the challenges of complexity and inefficiency in modular architectures by enabling unidirectional communication among child modules, enhancing scalability and maintainability through controlled access and loose coupling.
Patent Information
- Application Number
- GB2023018179
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-06-11
AI Technical Summary
Conventional modular software architectures face issues such as increased complexity, fragility, and inefficiency due to bidirectional communication between modules, leading to cascading failures, difficulty in testing, and reduced reusability, scalability, and adaptability.
Implementing a system for unidirectional communication among child modules using a primary communication protocol and secondary communication protocols to manage access control, ensuring that child modules can access features through a parent module while maintaining loose coupling and enabling efficient testing and scalability.
The system reduces complexity and enhances maintainability by allowing controlled access to features, improving scalability and reusability, and facilitating efficient testing and development processes.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The background description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0002] Communication among traditional modular-based software architecture is bi-directional. This opens up the communication channel between parent-child and child-child modules. Hence, dependency gets created between parent-child and child-child modules. When a greater number of child modules get introduced at the same horizontal level, complexity associated with the software architecture increases exponentially. Due to the bidirectional communication, testing becomes difficult in tightly coupled systems, thereby increasing the complexity associated with modification of a codebase. When one component and module needs changes, unintended consequences on other interconnected parts may be observed, leading to a ripple effect of changes and potential bugs. Further, in tightly coupled systems, a failure in one component creates a cascading effect, affecting other components, leading to system-side failures. This fragility may be detrimental in critical applications.
[0003] Lack of flexibility among complex architectures involves minimum adaptability to changing business requirements. Implementing new features or making significant updates may require extensive reworking of the existing codebase. Additionally, the complex architecture may not scale well with growing user demands or increasing data loads. Scaling a tightly coupled system may require modifying multiple interconnected components, making the process cumbersome and error-prone. Further, testing becomes more complicated in tightly coupled systems. Isolating individual components for unit testing becomes difficult, leading to a need for extensive integration testing. As a result, the testing cycle becomes longer and less efficient. Also, in tightly coupled architectures, components are heavily dependent on each other, reducing their reusability. This may lead to code duplication and inefficiencies in the development process. Further, interdependency of tightly coupled components may slow down the development process. Any change requires careful consideration as the change may impact other parts of the system, leading to longer development cycles. Also, complexity may lead to less maintainable and harder-to-understand code, making the process difficult for developers to spot and fix bugs efficiently. [00041 Conventional systems execute multimedia applications and interface with multimedia end devices that consume or produce real-time and asynchronous streamed data. The system includes modular multimedia software tasks which are executable by a digital signal processor and may be called by the multimedia application for execution in the digital signal processor in a substantially modular format. Further, the system passes streamed data between modular multimedia software tasks and / or multimedia end devices through multiple modular data communication modules. The data communication modules provide communication of real-time and / or asynchronous streamed data between modular multimedia software tasks and / or multimedia end devices, allowing continuous, real-time, and unidirectional communication of streamed data. [00051 Patent document US6704802B1 describes a system that uses virtual functions to control communication between independent software modules configured in an architecture which includes a parent process and one or more independent child processes. The parent process creates and loads the child process, then passes a pointer which designates the object to the child process. The child process completes a communication path by creating an object and granting access to the object to the parent process by passing a pointer designating the object to the parent process. A child process is associated to both objects created by the child process and to a virtual table of pointers which designate the objects.
[0006] Although, the conventional systems pass streamed data between modular multimedia software tasks and / or multimedia end devices, there is a need to overcome the drawbacks, shortcomings, and limitations associated with existing systems and provide an improved system and method for establishing communication among various software modules. SUMMARY OF THE INVENTION
[0007] The present disclosure relates to an improved system and method for unidirectional communication among child modules in a modular architecture.
[0008] According to an aspect, the present disclosure provides a system for communication among modules. The system includes a processor communicatively coupled to a primary module, and a memory operatively coupled with the processor, where said memory stores instructions which, when executed by the processor, cause the processor to receive a request, from one or more secondary modules, to access one or more features from the one or more secondary modules. The processor establishes a communication among the one or more secondary modules via a primary communication protocol. The primary communication protocol is configured to simultaneously facilitate access to the one or more features via one or more functions. The processor accesses the one or more functions from the one or more secondary modules via one or more secondary communication protocols. The one or more secondary communication protocols are configured to generate an access control associated with the one or more functions and enable access to the one or more features among the one or more secondary modules.
[0009] In an embodiment, the one or more secondary communication protocols may determine if one or more predetermined functions are associated with a secondary module among the one or more secondary modules. [00101 In an embodiment, the one or more secondary communication protocols may generate the access control based on determining that the one or more predetermined functions are associated with the secondary module.
[0011] In an embodiment, the one or more secondary communication protocols may restrict access to the one or more predetermined functions.
[0012] In an embodiment, the processor may process the request based on one or more declarations configured in the memory of the processor and establish unidirectional communication of the primary module with the one or more secondary modules.
[0013] hi an embodiment, the one or more secondary modules may be configured to access the one or more functions from each other via the primary module based on the primary communication protocol.
[0014] According to an aspect, the present disclosure provides a method for communication among modules. The method includes receiving, by a processor associated with a primary module, a request from one or more secondary modules to access one or more features from the one or more secondary modules. The method includes establishing, by the processor, a communication among the one or more secondary modules via a primary communication protocol. The primary communication protocol simultaneously facilitates access to the one or more features via one or more functions. The method includes accessing, by the processor, the one or more functions from the one or more secondary modules via one or more secondary communication protocols. The one or more secondary protocols generate an access control associated with the one or more functions and enable access to the one or more features among the one or more secondary modules.
[0015] In an embodiment, the method may include determining, by the processor via the one or more secondary communication protocols, if one or more predetermined functions are associated with a secondary module among the one or more secondary modules.
[0016] In an embodiment, the method may include generating, by the processor via the one or more secondary communication protocols, the access control based on determining that the one or more predetermined functions are associated with the secondary module.
[0017] In an embodiment, the method may include restricting, by the processor via the one or more secondary communication protocols, access to the one or more predetermined functions.
[0018] In an embodiment, the method may include processing, by the processor, the request based on one or more declarations configured in the primary module, and establishing, by the processor, unidirectional communication of the primary module with the one or more secondary modules.
[0019] hi an embodiment, the method may include accessing, by the one or more secondary modules, the one or more functions from each other via the primary module based on the primary communication protocol.
[0020] Therefore, the present disclosure also overcomes the drawbacks, shortcomings, and limitations associated with existing system and provides an improved system for communication among various software modules. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0022] In the drawings, similar components and / or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[0023] FIG. 1 illustrates an exemplary block diagram of a conventional system for bidirectional communication among child modules.
[0024] FIG. 2 illustrates an exemplary block diagram of a proposed system for unidirectional communication among child modules, according to an embodiment of the invention.
[0025] FIG. 3 illustrates an exemplary block diagram of the proposed system incorporating navigating protocols, according to an embodiment of the invention.
[0026] FIG. 4 illustrates an exemplary block diagram of the proposed system incorporating direct communication and indirect communication among parent and child modules, according to an embodiment of the invention.
[0027] FIG. 5 illustrates an exemplary flow diagram of a proposed method, according to an embodiment of the invention.
[0028] FIG. 6 illustrates an exemplary computer system in which or with which a proposed system may be implemented, according to an embodiment of the invention. DETAILED DESCRIPTION
[0029] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0030] The present disclosure relates to an improved system and method for unidirectional communication among child modules in a modular architecture.
[0031] FIG. 1 illustrates an exemplary block diagram 100 of a conventional system for bidirectional communication among child modules. As illustrated in FIG. 1, bidirectional communication exists between a parent module 102 and various child modules (104-A, 104-B, 104-C). A person skilled in the art may understand that additional child modules may be introduced (104-A... 104-N) at the same horizontal level, thereby creating dependency between parent-child and childchild modules. As more number of child modules get introduced at the same horizontal level, the complexity in the software modular architecture increases exponentially.
[0032] FIG. 2 illustrates an exemplary block diagram 200 of a proposed system for unidirectional communication among child modules, according to an embodiment of the invention.
[0033] Referring to FIG. 2, in an embodiment. The parent module / primary module 202 may receive a request from one or more secondary modules 204, for example, Feat_Mod_A, Feat_Mod_B, Feat_Mod_C, Feat_Mod_D, Feat_Mod_E..., Feat_Mod_X 204. The one or more secondary modules 204 may be interchangeably mentioned as one or more child modules 204 or feature modules 204 throughout the disclosure. The request may be received by the system 202 for establishing communication among the one or more secondary modules 204 via a primary communication protocol. The one or more secondary modules 204 may include one or more features. For example, Feat_Mod_A 204 may request the parent module 202 for one or more features present in Feat_Mod_B 204 and vice versa. The primary communication protocol may be configured to simultaneously facilitate access to the one or more features via one or more functions. Further, the one or more secondary modules 204 / (Feat_Mod_A, Feat_Mod_B, Feat_Mod_C, Feat_Mod_D, Feat_Mod_E..., Feat_Mod_X) 204 may include one or more secondary protocols that access the one or more functions. The one or more secondary communication protocols may be configured to generate an access control associated with the one or more functions and enable communication of the one or more features among the one or more secondary modules 204.
[0034] hi an embodiment, the parent module 202 may include a direct access to the one or more child modules 204. The one or more child modules 204 may not have direct access to the parent module 202. In an embodiment, the one or more child modules 204 may include a lean access to the parent module 202 through dependency injections fully controlled by an agreement or a protocol between the parent module 202 and the one or more child modules 204. This may ensure that the data communication between the parent module 202 and the one or more child modules 204 is unidirectional.
[0035] In an embodiment, the parent module 202 may include a global navigation protocol / a primary communication protocol that is configured to simultaneously facilitate access to the one or more features of the one or more child modules 204 via the one or more functions. Further, each child module among the one or more child modules 204 may create an interface / application programming interface (API) protocol with all the required features from the remaining one or more child modules 204. The interface may be represented in a sample protocol as follows: Interface Feat-Mod_A_GlobalNavigation { Function to navigate to feature_l in Feat-Mod_B Function to navigate to feature_2 in Feat-Mod_B Function to navigate to feature_l in Feat-Mod_C Function to navigate to feature_l in Feat-Mod_C Function to navigate to feature_4 in Feat-Mod_D Function to navigate to feature_4 in Feat-Mod_D Function to navigate to feature_4 in Feat-Mod_D
[0036] Referring to the sample protocol, in an embodiment, the child module Feat-Mod_A 204 may create an interface associated with the global navigation protocol to access feature_l in Feat-Mod_B 204, feature_2 in Feat-Mod_B 204, feature_l in Feat-Mod_C 204, feature_l in Feat-Mod_C 204, feature_4 in Feat-Mod_D 204, feature_4 in Feat-Mod_D 204, feature_4 in Feat-Mod_D 204.
[0037] Further, in an embodiment, the parent module 202 may implement the global navigation protocol / primary communication protocol to create a bridge for out-bound communications with the one or more child modules 204. For example, a sample implementation may be represented as follows: class Feat-Mod_A_GlobalNavigationImpl { Function to navigate to feature_l in Feat-Mod_B { Feat-Mod_B_Navigator.navigateTo ( Parameter 1, Parameter2, Parameters, Parameter4 )
[0038] In an embodiment, the global navigation protocol may be declared inside the one or more child modules 204 and the definition / implementation may be configured in the parent module 202. The implementation may require local navigators / one or more secondary communication protocols from other child / feature modules only accessible to the parent module 202. The local navigator may be created locally by each of the one or more child modules 204. The local navigator may include an access to all the resources in the one or more child modules 204. A sample local navigator may be represented as follows: class LocalNavigator<T:Navigation>:Navigator<T> { override fun <U: T> navigateTof parameter 1, parameter 2, parameter 3, parameter n ){ / / Logic to navigate to the local functions / features }
[0039] In an embodiment, when the global navigation request is received by the local navigator, that request may be redirected to one or more predetermined functions in the one or more child modules 204 along with a required data set as parameters.
[0040] In an embodiment, the one or more secondary communication protocols / local navigation protocols may determine if the one or more predetermined functions among the one or more functions are associated a secondary module among the one or more secondary modules. Further, the one or more secondary communication protocols may generate an access control based on a positive determination and may be configured to restrict access to the one or more predetermined functions. The global navigators associated with each of the one or more child modules 204 may be exposed to a dependency injection configured in the parent module 202.
[0041] In an embodiment, a local navigation module may create the access control for the local navigator protocol. Though the parent module 202 may include the access to the local navigator of any of the one or more child modules 204, the parent module 202 may access only the or more predetermined functions exposed by the local navigation module. The local navigation module may expose only those APIs which may be accessed by the parent module 202 and eventually by the one or more child modules 204 only via the parent module 202.
[0042] In an embodiment, a sample local navigation may be represented as follows: sealed class Feat-Mod_B_LocalNavigation { / ** * Navigate to function_l * / data class Function_l( parameter source, parameter data bundle ): Fcat-Mod_B_LocalNavigation!) / ** * Navigate to function_2 * / data class Function_2( parameter source, parameter data bundle ): Feat-Mod_B_LocalNavigation()
[0043] In an embodiment, the parent module 202 may include a global navigation manager for accessing respective child / feature modules among the one or more child modules 204 and the predetermined functions from other child modules among the one or more child modules 204. The parent module 202 may be a mediator accessed by the one or more child modules 204. Every child module among the one or more child modules 204 may include a global navigation manager. A sample global navigation manager may be represented as follows: class Feat-Mod_A_GlobalNavigationManager(globalNavigation: Feat-Mod_A_GlobalNavigation) { variable _GlobalNavigation: GlobalNavigation [00441 Further, in an embodiment, the parent module 202 may incorporate the dependency injections / one or more declarations where all other module features access protocols may be implemented. This may be possible as the parent module 202 has access to the one or more child modules 204. A sample of dependency injections may be represented as follows: single { Feat-Mod_A_ToExtemalModuleNavigationManager(Feat-Mod_A_ToExternalModuleNavigationImpl())} single { Feat-Mod_B_ToExtemalModuleNavigationManager(Feat-Mod_B_ToExternalModuleNavigationImpl())} single { Feat-Mod_C_ToExtemalModuleNavigationManager(Feat- Mod_C_ToExtemalModuleNavigationImpl())} single { Feat-Mod_D_ToExtemalModuleNavigationManager(Feat-Mod_D_ToExternalModuleNavigationImpl())} single { Feat-Mod_E_ToExtemalModuleNavigationManager(Feat-Mod_E_ToExtemalModuleNavigationImpl())} [00451 FIG. 3 illustrates an exemplary block diagram 300 of the proposed system incorporating navigating protocols, according to an embodiment of the invention.
[0046] As illustrated in FIG. 3, in an embodiment, the parent module 302 may include a bridge 304 to directly communicate with Feat_Mod_A to external module navigation implementation via a navigation protocol 306. This implementation via the navigation protocol 306 may establish communication from Feat_Mod_A to other external child modules. Further, this implementation may allow access to the one or more features and the one or more functions from the other external child modules. The parent module 302 may access the navigation protocol 306 which may include a Feat_Mod_A to external module navigation. Further, Feat_Mod_A 324 or the child module A 324 may further include Feat_Mod_A to external module navigation manager 308 that may indirectly communicate with the parent module 302 for accessing one or more elements from various child modules. For example, as illustrated in FIG. 3, the bridge 304 may communicate with a local navigator 316 in the child module B 326 for accessing the local navigation 318 in the child module B 326. The local navigation 318 may include the one or more functions for accessing the one or more elements from the child module B 326.
[0047] Similarly, in an embodiment, a Feat_Mod_B to external module navigation manager 314 may indirectly communicate with the parent module 302 for accessing the one or more elements from the child module A 324 via the local navigator 310 in the child module A 324. The local navigator 310 may communicate with the local navigation 312 for accessing the one or more functions in order to access the one or more elements from the child module A 324. Further, the navigation protocol 320 may be used by the bridge 322 for communicating with the child module A 324 or other external child modules. This implementation may allow access to the one or more features and the one or more functions from other external child modules.
[0048] Further, in an embodiment, dependency injections may be implemented in the parent module 302 and declared in the child modules A, B (324, 326) to enable the unidirectional communication between the child module A 324 and the child module B 326. In an embodiment, Feat_Mod_A to external module navigation manager 308 may indirectly communicate with the Feat_Mod_A to external module navigation implementation from the bridge 304 for accessing the one or more elements from the child module B 326.
[0049] FIG. 4 illustrates an exemplary block diagram 400 of the proposed system incorporating direct communication and indirect communication among parent and child modules, according to an embodiment of the invention.
[0050] As illustrated in FIG. 4, in an embodiment, a parent module 402 may directly communicate with one or more child modules (404A, 404B, 404C, 404D, 404E) via the global navigation protocol. Each of the one or more child modules (404A, 404B, 404C, 404D, 404E) may include an external module navigation manager that may indirectly communicate with the parent module 402 for accessing the one or more elements among the one or more child modules (404A, 404B, 404C, 404D, 404E). As shown in FIG. 4, a vertical library 1 406 and a vertical library 2 408 may be accessed by the various modules from different vertical layers. Each of the one or more child modules (404A, 404B, 404C, 404D, 404E) may include the one or more functions for accessing the one or more elements from the respective child module among the one or more child modules (404A, 404B, 404C, 404D, 404E). Further, a share module 410 may be communicatively coupled with the parent module 402 and the one or more child modules (404A, 404B, 404C, 404D, 404E) for receiving information from various content providers (412A, 412B, 412C, 412D). Further, the content providers (412A, 412B, 412C, 412D) may be accessed by a vehicle 414 or cloud microservices 416 for processing the information received by the share module 410. As loose coupling is maintained among the one or more child modules (404A, 404B, 404C, 404D, 404E), the information is easily tested via a controlled data communications process among the one or more child modules (404A, 404B, 404C, 404D, 404E). Further, data integrity associated with the processed may be also maintained.
[0051] FIG. 5 illustrates an exemplary flow diagram of a proposed method 500, according to an embodiment of the invention.
[0052] As illustrated in FIG. 5, in an embodiment, the proposed method may include the following steps:
[0053] At step 502: The method 500 may include receiving, by a system or a primary / parent module 102, a request from one or more secondary modules 104, to access one or more features from the one or more secondary modules 104.
[0054] At step 504: The method 500 may include establishing communication among the one or more secondary modules 104 via a primary communication protocol, where the primary communication protocol may be configured to simultaneously facilitate access to the one or more features via one or more functions.
[0055] At step 506: The method 500 may include accessing, by the system 102, the one or more functions from the one or more secondary modules 104 via one or more secondary communication protocols, where the one or more secondary communication protocols may be configured to generate an access control associated with the one or more functions and enable communication of the one or more features among the one or more secondary modules 104.
[0056] FIG. 6 illustrates an exemplary computer system in which or with which a proposed system (e.g., primary module and / or secondary module) may be implemented, according to an embodiment of the invention.
[0057] As shown in FIG. 6, the computer system 600 may include an external storage device 610, a bus 620, a main memory 630, a read-only memory 640, a mass storage device 650, a communication port(s) 660, and a processor 670. A person skilled in the art will appreciate that the computer system 600 may include more than one processor and communication ports. The processor 670 may include various modules associated with embodiments of the present disclosure. The communication port(s) 660 may be any of an RS-232 port for use with a modembased dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fibre, a serial port, a parallel port, or other existing or future ports. The communication port(s) 660 may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system 600 connects. The main memory 630 may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (440) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chip for storing static information e.g., start-up or basic input / output system (BIOS) instructions for the processor 670. The mass storage device 650 may be any current or future mass storage solution, which can be used to store information and / or instructions.
[0058] The bus 620 may communicatively couple the processor 670 with the other memory, storage, and communication blocks. Optionally, operator and administrative interfaces, e.g., a display, keyboard, and cursor control device may also be coupled to the bus 620 to support direct operator interaction with the computer system 600. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) 660. In no way should the aforementioned exemplary computer system 600 limit the scope of the present disclosure.
[0059] As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
[0060] Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media / machinc-rcadablc medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).
[0061] Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present invention with appropriate standard computer hardware to execute the code contained therein. An apparatus for practicing various embodiments of the present invention may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the invention could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
[0062] In interpreting the specification, all terms should be interpreted in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced 5 elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. Where the specification claims refer to at least one of something selected from the group consisting of A, B, C ... .and N, the text should be interpreted as requiring only one element from the group, not A plus N, or B plus N, etc. 10
[0063] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to 15 make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
Claims
1. A system for establishing communication among modules, the system comprising:a processor communicatively coupled to a primary module; anda memory operatively coupled with the processor, wherein said memory stores instructions which, when executed by the processor, cause the processor to:receive a request, from one or more secondary modules, to access one or more features from the one or more secondary modules;establish a communication among the one or more secondary modules via a primary communication protocol, wherein the primary communication protocol is configured to simultaneously facilitate access to the one or more features via one or more functions; andaccess the one or more functions from the one or more secondary modules via one or more secondary communication protocols, wherein the one or more secondary communication protocols are configured to generate an access control associated with the one or more functions and enable the access to the one or more features among the one or more secondary modules.
2. The system as claimed in claim 1, wherein the one or more secondary communication protocols are to determine if one or more predetermined functions are associated with a secondary module among the one or more secondary modules.
3. The system as claimed in claim 2, wherein the one or more secondary communication protocols are to generate the access control based on determining that the one or more predetermined functions are associated with the secondary module.
4. The system as claimed in claim 2, wherein the one or more secondary communication protocols are configured to restrict access to the one or more predetermined functions.
5. The system as claimed in claim 1, wherein the processor is to process the request based on one or more declarations configured in the memory of the processor, and establish a unidirectional communication of the primary module with the one or more secondary modules.
6. The system as claimed in claim 1, wherein the one or more secondary modules are configured to access the one or more functions from each other via the primary module based on the primary communication protocol.
7. A method for establishing communication among modules, the method comprising:receiving, by a processor associated with a primary module, a request from one or more secondary modules to access one or more features from the one or more secondary modules;establishing, by the processor, a communication among the one or more secondary modules via a primary communication protocol, wherein the primary communication protocol simultaneously facilitates access to the one or more features via one or more functions; andaccessing, by the processor, the one or more functions from the one or more secondary modules via one or more secondary communication protocols, wherein the one or more secondary communication protocols generate an access control associated with the one or more functions and enable the access to the one or more features among the one or more secondary modules.
8. The method as claimed in claim 7, comprising determining, by the processor via the one or more secondary communication protocols, if one or morepredetermined functions are associated with a secondary module among the one or more secondary modules.
9. The method as claimed in claim 8, comprising generating, by the processor via the one or more secondary communication protocols, the access control based on determining that the one or more predefined functions are associated with the secondary module.
10. The method as claimed in claim 8, comprising restricting, by the processor via the one or more secondary communication protocols, access to the one or more predetermined functions.
11. The method as claimed in claim 7, comprising processing, by the processor, the request based on one or more declarations configured in the primary module, and establishing, by the processor, unidirectional communication of the primary module with the one or more secondary modules.
12. The method as claimed in claim 7, comprising accessing, by the one or more secondary modules, the one or more functions from each other via the primary module based on the primary communication protocol.
Citation Information
Patent Citations
Method and system for communicating between independent software modules
US6704802B1
Data transfer and intermission between parent and child process
US7139832B2