Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

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.

InventorRichard N. Burridge
Original AssigneeSun Microsystems, Inc.
Primary Examiner: Mark H. Rinehart
Secondary Examiner: Thong Vu
Attorney: Blakely Sokoloff Taylor & Zafman
Current U.S. Classification709/214; 345/15; 709/202
International Classification: G06F/15167

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5392400Jul 2, 1992Feb 21, 1995International Business Machines CorporationCollaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
US5425028Jul 16, 1992Jun 13, 1995International Business Machines CorporationProtocol selection and address resolution for programs running in heterogeneous networks
US5548723Dec 17, 1993Aug 20, 1996Taligent, Inc.Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
US5724508Mar 9, 1995Mar 3, 1998InSoft, Inc.Apparatus for collaborative computing
US5754765Jun 6, 1995May 19, 1998Intel CorporationAutomatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules
US5764906Nov 7, 1995Jun 9, 1998Netword LLCUniversal electronic resource denotation, request and delivery system
US5793365Jan 2, 1996Aug 11, 1998Sun Microsystems, Inc.System and method providing a computer user interface enabling access to distributed workgroup members
US5809237Mar 27, 1995Sep 15, 1998Intel CorporationRegistration of computer-based conferencing system
US5826027Oct 11, 1995Oct 20, 1998Citrix Systems, Inc.Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5835724Jul 3, 1996Nov 10, 1998Electronic Data Systems CorporationSystem 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
US5852807Aug 8, 1997Dec 22, 1998Intel CorporationMethod and apparatus for modeling business card exchanges in a point-to-point or a multi-point personal computer conference
US5862330Jul 16, 1996Jan 19, 1999Lucent Technologies Inc.Technique for obtaining and exchanging information on wolrd wide web
US5864668Apr 17, 1996Jan 26, 1999Object 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
US5867653Apr 18, 1996Feb 2, 1999International Business Machines CorporationMethod and apparatus for multi-cast based video conferencing
US5869819Apr 7, 1997Feb 9, 1999Metrologic Instuments Inc.Internet-based system and method for tracking objects bearing URL-encoded bar code symbols
US5870559Apr 11, 1997Feb 9, 1999Mercury InteractiveSoftware system and associated methods for facilitating the analysis and management of web sites
US5870562Mar 24, 1997Feb 9, 1999PFN, Inc.Universal domain routing and publication control system
US5874954Apr 23, 1996Feb 23, 1999Roku Technologies, L.L.C.Centricity-based interface and method
US5884033May 15, 1996Mar 16, 1999Spyglass, Inc.Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions
US5897622Oct 16, 1996Apr 27, 1999Microsoft CorporationElectronic shopping and merchandising system
US5903754Nov 14, 1997May 11, 1999Microsoft CorporationDynamic layered protocol stack
US5918010Feb 6, 1998Jun 29, 1999General Internet, Inc.Collaborative internet data mining systems
US5941945Jun 18, 1997Aug 24, 1999International Business Machines CorporationInterest-based collaborative framework
US5944791Oct 4, 1996Aug 31, 1999Contigo Software LLCCollaborative web browser
US5956509Aug 18, 1995Sep 21, 1999Microsoft CorporationSystem and method for performing remote requests with an on-line service network
US6020915Oct 22, 1996Feb 1, 2000AT&T Corp.Method and system for providing an analog voice-only endpoint with pseudo multimedia service
US6023698Dec 5, 1996Feb 8, 2000International Business Machines CorporationSystem and method for transparently registering and updating information over the internet
US6058393Feb 23, 1996May 2, 2000International Business Machines CorporationDynamic connection to a remote tool in a distributed processing system environment used for debugging
US6138144Jun 24, 1997Oct 24, 2000AT&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
US6343313Mar 25, 1997Jan 29, 2002Pixion, Inc.Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6823364Dec 21, 1999Nov 23, 2004Nortel Networks LimitedDistribution of location information in IP networks by intelligent endpoints
US6981256Sep 10, 2001Dec 27, 2005Aspect Software, Inc.Methods and apparatus for enabling dynamic resource collaboration
US7050453Nov 8, 2004May 23, 2006Apple Computer, Inc.Method and apparatus for ensuring compatibility on a high performance serial bus
US7058872Mar 16, 2004Jun 6, 2006Apple computer, Inc.Method and apparatus for generating jitter test patterns on a high performance serial bus
US7096302Dec 21, 2004Aug 22, 2006Apple Computer, Inc.Method and apparatus for accelerating detection of serial bus device speed signals
US7191266Sep 15, 2004Mar 13, 2007Apple Computer, Inc.Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US7194564Dec 21, 2004Mar 20, 2007Apple Computer, Inc.Method and apparatus for preventing loops in a full-duplex bus
US7237135Dec 29, 2003Jun 26, 2007Apple Inc.Cyclemaster synchronization in a distributed bridge
US7308517Dec 29, 2003Dec 11, 2007Apple Inc.Gap count analysis for a high speed serialized bus
US7308517Dec 29, 2003Dec 11, 2007Apple Inc.Gap count analysis for a high speed serialized bus
US7353284Dec 23, 2003Apr 1, 2008Apple Inc.Synchronized transmission of audio and video data from a computer to a client via an interface
US7389371Mar 19, 2007Jun 17, 2008Apple Inc.Method and apparatus for loop breaking in a data bus
US7401173May 27, 2005Jul 15, 2008Apple Inc.Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US7418475Feb 16, 2001Aug 26, 2008BEA Systems, Inc.Conversation management system for enterprise wide electronic collaboration
US7506088Mar 12, 2007Mar 17, 2009Apple Inc.Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US7656824Dec 13, 2002Feb 2, 2010Thomson LicensingMethod and system for providing a private conversation channel in a video conference system
US7668099Dec 23, 2003Feb 23, 2010Apple Inc.Synthesis of vertical blanking signal
US7701966Nov 21, 2005Apr 20, 2010Apple IncMethod and apparatus for ensuring compatibility on a high performance serial bus
US7734855Dec 10, 2007Jun 8, 2010Apple Inc.Gap count analysis for the P1394a BUS
US7797375May 7, 2001Sep 14, 2010International Business Machines CorporatSystem and method for responding to resource requests in distributed computer networks
US7861025Jul 14, 2008Dec 28, 2010Apple Inc.Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US7970926Mar 28, 2008Jun 28, 2011Apple Inc.Synchronized transmission of audio and video data from a computer to a client via an interface
US7987381Jun 19, 2007Jul 26, 2011Apple Inc.Cyclemaster synchronization in a distributed bridge

Claims

1. 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.