|
Claims  |
|
|
We claim:
1. In a computer conferencing system having a plurality of participants
coupled by a communication medium, each participant of said plurality of
participants having a meeting manager, said meeting manager comprising:
means for collecting public meeting information generated by any of said
plurality of participants, said public meeting information including at
least one public page of annotations;
means for collecting private meeting information from a local participant
in which said meeting manager is resident, said private meeting
information being different from said public meeting information, said
private meeting information not accessible to said plurality of conference
participants other than said local participant, said private meeting
information including at least one private page of annotations;
means for selectively linking said private page with said public page, said
private page being implicitly accessed when said linked public page is
explicitly accessed; and
means for selectively activating a linked mode or a non-linked mode, said
means for selectively linking only linking said private page with said
public page when said linked mode is active, said private page being
unlinked with said public page when said non-linked mode is active.
2. The meeting manager as claimed in claim 1 wherein said means for
selectively linking further includes means for linking said private page
with said public page upon a transition from a non-linked mode to a linked
mode.
3. The meeting manager as claimed in claim 1 wherein said means for
selectively linking further includes means for unlinking said private page
from said public page upon a transition from a linked mode to a non-linked
mode.
4. In a computer conferencing system having a plurality of participants
coupled by a communication medium, each participant of said plurality of
participants having a meeting manager, said meeting manager comprising:
means for collecting public meeting information generated by any of said
plurality of participants, said public meeting information including at
least one public page of annotations;
means for collecting private meeting information from a local participant
in which said meeting manager is resident, said private meeting
information being different from said public meeting information, said
private meeting information not accessible to said plurality of conference
participants other than said local participant, said private meeting
information including at least one private page of annotations;
means for selectively linking said private page with said public page, said
private page being implicitly accessed when said linked public page is
explicitly accessed; and
means for creating a virtual private page when said public page is not
linked with said private page, said virtual page not containing
annotations.
5. In a computer conferencing system having a plurality of participants
coupled by a communication medium, each participant of said plurality of
participants having a meeting manager, said meeting manager comprising:
means for collecting public meeting information generated by any of said
plurality of participants, said public meeting information including at
least one public page of annotations;
means for collecting private meeting information from a local participant
in which said meeting manager is resident, said private meeting
information being different from said public meeting information, said
private meeting information not accessible to said plurality of conference
participants other than said local participant, said private meeting
information including at least one private page of annotations;
means for selectively linking said private page with said page, said
private page being implicitly accessed when said linked public page is
explicitly accessed;
means for maintaining a private page list representing a plurality of
private pages, said means for maintaining a private page list further
including means for linking said plurality of private pages together in
said private page list;
means for creating a virtual private page when said public page is not
linked with any of said plurality of private pages of said private page
list, said virtual page not containing annotations; and
means for linking said virtual page with said private page list when an
annotation is added to said virtual page.
6. In a computer conferencing system having a plurality of participants
coupled by a communication medium, a process for linking public and
private pages comprising the steps of:
collecting public meeting information generated by any of said plurality of
participants, said public meeting information including at least one
public page of annotations;
collecting private meeting information from a local participant in which a
meeting manager is resident, said private meeting information being
different from said public meeting information, said private meeting
information not accessible to said plurality of conference participants
other than said local participant, said private meeting information
including at least one private page of annotations;
selectively linking said private page with said public page, said private
page being implicitly accessed when said linked public page is explicitly
accessed; and
selectively activating a linked mode or a non-linked mode, said step of
selectively linking only being performed when said linked mode is active,
said private page being unlinked with said public page when said
non-linked mode is active.
7. The process as claimed in claim 6 wherein said step of selectively
linking further includes a step of linking said private page with said
public page upon a transition from a non-linked mode to a linked mode.
8. The process as claimed in claim 6 wherein said step of selectively
linking further includes a step of unlinking said private page from said
public page upon a transition from a linked mode to a non-linked mode.
9. In a computer conferencing system having a plurality of participants
coupled by a communication medium, a process for linking public and
private pages comprising the steps of:
collecting public meeting information generated by any of said plurality of
participants, said public meeting information including at least one
public page of annotations;
collecting private meeting information from a local participant in which a
meeting manager is resident, said private meeting information being
different from said public meeting information, said private meeting
information not accessible to said plurality of conference participants
other than said local participant, said private meeting information
including at least one private page of annotations;
selectively linking said private page with said public page, said private
page being implicitly accessed when said linked public page is explicitly
accessed; and
creating a virtual private page when said public page is not linked with
said private page, said virtual page not containing annotations.
10. In a computer conferencing system having a plurality of participants
coupled by a communication medium, a process for linking public and
private pages comprising the steps of:
collecting public meeting information generated by any of said plurality of
participants, said public meeting information including at least one
public page of annotations;
collecting private meeting information from a local participant in which a
meeting manager is resident, said private meeting information being
different from said public meeting information, said private meeting
information not accessible to said plurality of conference participants
other than said local participant, said private meeting information
including at least one private page of annotations;
selectively linking said private page with said public page, said private
page being implicitly accessed when said linked public page is explicitly
accessed:
maintaining a private page list representing a plurality of private pages,
said step of maintaining a private page list further including a step of
linking said plurality of private pages together in said private page
list;
creating a virtual private page when said public page is not linked with
any of said plurality of private pages of said private page list, said
virtual page not containing annotations; and
linking said virtual page with said private page list when an annotation is
added to said virtual page. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of networked computer systems.
Specifically, the present invention relates to the field of sharing
information in a computer conferencing system
2. Description of Related Art
A set of personal computers interconnected on a network can be effectively
used as a data conferencing system. In such a system, each conference
participant typically comprises a personal computer user having a
computer, a display screen, a computer network interface and typically a
mouse or cursor control device. Conference participants is are linked
together by a computer network. This network may comprise either a
hardwired local area network (LAN) such as Ethernet, a telephone modem
link or other conventional data communications network. Because the
conference participants are linked via a computer network, the
participants do not need to be located in the same physical space. Rather,
an effective conference may be carried out as participants view common
information on their local display screens and manipulate information
using their local cursor control devices or other input devices.
Several problems are present in these prior art conferencing systems. In a
typical conferencing application, a group of conference participants
linked via a network share common information pertaining to a particular
meeting or topic under discussion. By sharing information between
conference participants, each participant is able to view and manipulate
the information dispersed during the meeting. Immediately after a meeting
is initiated, a pool of information collected during the meeting begins to
accumulate. As each conference participant makes modifications or
additions to this pool of meeting information, the individual
contributions must be circulated around to the other conference
participants so that each participant has a complete and up-to-date copy
of the meeting information. It will be appreciated that maintaining
synchronization and currency of the meeting information among all
conference participants is a difficult task and may involve the transfer
of large amounts of information. This task is complicated by the fact that
during the course of the meeting, individual conference participants may
choose to create their own independent private pool of information that
relates in some way to the meeting or topic under discussion. As is the
case during a face-to-face meeting, some information is shared among the
meeting participants and other information or notes are kept private to a
particular participant. Prior art conferencing systems have been unable to
provide a means for maintaining private conference information.
It is a further problem in prior art conferencing systems that private
information cannot be linked to public conference information in some
meaningful way. In a typical conferencing scenario, an individual
conference participant may take private notes that relate to the public
subject matter under discussion at the conference. Thus, it is convenient
to associate or link private notes with corresponding public conference
subject matter. Prior art systems have been unable to provide a means for
linking public and private information in a conferencing system.
Thus, a better method and apparatus for linking public and private
information in a conferencing system is needed.
SUMMARY AND OBJECTS OF THE PRESENT INVENTION
The present invention is an apparatus and method for linking public and
private pages in a conferencing system. In a computer conferencing system
having a plurality of participants coupled by a communication medium, a
process is disclosed for linking public and private pages. This process
comprises the steps of: 1) collecting public meeting information generated
by any of the plurality of participants, the public meeting information
including at least one public page of annotations; 2) collecting private
meeting information from a local participant in which the meeting manager
is resident, the private meeting information being different from the
public meeting information, the private meeting information not accessible
to participants of the plurality of conference participants other than the
local participant, the private meeting information including at least one
private page of annotations; and 3) selectively linking the private page
with the public page, the private page being implicitly accessed when the
linked public page is explicitly accessed. The process of the present
invention further includes the steps of: 1) maintaining a public page list
representing a plurality of public pages, the step of maintaining a public
page list further including a step of linking the plurality of public
pages together in the public page list; 2) maintaining a private page list
representing a plurality of private pages, the step of maintaining a
private page list further including a step of linking the plurality of
private pages together in the private page fist; and 3) linking pages of
said public page list with pages of said private page list.
It is therefore an advantage of the present invention to provide an
apparatus and method for linking public and private pages in a
conferencing system. It is a further advantage of the present invention to
provide a separate display screen area for public and private information.
It is a further object of the present invention that annotations or
objects created on a display screen are either automatically transferred
to other conference participants or kept private as solely determined by
the screen area in which the annotation or object is placed on the display
screen. It is a further advantage of the present invention to provide a
means for linking public and private pages together. It is a further
advantage of the present invention to provide a means for linking and
unlinking private and public pages.
These and other advantages of the present invention are fully described in
the following detailed description of the preferred embodiment.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating the computer system hardware used in
the preferred embodiment of the present invention.
FIG. 2 illustrates a typical screen display provided in a convention
computer system.
FIG. 3 illustrates a conventional computer system network having three
independent computer systems interconnected on a communication medium.
FIG. 4 illustrates the screen display provided by the preferred embodiment
of the present invention. This screen display illustrates the public and
private workspaces of the present invention.
FIG. 5 illustrates a set of three networked computer users in a
conferencing situation, each having public and private pages displayed on
their systems.
FIG. 6 illustrates a block diagram showing the basic architecture of the
software of the present invention.
FIG. 7 illustrates a typical conferencing network comprising two conference
participants.
FIG. 8 illustrates several information components manipulated by the
present invention.
FIG. 9 illustrates the components of pages as manipulated in the present
invention.
FIGS. 10-22 illustrate the manipulation of pointers and links between pages
in the public and private page lists.
FIGS. 23-40 are flowcharts illustrating the processing logic of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The present invention is an apparatus and method for linking public an
private pages in a conferencing system. In the following detailed
description, numerous specific details are set forth in order to provide a
thorough understanding of the present invention. However, it will be
apparent to one of ordinary skill in the art that these specific details
need not be used to practice the present invention. In other instances,
well known structures, interfaces and processes have not been shown in
detail in order not to unnecessarily obscure the present invention.
Referring now to FIG. 1, a block diagram of the computer system hardware
used in the preferred embodiment is illustrated. The computer system used
in the preferred embodiment comprises a Bus 100 for communicating
information between computer system components. These components coupled
to Bus 100 include Processor 101. In the preferred embodiment, Processor
101 is an i486 or Pentium brand microprocessor manufactured by Intel
Corporation, Santa Clara, Calif. The i486 and Pentium marks are trademarks
of Intel Corporation. Other system components include Random Access Memory
(RAM) 102, Read Only Memory (ROM) 103, and mass storage device or disk
drive 104. The computer system of the preferred embodiment also includes
display device 105 coupled to the Bus 100 for displaying information to a
computer user, an alphanumeric input device 106 coupled to the Bus 100 for
communicating information and command selections to the Processor 101, a
pointing device or cursor control device 107 coupled to the Bus 100 for
communicating information and command selections to Processor 101, and a
signal generation device 112 coupled to the Bus 100 for communicating
command selections to the Processor 101. Display device 105 may be a
liquid crystal device, cathode ray tube, or other suitable display device.
Alphanumeric input device 106 is typically an alphanumeric or function key
keyboard. Pointing device or cursor control device 107 is typically a
mouse or trackball device allowing the computer user to dynamically signal
the two dimensional movement of a visible symbol (i.e. cursor) on the
display screen of display device 105. Many implementations of the cursor
control device 107 are well known in the art, including trackball, mouse,
joystick, or special keys on the alphanumeric input device 106 capable of
signaling movement in a given direction. Signal generation device 112 is
typically implemented as a button or switch located on or near the cursor
control device 107. The physical proximity of cursor control device 107
and signal generation device 112 allows a user to manipulate both devices
simultaneously with one hand. The signal generation device may be operated
between two control states: an active control state typically initiated by
depression of a mouse button, and an inactive control state typically
initiated by releasing the mouse button.
The computer system used in the preferred embodiment also includes a
communication interface 108. Communication interface 108 is coupled to
communication medium 110. Communication interface 108 provides a means for
the computer system to communicate with a network of other computer
systems. A variety of other networks are well known in the art. These
communication media 110 include well known Local Area Networks (LAN) such
as Ethernet, Wide Area Networks (WAN), telephone modem links, or other
well known and conventional computer networking technology. The
configuration and interconnection of computer system components as
illustrated in FIG. 1 is well known to those of ordinary skill in the art.
Referring now to FIG. 2, a screen display 210 on a conventional computer
system is illustrated. In addition, a cursor control device 207 (i.e.
mouse) and signal generation device 209 (mouse button) is illustrated.
Conventional screen display 210 comprises a displayed set or menu of
function or command selections 214 displayed across the top of the display
screen. In addition, tool selections 222 are displayed along a left hand
edge of the display screen. Vertical scroll bar 216 and horizontal scroll
bar 218 is also provided. A status line 220 provides a display region for
various system status messages. This typical screen display 210 and
corresponding user interface functionality is available in the prior art
from various sources including the Windows operating system developed by
Microsoft Corporation of Redmond, Washington, or various operating systems
and applications running on the Apple Macintosh brand computer systems
manufactured by Apple Computer, Inc. of Cupertino, Calif. Microsoft is a
trademark of Microsoft, Inc. Apple and Macintosh are trademarks of Apple
Computer, Inc.
Screen display 210 includes an application workspace 212 in which a user
may draw images or type text using one of tools 222. In addition, a cursor
symbol 224 is displayed and responsive to the movement to cursor control
device 207. Cursor 224 provides a means for pointing to various regions on
display screen 210. Again, the use of cursor symbol 224 is well known to
those of ordinary skill in the art.
Referring now to FIG. 3, a conventional computer network or conferencing
system is illustrated. This sample conferencing system includes three
computer systems, 301, 302 and 303, all coupled via communication medium
316. As described earlier, these computer systems, 301, 302 and 303, and
the communication medium 316 over which they communicate are well known to
those of ordinary skill in the art. Conventional computer system 301
includes a screen display 310, cursor control device 350, and mouse button
352. Cursor control device 350 is used to manipulate cursor symbol 330 on
display 310. Because cursor 330 of display 310 is manipulated using cursor
control device 350 of the same computer system 301, cursor 330 is called
the local cursor of computer system 301. Any arbitrary object 332 may be
displayed on display screen 310. Similarly, computer system 302 comprises
display screen 312, cursor control device 354, and signal generation
device 356. Local cursor 334 of display screen 312 is controlled by cursor
control device 354. Computer system 303 comprises display screen 314,
cursor control device 358, and signal generation device 360. Local cursor
338 of the display screen 314 is controlled via cursor control device 358.
Prior art networking systems provide means for transferring objects from
one computer system to another across communication medium 316. For
example, object 332 displayed on display 310 may be transferred via
interface 318 across communication medium 316 to computer system 302
and/or computer system 303. In this manner, object 332 may be displayed on
display 312 as object 336 and/or displayed on display 314 as object 340.
Thus, information may be shared among computer systems 301, 302, and 303.
Typically, cursors 330, 334, and 338 act as local cursors to the computer
systems on which they are displayed.
Referring now to FIG. 4, a screen display 410 provided in the preferred
embodiment of the present invention is illustrated. Screen display 410
includes prior art elements such as the function or command menu 414, the
tool palette 422, the vertical scroll bar 416, the horizontal scroll bar
418, and optional status line 420. The preferred embodiment also uses
cursor control device 407 and signal generation device or mouse button
409. In a unique diversion from the prior art, the present invention
bisects the application workspace into application public workspace 412
and application private workspace 413 separated by line 415. Application
public workspace 412 defines a region of display 410 that is visible to
other conference participants on a network, such as the one illustrated in
FIG. 3 and FIG. 4. A user of computer system 405 can select tools from
tool palette 422 and draw or type annotations or objects within
application public workspace 412. Any annotations or objects drawn in this
region are transmitted across the conferencing network as data messages.
In this manner, annotations or objects drawn on a first conference
participant display are visible to other conference participants on the
network. Scroll bars 416 and 418 may be used in a conventional manner to
select in two dimensions the portion of application public workspace 412
visible within display 410. The border 415 between application public
workspace 412 and application private workspace 413 may be vertically
moved using cursor control device 407 and signal generation device 409 in
order to selectively modify the size of public workspace 412 and private
workspace 413. In the preferred embodiment, local cursor 424 is positioned
using cursor control device 407 over border line 415. Signal generation
device 409 may then be activated to initiate movement of border 415. With
signal generation device 409 activated (i.e. depressed), cursor 424 is
moved vertically using cursor control device 407. As this movement occurs
with signal generation device 409 activated, border 415 is moved
vertically with cursor 424 until signal generation device 409 is
deactivated. At this point, border 415 is left at the cursor position
where signal generation device 409 was deactivated. Border 415 may be
moved across the entire vertical range of the application workspace within
display 410. Application private workspace 413 comprises a region of
display 410 wherein objects or annotations created are not transmitted to
other conference participants. Annotations and objects created in
application private workspace 413 using tools of tool palette 422 are only
visible on the local display 410 of the computer system 405 on which the
private annotations or objects were created. Thus, by creating annotations
or objects in either the public workspace 412 or private workspace 413, a
user can quickly discern if the objects or annotations created will be
visible to other conference participants.
Both application public workspace area 412 and application private
workspace are 413 are further partitioned into a plurality of pages. Each
page is an instance of data to be displayed within a given workspace. Each
page has a corresponding unique page identifier. A public page is a page
displayed in application public workspace 412 wherein the contents of the
page are transmitted to other conference participants. There is always one
or more public pages available to a user. Referring to FIG. 4, public page
tabs 430 provide a means for selecting a desired page within application
public workspace 412. By positioning a cursor within tab areas defined
within public tabs 430, a particular public page can be selected.
A private page is a page displayed within application private workspace
413. The contents of a private page are available only locally to the
local user. The contents of a private page are not transmitted to other
conference participants. Referring to FIG. 4, private page tabs 432
provide a means for selecting a particular private page of application
private workspace 413. By positioning a cursor within the tab areas
defined for private tabs 432, a particular private page can be selected
and brought into view.
A page list is maintained for both application public workspace 412 and
application private workspace 413. The page list is a list of all the
pages that exist within a given workspace. There is a public page list and
a private page list. The order of the public page list is the page order.
The private page order is dependent on whether a linked page mode or a
non-linked page mode has been previously selected. In linked mode, every
public page that exists has a linked private page associated with it. For
each public page, the linked private page is unique and is displayed with
the corresponding public page. If there is no data in a private page, a
virtual private page is created until data (i.e. an annotation) is added
to the page. A virtual page is a placeholder for a real page and is
maintained separately from either the private page list or the public page
list. Once data is entered into a virtual page, a real private page is
created and inserted into the current private page list. In a linked mode,
the newly created private page is linked to a corresponding public page.
In a non-linked mode, the public and private pages are not associated. The
public pages are available for display in order as determined by the
public page list. In addition, all private pages are available in an order
determined by the private page list.
Referring now to FIG. 5, an example of a screen display illustrates the
present invention as used in a conferencing environment. As shown in FIG.
5, three conference participants, 801, 802 and 803, are illustrated as
coupled via communication medium 816. Each conference participant
comprises a display, a cursor control device and a signal generation
device or mouse button. In the example illustrated in FIG. 5, conference
participant 801 is displaying an object or annotation 830 within its
application public workspace 850. Because this object resides in the
application public workspace 850, a corresponding object or annotation 834
appears in the application public workspace 854 of conference participant
802. Similarly, object 833 appears in the application public workspace 858
of conference participant 803. Each conference participant may select a
particular page for view within its application public workspace. For
example, public tabs 862 are used to select a particular public page for
display by conference participant 801.
Each conference participant also has a private workspace, the contents of
which are not displayed to other conference participants. For example,
object or annotation 832 is displayed within application private workspace
852 on the display screen of conference participant 801. A corresponding
annotation or object is not displayed on the display screen of other
conference participants. Similarly, other conference participants may
display their own private information within their own application private
workspace. As with the application public workspace, a particular page of
the application private workspace may be selected using page tabs. For
example, page tabs 864 can be used to select a particular private page for
view by conference participant 801.
Referring now to FIG. 6, a block diagram of the software architecture 605
of the present invention is illustrated. The present invention comprises
software operably disposed within random access memory (RAM) 102 and
executed by processor 101. The software 605 of the present invention
comprises a meeting manager component 610, a human interface component
612, a Communications Interface (CI) component 616, and an optional mass
storage interface component 614. The meeting manager 610 comprises data
structures and processing logic for implementing the features of the
present invention. These data structures and the processing logic of
meeting manager 610 are the subject of FIGS. 10-40 as presented in detail
in the remaining portions of the detailed description of the preferred
embodiment provided herein.
Human interface component 612 comprises processing logic for displaying
information on display device 618 and for processing user input provided
through user input device 620. User input device 620 includes alphanumeric
input device 106, pointing device or cursor control device 107, a signal
generation device or mouse button 112, and other conventional devices for
providing user input to a computer system. The human interface 610 in the
preferred embodiment of the present invention performs mainly a function
of displaying status information to a user on display device 618.
Conventional methods exist for providing this display function. In other
situations, human interface 612 provides command selections and other
information to meeting manager 610 via interface 632. The information so
provided will be described below in connection with the detailed
description of meeting manager 610.
The preferred embodiment provides a capability for storing meeting
information on a mass storage device or hard disk 622. Similarly,
previously stored meeting information may be retrieved from mass storage
device 622 through mass storage interface 614 and provided to meeting
manager 610. The permanent storage of meeting information is advantageous
in the present invention; because, conference participants may disconnect
from a meeting and retain the meeting information generated up to that
point on mass storage device 622. At a subsequent time, the conference
participant may rejoin the meeting and recover the information previously
stored on mass storage device 622 either independently or after rejoining
the meeting in progress or a subsequent meeting. This capability allows a
more efficient synchronization of information with other conference
participants. The technique for joining conference participants is the
subject of co-pending patent application Ser. No. 08/170,398, filed
concurrently with the present application still pending. The low level
details of mass storage interface 614 and mass storage device 622,
however, are well known to those of ordinary skill in the art.
Communications Interface (CI) 616 provides an interface with communications
medium 624. The techniques of the present invention are generally
applicable to any computer network or data communication medium in | | |