Abstract:
A communications system for executing distributed processes on garbage collecting virtual machines. More particularly, distributed applications are providing using garbage collection delivered as a function of certain timing variables such as the time until a process will require its next garbage collection cycle, process hibernation time, and the actual total garbage collection time per process. Advantageously, distributed application programs are executed on garbage collecting virtual machines without any adverse processing impact resulting from the garbage collection process.
Abstract:
A media exchange monitor is disclosed that selectively (i) introduces a mixer into a two-party call when the two-party call becomes a conference call (ad-hoc conference), and (ii) removes the mixer when one or more conference call participants drop out, leaving only two participants behind. When a party to a two-party call requests to convert the call into a conference call, the packet telephony system responds to the conference call request by connecting a mixer to service the conference call between the parties. When parties drops out of a conference call, leaving only two parties behind, the mixer is removed from the conference call. In one implementation, the mixer is removed from the conference call only if the two remaining parties can exchange media directly. When the media connection among the parties must be changed to introduce or remove the mixer, the media exchange monitor achieves the desired connectivity by initially querying the parties for their capabilities. Thereafter, the media exchange monitor instructs the parties to establish a direct connection for a two-party call or to connect to the mixer for a conference call. The media exchange monitor processes the results of the capability query to select a compatible compression algorithm.
Abstract:
In a teleconference, audio communications between attendees which may be located at different locations are processed by a mixer. Audio signals, representative of sound effects including utterances by the attendees, are transmitted to the mixer respectively. The mixer derives samples from the respective received signals. During each sample interval, the mixer selects the sample having the highest energy to become a mixed sample output for each user, except the user contributing the highest energy sample. For such a user, the mixer selects the sample having the next highest energy to become the mixed sample output. The mixed sample outputs are transmitted back to the users respectively, thereby realizing the audio communications in the teleconference.
Abstract:
A method for executing distributed processes on garbage collecting virtual machines. More particularly, garbage collection is delivered as a function of certain timing variables such as the time until a process will require its next garbage collection cycle, process hibernation time, and the actual total garbage collection time per process. Advantageously, distributed application programs are executed on garbage collecting virtual machines without any adverse processing impact resulting from the garbage collection process.
Abstract:
Telephone service is supplied using a distributed architecture that employs a collection of resources each of which exposes a hierarchical namespace. The architecture includes two fundamental resource types, the device server and the call coordinator, which are interconnected by a network employing a common protocol, eg., TCP/IP. The interaction between the various resources follows "client-server" principles to implement end-to-end communication. Device servers represent physical/logical telephone devices, which include a) end-point device servers and b) gateway device servers. End-point device servers 1) represent controls for communication, such as keypads, indicator lamps, and displays, and 2) perform media rendering, e.g., voice digitization, transport, and reconstruction. Gateway device servers have two "sides". One side is implemented to appear to a call coordinator as if it were a device server, and the other side has an interface adapted to interwork with a preexisting island of telephone service. In the term "device server", "server is used in the conventional manner of the "client-server" architecture, where the server serves request from the clients and does not take action unless it is in response to a client request. A call coordinator functions in the role of the "client". The device servers are unaware of communication state, which is maintained by the call coordinator and exposed as a hierarchical namespace. The call coordinator treats the processing of a call as a sequence of steps each of which can be implemented by a small piece of computer executable code called a "feature applet".
Abstract:
A media exchange monitor is disclosed that selectively (i) introduces a mixer into a two-party call when the two-party call becomes a conference call (ad-hoc conference), and (ii) removes the mixer when one or more conference call participants drop out, leaving only two participants behind. When a party to a two-party call requests to convert the call into a conference call, the packet telephony system responds to the conference call request by connecting a mixer to service the conference call between the parties. When parties drops out of a conference call, leaving only two parties behind, the mixer is removed from the conference call. In one implementation, the mixer is removed from the conference call only if the two remaining parties can exchange media directly. When the media connection among the parties must be changed to introduce or remove the mixer, the media exchange monitor achieves the desired connectivity by initially querying the parties for their capabilities. Thereafter, the media exchange monitor instructs the parties to establish a direct connection for a two-party call or to connect to the mixer for a conference call. The media exchange monitor processes the results of the capability query to select a compatible compression algorithm.
Abstract:
A communications system for executing distributed processes on garbage collecting virtual machines. More particularly, distributed applications are providing using garbage collection delivered as a function of certain timing variables such as the time until a process will require its next garbage collection cycle, process hibernation time, and the actual total garbage collection time per process. Advantageously, distributed application programs are executed on garbage collecting virtual machines without any adverse processing impact resulting from the garbage collection process.
Abstract:
Telephone service is supplied using a distributed architecture that employs a collection of resources each of which exposes a hierarchical namespace. The architecture includes two fundamental resource types, the device server and the call coordinator, which are interconnected by a network employing a common protocol, eg., TCP/IP. The interaction between the various resources follows "client-server" principles to implement end-to-end communication. Device servers represent physical/logical telephone devices, which include a) end-point device servers and b) gateway device servers. End-point device servers 1) represent controls for communication, such as keypads, indicator lamps, and displays, and 2) perform media rendering, e.g., voice digitization, transport, and reconstruction. Gateway device servers have two "sides". One side is implemented to appear to a call coordinator as if it were a device server, and the other side has an interface adapted to interwork with a preexisting island of telephone service. In the term "device server", "server is used in the conventional manner of the "client-server" architecture, where the server serves request from the clients and does not take action unless it is in response to a client request. A call coordinator functions in the role of the "client". The device servers are unaware of communication state, which is maintained by the call coordinator and exposed as a hierarchical namespace. The call coordinator treats the processing of a call as a sequence of steps each of which can be implemented by a small piece of computer executable code called a "feature applet".