A method and apparatus for dynamic loading of a transport mechanism is provided. A resource locator (RL) corresponding to a collaboration session is requested from a registry. A location indicator to the RL in the registry is received. In response to receiving the location indicator to the RL in the registry, a transportation mechanism specified in the first RL is dynamically loaded, and the collaboration session is joined. Thus, users wishing to collaborate use the registry to determine the type of transport mechanism they need to dynamically load to communicate with each other. |
Citations|
| US5392400 | Jul 2, 1992 | Feb 21, 1995 | International Business Machines Corporation | Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence | | US5425028 | Jul 16, 1992 | Jun 13, 1995 | International Business Machines Corporation | Protocol selection and address resolution for programs running in heterogeneous networks | | US5548723 | Dec 17, 1993 | Aug 20, 1996 | Taligent, Inc. | Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack | | US5724508 | Mar 9, 1995 | Mar 3, 1998 | InSoft, Inc. | Apparatus for collaborative computing | | US5754765 | Jun 6, 1995 | May 19, 1998 | Intel Corporation | Automatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules | | US5764906 | Nov 7, 1995 | Jun 9, 1998 | Netword LLC | Universal electronic resource denotation, request and delivery system | | US5793365 | Jan 2, 1996 | Aug 11, 1998 | Sun Microsystems, Inc. | System and method providing a computer user interface enabling access to distributed workgroup members | | US5809237 | Mar 27, 1995 | Sep 15, 1998 | Intel Corporation | Registration of computer-based conferencing system | | US5826027 | Oct 11, 1995 | Oct 20, 1998 | Citrix Systems, Inc. | Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system | | US5835724 | Jul 3, 1996 | Nov 10, 1998 | Electronic Data Systems Corporation | System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client | | US5852807 | Aug 8, 1997 | Dec 22, 1998 | Intel Corporation | Method and apparatus for modeling business card exchanges in a point-to-point or a multi-point personal computer conference | | US5862330 | Jul 16, 1996 | Jan 19, 1999 | Lucent Technologies Inc. | Technique for obtaining and exchanging information on wolrd wide web | | US5864668 | Apr 17, 1996 | Jan 26, 1999 | Object Technology Licensing Corp. | System for connecting a client to a server with a protocol stack dynamically constructed by using top and bottom service descriptions as query parameters | | US5867653 | Apr 18, 1996 | Feb 2, 1999 | International Business Machines Corporation | Method and apparatus for multi-cast based video conferencing | | US5869819 | Apr 7, 1997 | Feb 9, 1999 | Metrologic Instuments Inc. | Internet-based system and method for tracking objects bearing URL-encoded bar code symbols | | US5870559 | Apr 11, 1997 | Feb 9, 1999 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites | | US5870562 | Mar 24, 1997 | Feb 9, 1999 | PFN, Inc. | Universal domain routing and publication control system | | US5874954 | Apr 23, 1996 | Feb 23, 1999 | Roku Technologies, L.L.C. | Centricity-based interface and method | | US5884033 | May 15, 1996 | Mar 16, 1999 | Spyglass, Inc. | Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions | | US5897622 | Oct 16, 1996 | Apr 27, 1999 | Microsoft Corporation | Electronic shopping and merchandising system | | US5903754 | Nov 14, 1997 | May 11, 1999 | Microsoft Corporation | Dynamic layered protocol stack | | US5918010 | Feb 6, 1998 | Jun 29, 1999 | General Internet, Inc. | Collaborative internet data mining systems | | US5941945 | Jun 18, 1997 | Aug 24, 1999 | International Business Machines Corporation | Interest-based collaborative framework | | US5944791 | Oct 4, 1996 | Aug 31, 1999 | Contigo Software LLC | Collaborative web browser | | US5956509 | Aug 18, 1995 | Sep 21, 1999 | Microsoft Corporation | System and method for performing remote requests with an on-line service network | | US6020915 | Oct 22, 1996 | Feb 1, 2000 | AT&T Corp. | Method and system for providing an analog voice-only endpoint with pseudo multimedia service | | US6023698 | Dec 5, 1996 | Feb 8, 2000 | International Business Machines Corporation | System and method for transparently registering and updating information over the internet | | US6058393 | Feb 23, 1996 | May 2, 2000 | International Business Machines Corporation | Dynamic connection to a remote tool in a distributed processing system environment used for debugging | | US6138144 | Jun 24, 1997 | Oct 24, 2000 | AT&T Corp. | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network | | US6343313 | Mar 25, 1997 | Jan 29, 2002 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
Referenced by|
| US6823364 | Dec 21, 1999 | Nov 23, 2004 | Nortel Networks Limited | Distribution of location information in IP networks by intelligent endpoints | | US6981256 | Sep 10, 2001 | Dec 27, 2005 | Aspect Software, Inc. | Methods and apparatus for enabling dynamic resource collaboration | | US7050453 | Nov 8, 2004 | May 23, 2006 | Apple Computer, Inc. | Method and apparatus for ensuring compatibility on a high performance serial bus | | US7058872 | Mar 16, 2004 | Jun 6, 2006 | Apple computer, Inc. | Method and apparatus for generating jitter test patterns on a high performance serial bus | | US7096302 | Dec 21, 2004 | Aug 22, 2006 | Apple Computer, Inc. | Method and apparatus for accelerating detection of serial bus device speed signals | | US7191266 | Sep 15, 2004 | Mar 13, 2007 | Apple Computer, Inc. | Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images | | US7194564 | Dec 21, 2004 | Mar 20, 2007 | Apple Computer, Inc. | Method and apparatus for preventing loops in a full-duplex bus | | US7237135 | Dec 29, 2003 | Jun 26, 2007 | Apple Inc. | Cyclemaster synchronization in a distributed bridge | | US7308517 | Dec 29, 2003 | Dec 11, 2007 | Apple Inc. | Gap count analysis for a high speed serialized bus | | US7308517 | Dec 29, 2003 | Dec 11, 2007 | Apple Inc. | Gap count analysis for a high speed serialized bus | | US7353284 | Dec 23, 2003 | Apr 1, 2008 | Apple Inc. | Synchronized transmission of audio and video data from a computer to a client via an interface | | US7389371 | Mar 19, 2007 | Jun 17, 2008 | Apple Inc. | Method and apparatus for loop breaking in a data bus | | US7401173 | May 27, 2005 | Jul 15, 2008 | Apple Inc. | Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus | | US7418475 | Feb 16, 2001 | Aug 26, 2008 | BEA Systems, Inc. | Conversation management system for enterprise wide electronic collaboration | | US7506088 | Mar 12, 2007 | Mar 17, 2009 | Apple Inc. | Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images | | US7656824 | Dec 13, 2002 | Feb 2, 2010 | Thomson Licensing | Method and system for providing a private conversation channel in a video conference system | | US7668099 | Dec 23, 2003 | Feb 23, 2010 | Apple Inc. | Synthesis of vertical blanking signal | | US7701966 | Nov 21, 2005 | Apr 20, 2010 | Apple Inc | Method and apparatus for ensuring compatibility on a high performance serial bus | | US7734855 | Dec 10, 2007 | Jun 8, 2010 | Apple Inc. | Gap count analysis for the P1394a BUS | | US7797375 | May 7, 2001 | Sep 14, 2010 | International Business Machines Corporat | System and method for responding to resource requests in distributed computer networks | | US7861025 | Jul 14, 2008 | Dec 28, 2010 | Apple Inc. | Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus | | US7970926 | Mar 28, 2008 | Jun 28, 2011 | Apple Inc. | Synchronized transmission of audio and video data from a computer to a client via an interface | | US7987381 | Jun 19, 2007 | Jul 26, 2011 | Apple Inc. | Cyclemaster synchronization in a distributed bridge |
Claims1. A method of accessing a collaboration session by a client comprising: - requesting access to the collaboration session by sending a resource locator (RL) to a session manager;
- receiving a location indicator from a stored resource locator in a registry;
- in response to receiving the location indicator, dynamically loading a transportation mechanism specified in the location indicator to provide a set of network functions; and
- accessing the collaboration session by using the transportation mechanism to establish a connection with the collaboration session.
2. The method of claim 1 wherein the step of dynamically loading the transportation mechanism further comprises: - creating a new instance of an object class corresponding to a type of the transportation mechanism;
- retrieving a protocol stack corresponding to the transportation mechanism; and
- initiating the protocol stack.
3. The method of claim 2 wherein the object class is a shared data class. 4. The method of claim 1 further comprising: - determining if the RL matches any one of a plurality of RLs in the registry; and
- if the RL does not match, adding the RL to the plurality of RLs in the registry.
5. The method of claim 1, wherein the RL further includes a host and a port identification, a session or client identification, and a session or client name. 6. The method of claim 1 further comprising dynamically assigning a client manager as the session manager at a creation of the collaboration session. 7. The method of claim 1 wherein each established collaboration session has a resource locator stored in the registry to permit client sessions to access the established collaboration sessions. 8. The method of claim 1 wherein the location indicator is a pointer to the stored resource locator in the registry. 9. The method of claim 1 wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions. 10. An apparatus for facilitating a collaboration session among computer users comprising: - a session manager for facilitating the collaboration session;
- a client process for requesting access to the collaboration session by sending a request locator (RL) to the session manager;
- a parser coupled to the session manager for extracting a type designation from the RL; and
- a dynamic loader for loading a transportation mechanism corresponding to the type designation of the RL, said transportation mechanism providing a set of network functions that permit the client process to establish a connection with the collaboration session.
11. The apparatus of claim 10, wherein the type designation of the RL identifies a type of a transportation mechanism used for the collaboration session. 12. The apparatus of claim 11 wherein the transportation mechanism may be one of the following: transmission control protocol (TCP), user datagrams protocol (UDP), remote method invocation (RMI), T.120, Common Object Request Broker Architecture (CORBA), Scaleable Reliable Multicast (SRM). 13. The apparatus of claim 11, wherein the RL further includes a host and a port identification, a session or client identification, and a session or client name. 14. The method of claim 2 wherein the protocol stack is a layered set of protocols to provide a set of network functions to the collaboration session. 15. The apparatus of claim 10, further comprising a comparator for dynamically assigning a client manager as the session manager at the creation of the collaboration session. 16. The apparatus of claim 15 further comprising a distributed data sharing class for sharing data objects between clients. 17. The apparatus of claim 15 wherein the data objects are shared primitives, shared objects, tokens, and publish/subscribe tuples. 18. The apparatus of claim 10, further comprising: - a registry logically connected to the session manager for maintaining a set of resource locators;
- a comparator for matching the RL to any one of the set of resource locators in the registry; and
- means for adding the RL to the set of resource locators if the RL does not match any one of the set of resource locators in the registry.
19. The apparatus of claim 10 wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions. 20. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to access a collaboration session, said computer data signal comprising: - a first computer program being executable to access the collaboration session by sending a resource locator (RL) to a session manager;
- a first operating system procedure being executable to receive a location indicator from a stored resource locator in registry; and
- a second computer program being executable to dynamically load a transportation mechanism corresponding to the location indicator, the transport mechanism to provide a set of network functions, and to establish a connection with the collaboration session by using the transportation mechanism.
21. The computer data signal of claim 20 wherein the second computer program further includes: - a first subprogram being executable to create a new instance of an object class corresponding to a type of the transportation mechanism;
- a second subprogram being executable to retrieve a protocol stack corresponding to the transportation mechanism; and
- a third subprogram being executable to initiate the protocol stack.
22. The computer data signal of claim 20 wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions. 23. A machine readable medium having stored thereon data representing sequences of instructions, which when executed by a computer system, cause said computer system to access a collaboration session, said sequences of instructions comprising: - a first sequence for requesting access to the collaboration session by sending a resource locator (RL) to a session manager;
- a second sequence for receiving a location indicator from a stored resource locator in a registry;
- a third sequence for dynamically loading a transportation mechanism corresponding to the location indicator in response to receiving the location indicator, the transportation mechanism to provide a set of network functions; and
- a fourth sequence for establishing a connection to the collaboration session by using the transportation mechanism.
24. The machine readable medium of claim 23, wherein the third sequence further includes: - a fifth sequence for creating a new instance of an object class corresponding to a type of the transportation mechanism;
- a sixth sequence for retrieving a protocol stack corresponding to the transportation mechanism; and
- a seventh sequence for initiating the protocol stack.
25. The medium of claim 24 wherein the object class is a shared data class. 26. The medium of claim 24 wherein the protocol stack is a layered set of protocols to provide a set of network functions to the collaboration session. 27. The medium of claim 23 further comprising a fifth sequence for dynamically assigning a client manager as the session manager at the creation of the collaboration session. 28. The medium of claim 23 wherein each established collaboration session has a resource locator stored in the registry to permit client sessions to access the established collaboration sessions. 29. The medium of claim 23 wherein the location indicator is a pointer to the stored resource locator in the registry. 30. The machine readable medium of claim 23 wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions. 31. A system for accessing a collaboration session comprising: - means for requesting access to the collaboration session by sending a resource locator (RL) to a session manager;
- means for receiving a location indicator from a stored RL in a registry;
- in response to receiving the location indicator, means for dynamically loading a transportation mechanism corresponding to the location indicator, the transport mechanism providing a set of network functions; and
- means for establishing a connection with the collaboration session by using the transportation mechanism.
32. The system of claim 31 further comprising means for dynamically assigning a client manager as the session manager at the creation of the collaboration session. 33. The system of claim 31 wherein the means for dynamically loading the transportation mechanism further comprises: - means for creating a new instance of an object class corresponding to a type of the transportation mechanism;
- means for retrieving a protocol stack corresponding to the transportation mechanism; and
- means for initiating the protocol stack.
34. The system of claim 31 further comprising: - means for determining if the RL matches any one of a plurality of resource locators in the registry; and
- if the RL does not match, means for adding the RL to the plurality of resource locators in the registry.
35. The system of claim 31 wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions. 36. A method of accessing a collaboration session by a client comprising: - requesting access to the collaboration session by sending a resource locator (RL) to a session manager;
- receiving a location indicator from a stored resource locator in a registry;
- in response to receiving the location indicator, dynamically loading a transportation mechanism specified in the location indicator to provide a set of network functions; and
- connecting to the collaboration session by using the transportation mechanism, wherein the transportation mechanism comprises a protocol stack and an object class that work together to provide the set of network functions.
|