US 20060090013 A1
A system for communicating information among participants in a distributed application having peripheral communications devices comprises a central agent having two-way links to the peripheral devices, a notice generator triggered by an information input from one participant directed to at least one other participant, the notice generator generating a notice for the other participant(s) and pushing the notice to the peripheral device of the other participant(s) only if the information input was directed to the other participant(s), a central storage medium storing the information input, and an access channel by which the other participant(s) may receive the information input only if the other participant(s) responds to the notice. The links may form a computer network, cable network, telecommunications network, wireless network, or other network, or a combination. Additional information inputs may be associated with the first information input or may modify or delete it.
1. A computer-assisted method of facilitating group collaboration comprising:
sending a resource locator to plural members of a group;
receiving contributions from members of said group;
dynamically changing content at least in part in response to said received contributions from said group members; and
enabling access by said plural group members to said dynamically changed content based at least in part on use of said resource locator by said group members, wherein said access-enabling includes automatically customizing presentation of said content to accommodate capabilities available to said group members.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. The method of
25. The method of
26. The method of
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
33. The method of
34. The method of
35. The method of
36. A storage medium including program instructions which, when executed by at least one automatic computing device, facilitate group collaboration, said storage medium comprising:
first instructions for sending a resource locator to plural members of a group;
second instructions for receiving contributions from members of said group;
third instructions for dynamically changing content at least in part in response to said received contributions from said group members; and
fourth instructions for enabling access by said plural group members to said dynamically changed content based at least in part on use of said resource locator by said group members, wherein said access-enabling includes automatically customizing presentation of said content to accommodate capabilities available to said group members.
37. A computer-assisted system for facilitating group collaboration comprising:
A notifier that sends a resource locator to plural members of a group;
A storage that receives contributions from members of said group and dynamically changes said content at least in part in response to said received contributions from said group members; and
A server that enables access by said plural group members to said dynamically changed content within said storage based at least in part on use of said resource locator by said group members, wherein said server automatically customizes presentation of said content to accommodate capabilities available to said group members.
38. The system of
39. The system of
40. The system of
41. The system of
42. The system of
43. The system of
44. The system of
45. The system of
46. The system of
47. The system of
48. The system of
49. The system of
50. The system of
51. The system of
52. The system of
53. The system of
54. The system of
55. The system of
56. The system of
57. The system of
58. The system of
59. The system of
60. The system of
61. The system of
62. The system of
63. The system of
64. The system of
65. The system of
66. The system of
67. The system of
68. The system of
69. The system of
70. The system of
71. The system of
72. The system of
73. A computer-assisted system for facilitating group collaboration comprising:
A notifier that distributes resource locators to plural members of a group;
A storage that maintains contributions from members of said group and dynamically changes said contributions at least in part in response to information received from said group members; and
An agent that enables access by said plural group members to said dynamically changed contributions said storage maintains, wherein said agent permits resource locators to access contributions changed after said resource locators were distributed.
74. The method of
75. A method of facilitating group collaboration comprising:
distributing resource locators to plural members of a group;
maintaining, in a store, contributions from members of said group;
dynamically changing said maintained contributions at least in part in response to information received from said group members; and
enabling access by group members to maintained contributions changed after said resource locators were distributed.
74. The method of
76. The method of
77. The method of
78. The system of
79. The system of
80. The method of
81. The system of
This application is a continuation of U.S. patent application Ser. No. 09/709,441 filed Nov. 13, 2000, now allowed, which is a continuation-in-part of U.S. patent application Ser. No. 09/041,599, filed Mar. 13, 1998. Both of these prior applications are incorporated herein by reference in their entirety.
The technology herein relates to communication and collaboration tools that allow groups to share information across time and space using computer and other communication channels. The technology may be incorporated into the design of products such as groupware software and communications services.
A conventional approach to the design of communication and collaboration products, especially of groupware, is a centripetal method, i.e., group members go to a central area in order to retrieve and exchange data and information. For example, in the Internet, group members converge on a server in order to communicate and collaborate.
The previous approaches taken in this field can be categorized in two different product groups:
(1) Centripetal method: Examples of the use of this method include: IBM's Lotus Notes and Domino; Microsoft's Exchange and NetMeeting; Netscape's Virtual Office by Concentric; Radnet's Webshare; Novell's GroupWise; Thuridion's Crew; IntraACTIVE's In Tandem; Linkstar's HotOffice; Changepoint's Involv; Internet Media Inc.'s 3-2-1 Intranet; and others. All of these products generally require group members to remember to go to a central area (a server) in order to retrieve and exchange data and information. This centripetal design leads producers to develop products by increasing the speed of connection and facilitating access to the central site of communication and collaboration. Using the client-server infrastructure, products are either proprietary servers, enhanced software clients, or both.
(2) Narrowcasting method: This method is exemplified in the following products: PointCast's Client and Server; Marimba's Castanet; Progressive Network's Real Clients and Servers; Microsoft's NetShow; Netscape's Browser and Media Server; Wayfarer's INCISA; and all listserve products. All of these products use the narrowcasting model of one-to-many communication. Group members (many) have to remember to “tune-in” or attend the narrowcasted content served by a central site (one), without knowing whether or not new or relevant information is there.
In both the centripetal and narrowcasting approaches, group members report and remember to report to a central area for communication and collaboration. Such methods assume that value is added by improving the way group members go about retrieving information that updates at a central location. Collaborative value is stored in the central repository. Group members still must actively go to the central resource to get any information or value from the group. For example, in the Internet, a group member would need to remember to log into a server for a videoconferencing appointment at a designated time. It would be an improvement to such a system for appointments and reminders for appointments to be “pushed” to the group member's awareness via e-mail with a Web hyperlink to the videoconference, via a narrowcast of the appointment, or other technologies that drive the information outward to the group member.
In the digital era, the computer has increasingly become a substitute for physical presence and interaction. Designers, however, have focused on providing cheaper and quicker access and offering additional functionality such as manipulation of the data and information sought. In the attempt to mimic human interaction such as congregating in a town hall for a meeting (a centripetal method) via electronic means, the power of the electronic medium to conduct the meeting outside of the town hall has not been given sufficient attention.
A “computer” refers to any apparatus that is capable of accepting a structured input, processing the structured input according to prescribed rules, and producing results of the processing as output. Examples of a computer include: a computer; a general-purpose computer; a supercomputer; a mainframe; a super mini-computer; a mini-computer; a workstation; a microcomputer; a server; an interactive television; a hybrid combination of a computer and an interactive television; and such devices as personal digital assistants (PDAs) and telephone systems that include microbrowsers. A computer can have a single processor or multiple processors, which can operate in parallel and/or not in parallel. A computer also refers to two or more computers connected together via a network for transmitting or receiving information between the computers. An example of such a computer includes a distributed computer system for processing information via computers linked by a network.
A “computer-readable medium” refers to any storage device used for storing data accessible by a computer. Examples of a computer-readable medium include: a magnetic hard disk; a floppy disk; an optical disk, like a CD-ROM or a DVD; a magnetic tape; a memory chip; and a carrier wave used to carry computer-readable electronic data, such as those used in transmitting and receiving e-mail or in accessing a network.
“Software” refers to prescribed rules to operate a computer. Examples of software include: software; code segments; instructions; computer programs; and programmed logic.
A “computer system” refers to a system having a computer, where the computer comprises a computer-readable medium embodying software to operate the computer.
A “network” refers to a number of computers and associated devices that are connected by communication facilities. A network involves permanent connections, like cables, or temporary connections, like those made through telephone or other communication links. Examples of a network include: an internet, such as the Internet; an intranet; a local area network (LAN); a wide area network (WAN); a cable network; a wireless network; a telephone network; and a combination of networks, such as an internet and an intranet.
An “information storage device” refers to an article of manufacture used to store information. An information storage device has different forms, for example, paper form and electronic form. In paper form, the information storage device includes paper printed with the information. In electronic form, the information storage device includes a computer-readable medium storing the information as software, for example, as data.
Exemplary non-limiting illustrative implementations herein referred to as a Centrifugal Communication and Collaboration Method (CCCM), reverse the established centralized design of communication and collaboration products, especially of groupware software. An example CCCM implementation “pushes” out to participants in a distributed application the data and information contained in a conceptual or actual central area. This conceptual or actual central area may be located in a distinct location, or it may be distributed among computer apparatus located at the participants' sites. The centrifugal flow of the exemplary CCCM implementation is distinct from the current centripetal design of such products, and provides numerous advantages.
A centrifugal arrangement improves the ability of groups of participants to communicate, collaborate, exchange information, and to generally participate in distributed applications because of its focus on the individual participants rather than a central meeting site. The exemplary CCCM implementation creates value in interactive group-oriented software applications by distributing the accumulated group knowledge and activity to the individual participants, rather than forcing the participants to go to the central source of data and information where the wealth of the group is stored. Previous applications focused on better, cheaper, and faster ways to bring participants together in a central location. The exemplary CCCM implementation focuses on using the interactive capabilities of networks to maintain value among the participants, not only at a central repository of information and data.
The active, centrifugal delivery to participants of updated information relevant to the participants, such as the actions of other participants, the status of their pending group activities, the status of their requested information, etc., simplifies the process by which participants use software programs to gain and manipulate information over networks. Because the information is pushed, there is minimal need to converge at a central repository.
With the exemplary CCCM implementation, the dynamic is a centrifugal push. The flow of information among participants in a distributed application using CCCM-enabled communication and collaboration software is outward in direction. The exemplary CCCM implementation takes the value of the central resource out to the individual users. The participants converge at the centrifugal core (which, again, may physically be either centralized or distributed) only briefly. They are notified when they must do so, and their convergence is facilitated by shortcuts that make it easier to converge. Collaborative activity is moved away from the central core out through the network to the participant's peripheral location. For example, in an Internet-based exemplary illustrative implementation, participants automatically receive from a server the data necessary to communicate and collaborate as a group.
The exemplary illustrative non-limiting CCCM implementation is an integrative method. Using a computer network, it employs software code and servers to distribute content. In an internetworked environment, if group collaboration application software resides together with an HTTP server, then pushing out the group-generated information by e-mail employs a mail server, a network connection of all participants, and software code within the group collaboration software that calls on the mail server to push content. Or, if the group-generated information is distributed by narrowcasting, then a narrowcasting server is used, from which narrowcasting clients of participants receive information feed. The group collaboration software, through added software code, then communicates with the narrowcasting server to deliver group-generated information to participants.
The exemplary non-limiting illustrative CCCM implementations herein reverse the basic assumption about how group value is created and information is shared. Rather than focusing on bringing participants into a central location in a better, cheaper, and faster way, the exemplary CCCM implementations empower the participants by providing them information right where they are and leave them to decide whether or not to go to the central site at all.
The content in the exemplary CCCM implementation is provided and continuously changed by the participants. The traditional push system is broadcasting, like television and radio. In this traditional model, preset content is sent to all viewers who have means to receive it, like television and radio sets. Viewers must be there at the same time as the broadcast to receive the content they want, or they must record it at the time of broadcast.
The general Internet model of push is narrowcasting. As with broadcasting, the source(s) of content are decided by the narrowcaster, and filtered according to the users' predetermined criteria as to what will be received.
The content of the exemplary illustrative non-limiting CCCM implementation that is continually being “pushed out” is generally not a standard collection of information selected by a central narrowcaster, but is a custom mix of information that remains in flux. The information that is pushed is created and continuously modified by the participants themselves. Messages and other information are unique to and generated by participants, and are determined by the role of each participant in the particular group application.
Rather than substitute an electronic model for the physical model of a meeting place, the exemplary CCCM implementation enhances the model of group interaction by taking advantage of the possibilities of virtual and digital communication and collaboration. While all other models took the previous “real world” example of a meeting hall, developed its cyberspace equivalent, then improved upon the cyberspace equivalent, the exemplary CCCM implementation uses the power of electronic methods to provide centrifugal flow that enhances the physical model.
The exemplary CCCM implementation removes the need for individuals to gather at a central location to find out what is there, what has changed since they were last there, and what they can do there. All group value no longer resides in the central resource. The exemplary CCCM implementation takes the dynamic group information from the center as it is changing with the contributions of its diverse participants and distributes it out to those participants.
In one exemplary illustrative non-limiting implementation, a system for communicating information among participants in a distributed application comprises:
In some variations, each of the central agent and the central storage medium is physically either centralized or distributed, with components distributed among the participants' sites. In some implementations in which the central storage medium is distributed, information stored in the various locations is synchronized.
The notice generator may push the notice immediately or at the end of a predetermined period, when all notices generated during the preceding period are pushed together. The notice preferably comprises at least a summary of the information input (but may include the entire information input), and a link to the information input on the central storage medium. The notice generator may push notices via e-mail, narrowcasting, or a combination. Access to the central agent preferably requires using a password and a user identification (userID), and information inputs and notices may be encrypted. The userID and password, and any other necessary access information, are included as part of the link. In a preferred exemplary illustrative implementation, where a given participant is a participant in multiple distributed applications, a single channel is pushed as part of the notice, and the channel, when activated, links the participant to any information regarding any or all of the applications in which the participant participates.
The links may form a computer network, a cable network, a telecommunications network, a wireless network, a television network (cable or wireless), a radio network, or a combination. The central agent may reside as a program operating on at least one of a network server, an internet, an intranet, or it may reside, in a distributed fashion, on any or all of the participants' peripheral devices. The inputs are preferably retained in the central storage medium as a database archive for a predetermined period. The system may comprise a network server farm including a server selected from the group consisting of groupware, a video server, an audio server, a chat server, and a news server.
The central agent may comprise a database system, to which the links pushed to the participants bring the participants when they are activated; in some exemplary illustrative implementations, the database system is a relational database system, an object-relational database system or a flat-file database system. The central agent, in turn, accesses the central storage medium to push the information out to the participants.
In one exemplary illustrative implementation, different participants are granted different levels or privilege/access within the context of an application. In such a case, the central agent also implements, or includes means for, differentiating among such different levels of privilege/access and permitting only activities associated with such levels.
Different participants may use different peripheral devices, including PDAs, wireless telephones, personal computers, etc. In one exemplary illustrative implementation, the central agent is capable of manipulating the information being sent to and received from each peripheral device, according to its capabilities. For example, some such devices may only have audio capability, some may have multi-media capability, some may have visual-only capability, and they may have different formats.
The first information input is typically directed to a plurality of other participants, and the second information input may be directed to the first participant, another participant, or a plurality of participants. A person may be allowed to join in as a participant by forming a link with the person, and inviting the person to join. Alternatively, the individual initiating the application may opt to make the application public and thus open to participation by any individual desiring to become a participant, without invitations; such applications may be publicized, including by advertisement. In another exemplary illustrative implementation, individuals are invited to join only with authorization by some particular individual or individuals, who may be the initiating participant, his agent or agents, or other designated individuals.
In various exemplary illustrative implementations, the distributed application may be, among other things, at least one of a distributed discussion group, a distributed scheduling application, a distributed contact management application, a distributed document management application, and a distributed project management application.
In another exemplary illustrative implementation, a method of communicating information among participants in a distributed application having peripheral devices capable of transmitting and receiving information, comprises:
In another exemplary implementation, a computer readable medium comprises a program for carrying out the method.
Further objectives and advantages will become apparent from a consideration of the description and drawings.
The advantages above are better understood by reading the following detailed description with reference to the accompanying figures, in which like reference numerals refer to like elements throughout, and in which:
FIGS. 3-A to 3-C show flow charts for the asynchronous events in a responsive, rapid interaction among three individual members of a group.
FIGS. 4-A and 4-B show flow charts for the events in a slower interaction among three individual members of a group.
In describing the technology herein illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the exemplary illustrative implementation is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner to accomplish a similar purpose.
In a prior art example shown in
In a schematic depiction of an example illustrative implementation of the technology herein, shown in
Example implementations include the following.
(1) Multi-participant distributed software applications, enabled with CCCM by programmed code intended to push out group-generated information by e-mail, narrowcasting, and other such distribution methods. Examples of such applications include distributed discussion groups, scheduling, contact management, project management, etc. For example, a group discussion software implementation contains software code that allows discussion content to be e-mailed to the entire set or a subset of participants. An additional program may run at a predefined interval to notify participants of what content is new, what has been read and what has not, or whether or not they have been requested to respond to a particular comment. The individualized e-mail contains such notifications, as well as a mouse-clickable Web hyperlink to the content. The Web hyperlink may in itself open a videoconference, or the Web hyperlink may open a window that contains channelized connections not only to the discussion and videoconference, but also to the schedule and address book of the participant. Another example is a group scheduling software implementation linked to a narrowcasting system that activates a narrowcasting client. The narrowcasting client then narrowcasts, say, the events of the day or of the month, or that an appointment is about to become due, or that an Internet presentation is about to begin, or that someone has replied to a comment in a group discussion. Both e-mail and narrowcasting can be done using one or multiple media, such as text, audio, video, and images.
(2) CCCM can be used in non-computer-based networks, provided there is bi-directional exchange of information, including telecommunication systems, newer versions of cable-based networks, wireless networks, television networks, radio networks, and others. The exemplary illustrative implementation does not much depend on how the network is linked. What is important is that each stored piece of information can be accessed via a channel, for example, a URL, that can be used over the network and that this channel can be transmitted to participants so that they can use it to access the information.
Many variations are possible in the technology used to distribute centrifugally group-generated information. Distribution may occur by e-mail, by narrowcasting, and by other electronic means. According to the exemplary illustrative implementation, there is no need for participants to converge at a central area, and the method is selective and deliberate as to what information is delivered. Participants need not remember to go to a central site for collaboration. CCCM makes participation more convenient than in prior-art methods and improves currently-existing communication and collaboration products, as well as those which may be developed in the future.
Applications may be self-initiated. In other words, in an Internet exemplary illustrative implementation, one person can identify e-mail addresses for a desired group of participants and set up the framework for a group application. The system pushes notices to the desired participants, as needed, with whatever URLs or other channels are necessary. The recipients, by clicking on the URLs or other channels, are brought to a central facility. In synchronous mode, the participants can communicate in streaming conversation and can scroll through messages. In asynchronous mode, the participants may participate and return at any time. If a participant has not returned for a predetermined time, a notice may be pushed to the participant (a) reminding him that a response is desired, (b) indicating that new information is available, or (c) providing a summary of recent activity.
Distributed applications may be set up with different types of access. In one exemplary illustrative implementation, an application is set up such that any participant may invite a non-participant to join. In another exemplary illustrative implementation, applications are made public, so that anyone may join (participants may even wish to encourage participation, for example, by advertising the application). In still another exemplary illustrative implementation, participation may be at the discretion of one or more particular participants; for example, the participant(s) who initiated the application may retain control over who may join as a participant, either directly or through one or more agents. This exemplary illustrative implementation may also be publicized to encourage participation, while the initiator(s) maintain control (for example, a person who wishes to join the application may need to apply for access). In another exemplary illustrative implementation, all, or any subset, of these different set-ups are implemented. Similarly, the system may permit one or more participants to police the application by removing a participant from the application altogether.
In a further, more general, exemplary illustrative implementation, different participants in a distributed application have different levels of privileges within the application. One example of this is, as above, where some participant(s) may have the privilege of controlling participation in the application. Another example is where participants have the privilege to edit or delete their own information inputs, and perhaps one participant or a particular group of “super-participants” has the privilege level to be able to edit or delete others' information inputs (an example of this might be a moderated discussion group). In a particular exemplary illustrative implementation, the (group of) participant(s) who initiate the application is vested with the power to grant or deny privileges to other participants. In any such exemplary illustrative implementation, the central agent has the capability of differentiating among different privilege levels of the various participants in an application.
FIGS. 4-A and 4-B show flow charts for a more extended asynchronous interaction among three individual members of a group with a periodic push setting. In
In the examples shown in FIGS. 3A-C and 4A-B, as discussed above, asynchronous operation may occur. It should be noted that asynchronous operation may be combined with real-time operation, for example, to result in instant notification of an information input. That is, notices of information inputs may be pushed to participants upon the reception of such information inputs at the central agent.
In an example illustrative non-limiting implementation, data corresponding to distributed applications involving multiple participants, e.g., 75 and 76, is stored in data storage 74. Database 73 is set up so as to permit access to the records stored in data storage 74 as follows. A participant, say, 75, follows a channel to obtain a record stored in data storage 74. The channel is contained in a notice (e.g., an e-mail message) generated by the communication means 72. The channel leads to a specific record in database 73, which, in turn, points to the applicable record stored in data storage 74. A record in database 73 may also point to more than one stored record, for example, in a case in which the CCCM system informs the participant that there are several pieces of information intended for him/her; such a scenario may arise, for example, in the case in which a given user is a participant in more than one application or if several new pieces of information are present in a single application in which he/she is a participant. Following the channel would permit the participant to access any or all of the stored information records, in one or more applications, as desired by the participant. In one example implementation, the channel takes the participant to a list of his/her various applications or to such a list containing only those for which there is new information to be accessed.
The notice transmitted by communication means 72 may further contain information or flags relating to levels of urgency associated with the (various pieces of) information about which the notice is being sent; indication as to whether or not action is required; and the like.
Communication means 72 facilitates communication, via communication medium 77, with participants 75 and 76. Communication means 72 may include one or more mail servers, HTTP servers, narrowcasting means, broadcasting means, etc., according to the nature of communication medium 77. Furthermore, communication medium 77 may comprise more than one communication medium. For example, CCCM system 70 could transmit information to participants 75 and 76 via radio and could receive information from participants 75 and 76 via the Internet.
Suppose, for example, that a given participant, at participant site 68, receives notification that there is information for him/her stored in central storage 64. In an exemplary illustrative implementation, this notification has the form of a description of or short portion of the information and a channel, which for the purposes of this exemplary illustrative implementation, is a URL. If the participant elects to access the stored information, he/she clicks on the URL, and Internet-connected web browser 61 accesses HTTP server 62 and is allowed, by means of database 63 a of central agent 63, to access central storage 64 to obtain a record of information in, for example, a multi-participant discussion group. The database 63 a retrieves the record from central storage 64 and presents it in HTML format to HTTP server 62, which, in turn, transmits it through the Internet to the participant's web browser 61.
If the user clicks to respond to the information he/she has received from central storage 64, and to notify the author who made the previous comment of this new response, the mail sent to notify this previous author must contain a URL 63′ corresponding to the actual stored record corresponding to the response. The mail also contains some indication 64′ of the content of the response. Upon reading the e-mail in 66, following or clicking on the URL 63′ will retrieve the stored response record automatically from the central storage 64, after clearing applicable authentication procedures such as password clearance.
In a similar fashion, if software agent 63 were running overnight counting a user's number of unread messages in a bulletin board-style Web discussion from central storage 64, the agent's 63 e-mail report to the user 66 would contain a URL of a database record that corresponds to one or more of the unread messages. The e-mail report would also contain indicia 64′ of the contents of the unread messages. This would permit the recipient to follow or click on the URL to retrieve one or more of the unread message records automatically from central storage 64 after clearing any authentication procedures.
In the exemplary illustrative implementation of
In a variation on the exemplary illustrative implementations of
In a distributed implementation, information destined for a given participant, say participant 80, may be stored in storage 80 b, storage 81 b, or other storage facilities in the system. Suppose that participant 80 receives a message indicating that there is new information for his/her attention. Participant 80 then utilizes a channel included in the message to access an agent site, which may be 80 a, 81 a, or some other site (82), depending on the implementation. The agent site then performs the previously-described functions; however, if central storage is distributed, the database record accessed at the agent site will point to one or more different storage facilities. Access to remotely located storage facilities may be by direct access by the agent, or it may be by indirect access, through a remotely located agent (e.g., one collocated with the storage facility containing the desired information). Such a remotely located agent would contain a database record pointing to the desired information.
While the distributed schemes discussed above illustrate distribution of the central agent and/or the central storage among the participant sites, they may also be implemented in a distributed fashion at non-participant sites. For example, in one exemplary illustrative implementation, there are regional sites covering different geographic regions. The implementation may also be on a number of sites including both participant sites and non-participant sites.
In such distributed scenarios, the maintenance of up-to-date information in the various portions of the CCCM system is an important consideration. In particular, a given piece of information may be stored in more than one location. In an example illustrative implementation, information inputs stored in more than one location are synchronized with each other, either directly or via a central device. Such data synchronization may be done periodically or in real time, and it may be accomplished using any appropriate data synchronization technique.
It is apparent from these examples that the agent is interposed between the participants and the central storage, in contrast with conventional centripetal methods of collaboration. As a result the central storage need not be complete. Indeed, once an input has been pushed to all intended recipients, the storage could be purged, although in practice it may be preferable to keep a backup record of transactions in the group for at least a predetermined period (e.g., one month).
Similarly, in a case where multiple communication media 90 are capable of being used, central agent 71 is implemented such that it is capable of manipulating the information to accommodate the capabilities and capacity of each particular medium. For example, different computer networks may be used, each having a different capacity (bit rate). Central agent 71 is able to manipulate the information to be transferred over each network such that the information is transmitted at the capacity of the network. This may amount, for example, to transmitting at different bit rates on different networks or to transmitting only some (most significant) portion of the information.
In a list-server, participants sign up to join the group independently and can remove themselves at will. Thus, no member can control the presence of the others. The list is formed individually by the sign up of each recipient. According to a preferred exemplary illustrative implementation, in contrast, each participant can push a notice to any other person available on the Internet via an e-mail message, to select an individualized and personalized group without requiring routing through a central list-server. Moreover, the central storage according to the exemplary illustrative implementation can be used to provide a threaded and scrollable record of relevant inputs, as opposed to the excessive number of individual e-mail messages in a list-server, which are not threaded or scrollable. Also, list servers generally do not use a database. A distinctive aspect of the exemplary illustrative implementation is “pushing” the URL (or retrievable handle) of a database record that needs to be seen in order to present stored information to the user.
The pattern of pushing that is done may depend on any or all of the following factors:
In one preferred commercially viable exemplary illustrative implementation, a hypothetical group application includes participants 1, 2, 3 . . . n at n different locations. Each is given an e-mail notice of a group meeting, either asynchronous or scheduled at a particular time. At that time, or individually, they each re-open the e-mail message and follow a hyperlink that fires up a web browser and takes them directly to an e-meeting center, in this case a web page where they may converge. They provide passwords, if they have not already done so, and join.
For an on-demand conference, participants can read and post messages, read and post files, and publish and attend presentations and lectures. For a live conference, participants communicate and collaborate interactively in real time via video, audio, screen sharing, chat, whiteboard, and so on.
Several of the exemplary illustrative implementations described above describe the use of URLs as the channels sent as part of notifications; however, other types of channels may be used. For example, in computer applications, the channel may also take the form of a micro- or nano-http (web) server or a network socket connection. In other applications, the channel may take other forms, for example, a telephone call in an audio-based application (e.g., via telephone or wireless voice networks). To summarize, the channel may be any channel that can be used with the particular communication medium (or media) being use, and which is compatible with the application.
Modifications and variations of the above-described example implementations are possible without departing from the invention, as appreciated by those skilled in the art in light of the above teachings. It is therefore to be understood that, within the scope of the claims and their equivalents, the invention may be practiced otherwise than as specifically described.