Abstract:
Embodiments of the present invention address deficiencies of the art in respect to collaborative computing and provide a method, system and computer program product for autonomically configuring a workspace in a collaborative computing environment. In an embodiment of the invention, a method for autonomically configuring a workspace in a collaborative computing environment can be provided. The method can include identifying a subject user and corresponding workspace in the collaborative environment, locating a related user within a directory for the subject user, retrieving a workspace configuration for the related user, and applying the workspace configuration to the corresponding workspace of the subject user.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to the field of collaborative computing and more particularly to workspace configuration in a collaborative computing environment. 
         [0003]    2. Description of the Related Art 
         [0004]    Collaborative computing refers to the management and use of a computing environment in which individual end users collaborate with one another by sharing conversations, content and scheduled events and tasks to achieve a common goal. Generally, collaborative computing environments provide for multiple different communicative mechanisms such as e-mail and instant messaging. Further, collaborative computing environments often include calendaring and scheduling capabilities along with access to content browsing, shared discussion forums, shared document libraries and the like. In all, collaborative computing environments have proven a valuable computing resource in promoting team collaboration within the enterprise. 
         [0005]    The collaborative workspace provides access the functionality of a collaborative computing environment. The workspace can vary widely from a limited user interface in a pervasive device to a robust portal interface in a more traditional computing device such as a personal computer. In all cases, however, the workspace can provide different command and control and display elements for each aspect of the collaborative computing environment. In particular, buddy and contact lists for e-mail and instant messaging, shared application views, database connections, file shares, network shares, file transfer protocol (FTP) locations, content bookmarks and look ahead caches can be rendered accessible from within the workspace. 
         [0006]    One of the greatest challenges in a collaborative environment is the ability of a collaborator to determine relevant sources of information and to retrieve information from relevant sources in a timely manner in order to become productive. It often takes weeks if not months for a person to gather all relevant information needed to understand the subject space of a collaborative team to become productive. Such information can include the correct members for a buddy list, the relevant contacts in a contact list, pertinent database applications and needed database connections, relevant file shares, network shares, FTP locations, common team or organizational bookmarks, and suitably populated look-ahead caches. The configuration of the workspace can be pivotal in addressing this challenge. 
         [0007]    Yet, given the relative complexity of the workspace for a collaborative computing environment, configuring a workspace can be a daunting task. For many users, the process of properly configuring a workspace can unfold over an extended period of time in fits and starts. Thus, integrating a new user into a collaborative environment can be challenging for the new user as the workspace must be configured rapidly to provide access to important buddy and contact lists, shared application views, database connections, file shares, network shares, FTP locations, content bookmarks and look ahead caches. Without a proper workspace configuration, the new user will be unable to fully participate as a collaborator and the intent and advantage of collaborative computing will be defeated. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    Embodiments of the present invention address deficiencies of the art in respect to collaborative computing and provide a novel and non-obvious method, system and computer program product for autonomically configuring a workspace in a collaborative computing environment. In an embodiment of the invention, a method for autonomically configuring a workspace in a collaborative computing environment can be provided. The method can include identifying a subject user and corresponding workspace in the collaborative environment, locating within a directory such as a lightweight directory access protocol (LDAP) compliant directory, a related user for the subject user, retrieving a workspace configuration for the related user, and applying the workspace configuration to the corresponding workspace of the subject user. 
         [0009]    In one aspect of the embodiment, locating a related user for the subject user can include locating within the directory a user sharing one of a same role, group and team as the subject user. In another aspect of the embodiment, retrieving a workspace configuration for the related user can include retrieving a workspace configuration for the related user, and filtering from the workspace configuration private workspace configuration elements leaving shareable workspace configuration elements in the workspace configuration. In yet another aspect of the embodiment, the method further can include identifying a different user and corresponding workspace in the collaborative environment, locating within the directory related users for the different user, retrieving corresponding workspace configurations for each of the related users, computing either a union or an intersection of configuration elements for the corresponding workspace configurations, and applying the union or intersection of the configuration elements as a configuration for the corresponding workspace of the different user. 
         [0010]    Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0011]    The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein: 
           [0012]      FIG. 1  is a pictorial illustration of a process for autonomic workplace establishment; 
           [0013]      FIG. 2  is a schematic illustration of a collaborative computing data processing system configured for autonomic workplace establishment; and, 
           [0014]      FIG. 3  is a flow chart illustrating a process for autonomic workplace establishment. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    Embodiments of the present invention provide a method, system and computer program product for autonomic workplace establishment in a collaborative computing environment. In accordance with an embodiment of the present invention, the workplace for a collaborative computing environment can be associated with a subject user. A relationship between the subject user and a related user, for example by role or group membership, can be identified within a directory such as an LDAP compliant directory, and the workplace configuration for the workplace of the related user can be retrieved and applied to the workplace of the subject user. In this way, the workplace of the subject user can be autonomically configured through the inference that the configuration of two related users of the collaborative computing environment ought to be similar. 
         [0016]    In illustration,  FIG. 1  pictorial depicts a process for autonomic workplace establishment. As shown in  FIG. 1 , a new workspace  120 A for a new user  110 A can be initialized for configuration. In response, a related user  110 B can be located within a directory  170  for the new user  110 A. For example, the related user  110 B can share the same role or same group or team as the new user  110 A. Alternatively, the new user  110 A can manually select or otherwise specify in the directory  170  the related user  110 B. In any event, the workspace configuration  160  for the workspace  120 B of different buddy and contact lists  130 , content bookmarks  140 , and shared application views, database connections, look ahead caches, file shares, network shares and FTP locations  150 , can be forwarded and applied to the new workspace  120 A so as to autonomically configure the new workspace  120 A of the new user  110 A without requiring the new user  110 A to manually select configuration elements for the new workspace  120 A. 
         [0017]    The process illustrated in  FIG. 1  can be implemented in a collaborative computing data processing system. In further illustration,  FIG. 2  schematically depicts a collaborative computing data processing system configured for autonomic workplace establishment. The system can include a host server  230  configured for communicative coupling to multiple different collaborative clients  210  over a computer communications network  240 , each client  210  supporting the operation of a collaborative client workspace  220 . Of note, each workspace  220  can be configured separately according to the preferences of a collaborative end user interacting with the workspace  220 . 
         [0018]    The host server  230  can host the operation of a collaborative computing system  270  servicing the collaborative clients  210  and providing content for the respective workspaces  220 . The collaborative computing system  270  further can manage the individual configurations  260  for corresponding ones of the workspaces  220  in the collaborative clients  210 . In this regard, each of the configurations  260  can specify for a corresponding one of the workspaces  220 , different buddy and contact lists, content bookmarks, and shared application views, database connections, look ahead caches, file shares, network shares and FTP locations, to name a few examples. 
         [0019]    Importantly, autonomic workspace establishment logic  250  can be provided. The logic  250  can be coupled to the host server  230  and a directory of collaborative users  200  such as an LDAP compliant directory, either directly as part of the collaborative computing system  270  or remotely through an application programming interface (API) of the collaborative computing system  270 . Optionally, the logic  250  can be incorporated into the collaborative clients  210 . The logic  250  can include program code enabled to configure one of the workspaces  220  with a configuration  260  of another of the workspaces  220 . The configuration  260  can be selected based upon a relationship between the collaborative users associated with each of the workspaces  220  as identified in the directory of collaborative users  200 . 
         [0020]    For example, the configuration  260  can be selected based upon a relationship of same group, same role, or same team between the collaborative users. Alternatively, multiple different configurations for correspondingly different related users can be merged into a single configuration either by taking the intersection or the union of the elements of each configuration. Yet as a further alternative, the configuration of a user at a higher level in an organizational hierarchy can apply a corresponding configuration to a user at a lower level in the hierarchy. 
         [0021]    In yet further illustration of the operation of the autonomic workspace establishment logic  250 ,  FIG. 3  is a flow chart illustrating a process for autonomic workplace establishment. The process of  FIG. 3  can be performed automatically upon launching a workspace for a collaborative user, or manually at the request of an end user or an administrator. Beginning in block  310 , a role, team or group can be identified for a subject user which can be a new user to a collaborative environment or an existing user seeking to configure a corresponding workspace. In block  320 , one or more related users sharing the same role, team or group can be identified and a particular one of the related users can be selected for processing. 
         [0022]    In block  330 , the configuration for the related user can be retrieved. The configuration can include, by way of example, collaborative workspace elements including different buddy and contact lists, content bookmarks, and shared application views, database connections, look ahead caches, file shares, network shares and FTP locations. In block  340 , the configuration can be filtered to remove elements of the configuration determined to be private. In this regard, each user in the collaborative computing environment can mark different configuration elements private or shareable. Alternatively, access control rules can specify which configuration elements can be shared with other users according to role or group membership, for instance. In any case, thereafter, the filtered configuration elements can be applied to the workspace of the subject user in block  350  thereby autonomically configuring the end user workspace. 
         [0023]    Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. 
         [0024]    For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
         [0025]    A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.