The present invention relates generally to communications within computer network systems, and in particular to forming multi-user online collaborations.
Online collaboration tools can permit a community of users to collaborate on projects, share information, meet and discuss issues, and make presentations, all online. They can be used with various sizes and types of user communities such as work teams, social networks, and other associations of users. However, a particular user community must be defined and set up by an administrator. The administrator determines and defines the membership of the community as well as members' permissions and rights with respect to a collaboration space. Oftentimes, the administrator will need to modify the membership of the community to reflect various changes in the community and/or permissions with respect to the collaboration space. The administrator also configures and maintains the collaboration space itself. In some instances, the rights and responsibilities of an administrator can be delegated to one or more members of the community. Such collaboration spaces, therefore, tend to require more than an insignificant amount of overhead to set up and maintain.
According to some embodiments, a method of forming a multi-user online collaboration includes automatically receiving and processing a plurality of communications, including comparing the plurality of communications with collaboration launch criteria. When a received communication meets the collaboration launch criteria, a participant in the received communication is invited to generate a multi-user online collaboration. In some embodiments, the method includes identifying a group of communications, comparing the group of communications with the collaboration launch criteria to produce a comparison result, and generating a collaborative metric in accordance with the comparison result.
The aspects of the invention as well as features and advantages thereof will be more clearly understood hereinafter as a result of a detailed description of embodiments of the invention when taken in conjunction with the drawings. Like reference numerals refer to corresponding parts throughout the several views of the drawings.
According to some embodiments, a set of users who are already in communication with each other are candidates for forming an online collaboration. The set of users may share a set of common characteristics, which can include, for example, concurrently doing the same task or related tasks, searching and/or browsing for similar information, exchanging messages with each other concerning a particular topic, or playing online games with each other. A shared communication space (e.g., web page, a chatroom, or other space) is dynamically created and the entities in the set are invited to participate in the shared communication space.
The client assistant 112 can perform one or more tasks related to initiating or using an online collaboration. The client assistant 112 can be part of the client application 110, a plug-in to the client application 110, or a stand-alone program. When the client application 110 is a browser, the client assistant 112 may be a program (e.g., a JavaScript program) embedded in a web page or other content received by the client and executed in an environment provided by the browser. In some embodiments the client assistant 112 includes portions of the collaboration triggering module 142, as discussed below.
The communication network 104 can be any local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, or the Internet, or any combination of such communication networks. The communication network 104 provides communications between the clients 102 and between the clients, the content systems 106 and the collaboration system 108. In some embodiments, the communication network 104 transports information using the HyperText Transport Protocol (HTTP) via the Transmission Control Protocol/Internet Protocol (TCP/IP). HTTP permits client computers to access various resources on a client 102 and/or available via the communication network 104. The various embodiments of the invention, however, are not limited to the use of any particular protocol. The term “resource” as used throughout this specification refers to any information or service that is accessible via a Uniform Resource Locator (URL) and can be, for example, a web page, a document, a database, an image, a computational object, a search engine, or the like. The information returned by a resource in response to a request sent to a URL may be dynamically generated. The dynamically generated content may be based, at least in part, on one or more parameter-value pairs in the URL.
The content systems 106 may include one or more email systems or servers 120, photo servers 122, instant messaging (IM) servers 124, short message service (SMS) servers 126, social network servers (130), or other content servers 132. While the collaboration system 108 is logically distinct from the content systems 106, in some embodiments the collaboration system 108 may be implemented on and/or integrated with one or more content servers. As discussed below, communications between users of the content systems 106 are automatically received and processed (within user provided or approved constraints) by the collaboration system 108 so as to identify communications that are candidates for providing the basis for starting new online collaborations.
The collaboration system 108 may include collaboration communication server 140, which functions as a gateway to the collaboration system, directing inbound and outbound traffic to appropriate destinations. A collaboration triggering module 142 determines when communications between users of the content systems 106 are consistent with any of a predefined set of triggering events or communication patterns, and initiates the formation of an online collaboration when such communications are identified. The collaboration triggering process, and associated mechanisms and systems are described in more detail below.
A collaboration content builder 144 generates web pages, chat rooms, or other forms of online collaborations, pulling in content from a variety of sources, and responds to user commands and inquiries by updating the content presented in the online collaborations. For instance, the collaboration content builder 144 may add to an online collaboration news snippets related to a topic associated with the online collaboration. In another example, the collaboration content builder 144 may add to an online collaboration search engine-generated search results for a query specified by a user of the online collaboration, or it may add search results for a query defined by the collaboration system 108 in accordance with a topic associated with the online collaboration. In yet another example, the collaboration content builder 144 may add events to a calendar in an online collaboration based on explicit commands by a user of the online collaboration or based on information extracted from communications exchanged by the users of the online collaboration.
In some embodiments, the collaboration processing operations (202, 204) include identifying a group of communications, comparing the group of communications with collaboration launch criteria, and generating a collaborative metric in accordance with said comparison result. For instance, the collaborative metric may represent how well the group of communications match or satisfy a trigger event definition or pattern. Alternately, the collaborative metric may be a function of the extent to which the group of communications relate to a common topic or conceptual category.
If any of the triggers is satisfied (206-yes), the user is invited to start an online collaboration (208). If the user accepts the invitation (210-yes), additional information may be elicited from the user in order to configure the new online collaboration. For instance, the user may be asked questions about potential participants, including participants in the communication, participants in the identified communications history (see discussion of 202, above), and any additional participants identified by the user or otherwise. The user may be asked questions about participation privileges to be assigned to the participants. Furthermore, the user may be asked questions about content to be included in the online collaboration (212). To minimize the amount of time required to form the online collaboration, and to avoid frustration on the part of the user, the collaboration triggering process may provide suggestions to the user, based on default configurations, and based on participants and content found in the communications history and/or in the related content. If the user has formed online collaborations in the past, the configuration of those online collaborations may be used to determine personalized default or proposed answers to the questions posed by the collaboration triggering process 200.
Once the collaboration triggering process 200 has obtained the information for configuring the online collaboration, the online collaboration is launched (214), for instance by forming one or more web pages that instantiate the online collaboration. When the amount of content or the number of types of information associated with the online collaboration warrant the generation of multiple web pages to instantiate the online collaboration, the online collaboration may include a main web page and one or more additional or child web pages, with the main web page and the other web pages interconnected by hyperlinks. Upon launching of the new online collaboration, the initiating user of the online collaboration may be presented with the main web page of the online collaboration, for instance by redirecting a browser application on the user's client device or computer to the online collaboration's main web page.
In some embodiments, after the online collaboration is launched, other potential participants of the online collaboration are notified of the online collaboration and invited to join (216).
The collaboration triggering process 200 may be performed by a collaboration triggering module 142 in the collaboration system 108 (
Examples of triggering event definitions or patterns 326 are as follows:
In some embodiments, the text and/or other content in the set of identified communications is processed by the collaboration triggering server system 300 in order to determine one or more of the following: (A) whether the communications are sufficiently related to each other to trigger an invitation to form a collaboration; (B) a best match between the communications and the predefined triggering patterns; (C) a topic, conceptual category or subject of the identified communications, which may then be used to identify candidates for content to be included in an online collaboration.
For example, in some embodiments, the collaboration triggering server system 300 performs a particular process to identify the most important terms in those communications, and to map those terms to topics or conceptual categories. Each word or term in the identified communications may be assigned a content score, which estimates the importance or information content of those terms. Once the highest content score terms the identified communications have been identified, those terms may be mapped to one or more conceptual categories. Alternately, the highest content terms may be treated as the topic-identifying terms of the identified communications. The resulting conceptual categories, or topic-identifying terms, may then be used by the collaboration triggering server system 300 for any the purposes discussed above.
The default collaboration configurations 332 are used by the collaboration launcher 330 to quickly build a robust online collaboration even when the initiating user provides little input to the collaboration launcher 330. The collaboration launcher 330 selects one of the default collaboration configurations 332 in accordance with the topic, category, event or pattern that triggered the initiation of the online collaboration. For instance, some online collaborations may include a calendar, because the participants are planning an event or series of events, while another online collaboration may provide multiple picture displaying regions, but no calendar, because the focus of the online collaboration is photos or other pictures being exchanged by the participants.
The related content suggestion engine 334 may suggest content to a user in accordance with content types associated with one or more default collaboration configurations 332, which in turn may be selected in accordance with the event or pattern that triggered the initiation of the online collaboration.
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 306 may store a subset of the modules and data structures identified above. Furthermore, memory 306 may store additional modules and data structures not described above.
Conceptually, widgets encapsulate automated behavior over a related pool of content. Thus, different widgets may be provided for manipulating, responding to and/or displaying various different types of content. Examples of widgets, in addition to the email widget 432 mentioned above, that may be included in the widget library 430 are an IM widget 434 for composing, editing, manipulating and/or acting upon IM messages or threads; an RSS or Atom feed widget 436 for generating, manipulating and/or acting upon one or more RSS or Atom feeds; a calendar widget 438 for composing, editing, manipulating and/or acting upon calendar or scheduling information; a stock widget (not shown) for manipulating, displaying and/or responding to stock price and/or performance information; a weather widget (not shown) for manipulating, displaying and/or responding to weather condition information; a web cam widget (not shown) for manipulating, displaying and/or responding to web cam video streams. In some embodiments, yet other widgets may be provided for manipulating, responding to and/or displaying other types of content, such as maps, photos, restaurant reviews, product reviews, recipes, and so on.
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 406 may store a subset of the modules and data structures identified above. Furthermore, memory 406 may store additional modules and data structures not described above.
In some embodiments, a region of a collaboration's web page may include advertisements, or links to advertisements.
Although one or more of the drawings illustrate a number of logical stages or operations in a particular order, stages or operations which are not order dependent may be reordered and other stages or operations may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the operations or logical stages can be implemented in hardware, firmware, software or any combination thereof.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
This is a continuation of U.S. patent application Ser. No. 11/292,905, filed Dec. 1, 2005 now abandoned, entitled “System and Method for Forming Multi-User Collaborations,” which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
6434599 | Porter | Aug 2002 | B1 |
6446113 | Ozzie et al. | Sep 2002 | B1 |
6718313 | Lent et al. | Apr 2004 | B1 |
6732364 | Bhaskaran et al. | May 2004 | B1 |
6745178 | Emens et al. | Jun 2004 | B1 |
6766374 | Trovato et al. | Jul 2004 | B2 |
6950852 | Kobayaghi et al. | Sep 2005 | B1 |
7047279 | Beams et al. | May 2006 | B1 |
7209475 | Shaffer et al. | Apr 2007 | B1 |
7454470 | Isaacs et al. | Nov 2008 | B1 |
7542902 | Scahill et al. | Jun 2009 | B2 |
7606856 | Singh et al. | Oct 2009 | B2 |
7636779 | Hayashi et al. | Dec 2009 | B2 |
7970664 | Linden et al. | Jun 2011 | B2 |
20010056465 | Aiso | Dec 2001 | A1 |
20020103647 | Houplain | Aug 2002 | A1 |
20020152101 | Lawson et al. | Oct 2002 | A1 |
20030021238 | Corneliussen et al. | Jan 2003 | A1 |
20030023677 | Morison Zuill et al. | Jan 2003 | A1 |
20030070176 | Parker et al. | Apr 2003 | A1 |
20030135565 | Estrada | Jul 2003 | A1 |
20030225833 | Pilat et al. | Dec 2003 | A1 |
20040083263 | Richardson et al. | Apr 2004 | A1 |
20040098449 | Bar-Lavi et al. | May 2004 | A1 |
20040260701 | Lehikoinen et al. | Dec 2004 | A1 |
20040267730 | Dumais et al. | Dec 2004 | A1 |
20050086211 | Mayer | Apr 2005 | A1 |
20050125246 | Muller et al. | Jun 2005 | A1 |
20050144228 | Rokosz et al. | Jun 2005 | A1 |
20050154693 | Ebert | Jul 2005 | A1 |
20050171799 | Hull et al. | Aug 2005 | A1 |
20050276479 | Goldberg et al. | Dec 2005 | A1 |
20060004775 | Kobayaghi et al. | Jan 2006 | A1 |
20060080432 | Spataro et al. | Apr 2006 | A1 |
20060143214 | Teicher | Jun 2006 | A1 |
20060167747 | Goodman et al. | Jul 2006 | A1 |
20060176831 | Greenberg et al. | Aug 2006 | A1 |
20060218577 | Goodman et al. | Sep 2006 | A1 |
20070016585 | Nickell et al. | Jan 2007 | A1 |
20070073810 | Adams et al. | Mar 2007 | A1 |
20070083520 | Shellen et al. | Apr 2007 | A1 |
20070112965 | Eftis et al. | May 2007 | A1 |
20070116227 | Vitenson et al. | May 2007 | A1 |
20080115068 | Smith | May 2008 | A1 |
20080235018 | Eggen et al. | Sep 2008 | A1 |
20100205541 | Rapaport et al. | Aug 2010 | A1 |
Number | Date | Country |
---|---|---|
2004104060 | Dec 2004 | KR |
Entry |
---|
Buik-Aghai, “Visualization of Interaction in an Online Collaboratoin Environment”, p. 228-235, 2005, URL<http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1553317>. |
“Implementing Rich Collaboration Infrastructure Using Microsoft Windows SharePoint Services and Microsoft Office SharePoint Portal Server 2003,” White Paper, Microsoft Corporation, Oct. 2003, 14 pages. |
“Deciding When to Deploy Microsoft Windows SharePoint Services and Microsoft Office SharePoint Portal Server 2003,” White Paper, Microsoft Corporation, Oct. 2004, 10 pages. |
Lee, A., et al., “Developing Web-Based Collaborative Applications—Social and Technical Issues,” Human-Computer Interactions, Interact '01, Jul. 2001, pp. 835-836. |
Number | Date | Country | |
---|---|---|---|
Parent | 11292905 | Dec 2005 | US |
Child | 13227417 | US |