Method and apparatus providing multi-service connections within a data communications device
First Claim
1. A module providing data communications services, the module comprising:
- an interface transferring a plurality of streams of data into and out of the module;
a plurality of service processing elements coupled to the interface, the plurality of service processing elements supporting a plurality of data communications services which operate on the streams of data being accepted through the interface; and
a memory that includes;
an identity table created upon start-up of the module, the identity table containing information identifying each of the plurality of services supported by the module;
a host configuration table created upon start-up of the module, the host configuration table identifying a configuration of a host that is hosting the module.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus provide a data communication device that can process a number of streams of data according to a plurality of services. A host device such as a network access server which may include a router and a number of carrier cards hosts a number of modules. The host and modules are equipped with a messaging application programming interface (API). The API allows the host to discover what services are offered by the modules, and allows the host and modules to form an optimal interface configuration that most effectively handles data connections of different service types, such as voice, data, facsimile, video and so forth. In operation, each module is presented with a stream of data containing multiplexed calls. Each call contains data that is best operated on by one of the particular services. The messaging API allows the host to setup and control the module and sessions of the services offered by the modules depending upon the data types of the connections. Since the modules each offer a variety of services, a stream containing data one or more connections such as voice data, video data, modem data, facsimile data and so forth can be processed by a single module under control of the host.
24 Citations
28 Claims
-
1. A module providing data communications services, the module comprising:
-
an interface transferring a plurality of streams of data into and out of the module; a plurality of service processing elements coupled to the interface, the plurality of service processing elements supporting a plurality of data communications services which operate on the streams of data being accepted through the interface; and a memory that includes; an identity table created upon start-up of the module, the identity table containing information identifying each of the plurality of services supported by the module; a host configuration table created upon start-up of the module, the host configuration table identifying a configuration of a host that is hosting the module. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A module providing data communications services, the module comprising:
-
an interface transferring a plurality of streams of data into and out of the module; a plurality of service processing elements coupled to the interface, the plurality of service processing elements supporting a plurality of data communications services which operate on the streams of data being accepted through the interface; a processor coupled to the interface and the plural service processing elements; a session manager process executing on the processor, the session manager process accepting session commands on the interface to control the service processing elements supporting the plurality of services; and a module manager process executing on the processor, the module manager process accepting module commands on the interface to control the operation of the module. - View Dependent Claims (7)
-
-
8. A method of configuring a host to interoperate with a module to which it is coupled, the method comprising:
-
providing, from the host to the module, information concerning mechanisms offered on the host to support services offered by the module; providing, from the module to the host, information concerning which of a plurality of services are to be offered by the module; and configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to streams of data passing through a data communications device; wherein providing, from the host to the module, information concerning mechanisms offered on the host to support services offered by the module includes; downloading an executable image accessible to the module from the host, the executable image executing on the module; writing a host configuration table accessible to the module from the host, the host configuration table indicating to the module the mechanisms offered on the host to support services offered by the module. - View Dependent Claims (9, 10, 11)
-
-
12. A method of configuring a host to interoperate with a module to which it is coupled, the method comprising:
-
providing, from the host to the module, information concerning mechanisms offered on the host to support services offered by the module; providing, from the module to the host, information concerning which of a plurality of services are to be offered by the module; and configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to streams of data passing trough a data communications device; wherein configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to connections passing through the data communication device includes; sending module command messages from the host to the module to manage the configuration of the module; returning, from the module to the host, module response messages sent in response to specific module command messages, the module response messages indicating the status of module configuration processing performed by the module command message in the module. - View Dependent Claims (13, 14)
-
-
15. A method of configuring a host to interoperate with a module to which it is coupled, the method comprising:
-
providing, from the host to the module, information concerning mechanisms offered on the host to support services offered by the module; providing, from the module to the host, information concerning which of a plurality of services are to be offered by the module; and configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to streams of data passing through a data communications device; wherein configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to connections passing through the data communication device includes; providing a distinct service message catalog for each of the plurality of services; detecting a connection associated with a service; selecting messages from the service message catalog and sending the messages from the host to the module in order to establish a session of a service for the connection.
-
-
16. A method for processing streams of data in a data communications device, the method comprising:
-
accepting a stream of data on an interface, the stream of data including multiplexed connections, each connection having an associated data type; directing the stream of data to a module offering a plurality of services, wherein each service is associated with an associated data type; processing each connection by a service on the module having an associated data type that is compatible with a data type associated with the connection; wherein directing the stream of data includes; assigning a data queue to each connection in the stream of data; providing a session command message to the module to instruct the module to setup and establish a session associated with each connection; providing a session response message from the module to the host to indicate the successful execution of the session command message.
-
-
17. A method for processing steams of data in a data communications device, the method comprising:
-
accepting a stream of data on an interface, the stream of data including multiplexed connections, each connection having an associated data type; directing the stream of data to a module offering a plurality of services, wherein each service is associated with an associated data type; processing each connection by a service on the module having an associated data type that is compatible with a data type associated with the connection; wherein processing each connection by a service on the module includes; providing a service command message to the module to instruct the module to setup and establish a service associated with each connection; providing a service response message from the module to the host to indicate the successful execution of the session command message.
-
-
18. A multiple-service module comprising:
-
a module interface capable of being coupled to a host; a plurality of service interfaces capable of providing connections according to at least one of a plurality of services offered by the multiple-service module; a memory unit; a service module processing unit; a service module bus coupling the module interface, the plurality of services interfaces, the processing unit and the memory unit; the service module processing unit providing information upon request to a multiple service carrier card regarding the services offered by the multiple-service module and providing connection processing to support multiple simultaneous data communication sessions between the plurality of services interfaces and the module interface, each data communication session configured according one of the services offered by the multiple-service module.
-
-
19. An access server comprising:
-
a host processing unit; a memory unit; a host interface; a bus coupling the host processing unit and the memory unit and the host interface; the host processing unit detecting insertion of a multiple-service module into the host interface and interrogating the multiple-service module to determine what services are offered by the multiple-service module, and configuring a service configuration in the memory unit for each service offered, so as to allow the host processing to interoperate with the inserted multiple-service module to provide at least one data communications session over the bus according one of the services offered by the multiple-service module. - View Dependent Claims (20)
-
-
21. A method providing an application programming interface allowing configuration of a plurality of data communications services between two data communication devices, the method comprising:
-
downloading code from a carrier card into a module card; executing the code in the module card to determine the services offered by the module card; returning a list of services offered by the module card to the carrier card; configuring, in the carrier card and in the module card, a service configuration for each service listed as being offered by the module card; accepting and supporting a connection for at least one service for which there exists a service configuration.
-
-
22. A method of configuring a host to interoperate with a module to which it is coupled, the method comprising:
-
sending to the module information concerning mechanisms offered on the host to support services offered by the module; receiving from the module information concerning which of a plurality of services are to be offered by the module; and configuring mechanisms in the host so that the host can control the module to offer the plurality of services to streams of data passing through a data communications device; wherein configuring mechanisms in the host includes; sending module command messages to the module to manage the configuration of the module; receiving module response messages from the module sent in response to specific module command messages, the module response messages indicating the status of module configuration processing performed by the module command message in the module. - View Dependent Claims (23)
-
-
24. A method allowing configuration on of a plurality of data communications services at a module card, the method comprising:
-
downloading code from a carrier card; executing the code in the module card to determine the services offered by the module card; returning a list of services offered by the module card to the carrier card; configuring in the module card, a service configuration for each service listed as being offered by the module card; accepting and supporting a connection for at least one service for which there exists a service configuration.
-
-
25. A computer program product comprising a computer usable medium having computer program instructions thereon, which when executed by one or more processors, cause the one or more processors to perform the method of:
-
providing from a host to a module, information concerning mechanisms offered on the host to support services offered by the module; providing from the module to the host, information concerning which of a plurality of services are to be offered by the module; configuring mechanisms in the host and the module so that the host can control the module to offer the plurality of services to streams of data passing through a data communications device; wherein configuring mechanisms in the host includes; sending module command messages to the module to manage the configuration of the module; receiving module response messages from the module sent in response to specific module command messages, the module response messages indicating the status of module configuration processing performed by the module command message in the module.
-
-
26. A data communication system comprising:
-
a shared memory; a multiple-service module comprising; a module interface; a plurality of service interfaces capable of providing connections according to at least one of a plurality of services offered by the multiple-service module; a service module processing unit; a service module bus coupling the module interface, the plurality of services interfaces and the processing unit; a host comprising; a host processing unit; a host interface; a bus coupling the host processing unit and the host interface; the host processing unit detecting insertion of the multiple-service module into the host interface and interrogating the multiple-service module to determine what services are offered by the multiple-service module, and configuring a service configuration in the shared memory for each service offered; the service module processing unit providing information upon request to the host regarding the services offered by the multiple-service module and providing connection processing to support multiple simultaneous data communication sessions between the plurality of services interfaces and the module interface, each data communication session configured according one of the services offered by the multiple-service module. - View Dependent Claims (27)
-
-
28. A system providing data communications services, the system comprising:
-
a module including; a plurality of service processing elements supporting a plurality of services which operate an streams of data being accepted through the module; and a processor coupled to the plurality of service processing elements, the processor processing the plurality of services on the streams of data; a host for hosting the module; and a memory including; an identity table created upon start-up of the module, the identity table containing information identifying each of the plurality of services supported by the module; a host configuration table created upon start-up of the module, the host configuration table identifying a configuration of the host.
-
Specification