Abstract:
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.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]     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. 
     
    
     FIELD  
       [0002]     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.  
       BACKGROUND  
       [0003]     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.  
         [0004]     The previous approaches taken in this field can be categorized in two different product groups:  
         [0005]     (1) Centripetal method: Examples of the use of this method include: IBM&#39;s Lotus Notes and Domino; Microsoft&#39;s Exchange and NetMeeting; Netscape&#39;s Virtual Office by Concentric; Radnet&#39;s Webshare; Novell&#39;s GroupWise; Thuridion&#39;s Crew; IntraACTIVE&#39;s In Tandem; Linkstar&#39;s HotOffice; Changepoint&#39;s Involv; Internet Media Inc.&#39;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.  
         [0006]     (2) Narrowcasting method: This method is exemplified in the following products: PointCast&#39;s Client and Server; Marimba&#39;s Castanet; Progressive Network&#39;s Real Clients and Servers; Microsoft&#39;s NetShow; Netscape&#39;s Browser and Media Server; Wayfarer&#39;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.  
         [0007]     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&#39;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.  
         [0008]     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.  
       GENERAL DEFINITIONS  
       [0009]     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.  
         [0010]     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.  
         [0011]     “Software” refers to prescribed rules to operate a computer. Examples of software include: software; code segments; instructions; computer programs; and programmed logic.  
         [0012]     A “computer system” refers to a system having a computer, where the computer comprises a computer-readable medium embodying software to operate the computer.  
         [0013]     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.  
         [0014]     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.  
       SUMMARY  
       [0015]     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&#39; sites. The centrifugal flow of the exemplary CCCM implementation is distinct from the current centripetal design of such products, and provides numerous advantages.  
         [0016]     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.  
         [0017]     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.  
         [0018]     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&#39;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.  
         [0019]     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.  
         [0020]     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.  
         [0021]     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.  
         [0022]     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&#39; predetermined criteria as to what will be received.  
         [0023]     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.  
         [0024]     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.  
         [0025]     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.  
         [0026]     In one exemplary illustrative non-limiting implementation, a system for communicating information among participants in a distributed application comprises: 
        for each participant, a peripheral device capable of transmitting and receiving information; and     a central agent comprising: 
            two-way links to the peripheral devices capable of receiving and transmitting information,     a notice generator,     a notice sender, and 
                a central storage medium able to store information inputs from participants, the central storage medium storing a first information input from an inputting participant directed to at least one receiving participant; the notice generator, responsive to said first information input, being able to generate a notice selectively for the at least one receiving participant and to push the notice to the notice sender, the notice comprising a channel to a memory location of said first information input in the central storage medium; and the notice sender, responsive to the notice pushed from the notice generator, being able to send the notice selectively to the peripheral devices of the receiving participant; whereby the receiving participant can access said first information input directly using the channel in the pushed notice; the central storage medium being further able to store a second information input from a participant in response to said first information input and to associate it with said first information input while subsequently retaining said first information input or modifying or deleting said first information input in accordance with said second information input; the notice generator, responsive to said second information input, being able to generate a second notice selectively directed to at least one other participant in said distributed application, which at least one other participant may or may not include said inputting participant, the second notice comprising a channel to a memory location of said second information input in the central storage medium, and said second notice being pushed to said notice sender; said notice sender, responsive to said second notice being pushed, being capable of sending said second notice to the peripheral devices of the at least one participant to whom the second notice is selectively directed; and the central storage medium being further able to store a third information input from a participant in response to said second information input and associate it with said first and second information inputs while subsequently retaining said first and second information inputs or modifying or deleting one or both of said first and second information inputs in accordance with said third information input.    
               
               
 
         [0033]     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&#39; sites. In some implementations in which the central storage medium is distributed, information stored in the various locations is synchronized.  
         [0034]     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.  
         [0035]     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&#39; 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.  
         [0036]     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.  
         [0037]     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.  
         [0038]     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.  
         [0039]     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.  
         [0040]     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.  
         [0041]     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: 
        providing a central device capable of receiving information from the peripheral devices and transmitting information to the peripheral devices,     linking the central device to the peripheral devices,     responsive to a first information input transmitted from the peripheral device of a first participant directed to at least one other participant, 
            centrally receiving and storing the first information input,     associating the first information input with the at least one other participant,     preparing a notice of the first information input for the at least one other participant, the notice comprising a channel to a memory location of the first information input, and     sending the notice to the peripheral device of the at least one other participant only if the at least one other participant is one to whom the associated information input is directed,    
            responsive to a second information input by the at least one other participant, in response to said notice, 
            centrally receiving, storing, and associating the second information input with the first information input, while retaining the first information input or modifying or deleting the first information input in accordance with the second information input,     preparing a second notice of the second information input directed to at least one other participant, which may or may not include said first participant, the second notice comprising a channel to a memory location of the second information input, and     sending the notice to the peripheral device of the at least one other participant only if the at least one other participant is one to whom the associated information input is directed, and    
            responsive to a third information input by the at least one other participant to whom said second notice was directed and in response to said second notice, 
            centrally receiving, storing, and associating the third information input with the first and second information inputs, while retaining the first and second information inputs or modifying or deleting one or both of the first and second information inputs in accordance with the third information input,     preparing a third notice of the third information input directed to at least one other participant, the third notice comprising a channel to a memory location of the third information input, and     sending the third notice to the peripheral device of the at least one other participant only if the at least one other participant is one to whom the associated information input is directed.    
               
 
         [0057]     In another exemplary implementation, a computer readable medium comprises a program for carrying out the method.  
         [0058]     Further objectives and advantages will become apparent from a consideration of the description and drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0059]     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:  
         [0060]      FIG. 1  illustrates an exemplary prior art model for centripetal communication and collaboration in a group;  
         [0061]      FIG. 2  illustrates an exemplary illustrative non-limiting centrifugal communication and collaboration method;  
         [0062]     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.  FIG. 3 -A shows the flow of information from the initial input by member P 1 .  FIG. 3 -B shows a response by member P 2  directed to member P 1 .  FIG. 3 -C shows a response and comment by member P 3 , directed to members P 1  and P 2 ;  
         [0063]     FIGS.  4 -A and  4 -B show flow charts for the events in a slower interaction among three individual members of a group.  FIG. 4 -A shows the flow of information received at separate times from each of the members P 1 -P 3 .  FIG. 4 -B shows the flow of information periodically pushed to the members;  
         [0064]      FIG. 5  depicts a general framework of an example non-limiting illustrative implementation;  
         [0065]      FIG. 6  is a flow chart of information flow in an example non-limiting illustrative system;  
         [0066]      FIG. 7  depicts a distributed implementation of CCCM according to an exemplary implementation; and  
         [0067]      FIG. 8  depicts an example non-limiting illustrative implementation in which various devices are used by various participants. 
     
    
     DETAILED DESCRIPTION  
       [0068]     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.  
         [0069]     In a prior art example shown in  FIG. 1 -A, an eight-member group is depicted as circles  1 - 8 , connected to central repository  10 . Each user must converge on the central repository  10  to obtain information. If a member does not converge, the member has no access to information that is contained in central repository  10 , has no knowledge of whether the information in repository  10  has been changed or updated, and has no way of knowing if any new information is relevant to that particular member. Convergence must be done on a “blind” basis, and is typically done periodically, such as every day or twice a day, whether needed or not. Central repository  10  is essentially a database, presenting all information and making it available in a standardized fashion to each member to access and review. The information may be filtered to the individual members, but it must all be stored centrally for such a system to operate effectively.  
         [0070]     In a schematic depiction of an example illustrative implementation of the technology herein, shown in  FIG. 2 , an eight member group is shown oriented around central core  20 . Each member has a unique flow of information sent to and received from the central core  20 , depicted as individual curved arrows  11 - 18 . Members are notified when relevant information is posted at the central core  20 , and may then retrieve the information knowingly. They need not converge blindly on the central core. In addition, because information is tailored and directed to individual members, the arrangement of information at the central core does not need to be a standardized database available to all members.  
         [0071]     Example implementations include the following.  
         [0072]     (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.  
         [0073]     (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.  
         [0074]     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.  
         [0075]     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.  
         [0076]     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.  
         [0077]     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&#39; 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.  
         [0078]      FIGS. 3 and 4  depict an e-mail driven exemplary illustrative implementation of a distributed discussion group according to an exemplary illustrative implementation. FIGS.  3 -A to  3 -C represent a responsive continuous interaction among three individual members of a group. Although the events are asynchronous, they may be relatively rapid. Throughout, the agent  35  identifies and pushes the appropriate URLs to the appropriate people. In  FIG. 3 -A, member Person  1 , identified as circle  31 , initiates a session by providing an initial input A in a peripheral device such as a personal computer, as identified by box  34 . In this example, input A is a question for members Person  2 , identified as  32 , and Person  3 , identified as  33 . The question could be “What is the status of Project X?” Agent  35  receives input A from member Person  1 , selects the members to whom the input is relevant, in this case Person  2  and Person  3 , and pushes and posts notice of activity with, for example, a hyperlink at the peripheral computers  36  and  37  for members Person  2  and Person  3 . In addition, the agent  35  stores input A in central storage  38  as record A.  
         [0079]     In  FIG. 3 -B, member Person  2  (box  32 ) receives notice A  36  as in the previous figure, and responds by clicking the hyperlink, box  40 . This brings input A directly to member Person  2  from storage  38 , and displays the question “What is the status of Project X?” as shown in box  41 . Member Person  2  provides a status report to Person  1 , which may include text, graphics, video, and audio, and inputs the report as input Response B, shown as box  42 . Agent  35  selects Person  1  as the relevant member, pushes and posts notice B with hyperlink shown as box  43  on the peripheral device of Person  1 , and stores input B as record B in central storage  38 .  
         [0080]     In  FIG. 3 -C, member Person  3  provides a response and comment directed to both of the other members. Person  3  responds to notice A by clicking the hyperlink, box  45 . This brings input A directly to Person  3  from the central database, and displays the question “What is the status of Project X?” as shown in box  46 . Member Person  3  provides a different status report, input C, and directed to both members Person  1  and Person  2 , shown as box  47 . Agent  35  selects members Person  1  and Person  2  as the relevant members, pushes and posts notice C with hyperlink shown as box  48  and  49  on the peripheral device of Person  1  and Person  2 , and stores input C as a record in central storage  38 .  
         [0081]     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  FIG. 4 -A, at time T 1 , member Person  1  submits input comment D, shown as box  5   1 . At time T 2 , Person  2  submits input comment E, shown as box  52 . At time T 3 , Person  3  submits input comment F, shown as box  53 . Each of inputs D, E, and F is intended for each of the other group members. As each of the inputs is received, agent  35  selects the intended recipients and stores the inputs in central storage  38  as records D, E, and F for periodic push and notification. The push period can be any desirable period, such as hourly, daily, or weekly. In some applications the push period may be minutes, seconds, or less.  
         [0082]     In  FIG. 4 -B, after the elapsed predetermined period, at time T 4  (not shown in the figure), such as the next day if the system is set for daily notification, agent  35  pushes and posts individualized notices at the peripheral devices of the members. Members do not receive notices of their own inputs. Notice  56  for Person  1  refers to inputs E and F by Persons  2  and  3 . Notice  57  for Person  2  refers to inputs D and F by Persons  1  and  3 . Notice  58  for Person  3  refers to inputs D and E by Persons  1  and  2 . If there are eight members of the group in this example, members  4 - 8  receive no notification, assuming they were not designated to receive any of the input comments D, E, and F. Thus, in this approach, members  1 - 3  are notified that there is information and are provided with a direct link to the central database to retrieve it. Other members do not need to take any action because there is no relevant new information for them, and they know that by the absence of a notice. In addition, the members for whom there is relevant information are not burdened by a constant flow of information, as with, for example, a list-server, and are shown only information relevant to them.  
         [0083]     In the examples shown in FIGS.  3 A-C and  4 A-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.  
         [0084]      FIG. 5  shows a basic framework according to an exemplary illustrative implementation. Shown are two participant sites  75  and  76 ; there may be more than two, as well. Participants  75  and  76  communicate, via a communication medium  77 , with the central CCCM system  70 . The central CCCM system comprises a central agent  71 . The central agent comprises, at least, communication means  72  and database  73 , which may be embodied as a relational database, an object-relational database, a flat-file database, or any other database system. CCCM system  70  further comprises data storage, which may comprise any computer-readable medium.  
         [0085]     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.  
         [0086]     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.  
         [0087]     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.  
         [0088]      FIG. 6  shows an exemplary non-limiting implementation of a software structure. In particular, there are three primary components to the system in the exemplary illustrative implementation shown: central site  67 , participant site  68 , and a communication network, exemplified by the Internet in  FIG. 6 . Central site  67  includes implementations of HTTP server  62  (which may comprise plural HTTP servers), central agent  63 , and an SMTP server  65 , as well as including central storage  64 . This exemplary illustrative implementation uses SMTP engine  65  of a mail server as the notice sender to perform an e-mail push. Central agent  63  includes a database  63 a (which may be a relational database, an object-relational database, a flat-file database, or any other kind of database) and a notifier  63 b. Centrifugal access programming for central agent  63  may be written according to conventional programming principles, and may be provided by a “middleware” product such as Radnet&#39;s Webshare (Cambridge, Mass.), Allaire&#39;s ColdFusion (Cambridge, Mass.), SilverStream&#39;s Web Application Platform (Irvine Calif.), or BlueStone&#39;s Sapphire/Web (Mount Laurel, N.J.); such programming implements database  63   a  and notifier  63   b . A given participant site  68  includes implementations of web browser  61  and e-mail client  66 .  
         [0089]     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&#39;s web browser  61 .  
         [0090]     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.  
         [0091]     In a similar fashion, if software agent  63  were running overnight counting a user&#39;s number of unread messages in a bulletin board-style Web discussion from central storage  64 , the agent&#39;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.  
         [0092]     In the exemplary illustrative implementation of  FIG. 6 , the interface between HTTP server  62  and central agent  63  may utilize one or more of the following: CGI (Common Gateway Interface); ISAPI (Internet Server Application Programming Interface (by Microsoft)), and NSAPI (Netscape Server Application Programming Interface). These are not the sole options for this software interface, but they are merely indicative of a particular implementation.  
         [0093]     In a variation on the exemplary illustrative implementations of  FIGS. 5 and 6 , the central agent and/or the central storage are collocated at single participant site.  
         [0094]     While  FIGS. 5 and 6  depict the CCCM system in a centralized form, it is not necessarily the case that it is centralized.  FIG. 7  depicts a scenario in which a CCCM system is implemented in distributed or semi-distributed form. As shown in  FIG. 7 , the central agent and the central storage may be implemented in a distributed fashion, at two or more participant sites, e.g.,  80  and  81 ; such distributed implementations are shown as blocks  80   a ,  80   b ,  81   a , and  81   b . The CCCM system may also have some of its functionality implemented in a centralized fashion, as shown in block  82 .  
         [0095]     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.  
         [0096]     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.  
         [0097]     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.  
         [0098]     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).  
         [0099]      FIG. 8  depicts another example illustrative implementation. In this exemplary illustrative implementation, different devices  91 - 94  are used to interact with CCCM system  70  via one or more communication media  90 . To accommodate such diverse devices, central agent  71  is implemented such that it is capable of manipulating the information to be sent to such a device according to the capabilities and capacities of the device. Suppose, for example, that a particular participant wishes to access a particular information record that contains graphics. If the participant is using, for example, a graphics-capable computer  91 , central agent  71  will transmit the graphics. However, should the participant be using a device only capable of alphanumeric display, central agent  71  will either not send the graphical portion of the information or will adapt it for alphanumeric display. Similar manipulation may be performed for audio, alphanumerics, or other information, according to the participant&#39;s particular device. In a preferred exemplary illustrative implementation, such manipulation is performed automatically by central agent  71 ; however, in another exemplary illustrative implementation, central agent  71  is implemented so as to permit participants to select data formats, as desired, in addition to or instead of the manipulation being performed automatically.  
         [0100]     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.  
         [0101]     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.  
         [0102]     The pattern of pushing that is done may depend on any or all of the following factors: 
        (1) the list of people identified by the inputting person;     (2) if the people identified are not already members of the group, whether they join the group;     (3) whether there has been new activity relevant to a particular member;     (4) whether there has been a response to a particular input;     (5) a predetermined update frequency.        
 
         [0108]     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.  
         [0109]     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.  
         [0110]     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.  
         [0111]     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.