U.S. patent application number 10/887326 was filed with the patent office on 2006-04-27 for group communication and collaboration method.
Invention is credited to Theodore B. Achacoso, D. Wayne Silby.
Application Number | 20060090013 10/887326 |
Document ID | / |
Family ID | 32772376 |
Filed Date | 2006-04-27 |
United States Patent
Application |
20060090013 |
Kind Code |
A1 |
Achacoso; Theodore B. ; et
al. |
April 27, 2006 |
Group communication and collaboration method
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.
Inventors: |
Achacoso; Theodore B.;
(Washingon, DC) ; Silby; D. Wayne; (Washington,
DC) |
Correspondence
Address: |
NIXON & VANDERHYE, PC
901 NORTH GLEBE ROAD, 11TH FLOOR
ARLINGTON
VA
22203
US
|
Family ID: |
32772376 |
Appl. No.: |
10/887326 |
Filed: |
July 9, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09709441 |
Nov 13, 2000 |
6772229 |
|
|
10887326 |
Jul 9, 2004 |
|
|
|
09041599 |
Mar 13, 1998 |
6161149 |
|
|
09709441 |
Nov 13, 2000 |
|
|
|
Current U.S.
Class: |
710/4 |
Current CPC
Class: |
G06Q 10/10 20130101;
H04L 12/1895 20130101; H04L 69/329 20130101; H04L 67/26 20130101;
H04L 67/02 20130101 |
Class at
Publication: |
710/004 |
International
Class: |
G06F 3/00 20060101
G06F003/00 |
Claims
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 claim 1 wherein said sending comprises pushing
said resource locator out to said plural group members.
3. The method of claim 1 wherein said resource locator comprises a
link.
4. The method of claim 1 wherein said resource locator comprises a
channel.
5. The method of claim 1 wherein said resource locator comprises a
URL.
6. The method of claim 1 wherein said resource locator is voice
activated.
7. The method of claim 1 further including storing said
contributions.
8. The method of claim 1 further including storing said dynamically
changed content for later access by said group members.
9. The method of claim 1 wherein said access enabling includes
delivering streaming information.
10. The method of claim 1 wherein said access enabling includes
delivering streaming audio and/or video.
11. The method of claim 1 wherein said customizing includes
controlling transmission rates depending on network access
capabilities of said group members.
12. The method of claim 1 wherein said above-mentioned steps are
performed by a central agent.
13. The method of claim 1 further including granting different
levels of privilege/access to said dynamically changed content to
different group members.
14. The method of claim 1 wherein said customizing includes
customizing presentation of said dynamically changed content for
presentation on a PDA.
15. The method of claim 1 wherein said customizing includes
customizing presentation of said dynamically changed content for
presentation on a wireless telephone.
16. The method of claim 1 wherein said customizing includes
customizing presentation of said dynamically changed content
according to capabilities of a peripheral device a group member is
using to access said dynamically changed content.
17. The method of claim 1 wherein said method provides distributed
discussion.
18. The method of claim 1 wherein said method provides distributed
scheduling.
19. The method of claim 1 wherein said method provides distributed
contact management.
20. The method of claim 1 wherein said method provides distributed
document management.
21. The method of claim 1 wherein said method provides distributed
project management.
22. The method of claim 1 wherein said method further includes
providing a distributed discussion template.
23. The method of claim 1 wherein said method further includes
providing a distributed scheduling template.
24. The method of claim 1 wherein said method further includes
providing a distributed contact management template.
25. The method of claim 1 wherein said method further includes
providing a distributed document management template.
26. The method of claim 1 wherein said method further includes
providing a distributed project management template.
27. The method of claim 1 further including distributing storage of
said dynamically changed content among a plurality of computing
devices.
28. The method of claim 27 wherein said computing devices are
associated with respective members of said group.
29. The method of claim 1 wherein said sending includes emailing
said resource locator to members of said group without including
said dynamically changed content within said email.
30. The method of claim 29 further including said group members
using said email to access said dynamically changed content.
31. The method of claim 1 wherein said dynamically changing
includes continuously changing said content over time.
32. The method of claim 1 further including allowing said group
members to create and continuously modify said content.
33. The method of claim 1 further including dynamically changing
said content with contributions of said group members and
distributing said changed content out to said group members.
34. The method of claim 1 further including modifying or deleting
said content in response to additional contributions from said
group members.
35. The method of claim 1 wherein said resource locator takes a
group member to a list containing only new content said group
member has not previously accessed.
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 claim 37 wherein said notifier pushes said
resource locator out to said plural group members.
39. The system of claim 37 wherein said resource locator comprises
a link.
40. The system of claim 37 wherein said resource locator comprises
a channel.
41. The system of claim 37 wherein said resource locator comprises
a URL.
42. The system of claim 37 wherein said resource locator is voice
activated.
43. The system of claim 37 wherein said storage stores said
dynamically changed content for later access by said group
members.
44. The system of claim 37 wherein said server delivers streaming
information.
45. The system of claim 37 wherein said server delivers streaming
audio and/or video.
46. The system of claim 37 wherein said server selects a data
transmission rate depending on network access capabilities of said
group members.
47. The system of claim 37 wherein said notifier and storage
together provide a central agent.
48. The system of claim 37 wherein said server grants different
levels of privilege/access to said dynamically changed content to
different group members.
49. The system of claim 37 wherein said server customizes
presentation of said dynamically changed content for presentation
on a PDA.
50. The system of claim 37 wherein said server customizes
presentation of said dynamically changed content for presentation
on a wireless telephone.
51. The system of claim 37 wherein said server customizes
presentation of said dynamically changed content according to
capabilities of a peripheral device a group member is using to
access said dynamically changed content.
52. The system of claim 37 wherein said system provides distributed
discussion.
53. The system of claim 37 wherein said system provides distributed
scheduling.
54. The system of claim 37 wherein said system provides distributed
contact management.
55. The system of claim 37 wherein said system provides distributed
document management.
56. The system of claim 37 wherein said system provides distributed
project management.
57. The system of claim 37 wherein said system delivers a
distributed discussion template.
58. The system of claim 37 wherein said system delivers a
distributed scheduling template.
59. The system of claim 37 wherein said system delivers a
distributed contact management template.
60. The system of claim 37 wherein said system delivers a
distributed document management template.
61. The system of claim 37 wherein said system delivers a
distributed project management template.
62. The system of claim 37 wherein said storage is distributed
among a plurality of computing devices.
63. The system of claim 62 wherein said computing devices are
associated with respective members of said group.
64. The system of claim 37 wherein said notifier has an email
application that emails said resource locator to members of said
group without including said dynamically changed content within
said email.
65. The system of claim 64 further including said group members use
of said email to access said dynamically changed content.
66. The system of claim 37 wherein said storage continuously
changes said content over time.
67. The system of claim 37 wherein said storage permits said group
members to create and continuously modify said content.
68. The system of claim 37 wherein said storage dynamically changes
said content with contributions of said group members and
distributes said changed content out to said group members.
69. The system of claim 37 wherein said storage modifies or deletes
said content in response to additional contributions from said
group members.
70. The system of claim 37 wherein said resource locator takes a
group member to a list containing only new content said group
member has not previously accessed.
71. The system of claim 37 wherein said storage includes a database
that accesses a further store, said further store storing said
dynamically changed content, said database correlating said
resource locator with said dynamically changed content stored by
said further store.
72. The system of claim 71 wherein said database permits a resource
locator to access content changed after said resource locator was
distributed.
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 claim 73 wherein said agent includes a database
that correlates previously distributed resource locators with
dynamically changed contributions.
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 claim 75 wherein said agent includes a database
that correlates previously distributed resource locators with
dynamically changed contributions within said store.
76. The method of claim 1 wherein said access enabling includes
authentication methods.
77. The method of claim 76 wherein said authentication methods
include use of passwords.
78. The system of claim 37 wherein said access enabling includes
authentication methods.
79. The system of claim 78 wherein said authentication methods
include use of passwords.
80. The method of claim 1 wherein said automatically customizing
presentation includes delivering one or more scrollable web
pages.
81. The system of claim 37 wherein said server delivers one or more
scrollable web pages.
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'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.
[0006] (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.
[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'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'
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'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' 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: [0027] for each participant, a
peripheral device capable of transmitting and receiving
information; and [0028] a central agent comprising: [0029] two-way
links to the peripheral devices capable of receiving and
transmitting information, [0030] a notice generator, [0031] a
notice sender, and [0032] 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'
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' 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: [0042] providing a central device
capable of receiving information from the peripheral devices and
transmitting information to the peripheral devices, [0043] linking
the central device to the peripheral devices, [0044] responsive to
a first information input transmitted from the peripheral device of
a first participant directed to at least one other participant,
[0045] centrally receiving and storing the first information input,
[0046] associating the first information input with the at least
one other participant, [0047] 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 [0048] 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, [0049] responsive to a second information input
by the at least one other participant, in response to said notice,
[0050] 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,
[0051] 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
[0052] 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
[0053] 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, [0054] 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, [0055] 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 [0056] 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.sub.1. FIG. 3-B shows a response by
member P.sub.2 directed to member P.sub.1. FIG. 3-C shows a
response and comment by member P.sub.3, directed to members P.sub.1
and P.sub.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.sub.1-P.sub.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' 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.sub.1, member
Person 1 submits input comment D, shown as box 5 1. At time
T.sub.2, Person 2 submits input comment E, shown as box 52. At time
T.sub.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.sub.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. 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.
[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 63a (which may be a relational database, an
object-relational database, a flat-file database, or any other kind
of database) and a notifier 63b. 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's Webshare (Cambridge, Mass.), Allaire's
ColdFusion (Cambridge, Mass.), SilverStream's Web Application
Platform (Irvine Calif.), or BlueStone's Sapphire/Web (Mount
Laurel, N.J.); such programming implements database 63a and
notifier 63b. 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 63a 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 63a
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.
[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'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.
[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 80a, 80b,
81a, and 81b. 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
80b, storage 81b, 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 80a, 81a, 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'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: [0103] (1) the list of people identified
by the inputting person; [0104] (2) if the people identified are
not already members of the group, whether they join the group;
[0105] (3) whether there has been new activity relevant to a
particular member; [0106] (4) whether there has been a response to
a particular input; [0107] (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.
* * * * *