US7688961B2 - Efficient multiplex conferencing engine - Google Patents

Efficient multiplex conferencing engine Download PDF

Info

Publication number
US7688961B2
US7688961B2 US10/948,951 US94895104A US7688961B2 US 7688961 B2 US7688961 B2 US 7688961B2 US 94895104 A US94895104 A US 94895104A US 7688961 B2 US7688961 B2 US 7688961B2
Authority
US
United States
Prior art keywords
conference
bridge
engine
data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active - Reinstated, expires
Application number
US10/948,951
Other versions
US20050091444A1 (en
Inventor
Jay Vicory
Malcolm Strandberg
Thomas Ward
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alvaria Cayman Cx
Wilmington Trust NA
Original Assignee
Concerto Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Concerto Software Inc filed Critical Concerto Software Inc
Priority to US10/948,951 priority Critical patent/US7688961B2/en
Assigned to CONCERTO SOFTWARE, INC. reassignment CONCERTO SOFTWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STRANDBERG, MALCOLM, VICORY, JAY
Publication of US20050091444A1 publication Critical patent/US20050091444A1/en
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASPECT SOFTWARE, INC.
Assigned to D.B. ZWIRN FINANCE, LLC reassignment D.B. ZWIRN FINANCE, LLC SECURITY AGREEMENT Assignors: ASPECT SOFTWARE, INC.
Assigned to ASPECT SOFTWARE, INC. reassignment ASPECT SOFTWARE, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CONCERTO SOFTWARE, INC.
Assigned to CONCERTO SOFTWARE INTERMEDIATE HOLDINGS, INC., ASPECT SOFTWARE, INC., ASPECT COMMUNICATIONS CORPORATION, FIRSTPOINT CONTACT CORPORATION, FIRSTPOINT CONTACT TECHNOLOGIES, INC. reassignment CONCERTO SOFTWARE INTERMEDIATE HOLDINGS, INC., ASPECT SOFTWARE, INC., ASPECT COMMUNICATIONS CORPORATION, FIRSTPOINT CONTACT CORPORATION, FIRSTPOINT CONTACT TECHNOLOGIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: D.B. ZWIRN FINANCE, LLC
Assigned to DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINISTRATIVE AGENT reassignment DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: ASPECT COMMUNICATIONS CORPORATION, ASPECT SOFTWARE, INC., FIRSTPOINT CONTACT TECHNOLOGIES, LLC
Publication of US7688961B2 publication Critical patent/US7688961B2/en
Application granted granted Critical
Assigned to ASPECT SOFTWARE, INC., FIRSTPOINT CONTACT TECHNOLOGIES, LLC, ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC., ASPECT COMMUNICATIONS CORPORATION reassignment ASPECT SOFTWARE, INC. RELEASE OF SECURITY INTEREST Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to ASPECT SOFTWARE, INC., ASPECT COMMUNICATIONS CORPORATION, ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC., FIRSTPOINT CONTACT TECHNOLOGIES, LLC reassignment ASPECT SOFTWARE, INC. RELEASE OF SECURITY INTEREST Assignors: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: ASPECT SOFTWARE, INC., ASPECT SOFTWARE, INC. (AS SUCCESSOR TO ASPECT COMMUNICATIONS CORPORATION), FIRSTPOINT CONTACT TECHNOLOGIES, LLC (F/K/A ROCKWELL ELECTRONIC COMMERCE TECHNOLOGIES, LLC)
Assigned to U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASPECT SOFTWARE, INC., FIRSTPOINT CONTACT TECHNOLOGIES, LLC
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to ASPECT SOFTWARE, INC. reassignment ASPECT SOFTWARE, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Assigned to ASPECT SOFTWARE, INC. reassignment ASPECT SOFTWARE, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: U.S. BANK NATIONAL ASSOCIATION
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASPECT SOFTWARE PARENT, INC., ASPECT SOFTWARE, INC., DAVOX INTERNATIONAL HOLDINGS LLC, VOICEOBJECTS HOLDINGS INC., VOXEO PLAZA TEN, LLC
Assigned to JEFFERIES FINANCE LLC reassignment JEFFERIES FINANCE LLC FIRST LIEN PATENT SECURITY AGREEMENT Assignors: ASPECT SOFTWARE, INC., NOBLE SYSTEMS CORPORATION
Assigned to JEFFERIES FINANCE LLC reassignment JEFFERIES FINANCE LLC SECOND LIEN PATENT SECURITY AGREEMENT Assignors: ASPECT SOFTWARE, INC., NOBLE SYSTEMS CORPORATION
Assigned to VOICEOBJECTS HOLDINGS INC., DAVOX INTERNATIONAL HOLDINGS LLC, ASPECT SOFTWARE, INC., VOXEO PLAZA TEN, LLC, ASPECT SOFTWARE PARENT, INC. reassignment VOICEOBJECTS HOLDINGS INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Assigned to ALVARIA, INC. reassignment ALVARIA, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ASPECT SOFTWARE, INC.
Assigned to ALVARIA CAYMAN (CX) reassignment ALVARIA CAYMAN (CX) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALVARIA INC.
Assigned to JEFFERIES FINANCE LLC reassignment JEFFERIES FINANCE LLC PATENT SECURITY AGREEMENT Assignors: ALVARIA CAYMAN (CXIP), ALVARIA CAYMAN (WEM)
Assigned to ALVARIA, INC., NOBLE SYSTEMS, LLC reassignment ALVARIA, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JEFFRIES FINANCE LLC
Assigned to ALVARIA, INC., NOBLE SYSTEMS, LLC reassignment ALVARIA, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JEFFRIES FINANCE LLC
Active - Reinstated legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4038Arrangements for multi-party communication, e.g. for conferences with floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/561Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities by multiplexing

Definitions

  • the present invention relates to the fields of communication systems and conferencing and more particularly, relates to methods and apparatus for reducing the bandwidth required to conduct a multipoint conference.
  • Conference calls are a well-known and useful tool. Conference calls allow a plurality of people or equipment (hereinafter referred to collectively as resources) to exchange and receive data from one or more of the other resources simultaneously.
  • resources a plurality of people or equipment (hereinafter referred to collectively as resources) to exchange and receive data from one or more of the other resources simultaneously.
  • a common use of conference calls includes a traditional three-way telephone call.
  • a traditional three-way telephone call allows three or more people who might be spread out over a large geographic area, to simultaneously hear and talk to each other.
  • the use of conference calls has become increasingly more popular (especially when combined with video conferencing and the like) as it is a significantly easier and cheaper alternative to scheduling traditional person-to-person meetings.
  • the method and apparatus should preferably be a scalable, multichannel conference system utilizing a multiplexed processing scheme. Cost should preferably be minimized by employing only an efficient single-adder implementation.
  • the method and apparatus should preferably allow any-to-any conferencing across all input channels and all output channels and should preferably allow passthrough channels to any output channel. Also, the method and apparatus should preferably allow low processing latency generally limited to a single frame.
  • conference calls include contact centers. According to this example, a customer can communicate with two or more agents at a contact center simultaneously. The ability to conference greatly increases the experience of the customer since it allows the customer access to more than one agent who may have expertise in different areas. Another example is a monitoring, coaching, or supervisor situation where one party can hear all the parties but can only talk to or be heard by one other party (typically the agent).
  • the method and apparatus should preferably be a scalable, mult-channel conference system utilizing a multiplexed processing scheme. Cost should preferably be minimized by employing only an efficient single-adder implementation.
  • the method and apparatus should preferably allow any-to-any conferencing across all input channels and all output channels and should preferably allow pass-through channels to any output channel. Also, the method and apparatus should preferably allow low processing latency generally limited to a single frame.
  • a conference engine operates in a multiplex processing scheme and requires a signal hardware summer to process all of the programmed conferences, all of the outputs and all of the input channels.
  • the conference engine is only limited by the number of available input channels, the number of desired conference registers, the speed of the implementation, and the amount of memory available on the target system.
  • the conference engine allows the number of available conference channels, the number of conferences per bridge and the number of bridges to be scaled.
  • Each bridge contains a unique set of conference registers and has full access to the input channel data. Additional conference bridges are added by increasing the operating clock/memory to meet the processing requirements of the additional bridge. Conference registers in each conference bridge can be added/removed depending on the system requirements and are independent of the number of input channels.
  • FIG. 1 is a block diagram of one embodiment of the conference engine system according to the present invention.
  • FIG. 2 is a block diagram of one embodiment of the conference engine shown in FIG. 1 according to one embodiment of the present invention
  • FIG. 3 is flow chart of one embodiment of the multiplex processing states performed by the access and control subsection shown in FIG. 2 ;
  • FIG. 4 is a example of one possible conference engine table according to the present invention.
  • FIG. 5 is an example of one embodiment of a conference engine table for a three-party conference
  • FIG. 6 is an example of one embodiment of a conference engine table for a four-party conference
  • FIG. 7 is an example of one embodiment of a conference engine table for a four-party conference with a monitor
  • FIG. 8 is an example of one embodiment of a conference engine table for a four-party conference with a coach
  • FIG. 9 is an example of one embodiment of a conference engine table for a four-party conference with a coach in private.
  • FIG. 10 is an example of one embodiment of a conference engine table for a four-party conference with a coach and a supervisor.
  • An efficient multiplex conferencing engine 10 provides flexible multi-channel conferencing between a plurality of resources in an efficient architecture suitable for programming devices and ASICs.
  • the conference engine 10 can be scaled to provide for system growth and is only limited by the number of available input channels, the number of desired conference registers, the speed of the implementation, and the amount of memory available on the target system.
  • the conference engine 10 allows the number of available conference channels, the number of conferences per bridge and the number of bridges to be scaled.
  • the conference engine 10 allows for conference bridge scalability. Each bridge contains a unique set of conference registers and each bridge has full access to the input channel data. Additional conference bridges can be added to the conference engine 10 by simply increasing the operating clock and memory to meet the processing requirements of the additional bridge.
  • the conference engine 10 can be scaled to the number of available input channels. For instance, if the target system is utilizing input data consisting of 128 channels and it is desired to increase the capacity to 256 channels, the operating clock and memory would simply be increased to meet the new capacity requirement.
  • the conference engine 10 can be scaled to desired number of conference registers.
  • the conference registers in each conference bridge can be added or removed depending on the target system requirements and are independent of the number of input channels.
  • the conference engine 10 makes no assumptions about the type of conference(s) the user wishes to develop by providing the ability to define the conference members in its entirety.
  • a conference programmed by the user in the conference engine 10 can include a single-member channel or it may include many conference members. Additionally, conference attributes can be attached on an individual conference basis or to individual conference channels. Due to its architecture, the conferencing engine 10 provides the ability to conference any of the input channels with any other input channel, the ability to output any of the available conferences on to any of the output channels, and is designed to process all of the conferences within a single frame timespan.
  • the conferencing engine 10 may be utilized in a system containing individual blocks consisting of a front-end pipeline processor 12 , a conference engine 14 , a back-end pipeline processor 16 , and register/memory GLU logic 18 .
  • the front-end pipeline processor 12 provides linear encoded data to the conference engine 14 and the back-end pipeline processor 16 receives linear encoded conference data.
  • the register memory and control 18 consist of memory registers utilized by the conference engine 14 and programmed by the system user.
  • the conference engine 14 provides N individual bridge subsections and a scalable number of individual conference groups per bridge. Each conference group can contain any number of conference parties (up to the number of individual conference groups) and can include any party from input channels. Over the entire set of conference bridges (assuming tour bridges, 128 input channels and 128 conference groups) and conference registers, the conference engine block 14 performs approximately five million 16-bit signed summation operations per second and transfers approximately 90 Megabytes of data per second. The output buffer is updated once per frame synchronization.
  • the copy buffer 20 is preferably a RAM containing a local copy of the input channel data that is refreshed once per frame synchronization signal.
  • the input data contains the data to be utilized by the conference engine 14 .
  • the input data also contains channel control data that is alternately passed to the output channel.
  • the summer 22 is preferably a single signed adder.
  • hardware implementations of signed adders are expensive in terms of size and overall system costs. Utilizing a single adder by multiplexing summation operations and storing intermediate results reduces the overall system costs.
  • One or more bridges 24 are connected to the output from the summer 22 and to the access and control subsection 26 .
  • the access and control subsection 26 performs the multiplex conference operations as will be explained in great detail herein below.
  • the access and control substation 26 has bus connections to the copy buffer 20 the bridges 24 , the summer 22 , the output buffer 30 , and to an external bus for control data.
  • the external bus provides access to conference control data that is programmed as will be explained in great detail herein below.
  • the output buffer 30 is preferably a dual ported RAM containing the process output channel data.
  • the output buffer 30 is updated once per frame synchronization signal.
  • the access and control subsection 26 performs the multiplex conference operations and provide scalability and efficiency.
  • the conference engine 14 only requires a single hardware summer 22 to process all of the programmed conferences, all of the output and all of the input channels.
  • the multiplex processing states are shown in greater detail.
  • the input data is copied.
  • the input data is copied to a local copy buffer 20 ( FIG. 2 ) in a single blocking operation upon each frame synchronization signal.
  • the first conference summation pass is performed.
  • the target conference number is retrieved from the conference registers and the input data is added.
  • the target conference number data is replaced with the summation result. This operation is performed for each individual input channel.
  • the second conference summation pass is performed. This processing state is substantially the same as the first conference summation pass and is generally repeated for N number of desired conference bridges (act 340 ).
  • the target conference settings are retrieved from the conference registers. If desired, the input data is subtracted from the target conference number data. The target conference number data is placed into the output buffer 30 ( FIG. 2 ). This operation is performed for each individual input channel. At act 360 , the conference buffers are cleared. The acts are repeated as necessary.
  • Each timeslot (channel) preferably has an associated register.
  • the Conference Selection [6:0] selects which conference to add the particular timeslot.
  • Default state contains the associated timeslot number for the particular memory mapped register (pass-through).
  • the setting the Subtract [7:7] bit active low (0) subtracts the source input timeslot data from the conference upon output. Threshold [15:10] is not implemented.
  • the Bridge Select [9:8] determines which bridge contains the output timeslot data. Put another way, the bridge select determines which bridge contains the conference data to be output on that particular register's timeslot.
  • the bridge assignment is as follows:
  • Bridge Selection Bit Field Bits ⁇ 9:8> Bridge Number 2′b00 Bridge 0 2′b01 Bridge 1 2′b10 Bridge 2 2′b11 Bridge 3
  • the conference control registers are memory mapped to have an association with the input timeslots. There are four discrete sets of 126 registers over four bridges. The following example details the memory mapping for a single bridge.
  • Bridge0_Ptr Base_Ptr+0x0800+(Timeslot_Number+1)*4; where timeselot is any number in the range 1-126.
  • Bridge1_Ptr Base_Ptr+0x1800+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
  • Bridge2_Ptr Base_Ptr+0x1800+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
  • Bridge3_Ptr Base_Ptr+0x2000+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
  • Conferences are created and destroyed by setting the conference control registers to the appropriate values for the intended end-conference effect.
  • the conference control registers used in the following examples, are a series of duplicate registers across 126 possible conferences per bridge. In the following examples, there are four independent bridges each containing 126 conference control registers for a total of 504 possible control settings.
  • the first bridge is unique in that it defines the output timeslot depending on which register is programmed.
  • the first bridge can also perform a subtraction using the input timeslot data. By default, and under most circumstances, subtraction of the source timeslot is performed on the desired output timeslot data.
  • the second, third, fourth and subsequent conference bridges operate the same as the first bridge but they do not explicitly define the output timeslot and they do not perform any subtraction of the source data.
  • the switch column 32 represents the input switch setting of the digital switch. For example, in the first row the switch 32 is set to attach the source data onto timeslot four of the conference highway/stream.
  • the timeslot column 34 represents the physical timeslot of the conference highway/stream. For example, in the first row, the timeslot is timeslot number four.
  • the bridge columns 36 represent the conference bridges and the assigned bridge conferences.
  • the input data has been assigned to conference number two (conference list two) and conference number five (conference list one).
  • the output timeslot data is always the value in the first bridge and is set to output the result of conference number two (in this example).
  • the input data has been assigned into conference number five on the second bridge.
  • the output timeslot data is always the value in the first bridge and is set to output the result of conference number five on the second bridge.
  • the output column 38 represents the mathematical result produced by the conference engine. For example, in the second row, the resultant output data is the sum of the input timeslot data on timeslots six and seven. Under most circumstances, subtraction of the source timeslot is performed on the desired output timeslot data.
  • Output conference column 40 represents an alternative representation of the output shown in output column 38 given in terms of which bridge conference number. For example, in the second row, the output includes those timeslots which are part of the bridge conference number zero.
  • switch column 42 represents the output switch setting for the source data.
  • the switch is set to source data from timeslot five of the conference highway/stream.
  • the value “X” is a “don't care” setting.
  • a three-party conference is created by first setting the digital switch output connection to point to the conference engine. Next, the conference number in the first bridge is set and then the digital switch is set to source the output data from the conference engine.
  • the conference number 44 used in this example is two and timeslots 46 four, five, and six are used.
  • the conference number 44 and the timeslots 46 to include in the conference is an arbitrary value in the range of 0-128.
  • the conference number 44 is completely independent of the timeslots 46 .
  • the input timeslot data is dependent on the conference control registers memory mapping and the digital switch connection settings 48 .
  • the output data is dependent on the conference control register memory mapping and the value programmed into that register.
  • the output data 47 (i.e., what the user hears) for timeslot four includes the sum of timeslots five and six. As mentioned previously, the source timeslot (i.e., four) is subtracted. Alternatively, this can be represented by saying that the output 49 for timeslot four is conference bridge zero. This alternative expression simply means that the user will hear all timeslots associated with conference bridge zero.
  • FIG. 6 represents one embodiment of a four-party conference 50 .
  • a four-party conference 50 is created by simply adding another timeslot 46 to the conference 44 . Additional conference members can continue to be added up to 126 members. However, clipping and background noise may become an issue above a certain number of members since thresholding is not performed at this point.
  • the output data 47 for timeslot four includes the sum of timeslots five, six, and seven (again, the source timeslot is subtracted).
  • this can be represented by saying that the output 49 for timeslot four is conference bridge zero.
  • FIG. 7 represents one embodiment of a four-party conference with a monitor 60 .
  • a monitor 62 (represented by timeslot eight) can be added by utilizing a conference bridge (in this case conference bridge one). Since all timeslots are associated with conference bridge one, the monitor 62 hears the sum of timeslots four, five, six, and seven. However, since timeslots four, five, and six are only associated with bridge conference zero, they cannot hear the monitor 62 .
  • FIG. 8 represents one embodiment of a four-party conference with a coach 70 .
  • two output timeslots utilize the second bridge 72 .
  • the “Coach” 74 (who has been assigned to timeslot eight) and the “Agent” 76 (who has been assigned to timeslot four) both hear and can talk to each other. Both “Agent” 76 and “Coach” 74 can hear all of the parties in the conference as indicated by the output data 47 . However, the other conference members cannot hear the “Coach” 74 while the other members can hear the “Agent” 76 .
  • FIG. 9 represents one embodiment of a four-party conference with a coach in private 80 based on the configuration shown in FIG. 8 .
  • the conversation between the “Coach” 82 (timeslot eight) and the “Agent” 84 (timeslot four) is private and cannot be heard by the other members of the conference.
  • the “Agent” 84 is temporarily dropped from the conference on the first bridge 86 , but can still hear the conference as can the “Coach” 82 .
  • the “Agent” 84 has muted his conversation with the first conference on the first bridge 86 while conversing with the “Coach” 82 on the second bridge 88 .
  • the “Agent” 84 can later be “un-muted” from the conference on the first bridge 86 by simply adding the “Agent” 84 back into the first bridge 86 .
  • FIG. 10 represents a four-party conference with a coach and a supervisor 90 .
  • the supervisor 92 timeslot ten
  • the supervisor 92 can hear all parties including the “Agent” 94 (timeslot four) and the “Coach” 96 (timeslot eight).
  • the present invention includes an apparatus and method for establishing conferences, and in particular complex conferences, which uses the same model and which reduces the amount of equipment necessary.
  • the method and apparatus includes a scalable, multichannel conference system utilizing a multiplexed processing scheme and minimizes cost by employing only an efficient single-adder implementation.
  • the method and apparatus allow any-to-any conferencing across all input channels and all output channels and allows pass-through channels to any output channel. Additionally, the method and apparatus allow low processing latency generally limited to a single frame.
  • the present invention is not intended to be limited to a system or method which must satisfy one or more of any stated or implied object or feature of the invention and should not be limited to the preferred, exemplary, or primary embodiment(s) described herein.
  • the foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as is suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the claims when interpreted in accordance with breadth to which they are fairly, legally and equitably entitled.

Abstract

A conference engine operates in a multiplex processing scheme and requires a signal hardware summer to process all of the programmed conferences, all of the outputs and all of the input channels. The conference engine is only limited by the number of available input channels, the number of desired conference registers, the speed of the implementation, and the amount of memory available on the target system. The conference engine allows the number of available conference channels, the number of conferences per bridge and the number of bridges to be scaled. Each bridge contains a unique set of conference registers and has full access to the input channel data. Additional conference bridges are added by increasing the operating clock/memory to meet the processing requirements of the additional bridge. Conference registers in each conference bridge can be added/removed depending on the system requirements and are independent of the number of input channels.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 60/506,308, filed Sep. 26, 2003 and which is fully incorporated herein by reference.
TECHNICAL FIELD
The present invention relates to the fields of communication systems and conferencing and more particularly, relates to methods and apparatus for reducing the bandwidth required to conduct a multipoint conference.
BACKGROUND INFORMATION
Conference calls are a well-known and useful tool. Conference calls allow a plurality of people or equipment (hereinafter referred to collectively as resources) to exchange and receive data from one or more of the other resources simultaneously.
A common use of conference calls includes a traditional three-way telephone call. A traditional three-way telephone call allows three or more people who might be spread out over a large geographic area, to simultaneously hear and talk to each other. The use of conference calls has become increasingly more popular (especially when combined with video conferencing and the like) as it is a significantly easier and cheaper alternative to scheduling traditional person-to-person meetings.
Accordingly, what is needed is a method and apparatus for establishing conferences, and in particular complex conferences, which uses the same model and which reduces the amount of equipment necessary. The method and apparatus should preferably be a scalable, multichannel conference system utilizing a multiplexed processing scheme. Cost should preferably be minimized by employing only an efficient single-adder implementation. The method and apparatus should preferably allow any-to-any conferencing across all input channels and all output channels and should preferably allow passthrough channels to any output channel. Also, the method and apparatus should preferably allow low processing latency generally limited to a single frame.
Other examples of conference calls include contact centers. According to this example, a customer can communicate with two or more agents at a contact center simultaneously. The ability to conference greatly increases the experience of the customer since it allows the customer access to more than one agent who may have expertise in different areas. Another example is a monitoring, coaching, or supervisor situation where one party can hear all the parties but can only talk to or be heard by one other party (typically the agent).
While the use of conferences has greatly facilitated the ease of communicating with a plurality of people and greatly minimized travel and other expenses associated with communication over long distances, current methods and apparatus for creating conferences suffer from several disadvantages. One disadvantage of the current practice is that it is equipment extensive. Another problem is that conferencing set-up becomes increasingly complex as the number of parties increases and the relationships between the parties becomes more complex (e.g., party A can hear all parties but only talk to and be heard by party B, while party C can only hear party B, but party B can hear both parties A and C). Current conference methods require a great deal of equipment resources in order to create the more complex conferences. One current method uses special config bits (i.e., special attributes) in an attempt to create and define complex conferences. Other methods use two or more additional conferences where the output of one conference is duplicated into a second or subsequent conference using external switches. Current methods only associate a single timeslot with a single bridge.
Accordingly, what is needed is a method and apparatus for establishing conferences, and in particular complex conferences, which uses the same model and which reduces the amount of equipment necessary. The method and apparatus should preferably be a scalable, mult-channel conference system utilizing a multiplexed processing scheme. Cost should preferably be minimized by employing only an efficient single-adder implementation. The method and apparatus should preferably allow any-to-any conferencing across all input channels and all output channels and should preferably allow pass-through channels to any output channel. Also, the method and apparatus should preferably allow low processing latency generally limited to a single frame.
It is important to note that the present invention is not intended to be limited to a system or method which must satisfy one or more of any stated objects or features of the invention. It is also important to note that the present invention is not limited to the preferred, exemplary, or primary embodiment(s) described herein. Modifications and substitutions by one of ordinary skill in the art are considered to be within the scope of the present invention, which is not to be limited except by the following claims.
SUMMARY
A conference engine operates in a multiplex processing scheme and requires a signal hardware summer to process all of the programmed conferences, all of the outputs and all of the input channels. The conference engine is only limited by the number of available input channels, the number of desired conference registers, the speed of the implementation, and the amount of memory available on the target system.
The conference engine allows the number of available conference channels, the number of conferences per bridge and the number of bridges to be scaled. Each bridge contains a unique set of conference registers and has full access to the input channel data. Additional conference bridges are added by increasing the operating clock/memory to meet the processing requirements of the additional bridge. Conference registers in each conference bridge can be added/removed depending on the system requirements and are independent of the number of input channels.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features and advantages of the present invention will be better understood by reading the following detailed description, taken together with the drawings wherein:
FIG. 1 is a block diagram of one embodiment of the conference engine system according to the present invention;
FIG. 2 is a block diagram of one embodiment of the conference engine shown in FIG. 1 according to one embodiment of the present invention;
FIG. 3 is flow chart of one embodiment of the multiplex processing states performed by the access and control subsection shown in FIG. 2;
FIG. 4 is a example of one possible conference engine table according to the present invention;
FIG. 5 is an example of one embodiment of a conference engine table for a three-party conference;
FIG. 6 is an example of one embodiment of a conference engine table for a four-party conference;
FIG. 7 is an example of one embodiment of a conference engine table for a four-party conference with a monitor;
FIG. 8 is an example of one embodiment of a conference engine table for a four-party conference with a coach;
FIG. 9 is an example of one embodiment of a conference engine table for a four-party conference with a coach in private; and
FIG. 10 is an example of one embodiment of a conference engine table for a four-party conference with a coach and a supervisor.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
An efficient multiplex conferencing engine 10, FIG. 1, provides flexible multi-channel conferencing between a plurality of resources in an efficient architecture suitable for programming devices and ASICs. As will be explained in great detail hereinbelow, the conference engine 10 can be scaled to provide for system growth and is only limited by the number of available input channels, the number of desired conference registers, the speed of the implementation, and the amount of memory available on the target system. The conference engine 10 allows the number of available conference channels, the number of conferences per bridge and the number of bridges to be scaled.
The conference engine 10 allows for conference bridge scalability. Each bridge contains a unique set of conference registers and each bridge has full access to the input channel data. Additional conference bridges can be added to the conference engine 10 by simply increasing the operating clock and memory to meet the processing requirements of the additional bridge.
The conference engine 10 can be scaled to the number of available input channels. For instance, if the target system is utilizing input data consisting of 128 channels and it is desired to increase the capacity to 256 channels, the operating clock and memory would simply be increased to meet the new capacity requirement.
The conference engine 10 can be scaled to desired number of conference registers. The conference registers in each conference bridge can be added or removed depending on the target system requirements and are independent of the number of input channels.
The conference engine 10 makes no assumptions about the type of conference(s) the user wishes to develop by providing the ability to define the conference members in its entirety. A conference programmed by the user in the conference engine 10 can include a single-member channel or it may include many conference members. Additionally, conference attributes can be attached on an individual conference basis or to individual conference channels. Due to its architecture, the conferencing engine 10 provides the ability to conference any of the input channels with any other input channel, the ability to output any of the available conferences on to any of the output channels, and is designed to process all of the conferences within a single frame timespan.
According to one embodiment, the conferencing engine 10 may be utilized in a system containing individual blocks consisting of a front-end pipeline processor 12, a conference engine 14, a back-end pipeline processor 16, and register/memory GLU logic 18. The front-end pipeline processor 12 provides linear encoded data to the conference engine 14 and the back-end pipeline processor 16 receives linear encoded conference data. The register memory and control 18 consist of memory registers utilized by the conference engine 14 and programmed by the system user.
Referring specifically to FIG. 2, the conference engine 14 is shown in greater detail. The conference engine 14 provides N individual bridge subsections and a scalable number of individual conference groups per bridge. Each conference group can contain any number of conference parties (up to the number of individual conference groups) and can include any party from input channels. Over the entire set of conference bridges (assuming tour bridges, 128 input channels and 128 conference groups) and conference registers, the conference engine block 14 performs approximately five million 16-bit signed summation operations per second and transfers approximately 90 Megabytes of data per second. The output buffer is updated once per frame synchronization.
The copy buffer 20 is preferably a RAM containing a local copy of the input channel data that is refreshed once per frame synchronization signal. The input data contains the data to be utilized by the conference engine 14. The input data also contains channel control data that is alternately passed to the output channel.
The summer 22 is preferably a single signed adder. Typically, hardware implementations of signed adders are expensive in terms of size and overall system costs. Utilizing a single adder by multiplexing summation operations and storing intermediate results reduces the overall system costs.
One or more bridges 24 (preferably two ported RAM) are connected to the output from the summer 22 and to the access and control subsection 26. The access and control subsection 26 performs the multiplex conference operations as will be explained in great detail herein below. The access and control substation 26 has bus connections to the copy buffer 20 the bridges 24, the summer 22, the output buffer 30, and to an external bus for control data. The external bus provides access to conference control data that is programmed as will be explained in great detail herein below. The output buffer 30 is preferably a dual ported RAM containing the process output channel data. The output buffer 30 is updated once per frame synchronization signal.
As discussed above, the access and control subsection 26 performs the multiplex conference operations and provide scalability and efficiency. The conference engine 14 only requires a single hardware summer 22 to process all of the programmed conferences, all of the output and all of the input channels.
Referring specifically to FIG. 3, the multiplex processing states are shown in greater detail. In act 310, the input data is copied. In order to provide for coherent operation on the input data, the input data is copied to a local copy buffer 20 (FIG. 2) in a single blocking operation upon each frame synchronization signal. At act 320, the first conference summation pass is performed. The target conference number is retrieved from the conference registers and the input data is added. The target conference number data is replaced with the summation result. This operation is performed for each individual input channel.
At act 330, the second conference summation pass is performed. This processing state is substantially the same as the first conference summation pass and is generally repeated for N number of desired conference bridges (act 340).
At act 350, the target conference settings are retrieved from the conference registers. If desired, the input data is subtracted from the target conference number data. The target conference number data is placed into the output buffer 30 (FIG. 2). This operation is performed for each individual input channel. At act 360, the conference buffers are cleared. The acts are repeated as necessary.
As discussed above, the conference control registers control the output timeslot data and conference selection. Each timeslot (channel) preferably has an associated register.
31 15 9   8   7 6 5 4  3  2 1 0
Reserved Threshold (TBD) Bridge Subtract Conference
Select* Selection (1-126)
RW, 000000 RW, 00 RW, 0 RW, (Pass Through
Timeslot)
*Bridge Select and Subract bits are only valid within the context of the first bridge control registers.
The Conference Selection [6:0] selects which conference to add the particular timeslot. Default state contains the associated timeslot number for the particular memory mapped register (pass-through). The setting the Subtract [7:7] bit active low (0) subtracts the source input timeslot data from the conference upon output. Threshold [15:10] is not implemented. The Bridge Select [9:8] determines which bridge contains the output timeslot data. Put another way, the bridge select determines which bridge contains the conference data to be output on that particular register's timeslot. The bridge assignment is as follows:
Bridge Selection Bit Field
Bits <9:8> Bridge Number
2′b00 Bridge 0
2′b01 Bridge 1
2′b10 Bridge 2
2′b11 Bridge 3
The conference control registers are memory mapped to have an association with the input timeslots. There are four discrete sets of 126 registers over four bridges. The following example details the memory mapping for a single bridge.
Base + 0x00 Base + 0x04 Base + 0x08
Control
1 . . .
. . . Control 125 Control 126
Bridge0_Ptr=Base_Ptr+0x0800+(Timeslot_Number+1)*4; where timeselot is any number in the range 1-126.
Bridge1_Ptr=Base_Ptr+0x1800+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
Bridge2_Ptr=Base_Ptr+0x1800+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
Bridge3_Ptr=Base_Ptr+0x2000+(Timeslot_Numboer+1)*4; where timeselot is any number in the range 1-126.
While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. Other conference combinations, situations, and embodiments are also within the scope of the present invention, which should not be limited to the following illustrative embodiments except where specifically and expressly stated in the claims.
These examples assume that the front-end and back-end conferences have been set-up to the desired pre-processing/companding and are not detailed in these examples.
Conferences are created and destroyed by setting the conference control registers to the appropriate values for the intended end-conference effect. The conference control registers, used in the following examples, are a series of duplicate registers across 126 possible conferences per bridge. In the following examples, there are four independent bridges each containing 126 conference control registers for a total of 504 possible control settings.
The first bridge is unique in that it defines the output timeslot depending on which register is programmed. The first bridge can also perform a subtraction using the input timeslot data. By default, and under most circumstances, subtraction of the source timeslot is performed on the desired output timeslot data. The second, third, fourth and subsequent conference bridges operate the same as the first bridge but they do not explicitly define the output timeslot and they do not perform any subtraction of the source data.
The switch column 32, FIG. 4, represents the input switch setting of the digital switch. For example, in the first row the switch 32 is set to attach the source data onto timeslot four of the conference highway/stream. The timeslot column 34 represents the physical timeslot of the conference highway/stream. For example, in the first row, the timeslot is timeslot number four.
The bridge columns 36 represent the conference bridges and the assigned bridge conferences. For example, in the second row, the input data has been assigned to conference number two (conference list two) and conference number five (conference list one). The output timeslot data is always the value in the first bridge and is set to output the result of conference number two (in this example). In the fifth row, the input data has been assigned into conference number five on the second bridge. The output timeslot data is always the value in the first bridge and is set to output the result of conference number five on the second bridge.
The output column 38 represents the mathematical result produced by the conference engine. For example, in the second row, the resultant output data is the sum of the input timeslot data on timeslots six and seven. Under most circumstances, subtraction of the source timeslot is performed on the desired output timeslot data. Output conference column 40 represents an alternative representation of the output shown in output column 38 given in terms of which bridge conference number. For example, in the second row, the output includes those timeslots which are part of the bridge conference number zero.
Lastly, switch column 42 represents the output switch setting for the source data. For example, in the second row, the switch is set to source data from timeslot five of the conference highway/stream. The value “X” is a “don't care” setting.
Referring now to FIG. 5, one embodiment of a three party conference 43 is shown. A three-party conference is created by first setting the digital switch output connection to point to the conference engine. Next, the conference number in the first bridge is set and then the digital switch is set to source the output data from the conference engine.
In the present example, the conference number 44 used in this example is two and timeslots 46 four, five, and six are used. However, the conference number 44 and the timeslots 46 to include in the conference is an arbitrary value in the range of 0-128. The conference number 44 is completely independent of the timeslots 46. But, the input timeslot data is dependent on the conference control registers memory mapping and the digital switch connection settings 48. The output data is dependent on the conference control register memory mapping and the value programmed into that register.
The output data 47 (i.e., what the user hears) for timeslot four includes the sum of timeslots five and six. As mentioned previously, the source timeslot (i.e., four) is subtracted. Alternatively, this can be represented by saying that the output 49 for timeslot four is conference bridge zero. This alternative expression simply means that the user will hear all timeslots associated with conference bridge zero.
FIG. 6 represents one embodiment of a four-party conference 50. A four-party conference 50 is created by simply adding another timeslot 46 to the conference 44. Additional conference members can continue to be added up to 126 members. However, clipping and background noise may become an issue above a certain number of members since thresholding is not performed at this point.
In this example, the output data 47 for timeslot four includes the sum of timeslots five, six, and seven (again, the source timeslot is subtracted). Alternatively, this can be represented by saying that the output 49 for timeslot four is conference bridge zero.
FIG. 7 represents one embodiment of a four-party conference with a monitor 60. A monitor 62 (represented by timeslot eight) can be added by utilizing a conference bridge (in this case conference bridge one). Since all timeslots are associated with conference bridge one, the monitor 62 hears the sum of timeslots four, five, six, and seven. However, since timeslots four, five, and six are only associated with bridge conference zero, they cannot hear the monitor 62.
FIG. 8 represents one embodiment of a four-party conference with a coach 70. In this case, two output timeslots utilize the second bridge 72. The “Coach” 74 (who has been assigned to timeslot eight) and the “Agent” 76 (who has been assigned to timeslot four) both hear and can talk to each other. Both “Agent” 76 and “Coach” 74 can hear all of the parties in the conference as indicated by the output data 47. However, the other conference members cannot hear the “Coach” 74 while the other members can hear the “Agent” 76.
FIG. 9 represents one embodiment of a four-party conference with a coach in private 80 based on the configuration shown in FIG. 8. In this example, the conversation between the “Coach” 82 (timeslot eight) and the “Agent” 84 (timeslot four) is private and cannot be heard by the other members of the conference.
In this case, the “Agent” 84 is temporarily dropped from the conference on the first bridge 86, but can still hear the conference as can the “Coach” 82. The “Agent” 84 has muted his conversation with the first conference on the first bridge 86 while conversing with the “Coach” 82 on the second bridge 88. The “Agent” 84 can later be “un-muted” from the conference on the first bridge 86 by simply adding the “Agent” 84 back into the first bridge 86.
FIG. 10 represents a four-party conference with a coach and a supervisor 90. The supervisor 92 (timeslot ten) can hear all parties including the “Agent” 94 (timeslot four) and the “Coach” 96 (timeslot eight).
Accordingly, the present invention includes an apparatus and method for establishing conferences, and in particular complex conferences, which uses the same model and which reduces the amount of equipment necessary. The method and apparatus includes a scalable, multichannel conference system utilizing a multiplexed processing scheme and minimizes cost by employing only an efficient single-adder implementation. The method and apparatus allow any-to-any conferencing across all input channels and all output channels and allows pass-through channels to any output channel. Additionally, the method and apparatus allow low processing latency generally limited to a single frame.
As mentioned above, the present invention is not intended to be limited to a system or method which must satisfy one or more of any stated or implied object or feature of the invention and should not be limited to the preferred, exemplary, or primary embodiment(s) described herein. The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as is suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the claims when interpreted in accordance with breadth to which they are fairly, legally and equitably entitled.

Claims (5)

1. A conference engine comprising:
a copy buffer including a local copy of input channel data that is refreshed once per frame synchronization signal, said input data containing data to be utilized by said conference engine and containing channel control data that is ultimately passed to an output channel;
a summer, said summer including a single signed adder;
a plurality of bridges connected to an output of said summer;
an output buffer, said output buffer including processed output channel data updated once per frame synchronization signal; and
an access and control subsection, said access and control subsection to perform multiplexed conference operations and including connections to said copy buffer, said plurality of bridges, said summer, said output buffer, and to an external bus for conference control data.
2. The conference engine as claimed in claim 1 further including:
a front-end pipeline processor, said front-end pipeline processor providing linear encoded data to said conference engine;
a back-end pipeline processor; and
a register/memory GLU logic having memory registers utilized by said conference engine and programmed by a system user.
3. The conference engine as claimed in claim 1 wherein said copy buffer includes random access memory.
4. The conference engine as claimed in claim 1 wherein said plurality of bridges include dual ported random access memory.
5. The conference engine as claimed in claim 1 wherein said output buffer includes dual ported random access memory.
US10/948,951 2003-09-26 2004-09-24 Efficient multiplex conferencing engine Active - Reinstated 2028-11-02 US7688961B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/948,951 US7688961B2 (en) 2003-09-26 2004-09-24 Efficient multiplex conferencing engine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50630803P 2003-09-26 2003-09-26
US10/948,951 US7688961B2 (en) 2003-09-26 2004-09-24 Efficient multiplex conferencing engine

Publications (2)

Publication Number Publication Date
US20050091444A1 US20050091444A1 (en) 2005-04-28
US7688961B2 true US7688961B2 (en) 2010-03-30

Family

ID=34526479

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/948,951 Active - Reinstated 2028-11-02 US7688961B2 (en) 2003-09-26 2004-09-24 Efficient multiplex conferencing engine

Country Status (1)

Country Link
US (1) US7688961B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849907B1 (en) * 2006-03-31 2014-09-30 Rockstar Consortium Us Lp System and method for notifying participants of topics in an ongoing meeting or conference
US8881027B1 (en) * 2006-09-11 2014-11-04 Broadnet Teleservices, Llc Teleforum participant screening

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937664B (en) * 2006-09-30 2010-11-10 华为技术有限公司 System and method for realizing multi-language conference
US9258181B1 (en) * 2007-12-06 2016-02-09 Alorica Business Solutions, Llc Managing agent login to multiple conference call bridges
CN115037978B (en) * 2022-07-13 2023-08-25 北京字跳网络技术有限公司 Screen projection method and related equipment

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555179A (en) 1993-09-03 1996-09-10 Hitachi, Ltd. Control method and control apparatus of factory automation system
US5765033A (en) 1997-02-06 1998-06-09 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US5841763A (en) * 1995-06-13 1998-11-24 Multilink, Inc. Audio-video conferencing system
US5926539A (en) 1997-09-12 1999-07-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for determining agent availability based on level of uncompleted tasks
US5946387A (en) 1997-02-10 1999-08-31 Genesys Telecommunications Laboratories, Inc, Agent-level network call routing
US5953332A (en) 1997-02-10 1999-09-14 Genesys Telecommunications Laboratories, Inc. Agent-initiated dynamic requeing
US5953405A (en) 1997-02-10 1999-09-14 Genesys Telecommunications Laboratories, Inc. Agent-predictive routing process in call-routing systems
US6002760A (en) 1998-02-17 1999-12-14 Genesys Telecommunications Laboratories, Inc. Intelligent virtual queue
US6021428A (en) 1997-09-15 2000-02-01 Genesys Telecommunications Laboratories, Inc. Apparatus and method in improving e-mail routing in an internet protocol network telephony call-in-center
US6044368A (en) 1998-04-30 2000-03-28 Genesys Telecommunications Laboratories, Inc. Method and apparatus for multiple agent commitment tracking and notification
US6044145A (en) 1998-01-19 2000-03-28 Rockwell Semiconductor Systems, Inc. Telecommutable platform
US6067357A (en) 1998-03-04 2000-05-23 Genesys Telecommunications Laboratories Inc. Telephony call-center scripting by Petri Net principles and techniques
US6108711A (en) 1998-09-11 2000-08-22 Genesys Telecommunications Laboratories, Inc. Operating system having external media layer, workflow layer, internal media layer, and knowledge base for routing media events between transactions
US6138139A (en) 1998-10-29 2000-10-24 Genesys Telecommunications Laboraties, Inc. Method and apparatus for supporting diverse interaction paths within a multimedia communication center
US6167395A (en) 1998-09-11 2000-12-26 Genesys Telecommunications Laboratories, Inc Method and apparatus for creating specialized multimedia threads in a multimedia communication center
US6170011B1 (en) 1998-09-11 2001-01-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for determining and initiating interaction directionality within a multimedia communication center
US6175564B1 (en) 1995-10-25 2001-01-16 Genesys Telecommunications Laboratories, Inc Apparatus and methods for managing multiple internet protocol capable call centers
US6185292B1 (en) 1997-02-10 2001-02-06 Genesys Telecommunications Laboratories, Inc. Skill-based real-time call routing in telephony systems
US20010002927A1 (en) * 1997-03-28 2001-06-07 Detampel Donald Francis Method and apparatus for on-demand teleconferencing
US6389007B1 (en) 1998-09-24 2002-05-14 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing integrated routing for PSTN and IPNT calls in a call center
US6393015B1 (en) 1997-09-12 2002-05-21 Genesys Telecommunications Laboratories, Inc. Method and apparatus for automatic network connection between a small business and a client
US6732156B2 (en) 1997-02-06 2004-05-04 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US6792092B1 (en) * 2000-12-20 2004-09-14 Cisco Technology, Inc. Method and system for independent participant control of audio during multiparty communication sessions
US6831971B2 (en) * 2001-05-15 2004-12-14 Spiderphone.Com, Inc. Fault-tolerant load balancing of conference call bridges

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555179A (en) 1993-09-03 1996-09-10 Hitachi, Ltd. Control method and control apparatus of factory automation system
US5841763A (en) * 1995-06-13 1998-11-24 Multilink, Inc. Audio-video conferencing system
US6175564B1 (en) 1995-10-25 2001-01-16 Genesys Telecommunications Laboratories, Inc Apparatus and methods for managing multiple internet protocol capable call centers
US5765033A (en) 1997-02-06 1998-06-09 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US6732156B2 (en) 1997-02-06 2004-05-04 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US6185292B1 (en) 1997-02-10 2001-02-06 Genesys Telecommunications Laboratories, Inc. Skill-based real-time call routing in telephony systems
US5953332A (en) 1997-02-10 1999-09-14 Genesys Telecommunications Laboratories, Inc. Agent-initiated dynamic requeing
US5953405A (en) 1997-02-10 1999-09-14 Genesys Telecommunications Laboratories, Inc. Agent-predictive routing process in call-routing systems
US5946387A (en) 1997-02-10 1999-08-31 Genesys Telecommunications Laboratories, Inc, Agent-level network call routing
US6175563B1 (en) 1997-02-10 2001-01-16 Genesys Telecommunications Laboratories, Inc. Parallel data transfer and synchronization in computer-simulated telephony
US20010002927A1 (en) * 1997-03-28 2001-06-07 Detampel Donald Francis Method and apparatus for on-demand teleconferencing
US5926539A (en) 1997-09-12 1999-07-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for determining agent availability based on level of uncompleted tasks
US6393015B1 (en) 1997-09-12 2002-05-21 Genesys Telecommunications Laboratories, Inc. Method and apparatus for automatic network connection between a small business and a client
US6373836B1 (en) 1997-09-15 2002-04-16 Genesys Telecommunications Laboratories, Inc. Apparatus and methods in routing internet protocol network telephony calls in a centrally-managed call center system
US6021428A (en) 1997-09-15 2000-02-01 Genesys Telecommunications Laboratories, Inc. Apparatus and method in improving e-mail routing in an internet protocol network telephony call-in-center
US6044145A (en) 1998-01-19 2000-03-28 Rockwell Semiconductor Systems, Inc. Telecommutable platform
US6002760A (en) 1998-02-17 1999-12-14 Genesys Telecommunications Laboratories, Inc. Intelligent virtual queue
US6067357A (en) 1998-03-04 2000-05-23 Genesys Telecommunications Laboratories Inc. Telephony call-center scripting by Petri Net principles and techniques
US6044368A (en) 1998-04-30 2000-03-28 Genesys Telecommunications Laboratories, Inc. Method and apparatus for multiple agent commitment tracking and notification
US6108711A (en) 1998-09-11 2000-08-22 Genesys Telecommunications Laboratories, Inc. Operating system having external media layer, workflow layer, internal media layer, and knowledge base for routing media events between transactions
US6345305B1 (en) 1998-09-11 2002-02-05 Genesys Telecommunications Laboratories, Inc. Operating system having external media layer, workflow layer, internal media layer, and knowledge base for routing media events between transactions
US6167395A (en) 1998-09-11 2000-12-26 Genesys Telecommunications Laboratories, Inc Method and apparatus for creating specialized multimedia threads in a multimedia communication center
US6170011B1 (en) 1998-09-11 2001-01-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for determining and initiating interaction directionality within a multimedia communication center
US6389007B1 (en) 1998-09-24 2002-05-14 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing integrated routing for PSTN and IPNT calls in a call center
US6138139A (en) 1998-10-29 2000-10-24 Genesys Telecommunications Laboraties, Inc. Method and apparatus for supporting diverse interaction paths within a multimedia communication center
US6792092B1 (en) * 2000-12-20 2004-09-14 Cisco Technology, Inc. Method and system for independent participant control of audio during multiparty communication sessions
US6831971B2 (en) * 2001-05-15 2004-12-14 Spiderphone.Com, Inc. Fault-tolerant load balancing of conference call bridges

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849907B1 (en) * 2006-03-31 2014-09-30 Rockstar Consortium Us Lp System and method for notifying participants of topics in an ongoing meeting or conference
US8881027B1 (en) * 2006-09-11 2014-11-04 Broadnet Teleservices, Llc Teleforum participant screening
US9081485B1 (en) 2006-09-11 2015-07-14 Broadnet Teleservices. LLC Conference screening
US9883042B1 (en) 2006-09-11 2018-01-30 Broadnet Teleservices, Llc Teleforum participant screening

Also Published As

Publication number Publication date
US20050091444A1 (en) 2005-04-28

Similar Documents

Publication Publication Date Title
EP0680190B1 (en) A teleconferencing audio bridge
US7245710B1 (en) Teleconferencing system
US4119807A (en) Digital time division multiplex switching system
US4224688A (en) Digital conference circuit
WO2001078365A2 (en) Method and apparatus for providing unified conferencing services in a telecommunications system
US7688961B2 (en) Efficient multiplex conferencing engine
GB1529106A (en) Method and apparatus for establishing a plurality of simultaneous conferences in a pcm switching system
EP0096061A1 (en) Demultiplexer circuit.
US5959977A (en) Apparatus for embodying combined time switching and conference calling functions
CA1331799C (en) Additive pcm speaker circuit for a time shared isdn conference arrangement
EP0116067A1 (en) Demultiplexer circuit.
Horn et al. A versatile audio bridge for multimedia conferencing
US7606563B2 (en) Distributed telephone conference with speech coders
JPH0357670B2 (en)
JPH0328868B2 (en)
JPS59153370A (en) Conference communication control system
KR100528742B1 (en) Multi-party Conference Call Device of Exchange System
US4845499A (en) Method for generating PCM logarithmic values from linear values
CA1310094C (en) Additive pcm speaker circuit for a time shared conference arrangement
CA1114082A (en) Digital conference circuit
JPS59216360A (en) Telephone conference trunk
JPS59196642A (en) Privacy device of digital conference telephone set
KR100251043B1 (en) An audio data processing method, an audio source data input method and a method for transfering unit signal frame to audio extraction unit for video conferencing
JPH03178252A (en) Voice adder circuit
JPH01185059A (en) System for conference communication

Legal Events

Date Code Title Description
AS Assignment

Owner name: CONCERTO SOFTWARE, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VICORY, JAY;STRANDBERG, MALCOLM;REEL/FRAME:016098/0655;SIGNING DATES FROM 20041208 TO 20041215

Owner name: CONCERTO SOFTWARE, INC.,MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VICORY, JAY;STRANDBERG, MALCOLM;SIGNING DATES FROM 20041208 TO 20041215;REEL/FRAME:016098/0655

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A.,NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:ASPECT SOFTWARE, INC.;REEL/FRAME:016735/0936

Effective date: 20050922

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:ASPECT SOFTWARE, INC.;REEL/FRAME:016735/0936

Effective date: 20050922

AS Assignment

Owner name: D.B. ZWIRN FINANCE, LLC,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:ASPECT SOFTWARE, INC.;REEL/FRAME:016784/0774

Effective date: 20050922

Owner name: D.B. ZWIRN FINANCE, LLC, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:ASPECT SOFTWARE, INC.;REEL/FRAME:016784/0774

Effective date: 20050922

AS Assignment

Owner name: ASPECT SOFTWARE, INC.,MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:CONCERTO SOFTWARE, INC.;REEL/FRAME:017804/0797

Effective date: 20050922

Owner name: ASPECT SOFTWARE, INC., MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:CONCERTO SOFTWARE, INC.;REEL/FRAME:017804/0797

Effective date: 20050922

AS Assignment

Owner name: CONCERTO SOFTWARE INTERMEDIATE HOLDINGS, INC., ASP

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:D.B. ZWIRN FINANCE, LLC;REEL/FRAME:017996/0895

Effective date: 20060711

AS Assignment

Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LI

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASPECT SOFTWARE, INC.;FIRSTPOINT CONTACT TECHNOLOGIES, LLC;ASPECT COMMUNICATIONS CORPORATION;REEL/FRAME:018087/0313

Effective date: 20060711

AS Assignment

Owner name: ASPECT COMMUNICATIONS CORPORATION,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: ASPECT SOFTWARE, INC.,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: FIRSTPOINT CONTACT TECHNOLOGIES, LLC,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC.,MASSAC

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: ASPECT COMMUNICATIONS CORPORATION, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: ASPECT SOFTWARE, INC., MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: FIRSTPOINT CONTACT TECHNOLOGIES, LLC, MASSACHUSETT

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

Owner name: ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC., MASSA

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024515/0765

Effective date: 20100507

AS Assignment

Owner name: ASPECT COMMUNICATIONS CORPORATION,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: ASPECT SOFTWARE, INC.,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: FIRSTPOINT CONTACT TECHNOLOGIES, LLC,MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC.,MASSAC

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: ASPECT COMMUNICATIONS CORPORATION, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: ASPECT SOFTWARE, INC., MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: FIRSTPOINT CONTACT TECHNOLOGIES, LLC, MASSACHUSETT

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

Owner name: ASPECT SOFTWARE INTERMEDIATE HOLDINGS, INC., MASSA

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS SECOND LIEN ADMINSTRATIVE AGENT;REEL/FRAME:024492/0496

Effective date: 20100507

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASPECT SOFTWARE, INC.;FIRSTPOINT CONTACT TECHNOLOGIES, LLC (F/K/A ROCKWELL ELECTRONIC COMMERCE TECHNOLOGIES, LLC);ASPECT SOFTWARE, INC. (AS SUCCESSOR TO ASPECT COMMUNICATIONS CORPORATION);REEL/FRAME:024505/0225

Effective date: 20100507

AS Assignment

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN

Free format text: SECURITY INTEREST;ASSIGNORS:ASPECT SOFTWARE, INC.;FIRSTPOINT CONTACT TECHNOLOGIES, LLC;REEL/FRAME:024651/0637

Effective date: 20100507

REMI Maintenance fee reminder mailed
FEPP Fee payment procedure

Free format text: PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees
REIN Reinstatement after maintenance fee payment confirmed
FP Lapsed due to failure to pay maintenance fee

Effective date: 20140330

FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
PRDP Patent reinstated due to the acceptance of a late maintenance fee

Effective date: 20140819

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:034281/0548

Effective date: 20141107

AS Assignment

Owner name: ASPECT SOFTWARE, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:U.S. BANK NATIONAL ASSOCIATION;REEL/FRAME:039012/0311

Effective date: 20160525

Owner name: ASPECT SOFTWARE, INC., ARIZONA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:039013/0015

Effective date: 20160525

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:ASPECT SOFTWARE PARENT, INC.;ASPECT SOFTWARE, INC.;DAVOX INTERNATIONAL HOLDINGS LLC;AND OTHERS;REEL/FRAME:039052/0356

Effective date: 20160525

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: JEFFERIES FINANCE LLC, NEW YORK

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNORS:NOBLE SYSTEMS CORPORATION;ASPECT SOFTWARE, INC.;REEL/FRAME:057674/0664

Effective date: 20210506

Owner name: JEFFERIES FINANCE LLC, NEW YORK

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNORS:NOBLE SYSTEMS CORPORATION;ASPECT SOFTWARE, INC.;REEL/FRAME:057261/0093

Effective date: 20210506

AS Assignment

Owner name: ASPECT SOFTWARE PARENT, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:057254/0363

Effective date: 20210506

Owner name: ASPECT SOFTWARE, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:057254/0363

Effective date: 20210506

Owner name: DAVOX INTERNATIONAL HOLDINGS LLC, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:057254/0363

Effective date: 20210506

Owner name: VOICEOBJECTS HOLDINGS INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:057254/0363

Effective date: 20210506

Owner name: VOXEO PLAZA TEN, LLC, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:057254/0363

Effective date: 20210506

AS Assignment

Owner name: ALVARIA, INC., MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:ASPECT SOFTWARE, INC.;REEL/FRAME:057254/0377

Effective date: 20210528

AS Assignment

Owner name: ALVARIA CAYMAN (CX), GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALVARIA INC.;REEL/FRAME:066850/0285

Effective date: 20240320

Owner name: NOBLE SYSTEMS, LLC, GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFRIES FINANCE LLC;REEL/FRAME:066850/0428

Effective date: 20240320

Owner name: ALVARIA, INC., GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFRIES FINANCE LLC;REEL/FRAME:066850/0428

Effective date: 20240320

Owner name: NOBLE SYSTEMS, LLC, GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFRIES FINANCE LLC;REEL/FRAME:066850/0384

Effective date: 20240320

Owner name: ALVARIA, INC., GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFRIES FINANCE LLC;REEL/FRAME:066850/0384

Effective date: 20240320

Owner name: JEFFERIES FINANCE LLC, NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:ALVARIA CAYMAN (WEM);ALVARIA CAYMAN (CXIP);REEL/FRAME:066850/0334

Effective date: 20240320