×

Common channels for inter-application communications

  • US 5,748,962 A
  • Filed: 09/30/1996
  • Issued: 05/05/1998
  • Est. Priority Date: 09/30/1996
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for using a set of common utilities implemented as object classes, to provide common channels of communications among applications that run on a distributed platform, comprising the steps:

  • invoking a common process class (CmnProcess) representing an application code for a particular application (Application X) wherein the code relates to how particular Application Programming Interfaces messages (API) will be processed, and whether responses will be sent;

    calling an API processing function (processApi) from CmnProcess, for processing API messages that are sent to and received by the Application X;

    invoking a common API class (CmnApi) to create polymorphic API objects that respond to a common verb set, the API objects containing the data that is being sent from Application X to another application;

    CmnApi calling generalized virtual send, virtual receive, and virtual data functions for defining the general API functions needed to send and receive data;

    at a data sending end, Application X instructing the API object to send itself using the virtual send function and at the receiving end the API object rebuilding itself using the virtual receive function;

    CmnApi deriving subclasses with specific functions defined by Application X;

    invoking a Common Channel class (CmnChannel) to reference a communications channel to be used to send/receive the API object, the API object using this reference to send or receive itself;

    invoking a common service loop class (CmnServiceLoop) operating as a process manager performing a plurality of predefined functions during its servicing loop;

    CmnServiceLoop objects processing the input and output from the common channels to extract the API object;

    CmnServiceLoop containing its own virtual send and receive functions;

    invoking a common event (CmnEvent) class for deriving application-specific classes and instructing the CmnServiceLoop to perform events based on generalized methods as to how and when the events are to be performed;

    the derived application-specific classes also specifying which application-specific CmnProcess class to perform the event on;

    the CmnServiceLoop, during its execution, determining which events are to be performed and invoking appropriate CmnEvent objects according to event type by calling on the CmnEvent "processEvent" method, the "processEvent" method invoking a CmnProcess "process" method to perform the event;

    invoking CmnChannel for representing the actual communications channels that are used for application interfaces;

    deriving subclasses specific to a particular communications protocol from CmnChannel;

    calling upon functions of the derived subclasses relating to respective communications protocols they support;

    encapsulating all data needed to use a protocol communications channel in a CmnChannel object, an application using this communications channel to send or receive data, the application itself not needing to contain any of this data and only needing to reference the name of the channel;

    CmnChannel having a function (hasData) to which CmnServiceLoop responds as a reference for indicating that a particular CmnChannel object has data to be received;

    a common configuration class (CmnConfig) invoked by CmnChannel to setup the configuration of each channel;

    a rules set class (RuleSet) containing rules files for configuring communications channels being invoked by CmnConfig, RuleSet further specifying the types of channels to instantiate from CmnChannel subclasses, channel information made by channel name, and passed on to CmnConfig.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×