Claims
- 1. A media dependent module for a computer-based conferencing system, wherein:
- the media dependent module provides an interface between an upper-level conferencing driver of the conferencing system and a lower-level communications driver of the conferencing system to isolate the conferencing driver from the communications driver;
- the media dependent module is dependent upon hardware of the communications driver; and
- the media dependent module is adapted to perform a plurality of functions called by the conferencing driver, wherein the plurality of functions comprises:
- a first function for preparing the media dependent module for a conferencing session;
- a second function for requesting a connection to a remote conferencing node;
- a third function for accepting an incoming connection request;
- a fourth function for rejecting the incoming connection request;
- a fifth function for initiating a listen mode on an established connection;
- a sixth function for closing the established connection;
- a seventh function for ending the conferencing session;
- an eighth function for retrieving information about the media dependent module;
- a ninth function for verifying that a link packet of a specified size can be sent on the established connection: and
- a tenth function for sending the link packet on the established connection; wherein:
- the first function is an MDM.sub.-- BeginSession function;
- the second function is an MDM.sub.-- MakeConnection function;
- the third function is an MDM.sub.-- AcceptConnection function;
- the fourth function is an MDM.sub.-- RejectConnection function;
- the fifth function is an MDM.sub.-- Listen function;
- the sixth function is an MDM.sub.-- CloseConnection function;
- the seventh function is an MDM.sub.-- EndSession function;
- the eighth function is an MDM.sub.-- GetCharacteristics function;
- the ninth function is an MDM.sub.-- ClearToSend function; and
- the tenth function is an MDM.sub.-- Send function.
- 2. The media dependent module of claim 1, wherein the media dependent module comprises a connection state machine.
- 3. The media dependent module of claim 2, wherein the connection state machine comprises:
- (a) an initialization state;
- (b) an in-session state;
- (c) a connection out state;
- (d) a connection in state; and
- (e) a connected state.
- 4. The media dependent module of claim 3, wherein:
- calling the first function changes the initialization state-to the in-session state;
- calling the second function changes the in-session state to the connection out state;
- receiving a connection accepted message from the remote conferencing node changes the connection out state to the connected state;
- receiving a connection request message from the remote conferencing node changes the in-session state to the connection in state;
- calling the third function changes the connection in state to the connected state;
- calling the fourth function changes the connection in state to the in-session state;
- calling the sixth function changes the connected state to the in-session state; and
- calling the seventh function changes the in-session state to the initialization state.
- 5. The media dependent module of claim 4, wherein calling any of the fifth, eighth, ninth, and tenth functions leaves the connection state machine unchanged.
- 6. The media dependent module of claim 1, wherein:
- the first function returns synchronously;
- in response to the second function, the media dependent module sends one of a connection-established callback and a connection-rejected callback to the conferencing driver and the media dependent module sends a connection-requested callback to the remote conferencing node;
- in response to the third function, the media dependent module sends the connection-established callback to the conferencing driver and the media dependent module sends the connection-established callback to the remote conferencing node;
- in response to the fourth function, the media dependent module sends the connection-rejected callback to the remote conferencing node;
- in response to the fifth function, the media dependent module sends the connection-requested callback to the conferencing driver;
- in response to the sixth function, the media dependent module sends a connection-close-complete callback to the conferencing driver and a connection-close-notify callback to the remote conferencing node;
- in response to the seventh function, the media dependent module sends a session-closed callback to the conferencing driver; and
- in response to the tenth function, the media dependent module sends a send-complete callback to the conferencing driver and the media dependent module sends a data-receive callback to remote conferencing node.
- 7. A media dependent module for a computer-based conferencing system, wherein:
- the media dependent module provides an interface between an upper-level conferencing driver of the conferencing system and a lower-level communications driver of the conferencing system to isolate the conferencing driver from the communications driver;
- the media dependent module is dependent upon hardware of the communications driver: and
- the media dependent module comprises a connection state machine, wherein the connection state machine comprises:
- an initialization state;
- (b) an in-session state;
- (c) a connection Out state;
- (d) a connection in state; and
- (e) a connected state, wherein the media dependent module is adapted to perform a plurality of functions called by the conferencing driver, wherein the plurality of functions comprises:
- an MDM.sub.-- BeginSession function for preparing the media dependent module for a conferencing session;
- an MDM.sub.-- MakeConnection function for requesting a connection to a remote conferencing node;
- an MDM .sub.-- AcceptConnection function for accepting an incoming connection request;
- an MDM.sub.-- RejectConnection function for rejecting the incoming connection request;
- an MDM.sub.-- Listen function for initiating a listen mode on an established connection;
- an MDM.sub.-- CloseConnection function for closing the established connection;
- an MDM.sub.-- EndSession function for ending the conferencing session
- an MDM.sub.-- GetCharacteristics function for retrieving information about the media dependent module;
- an MDM.sub.-- ClearToSend function for verifying that a link packet of a specified size can be sent on the established connection: and
- an MDM.sub.-- Send function for sending the link packet on the established connection.
- 8. The media dependent module of claim 7, wherein:
- calling the MDM.sub.-- BeginSession function changes the initialization state to the in-session state:
- calling the MDM.sub.-- MakeConnection function changes the in-session state to the connection out state:
- receiving a connection accepted message from the remote conferencing node changes the connection out state to the connected state;
- receiving a connection request message from the remote conferencing node changes the in-session state to the connection in state;
- calling the MDM.sub.-- AcceptConnection function changes the connection in state to the connected state:
- calling the MDM.sub.-- RejectConnection function changes the connection in state to the in-session state:
- calling the MDM.sub.-- CloseConnection function changes the connected state to the in-session state: and
- calling the MDM.sub.-- EndSession function changes the in-session state to the initialization state.
- 9. The media dependent module of claim 8, wherein calling any of the MDM.sub.-- Listen, MDM.sub.-- GetCharacteristics, MDM.sub.-- ClearToSend, and MDM.sub.-- Send functions leaves the connection state machine unchanged.
- 10. The media dependent module of claim 7, wherein:
- the MDM.sub.-- BeginSession function returns synchronously;
- in response to the MDM.sub.-- MakeConnection function, the media dependent module sends one of a connection-established callback and a connection-rejected callback to the conferencing driver and the media dependent module sends a connection-requested callback to the remote conferencing node:
- in response to the MDM.sub.-- AcceptConnection function, the media dependent module sends the connection-established callback to the conferencing driver and the media dependent module sends the connection-established callback to the remote conferencing node;
- in response to the MDM.sub.-- RejectConnection function, the media dependent module sends the connection-rejected callback to the remote conferencing node;
- in response to the MDM.sub.-- Listen function, the media dependent module sends the connection-requested callback to the conferencing driver;
- in response to the MDM.sub.-- CloseConnection function, the media dependent module sends a connection-close-complete callback to the conferencing driver and a connection-close-notify callback to the remote conferencing node;
- in response to the MDM.sub.-- EndSession function, the media dependent module sends a session-closed callback to the conferencing driver; and
- in response to the MDM.sub.-- Send function, the media dependent module sends a send-complete callback to the conferencing driver and the media dependent module sends a data-receive callback to remote conferencing node.
INCORPORATION BY REFERENCE AND RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 08/341,402, pending filed Nov. 16, 1994, which is a continuation-in-part of U.S. patent application Ser. No. 08/340,172, pending filed Nov. 15, 1994, which is a continuation-in-part of U.S. patent application Ser. No. 08/157,694, pending filed Nov. 24, 1993, all three of which are incorporated herein in their entireties by reference. This application is related to U.S. patent application Ser. No. 08/342,076 pending (filed Nov. 16, 1994), U.S. patent application Ser. No. 08/305,206 pending (filed Sep. 13, 1994), U.S. patent application Ser. No. 08/137,319 (filed Oct. 14, 1993), now U.S. Pat. No. 5,452,299 U.S. patent application Ser. No. 08/170,146 pending (filed Dec. 20, 1993), U.S. patent application Ser. No. 08/235,955 pending (filed Apr. 28, 1994), and U.S. patent application Ser. No. 08/133,612 (filed Oct. 12, 1993), now U.S. Pat. No. 5,410,698 which are all incorporated herein in their entireties by reference.
US Referenced Citations (23)
Foreign Referenced Citations (1)
Number |
Date |
Country |
0523629 |
Jul 1992 |
EPX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
341402 |
Nov 1994 |
|
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
340172 |
Nov 1994 |
|
Parent |
157694 |
Nov 1993 |
|