U.S. patent application number 10/965632 was filed with the patent office on 2005-03-10 for method and system for conducting a collaboration session over the internet.
Invention is credited to Chen, Tsung-Yen (Eric), Gu, Ke-Qin, Han, Ching-Chih (Jason), Lee, Kuo-Chun.
Application Number | 20050055642 10/965632 |
Document ID | / |
Family ID | 24251411 |
Filed Date | 2005-03-10 |
United States Patent
Application |
20050055642 |
Kind Code |
A1 |
Chen, Tsung-Yen (Eric) ; et
al. |
March 10, 2005 |
Method and system for conducting a collaboration session over the
internet
Abstract
A method of conducting an interactive design conference over the
Internet, comprises: selectively admitting clients communicating
through web browsers over the Internet to an interactive design
conference; receiving a graphics file indicative of a design from
one of the clients; and transmitting the graphics file to the other
clients so as to be viewable as a graphics image through graphics
file readers in the client web browsers. The graphics file is
generated by a snapshot program previously transmitted to a client
initiating the design conference and controlling the design
database. Java applets are transmitted to each of the design
conference participants to facilitate communicating annotations of
the graphics image and messages between clients through their web
browsers.
Inventors: |
Chen, Tsung-Yen (Eric);
(Fremont, CA) ; Gu, Ke-Qin; (San Jose, CA)
; Han, Ching-Chih (Jason); (Fremont, CA) ; Lee,
Kuo-Chun; (Fremont, CA) |
Correspondence
Address: |
VICTOR H. OKUMOTO
P.O. BOX 6120
FREMONT
CA
94538
US
|
Family ID: |
24251411 |
Appl. No.: |
10/965632 |
Filed: |
October 14, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10965632 |
Oct 14, 2004 |
|
|
|
09563658 |
May 2, 2000 |
|
|
|
6809749 |
|
|
|
|
Current U.S.
Class: |
715/753 |
Current CPC
Class: |
H04L 67/02 20130101;
H04L 12/1813 20130101; H04L 69/329 20130101; H04L 67/142
20130101 |
Class at
Publication: |
715/753 |
International
Class: |
G06F 017/00 |
Claims
1-22. (cancelled).
23. A method of conducting a collaboration session over the
Internet, comprising: generating a snapshot of a display screen of
one of a plurality of clients participating in a collaboration
session over the Internet, and transmitting said snapshot to others
of said plurality of clients so as to display said snapshot on
display screens of said others of said plurality of clients through
web browsers residing on said others of said plurality of
clients.
24. The method according to claim 23, wherein the transmission of
said snapshot comprises: converting said snapshot into a graphics
file, and transmitting said graphics file to said others of said
plurality of clients so as to display said snapshot on display
screens of said others of said plurality of clients through said
web browsers residing on said others of said plurality of
clients.
25. The method according to claim 24, the conversion of said
snapshot into said graphics file comprises: capturing pixel
information from a frame buffer of said one of said plurality of
clients, and converting said pixel information into a selected
graphics file format.
26. The method according to claim 25, wherein said graphics file
format is JPEG.
27. The method according to claim 25, wherein said graphics file
format is GIF.
28. The method according to claim 25, wherein said graphics file is
TIF.
29. The method according to claim 23, further comprising: receiving
an annotation of said snapshot from one of said plurality of
clients, and transmitting said annotation to individual of said
plurality of clients so as to be viewable as an overlay over said
snapshot being displayed on said display screens of said individual
of said plurality of clients.
30. The method according to claim 23, further comprising: receiving
a message from one of said plurality of clients, and transmitting
said message to individual of said plurality of clients so as to be
viewable in an area adjacent to said snapshot being displayed on
said display screens of said individual of said plurality of
clients.
31. The method according to claim 23, further comprising:
selectively admitting said plurality of clients to said
collaboration session according to pre-established criteria.
32. The method according to claim 31, wherein said selective
admission of said plurality of clients comprises: assigning a
session identification number to said collaboration session, and
admitting each of said plurality of clients to said collaboration
session only after receiving said session identification number
from said client.
33. The method according to claim 31, further comprising updating
an attendee list to include each of said plurality of clients
admitted to said collaboration session.
34. The method according to claim 33, further comprising updating
said attendee list to delete each of said plurality of clients
logging off said collaboration session.
35. The method according to claim 31, wherein said selective
admission of said plurality of clients comprises: receiving a list
of authorized participants to said collaboration session, and
admitting each of said plurality of clients to said collaboration
session only after confirming that said client is on said list of
authorized participants.
36. A system for conducting a collaboration session over the
Internet, comprising: a plurality of clients participating in a
collaboration session over the Internet; and a server for managing
said collaboration session; wherein at least one of said plurality
of clients is configured to generate a snapshot of its display
screen, convert said snapshot into a graphics file, and transmit
said graphics file to said server; and wherein said server is
configured to receive said graphics file from said at least one of
said plurality of clients, and transmit said graphics file to
others of said plurality of clients so as to display said snapshot
on display screens of said others of said plurality of clients
through web browsers residing on said others of said plurality of
clients.
37. The system according to claim 36, wherein said at least one of
said plurality of clients is further configured to capture pixel
information from a frame buffer of said at least one of said
plurality of clients, and convert said pixel information into a
selected graphics file format.
38. The system according to claim 36, wherein said server is
further configured to receive an annotation of said snapshot from
one of said plurality of clients, and transmit said annotation to
individual of said plurality of clients so as to be viewable as an
overlay over said snapshot being displayed on said display screens
of said individual of said plurality of clients.
39. The system according to claim 36, wherein said server is
further configured to receive a message from one of said plurality
of clients, and transmit said message to individual of said
plurality of clients so as to be viewable in an area adjacent to
said snapshot being displayed on said display screens of said
individual of said plurality of clients.
40. The system according to claim 36, wherein said server is
further configured to selectively admit said plurality of clients
to said collaboration session according to pre-established
criteria.
41. The system according to claim 40, wherein said server is
further configured to assign a session identification number to
said collaboration session, and admit each of said plurality of
clients to said collaboration session only after receiving said
session identification number from said client.
42. The system according to claim 40, wherein said server is
further configured to receive a list of authorized participants to
said collaboration session, and admit each of said plurality of
clients to said collaboration session only after confirming that
said client is on said list of authorized participants.
Description
FIELD OF THE INVENTION
[0001] The present invention generally relates to methods of
conducting collaboration sessions over the Internet and in
particular, to a method and apparatus for conducting an interactive
design conference over the Internet.
BACKGROUND OF THE INVENTION
[0002] The Internet provides an ideal medium in which clients
scattered around the world can interactively conduct a design
collaboration session or conference in a cost effective manner. One
problem with certain conventional methods of conducting design
conferences, however, is that each client participating in the
conference needs to run the same application program in order to
view shared files. Another problem is that the application program
generally needs to be run on the same platform. Still another
problem is that shared files tend to be large and require
considerable transmission time.
OBJECTS AND SUMMARY OF THE INVENTION
[0003] Accordingly, it is an object of the present invention to
provide a method and apparatus for conducting an interactive design
conference over the Internet that does not require each client
participating in the conference to run the same application program
in order to view shared files.
[0004] Another object is to provide a method and apparatus for
conducting an interactive design conference over the Internet that
is platform independent.
[0005] Still another object is to provide a method and apparatus
for conducting an interactive design conference over the Internet
that minimizes the size and transmission time for shared files.
[0006] These and additional objects are accomplished by the various
aspects of the present invention, wherein briefly stated, one
aspect of the invention is a method of conducting an interactive
design conference over the Internet, comprising: selectively
admitting clients communicating through web browsers over the
Internet to an interactive design conference; receiving a graphics
file indicative of a design from one of the clients; and
transmitting the graphics file to all of the clients so as to be
viewable as a graphics image through graphics file readers in the
web browsers.
[0007] In another aspect of the invention, an apparatus for
conducting an interactive design conference over the Internet,
comprises a web server programmed to establish a design conference
including clients communicating through web browsers over the
Internet, receive a graphics file indicative of a design from one
of the clients; and transmit the graphics file to all of the
clients so as to be viewable as a graphics image through graphics
file readers in or invoked by the web browsers.
[0008] In yet another aspect of the invention, an apparatus for
conducting an interactive application conference over the Internet,
comprises a web client configured with an application page defining
a display area for displaying a graphics image indicative of an
application, and an annotation area for generating annotations of
the graphics image; a snapshot program to generate upon command a
graphics file corresponding to the graphics image, and transmit
upon command the graphics file to a web server for retransmission
over the Internet to other participants communicating through web
browsers so as to translate the graphics file back into and display
the graphics image; and a module to generate upon command
annotations of the graphics image and transmit the annotations to
the web server for retransmission over the Internet to the other
participants configured with java applets cooperating with the web
browsers so as to display the annotations over the graphics
image.
[0009] Additional objects, features and advantages of the various
aspects of the present invention will become apparent from the
following description of its preferred embodiments, which
description should be taken in conjunction with the accompanying
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 illustrates a diagram of a system including an
apparatus for conducting an interactive design conference over the
Internet.
[0011] FIG. 2 illustrates a diagram further detailing an
interactive design conference on the client side.
[0012] FIG. 3 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including setting up an initiator of the design conference.
[0013] FIG. 4 illustrates an example of a menu provided to the
initiator of the design conference before the initiator sets up the
design conference.
[0014] FIG. 5 illustrates an example of a menu provided to the
initiator of the design conference after the initiator sets up the
design conference.
[0015] FIG. 6 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including the initiator setting up the design conference.
[0016] FIG. 7 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including selectively admitting clients to the design
conference.
[0017] FIG. 8 illustrates design conference application page
displayed by a web browser after a participant joins a design
conference.
[0018] FIG. 9 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting a graphics file to
clients.
[0019] FIG. 10 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting an annotation of the
graphics file to clients.
[0020] FIG. 11 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting a message to
clients.
[0021] FIG. 12 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including logging out participants from the design
conference.
[0022] FIG. 13 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including logging out the initiator of the design
conference after creating a data-log of the design conference.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0023] FIG. 1 illustrates a diagram of a system 100 including a web
server 10 programmed with control program 12 to conduct or manage
one or more interactive design conferences 30, 40, 50 over the
Internet 20. In addition to the control program 12 and its
associated databases, master copies of a snapshot program 14 and a
java applet 16 also reside on the web server 10. As will be
described in detail below in reference to FIGS. 2-13, a copy of the
snapshot program 14 is transmitted to an initiator of each design
conference, and a copy of the java applet 16 is transmitted to each
participant of the design conference, including the initiator, to
facilitate the interactive design conference.
[0024] FIG. 2 illustrates a diagram further detailing
representative interactive design conference 30, including web
clients 310, 320, 330, communicating with web server 10 through
respective web browsers 312, 322, 332 over the Internet 20. In this
example, web client 310 has initiated the design conference 30 by
running a copy 316 of the snapshot program 14. A design database
314 is resident on web client 310. Web client 310 selects data from
the design database 314 to be presented to other web clients 320,
330 during the design conference by taking a snapshot of a window
displayed on its display screen. The snapshot program 316 residing
in web client 310 facilitates taking of the snapshot, conversion of
the snapshot into a graphics file, and transmission of the graphics
file to the web server 10. The graphics file may be in any one of a
number of graphics file formats such as JPEG, GIF or TIF. The web
server 10 receives the graphics file, and transmits the graphics
file to all web clients 310, 320, 330 participating in the design
conference.
[0025] The graphics file is indicative of a design stored in the
design database 314. As an example, if the design is an integrated
circuit design, the design database may include physical layout
information, and the graphics file may include two-dimensional
image information of a top view of the integrated circuit. To
create the graphics file, the user at web client 310 selects a
window on its display screen, and clicks on an appropriate menu
button presented by the snapshot program 316 on the display screen.
The snapshot program 316 then captures the pixel information in the
selected window from a frame buffer in the web client 310, converts
the pixel information into a selected graphics file format, and
transmits the graphics file to the web server 10. The web server 10
then transmits the graphics file upon request to all participating
web clients 310, 320, 330 in the design conference so as to be
viewable as a graphics image through graphics file readers in or
invoked by the web browsers 312, 322, 332. Transmission of the
graphics file to web clients 310, 320, 330 can be by specific
download requests from the web clients 310, 320, 330, or through
requests automatically generated by java applets 318, 328, 338
residing on the web clients 310, 320, 330.
[0026] By transmitting the design information through graphics
files in this fashion, the information can be conveniently viewed
through conventional web browsers independent of platform. Further,
to view the graphics image, no special applications program is
necessary, only graphics file readers already available with most
web browsers. Finally, the graphics file format significantly
compresses the data to be transmitted, making transmission quick
and easy.
[0027] Each web client participating in the design conference
receives its respective copy 318, 328, 338 of the java applet 16
from the web server 10 at the time it is admitted to the
interactive design conference 30. The java applets 318, 328, 338
work with their respective client web browsers 312, 322, 332 to
perform several useful functions. For example, they automatically
refresh the graphics image by periodically requesting downloads
from the web server 10. They also facilitate users of web clients
310, 320, 330 in making annotations of the graphics image, and
transmitting the annotations back to the web server 10 for
retransmission to other web clients. They also facilitate users of
web clients 310, 320, 330 in transmitting messages back and forth
to each other over the Internet 20 through the web server 10.
[0028] FIG. 3 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including setting up the initiator of the design conference. In
301, the user at web client 310 (the initiator) contacts web server
10 by addressing its URL, and logs-on in a conventional fashion by
providing a username and password when prompted. The web server 10
is programmed to check whether the username and password provided
by the web client 310 is registered in a database of registered
users. If it is not, then the web server 10 is programmed to
transmit an appropriate error message back to the web client 310.
On the other hand, if it is, then the web server 10 is programmed
to transmit a welcome page back to the web client 310, in HTML so
that it may be interpreted by the web browser 312 and displayed on
the user's display screen. From the welcome page, in 302, the user
then downloads the copy 316 of the snapshot program 14 from the web
server 10, in a version suitable for the system environment (e.g.,
operating system and CPU type) of web client 310. Preferably, the
download of the snapshot program uses FTP (File Transfer
Protocol).
[0029] FIG. 4 illustrates an example of a menu displayed on the web
client 310 by the snapshot program 316 after the snapshot program
316 is initiated by the user of web client 310 through a
conventional run program command, and FIG. 5 illustrates an example
of the menu displayed on the web client 310 after the design
conference is initiated. Before the design conference is initiated,
button 401 functions to initiate a sign-in procedure as described
in reference to FIG. 6, when clicked by the initiator. After the
design conference is initiated, button 401 functions to initiate an
initiator log-out procedure as described in reference to FIG. 13,
when clicked by the initiator. Buttons 402 and 403 are used after
the design conference is initiated to respectively take a snapshot
of a window displayed on the display screen of web client 310, and
transmit a graphics file containing image information of that
window to web clients participating in the design conference. To
send images to other participants, the initiator simply clicks on
the grab button 402, then clicks on the window whose image is to be
sent, then clicks on the send button 403.
[0030] FIG. 6 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including the initiator setting up the design conference. In 601,
the user of web client 310 logs-on by clicking the sign-in button
401, and proceeding as described in reference to 301 of FIG. 3. In
602, the web server 10 is programmed to initiate the design
conference by first setting up a design conference group. The
preferred method of doing 602 is by assigning a conference
identification number to the design conference, and reserving
memory space for a list of attendees starting with the initiator
(user of web client 310), and including other participants (users
of web clients 320, 330) after being admitted to the design
conference by providing the conference identification number to the
web server 10. Alternatively, 602 may be performed by the initiator
first providing a list of authorized attendees (e.g., by username
and/or password), and reserving memory space for a list of
attendees starting with the initiator, and including other
participants after being admitted to the design conference by the
web server 10 verifying that such other participants are on the
initiator's list of authorized attendees. In 603, the copy 318 of
the java applet 16 is transmitted to the web client 310 along with
a design conference application page for the design conference
30.
[0031] FIG. 7 illustrates a flow diagram of a portion of a method
for conducting an interactive design conference over the Internet,
including selectively admitting clients to the design conference
after initiated by the initiator. In 701, the users at web clients
320, 330 (other participants) first contact web server 10 by
addressing its URL, then log-on. In the preferred method described
in reference to 602, the other design conference participants
log-on by providing the previously assigned conference
identification number for the design conference 30. In the
alternative method described in reference to 602, the other design
conference participants merely identify themselves by providing,
for example, their username and password. In 702, the web server 10
is programmed to confirm that each participant logging on is
authorized to participate in the design conference 30. In the
preferred method described in reference to 602, such confirmation
merely requires that the conference identification number provided
by the participant matches the conference identification number
previously provided to the initiator and assigned to the design
conference 30. In the alternative method described in reference to
602, confirmation requires that the identity of each participant
matches that previously provided by the initiator.
[0032] After confirming authorization of the other design
conference participants to participate in the design conference 30,
in 703, the web server 10 is programmed to update the attendee list
by adding the identity of the participant and the URL of the
participant's web client to the attendee list. In 704, a copy of
the java applet 16 is preferably transmitted to the newly admitted
participant's web client, along with the design conference
application page for the design conference 30.
[0033] FIG. 8 illustrates an example of a design conference
application page 800 transmitted to web clients 310, 320, 330, and
displayed by their respective web browsers 312, 322, 332 after
their respective users join the design conference 30. The
application page 800 has two major areas. A display window 801 is
reserved for displaying the graphics image provided by the
initiator as described in reference to FIG. 9. A right menu frame
802, 803 includes a top portion 802 for image manipulation and
annotation, and a bottom portion 803 for a Chat area. Graphics
image manipulation functions include Pan and Zoom. Annotation is
facilitated by the use of provided Markers that can be of
selectable styles, such as alphanumeric, a line, a circle or oval,
or a square or rectangle, and selectable colors. Typically, each
web client uses a different color to quickly indicate the source of
the annotation. The Chat area functions like a conventional chat
facility where messages can be typed and transmitted to other web
clients, or received from other web clients and displayed.
[0034] FIG. 9 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting a graphics file to
clients. In 901, the web server 10 is programmed to receive a
graphics file from the initiator web client 310, and in 902,
transmit the graphics file to all web clients 310, 320, 330
participating in the design conference 30 so as to be viewable as a
graphics image through graphics file readers in or invoked by web
browsers 312, 322, 332. The received graphics file may be in any
one of a number of common graphics file formats such as JPEG, GIF
or TIF.
[0035] FIG. 10 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting an annotation of the
graphics file to clients. In 1001, the web server 10 is programmed
to receive an annotation of the graphics file from any of the web
clients 310, 320, 330, and in 1002, transmit the annotation to all
participating clients 310, 320, 330 so as to be viewable as an
overlay over the graphics image. The received annotation or Marker
may be in any one of a number of styles and colors provided in the
image manipulation and annotation area 802 of the design conference
application page 800.
[0036] FIG. 11 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including receiving and transmitting a message to
clients. In 1101, the web server 10 is programmed to receive a
message from any of the web clients 310, 320, 330, and in 1102,
transmit the message to all participating clients 310, 320, 330 so
as to be readable in an area adjacent to the graphics image.
Operation and feel of the messaging system is preferably a chat
room type environment utilizing the Chat area 803 of the design
conference application page 800.
[0037] FIG. 12 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including logging out participants from the design
conference. In 1201, the web server 10 is programmed to recognize a
log-out request received from one of the design conference
participants using web clients 320, 330, after the participant logs
off in a conventional manner by clicking on a Log-off or Exit
button located on the design conference application page 800. In
1202, the web server 10 then updates the attendee list by deleting
the participant logging off the design conference 30 from the
attendee list.
[0038] FIG. 13 illustrates a flow diagram of another portion of a
method for conducting an interactive design conference over the
Internet, including logging out the initiator of the design
conference after creating a data-log of the design conference. In
1301, the web server 10 is programmed to recognize a log-out
request received from the initiator of the design conference using
web client 310 after the initiator logs off in a conventional
manner by clicking on a Log-off or Exit button 401 of a menu
adjacent to the design conference application page 800. In 1302,
the web server 10 then creates a data-log of the design conference
30 for future reference, and in 1303, updates the attendee list by
deleting the initiator of the design conference 30 from the
attendee list.
[0039] FIGS. 3, 6 and 8 describe a preferred method for conducting
an interactive design conference over the Internet, including
transmitting a copy 316 of the snapshot program 14 and a copy 318
of the java applet 16 from the web server 10 to the initiator web
client 310. Alternatively, the functions of the snapshot program
14, the java applet 16, and even the web browser 312, may be
included in a "wrap-around" program that may stand alone and
cooperate with a design application program that generates the
graphics image, or be an integral part of or integrated into the
design application program.
[0040] Although the various aspects of the present invention have
been described with respect to a preferred embodiment, it will be
understood that the invention is entitled to full protection within
the full scope of the appended claims.
* * * * *