US2005147119A1PendingUtilityA1

Computer program products supporting integrated communication systems that exchange data and information between networks

Priority: Jun 14, 2002Filed: Dec 8, 2004Published: Jul 7, 2005
Est. expiryJun 14, 2022(expired)· nominal 20-yr term from priority
Inventors:Mark Tofano
H04L 69/08H04L 69/22
37
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Computer program products supporting integrated communication systems exchanging data and information between various networks and network formats through network interfaces. One computer program product executes in an external processor performing software switching for an operably connected communication system. Network interface connection information reflecting the result of the software switching decision is communicated by an external processor to the communication system for implementing the software switching decision therein between network interfaces according to some functional application of the received data. Another corresponding computer program product executes in a processor within a communication system for interacting with the operably connected external processor to implement the switching decision. Another computer program product executes in a processor within a communication system for translating the received data from an incoming format into a format suitable for software switched transmission from an incoming network interface directly to an outbound network interface of a communication system.

Claims

exact text as granted — not AI-modified
1 . A computer program product stored in computer readable media for execution in at least one processor external to but operably connected to a communication system that exchanges data between networks through at least two network interfaces, comprising: 
 a first software module for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    a second software module for determining to which of at least one other network interface of the communication system the data received may be switched in support of at least one functional application of the received data;    a third software module for software switching the data received from the first network interface to at least one other network interface of the communication system according to at least one selected functional application;    a fourth software module for creating at least network interface connection information for the communication system reflecting the result of the software switching decision between the first network interface and at least one other network interface; and    a fifth software module for transmitting at least the network interface connection information to the communication system to control therein to which at least one other network interface the first network interface will transmit the incoming received data to implement software switching in accordance with the selected functional application.    
   
   
       2 . The computer program product of  claim 1 , further comprising a sixth software module for receiving configuration information from the operably connected communication system wherein the configuration information consists of at least one of which network interfaces are present in the communication system, which network interfaces are configured in the communication system, which network interfaces are active in the communication system, what type of networks are connected to network interfaces of the communication system, what types of network formats are supported by network interfaces, what types of network formats are in use in network interfaces of the communication system, what type of physical interface is currently in use in network interfaces of the communication system, the bandwidth of network interfaces in the communication system, the status of at least one network interface in the communication system, an event from at least one network interface in the communication system, what network nodes are connected to each network interface of a communication system, the status of at least one device connected to the corresponding network interfaces of the communication system, and the status of at least one network node connected to the corresponding network interfaces of the communication system.  
   
   
       3 . The computer program product of  claim 2 , wherein the configuration information received by the computer program product is one of configuration information solicited after power up but before completion of initializing the communication system, unsolicited configuration information after power up but before completion of initializing the communication system, configuration information solicited after the communication system is completely initialized, unsolicited configuration information after the communication system is completely initialized, configuration information solicited after the communication system is communicating with at least one attached network, and unsolicited configuration information after the communication system is communicating with at least one attached network.  
   
   
       4 . The computer program product of  claim 1 , wherein the computer program product can control software switching in the communication system through execution in at least one processor selected from the group consisting of a single external processor operably connected to the communication system operating as a single software switching resource for the communication system, at least two external processors operably connected to the communication system configured to operate as a single redundant software switching resource for the communication system, at least two external processors operably connected to the communication system configured to share software switching functions therebetween for the communication system, at least two external processors operably connected to the communication system configured to split software switching functions therebetween for the communication system based on at least two functional applications, at least two external processors operably connected to the communication system configured to split software switching functions therebetween for the communication system based on relative processor workloads, and at least two external processors operably connected to the communication system configured to split software switching functions therebetween for the communication system based on the network interfaces supported by each external processor.  
   
   
       5 . The computer program product of  claim 4 , wherein at least two external processors provide software switching for the communication system, and wherein the communication system communicates individually with each external processor by at least one way of identifying selected from the group consisting of identifying an external processor according to at least one network interface it switches, identifying an external processor according to at least one network address associated with at least one network interface each processor switches, identifying an external processor according to a dynamic table lookup associating external processors with network interfaces each external processor switches, identifying an external processor according to a dynamic table lookup associating external processors with network addresses associated with network interfaces each external processor switches, identifying at least one network address associated with each external processor, identifying at least one network node associated with each external processor providing software switching therefor, identifying at least one device attached to a network interface associated with each external processor providing software switching therefor, the communication system broadcasting a transmission to each external processor such that each processor can compare the network interface originating the transmission to the network interfaces each external processor switches, and the communication system broadcasting a transmission to each external processor such that each processor can compare the network address of the transmission to the network addresses each network processor switches.  
   
   
       6 . The computer program product of  claim 1 , wherein each external processor operably connected to the communication system maintains a lookup table containing at least one entry from the group consisting of all network interfaces for which an external processor provides software switching, all network addresses associated with all network interfaces for which an external processor provides software switching, all network nodes associated with all network interfaces for which an external processor provides software switching, all devices associated with network interfaces for which an external processor provides software switching, the relationship between network interfaces for which an external processor provides software switching, the physical location of devices attached to network interfaces for which an external processor provides software switching, the user of devices attached to network interfaces for which an external processor provides software switching, the relationship between network addresses for which an external processor provides software switching, the relationship between network nodes for which an external processor provides software switching, the relationship between devices for which an external processor provides software switching, the physical to logical association of devices attached to network interfaces for which an external processor provides software switching, the status of at least one device connected to the corresponding network interfaces of the communication system, the status of at least one network node connected to the corresponding network interfaces of the communication system, and combinations of at least two of the above lookup table entries associated with an external processor providing software switching therefor.  
   
   
       7 . The computer program product of  claim 1 , wherein at least one software module therein can perform software switching for the communication system selected from the group consisting of a software switched transmission of data between at least two network interfaces within the communication system and a software switched transmission of data through a logical connection established between at least two network interfaces within the communication system, to be transmitted by the fifth software module to the communication system for software switching implementation therein.  
   
   
       8 . The computer program product of  claim 1 , wherein at least one software module therein creates a software switched transfer in the communication system selected from the group consisting of a unidirectional data transfer from one network interface to at least one other network interface of the communication system and a bidirectional data transfer from one network interface to at least one other network interface of the communication system.  
   
   
       9 . The computer program product of  claim 1 , wherein at least one software module therein determines how many and which network interfaces of the communication system are to receive incoming data received from the first network interface.  
   
   
       10 . The computer program product of  claim 1 , wherein software switching is initiated by at least one of data being received at a network interface of the communication system, the occurrence of an event associated with a network interface of the communication system, and the occurrence of an event associated with the communication system.  
   
   
       11 . The computer program product of  claim 10 , wherein the event comprises at least one of a network initializing, a network shutting down, a network link being initialized, a network link shutting down, a network interface initializing, a network interface shutting down, a phone going off hook, a phone going on hook, an incoming call being received, an incoming call ringing a telephone number, an incoming call being received with caller ID information, an incoming call being received without caller ID information, an incoming call being received with DID (Direct Inward Dial) information, an incoming call being received without DID (Direct Inward Dial) information, an incoming call not being answered, an incoming call not being answered after a given number of rings, a telephone connected to at least one network interface having keypad activity, a telephone connected to at least one network interface having keypad activity but the activity has ceased for some period of time, a telephone connected to at least one network interface having keypad activity and keys strokes were captured less than or equal to some key stroke number limit, a telephone connected to at least one network interface having keypad activity and keys strokes were captured beyond some key stroke number limit, a telephone connected to at least one network interface having keypad activity and key strokes beyond some key stroke number limit that were captured, a change in status for at least one network interface, and a request for status from an external processor to at least one network interface.  
   
   
       12 . The computer program product of  claim 1 , wherein at least one software module therein can manage differences in bandwidth between the incoming first network interface and at least one other outbound network interface of the communication system by issuing a command thereto consisting of at least one of commanding the communication system to send data through an outbound network interface at a lower bandwidth than that of the incoming first network interface and commanding the communication system to send data through an outbound network interface at a higher bandwidth than that of the incoming first network interface of the communication system.  
   
   
       13 . The computer program product of  claim 1 , wherein at least one software module therein creates a command for the communication system that is transmitted by the fifth software module to the communication system for implementation of the command therein.  
   
   
       14 . The computer program product of  claim 13 , wherein the command consists of at least one command from the group consisting of a command to transmit data from one network interface to at least one other network interface, a command to connect at least two network interfaces together, a command to disconnect at least one network interface from at least one other network interface, a command to establish a logical connection between at least two network interfaces, a command to de-establish a logical connection between at least two network interfaces, a command to take a telephone line off hook, a command to take a telephone line on hook, a command to connect at least one network interface to voicemail, a command to disconnect at least one network interface from voicemail, a command to connect at least one network interface to system voice, a command to disconnect at least one network interface from system voice, a command to dial a telephone number, a command to define a ring pattern for a telephone, a command to ring a telephone at least once, a command to stop ringing a telephone, a command to program at least one parameter of a communication system, a command to program at least one parameter of a network interface in a communication system, a command to have the communication system initiate at least one outbound signal from at least one network interface, and a command to have the communication system cease transmitting at least one outbound signal from at least one network interface.  
   
   
       15 . A computer program product stored in computer readable media for execution in at least one processor within a communication system for exchanging data between networks through at least two network interfaces, wherein the communication system is operably connected to at least one external processor, comprising: 
 a first software module for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    a second software module for transmitting to at least one external processor through at least one interface of the communication system that the first network interface of the communication system is receiving data;    wherein the software switching decision is performed by at least one processor external to the communication system based at least on the transmission from the second software module;    a third software module for receiving from at least one external processor through at least one interface of the communication system the results of the software switching decision as network interface connection information;    wherein the network interface connection information received indicates to which of at least one other network interface of the communication system the data received by the first network interface will be switched; and    a fourth software module for implementing the software switching decision within the communication system by directing the data received from the first network interface to at least one other network interface of the communication system as instructed by the processor external to the communication system.    
   
   
       16 . The computer program product of  claim 15 , wherein the software switching decision is made by at least one external processor according to at least one desired functional application of the received data.  
   
   
       17 . The computer program product of  claim 15 , further comprising a fifth software module for exchanging with at least one external processor information selected from the group consisting of communication system configuration information, network interface configuration information, information about attached network nodes, information about supported network formats, information about attached network formats, communication system operational information, network interface operational information, network format information for a network interface, physical interface information for a network interface, communication system status information, network interface status information, communication system event information, the status of at least one device connected to the corresponding network interfaces of the communication system, the status of at least one network node connected to the corresponding network interfaces of the communication system, and network interface event information.  
   
   
       18 . The computer program product of  claim 17 , wherein the event comprises at least one of a network initializing, a network shutting down, a link being initialized, a link shutting down, a network interface initializing, a network interface shutting down, a phone going off hook, a phone going on hook, an incoming call being received, an incoming call ringing a telephone number, an incoming call being received with caller ID information, an incoming call being received without caller ID information, an incoming call being received with DID (Direct Inward Dial) information, an incoming call being received without DID (Direct Inward Dial) information, an incoming call not being answered, an incoming call not being answered after a given number of rings, a telephone connected to at least one network interface having keypad activity, a telephone connected to at least one network interface having keypad activity but the activity has ceased for some period of time, a telephone connected to at least one network interface having keypad activity and keys strokes were captured less than or equal to some key stroke number limit, a telephone connected to at least one network interface having keypad activity and keys strokes were captured beyond some key stroke number limit, a telephone connected to at least one network interface having keypad activity and key strokes beyond some key stroke number limit that were captured, a change in status for at least one network interface, and a request for status from an external processor to at least one network interface.  
   
   
       19 . The computer program product of  claim 15 , wherein at least one software module therein can implement software switching in the communication system selected from the group consisting of a software switched transmission of data between at least two network interfaces within the communication system and a software switched transmission of data through a logical connection established between at least two network interfaces within the communication system.  
   
   
       20 . The computer program product of  claim 15 , wherein at least two external processors provide software switching for the communication system, and wherein the communication system communicates individually with each external processor by at least one way of identifying selected from the group consisting of identifying an external processor according to at least one network interface it switches, identifying an external processor according to at least one network address associated with at least one network interface each processor switches, identifying an external processor according to a dynamic table lookup associating external processors with network interfaces each external processor switches, identifying an external processor according to a dynamic table lookup associating external processors with network addresses associated with network interfaces each external processor switches, identifying at least one network address associated with each external processor, identifying at least one network node associated with each external processor providing software switching therefor, identifying at least one device attached to a network interface associated with each external processor providing software switching therefor, the communication system broadcasting a transmission to each external processor such that each processor can compare the network interface originating the transmission to the network interfaces each external processor switches, and the communication system broadcasting a transmission to each external processor such that each processor can compare the network address of the transmission to the network addresses each network processor switches.  
   
   
       21 . The computer program product of  claim 15 , wherein each external processor operably connected to the communication system maintains a lookup table containing at least one entry from the group consisting of all network interfaces for which an external processor provides software switching, all network addresses associated with all network interfaces for which an external processor provides software switching, all network nodes associated with all network interfaces for which an external processor provides software switching, all devices associated with network interfaces for which an external processor provides software switching, the relationship between network interfaces for which an external processor provides software switching, the physical location of devices attached to network interfaces for which for which an external processor provides software switching, the user of devices attached to network interfaces for which an external processor provides software switching, the relationship between network addresses for which an external processor provides software switching, the relationship between network nodes for which an external processor provides software switching, the relationship between devices for which an external processor provides software switching, the physical to logical association of devices attached to network interfaces for which an external processor provides software switching, the status of at least one device connected to the corresponding network interfaces of the communication system, the status of at least one network node connected to the corresponding network interfaces of the communication system, and combinations of at least two of the above lookup table entries associated with an external processor providing software switching therefor.  
   
   
       22 . The computer program product of  claim 15 , wherein at least one software module therein implements a software switched transfer in the communication system selected from the group consisting of a unidirectional data transfer from one network interface to at least one other network interface of the communication system and a bidirectional data transfer from one network interface to at least one other network interface of the communication system.  
   
   
       23 . The computer program product of  claim 15 , wherein at least one software module therein implements how many and which network interfaces of the communication system are to receive incoming data from the first network interface according to the network interface connection information received from at least one external processor.  
   
   
       24 . The computer program product of  claim 15 , wherein at least one software module therein can manage differences in bandwidth between the incoming first network interface and at least one other outbound network interface of the communication system by at least one of by sending data through an outbound network interface at a lower bandwidth than that of the incoming first network interface and by sending data through an outbound network interface at a higher bandwidth than that of the incoming first network interface of the communication system.  
   
   
       25 . The computer program product of  claim 15 , wherein at least one software module therein interprets and implements a command for the communication system received from at least one external processor operably connected thereto.  
   
   
       26 . The computer program product of  claim 25 , wherein the command consists of at least one command from the group consisting of a command to transmit data from one network interface to at least one other network interface, a command to connect at least two network interfaces together, a command to disconnect at least one network interface from at least one other network interface, a command to establish a logical connection between at least two network interfaces, a command to de-establish a logical connection between at least two network interfaces, a command to setup a data transfer between network interfaces, a command to initiate a data transfer between network interfaces, a command to take a telephone line off hook, a command to take a telephone line on hook, a command to connect at least one network interface to voicemail, a command to disconnect at least one network interface from voicemail, a command to connect at least one network interface to system voice, a command to disconnect at least one network interface from system voice, a command to dial a telephone number, a command to define a ring pattern for a telephone, a command to ring a telephone at least once, a command to stop ringing a telephone, a command to program at least one parameter of a communication system, a command to program at least one parameter of a network interface in a communication system, a command to have the communication system initiate at least one outbound signal from at least one network interface, and a command to have the communication system cease transmitting at least one outbound signal from at least one network interface.  
   
   
       27 . The computer program product of  claim 15 , further comprising a sixth software module for initiating the physical transfer through the communication system of the data received from the first network interface to at least one other network interface of the communication system.  
   
   
       28 . The computer program product of  claim 15 , wherein the processor within the communication system executing at least one software module therein is disposed in at least one of the first network interface and at least one other network interface of the communication system.  
   
   
       29 . A computer program product stored in computer readable media for execution in at least one processor within a communication system for exchanging data between networks through at least two network interfaces, wherein the communication system is operably connected to at least one external processor, comprising: 
 a first software module for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    a second software module for identifying the first network format of incoming data received from the first network interface;    a third software module for receiving from at least one external processor through at least one interface of the communication system an indication that the received data is to be transmitted to at least one other outbound network interface of the communication system;    a fourth software module for translating the received data from the first network format into a different format suitable for software switched transmission of the received data from the first network interface directly to at least one other outbound network interface of the communication system; and    wherein at least the fourth software module is responsive to the results of the software switching decision received from at least one external processor.    
   
   
       30 . The computer program product of  claim 29 , wherein the different format suitable for software switched transmission of received data between network interfaces consists of at least one of received data in an encapsulated hardware format, received data in an encapsulated PCI bus format, received data in an IP packet in an encapsulated hardware format, received data in an IP packet in an encapsulated PCI bus format, received data in an encapsulated software format, and received data in the incoming network format encapsulated for transmission between network interfaces.  
   
   
       31 . The computer program product of  claim 29 , wherein at least one software module identifies at least one other network interface to receive the received data by using network interface connection information received from at least one external processor through at least one of the interfaces of the communication system.  
   
   
       32 . The computer program product of  claim 31 , wherein the network interface connection information is created and transmitted by at least one processor external to the communication system to indicate that at least two network interfaces are to exchange data therebetween.  
   
   
       33 . The computer program product of  claim 32 , wherein the network interface connection information is created by at least one processor external to the communication system making software switching decisions for the communication system to control which at least two network interfaces are to exchange data therebetween.  
   
   
       34 . The computer program product of  claim 29 , further comprising a fifth software module for translating received data in the different format suitable for software switched transmission into an outbound network format suitable for transmission from at least one other network interface of the communication system.  
   
   
       35 . The computer program product of  claim 34 , wherein the different format suitable for software switched transmission being translated into an outbound network format consists of at least one of received data in an encapsulated hardware format, received data in an encapsulated PCI bus format, received data in an IP packet in an encapsulated hardware format, received data in an IP packet in an encapsulated PCI bus format, received data in an encapsulated software format, and received data in the incoming network format encapsulated for transmission between network interfaces.  
   
   
       36 . The computer program product of  claim 34 , wherein the network format of data received from the first network interface and the outbound network format are different.  
   
   
       37 . The computer program product of  claim 36 , wherein the translation of data received from the first network interface in the first format into the different format suitable for software switched transmission and the translation of data received from the different format suitable for software switched transmission into the outbound network format are used to reconcile differences between the first and outbound network formats such that data may be exchanged between different network formats.  
   
   
       38 . The computer program product of  claim 36 , wherein the first network connected to the first network interface and the second network connected to the outbound network interface have different network layer models that are reconciled through format translations performed by the computer program product of the communication system.  
   
   
       39 . A computer program product stored in computer readable media for execution in at least one processor external to but operably connected to a communication system that exchanges data between networks through at least two network interfaces, comprising: 
 first means for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    second means for determining to which of at least one other network interface of the communication system the data received may be switched in support of at least one functional application of the received data;    third means for switching the data received from the first network interface to at least one other network interface of the communication system according to at least one selected functional application using software switching;    fourth means for creating at least network interface connection information for the communication system reflecting the result of the software switching decision between the first network interface and at least one other network interface; and    fifth means for transmitting at least the network interface connection information to the communication system to control therein to which at least one other network interface the first network interface will transmit the incoming received data to implement software switching in accordance with the selected functional application.    
   
   
       40 . A computer program product stored in computer readable media for execution in at least one processor within a communication system for exchanging data between networks through at least two network interfaces, wherein the communication system is operably connected to at least one external processor, comprising: 
 first means for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    second means for transmitting to at least one external processor through at least one interface of the communication system that the first network interface of the communication system is receiving data;    wherein the software switching decision is performed by at least one processor external to the communication system based at least on the transmission from the first means for transmitting;    third means for receiving from at least one external processor through at least one interface of the communication system the results of the software switching decision as network interface connection information;    wherein the network interface connection information received indicates to which of at least one other network interface of the communication system the data received by the first network interface will be switched; and    fourth means for implementing the software switching decision within the communication system by directing the data received from the first network interface to at least one other network interface of the communication system as instructed by the processor external to the communication system.    
   
   
       41 . A computer program product stored in computer readable media for execution in at least one processor within a communication system for exchanging data between networks through at least two network interfaces, wherein the communication system is operably connected to at least one external processor, comprising: 
 first means for determining that a first network interface of the communication system is receiving data from a first network in a first network format;    second means for identifying the first network format of incoming data received from the first network interface;    third means for receiving from at least one external processor through at least one interface of the communication system an indication that the received data is to be transmitted to at least one other outbound network interface of the communication system;    fourth means for translating the received data from the first network format into different format suitable for software switched transmission of the received data from the first network interface directly to at least one other outbound network interface of the communication system; and    wherein at least the fourth means for translating is responsive to the results of the software switching decision received from at least one external processor.

Join the waitlist — get patent alerts

Track US2005147119A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.