Method and apparatus for dynamically defining data communication utilities
DCFirst Claim
1. In a server apparatus operatively coupled to one or more client telephony processes over a computer network, selected of the client telephony processes capable of establishing real-time, point-to-point audio communications with other of said client telephony processes directly over the computer network and having the capacity to perform locally, within the client telephony process, a plurality of predefined functions related to such point-to-point communications, a method of dynamically defining which of said predefined functions a client telephony process is authorized to perform locally, within a client telephony process, the method comprising:
- A. receiving, over the computer network, a client process identifier from a requesting of said client telephony processes;
B. determining from the client process identifier which of the plurality of predefined functions the identified client telephony process is authorized to perform locally, within the identified client telephony process; and
C. transmitting to the requesting of said client telephony processes a function identifier associated with the identified client telephony process, the function identifier comprising a plurality of feature bits interpretable by the requesting client telephony process to determine which of the plurality of predefined functions the identified client telephony process is authorized to perform locally, within the identified client telephony process.
10 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A communication protocol for establishing real-time, point-to-point communications between client processes over a computer network includes a directory server apparatus for providing current dynamically assigned Internet Protocol addresses of client process currently connected to the computer network. The client processes can be Internet telephony applications each capable of performing a plurality of predefined functions. In accordance with one aspect of the invention, each client process is required to connect to the server apparatus upon initialization and receives a feature definition identifying which of the plurality of functions the client process is authorized to perform. In another aspect of the invention a callee client process verifies the identity of a caller client process with the directory server and is provided with the feature definition of the caller process to prevent the caller client process from communicating with the callee client process in unauthorized manners. In accordance with yet another aspect of the invention, the feature definition is definable by either the requesting client process or the server.
-
Citations
25 Claims
-
1. In a server apparatus operatively coupled to one or more client telephony processes over a computer network, selected of the client telephony processes capable of establishing real-time, point-to-point audio communications with other of said client telephony processes directly over the computer network and having the capacity to perform locally, within the client telephony process, a plurality of predefined functions related to such point-to-point communications, a method of dynamically defining which of said predefined functions a client telephony process is authorized to perform locally, within a client telephony process, the method comprising:
-
A. receiving, over the computer network, a client process identifier from a requesting of said client telephony processes;
B. determining from the client process identifier which of the plurality of predefined functions the identified client telephony process is authorized to perform locally, within the identified client telephony process; and
C. transmitting to the requesting of said client telephony processes a function identifier associated with the identified client telephony process, the function identifier comprising a plurality of feature bits interpretable by the requesting client telephony process to determine which of the plurality of predefined functions the identified client telephony process is authorized to perform locally, within the identified client telephony process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
B.1 associating a function identifier with selected of a plurality of client information profiles, each selected information profile having an associated client process identifier.
-
-
3. The method of claim 2 wherein B further comprises:
B.2 comparing the client process identifier with the selected plurality of client information profiles.
-
4. The method of claim 3 wherein B further comprises:
B.3 generating a function identifier associated with one of the selected plurality of client information profiles, if a match occurs between the received client process identifier and one of the selected plurality of client information profiles.
-
5. The method of claim 1 wherein the value of the function identifier is dynamically defined by the server.
-
6. The method of claim 1 wherein the value of the function identifier is dynamically defined by the requesting client telephony process.
-
7. The method of claim 1 wherein the identified client telephony process and the requesting client telephony process are the same process.
-
8. The method of claim 1 wherein the identified client telephony process and the requesting client telephony process are not the same process.
-
9. The method of claim 8 wherein the identified client telephony process is a caller client process and the requesting client telephony process is a callee client process.
-
10. A computer program product for use with a server apparatus operatively coupled to one or more client telephony processes over a computer network, each client telephony process capable of establishing real-time, point-to-point audio communications with other of said client telephony processes directly over the computer network and capable of performing locally, within the client telephony process a plurality of predefined functions, the computer program product comprising a computer useable medium having embodied therein program code comprising:
-
A. program code for receiving a client process identifier from a requesting client telephony process;
B. program code, responsive to the client process identifier, for determining which of the plurality of functions the identified client telephony process is authorized to perform locally, within the identified client telephony process; and
C. program code for transmitting to the requesting telephony client process a function identifier comprising a plurality of feature bits interpretable by the requesting client telephony process to define which of the plurality of predefined functions the identified client telephony process is authorized to perform locally, within the identified client telephony process. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
program code for associating a function identifier with selected of a plurality of client information profiles.
-
-
12. The computer program product of claim 11 wherein the program code for determining further comprises:
program code for comparing the client process identifier with the selected plurality of client information profiles.
-
13. The computer program product of claim 12 wherein the program code for determining further comprises:
program code for generating a function identifier associated with one of the selected plurality of client information profiles, if a match occurs between the received client process identifier and one of the selected plurality of client information profiles.
-
14. The computer program product of claim 10 wherein the value of the function identifier is dynamically defined by the server.
-
15. The computer program product of claim 10 wherein the value of the function identifier is dynamically defined by the requesting client process.
-
16. The computer program product of claim 10 wherein the identified client process and the requesting client process are the same process.
-
17. The computer program product of claim 10 wherein the identified client process and the requesting client process are the not the same process.
-
18. The computer program product of claim 17 wherein the identified client process is a caller client process and the requesting client process is a callee client process.
-
19. A computer program product for use with a computer system residing at a node of a computer network and operatively coupled over a computer network to a server and one or more client telephony processes, the computer program product comprising a computer useable medium having embodied therein program code comprising:
-
A. program code for establishing a real-time, point-to-point audio communication connection with another client telephony process over the computer network and for performing locally a plurality of predefined functions associated with the point-to-point audio communication;
B. program code for forwarding to the server a client telephony process identifier;
C. program code for receiving from the server a function identifier comprising a plurality of feature bits and defining which of the plurality of predefined functions the client telephony process is authorized to perform locally; and
D. program code, responsive to the feature bits, for enabling local execution of selected of a plurality of the predefined functions, as determined by the feature bits. - View Dependent Claims (20)
E. program code for forwarding to the server a requested value for the function identifier.
-
-
21. A computer program product for use with a computer system coupled to a node of a computer network and operatively coupled over the computer network to a server, the computer program product comprising a computer usable medium having embodied therein program code comprising:
-
program code for establishing a point-to-point communication connection with another computer system over the computer network and for performing a plurality of predefined functions associated with the point-to-point communication connection;
program code, responsive to receipt of a client process identifier from a caller process, for forwarding the client process identifier to the server;
program code for receiving from the server a function identifier defining which of the plurality of predefined functions the caller client process is authorized to perform, the function identifier comprising a plurality of data variables;
program code, responsive to the function identifier associated with the identified caller process for interpreting the data values within the function identifier and for selectively enabling selected of the plurality of predefined functions to be performed by the caller client process.
-
-
22. A computer system for enabling point-to-point communications between one or more client processes operatively coupled over a computer network comprising:
-
first processor executing a client process in accordance with a predefined communication protocol, the client process capable of performing a plurality of predefined functions associated with point-to-point communication connections and operatively coupled to the computer network through an interface;
a second processor executing a client process in accordance with a predefined communication protocol, the client process capable of performing a plurality of predefined functions associated with point-to-point communication connections and operatively coupled to the computer network through an interface;
a server operatively coupled over the computer network to the first and second processors, the server maintaining in a memory thereof a list of client process identifiers and associated function identifiers, each of the function identifiers defining which of the plurality of predefined functions a client process is authorized to perform;
the second processor further comprising program logic responsive to the client process identifier of the first client process and for forwarding to the server the client process identifier of the first process and further responsive to a function identifier received from the server and associated with the first client process for interpreting data values contained within the function identifier and for selectively enabling selected of the predefined functions of the first client process in accordance therewith.
-
-
23. In a client application process executing at a node of a computer network and operatively coupled over the computer network to a server, the client application process capable of establishing point-to-point communications with other client application processes directly over the computer network and capable of performing locally, within the client application process, a plurality of predefined functions related to such point-to-point communications, a method of dynamically defining which of said predefined functions a client application process is authorized to perform locally, the method comprising the steps of:
-
A. establishing a point-to-point communication connection with the server over the computer;
B. forwarding to the server a client process identifier;
C. receiving from the server a function identifier defining which of a plurality of predefined functions the client application process associated with the client process identifier is authorized to perform locally, within the identified client application process; and
D. enabling selected of the plurality of the predefined functions, as determined by the function identifier.
-
-
24. A computer data signal embodied in a carrier wave comprising:
-
A. program code for establishing a point-to-point communication connection between client application processes over a computer network and for performing locally, within a client application process, a plurality of predefined functions associated with the point-to-point communication;
B. program code for forwarding a client process identifier to a server coupled to the computer network;
C. program code for receiving from the server a function identifier defining which of the plurality of predefined functions a client application process associated with the client process identifier is authorized to perform locally within the identified client process; and
D. program code, responsive to the function identifier, for enabling selected of the plurality of the predefined functions, as determined by the function identifier.
-
-
25. A computer data signal embodied in a carrier wave comprising:
-
A. program code for receiving a client process identifier from a requesting client application process;
B. program code, responsive to the client process identifier, for determining which of a plurality of predefined functions the identified client application process is authorized to perform locally, within the identified client application process; and
C. program code for transmitting to the requesting client application process a function identifier comprising a plurality of data values interpretable by the requesting client application process to define which of the plurality of predefined functions the identified client application process is authorized to perform locally, within the identified client application process.
-
Specification