WO2013142953A1 - Method for organizing a collaborative event and system employing same - Google Patents
Method for organizing a collaborative event and system employing same Download PDFInfo
- Publication number
- WO2013142953A1 WO2013142953A1 PCT/CA2013/000073 CA2013000073W WO2013142953A1 WO 2013142953 A1 WO2013142953 A1 WO 2013142953A1 CA 2013000073 W CA2013000073 W CA 2013000073W WO 2013142953 A1 WO2013142953 A1 WO 2013142953A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- event
- computing device
- wireless network
- network
- participant
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 230000002452 interceptive effect Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 16
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 230000006855 networking Effects 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 79
- 238000007726 management method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 11
- 238000013515 script Methods 0.000 description 8
- 241000699666 Mus <mouse, genus> Species 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
- H04L65/4038—Arrangements for multi-party communication, e.g. for conferences with floor control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
Definitions
- the present invention relates generally to collaboration systems and in particular, to a method for organizing a collaborative event and to a collaboration system employing the same.
- SMART BridgitTM version 4.2 conferencing system offered by SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application comprises one or more servers and clients, and provides plug-ins for event scheduling programs, such as, Microsoft Exchange ® or Microsoft Outlook ® .
- An event may be scheduled in Microsoft Outlook ® via a SMART BridgitTM plug-in on a participant's computing device, by assigning a name, a start time and an end time to the event.
- a SMART BridgitTM client program a user may create an event session on the SMART BridgitTM server to start an ad-hoc event.
- Other participants may join the event session using the SMART BridgitTM client program running on their computing devices by entering the event name and any required password.
- participants can annotate shared screen images by injecting digital ink thereon using a computer mouse, a touch screen, or an interactive whiteboard.
- the participant is often forced to seek technical support, and oftentimes the participant is precluded from participating in the event due to the inability to connect to the network or join the session.
- Improvements are therefore generally desired. It is therefore an object to provide a novel method for organizing a collaborative event and a novel collaboration system employing the same.
- a method of establishing a collaborative event comprising creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated
- the method further comprises, prior to creating the event session, collecting event information relating to the collaborative event.
- the event information may comprise the event identifier and an event password.
- the method may further comprises communicatively coupling at least one participant computing device to the wireless network. Upon coupling of the at least one participant computing device to the wireless network, the participant computing device may be automatically caused to join the event session.
- the method may further comprise providing the event identifier and the event password to the at least one participant computing device prior to the coupling of the at least one participant computing device to the wireless network.
- the providing may comprise sending an electronic invitation message comprising the event identifier and the event password to the at least one participant computing device and/or displaying the event identifier and the event password on a display at an event site of the collaborative event.
- the display may an interactive whiteboard.
- the network identifier is derived from the event identifier by string manipulation.
- the string manipulation may comprise concatenating at least a portion of the event identifier with additional characters.
- the method further comprises setting a network key of the wireless network as the event password.
- a non-transitory computer-readable medium having embodied thereon a computer program for a collaborative event, said program comprising instructions which, when executed by processing structure, carry out the steps of creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated with said event identifier.
- an interactive whiteboard configured to communicate with processing structure conducting a collaborative event, said interactive whiteboard further being configured, during said collaborative event, to display an event identifier of an event session of said collaborative event; _an event password of said event session; and_content shared between said processing structure and at least one participant computing device communicatively coupled to said event session.
- a computerized method comprising receiving, from a user computing device, information concerning the location of content to be shared; intercepting a network request from another user computing device; and redirecting the intercepted network request to the location of said content.
- a computerized method comprising determining member participant computing devices of each group of participant computing devices; intercepting a network request from one of said participant computing devices; determining the group to which the participant computing device that sent the intercepted network request belongs; and redirecting said the intercepted network request to a location assigned to said group.
- a signal comprising the identity of said wireless network and a password for accessing said wireless network.
- an apparatus comprising processing structure; wireless networking component functionally coupled to said processing structure, wherein said processing structure executes code that causes said apparatus at least to determine whether a wireless network having a predefined feature exists; and start a wireless network if the wireless network having a predefined feature is not detected.
- a host computing device comprising initiating, by a host computing device, a first wireless network; detecting a signal broadcasted by another computing device, said signal comprising a timestamp indicating the starting time of a second wireless network; comparing said timestamp with the start time of said first wireless network; and terminating said first wireless network if said timestamp indicates a time earlier than the start time of said first wireless network.
- a non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of receiving, from a user computing device, information concerning the location of content to be shared; intercepting a network request from another user computing device; and redirecting the intercepted network request to the location of said content.
- a non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of determining member participant computing devices of each group of participant computing devices; intercepting a network request from one of said participant computing devices; determining the group to which the participant computing device that sent the intercepted network request belongs; and_redirecting said the intercepted network request to a location assigned to said group.
- Figure 1 is a schematic diagram of a collaboration system
- Figure 2 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 1 ;
- Figure 3 is a block diagram of a software architecture of a participant computing device forming part of the collaboration system of Figure 1 ;
- Figure 4 is a block diagram of a software architecture of another participant computing device forming part of the collaboration system of Figure 1 ;
- Figure 5A is a flowchart showing steps of an event scheduling request process used by the collaboration system of Figure 1 ;
- Figure 5B is a flowchart showing steps of an event scheduling process used by the collaboration system of Figure 1 ;
- Figure 6 is a flowchart showing steps of an event start process used by the collaboration system of Figure 1 ;
- Figure 7 is a flowchart showing steps of an event start preparation process, forming part of the event start process of Figure 6;
- Figure 8 is a flowchart showing steps of a participant computing device connection process used by the collaboration system of Figure 1 ;
- Figure 9 is a flowchart showing steps of an event end process used by the collaboration system of Figure 1 ;
- Figures 10 to 14 are exemplary graphical user interfaces presented by the collaboration system of Figure 1 during scheduling, starting and joining of an event;
- Figure 15 is a graphical user interface presented by an event management module of an alternative collaboration system
- Figure 16 is a flowchart showing steps of an alternative event join process
- Figure 17 is a graphical user interface presented by an event client during the event join process of Figure 16;
- Figure 18 shows the graphical user interface of Figure 17 including a wireless network dialogue box
- Figure 19 is a schematic diagram of another embodiment of a collaboration system
- Figure 20 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 19;
- Figure 21 is a block diagram of a software architecture of a network management server forming part of the collaboration system of Figure 19;
- Figure 22 is a flowchart showing steps of an event start preparation process used by the collaboration system of Figure 19;
- Figure 23 is a graphical user interface presented by a web browser running on a participant computing device forming part of the collaboration system of Figure 19, after the participant computing device has joined an event;
- Figure 24 is a schematic diagram of yet another embodiment of a collaboration system
- Figure 25 is a block diagram of a software architecture of a participant computing device forming part of the collaboration system of Figure 24;
- Figure 26 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 24;
- Figure 27 is a flowchart showing steps of a private network
- Figure 28 is a schematic diagram of still yet another embodiment of a collaboration system
- Figure 29 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 28;
- Figure 30 shows an exemplary process of joining a registered computing device into an event session
- Figure 31 shows an image presented on the display of an event computing device;
- Figure 32 shows a web browser displaying the details of participant computing devices;
- Figure 33 shows a portable participant computing device in the event session displaying a user interface providing details of participant computing devices
- Figure 34 shows an exemplary sequence diagram for sharing a web URL with other users
- Figure 35 shows an exemplary authorized user's web browser
- Figure 36 is a flowchart showing steps of dividing users into groups
- Figure 37 is an exemplary sequence diagram for sharing a web URL with users in a user group
- Figures 38 to 40 show an example of dividing users to groups
- Figure 41 shows a schematic diagram of a collaboration system according to an alternative embodiment
- Figure 42 is a flowchart showing steps performed during an event computing device start up process
- Figure 43 shows an exemplary structure of a beacon signal frame
- Figure 44 is an exemplary sequence diagram illustrating an event computing device joining a signature wireless network created by another event computing device
- Figure 45 illustrates an exemplary dialog displayed by the event computing device to enable a user to select a signature wireless network
- Figure 46 is a flowchart showing steps for solving a race condition
- Figure 47 is an exemplary sequence diagram of a race condition being solved.
- Figure 48 is a flowchart showing steps of a failed signature wireless network recovery process.
- the collaboration system comprises a plurality of computing devices in communication with each other over at least one network when a collaboration session has been established.
- Each of the computing devices is configured to share content with the other computing devices, with the shared content being displayed on other computing devices.
- One or more of the computing devices is configured to accept input annotations made on displayed shared content, and to share the input annotations with other computing devices over the at least one network.
- the computing devices may take a variety of forms such as for example personal computers, laptop computers, tablet computers, computer servers, computerized kiosks, personal digital assistants (PDAs), cellular phones,
- PDAs personal digital assistants
- each computing device typically comprises, for example, a processing unit, system memory (volatile and/or non-volatile memory), other non-removable memory and/or optional removable memory (e.g. a hard disk drive, RAM, ROM, EEPROM, CD-ROM, DVD, flash memory, etc.), input/output devices (e.g. a display screen, a mouse, a keyboard, one or more buttons, a touchpad, a touch screen, an interactive board, etc.), and a system bus coupling the various components to the processing unit.
- system memory volatile and/or non-volatile memory
- other non-removable memory and/or optional removable memory e.g. a hard disk drive, RAM, ROM, EEPROM, CD-ROM, DVD, flash memory, etc.
- input/output devices e.g. a display screen, a mouse, a keyboard, one or more buttons, a touchpad, a touch screen, an interactive board, etc.
- system bus coupling the various components to the processing unit
- the display screen can present various types of information to the user such as graphical and textual displays, and may also function as an input mechanism that accepts touch input made thereon using a pointer such as for example a pen tool, an eraser tool or a finger.
- One or more of the computing devices may also comprise networking capabilities using Ethernet, WiFi, and/or other network format, to enable connection to shared or remote drives, one or more networked computers, or other networked devices.
- One or more computing devices may be physically located in a collaboration room or other common location while other computing devices may be located at different
- the collaboration system 10 comprises at least one event computing device 12 that is physically located at an event site, such as for example a meeting room.
- An interactive whiteboard (IWB) 14 comprising an interactive surface 16, such as the Model 885ix interactive whiteboard sold by SMART Technologies ULC, is connected to the event computing device 12.
- the IWB 14 is configured to display event content and to receive touch input applied thereon.
- a wireless network device 18 is coupled to the event computing device 12, and is configured to provide a wireless network 20 over which participant computing devices 22 communicate. Although three participant computing devices 22 are shown, those of skill in the art will appreciate that this is simply for ease of illustration. More or fewer participant computing devices 22 may communicate over the wireless network 20.
- the event computing device 12 is configured to control the wireless network device 18 and to manage the wireless network 20.
- the wireless network 20 is assigned a wireless network service set identifier (SSID), and communications via the wireless network device 18 are encrypted using a security protocol, such as Wi-Fi Protected Access II (WPA2) protocol with a customizable network key.
- WPA2 Wi-Fi Protected Access II
- a participant computing device 22 is required to identify the SSID of the wireless network 20 and send a corresponding network key thereto to
- Event computing device 12 is also communicatively coupled to a network 24 over either a wired connection, such as Ethernet, or a wireless connection, such as Wi-FiTM, BluetoothTM etc.
- the network 24 may be a local area network (LAN) within an organization, a cellular network, the Internet, or a combination of different networks.
- a plurality of server computing devices, namely an event server 26 and a scheduling server 28, and one or more participant computing devices 30 also are in communication with the network 24.
- the server computing devices 26 and 28 and participant computing devices 30 may communicate with the networks 18 and 24 over a wireless connection, a wired connection or a combined wireless/wired connection.
- Event server 26 is configured to manage event sessions by receiving and synthesizing audio, video and data streams, respectively, from event participants, and broadcasts the synthesized streams to the event participants.
- the event server 26 is a SMART BridgitTM server offered by SMART Technologies ULC.
- the scheduling server 28 is configured to manage the schedule of events or sessions.
- the scheduling server 28 is a Microsoft Exchange Server ® provided by Microsoft Corporation of Redmond, Washington, U.S.A.
- the event computing device 12 and the participant computing devices 22 and 30 each have installed thereon an operating system (OS) such as, for example, Microsoft Windows ® , Linux ® , Mac OS X ® etc.
- OS operating system
- the event computing device 12 and the participant computing devices 22 and 30 may all be used to schedule an event.
- the event computing device 12 may also be used to start or join an event session, and to control the wireless network device 18 in order to enable participant computing devices 22 to join the event session via the wireless network 20.
- the participant computing devices 30 may also be used to join the event session via the network 24.
- the event computing device 12 and the participant computing devices 22 and 30 are configured to share content during an event, which may for example be a meeting, a conference or a collaboration session.
- the content may be a common screen image, for example.
- the shared content can be modified by event participants through annotation.
- the shared content may be displayed on the IWB 14 connected to the event computing device 12, and event participants at the event site can modify the shared content through touch input applied to the IWB 14.
- the touch input may take the form of, for example, a mouse event or digital ink.
- Participants who join the event can also modify the shared content using input devices associated with their respective participant computing devices 22 and 30. These input devices may be, for example, computer mice, keyboards, touch screens, tablets, digital pens etc.
- FIG. 2 shows the software architecture 100 of the event computing device 12.
- Software architecture 100 comprises a scheduling client 102, such as, Microsoft Outlook ® having a SMART BridgitTM plug-in, an event management module 104, such as, SMART Meeting ProTM Premium, a network module 106, a Dynamic Host Configuration Protocol (DHCP) server 108, a web server 1 10, an event client 112, and a captive portal module 1 14.
- DHCP Dynamic Host Configuration Protocol
- the scheduling client 102 is in communication with the scheduling server 28 via network 24, and is configured to set up and update the event schedule of the event computing device 12, and to notify the event management module 104 to start an event session at a scheduled starting time.
- the event management module 104 is in communication with the event server 26 via the network, and is configured to create an event session thereon, and to exchange shared data therewith, such as for example shared screen images or annotations.
- the event management module 104 is also in communication with the network module 106, and is configured to set up a wireless network 20 using an event name and an event password.
- the network module 106 is configured to control the wireless network device 18 for setting up the wireless network 20, as requested by the event
- the DHCP server 108 is configured to assign an IP address to each participant computing device 22 when it connects to the wireless network 20.
- the web server 1 10 comprises a web portal interface with a download link or uniform resource locator (URL) of the event client 112 that is stored in the event computing device 12.
- the captive portal 114 is configured to monitor network-related requests sent from participant computing devices 22, and to redirect at least some of the network-related requests to the web server 1 10.
- Figure 3 shows the software architecture 120 of one of the participant computing devices 22.
- Software architecture 120 comprises a web browser 122, and a network client 126 configured to manage connections to the wireless network 20.
- the participant computing device 22 may also comprise an event client 124 stored therein, which is configured to communicate with the event server 26 to enable the participant computing device 22 to join an event session.
- the participant computing device 22 need not comprise the event client stored therein. In this case, the participant computing device 22 downloads the event client 1 12 from the web server 1 10 of the event computing device 12 prior to joining the event session.
- Figure 4 shows the software architecture 140 of one of the participant computing devices 30.
- Software architecture 140 comprises a scheduling client 142 which is configured to communicate with the scheduling server 28 to set up and update event schedules.
- Software architecture 140 also comprises an event client 144.
- the event client 144 is configured to communicate with the event server 26 to enable the participant computing device 30 to join an event session.
- Software architecture 140 further comprises a network client 146 configured to manage wired or wireless connections to the network 24.
- Figure 5A is a flowchart showing steps of an event scheduling request process used by the collaboration system 10, and which is generally indicated by reference numeral 180.
- Process 180 starts when a user of the event computing device 12 or one of the participant computing devices 30 invokes an event scheduling command via a user interface (UI) of the scheduling client 102 or 142, respectively (step 182).
- the event scheduling command comprises input data for scheduling an event that has been entered by the user.
- the scheduling client 102 or 142 receives the entered input data (step 184)
- the scheduling client determines whether an event title is provided in the entered input data (step 186). If an event title is provided, the scheduling client 102 or 142 generates an event name based on the event title (step 188), and the process proceeds to step 192. If at step 186 it is determined that no event title is provided, the scheduling client 102 or 142 then generates an event name according to defined rules (step 190).
- the defined rules direct the scheduling client 102 or 142 to generate an event name using the name of the user scheduling the event.
- the scheduling client 102 or 142 determines whether an event password is provided in the entered input data. If an event password is provided, the process proceeds to step 194; otherwise, the scheduling client 102 or 142 generates a random event password (step 196), and the process proceeds to step 194.
- scheduling client 102 or 142 sends the event scheduling request together with the event name and the event password to the scheduling server 28 (step 194), and the event scheduling request process ends (step 198).
- FIG. 5B is a flowchart showing steps of an event scheduling process used by the collaboration system 10, and which is generally indicated by reference numeral 200.
- Process 200 is carried out on the scheduling server 28.
- the scheduling server 28 Upon receiving an event scheduling request from the scheduling client 102 or 142 of event computing device 12 or one of the participant computing devices 30 (step 202), the scheduling server 28 authenticates the request (step 204) by verifying that request parameters, such as the event name and the event password, have been provided.
- the scheduling server 28 determines if the request parameters are valid (step 206). Upon determining that the request parameters are valid, the scheduling server 28 schedules the event (step 208) and sends an event notification to participants (step 210).
- the event notification is in the form of an invitation email, which comprises the event name and the event password, as well as a wireless network name and a network key, as will be further described below. It will be understood that the event notification need not comprise the wireless network name or the network key. The wireless network name and the network key may alternatively be communicated to participants in other ways.
- step 206 If at step 206 the request parameters are determined to be invalid, then the scheduling server 28 proceeds to step 210 and sends an alert notification to the scheduling client 102 or 142 of the event computing device 12 or participant computing device 30, alerting the user of the event computing device 12 or participant computing device 30 to the error.
- the scheduling server 28 coordinates with the event server 26 to start an event session at the scheduled date and time of the event.
- Figure 6 is a flowchart showing steps of an event start process used by the collaboration system 10, and which is generally indicated by reference numeral 240.
- Process 240 is carried out on the scheduling server 28, on the event server 26 and on the event computing device 12 associated with the event.
- Process 240 starts automatically at a first defined time period prior to the start of the event (step 242). In this embodiment, the first defined time period is five (5) minutes although other suitable time periods may be employed.
- the scheduling server 28 checks the current availability of the event site booked for the event (step 244), such as for example an event or meeting room.
- the scheduling server 28 sends a notification to the event site indicating that the event site needs to be vacated for the upcoming event (step 246). It will be understood that various methods may be used to notify the event site, depending on the collaboration system design and configuration. For example, the scheduling server 28 may send a message to the event computing device 12 instructing the event computing device 12 to display a notification message on the IWB 14 at the event site. After notification has been sent to the event site, the scheduling server 28 waits for a second defined time period, and the process returns to step 244 to determine whether the event site is available. In this embodiment, the second defined time period is one (1) minute although other suitable time periods may be employed.
- the scheduling server 28 sends a "start-event" message, comprising the event name and the event password, to the event server 26 (step 248).
- the event server 26 in turn creates an event session using the event name and password (step 250).
- the scheduling server 28 also sends a "reset-site” message to devices at the event site to reset these devices (step 252). These devices may be, for example, the event computing device 12, event room environment controls, audio and/or video devices, and the like.
- the event computing device 12 may close files that are open, terminate any connections to an existing event session on the event server 26, and terminate running programs or threads associated with the existing event session.
- the scheduling server 28 sends a "prepare-event" message comprising the event name and the event password to the event computing device 12, and the event computing device 12 then prepares to start the event (step 254).
- the event start process 240 terminates (step 256).
- FIG. 7 better illustrates steps carried out during step 254 of event start process 240.
- the event management module 104 of the event computing device 12 After receiving the "prepare-event" message from the scheduling server 28 (step 282), the event management module 104 of the event computing device 12 connects the event computing device 12 to the event session on the event server 26 (step 284). The event management module 104 then generates a wireless network name based on the event name received from the event server 26, and instructs, via the network module 106, the wireless network device 18 to use the generated wireless network name as the SSID of the wireless network 20 (step 286).
- the Event ID is the event name if the character length of the resulting Network ID is less than a threshold of thirty-two (32) characters. If the resulting Network ID has a character length that is greater than the threshold, then the Event ID is formed from a truncated event name such that the character length of the resulting Network ID is less than the threshold.
- the event management module 104 of the event computing device 12 For example, if an event named "Product Demo” is scheduled to start in a room identified as “2C-001", then at step 286, the event management module 104 of the event computing device 12 generates a Network ID of "Product Demo@2C-001", which has a length of nineteen (19) characters, and instructs the wireless network device 18 to set the SSID of the wireless network 20 to the generated Network ID "Product Demo@2C-001".
- the event management module 104 of the event computing device 12 generates a Network ID of "Conferencing Product Plan@2C- 002", which comprises a truncated event name so as to not exceed a length of thirty- two (32) characters.
- the event management module 104 subsequently instructs the wireless network device 18 to set the SSID of the wireless network 20 to the generated Network ID "Conferencing Product Plan@2C-002".
- the event management module 104 of the event computing device 12 then generates a network key based on the event password received from the event server 26, and instructs the wireless network device 18, via the network module 106, to use the generated network key as the network key of the wireless network 20 (step 288).
- the network key generated by the event management module 104 is the event password.
- the event management module 104 then resets the captive portal 114 (step 290), so that the captive portal 114 intercepts all HTTP requests that are received by the network module 106 from the wireless network device 18, and also displays the event name and the event password on the IWB 14 (step 292).
- the event management module 104 of the event computing device 12 also displays instructions for joining the event session on the IWB 14, together with a "Start Event” button and forces the IWB 14 to ignore all input except for touch input applied to the displayed "Start Event” button (step 294).
- FIG 8 is a flowchart showing steps of a process used by the collaboration system 10 for joining a participant computing device 22 to an event session on the event server 26 via the wireless network 20, the process being generally indicated by reference numeral 340.
- the participant computing device 22 is assumed to be located within the working range of wireless network 20, so that the participant computing device 22 can establish a wireless communication link with the wireless network device 18.
- Process 340 starts when the participant computing device 22 is conditioned to search for available wireless networks using a wireless network connection tool thereon (step 342).
- the wireless network connection tool is the wireless network connection tool available as part of the Microsoft Windows XP ® operating system, which is installed on the participant computing device 22.
- the wireless network connection tool determines the available wireless networks within range of the participant computing device 22 and presents the available wireless networks in a list (step 344).
- the user selects the wireless network 20 from the list that bears the network SSID derived from an event name known to the user and enters the network key
- the participant computing device 22 connects to the wireless network 20 (step 346).
- the DHCP server 108 assigns an IP address to the participant computing device 22.
- the participant computing device 22 then awaits a command from the user (step 348). If the event client 124 is installed on the participant computing device 22, and the user initiates a command to start the event client (step 348), such as for example by double-clicking an icon of the event client on the participant computing device desktop, then the event client 124 is started (step 356). If at step 348 the user initiates a command to start or launch a web browser and the event client 124 is not installed on the participant computing device 22, then the web browser is started and an HTTP request bearing a web address is sent by the participant computing device 22 to the event computing device 12 via the wireless network 20 (step 350). The web address is a default home page, if one has been set, or a web address entered by the user.
- the captive portal 1 14 of the event computing device 12 intercepts the HTTP request and redirects it to the web server 110 (step 352).
- the web server 1 10 in turn responds to the HTTP request by sending a web page comprising a link for downloading the event client 1 12 to the participant computing device 22.
- the event client 112 is downloaded onto the participant computing device 22 (step 354), and is then started (step 356).
- the event client 1 12 can be downloaded as an installation package, a compressed file, an executable binary file, etc., and the downloaded event client may need to be installed before it can be executed, or it may be executed without installation.
- the event client on the participant response device 22 determines the address of the event computing device 12, and obtains event information therefrom (step 358).
- the event computing device 12 is the default gateway of the wireless network 20. Therefore, the event client 112 or 124 determines the address of the event computing device 12 by requesting the address of the default gateway. The event client then obtains from the event computing device 12 the address of the event server 26, and the event name and the event password of the event session to which the event computing device 12 is currently joined. The event client 112 or 124 then uses the obtained information to join the event session (step 360), and the process ends (step 362). Approaches for connecting participant computing device 30 to an event session via the network 24 are known in the art, and will not be described herein.
- FIG. 9 is a flowchart 380 showing steps of an event end process used by the collaboration system 10, and which is generally referred to by reference numeral 380.
- Process 380 starts when the event server 26 receives an "end-event" message (step 382).
- the "end-event” message is triggered by the event computing device 12, and causes an "End Event” button displayed on IWB 14 to be enabled.
- an end-event procedure is invoked, during which tasks for ending the event are carried out (step 384).
- the tasks for ending the event comprise terminating shared audio, video and data streams, terminating the event session, closing files that were opened during the event, generating event minutes, and changing the status of the event site to "available”.
- the scheduling server 28 checks to determine if any scheduled event is about to start (step 386). If it is determined that a scheduled event is about to start, then the scheduling server 28 starts the scheduled event session according to the event start process 240 described above (step 388); otherwise, the event computing device 12 resets the SSID and network key of the wireless network 20 (step 390).
- the event computing device 12 runs a SMART Meeting ProTM application, which automatically creates a new event in the event server 26 using a defined event name, such as for example the name of the event site, and a randomly generated password, when an event is terminated and no scheduled event is about to start. Therefore, at step 390, after the new event is created, the event computing device 12 sets the SSID and network key of the wireless network 20 using the defined event name and the randomly generated event password, respectively.
- the end event process then ends (step 392).
- Figures 10 to 14 show graphical user interfaces presented during an event in the form of a meeting.
- scheduling client 102 or 142 may comprise Microsoft Outlook ® having a SMART BridgitTM plug-in.
- the scheduling client 102 or 142 presents a graphical user interface comprising a "new meeting" window 400, as shown in Figure 10.
- the window 400 comprises an event invitee field 402, in which desired event participants or invitees are entered, an event name field 404 ("Product Demo", in the example shown), an event site field 406 (2C-001, in the example shown), an event start-time field 408 and an event end-time field 410.
- the window 400 further comprises a "This is a SMART Bridgit meeting" selection box 412 that may be selected to indicate that an event session is to be scheduled on the event server 26.
- the window 400 also comprises a "Send” button 414 that may be selected to send an event scheduling request to the event scheduling server 28.
- the event scheduling server 28 schedules the event at the date and time specified in fields 408 and 410.
- Figure 1 1 shows an invitation email message window 440 received by a desired event participant specified in the event invitee field 402.
- the event invitation email message window 440 comprises an event host name 442, an event invitees list 444, an event name 446, an event site 448, an event start date and time 450, and a description 452 of the event.
- the description 452 comprises a link 454 for joining the event session, the event password 456, and instructions 458 for joining the event.
- the event server 26 may select the link 454 and enter the event password 456 to join the event session, or may follow the instructions 458 to join the event session.
- the scheduling server 28 checks the availability of the event site and, if the event site is available, notifies the event server 26 to create an event session with the event name "Product Demo” and a randomly generated event password. The scheduling server 28 then notifies the event computing device 12 at the event site to join the event session.
- the event computing device 12 runs a SMART Meeting ProTM Premium application that presents a graphical user interface comprising a window 500, as shown in Figure 12. After joining the event session "Product Demo", the SMART Meeting ProTM Premium application displays the window 500, comprising the event name 502 and the event password 504 on the IWB 14.
- the SMART Meeting ProTM Premium application locks the event computing device 12 and presents a dialogue box 506 in the window 500 comprising instructions 508 for joining the event via the wireless network 20 managed by the wireless network device 18 in the event room.
- the dialogue box 506 also comprises a "Start the meeting” button 510, which may be selected to unlock the event computing device 12 and to start the event session "Product Demo", and a "Close the meeting” button 512, which may be selected to unlock the event computing device 12 and end the event session.
- the SMART Meeting ProTM Premium application also generates a wireless network name based on the event name ("Product Demo@2C-001" in the example shown), and a network key, which in this example is the same as the event password, and instructs the wireless network device 18 to set the SSID and the network key of the wireless network 20 accordingly.
- a participant using a participant computing device 22 may then join the event session via the wireless network 20.
- the participant may use the wireless network connection tool included in the operating system of the participant computing device 22, which presents a graphical user interface comprising a window 540, as shown in Figure 13.
- Window 540 comprises a dynamically updated list 544 of wireless networks.
- the list 544 comprises a wireless network icon 546 identified as "Product Demo@2C-001", which is the SSID of the wireless network 20.
- the window 540 also comprises a "Connect" button 548, which may be selected once one of the wireless networks shown in the list 544 has been selected, in order to connect to the selected wireless network by entering the network key of the selected network.
- the participant may start or launch a web browser, such as for example, Microsoft Internet Explorer ® , Firefox ® , Safari ® , etc., which presents a graphical user interface comprising a window 600 as shown in Figure 14.
- a web browser such as for example, Microsoft Internet Explorer ® , Firefox ® , Safari ® , etc.
- the web browser is Microsoft Internet Explorer ® .
- the participant may enter an arbitrary web address into the address bar thereof, resulting in an HTTP request corresponding to the entered web address being redirected by the captive portal 1 14 of the event computing device 12 to the local web server 1 10 as described previously.
- a web page 602 generated from the web server 1 10 is then displayed in the window 600.
- the web page 602 comprises a link 604 to the event client 112, such as the SMART BridgitTM client program.
- the participant may then select the link 604 to download and install the event client 1 12 on the participant computing device 22.
- the event client 112 is executed to obtain the address of the default gateway, which in this embodiment, corresponds to the event computing device 12.
- the event client 1 12 also obtains the address of the event server 26, and the event name and the event password therefrom and uses the obtained information to join the participant computing device 22 to the event session.
- the downloaded event client 1 12 may be stored by the participant computing device 22 so that when the participant wishes to join an event session in the future, once the participant computing device 22 has connected to the wireless network 20 associated with the event, the event client 112 can be launched to join the participant computing device 22 to the event session, as described above.
- the collaboration system may also allow users to start and join ad-hoc event sessions.
- a SMART BridgitTM client program is installed on the event computing device 12 and is used as the event management module 104.
- a graphical user interface comprising a window 640 is presented, as shown in Figure 15.
- the window 640 comprises a "Create New meeting" tab 642, which may be selected by a user for creating a new event.
- the window 640 also comprises an event name field 644 ("Project Planning", in the example shown), an event password field 646 and an event password confirmation field 648.
- the window 640 also comprises a "Create New Meeting" button 650, which may be selected by a user once information has been entered in fields 644 to 648, to create an event session on the event server 26 having the name entered in field 644.
- the event computing device 12 After the event session has been created, the event computing device 12 generates a wireless network name and password based on the event name and the event password, and instructs the wireless network device 18 to set the SSID and network key of the wireless network 20 accordingly. Participant computing devices 22 may then join the event session, as described above.
- the SMART BridgitTM client program instructs the wireless network device 18 to terminate the wireless network 20, such as for example, by instructing the wireless network device 18 to stop
- the event client 124 may be pre-installed on one or more of the participant computing devices 22.
- each pre-installed event client 124 stores a user customizable default event server address.
- the pre-installed event client 124 when used to join an event, the pre-installed event client 124 first searches for the event in its default event server 26, and if the event is not found, the event client then searches for a wireless network 20 associated with the event.
- FIG 16 is a flowchart showing steps performed by pre-installed event client 124 to join an event session, the process being generally indicated by reference numeral 700.
- Process 700 starts when the user invokes a command to execute the pre-installed event client 124 (step 702).
- the event client 124 prompts the user to enter the event name and password (step 704).
- the event client 124 also prompts the user to enter an event site name.
- the event client 124 After receiving the event name, the event password and the event site name, the event client 124 then checks whether the default event server 26 is accessible by sending the default event server 26 a query message, such as for example, a "ping" message (step 706).
- a query message such as for example, a "ping" message
- the event client 124 sends a query to the default event server 26 requesting the event name (step 708). If the default event server responds to the query with the event name (step 710), then the event client 124 joins the participant computing device 22 to the event session using the obtained event name and password (step 726). If at step 710 the event name is not found by the default event server 26, the event join process proceeds to step 712.
- the event client 124 If at step 706 the default event server 26 is not accessible, then the event client 124 generates a wireless network name and password using the same rules as those followed by the event computing device 12 during steps 286 and 288 of process 240 described above (step 712).
- the wireless network ID is the event name concatenated with a Site lD, namely the event site name, using the delimiter character (e.g. "@"). If a Site lD is obtained at step 704, then the event client 124 generates a wireless network name by concatenating the event name to the delimiter character (e.g., "@") and the Site lD. If, however, no Site lD is obtained at step 704, then the event client 124 uses the event name as the wireless network name.
- the event client 124 instructs the network client 126 running on the participant computing device 22 to obtain a list of available wireless networks.
- the event client 124 determines if any of the wireless networks in the list match the generated wireless network name (step 716), namely if the name of any of the wireless networks in the list is the same as, or begins with, the generated wireless network name. If no wireless network in the list matches the generated wireless network name, then the event client 124 displays an error message (step 718), and the event join process ends (step 728).
- step 716 If at step 716, only one wireless network in the list matches the generated wireless network name, then the event client 124 determines that the matched wireless network is the wireless network associated with the event, and connects to the matched wireless network using the network key generated at step 712 (step 722).
- the event client 124 displays all matching wireless networks to the user and waits to receive a selection by the user of a wireless network to join (step 720). The event client 124 then connects to the wireless network selected by the user using the password generated at step 712 (step 722). After connecting to the wireless network, the event client 124 obtains the address of the event server 26, and the event name and password (step 724), and joins the event session (step 726), after which the event join process terminates (step 728).
- FIG 17 shows a window of a graphical user interface presented by an event client 124 running on a participant computing device 22 during the process 700, the window being generally referred to by reference numeral 800.
- Window 800 is displayed when the event client 124 is executed.
- the event is a meeting.
- Window 800 comprises an event name field 802 ("Product Demo", in the example shown) and an event password field 804.
- the window 800 also comprises an event site field 806, and an address field 810 in which the default event server address is displayed.
- Window 800 further comprises a "Join Meeting" button 808.
- the event client 124 determines whether the default event server address shown in field 810 is accessible. In the example shown, the participant computing device 22 is not yet connected to a wireless network, and thus the default event server address is not accessible. Accordingly, the event client 124 generates a wireless network name based on the information entered in fields 802 and 806. In the example shown, an event site name has not been entered in the event site field 806. The event client 124 therefore generates a wireless network name of "Product Demo". The event client 124 then instructs the network client 126 running on the participant computing device 22 to obtain a list of available wireless networks starting with the generated wireless network name.
- the event client 124 displays the obtained list of available wireless networks in a dialogue box 840, as shown Figure 18.
- the dialogue box 840 comprises a list 842 of the available wireless networks matching the generated partial wireless network name.
- the window 840 further comprises a confirmation button 844, which may be selected after one of the wireless networks shown in the list 842 has been selected. Once button 844 has been selected, the event client 124 uses the generated password to connect to the selected wireless network, and then joins the specified event session.
- the event information may be sent to desired event participants in an invitation email, as described above.
- the event client obtains the event name, event password and event site name from the invitation email.
- FIG. 1 shows another embodiment of a collaboration system, which is generally indicated by reference numeral 900.
- collaboration system 900 comprises a plurality of event computing devices 12, each of which is physically located at an event site, such as for example an event or meeting room, and which is connected to an associated IWB 14.
- Each event computing device 12 is in communication with a network 24 over a wired or a wireless connection.
- Servers including an event server 26 and a scheduling server 28 and one or more participant computing devices 30 are also in communication with the network 24 over wired or wireless connections.
- Collaboration system 900 also comprises a network management server 932 and a plurality wireless devices 918, such as for example wireless access points, connected to the network 24.
- the network management server 932 is configured to control the wireless devices 918 to manage a wireless network 920 covering the organization, including event sites having an event computing device 12 located therein.
- Each of the wireless network devices 918 may provide a wireless network service to one or more event sites, and more than one wireless device 918 may provide a wireless network service to the same event site.
- the network management server 932 is configured to control the wireless devices 918 to create a virtual wireless network for each event.
- the virtual wireless network is at least a subset of the wireless network 920, but has a respective wireless network name, a respective network key, and respective access rights settings.
- all virtual wireless networks have the same working range as, and thereby provide wireless network access to the same area as, the wireless network 920.
- the network management server 932 may control the wireless devices 918 so that each virtual wireless network has its own wireless network coverage.
- the network management server 932 controls the wireless devices 918 to create a virtual wireless network for each event having a wireless network name and network key generated from the event name and the event password. An event participant may then select the virtual wireless network, and join the event session via the wireless network 920 using the participant computing device 22.
- Figure 20 shows the software architecture of one of the event computing devices 12 forming part of collaboration system 900, and which is generally identified by reference numeral 940.
- Software architecture 940 comprises a scheduling client 942, which is configured to communicate with the scheduling server 28 to set up and update event schedules, an event management module 944, which is configured to communicate with the event server 26 to join an event session, and a network client 946, which is configured to manage a wired or wireless connection to the network 24.
- FIG. 21 shows the software architecture of the network management server 932, and which is generally identified by reference numeral 980.
- the software architecture 980 of the network management server 932 comprises a network module 982, a DHCP server 984, a web server 988, an event client 990, and a captive portal module 992.
- the network module 982 is configured to control the wireless network 920, and to create and manage one or more virtual networks using the wireless network 920.
- Each virtual network is assigned a network ID, such as for example a network SSID, and is associated with an event, so that a participant may join an event by identifying the virtual network associated with the event.
- the DHCP server 984 assigns an IP address thereto.
- the web server 988 comprises a web portal interface with a download link to the event client 990 stored in the network management server 932.
- the captive portal 998 is configured to monitor network-related requests sent from the participant computing device 22, and to redirect at least some requests to the web server 988. Therefore, a participant computing device 22 connecting to the wireless network 920 may initiate a request to any web site, and the request is automatically redirected to the web portal interface to allow the user to download desired information such as the event client.
- the collaboration system 900 uses an event scheduling request process and an event scheduling process that are similar to the event scheduling request and the event scheduling processes 180 and 200 described above with reference to Figures 5A and 5B, respectively.
- the collaboration system 900 also uses an event start process that is generally similar to the event start process 240 described above with reference to Figure 6. However, and referring to Figure 6, when an event is about to start and the event site is available (step 244), the scheduling server 28 forming part of collaboration system 900 sends "start-event" messages to the event server 26, the relevant event computing device 12 and the network management server 932 (step 248).
- the event start process used by the collaboration system 900 uses steps 246, 250 and 252 of the event start process 240 shown in Figure 6.
- Figure 22 shows steps carried out by the collaboration system 900 during step 254 of the event start process.
- both the network management server 932 and the relevant event computing device 12 prepare to start the event.
- the network management server 932 and the event computing device 12 receive "start- event” messages from the scheduling server 28.
- the network management server 932 then creates a virtual wireless network having an S SID based on the event name (step 1004), and sets a network key based on the event password (step 1006).
- the network SSID and the network key are generated as described above.
- the management server 932 then resets the captive portal 992 (step 1008), and sends the network SSID to the event computing device 12 (step 1 100).
- the event computing device 12 then joins the event session (step 1 102), and displays the event name and password on the IWB 14 (step 1 104).
- the event computing device 12 may also display instructions for joining the event session using a virtual wireless network, as described above.
- the event computing device 12 then locks the IWB 14 and waits for the event session to start (step 1 106).
- the collaboration system 900 uses a process for joining a participant computing device 22 to an event session that is generally similar to process 340 described above with reference to Figure 8, with the exception that, at step 358, the event client 990 obtains the address of the event server 26, the event name and the event password from the network management server 932. Given that the virtual wireless network is associated with the event, the network management server 932 detects the virtual wireless network that the participant computing device 22 is connected to, and determines the event server address, the event name and the event password, which are then sent to the participant computing device 22.
- the collaboration system 900 also uses a process for ending an event that is generally similar to the event end process 340 described above with reference to Figure 9. During the event end process used by the collaboration system 900, the network management server 932 deletes the virtual wireless network associated with the event.
- the captive portal 1 14 or 992 redirects all HTTP requests to the web server 110 or 988, respectively. After the participant computing device 22 has joined the event, the captive portal 1 14 or 992 stops redirecting HTTP requests, so that participant computing device 22 may access the Internet or other network resources.
- the captive portal does not redirect the HTTP request to the web server. Rather, the HTTP request is instead sent to the Internet to obtain the requested web pages.
- the requested web pages from the Internet may be displayed in a page frame which includes a download link to the event client 112, or 990.
- Figure 23 shows a window of a graphic user interface presented by a web browser running on a participant computing device 22 after the participant computing device has joined the event, and which is generally indicated by reference numeral 1 140.
- the window 1 140 comprises an address field 1 142 in which a participant enters a web address ("http://smarttech.com", in the example shown).
- a first portion 1 146 of page frame 1 144 shows the download link to the event client 1 12 or 990.
- the requested web page is returned and is displayed in a second portion 1 148 of the page frame 1144.
- Those skilled in the art will appreciate that other information may also be shown in the first portion 1 146 of the page frame 1 144.
- the captive portal 1 14 or 992 may redirect all HTTP requests it receives from participant computing devices 22 to the web server 1 10 or 988.
- the captive portal 1 14 or 992 instructs the web server 110 to return the event client to the web browser, so as to trigger the web browser to display a dialogue box prompting the participant to download the event client. The participant then may choose to download and run the event client.
- the collaboration system may not include a captive portal, in which case participants are required to enter the address of the web server in the web browser in order to download the event client.
- the event computing device 12 of collaboration system 10 or the network management server 932 of collaboration system 900 assigns IP addresses to pre-registered computing devices, so that these computing devices always have the same IP addresses when they join an event.
- the event computing device 12 may alternatively not comprise a DHCP module, and thus any computing device connecting to the wireless network 20 or 920 requires a
- the event computing device 12 or network management server 932 comprises a whitelist of computing devices, such as for example a list of media access control (MAC) addresses of computing devices, and thus only the computing devices pre-registered in the whitelist can connect to the wireless network 20 or 920.
- some wireless devices 918 may be reserved such that only some pre-registered computing devices can join the wireless network 920 or a virtual network thereof via the reserved wireless devices 918. Therefore, an event session, together with the virtual wireless network associated therewith, communicated by these reserved wireless devices 918 can only be accessed by pre-registered computing devices.
- the collaboration system may further comprise a DNS server, which translates a domain name to a corresponding IP address.
- the wireless network name and password may be identical to the event name and password.
- the event server 26 of collaboration system 10 maintains a list of generated wireless network names for ongoing events. When an event computing device 12 generates a wireless network name, it generates the wireless network name in a manner such that the generated wireless network name is unique among the names of all ongoing events. For example, the event computing device 12 may first query the event server 26 to determine whether the event name has been used to generate a wireless network name for an ongoing event.
- the event computing device 12 If so, the event computing device 12 generates a wireless network name from the event name based on a predefined rule, as described above; otherwise, the event computing device 12 generates a wireless network name that is the same as the event name.
- the event server 26 of the collaboration system 900 maintains a list of generated wireless network names for ongoing events, and the network management server 932 queries the event server 26 and generates a virtual wireless network name that is either the same as the event name or derived from the event name based on a predefined rule to ensure that the generated event name is unique among the names of all ongoing events.
- each wireless network name may be a unique, randomly generated name.
- a wireless network device 918 may provide wireless network service to multiple event sites, in other embodiments, each event site may alternatively be equipped with at least one wireless network device 918.
- a wireless network device 918 may alternatively be configured such that it only covers a limited area including the event site at which it is installed.
- the virtual wireless network for an event is created on the wireless network device 918 that is in or near to the event site hosting the event such that it is only detectable and accessible within a limited area including the event site. Therefore, a participant computing device 22 may only discover a limited number of virtual wireless networks.
- the network management server 932 maintains information pertaining to the coverage of each wireless network device 918.
- the network management server 932 when generating a virtual wireless network name, the network management server 932 only checks the names of the virtual wireless networks detectable around the scheduled event site, and ensures that the generated virtual wireless network name is unique with respect to the names of those "neighbouring" virtual wireless networks. Therefore, the name of a virtual wireless network may be reused by a virtual wireless network at a remote event site.
- the collaboration system 900 comprises multiple server computing devices, namely servers 26, 28 and 932
- the servers 26, 28 and 932 may be implemented in a single computing device.
- the servers 26, 28 and 932 may be implemented on the event computing device 12.
- the collaboration system 10 shown in Figure 1 comprises a network 24, servers 26 and 28 and one or more participant computing devices 30, in an alternative embodiment, the collaboration system 10 only comprises an event computing device 12 connected to an IWB 14 and a wireless network device 18 that allows one or more participant computing devices 22 to join the wireless network 20.
- Such a collaboration system may be used for ad-hoc events that are not required to be scheduled by a scheduling server.
- At least some event computing devices 12 are not connected to IWBs. Rather, they may be connected to other types of displays such as for example cathode ray tube (CRT) monitors, liquid crystal display (LCD) screens or projectors.
- CTR cathode ray tube
- LCD liquid crystal display
- network wireless devices 18 and 918 are shown as standalone devices, in some alternative embodiments, the network wireless devices 18 and 918 may be integrated into relevant computing devices or networking devices. For example, in an alternative embodiment, the wireless network device 18 may be integrated into the event computing device 12.
- network wireless devices 18 and 918 are described as Wi-FiTM devices, in some alternative embodiments, other wireless devices are used.
- the wireless devices 18 and 918 may be BluetoothTM devices each having a device ID that may be modified by the collaboration system 10 or 900 to match an event name.
- an event computing device such as event computing device 12 in a first event or session may join a second event or session so that the first event is merged with the second event.
- the wireless network name associated with the first event is modified to match the name of the second event, e.g., using the wireless network name of the second event, or a different wireless network name is generated from the name of the second event. All participants in the first event are also automatically moved into the second event.
- the event computing device of the first event checks whether a wireless network having a name corresponding with the second event has already been set up.
- an event may correspond to multiple (virtual) wireless networks having different names, each of which is generated according to predefined or user-defined rules.
- the wireless network 20 or 920 is encrypted, in some alternative embodiments, the wireless network 20 or 920 is not encrypted. Accordingly, in this case an event participant is able to join the wireless network 20 or 920 without providing a network key. However, the captive portal 114 or 992 blocks all network traffic from the participant computing device 22 until the participant launches a web browser and enters a web address, which is then redirected by the captive portal to a login page. After the participant enters the event password, the captive portal 114 or 992 redirects the web browser to a download page for downloading the event client 1 12 or 990, and the captive portal 114 or 992 terminates the blocking of the network traffic from the participant computing device 22.
- the event computing device 12 or the network management server 932 may alternatively not comprise any web server, and may instead comprise an FTP server.
- the captive portal 114 or 992 instructs the FTP server to return the event client 112 or 990, respectively, to the web browser, so as to trigger the web browser to display a dialogue box prompting the participant to download the event client.
- FIG 24 shows another embodiment of a collaboration system, which is generally indicated by reference numeral 1200.
- collaboration 1200 comprises at least one event computing device 1202 that is physically located at the event site, such as for example a meeting room, and that is connected to an IWB 14.
- the event computing device 1202 is in communication with a network 24 over either a wired or a wireless connection.
- One or more computing devices including event server 26, scheduling server 28 and one or more computing devices 30 are also connected to network 24, similar to collaboration system 10 described above.
- a participant computing device 31 for example, a guest computer used by a guest, is connected to the event computing device 1202.
- the participant computing device 31 may be any general purpose computing device, such as for example a laptop computer, that is equipped with a network interface in the form of, for example, an Ethernet port. Those skilled in the art will understand that other interfaces and/or ports may also be used.
- Figure 25 shows the software architecture of the participant computing device 31 , and which is generally indicated by reference numeral 1220.
- the software architecture 1220 comprises an operating system 1226, a software service 1224, one or more applications 1222, and other components (not shown), such as for example, device drivers, other services, processes and related threads, including other applications, and the like.
- the software service 1224 may be, for example, a remote desktop service or a terminal service.
- Figure 26 shows the software architecture of the event computing device 1202, and which is generally indicated by reference numeral 1300.
- the software architecture 1300 comprises a network module 106, a DHCP server 108 and a remote desktop client service 1302.
- the event computing device 1202 creates a private network 19 between participant computing device 31 and the event computing device 1202. After the event computing device 1202 detects the participant computing device 31 connected thereto, the event computing device 1202 assigns an IP address to the participant computing device 31 using its DHCP server 108.
- the event computing device 1202 After assigning the IP address to the participant computing device 31 , the event computing device 1202 sends a request to the participant computing device 31 requesting a connection thereto using the Remote Desktop Protocol (RDP). A dialogue box requesting a username and a password is then displayed on the IWB 14. After a user of the IWB 14 enters a correct username and password, such as for example the username and password of a user account that has access to the participant computing device 31 , the event computing device 1202 takes control of the participant computing device 31 ; namely the screen image of the participant computing device 31 is transmitted from the participant computing device 31 to the IWB 14, and input to the event computing device 1202 is redirected to the participant computing device 31.
- RDP Remote Desktop Protocol
- the Remote Desktop Protocol provides remote display and input capabilities over a network.
- a local machine executing an RDP client such as for example the event computing device 1202 sends input data to, and receives display data from a remote device, such as for example the participant computing device 31, over a network, such as for example the network 19.
- a remote device such as for example the participant computing device 31, over a network, such as for example the network 19.
- Various types of network protocols are supported.
- RDP allows for separate virtual channels to carry different types of data, such as graphical presentation data, mouse input data, and keyboard input data.
- An RDP server on the remote device uses its own video driver to render display output by packing the rendering information into network packets using the RDP protocol and then sending them over the network to an RDP client on the local machine, such as for example the event computing device 1202.
- the RDP client receives rendering data and interprets the received network packets into corresponding local graphics application programming interface (API) calls to present images on its local display, such as for example IWB 14, for viewing.
- Input data is processed to redirect mouse and keyboard events to the RDP server.
- the RDP server uses its own virtual keyboard and mouse driver to receive keyboard and mouse events sent from an RDP client.
- Figure 27 shows steps of a process carried out by the event computing device 1202 for establishing a private network 19 with the participant computing device 31 and for allowing the participant to share the screen of the participant computing device 31 to the IWB 14, the process being generally indicated by reference numeral 1400.
- Process 1400 starts when event computing device 1202 is powered on and executes its software (step 1402), which includes the components of the software architecture 1300.
- the event computing device 1202 then awaits establishment of a new connection (step 1404), such as for example by way of the Ethernet cable 33 connecting the participant computing device 31 to the event computing device 1202.
- the event computing device 1202 detects a new connection (step 1406), then it assigns a new IP address to the participant computing device 31 using its DHCP server 108 (step 1408). If at step 1406 no new connection is detected, then the process returns step 1404 to await a new connection. After the new IP address has been assigned, the event computing device 1202 then invokes the remote desktop client service 1302 using the newly assigned IP address as a parameter (step 1410), and logs in to the participant computing device 31 using the remote desktop service (step 1412). At this step, the user of the event computing device 1202 is prompted to provide a username and a password of a user account having access to the participant computing device 31. A remote desktop connection is established once the remote desktop client service 1302 logs in to the participant computing device 31 using the username and password provided by the user. The process then ends (step 1414).
- the IWB 14 takes over the control of the participant computing device 31.
- the screen image of the participant computing device 31 is then displayed on the IWB 14, and the IWB 14 can then be used by the guest user for interactive presentation of content using the participant computing device 31.
- the detection of a new connection may be implemented in several ways, depending on the configuration of the event computing device 1202 and the participant computing device 31.
- the event computing device 1202 has installed thereon a Linux ® operating system such as an Ubuntu ® distribution, version 9.04.
- the remote desktop client service 1302 is the rdesktop service running on the operating system, and the DHCP server 108 is a dhcp3 -server.
- Software code such as the Perl script presented below, is created and stored as a file having a file name myScript.
- the Perl script presented above may be executed in event computing device 1202, on the system log output that would be updated when an IP address is newly assigned, as described below.
- the DHCP server 108 in the event computing device 1202 running the Ubuntu ® operating system may be set up by modifying respective files as shown in Table 1 below.
- subnet 192.168.1.0 netmask 255.255.255.0 ⁇ range 192.168.1.2 192.168.1.254; option router 192.168.1.1;
- networking and DHCP server 108 may need to be restarted, in order to cause the above modifications to take effect, by using the following commands:
- the collaboration system may alternatively be capable of managing events in an organization that provides both wired and wireless connectivity.
- Figure 28 shows another embodiment of a collaboration system, which is generally indicated using reference numeral 1440.
- Collaboration system 1440 is generally similar to collaboration system 10 described above with reference to Figure 1, and like elements of systems 10 and 1440 are indicated using like reference numerals.
- System 1440 comprises an event computing device 1442 that controls a network device 1444 providing both wired and wireless connections, and which establishes a network 1446.
- the network 1446 allows participant computing devices 22 and 31 to connect thereto and to join an event session.
- the wireless network portion of the network 1446 is controlled by the event computing device 1442, via the network device 1444, and is set up having a network SSID and a network key that are generated based on the event name and the event password using the method described above.
- the wired portion of the network 1446 allows a participant computing device 31 to be connected to the event computing device 1442 via an Ethernet cable and using RDP, as described above.
- Figure 29 shows the software architecture of the event computing device 1442, and which is generally indicated by reference numeral 1550.
- the software architecture 1500 is generally a combination of the software architectures 100 and 1300 described above with reference to Figures 2 and 26, respectively, and comprises a scheduling client 102, an event management module 104, a network module 106, a DHCP server 108, a web server 110, an event client 112, a captive portal module 114 and a remote desktop service 1302. These modules are generally similar to, and are referred to using like reference numerals, as those referred to in Figures 2 and 26.
- the event management module 104 on the event computing device 1442 is configured to connect the event computing device 1442 to an event session, and to generate a wireless network name based on the event name. Once the wireless network name has been generated, the event management module 104 is configured to instruct wireless the network device 1444 to set the SSID of the wireless network portion of network 1446 as the generated wireless network name.
- event computing device 1442 is configured to detect whether a wired connection has been established with participant computing device 31 via Ethernet cable 33, and if so, to assign a new IP address to participant computing device 31using DHCP server 108. After a new IP address has been assigned, the event computing device 1442 invokes the remote desktop client service 1302 (with the newly assigned IP address as a parameter thereof), to share the desktop of the participant computing device 31 to IWB 14, and to enable the user of IWB 14 to interact with content in participant computing device 31 , as described above with reference to the collaboration system 1200 shown in Figure 24.
- the participant computing device 31 joins the same network 1446 as the computing devices 22.
- the event computing device 1442 may alternatively create a private network different from network 1446 when the participant computing device 31 is connected thereto.
- wireless network device 1444 may be integrated into, and form a part of, the event computing device 1442.
- At least some of the event computing devices 1202 shown in Figure 1 or at least some of the event computing devices 1442 shown in Figure 28 are not connected to an IWB 14. Instead, they are connected to other types of displays such as for example CRT monitors, LCD screens or projectors.
- the collaboration system comprises an IWB having a generally vertical interactive surface
- the collaborative system may alternatively comprise an interactive device, such as for example a touch table, that has a horizontal interactive surface.
- the system may alternatively comprise an interactive device having an interactive surface positioned at any orientation suitable for an event.
- the DHCP server may be replaced with a network management module having an alternative protocol (e.g., Bootstrap Protocol (BOOTP)).
- BOTP Bootstrap Protocol
- the network management module dynamically selects a network address (e.g. an IP address) from a pool of addresses maintained by a network configuration server, and assigns the selected network address to the participant computing device.
- the collaboration system comprises one or more participant computing devices 30 connecting to the network 24, in other embodiments, the collaboration system may alternatively not comprise any participant computing devices 30.
- the scheduling server sends notification to the event site that it needs to be vacated for an upcoming event, where the notification is a message sent by the scheduling server to the event computing device at the event site to display a notifications message on the IWB located therein
- the scheduling server may send notification to the event room controller to cause at least one light source in the event room to flash intermittently, lighting in the event room to be adjusted to a predefined level, and/or a speaker in the event room to emit one or more sounds.
- the event client instructs the network client running on the participant computing device to obtain a list of available wireless networks matching the generated wireless network name
- the event client may instruct the network client running on the participant computing device to obtain a list of available wireless networks matching only a portion of the generated wireless network name. For example, if the generated wireless network name is "Product Demo", but no wireless network having this name is found, the event client may then generate a list of available wireless networks with names that comprise the name "Product”.
- other matching criteria may be used.
- the event client may instruct the network client running on the participant computing device to obtain a list of available wireless networks with names that comprise the same event room name.
- the event session is terminated using an event end process
- the event session may alternatively be terminated automatically at a scheduled end time of the event.
- an event client is stored in the event computing device 12 or the network management server 932, respectively, for participant computing devices to download
- no event client is stored in the event computing device 12 or the network management server 932.
- at least some event content e.g., shared screen images, files, audio/video clips, digital ink annotations, links, schedules, etc., is provided to participants via a web interface hosted in the web server 110 or 988.
- a participant computing device that does not have an event client installed thereon may still join the event session through the wireless network as described above.
- the participant computing device can launch a web browser.
- the captive portal 114 or 992 directs web requests to the web interface to allow the participant to access the event content.
- the collaboration system described above may be used to facilitate a variety of events.
- the collaboration system may be used for facilitating scheduled or ad-hoc meetings.
- Meeting participants who have the event client on their computing devices may run the event client to join the event session via wired or wireless connections, as well known in the art.
- Meeting participants who do not have the event client on their computing devices may join the event session by connecting to the appropriate wireless network or by using the wired connection 33 as described above.
- collaboration system may be used for facilitating classroom activities.
- the collaboration system sets the SSID and network key by using the ID and password of the instruction session (which is either manually set up by the instructor or automatically set up based on a predefined instruction schedule, depending on the implementation and system configuration).
- a student may join an instruction session using aforementioned methods.
- the collaboration system resets the SSID and network key to the ID and password of the upcoming instruction session, or, if no instruction session is scheduled to start, resets the SSID and network key to a randomly generated ID and password.
- the collaboration system maintains a list of registered participant computing devices.
- this list may be stored in a database, an XML file, a plain text file, or in other appropriate forms.
- a user may register a computing device in the collaboration system, e.g., by associating the physical address such as for example the Media Access Control (MAC) address of the computing device with the respective user identity (e.g., user ID) and registering the MAC address and the associated user identity to the list of registered participant devices.
- MAC Media Access Control
- the collaboration system uses the list of registered participant devices to join a participant computing device into an event session without asking for the event password.
- Figure 30 shows an exemplary process 1600 of joining a registered participant computing device into an event session.
- the process 1600 starts when an event session and the wireless network associated therewith are started (step 1602).
- the user of a registered computing device searches for a wireless network associated with the event session as described above, and, after finding it, sends a request to join the event wireless network.
- the network module of the event computing device receives the request (step 1604), and obtains the computing device type and identity, e.g., the MAC address, of the computing device (step 1606).
- the event computing device searches for the obtained MAC address in the list of registered computing devices (step 1608).
- step 1610 if the MAC address is found, the process proceeds to step 1614; otherwise if the MAC address is not found (i.e., the participant computing device is not registered in the list), the collaboration system then uses another authentication method to authenticate the computing device, e.g., by asking the user to provide a password or passphrase (step 1612).
- the collaboration system checks to determine if the user of the participant computing device is an invitee of the event session by using the MAC address obtained at step 1610 or the authentication result obtained at step 1612. If it is determined that the user of the computing device is not an invitee of the event session, the collaboration system rejects the request so that the participant computing device is excluded from accessing the event wireless network (step 1616). The process then ends (step 1622).
- the collaboration system joins the participant computing device to the event session by granting the computing device access to the event wireless network (step 1618).
- an IP address is assigned to the participant computing device.
- the collaboration system associates the IP address with the participant's user identity, and stores the IP address and the associated user identity (step 1620). The process then ends (step 1622).
- the event computing device displays the participant computer devices and the user identities associated therewith.
- Figure 31 shows an image 1800 presented on the display of the event computing device.
- the image 1800 comprises a top bar 1802 showing the event name 1804, password 1806, and the number 1808 of participant computing devices currently in the event session.
- the image 1800 also comprises a side bar 1810 showing the participant computing devices 1812 to 1818 that are currently in the event session, of which participant computing devices 1812 and 1814 joined the event session with authenticated user identities via the process shown in Figure 30, and participant computing devices 1816 and 1818 joined the event session by providing correct event passwords/passphrases.
- Each participant computing device 1812 to 1818 is represented by a thumbnail image indicating its device type.
- Each participant computing device 1812, 1814 joining to the event session with an authenticated user identity is also represented by a user identifier (e.g., user's first name) representing the user identity associated with the participant computing device.
- a user identifier e.g., user's first name
- Each participant computing device 1816 and 1818 joining to the event session by providing a correct event password/passphrase is represented by its device name.
- the web server in the event computing device also provides a webpage for authorized users, e.g., the event organizer or administrator, to view details of participant computing devices.
- Figure 32 shows a web browser 1900 displaying the details of participant computing devices in a list of records, with each record comprising a thumbnail image representing the type of the device, a user identifier, the IP address assigned to the device and the device identity.
- record 1902 comprises a thumbnail image 1904 representing the type of the device (a laptop computer), user identifier 1906 (e.g., first name), IP address 1908, and the device identity 1910, e.g., the MAC address.
- the device identity 1910 e.g., the MAC address.
- any other appropriate user interface may be used to display the details of participant computing devices.
- the authorized user may click or tap on the user identifier to modify it.
- the record 1912 shows that the participant computing device is associated with a less meaningful user identifier 1916.
- the authorized user may click on the user identifier 1916 to invoke an editing mode of this field, e.g., a text input box 1918, and modify the user identifier 1916.
- the modified user identifier is then stored in the collaboration system, and is used for representing the participant computing device thereafter in any event session.
- the authorized user may click or tap on the thumbnail image to change it to a different presentation, e.g., a picture of the user.
- Figure 33 shows a portable participant computing device 1940 joined to the event session and displaying in a graphic user interface 1942, the details of participant computing devices, after an authorized user has modified thumbnail images and user identifiers of participant computing devices. In this example shown, the thumbnail images have been changed to pictures of the respective users.
- the user identifier 1946 associated with the participant computing device 1920 (identified by its MAC address 01-02-03-04-05-06 or IP address 192.168.0.22) has been changed from "Ada's pad” to "Ada”, and the user identifier 1948 associated with the participant computing device 1922 (identified by its MAC address 00-aa-bb-cc-dd-ee or IP address 192.168.0.23) has been changed from "D23" to "Tom”.
- the collaboration system provides a dynamic captive portal to allow participants to share web content.
- Figure 34 shows an exemplary sequence diagram 1980 for sharing a web URL.
- the captive portal first sets the redirecting target (i.e., the target location to which HTTP requests will be redirected) to a default web portal predefined in the collaboration system (step 1982).
- the captive portal intercepts and redirects the HTTP request to the current redirecting target, i.e., the default web portal (step 1986).
- a presenter may send a sharing command to the captive portal to share a web location WEB URL, e.g., "http://www.smarttech.com” (step 1988).
- the captive portal registers WEB URL as the current redirecting target (step 1990).
- the captive portal intercepts and redirects the HTTP request to the current redirecting target, i.e., the web location WEB URL (step 1992).
- viewers trying to access any website are redirected to the web location WEB URL.
- the captive portal may recognize participant computing devices used by a subset of users (via MAC address or IP address), and not redirect any HTTP request sent therefrom.
- the subset of users may be predefined or defined by system administrator.
- the collaboration system provides a webpage-sharing bookmarklet for participants to easily share a webpage.
- a bookmarklet is a bookmark of a web browser that comprises a piece of script code such as for example a piece of JavaScript code.
- a participant may select the webpage-sharing bookmarklet, e.g., by clicking or tapping the webpage-sharing bookmarklet button in the bookmark toolbar, to execute the script code, which sends the address of the webpage currently shown in the browser to the captive portal, and instructs the captive portal to set it as the redirecting target.
- Figure 35 shows an example of a web browser 2000 comprising a bookmarklet "Share It" 2002. While the participant is browsing a website 2004 and wants to share it with other people in the collaboration session, the participant clicks the "Share It" bookmarklet 2002 to execute the script code thereof in the web browser 2000. The script code then sends the address of the current webpage
- the collaboration system allows participants to share their own content to other participants via a web browser.
- the default web portal includes a file sharing tool implemented using appropriate technologies such as for example HTML5.
- the file sharing tool allows a participant to drag and drop a file into the web browser, or select a file via a dialog. The user- selected file is then uploaded to the web server, and the captive portal redirects HTTP requests from other participants to the URL of the uploaded file.
- the collaboration system allows the authorized user to divide participants in the collaboration session into groups.
- Figure 36 is a flowchart 2020 showing steps of dividing participants into groups.
- the web server provides a web tool for the authorized user to divide participants into groups (step 2022).
- the authorized user is the able to access the web tool and set up groups.
- the web server receives input from authorized user (step 2024), and based on the user input, divides the MAC addresses of participant computing devices into groups (step 2026).
- the captive portal sets a redirecting target for each group (step 2028). In this embodiment, the redirecting target is set to the same default web portal for all groups.
- FIG. 37 is an exemplary sequence diagram 2040 for sharing a web location WEB URL within a participant group, GROUP A.
- a participant USER A who may be the authorized user such as the instructor, or a participant in group GROUP A, sends a command to the captive portal to share a web location WEB URL in group GROUP A (step 2042).
- the captive portal then registers WEB URL as the current redirecting target for group GROUP A (step 2044).
- the captive portal intercepts the HTTP request, and obtains the information of the sender (step 2048).
- FIGS 38 to 40 show an example of dividing participants to groups.
- the collaboration system provides a grouping tool to the authorized user, e.g., an instructor, for setting up groups.
- the grouping tool displays in its window 2070, icons 2072, 2074 and 2076 of all computing devices in the collaboration session.
- the authorized user is able to drag icons 2072, 2074 and 2076 to different locations in window 2070 to form a plurality of groups.
- the grouping information is submitted to the captive portal.
- the captive portal then divides the MAC addresses of the computing devices into groups based on the authorized user's submission. Shown in Figure 39, the captive portal assigns a distinct color 2082, 2084 and 2086 for each group, and sets a redirecting target for each group, which causes the browser of each computing device 2088 in the collaboration session to show the color 2082, 2084 or 2086 (represented in Figure 39 by different shadings) assigned to the group to which that computing device belongs.
- the captive portal also causes the event computing device (not shown) to display a message 2090 on the IWB 2092.
- the participants in the collaboration session may, with the help of the message 2090 displayed on the IWB 2092, find people in their group and start to work together.
- the collaboration system also comprises a logging software module that records user activities.
- the logging software module may record, for each time the authorized user shares content, which participant computing devices in the collaboration session have been redirected to the shared content, and which ones have not.
- the logging software module may record how frequently participants are sharing contents.
- the collaboration system may also record the words and phrases participants in the collaboration session have searched for, and generate a tag cloud of most searched terms for displaying on the IWB.
- an authorized user may add an "Eyes to the Front" bookmarklet to the browser running on the event computing device or their computing device.
- the script of the bookmarklet instructs the captive portal to redirect all HTTP requests to a reminder page reminding participants in the collaboration session to stop browsing websites and focus on the presentation of the authorized user.
- an authorized user may use the collaboration system to create a web-based quiz, which is hosted in the web server. When the authorized user starts the web-based quiz, the captive portal redirects any HTTP requests to the web address of the quiz to allow participants to take the quiz.
- the collaboration system comprises a web-based whiteboarding software tool providing a whiteboard canvas extendable within its two-dimensional plane, such as the whiteboarding software tool disclosed in U.S. Patent Application No. 13/738,355, entitled “Method of Displaying Input During a Collaboration Session and Interactive Board Employing the Same," to Tse, et al., filed on January 11, 2012, assigned to SMART Technologies ULC, the disclosure of which is incorporated herein by reference in its entirety.
- the captive portal redirects HTTP requests to the address of the web-based whiteboarding tool to allow participants in the collaboration session to work together. When participants in the collaboration session are divided into groups, each group is assigned to an individual whiteboarding session in the web-based whiteboarding tool, and the captive portal redirects the HTTP requests from each group to the respective whiteboarding session in the web-based whiteboarding tool.
- a collaboration system as described above may comprise more than one event computing device in an event site.
- the event computing devices in the collaboration system may be in various forms such as a desktop computer having an IWB, an IWB with a computing device integrated therein, a computing device in the form of a touch sensitive table, a computer with a non-touch-sensitive display, a laptop, etc.
- FIG 41 shows a schematic diagram of a collaboration system 2100 according to an alternative embodiment.
- the collaboration system 2100 comprises event computing devices 2102 and 2106, each functionally connecting to a wireless networking component (not shown) that may serve as an Access Point (AP).
- AP Access Point
- the wireless networking component is integrated into the event computing devices 2102 and 2106.
- the wireless networking component may of course be an independent device physically separated by functionally coupled to the respective event computing device.
- event computing device 2102 connects to an IWB 2104, and event computing device 2106 is in the form of a touch-sensitive table.
- event computing devices e.g., event computing device 2102
- creates a "signature" wireless network 2100 and other event computing devices join the signature wireless network 2100.
- Participant computing devices 21 10 may also join the signature wireless network using methods as described before.
- event computing devices 2102 and 2106, as well as the wireless network 2100 may be connected to servers and other networks such as for example, the Internet or a local area network within an organization, as described before.
- the signature wireless network refers to a wireless network having a predefined "signature", i.e., a predefined feature identifiable by computing devices within the range thereof.
- a predefined "signature” i.e., a predefined feature identifiable by computing devices within the range thereof.
- Multiple signature wireless networks with different SSIDs may have the same signature, and same vendor identity.
- the signature is embedded in the signal of the wireless network that is detectable by the computing devices within range.
- Each of the event computing devices 2102 and 2106 when started, detects if one or more signature wireless networks have been established, and determines whether to set up a signature wireless network based on the detection.
- Figure 42 is a flowchart showing steps performed during an event computing device start up process 2140.
- the event computing device uses its wireless networking component to scan for existing signature wireless networks (step 2144). If no signature wireless network is detected (step 2146), the event computing device then starts a signature wireless network by using a default SSID and a randomly generated password/passphrase, and becomes the host computing device of the signature wireless network (step 2148). The process then ends (step 2158).
- the event computing device detects a signature wireless network, it further checks to determine if more than one wireless networks exist (step 2150). If only one signature wireless network exists, the event computing device then automatically retrieves the SSID and password of the detected signature wireless network from the signal thereof (described later), and connects to the detected signature wireless network using the retrieved SSID and password (step 2152). The process then ends (step 2158).
- the event computing device detects two or more wireless networks (e.g., two or more wireless networks of which only one wireless network has a signature matching that of the event computing device), the event computing device presents to user a list of detected signature wireless networks, and requests user to select which wireless network the event computing device should join (step 2154). The event computing then automatically retrieves the SSID and password of the user-selected signature wireless network from the signal thereof, and joins the user-selected wireless network (step 2156), and the process ends (step 2158).
- two or more wireless networks e.g., two or more wireless networks of which only one wireless network has a signature matching that of the event computing device
- the event computing then automatically retrieves the SSID and password of the user-selected signature wireless network from the signal thereof, and joins the user-selected wireless network (step 2156), and the process ends (step 2158).
- each beacon signal frame comprises a frame header 2172, a frame body 2174 and a cyclic redundancy check (CRC) section 2176.
- CRC cyclic redundancy check
- the frame body 2174 comprises a plurality of fields, including a beacon interval field 2178, which is used by a computing device that enters power saving mode to determine when to wake up and receive the beacon signal; a timestamp field 2180 for computing devices to synchronize their local clock; the SSID field 2182 comprising the SSID of the wireless network; as well as other fields, as defined in relevant standards, e.g., IEEE 802.1 1.
- the frame body 2174 also comprises a password field 2184 comprising the password for the wireless network, encrypted in a manner that only the event computing devices can decrypt.
- the frame body 2174 comprises a WLAN start time field 2186 comprising a timestamp indicating the start time of the wireless network.
- the frame body 2174 also comprises a device property field 2188 indicating one or more properties of the event computing device, such as for example, the "signature", the device type (e.g., an IWB device or a touch table), etc., and a WLAN description field 2190 comprising a brief description of the signature wireless network.
- a device property field 2188 indicating one or more properties of the event computing device, such as for example, the "signature", the device type (e.g., an IWB device or a touch table), etc.
- WLAN description field 2190 comprising a brief description of the signature wireless network.
- Figure 44 is an exemplary sequence diagram 2200 illustrating an event computing device B joining the signature wireless network started by another event computing device A.
- event computing device A After event computing device A starts a signature wireless network following the steps shown in Figure 42, the event computing device A, as the host of the signature wireless network, periodically broadcasts the beacon signal comprising beacon frames as described above (step 2202).
- event computing device B detects the signature wireless network (step 2204). Then, event computing device B retrieves the information in received beacon frames, and decrypts the password of the signature wireless network therefrom using the known encryption key or public key, depending on the implementation (step 2206). The event computing device B then communicates with event computing device A and joins the signature wireless network using the SSID and password obtained from the beacon signal (step 2208).
- Figure 45 illustrates an exemplary dialog 2220 that the event computing device displays to enable the user to select a signature wireless network.
- the event computing device lists all detected signature wireless networks 2222 and 2224 in the dialog 2220.
- Each entry 2222, 2224 comprises information obtained from the fields in the frame body 2174 of the beacon frames 2170 of the respective signature wireless network, for example, an icon 2226 indicating the device type of the host computing device, the SSID 2228 and the WLAN description 2230.
- the user may tap or click on an entry 2222 or 2224 to select the signature wireless network to join.
- the event computing device sets up a signature wireless network.
- each event computing device executes a race condition solving algorithm after starting its signature wireless network.
- Figure 46 is a flowchart 2240 showing steps for solving race conditions.
- the process starts after the event computing device has determined that no signature wireless network is detected (step 2242). After the event computing device first starts a signature wireless network (step 2244), the event computing device scans for other signature wireless networks (step 2246). If no other signature wireless network is found (step 2248), the process ends (step 2258).
- the event computing device retrieves the WLAN start time data 2186 from the beacon signal of respective wireless networks, and checks to determine if any of the detected signature wireless networks was started earlier than the signature wireless network the event computing device started (step 2250). If no other signature wireless network was started earlier, the event computing device continue hosting the signature wireless network (step 2252) and the process then ends (step 2258).
- step 2250 If at step 2250, one or more signature wireless networks were started earlier, the event computing device then stops the signature wireless network it has started (step 2254), and connects to a detected signature wireless network (step 2256). As described above, if there exists only one other signature wireless network, the event computing device then automatically joins the detected signature wireless network and if there are two or more other signature wireless networks, the event computing device then asks the user to make a selection, and joins the user-selected wireless network. Then process then ends (step 2258).
- FIG 47 is an exemplary sequence diagram 2280 of a race condition being solved.
- event computing devices A and B start at about the same time.
- both event computing devices A and B start a respective signature wireless network WLAN A and WLAN B.
- event computing device A started the signature wireless network WLAN A at a timestamp 9000001 earlier than the signature wireless network WLAN B started by event computing device B at timestamp 9000002.
- event computing device A After starting the signature wireless network, event computing device A periodically broadcasts its beacon signal for the signature wireless network WLAN A (step 2282).
- Event computing device B also periodically broadcasts its beacon signal for the signature wireless network WLAN B (step 2284).
- event computing device B retrieves the WLAN start time data therefrom. Since the WLAN start timestamp 9000001 in the beacon signal from event computing device A is earlier than the start timestamp 9000002 of WLAN B, event computing device B stops its signature wireless network WLAN B (step 2286).
- event computing device A also receives the beacon signal from event computing device B.
- Event computing device A retrieves the WLAN start time data therefrom. Since the WLAN start timestamp 9000002 in the beacon signal from event computing device B is later than the start timestamp 9000001 of WLAN A, event computing device A ignores the signature wireless network WLAN B (step 2288).
- event computing device B After stopping the signature wireless network WLAN B, event computing device B then connects to event computing device A using the SSID and password retrieved from the beacon signal for signature wireless network WLAN A, and joins the signature wireless network WLAN A (step 2290).
- the collaboration system allows an event computing device in a signature wireless network to recover the wireless network when the original host computing device thereof has failed.
- Figure 48 is a flowchart 2320 showing steps of recovering a failed signature wireless network.
- the process starts when an event computing device joins a signature wireless network hosted by an event computing device (step 2322).
- Each event computing device in the signature wireless network monitors the status of the wireless network by periodically checking the beacon signal broadcasted by the host event computing device.
- a wireless network failure is detected when the event computing devices no longer receive the beacon signal from the host event computing device (step 2324).
- each event computing device automatically starts a signature wireless network using the same SSID and password of the failed wireless network (step 2326), and solves any race condition using the method described above (step 2328).
- the process ends (step 2330).
- an event computing device when started, detects whether a signature wireless network exists, and automatically joins a detected signature wireless network, or starts a signature wireless network if no signature wireless network is detected
- some event computing devices may always start a signature wireless network regardless of whether any signature wireless network exists.
- some event computing devices may only be allowed to join a signature wireless network.
- an event computing device may join a wireless network with no signature or a wireless network with a different signature.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method of establishing a collaborative event comprises creating an event session having an event identifier and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated with said event identifier.
Description
METHOD FOR ORGANIZING A COLLABORATIVE EVENT AND SYSTEM
EMPLOYING SAME
Field of the Invention
[0001] The present invention relates generally to collaboration systems and in particular, to a method for organizing a collaborative event and to a collaboration system employing the same.
Background of the Invention
[0002] Conferencing and other event management systems, such as
Microsoft® Live Meeting, Citrix® GoToMeeting®, SMART Bridgit™, and the like are well known. These systems allow participants at different geographical locations to participate in a collaborative session using computing devices, by sharing content, such as, screen images and files, or a common page on an interactive whiteboard (IWB). For example, the SMART Bridgit™ version 4.2 conferencing system offered by SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application comprises one or more servers and clients, and provides plug-ins for event scheduling programs, such as, Microsoft Exchange® or Microsoft Outlook®. An event may be scheduled in Microsoft Outlook® via a SMART Bridgit™ plug-in on a participant's computing device, by assigning a name, a start time and an end time to the event. Using a SMART Bridgit™ client program, a user may create an event session on the SMART Bridgit™ server to start an ad-hoc event. Other participants may join the event session using the SMART Bridgit™ client program running on their computing devices by entering the event name and any required password. In addition to sharing content, participants can annotate shared screen images by injecting digital ink thereon using a computer mouse, a touch screen, or an interactive whiteboard.
[0003] Unfortunately, these known systems have several drawbacks. For example, in order to join an event, a participant's computing device is required to have an appropriate client program installed thereon, otherwise the user is required to download and install the client program before being able to join the event. The user must then run the client program to connect to a host device or network in order to join the event or collaboration session. Accordingly, the participant is required to have knowledge of the particular uniform resource locator (URL) for the client
program to be downloaded, including any user access credentials. In addition, the participant is required to have knowledge of the URL of the server hosting the event including user access credentials. For a participant connecting remotely or wirelessly, knowledge of the network settings for the participant's computing device, such as the static IP address, DHCP server address, network service set identifier (SSID) and network key, is typically required. Accordingly, these systems demand the participant to have a certain level of understanding of computer networks, including knowledge of specific network details that may not be readily available to the participant.
Inevitably, the participant is often forced to seek technical support, and oftentimes the participant is precluded from participating in the event due to the inability to connect to the network or join the session.
[0004] Improvements are therefore generally desired. It is therefore an object to provide a novel method for organizing a collaborative event and a novel collaboration system employing the same.
Summary of the Invention
[0005] Accordingly, in one aspect there is provided a method of establishing a collaborative event, said method comprising creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated
with said event identifier.
[0006] In one embodiment, the method further comprises, prior to creating the event session, collecting event information relating to the collaborative event. The event information may comprise the event identifier and an event password. The method may further comprises communicatively coupling at least one participant computing device to the wireless network. Upon coupling of the at least one participant computing device to the wireless network, the participant computing device may be automatically caused to join the event session. The method may further comprise providing the event identifier and the event password to the at least one participant computing device prior to the coupling of the at least one participant computing device to the wireless network. The providing may comprise sending an electronic invitation message comprising the event identifier and the event password
to the at least one participant computing device and/or displaying the event identifier and the event password on a display at an event site of the collaborative event. In one form, the display may an interactive whiteboard.
[0007] In one form, the network identifier is derived from the event identifier by string manipulation. The string manipulation may comprise concatenating at least a portion of the event identifier with additional characters.
[0008] In one embodiment, the method further comprises setting a network key of the wireless network as the event password.
[0009] According to another aspect, there is provided a non-transitory computer-readable medium having embodied thereon a computer program for a collaborative event, said program comprising instructions which, when executed by processing structure, carry out the steps of creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated with said event identifier.
[00010] According to yet another aspect, there is provided an interactive whiteboard configured to communicate with processing structure conducting a collaborative event, said interactive whiteboard further being configured, during said collaborative event, to display an event identifier of an event session of said collaborative event; _an event password of said event session; and_content shared between said processing structure and at least one participant computing device communicatively coupled to said event session.
[00011] According to yet another aspect, there is provided a computerized method comprising receiving, from a user computing device, information concerning the location of content to be shared; intercepting a network request from another user computing device; and redirecting the intercepted network request to the location of said content.
[00012] According to yet another aspect, there is provided a computerized method comprising determining member participant computing devices of each group of participant computing devices; intercepting a network request from one of said participant computing devices; determining the group to which the participant
computing device that sent the intercepted network request belongs; and redirecting said the intercepted network request to a location assigned to said group.
[00013] According to yet another aspect, there is provided a method
comprising initiating, by a host computing device, a wireless network; and
broadcasting, by the host computing device, a signal comprising the identity of said wireless network and a password for accessing said wireless network.
[00014] According to yet another aspect, there is provided an apparatus comprising processing structure; wireless networking component functionally coupled to said processing structure, wherein said processing structure executes code that causes said apparatus at least to determine whether a wireless network having a predefined feature exists; and start a wireless network if the wireless network having a predefined feature is not detected.
[00015] According to yet another aspect, there is provided a method
comprising initiating, by a host computing device, a first wireless network; detecting a signal broadcasted by another computing device, said signal comprising a timestamp indicating the starting time of a second wireless network; comparing said timestamp with the start time of said first wireless network; and terminating said first wireless network if said timestamp indicates a time earlier than the start time of said first wireless network.
[00016] According to yet another aspect, there is provided a non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of receiving, from a user computing device, information concerning the location of content to be shared; intercepting a network request from another user computing device; and redirecting the intercepted network request to the location of said content.
[00017] According to yet another aspect, there is provided a non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of determining member participant computing devices of each group of participant computing devices; intercepting a network request from one of said participant computing devices; determining the group to which the participant computing device that sent the
intercepted network request belongs; and_redirecting said the intercepted network request to a location assigned to said group.
Brief Description of the Drawings
[00018] Embodiments will now be described more fully with reference to the accompanying drawings in which:
[00019] Figure 1 is a schematic diagram of a collaboration system;
[00020] Figure 2 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 1 ;
[00021] Figure 3 is a block diagram of a software architecture of a participant computing device forming part of the collaboration system of Figure 1 ;
[00022] Figure 4 is a block diagram of a software architecture of another participant computing device forming part of the collaboration system of Figure 1 ;
[00023] Figure 5A is a flowchart showing steps of an event scheduling request process used by the collaboration system of Figure 1 ;
[00024] Figure 5B is a flowchart showing steps of an event scheduling process used by the collaboration system of Figure 1 ;
[00025] Figure 6 is a flowchart showing steps of an event start process used by the collaboration system of Figure 1 ;
[00026] Figure 7 is a flowchart showing steps of an event start preparation process, forming part of the event start process of Figure 6;
[00027] Figure 8 is a flowchart showing steps of a participant computing device connection process used by the collaboration system of Figure 1 ;
[00028] Figure 9 is a flowchart showing steps of an event end process used by the collaboration system of Figure 1 ;
[00029] Figures 10 to 14 are exemplary graphical user interfaces presented by the collaboration system of Figure 1 during scheduling, starting and joining of an event;
[00030] Figure 15 is a graphical user interface presented by an event management module of an alternative collaboration system;
[00031] Figure 16 is a flowchart showing steps of an alternative event join process;
[00032] Figure 17 is a graphical user interface presented by an event client during the event join process of Figure 16;
[00033] Figure 18 shows the graphical user interface of Figure 17 including a wireless network dialogue box;
[00034] Figure 19 is a schematic diagram of another embodiment of a collaboration system;
[00035] Figure 20 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 19;
[00036] Figure 21 is a block diagram of a software architecture of a network management server forming part of the collaboration system of Figure 19;
[00037] Figure 22 is a flowchart showing steps of an event start preparation process used by the collaboration system of Figure 19;
[00038] Figure 23 is a graphical user interface presented by a web browser running on a participant computing device forming part of the collaboration system of Figure 19, after the participant computing device has joined an event;
[00039] Figure 24 is a schematic diagram of yet another embodiment of a collaboration system;
[00040] Figure 25 is a block diagram of a software architecture of a participant computing device forming part of the collaboration system of Figure 24;
[00041] Figure 26 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 24;
[00042] Figure 27 is a flowchart showing steps of a private network
establishment process used by the collaboration system of Figure 24;
[00043] Figure 28 is a schematic diagram of still yet another embodiment of a collaboration system;
[00044] Figure 29 is a block diagram of a software architecture of an event computing device forming part of the collaboration system of Figure 28;
[00045] Figure 30 shows an exemplary process of joining a registered computing device into an event session;
[00046] Figure 31 shows an image presented on the display of an event computing device;
[00047] Figure 32 shows a web browser displaying the details of participant computing devices;
[00048] Figure 33 shows a portable participant computing device in the event session displaying a user interface providing details of participant computing devices;
[00049] Figure 34 shows an exemplary sequence diagram for sharing a web URL with other users;
[00050] Figure 35 shows an exemplary authorized user's web browser;
[00051] Figure 36 is a flowchart showing steps of dividing users into groups;
[00052] Figure 37 is an exemplary sequence diagram for sharing a web URL with users in a user group;
[00053] Figures 38 to 40 show an example of dividing users to groups;
[00054] Figure 41 shows a schematic diagram of a collaboration system according to an alternative embodiment;
[00055] Figure 42 is a flowchart showing steps performed during an event computing device start up process;
[00056] Figure 43 shows an exemplary structure of a beacon signal frame;
[00057] Figure 44 is an exemplary sequence diagram illustrating an event computing device joining a signature wireless network created by another event computing device;
[00058] Figure 45 illustrates an exemplary dialog displayed by the event computing device to enable a user to select a signature wireless network;
[00059] Figure 46 is a flowchart showing steps for solving a race condition;
[00060] Figure 47 is an exemplary sequence diagram of a race condition being solved; and
[00061] Figure 48 is a flowchart showing steps of a failed signature wireless network recovery process.
Detailed Description of the Embodiments
[00062] A collaboration system and a method for joining a collaboration session in the collaboration system are described herein. The collaboration system comprises a plurality of computing devices in communication with each other over at least one network when a collaboration session has been established. Each of the
computing devices is configured to share content with the other computing devices, with the shared content being displayed on other computing devices. One or more of the computing devices is configured to accept input annotations made on displayed shared content, and to share the input annotations with other computing devices over the at least one network.
[00063] The computing devices may take a variety of forms such as for example personal computers, laptop computers, tablet computers, computer servers, computerized kiosks, personal digital assistants (PDAs), cellular phones,
smartphones, and the like. Regardless of the specific form, each computing device typically comprises, for example, a processing unit, system memory (volatile and/or non-volatile memory), other non-removable memory and/or optional removable memory (e.g. a hard disk drive, RAM, ROM, EEPROM, CD-ROM, DVD, flash memory, etc.), input/output devices (e.g. a display screen, a mouse, a keyboard, one or more buttons, a touchpad, a touch screen, an interactive board, etc.), and a system bus coupling the various components to the processing unit. The display screen can present various types of information to the user such as graphical and textual displays, and may also function as an input mechanism that accepts touch input made thereon using a pointer such as for example a pen tool, an eraser tool or a finger. One or more of the computing devices may also comprise networking capabilities using Ethernet, WiFi, and/or other network format, to enable connection to shared or remote drives, one or more networked computers, or other networked devices. One or more computing devices may be physically located in a collaboration room or other common location while other computing devices may be located at different
geographical locations.
[00064] Turning now to Figure 1, a collaboration system is shown and is generally identified by reference numeral 10. The collaboration system 10 comprises at least one event computing device 12 that is physically located at an event site, such as for example a meeting room. An interactive whiteboard (IWB) 14 comprising an interactive surface 16, such as the Model 885ix interactive whiteboard sold by SMART Technologies ULC, is connected to the event computing device 12. The IWB 14 is configured to display event content and to receive touch input applied thereon. A wireless network device 18 is coupled to the event computing device 12,
and is configured to provide a wireless network 20 over which participant computing devices 22 communicate. Although three participant computing devices 22 are shown, those of skill in the art will appreciate that this is simply for ease of illustration. More or fewer participant computing devices 22 may communicate over the wireless network 20. The event computing device 12 is configured to control the wireless network device 18 and to manage the wireless network 20.
[00065] In this embodiment, the wireless network 20 is assigned a wireless network service set identifier (SSID), and communications via the wireless network device 18 are encrypted using a security protocol, such as Wi-Fi Protected Access II (WPA2) protocol with a customizable network key. In order to participate in an event, a participant computing device 22 is required to identify the SSID of the wireless network 20 and send a corresponding network key thereto to
communicatively couple the participant computing device 22 to the wireless network 20.
[00066] Event computing device 12 is also communicatively coupled to a network 24 over either a wired connection, such as Ethernet, or a wireless connection, such as Wi-Fi™, Bluetooth™ etc. The network 24 may be a local area network (LAN) within an organization, a cellular network, the Internet, or a combination of different networks. A plurality of server computing devices, namely an event server 26 and a scheduling server 28, and one or more participant computing devices 30 also are in communication with the network 24. The server computing devices 26 and 28 and participant computing devices 30 may communicate with the networks 18 and 24 over a wireless connection, a wired connection or a combined wireless/wired connection.
[00067] Event server 26 is configured to manage event sessions by receiving and synthesizing audio, video and data streams, respectively, from event participants, and broadcasts the synthesized streams to the event participants. In this embodiment, the event server 26 is a SMART Bridgit™ server offered by SMART Technologies ULC. The scheduling server 28 is configured to manage the schedule of events or sessions. In this embodiment, the scheduling server 28 is a Microsoft Exchange Server® provided by Microsoft Corporation of Redmond, Washington, U.S.A.
[00068] The event computing device 12 and the participant computing devices 22 and 30 each have installed thereon an operating system (OS) such as, for example, Microsoft Windows®, Linux®, Mac OS X® etc. The event computing device 12 and the participant computing devices 22 and 30 may all be used to schedule an event. In this embodiment, the event computing device 12 may also be used to start or join an event session, and to control the wireless network device 18 in order to enable participant computing devices 22 to join the event session via the wireless network 20. The participant computing devices 30 may also be used to join the event session via the network 24.
[00069] The event computing device 12 and the participant computing devices 22 and 30 are configured to share content during an event, which may for example be a meeting, a conference or a collaboration session. The content may be a common screen image, for example. The shared content can be modified by event participants through annotation. For example, the shared content may be displayed on the IWB 14 connected to the event computing device 12, and event participants at the event site can modify the shared content through touch input applied to the IWB 14. The touch input may take the form of, for example, a mouse event or digital ink. Participants who join the event can also modify the shared content using input devices associated with their respective participant computing devices 22 and 30. These input devices may be, for example, computer mice, keyboards, touch screens, tablets, digital pens etc.
[00070] Figure 2 shows the software architecture 100 of the event computing device 12. Software architecture 100 comprises a scheduling client 102, such as, Microsoft Outlook® having a SMART Bridgit™ plug-in, an event management module 104, such as, SMART Meeting Pro™ Premium, a network module 106, a Dynamic Host Configuration Protocol (DHCP) server 108, a web server 1 10, an event client 112, and a captive portal module 1 14.
[00071] The scheduling client 102 is in communication with the scheduling server 28 via network 24, and is configured to set up and update the event schedule of the event computing device 12, and to notify the event management module 104 to start an event session at a scheduled starting time. The event management module 104 is in communication with the event server 26 via the network, and is configured
to create an event session thereon, and to exchange shared data therewith, such as for example shared screen images or annotations. The event management module 104 is also in communication with the network module 106, and is configured to set up a wireless network 20 using an event name and an event password.
[00072] The network module 106 is configured to control the wireless network device 18 for setting up the wireless network 20, as requested by the event
management module 104, and to manage wireless connections of the participant computing devices 22. The DHCP server 108 is configured to assign an IP address to each participant computing device 22 when it connects to the wireless network 20. The web server 1 10 comprises a web portal interface with a download link or uniform resource locator (URL) of the event client 112 that is stored in the event computing device 12. The captive portal 114 is configured to monitor network-related requests sent from participant computing devices 22, and to redirect at least some of the network-related requests to the web server 1 10.
[00073] Figure 3 shows the software architecture 120 of one of the participant computing devices 22. Software architecture 120 comprises a web browser 122, and a network client 126 configured to manage connections to the wireless network 20. The participant computing device 22 may also comprise an event client 124 stored therein, which is configured to communicate with the event server 26 to enable the participant computing device 22 to join an event session. However, the participant computing device 22 need not comprise the event client stored therein. In this case, the participant computing device 22 downloads the event client 1 12 from the web server 1 10 of the event computing device 12 prior to joining the event session.
[00074] Figure 4 shows the software architecture 140 of one of the participant computing devices 30. Software architecture 140 comprises a scheduling client 142 which is configured to communicate with the scheduling server 28 to set up and update event schedules. Software architecture 140 also comprises an event client 144. The event client 144 is configured to communicate with the event server 26 to enable the participant computing device 30 to join an event session. Software architecture 140 further comprises a network client 146 configured to manage wired or wireless connections to the network 24.
[00075] Figure 5A is a flowchart showing steps of an event scheduling request process used by the collaboration system 10, and which is generally indicated by reference numeral 180. Process 180 starts when a user of the event computing device 12 or one of the participant computing devices 30 invokes an event scheduling command via a user interface (UI) of the scheduling client 102 or 142, respectively (step 182). The event scheduling command comprises input data for scheduling an event that has been entered by the user. After the scheduling client 102 or 142 receives the entered input data (step 184), the scheduling client determines whether an event title is provided in the entered input data (step 186). If an event title is provided, the scheduling client 102 or 142 generates an event name based on the event title (step 188), and the process proceeds to step 192. If at step 186 it is determined that no event title is provided, the scheduling client 102 or 142 then generates an event name according to defined rules (step 190). In this embodiment, the defined rules direct the scheduling client 102 or 142 to generate an event name using the name of the user scheduling the event. At step 192, the scheduling client 102 or 142 determines whether an event password is provided in the entered input data. If an event password is provided, the process proceeds to step 194; otherwise, the scheduling client 102 or 142 generates a random event password (step 196), and the process proceeds to step 194. At step 194, scheduling client 102 or 142 sends the event scheduling request together with the event name and the event password to the scheduling server 28 (step 194), and the event scheduling request process ends (step 198).
[00076] Figure 5B is a flowchart showing steps of an event scheduling process used by the collaboration system 10, and which is generally indicated by reference numeral 200. Process 200 is carried out on the scheduling server 28. Upon receiving an event scheduling request from the scheduling client 102 or 142 of event computing device 12 or one of the participant computing devices 30 (step 202), the scheduling server 28 authenticates the request (step 204) by verifying that request parameters, such as the event name and the event password, have been provided. The scheduling server 28 then determines if the request parameters are valid (step 206). Upon determining that the request parameters are valid, the scheduling server 28 schedules the event (step 208) and sends an event notification to participants (step 210). In this
embodiment, the event notification is in the form of an invitation email, which comprises the event name and the event password, as well as a wireless network name and a network key, as will be further described below. It will be understood that the event notification need not comprise the wireless network name or the network key. The wireless network name and the network key may alternatively be communicated to participants in other ways.
[00077] If at step 206 the request parameters are determined to be invalid, then the scheduling server 28 proceeds to step 210 and sends an alert notification to the scheduling client 102 or 142 of the event computing device 12 or participant computing device 30, alerting the user of the event computing device 12 or participant computing device 30 to the error.
[00078] The scheduling server 28 coordinates with the event server 26 to start an event session at the scheduled date and time of the event. Figure 6 is a flowchart showing steps of an event start process used by the collaboration system 10, and which is generally indicated by reference numeral 240. Process 240 is carried out on the scheduling server 28, on the event server 26 and on the event computing device 12 associated with the event. Process 240 starts automatically at a first defined time period prior to the start of the event (step 242). In this embodiment, the first defined time period is five (5) minutes although other suitable time periods may be employed. The scheduling server 28 then checks the current availability of the event site booked for the event (step 244), such as for example an event or meeting room. If the event site is not currently available, such as for example, if it is currently occupied, then the scheduling server 28 sends a notification to the event site indicating that the event site needs to be vacated for the upcoming event (step 246). It will be understood that various methods may be used to notify the event site, depending on the collaboration system design and configuration. For example, the scheduling server 28 may send a message to the event computing device 12 instructing the event computing device 12 to display a notification message on the IWB 14 at the event site. After notification has been sent to the event site, the scheduling server 28 waits for a second defined time period, and the process returns to step 244 to determine whether the event site is available. In this embodiment, the second defined time period is one (1) minute although other suitable time periods may be employed.
[00079] If at step 244 it is determined that the event site is available, the scheduling server 28 sends a "start-event" message, comprising the event name and the event password, to the event server 26 (step 248). The event server 26 in turn creates an event session using the event name and password (step 250). The scheduling server 28 also sends a "reset-site" message to devices at the event site to reset these devices (step 252). These devices may be, for example, the event computing device 12, event room environment controls, audio and/or video devices, and the like. For example, upon receiving the "reset-site" message, the event computing device 12 may close files that are open, terminate any connections to an existing event session on the event server 26, and terminate running programs or threads associated with the existing event session. Once the event site has been reset, the scheduling server 28 sends a "prepare-event" message comprising the event name and the event password to the event computing device 12, and the event computing device 12 then prepares to start the event (step 254). Following step 254, the event start process 240 terminates (step 256).
[00080] Figure 7 better illustrates steps carried out during step 254 of event start process 240. After receiving the "prepare-event" message from the scheduling server 28 (step 282), the event management module 104 of the event computing device 12 connects the event computing device 12 to the event session on the event server 26 (step 284). The event management module 104 then generates a wireless network name based on the event name received from the event server 26, and instructs, via the network module 106, the wireless network device 18 to use the generated wireless network name as the SSID of the wireless network 20 (step 286). In this embodiment, the wireless network name or "Network ID" comprises an Event ID portion and a Site lD portion separated by a delimiter (e.g., "@"), namely, Network ID = Event_ID@Site_ID, where the Site lD is the name of the event site and the Event ID is determined from the event name. In this embodiment, the Event ID is the event name if the character length of the resulting Network ID is less than a threshold of thirty-two (32) characters. If the resulting Network ID has a character length that is greater than the threshold, then the Event ID is formed from a truncated event name such that the character length of the resulting Network ID is less than the threshold. For example, if an event named "Product Demo" is scheduled
to start in a room identified as "2C-001", then at step 286, the event management module 104 of the event computing device 12 generates a Network ID of "Product Demo@2C-001", which has a length of nineteen (19) characters, and instructs the wireless network device 18 to set the SSID of the wireless network 20 to the generated Network ID "Product Demo@2C-001". As another example, if an event named "Conferencing Product Planning" is scheduled to start in a room identified as "2C-002", then at step 286, the event management module 104 of the event computing device 12 generates a Network ID of "Conferencing Product Plan@2C- 002", which comprises a truncated event name so as to not exceed a length of thirty- two (32) characters. The event management module 104 subsequently instructs the wireless network device 18 to set the SSID of the wireless network 20 to the generated Network ID "Conferencing Product Plan@2C-002".
[00081] The event management module 104 of the event computing device 12 then generates a network key based on the event password received from the event server 26, and instructs the wireless network device 18, via the network module 106, to use the generated network key as the network key of the wireless network 20 (step 288). In this embodiment, the network key generated by the event management module 104 is the event password. The event management module 104 then resets the captive portal 114 (step 290), so that the captive portal 114 intercepts all HTTP requests that are received by the network module 106 from the wireless network device 18, and also displays the event name and the event password on the IWB 14 (step 292). The event management module 104 of the event computing device 12 also displays instructions for joining the event session on the IWB 14, together with a "Start Event" button and forces the IWB 14 to ignore all input except for touch input applied to the displayed "Start Event" button (step 294).
[00082] Figure 8 is a flowchart showing steps of a process used by the collaboration system 10 for joining a participant computing device 22 to an event session on the event server 26 via the wireless network 20, the process being generally indicated by reference numeral 340. As will be understood, during process 340, the participant computing device 22 is assumed to be located within the working range of wireless network 20, so that the participant computing device 22 can establish a wireless communication link with the wireless network device 18. Process
340 starts when the participant computing device 22 is conditioned to search for available wireless networks using a wireless network connection tool thereon (step 342). In this embodiment, the wireless network connection tool is the wireless network connection tool available as part of the Microsoft Windows XP® operating system, which is installed on the participant computing device 22. In response, the wireless network connection tool determines the available wireless networks within range of the participant computing device 22 and presents the available wireless networks in a list (step 344). When the user selects the wireless network 20 from the list that bears the network SSID derived from an event name known to the user and enters the network key, the participant computing device 22 connects to the wireless network 20 (step 346). Having connected to the wireless network 20, the DHCP server 108 assigns an IP address to the participant computing device 22.
[00083] The participant computing device 22 then awaits a command from the user (step 348). If the event client 124 is installed on the participant computing device 22, and the user initiates a command to start the event client (step 348), such as for example by double-clicking an icon of the event client on the participant computing device desktop, then the event client 124 is started (step 356). If at step 348 the user initiates a command to start or launch a web browser and the event client 124 is not installed on the participant computing device 22, then the web browser is started and an HTTP request bearing a web address is sent by the participant computing device 22 to the event computing device 12 via the wireless network 20 (step 350). The web address is a default home page, if one has been set, or a web address entered by the user. The captive portal 1 14 of the event computing device 12 intercepts the HTTP request and redirects it to the web server 110 (step 352). The web server 1 10 in turn responds to the HTTP request by sending a web page comprising a link for downloading the event client 1 12 to the participant computing device 22. After the user of the participant computing device 22 selects the link, the event client 112 is downloaded onto the participant computing device 22 (step 354), and is then started (step 356). As will be appreciated, the event client 1 12 can be downloaded as an installation package, a compressed file, an executable binary file, etc., and the downloaded event client may need to be installed before it can be executed, or it may be executed without installation.
[00084] Once the event client 1 12 or 124 has been started at step 356, the event client on the participant response device 22 determines the address of the event computing device 12, and obtains event information therefrom (step 358). In this embodiment, the event computing device 12 is the default gateway of the wireless network 20. Therefore, the event client 112 or 124 determines the address of the event computing device 12 by requesting the address of the default gateway. The event client then obtains from the event computing device 12 the address of the event server 26, and the event name and the event password of the event session to which the event computing device 12 is currently joined. The event client 112 or 124 then uses the obtained information to join the event session (step 360), and the process ends (step 362). Approaches for connecting participant computing device 30 to an event session via the network 24 are known in the art, and will not be described herein.
[00085] Figure 9 is a flowchart 380 showing steps of an event end process used by the collaboration system 10, and which is generally referred to by reference numeral 380. Process 380 starts when the event server 26 receives an "end-event" message (step 382). The "end-event" message is triggered by the event computing device 12, and causes an "End Event" button displayed on IWB 14 to be enabled. Also, an end-event procedure is invoked, during which tasks for ending the event are carried out (step 384). In this embodiment, the tasks for ending the event comprise terminating shared audio, video and data streams, terminating the event session, closing files that were opened during the event, generating event minutes, and changing the status of the event site to "available".
[00086] Following step 384, the scheduling server 28 checks to determine if any scheduled event is about to start (step 386). If it is determined that a scheduled event is about to start, then the scheduling server 28 starts the scheduled event session according to the event start process 240 described above (step 388); otherwise, the event computing device 12 resets the SSID and network key of the wireless network 20 (step 390). In this embodiment, the event computing device 12 runs a SMART Meeting Pro™ application, which automatically creates a new event in the event server 26 using a defined event name, such as for example the name of the event site, and a randomly generated password, when an event is terminated and no scheduled
event is about to start. Therefore, at step 390, after the new event is created, the event computing device 12 sets the SSID and network key of the wireless network 20 using the defined event name and the randomly generated event password, respectively. The end event process then ends (step 392).
[00087] Figures 10 to 14 show graphical user interfaces presented during an event in the form of a meeting. As mentioned above, scheduling client 102 or 142 may comprise Microsoft Outlook® having a SMART Bridgit™ plug-in. In this example, when an event scheduling command has been invoked, the scheduling client 102 or 142 presents a graphical user interface comprising a "new meeting" window 400, as shown in Figure 10. The window 400 comprises an event invitee field 402, in which desired event participants or invitees are entered, an event name field 404 ("Product Demo", in the example shown), an event site field 406 (2C-001, in the example shown), an event start-time field 408 and an event end-time field 410. The window 400 further comprises a "This is a SMART Bridgit meeting" selection box 412 that may be selected to indicate that an event session is to be scheduled on the event server 26. The window 400 also comprises a "Send" button 414 that may be selected to send an event scheduling request to the event scheduling server 28. Upon receipt of the event scheduling request, the event scheduling server 28 schedules the event at the date and time specified in fields 408 and 410.
[00088] Figure 1 1 shows an invitation email message window 440 received by a desired event participant specified in the event invitee field 402. The event invitation email message window 440 comprises an event host name 442, an event invitees list 444, an event name 446, an event site 448, an event start date and time 450, and a description 452 of the event. The description 452 comprises a link 454 for joining the event session, the event password 456, and instructions 458 for joining the event. If the event server 26 is accessible to the participant computing device of the desired event participant, namely if the event invitee is using a participant computing device 30 that is on the same network 24 as the event server 26, then the event invitee may select the link 454 and enter the event password 456 to join the event session, or may follow the instructions 458 to join the event session.
[00089] As described above, when the event is about to start, the scheduling server 28 checks the availability of the event site and, if the event site is available,
notifies the event server 26 to create an event session with the event name "Product Demo" and a randomly generated event password. The scheduling server 28 then notifies the event computing device 12 at the event site to join the event session. In this example, the event computing device 12 runs a SMART Meeting Pro™ Premium application that presents a graphical user interface comprising a window 500, as shown in Figure 12. After joining the event session "Product Demo", the SMART Meeting Pro™ Premium application displays the window 500, comprising the event name 502 and the event password 504 on the IWB 14. The SMART Meeting Pro™ Premium application locks the event computing device 12 and presents a dialogue box 506 in the window 500 comprising instructions 508 for joining the event via the wireless network 20 managed by the wireless network device 18 in the event room. The dialogue box 506 also comprises a "Start the meeting" button 510, which may be selected to unlock the event computing device 12 and to start the event session "Product Demo", and a "Close the meeting" button 512, which may be selected to unlock the event computing device 12 and end the event session. The SMART Meeting Pro™ Premium application also generates a wireless network name based on the event name ("Product Demo@2C-001" in the example shown), and a network key, which in this example is the same as the event password, and instructs the wireless network device 18 to set the SSID and the network key of the wireless network 20 accordingly.
[00090] A participant using a participant computing device 22 may then join the event session via the wireless network 20. To do so, the participant may use the wireless network connection tool included in the operating system of the participant computing device 22, which presents a graphical user interface comprising a window 540, as shown in Figure 13. Window 540 comprises a dynamically updated list 544 of wireless networks. In the example shown, the list 544 comprises a wireless network icon 546 identified as "Product Demo@2C-001", which is the SSID of the wireless network 20. The window 540 also comprises a "Connect" button 548, which may be selected once one of the wireless networks shown in the list 544 has been selected, in order to connect to the selected wireless network by entering the network key of the selected network.
[00091] After joining the wireless network 20, the participant may start or launch a web browser, such as for example, Microsoft Internet Explorer®, Firefox®, Safari®, etc., which presents a graphical user interface comprising a window 600 as shown in Figure 14. In the example shown, the web browser is Microsoft Internet Explorer®. Once the web browser has been started, the participant may enter an arbitrary web address into the address bar thereof, resulting in an HTTP request corresponding to the entered web address being redirected by the captive portal 1 14 of the event computing device 12 to the local web server 1 10 as described previously. A web page 602 generated from the web server 1 10 is then displayed in the window 600. The web page 602 comprises a link 604 to the event client 112, such as the SMART Bridgit™ client program. The participant may then select the link 604 to download and install the event client 1 12 on the participant computing device 22. Once installed, the event client 112 is executed to obtain the address of the default gateway, which in this embodiment, corresponds to the event computing device 12. The event client 1 12 also obtains the address of the event server 26, and the event name and the event password therefrom and uses the obtained information to join the participant computing device 22 to the event session.
[00092] The downloaded event client 1 12 may be stored by the participant computing device 22 so that when the participant wishes to join an event session in the future, once the participant computing device 22 has connected to the wireless network 20 associated with the event, the event client 112 can be launched to join the participant computing device 22 to the event session, as described above.
[00093] The collaboration system may also allow users to start and join ad-hoc event sessions. For example, in one such embodiment, a SMART Bridgit™ client program is installed on the event computing device 12 and is used as the event management module 104. Upon starting the SMART Bridgit™ client program, a graphical user interface comprising a window 640 is presented, as shown in Figure 15. The window 640 comprises a "Create New meeting" tab 642, which may be selected by a user for creating a new event. The window 640 also comprises an event name field 644 ("Project Planning", in the example shown), an event password field 646 and an event password confirmation field 648. The window 640 also comprises a "Create New Meeting" button 650, which may be selected by a user once information
has been entered in fields 644 to 648, to create an event session on the event server 26 having the name entered in field 644. After the event session has been created, the event computing device 12 generates a wireless network name and password based on the event name and the event password, and instructs the wireless network device 18 to set the SSID and network key of the wireless network 20 accordingly. Participant computing devices 22 may then join the event session, as described above.
[00094] In this embodiment, after the event ends, the corresponding event session in the event server 26 is terminated. The SMART Bridgit™ client program then instructs the wireless network device 18 to terminate the wireless network 20, such as for example, by instructing the wireless network device 18 to stop
communication with participant computing devices 22 connected thereto. The SMART Bridgit™ client program is then terminated in the event computing device 12.
[00095] As mentioned previously, the event client 124 may be pre-installed on one or more of the participant computing devices 22. In this case, each pre-installed event client 124 stores a user customizable default event server address. In this embodiment, when used to join an event, the pre-installed event client 124 first searches for the event in its default event server 26, and if the event is not found, the event client then searches for a wireless network 20 associated with the event.
[00096] Figure 16 is a flowchart showing steps performed by pre-installed event client 124 to join an event session, the process being generally indicated by reference numeral 700. Process 700 starts when the user invokes a command to execute the pre-installed event client 124 (step 702). In response, the event client 124 prompts the user to enter the event name and password (step 704). In this step, the event client 124 also prompts the user to enter an event site name. After receiving the event name, the event password and the event site name, the event client 124 then checks whether the default event server 26 is accessible by sending the default event server 26 a query message, such as for example, a "ping" message (step 706). If the default event server 26 is accessible, the event client 124 sends a query to the default event server 26 requesting the event name (step 708). If the default event server responds to the query with the event name (step 710), then the event client 124 joins the participant computing device 22 to the event session using the obtained event
name and password (step 726). If at step 710 the event name is not found by the default event server 26, the event join process proceeds to step 712.
[00097] If at step 706 the default event server 26 is not accessible, then the event client 124 generates a wireless network name and password using the same rules as those followed by the event computing device 12 during steps 286 and 288 of process 240 described above (step 712). In this embodiment, the wireless network ID is the event name concatenated with a Site lD, namely the event site name, using the delimiter character (e.g. "@"). If a Site lD is obtained at step 704, then the event client 124 generates a wireless network name by concatenating the event name to the delimiter character (e.g., "@") and the Site lD. If, however, no Site lD is obtained at step 704, then the event client 124 uses the event name as the wireless network name.
[00098] At step 714, the event client 124 instructs the network client 126 running on the participant computing device 22 to obtain a list of available wireless networks. The event client 124 then determines if any of the wireless networks in the list match the generated wireless network name (step 716), namely if the name of any of the wireless networks in the list is the same as, or begins with, the generated wireless network name. If no wireless network in the list matches the generated wireless network name, then the event client 124 displays an error message (step 718), and the event join process ends (step 728). If at step 716, only one wireless network in the list matches the generated wireless network name, then the event client 124 determines that the matched wireless network is the wireless network associated with the event, and connects to the matched wireless network using the network key generated at step 712 (step 722).
[00099] If at step 716 more than one wireless network in the list matches the generated wireless network name, then the event client 124 displays all matching wireless networks to the user and waits to receive a selection by the user of a wireless network to join (step 720). The event client 124 then connects to the wireless network selected by the user using the password generated at step 712 (step 722). After connecting to the wireless network, the event client 124 obtains the address of the event server 26, and the event name and password (step 724), and joins the event session (step 726), after which the event join process terminates (step 728).
[000100] Figure 17 shows a window of a graphical user interface presented by an event client 124 running on a participant computing device 22 during the process 700, the window being generally referred to by reference numeral 800. Window 800 is displayed when the event client 124 is executed. In the embodiment shown, the event is a meeting. Window 800 comprises an event name field 802 ("Product Demo", in the example shown) and an event password field 804. The window 800 also comprises an event site field 806, and an address field 810 in which the default event server address is displayed.
[000101] Window 800 further comprises a "Join Meeting" button 808. Upon selection of the button 808 by a user, the event client 124 determines whether the default event server address shown in field 810 is accessible. In the example shown, the participant computing device 22 is not yet connected to a wireless network, and thus the default event server address is not accessible. Accordingly, the event client 124 generates a wireless network name based on the information entered in fields 802 and 806. In the example shown, an event site name has not been entered in the event site field 806. The event client 124 therefore generates a wireless network name of "Product Demo". The event client 124 then instructs the network client 126 running on the participant computing device 22 to obtain a list of available wireless networks starting with the generated wireless network name. Once the list is obtained, the event client 124 displays the obtained list of available wireless networks in a dialogue box 840, as shown Figure 18. The dialogue box 840 comprises a list 842 of the available wireless networks matching the generated partial wireless network name. The window 840 further comprises a confirmation button 844, which may be selected after one of the wireless networks shown in the list 842 has been selected. Once button 844 has been selected, the event client 124 uses the generated password to connect to the selected wireless network, and then joins the specified event session.
[000102] In another related embodiment, the event information may be sent to desired event participants in an invitation email, as described above. In such an embodiment, the event client obtains the event name, event password and event site name from the invitation email.
[000103] Still other collaboration system configurations are possible. For example, Figure 1 shows another embodiment of a collaboration system, which is
generally indicated by reference numeral 900. As can be seen, in this embodiment collaboration system 900 comprises a plurality of event computing devices 12, each of which is physically located at an event site, such as for example an event or meeting room, and which is connected to an associated IWB 14. Each event computing device 12 is in communication with a network 24 over a wired or a wireless connection. Servers including an event server 26 and a scheduling server 28 and one or more participant computing devices 30 are also in communication with the network 24 over wired or wireless connections.
[000104] Collaboration system 900 also comprises a network management server 932 and a plurality wireless devices 918, such as for example wireless access points, connected to the network 24. The network management server 932 is configured to control the wireless devices 918 to manage a wireless network 920 covering the organization, including event sites having an event computing device 12 located therein. Each of the wireless network devices 918 may provide a wireless network service to one or more event sites, and more than one wireless device 918 may provide a wireless network service to the same event site.
[000105] The network management server 932 is configured to control the wireless devices 918 to create a virtual wireless network for each event. The virtual wireless network is at least a subset of the wireless network 920, but has a respective wireless network name, a respective network key, and respective access rights settings. In this embodiment, all virtual wireless networks have the same working range as, and thereby provide wireless network access to the same area as, the wireless network 920. However, in some embodiments, the network management server 932 may control the wireless devices 918 so that each virtual wireless network has its own wireless network coverage. As is further described below, when an event starts, the network management server 932 controls the wireless devices 918 to create a virtual wireless network for each event having a wireless network name and network key generated from the event name and the event password. An event participant may then select the virtual wireless network, and join the event session via the wireless network 920 using the participant computing device 22.
[000106] Figure 20 shows the software architecture of one of the event computing devices 12 forming part of collaboration system 900, and which is
generally identified by reference numeral 940. Software architecture 940 comprises a scheduling client 942, which is configured to communicate with the scheduling server 28 to set up and update event schedules, an event management module 944, which is configured to communicate with the event server 26 to join an event session, and a network client 946, which is configured to manage a wired or wireless connection to the network 24.
[000107] Figure 21 shows the software architecture of the network management server 932, and which is generally identified by reference numeral 980. The software architecture 980 of the network management server 932 comprises a network module 982, a DHCP server 984, a web server 988, an event client 990, and a captive portal module 992. The network module 982 is configured to control the wireless network 920, and to create and manage one or more virtual networks using the wireless network 920. Each virtual network is assigned a network ID, such as for example a network SSID, and is associated with an event, so that a participant may join an event by identifying the virtual network associated with the event. When a participant computing device 22 is connected to the wireless network 920, the DHCP server 984 assigns an IP address thereto. The web server 988 comprises a web portal interface with a download link to the event client 990 stored in the network management server 932. The captive portal 998 is configured to monitor network-related requests sent from the participant computing device 22, and to redirect at least some requests to the web server 988. Therefore, a participant computing device 22 connecting to the wireless network 920 may initiate a request to any web site, and the request is automatically redirected to the web portal interface to allow the user to download desired information such as the event client.
[000108] The collaboration system 900 uses an event scheduling request process and an event scheduling process that are similar to the event scheduling request and the event scheduling processes 180 and 200 described above with reference to Figures 5A and 5B, respectively. The collaboration system 900 also uses an event start process that is generally similar to the event start process 240 described above with reference to Figure 6. However, and referring to Figure 6, when an event is about to start and the event site is available (step 244), the scheduling server 28 forming part of collaboration system 900 sends "start-event" messages to the event server 26, the
relevant event computing device 12 and the network management server 932 (step 248). The event start process used by the collaboration system 900 uses steps 246, 250 and 252 of the event start process 240 shown in Figure 6.
[000109] Figure 22 shows steps carried out by the collaboration system 900 during step 254 of the event start process. After receiving "start-event" messages from the scheduling server 28, both the network management server 932 and the relevant event computing device 12 prepare to start the event. At step 1002, the network management server 932 and the event computing device 12 receive "start- event" messages from the scheduling server 28. The network management server 932 then creates a virtual wireless network having an S SID based on the event name (step 1004), and sets a network key based on the event password (step 1006). The network SSID and the network key are generated as described above. The network
management server 932 then resets the captive portal 992 (step 1008), and sends the network SSID to the event computing device 12 (step 1 100). The event computing device 12 then joins the event session (step 1 102), and displays the event name and password on the IWB 14 (step 1 104). The event computing device 12 may also display instructions for joining the event session using a virtual wireless network, as described above. The event computing device 12 then locks the IWB 14 and waits for the event session to start (step 1 106).
[000110] The collaboration system 900 uses a process for joining a participant computing device 22 to an event session that is generally similar to process 340 described above with reference to Figure 8, with the exception that, at step 358, the event client 990 obtains the address of the event server 26, the event name and the event password from the network management server 932. Given that the virtual wireless network is associated with the event, the network management server 932 detects the virtual wireless network that the participant computing device 22 is connected to, and determines the event server address, the event name and the event password, which are then sent to the participant computing device 22.
[000111] The collaboration system 900 also uses a process for ending an event that is generally similar to the event end process 340 described above with reference to Figure 9. During the event end process used by the collaboration system 900, the
network management server 932 deletes the virtual wireless network associated with the event.
[000112] In embodiments described above, once a participant computing device 22 has connected to the wireless network 20 or a virtual network of the wireless network 920, the captive portal 1 14 or 992 redirects all HTTP requests to the web server 110 or 988, respectively. After the participant computing device 22 has joined the event, the captive portal 1 14 or 992 stops redirecting HTTP requests, so that participant computing device 22 may access the Internet or other network resources. In some embodiments, once a participant computing device 22 has connected to the wireless network and has initiated an HTTP request, the captive portal does not redirect the HTTP request to the web server. Rather, the HTTP request is instead sent to the Internet to obtain the requested web pages. The requested web pages from the Internet may be displayed in a page frame which includes a download link to the event client 112, or 990.
[000113] For example, Figure 23 shows a window of a graphic user interface presented by a web browser running on a participant computing device 22 after the participant computing device has joined the event, and which is generally indicated by reference numeral 1 140. The window 1 140 comprises an address field 1 142 in which a participant enters a web address ("http://smarttech.com", in the example shown). A first portion 1 146 of page frame 1 144 shows the download link to the event client 1 12 or 990. The requested web page is returned and is displayed in a second portion 1 148 of the page frame 1144. Those skilled in the art will appreciate that other information may also be shown in the first portion 1 146 of the page frame 1 144.
[000114] Those skilled in the art will appreciate that, in some embodiments, the captive portal 1 14 or 992 may redirect all HTTP requests it receives from participant computing devices 22 to the web server 1 10 or 988.
[000115] In other alternative embodiments, after the participant computing device connects to a wireless network and enters a web address in the web browser, the captive portal 1 14 or 992 instructs the web server 110 to return the event client to the web browser, so as to trigger the web browser to display a dialogue box prompting the participant to download the event client. The participant then may choose to download and run the event client.
[000116] Those skilled in the art will appreciate that in some embodiments the collaboration system may not include a captive portal, in which case participants are required to enter the address of the web server in the web browser in order to download the event client.
[000117] Those skilled in the art will also appreciate that in some alternative embodiments, the event computing device 12 of collaboration system 10 or the network management server 932 of collaboration system 900 assigns IP addresses to pre-registered computing devices, so that these computing devices always have the same IP addresses when they join an event. In some related embodiments, the event computing device 12 may alternatively not comprise a DHCP module, and thus any computing device connecting to the wireless network 20 or 920 requires a
predetermined IP address. In another embodiment, the event computing device 12 or network management server 932 comprises a whitelist of computing devices, such as for example a list of media access control (MAC) addresses of computing devices, and thus only the computing devices pre-registered in the whitelist can connect to the wireless network 20 or 920. Similarly, in some alternative embodiments of collaboration system 900, some wireless devices 918 may be reserved such that only some pre-registered computing devices can join the wireless network 920 or a virtual network thereof via the reserved wireless devices 918. Therefore, an event session, together with the virtual wireless network associated therewith, communicated by these reserved wireless devices 918 can only be accessed by pre-registered computing devices.
[000118] In other embodiments, the collaboration system may further comprise a DNS server, which translates a domain name to a corresponding IP address.
[000119] Those skilled in the art will appreciate that various methods may be used to generate the name and password for the wireless network 20, or for a virtual network based on the wireless network 920. For example, in one alternative embodiment, the wireless network name and password, respectively, may be identical to the event name and password. In another embodiment, the event server 26 of collaboration system 10 maintains a list of generated wireless network names for ongoing events. When an event computing device 12 generates a wireless network name, it generates the wireless network name in a manner such that the generated
wireless network name is unique among the names of all ongoing events. For example, the event computing device 12 may first query the event server 26 to determine whether the event name has been used to generate a wireless network name for an ongoing event. If so, the event computing device 12 generates a wireless network name from the event name based on a predefined rule, as described above; otherwise, the event computing device 12 generates a wireless network name that is the same as the event name. In yet another embodiment, the event server 26 of the collaboration system 900 maintains a list of generated wireless network names for ongoing events, and the network management server 932 queries the event server 26 and generates a virtual wireless network name that is either the same as the event name or derived from the event name based on a predefined rule to ensure that the generated event name is unique among the names of all ongoing events. In still another embodiment, each wireless network name may be a unique, randomly generated name.
[000120] Although in the embodiment shown in Figure 19, a wireless network device 918 may provide wireless network service to multiple event sites, in other embodiments, each event site may alternatively be equipped with at least one wireless network device 918. In a related embodiment, a wireless network device 918 may alternatively be configured such that it only covers a limited area including the event site at which it is installed. The virtual wireless network for an event is created on the wireless network device 918 that is in or near to the event site hosting the event such that it is only detectable and accessible within a limited area including the event site. Therefore, a participant computing device 22 may only discover a limited number of virtual wireless networks. Alternatively, the network management server 932 maintains information pertaining to the coverage of each wireless network device 918. Accordingly, when generating a virtual wireless network name, the network management server 932 only checks the names of the virtual wireless networks detectable around the scheduled event site, and ensures that the generated virtual wireless network name is unique with respect to the names of those "neighbouring" virtual wireless networks. Therefore, the name of a virtual wireless network may be reused by a virtual wireless network at a remote event site.
[000121] Although in above embodiments the collaboration system 900 comprises multiple server computing devices, namely servers 26, 28 and 932, in some alternative embodiments, the servers 26, 28 and 932 may be implemented in a single computing device. In a related embodiment, the servers 26, 28 and 932 may be implemented on the event computing device 12.
[000122] Although the collaboration system 10 shown in Figure 1 comprises a network 24, servers 26 and 28 and one or more participant computing devices 30, in an alternative embodiment, the collaboration system 10 only comprises an event computing device 12 connected to an IWB 14 and a wireless network device 18 that allows one or more participant computing devices 22 to join the wireless network 20. Such a collaboration system may be used for ad-hoc events that are not required to be scheduled by a scheduling server.
[000123] In some alternative embodiments, at least some event computing devices 12 are not connected to IWBs. Rather, they may be connected to other types of displays such as for example cathode ray tube (CRT) monitors, liquid crystal display (LCD) screens or projectors.
[000124] Although in embodiments described above, network wireless devices 18 and 918 are shown as standalone devices, in some alternative embodiments, the network wireless devices 18 and 918 may be integrated into relevant computing devices or networking devices. For example, in an alternative embodiment, the wireless network device 18 may be integrated into the event computing device 12.
[000125] Although in above embodiments, network wireless devices 18 and 918 are described as Wi-Fi™ devices, in some alternative embodiments, other wireless devices are used. For example, the wireless devices 18 and 918 may be Bluetooth™ devices each having a device ID that may be modified by the collaboration system 10 or 900 to match an event name.
[000126] In yet another embodiment, an event computing device such as event computing device 12 in a first event or session may join a second event or session so that the first event is merged with the second event. In this case, the wireless network name associated with the first event is modified to match the name of the second event, e.g., using the wireless network name of the second event, or a different wireless network name is generated from the name of the second event. All
participants in the first event are also automatically moved into the second event. In a related embodiment, when a first event is merged with a second event, the event computing device of the first event checks whether a wireless network having a name corresponding with the second event has already been set up. If not, the event computing device of the first event creates a virtual network having a name corresponding with the second event. Therefore, computing devices connecting to either the wireless network of the first event or that of the second event will join to the same event. In a further related embodiment, an event may correspond to multiple (virtual) wireless networks having different names, each of which is generated according to predefined or user-defined rules.
[000127] Although in above embodiments, the wireless network 20 or 920 is encrypted, in some alternative embodiments, the wireless network 20 or 920 is not encrypted. Accordingly, in this case an event participant is able to join the wireless network 20 or 920 without providing a network key. However, the captive portal 114 or 992 blocks all network traffic from the participant computing device 22 until the participant launches a web browser and enters a web address, which is then redirected by the captive portal to a login page. After the participant enters the event password, the captive portal 114 or 992 redirects the web browser to a download page for downloading the event client 1 12 or 990, and the captive portal 114 or 992 terminates the blocking of the network traffic from the participant computing device 22.
[000128] In other embodiments, the event computing device 12 or the network management server 932 may alternatively not comprise any web server, and may instead comprise an FTP server. In one such embodiment, after a participant connects to a wireless network and enters a web address in the web browser, the captive portal 114 or 992 instructs the FTP server to return the event client 112 or 990, respectively, to the web browser, so as to trigger the web browser to display a dialogue box prompting the participant to download the event client.
[000129] Figure 24 shows another embodiment of a collaboration system, which is generally indicated by reference numeral 1200. Similar to collaboration system 10 described above with reference to Figure 1, collaboration 1200 comprises at least one event computing device 1202 that is physically located at the event site, such as for example a meeting room, and that is connected to an IWB 14. The event computing
device 1202 is in communication with a network 24 over either a wired or a wireless connection. One or more computing devices including event server 26, scheduling server 28 and one or more computing devices 30 are also connected to network 24, similar to collaboration system 10 described above.
[000130] A participant computing device 31 , for example, a guest computer used by a guest, is connected to the event computing device 1202. The participant computing device 31 may be any general purpose computing device, such as for example a laptop computer, that is equipped with a network interface in the form of, for example, an Ethernet port. Those skilled in the art will understand that other interfaces and/or ports may also be used.
[000131] Figure 25 shows the software architecture of the participant computing device 31 , and which is generally indicated by reference numeral 1220. The software architecture 1220 comprises an operating system 1226, a software service 1224, one or more applications 1222, and other components (not shown), such as for example, device drivers, other services, processes and related threads, including other applications, and the like. The software service 1224 may be, for example, a remote desktop service or a terminal service.
[000132] Figure 26 shows the software architecture of the event computing device 1202, and which is generally indicated by reference numeral 1300. The software architecture 1300 comprises a network module 106, a DHCP server 108 and a remote desktop client service 1302.
[000133] In operation, when the participant computing device 31 connects to the event computing device 1202 using an Ethernet cable 33 or other suitable connection, the event computing device 1202 creates a private network 19 between participant computing device 31 and the event computing device 1202. After the event computing device 1202 detects the participant computing device 31 connected thereto, the event computing device 1202 assigns an IP address to the participant computing device 31 using its DHCP server 108.
[000134] After assigning the IP address to the participant computing device 31 , the event computing device 1202 sends a request to the participant computing device 31 requesting a connection thereto using the Remote Desktop Protocol (RDP). A dialogue box requesting a username and a password is then displayed on the IWB 14.
After a user of the IWB 14 enters a correct username and password, such as for example the username and password of a user account that has access to the participant computing device 31 , the event computing device 1202 takes control of the participant computing device 31 ; namely the screen image of the participant computing device 31 is transmitted from the participant computing device 31 to the IWB 14, and input to the event computing device 1202 is redirected to the participant computing device 31.
[000135] As will be appreciated, the Remote Desktop Protocol (RDP) provides remote display and input capabilities over a network. A local machine executing an RDP client, such as for example the event computing device 1202, sends input data to, and receives display data from a remote device, such as for example the participant computing device 31, over a network, such as for example the network 19. Various types of network protocols are supported. RDP allows for separate virtual channels to carry different types of data, such as graphical presentation data, mouse input data, and keyboard input data. An RDP server on the remote device uses its own video driver to render display output by packing the rendering information into network packets using the RDP protocol and then sending them over the network to an RDP client on the local machine, such as for example the event computing device 1202. The RDP client receives rendering data and interprets the received network packets into corresponding local graphics application programming interface (API) calls to present images on its local display, such as for example IWB 14, for viewing. Input data is processed to redirect mouse and keyboard events to the RDP server. The RDP server uses its own virtual keyboard and mouse driver to receive keyboard and mouse events sent from an RDP client.
[000136] Figure 27 shows steps of a process carried out by the event computing device 1202 for establishing a private network 19 with the participant computing device 31 and for allowing the participant to share the screen of the participant computing device 31 to the IWB 14, the process being generally indicated by reference numeral 1400.
[000137] Process 1400 starts when event computing device 1202 is powered on and executes its software (step 1402), which includes the components of the software architecture 1300. The event computing device 1202 then awaits establishment of a
new connection (step 1404), such as for example by way of the Ethernet cable 33 connecting the participant computing device 31 to the event computing device 1202.
[000138] If the event computing device 1202 detects a new connection (step 1406), then it assigns a new IP address to the participant computing device 31 using its DHCP server 108 (step 1408). If at step 1406 no new connection is detected, then the process returns step 1404 to await a new connection. After the new IP address has been assigned, the event computing device 1202 then invokes the remote desktop client service 1302 using the newly assigned IP address as a parameter (step 1410), and logs in to the participant computing device 31 using the remote desktop service (step 1412). At this step, the user of the event computing device 1202 is prompted to provide a username and a password of a user account having access to the participant computing device 31. A remote desktop connection is established once the remote desktop client service 1302 logs in to the participant computing device 31 using the username and password provided by the user. The process then ends (step 1414).
[000139] At this point, if the software service 1224 of the participant computing device 31 is active and responsive to the remote desktop client service 1302, then the IWB 14 takes over the control of the participant computing device 31. The screen image of the participant computing device 31 is then displayed on the IWB 14, and the IWB 14 can then be used by the guest user for interactive presentation of content using the participant computing device 31.
[000140] As will be understood, the detection of a new connection (step 1406) may be implemented in several ways, depending on the configuration of the event computing device 1202 and the participant computing device 31. In this embodiment, the event computing device 1202 has installed thereon a Linux® operating system such as an Ubuntu ® distribution, version 9.04. The remote desktop client service 1302 is the rdesktop service running on the operating system, and the DHCP server 108 is a dhcp3 -server.
[000141] Software code, such as the Perl script presented below, is created and stored as a file having a file name myScript.
while ($line = <STDIN>)
{
If ($line =~ m/dhcpd: DHCPACK on ([0-9\.]+)/) {
$ip = $1;
system "rdesktop ". $ip;
}
}
[000142] The Perl script presented above may be executed in event computing device 1202, on the system log output that would be updated when an IP address is newly assigned, as described below.
tail -f I myScript
[000143] Those skilled in the art will understand that other forms of software code, such as for example shell scripts, batch files, executables, operating systems, such as for example Linux®, Windows®, Mac OS®, Unix®, and the like, may alternatively be used.
[000144] The DHCP server 108 in the event computing device 1202 running the Ubuntu® operating system may be set up by modifying respective files as shown in Table 1 below.
TABLE 1
File location Parameters added/modified
/ etc/defaults/dhcp3 -server INTERFACES="ethO"
/ etc/network/interfaces auto ethO
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
/etc/dhcp3/dhcpd.conf authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.2 192.168.1.254; option router 192.168.1.1;
}
[000145] After modifying the respective files as shown in Table 1, networking and DHCP server 108 may need to be restarted, in order to cause the above modifications to take effect, by using the following commands:
/etc/init . d/networking restart
/etc/init . d/dhcp3-server restart
[000146] In other embodiments, the collaboration system may alternatively be capable of managing events in an organization that provides both wired and wireless connectivity. For example, Figure 28 shows another embodiment of a collaboration system, which is generally indicated using reference numeral 1440. Collaboration system 1440 is generally similar to collaboration system 10 described above with reference to Figure 1, and like elements of systems 10 and 1440 are indicated using like reference numerals. System 1440 comprises an event computing device 1442 that controls a network device 1444 providing both wired and wireless connections, and which establishes a network 1446. The network 1446 allows participant computing devices 22 and 31 to connect thereto and to join an event session. The wireless network portion of the network 1446 is controlled by the event computing device 1442, via the network device 1444, and is set up having a network SSID and a network key that are generated based on the event name and the event password using the method described above. The wired portion of the network 1446 allows a participant computing device 31 to be connected to the event computing device 1442 via an Ethernet cable and using RDP, as described above.
[000147] Figure 29 shows the software architecture of the event computing device 1442, and which is generally indicated by reference numeral 1550. The software architecture 1500 is generally a combination of the software architectures 100 and 1300 described above with reference to Figures 2 and 26, respectively, and comprises a scheduling client 102, an event management module 104, a network module 106, a DHCP server 108, a web server 110, an event client 112, a captive portal module 114 and a remote desktop service 1302. These modules are generally similar to, and are referred to using like reference numerals, as those referred to in Figures 2 and 26.
[000148] The event management module 104 on the event computing device 1442 is configured to connect the event computing device 1442 to an event session,
and to generate a wireless network name based on the event name. Once the wireless network name has been generated, the event management module 104 is configured to instruct wireless the network device 1444 to set the SSID of the wireless network portion of network 1446 as the generated wireless network name.
[000149] Advantageously, event computing device 1442 is configured to detect whether a wired connection has been established with participant computing device 31 via Ethernet cable 33, and if so, to assign a new IP address to participant computing device 31using DHCP server 108. After a new IP address has been assigned, the event computing device 1442 invokes the remote desktop client service 1302 (with the newly assigned IP address as a parameter thereof), to share the desktop of the participant computing device 31 to IWB 14, and to enable the user of IWB 14 to interact with content in participant computing device 31 , as described above with reference to the collaboration system 1200 shown in Figure 24. In this embodiment, the participant computing device 31 joins the same network 1446 as the computing devices 22. However, in other embodiments, the event computing device 1442 may alternatively create a private network different from network 1446 when the participant computing device 31 is connected thereto.
[000150] In other embodiments, wireless network device 1444 may be integrated into, and form a part of, the event computing device 1442.
[000151] In other embodiments, at least some of the event computing devices 1202 shown in Figure 1 or at least some of the event computing devices 1442 shown in Figure 28 are not connected to an IWB 14. Instead, they are connected to other types of displays such as for example CRT monitors, LCD screens or projectors.
[000152] Although in embodiments described above, the collaboration system comprises an IWB having a generally vertical interactive surface, in other
embodiments, the collaborative system may alternatively comprise an interactive device, such as for example a touch table, that has a horizontal interactive surface. In still other embodiments, the system may alternatively comprise an interactive device having an interactive surface positioned at any orientation suitable for an event.
[000153] In other embodiments, the DHCP server may be replaced with a network management module having an alternative protocol (e.g., Bootstrap Protocol (BOOTP)). When a participant computing device connects to the network, the
network management module dynamically selects a network address (e.g. an IP address) from a pool of addresses maintained by a network configuration server, and assigns the selected network address to the participant computing device.
[000154] Although in embodiments described above, the collaboration system comprises one or more participant computing devices 30 connecting to the network 24, in other embodiments, the collaboration system may alternatively not comprise any participant computing devices 30.
[000155] Although in embodiments described above, the scheduling server sends notification to the event site that it needs to be vacated for an upcoming event, where the notification is a message sent by the scheduling server to the event computing device at the event site to display a notifications message on the IWB located therein, in other embodiments, other notifications may alternatively be used. For example, in other embodiments in which the collaboration system comprises an event room controller, the scheduling server may send notification to the event room controller to cause at least one light source in the event room to flash intermittently, lighting in the event room to be adjusted to a predefined level, and/or a speaker in the event room to emit one or more sounds.
[000156] Although in embodiments described above, the event client instructs the network client running on the participant computing device to obtain a list of available wireless networks matching the generated wireless network name, in other embodiments, the event client may instruct the network client running on the participant computing device to obtain a list of available wireless networks matching only a portion of the generated wireless network name. For example, if the generated wireless network name is "Product Demo", but no wireless network having this name is found, the event client may then generate a list of available wireless networks with names that comprise the name "Product". In still other embodiments, other matching criteria may be used. For example, the event client may instruct the network client running on the participant computing device to obtain a list of available wireless networks with names that comprise the same event room name.
[000157] Although in embodiments described above, the event session is terminated using an event end process, in other embodiments, the event session may alternatively be terminated automatically at a scheduled end time of the event.
[000158] Although in the embodiments shown in Figures 1, 19 and 28, an event client is stored in the event computing device 12 or the network management server 932, respectively, for participant computing devices to download, in some alternative embodiments, no event client is stored in the event computing device 12 or the network management server 932. In these embodiments, at least some event content, e.g., shared screen images, files, audio/video clips, digital ink annotations, links, schedules, etc., is provided to participants via a web interface hosted in the web server 110 or 988. A participant computing device that does not have an event client installed thereon may still join the event session through the wireless network as described above. When the participant computing device joins the event session, the participant computing device can launch a web browser. As described above, the captive portal 114 or 992 directs web requests to the web interface to allow the participant to access the event content.
[000159] The collaboration system described above may be used to facilitate a variety of events. For example, in some embodiments, the collaboration system may be used for facilitating scheduled or ad-hoc meetings. Meeting participants who have the event client on their computing devices may run the event client to join the event session via wired or wireless connections, as well known in the art. Meeting participants who do not have the event client on their computing devices may join the event session by connecting to the appropriate wireless network or by using the wired connection 33 as described above.
[000160] As another example, in some alternative embodiments, the
collaboration system may be used for facilitating classroom activities. When an instruction or collaboration session starts, the collaboration system sets the SSID and network key by using the ID and password of the instruction session (which is either manually set up by the instructor or automatically set up based on a predefined instruction schedule, depending on the implementation and system configuration). A student may join an instruction session using aforementioned methods. When the instruction session terminates (e.g., under the instructor's command or at the scheduled instruction session termination time), the collaboration system resets the SSID and network key to the ID and password of the upcoming instruction session,
or, if no instruction session is scheduled to start, resets the SSID and network key to a randomly generated ID and password.
[000161] In an alternative embodiment, the collaboration system maintains a list of registered participant computing devices. Depending on the implementation, this list may be stored in a database, an XML file, a plain text file, or in other appropriate forms. A user may register a computing device in the collaboration system, e.g., by associating the physical address such as for example the Media Access Control (MAC) address of the computing device with the respective user identity (e.g., user ID) and registering the MAC address and the associated user identity to the list of registered participant devices.
[000162] The collaboration system uses the list of registered participant devices to join a participant computing device into an event session without asking for the event password. Figure 30 shows an exemplary process 1600 of joining a registered participant computing device into an event session.
[000163] The process 1600 starts when an event session and the wireless network associated therewith are started (step 1602). The user of a registered computing device searches for a wireless network associated with the event session as described above, and, after finding it, sends a request to join the event wireless network. The network module of the event computing device receives the request (step 1604), and obtains the computing device type and identity, e.g., the MAC address, of the computing device (step 1606). The event computing device then searches for the obtained MAC address in the list of registered computing devices (step 1608). At step 1610, if the MAC address is found, the process proceeds to step 1614; otherwise if the MAC address is not found (i.e., the participant computing device is not registered in the list), the collaboration system then uses another authentication method to authenticate the computing device, e.g., by asking the user to provide a password or passphrase (step 1612).
[000164] At step 1614, the collaboration system checks to determine if the user of the participant computing device is an invitee of the event session by using the MAC address obtained at step 1610 or the authentication result obtained at step 1612. If it is determined that the user of the computing device is not an invitee of the event session, the collaboration system rejects the request so that the participant computing
device is excluded from accessing the event wireless network (step 1616). The process then ends (step 1622).
[000165] If, at step 1614, it is determined that the user of the participant computing device is an invitee of the event session, the collaboration system joins the participant computing device to the event session by granting the computing device access to the event wireless network (step 1618). As a part of the access-granting process, an IP address is assigned to the participant computing device. The collaboration system associates the IP address with the participant's user identity, and stores the IP address and the associated user identity (step 1620). The process then ends (step 1622).
[000166] In this embodiment, the event computing device displays the participant computer devices and the user identities associated therewith. Figure 31 shows an image 1800 presented on the display of the event computing device. The image 1800 comprises a top bar 1802 showing the event name 1804, password 1806, and the number 1808 of participant computing devices currently in the event session. The image 1800 also comprises a side bar 1810 showing the participant computing devices 1812 to 1818 that are currently in the event session, of which participant computing devices 1812 and 1814 joined the event session with authenticated user identities via the process shown in Figure 30, and participant computing devices 1816 and 1818 joined the event session by providing correct event passwords/passphrases. Each participant computing device 1812 to 1818 is represented by a thumbnail image indicating its device type. Each participant computing device 1812, 1814 joining to the event session with an authenticated user identity is also represented by a user identifier (e.g., user's first name) representing the user identity associated with the participant computing device. Each participant computing device 1816 and 1818 joining to the event session by providing a correct event password/passphrase is represented by its device name.
[000167] The web server in the event computing device also provides a webpage for authorized users, e.g., the event organizer or administrator, to view details of participant computing devices. Figure 32 shows a web browser 1900 displaying the details of participant computing devices in a list of records, with each record comprising a thumbnail image representing the type of the device, a user identifier,
the IP address assigned to the device and the device identity. For example, record 1902 comprises a thumbnail image 1904 representing the type of the device (a laptop computer), user identifier 1906 (e.g., first name), IP address 1908, and the device identity 1910, e.g., the MAC address. Of course, those skilled in the art will appreciate that other information of participant computing devices may also be shown, and any other appropriate user interface may be used to display the details of participant computing devices.
[000168] The authorized user may click or tap on the user identifier to modify it. For example, in Figure 32, the record 1912 shows that the participant computing device is associated with a less meaningful user identifier 1916. The authorized user may click on the user identifier 1916 to invoke an editing mode of this field, e.g., a text input box 1918, and modify the user identifier 1916. The modified user identifier is then stored in the collaboration system, and is used for representing the participant computing device thereafter in any event session.
[000169] The authorized user may click or tap on the thumbnail image to change it to a different presentation, e.g., a picture of the user. Figure 33 shows a portable participant computing device 1940 joined to the event session and displaying in a graphic user interface 1942, the details of participant computing devices, after an authorized user has modified thumbnail images and user identifiers of participant computing devices. In this example shown, the thumbnail images have been changed to pictures of the respective users. The user identifier 1946 associated with the participant computing device 1920 (identified by its MAC address 01-02-03-04-05-06 or IP address 192.168.0.22) has been changed from "Ada's pad" to "Ada", and the user identifier 1948 associated with the participant computing device 1922 (identified by its MAC address 00-aa-bb-cc-dd-ee or IP address 192.168.0.23) has been changed from "D23" to "Tom".
[000170] In a related embodiment, the collaboration system provides a dynamic captive portal to allow participants to share web content. Figure 34 shows an exemplary sequence diagram 1980 for sharing a web URL. As shown, when the collaboration system starts, the captive portal first sets the redirecting target (i.e., the target location to which HTTP requests will be redirected) to a default web portal predefined in the collaboration system (step 1982). As described before, when any of
the viewers (e.g., students) in the instruction session sends an HTTP request (step 1984), the captive portal intercepts and redirects the HTTP request to the current redirecting target, i.e., the default web portal (step 1986).
[000171] A presenter (e.g., an instructor) may send a sharing command to the captive portal to share a web location WEB URL, e.g., "http://www.smarttech.com" (step 1988). After receiving the sharing command, the captive portal registers WEB URL as the current redirecting target (step 1990). Thus, when any of the viewers (e.g., students) in the instruction session sends an HTTP request (step 1992), the captive portal intercepts and redirects the HTTP request to the current redirecting target, i.e., the web location WEB URL (step 1992). As a result, viewers trying to access any website are redirected to the web location WEB URL.
[000172] In another related embodiment, the captive portal may recognize participant computing devices used by a subset of users (via MAC address or IP address), and not redirect any HTTP request sent therefrom. The subset of users may be predefined or defined by system administrator.
[000173] In yet another related embodiment, the collaboration system provides a webpage-sharing bookmarklet for participants to easily share a webpage. As those skilled in the art will understand, a bookmarklet is a bookmark of a web browser that comprises a piece of script code such as for example a piece of JavaScript code. A participant may select the webpage-sharing bookmarklet, e.g., by clicking or tapping the webpage-sharing bookmarklet button in the bookmark toolbar, to execute the script code, which sends the address of the webpage currently shown in the browser to the captive portal, and instructs the captive portal to set it as the redirecting target.
[000174] Figure 35 shows an example of a web browser 2000 comprising a bookmarklet "Share It" 2002. While the participant is browsing a website 2004 and wants to share it with other people in the collaboration session, the participant clicks the "Share It" bookmarklet 2002 to execute the script code thereof in the web browser 2000. The script code then sends the address of the current webpage
"http://www.smarttech.com/learning" to the captive portal. The captive portal upon receipt of the web address sets it as the redirecting target. As a result, when any participant sends an HTTP request, the captive portal redirects the request to the shared web address.
[000175] In another embodiment, the collaboration system allows participants to share their own content to other participants via a web browser. In this embodiment, the default web portal includes a file sharing tool implemented using appropriate technologies such as for example HTML5. The file sharing tool allows a participant to drag and drop a file into the web browser, or select a file via a dialog. The user- selected file is then uploaded to the web server, and the captive portal redirects HTTP requests from other participants to the URL of the uploaded file.
[000176] In yet another embodiment, the collaboration system allows the authorized user to divide participants in the collaboration session into groups. Figure 36 is a flowchart 2020 showing steps of dividing participants into groups. When the process starts, the web server provides a web tool for the authorized user to divide participants into groups (step 2022). The authorized user is the able to access the web tool and set up groups. The web server in turn receives input from authorized user (step 2024), and based on the user input, divides the MAC addresses of participant computing devices into groups (step 2026). The captive portal then sets a redirecting target for each group (step 2028). In this embodiment, the redirecting target is set to the same default web portal for all groups.
[000177] After dividing participants into groups, the authorized user may share different content to different groups. A participant of a group may also share content to other participants in the same group. Figure 37 is an exemplary sequence diagram 2040 for sharing a web location WEB URL within a participant group, GROUP A.
[000178] A participant USER A, who may be the authorized user such as the instructor, or a participant in group GROUP A, sends a command to the captive portal to share a web location WEB URL in group GROUP A (step 2042). The captive portal then registers WEB URL as the current redirecting target for group GROUP A (step 2044). When any of the participants in group GROUP A sends an HTTP request (step 2046), the captive portal intercepts the HTTP request, and obtains the information of the sender (step 2048). Then, the captive portal determines the group that the sender is in by using the sender information (e.g., IP address), which in this example is GROUP A, and determines the redirecting target of the group, which in this example is WEB URL (step 2048). The captive portal then redirects the HTTP request to WEB URL (step 2050).
[000179] Figures 38 to 40 show an example of dividing participants to groups. As shown in Figure 38, the collaboration system provides a grouping tool to the authorized user, e.g., an instructor, for setting up groups. The grouping tool displays in its window 2070, icons 2072, 2074 and 2076 of all computing devices in the collaboration session. The authorized user is able to drag icons 2072, 2074 and 2076 to different locations in window 2070 to form a plurality of groups. After the authorized user has completed computing device grouping and clicked on the confirmation button 2078, the grouping information is submitted to the captive portal. The captive portal then divides the MAC addresses of the computing devices into groups based on the authorized user's submission. Shown in Figure 39, the captive portal assigns a distinct color 2082, 2084 and 2086 for each group, and sets a redirecting target for each group, which causes the browser of each computing device 2088 in the collaboration session to show the color 2082, 2084 or 2086 (represented in Figure 39 by different shadings) assigned to the group to which that computing device belongs. The captive portal also causes the event computing device (not shown) to display a message 2090 on the IWB 2092. As shown in Figure 40, the participants in the collaboration session may, with the help of the message 2090 displayed on the IWB 2092, find people in their group and start to work together.
[000180] In some related embodiments, the collaboration system also comprises a logging software module that records user activities. For example, the logging software module may record, for each time the authorized user shares content, which participant computing devices in the collaboration session have been redirected to the shared content, and which ones have not. As another example, the logging software module may record how frequently participants are sharing contents. As all Internet activities of the computing devices in the collaboration session go through the captive portal, the collaboration system may also record the words and phrases participants in the collaboration session have searched for, and generate a tag cloud of most searched terms for displaying on the IWB.
[000181] The collaboration system described above allows authorized users to implement various functions and activities. For example, an authorized user may add an "Eyes to the Front" bookmarklet to the browser running on the event computing device or their computing device. When the authorized user selects the "Eyes to the
Front" bookmarklet, the script of the bookmarklet instructs the captive portal to redirect all HTTP requests to a reminder page reminding participants in the collaboration session to stop browsing websites and focus on the presentation of the authorized user. As another example, an authorized user may use the collaboration system to create a web-based quiz, which is hosted in the web server. When the authorized user starts the web-based quiz, the captive portal redirects any HTTP requests to the web address of the quiz to allow participants to take the quiz.
[000182] In an alternative embodiment, the collaboration system comprises a web-based whiteboarding software tool providing a whiteboard canvas extendable within its two-dimensional plane, such as the whiteboarding software tool disclosed in U.S. Patent Application No. 13/738,355, entitled "Method of Displaying Input During a Collaboration Session and Interactive Board Employing the Same," to Tse, et al., filed on January 11, 2012, assigned to SMART Technologies ULC, the disclosure of which is incorporated herein by reference in its entirety. In this embodiment, the captive portal redirects HTTP requests to the address of the web-based whiteboarding tool to allow participants in the collaboration session to work together. When participants in the collaboration session are divided into groups, each group is assigned to an individual whiteboarding session in the web-based whiteboarding tool, and the captive portal redirects the HTTP requests from each group to the respective whiteboarding session in the web-based whiteboarding tool.
[000183] Those skilled in the art will appreciate that a collaboration system as described above may comprise more than one event computing device in an event site. The event computing devices in the collaboration system may be in various forms such as a desktop computer having an IWB, an IWB with a computing device integrated therein, a computing device in the form of a touch sensitive table, a computer with a non-touch-sensitive display, a laptop, etc.
[000184] Figure 41 shows a schematic diagram of a collaboration system 2100 according to an alternative embodiment. The collaboration system 2100 comprises event computing devices 2102 and 2106, each functionally connecting to a wireless networking component (not shown) that may serve as an Access Point (AP). In this embodiment, the wireless networking component is integrated into the event computing devices 2102 and 2106. However, the wireless networking component
may of course be an independent device physically separated by functionally coupled to the respective event computing device.
[000185] In this embodiment, event computing device 2102 connects to an IWB 2104, and event computing device 2106 is in the form of a touch-sensitive table. As will be described later, one of the event computing devices, e.g., event computing device 2102, creates a "signature" wireless network 2100, and other event computing devices join the signature wireless network 2100. Participant computing devices 21 10 may also join the signature wireless network using methods as described before. Although not shown in this figure, event computing devices 2102 and 2106, as well as the wireless network 2100, may be connected to servers and other networks such as for example, the Internet or a local area network within an organization, as described before.
[000186] The signature wireless network refers to a wireless network having a predefined "signature", i.e., a predefined feature identifiable by computing devices within the range thereof. Multiple signature wireless networks with different SSIDs may have the same signature, and same vendor identity. Usually the signature is embedded in the signal of the wireless network that is detectable by the computing devices within range.
[000187] Each of the event computing devices 2102 and 2106, when started, detects if one or more signature wireless networks have been established, and determines whether to set up a signature wireless network based on the detection. Figure 42 is a flowchart showing steps performed during an event computing device start up process 2140.
[000188] After an event computing device starts, the event computing device uses its wireless networking component to scan for existing signature wireless networks (step 2144). If no signature wireless network is detected (step 2146), the event computing device then starts a signature wireless network by using a default SSID and a randomly generated password/passphrase, and becomes the host computing device of the signature wireless network (step 2148). The process then ends (step 2158).
[000189] If at step 2146, the event computing device detects a signature wireless network, it further checks to determine if more than one wireless networks exist (step
2150). If only one signature wireless network exists, the event computing device then automatically retrieves the SSID and password of the detected signature wireless network from the signal thereof (described later), and connects to the detected signature wireless network using the retrieved SSID and password (step 2152). The process then ends (step 2158).
[000190] If at step 2150, the event computing device detects two or more wireless networks (e.g., two or more wireless networks of which only one wireless network has a signature matching that of the event computing device), the event computing device presents to user a list of detected signature wireless networks, and requests user to select which wireless network the event computing device should join (step 2154). The event computing then automatically retrieves the SSID and password of the user-selected signature wireless network from the signal thereof, and joins the user-selected wireless network (step 2156), and the process ends (step 2158).
[000191] In this embodiment, the host computing device embeds the password of the signature wireless network in the beacon signal it broadcasts to all computing devices within the range of its wireless network. Figure 43 shows an exemplary structure of a beacon signal frame 2170. As can be seen, each beacon signal frame comprises a frame header 2172, a frame body 2174 and a cyclic redundancy check (CRC) section 2176.
[000192] The frame body 2174 comprises a plurality of fields, including a beacon interval field 2178, which is used by a computing device that enters power saving mode to determine when to wake up and receive the beacon signal; a timestamp field 2180 for computing devices to synchronize their local clock; the SSID field 2182 comprising the SSID of the wireless network; as well as other fields, as defined in relevant standards, e.g., IEEE 802.1 1. The frame body 2174 also comprises a password field 2184 comprising the password for the wireless network, encrypted in a manner that only the event computing devices can decrypt. Those skilled in the art will appreciate that many existing encryption technologies may be used for encrypting the password embedded in the password field 2184, for example, by using an encryption method with an encryption code known to all event computing devices, or by using a public-key cryptography technology (e.g., PGP) with a public key known to all event computing devices.
[000193] For resolving race conditions (described further herein), the frame body 2174 comprises a WLAN start time field 2186 comprising a timestamp indicating the start time of the wireless network. The frame body 2174 also comprises a device property field 2188 indicating one or more properties of the event computing device, such as for example, the "signature", the device type (e.g., an IWB device or a touch table), etc., and a WLAN description field 2190 comprising a brief description of the signature wireless network.
[000194] Figure 44 is an exemplary sequence diagram 2200 illustrating an event computing device B joining the signature wireless network started by another event computing device A.
[000195] After event computing device A starts a signature wireless network following the steps shown in Figure 42, the event computing device A, as the host of the signature wireless network, periodically broadcasts the beacon signal comprising beacon frames as described above (step 2202). When another event computing device B at a location within the range of the signature wireless network starts, event computing device B detects the signature wireless network (step 2204). Then, event computing device B retrieves the information in received beacon frames, and decrypts the password of the signature wireless network therefrom using the known encryption key or public key, depending on the implementation (step 2206). The event computing device B then communicates with event computing device A and joins the signature wireless network using the SSID and password obtained from the beacon signal (step 2208).
[000196] Figure 45 illustrates an exemplary dialog 2220 that the event computing device displays to enable the user to select a signature wireless network. As shown, the event computing device lists all detected signature wireless networks 2222 and 2224 in the dialog 2220. Each entry 2222, 2224 comprises information obtained from the fields in the frame body 2174 of the beacon frames 2170 of the respective signature wireless network, for example, an icon 2226 indicating the device type of the host computing device, the SSID 2228 and the WLAN description 2230. The user may tap or click on an entry 2222 or 2224 to select the signature wireless network to join.
[000197] As described above, if the event computing device does not detect any existing signature wireless network, the event computing device sets up a signature wireless network. In situations where two event computing devices start at about the same time, both may determine that no signature wireless network exists, and therefore, both may set up their own signature wireless network (referred to as a race condition). To solve this issue, in some embodiments, each event computing device executes a race condition solving algorithm after starting its signature wireless network. Figure 46 is a flowchart 2240 showing steps for solving race conditions.
[000198] The process starts after the event computing device has determined that no signature wireless network is detected (step 2242). After the event computing device first starts a signature wireless network (step 2244), the event computing device scans for other signature wireless networks (step 2246). If no other signature wireless network is found (step 2248), the process ends (step 2258).
[000199] If at step 2248, one or more other signature wireless networks are found, the event computing device retrieves the WLAN start time data 2186 from the beacon signal of respective wireless networks, and checks to determine if any of the detected signature wireless networks was started earlier than the signature wireless network the event computing device started (step 2250). If no other signature wireless network was started earlier, the event computing device continue hosting the signature wireless network (step 2252) and the process then ends (step 2258).
[000200] If at step 2250, one or more signature wireless networks were started earlier, the event computing device then stops the signature wireless network it has started (step 2254), and connects to a detected signature wireless network (step 2256). As described above, if there exists only one other signature wireless network, the event computing device then automatically joins the detected signature wireless network and if there are two or more other signature wireless networks, the event computing device then asks the user to make a selection, and joins the user-selected wireless network. Then process then ends (step 2258).
[000201] Figure 47 is an exemplary sequence diagram 2280 of a race condition being solved. As shown, event computing devices A and B start at about the same time. As neither event computing device detects any existing signature wireless network, both event computing devices A and B start a respective signature wireless
network WLAN A and WLAN B. However, event computing device A started the signature wireless network WLAN A at a timestamp 9000001 earlier than the signature wireless network WLAN B started by event computing device B at timestamp 9000002.
[000202] After starting the signature wireless network, event computing device A periodically broadcasts its beacon signal for the signature wireless network WLAN A (step 2282). Event computing device B also periodically broadcasts its beacon signal for the signature wireless network WLAN B (step 2284). When event computing device B receives the beacon signal from event computing device A, event computing device B retrieves the WLAN start time data therefrom. Since the WLAN start timestamp 9000001 in the beacon signal from event computing device A is earlier than the start timestamp 9000002 of WLAN B, event computing device B stops its signature wireless network WLAN B (step 2286).
[000203] At the same time, event computing device A also receives the beacon signal from event computing device B. Event computing device A retrieves the WLAN start time data therefrom. Since the WLAN start timestamp 9000002 in the beacon signal from event computing device B is later than the start timestamp 9000001 of WLAN A, event computing device A ignores the signature wireless network WLAN B (step 2288).
[000204] After stopping the signature wireless network WLAN B, event computing device B then connects to event computing device A using the SSID and password retrieved from the beacon signal for signature wireless network WLAN A, and joins the signature wireless network WLAN A (step 2290).
[000205] In some embodiments, the collaboration system allows an event computing device in a signature wireless network to recover the wireless network when the original host computing device thereof has failed. Figure 48 is a flowchart 2320 showing steps of recovering a failed signature wireless network.
[000206] The process starts when an event computing device joins a signature wireless network hosted by an event computing device (step 2322). Each event computing device in the signature wireless network monitors the status of the wireless network by periodically checking the beacon signal broadcasted by the host event computing device. A wireless network failure is detected when the event computing
devices no longer receive the beacon signal from the host event computing device (step 2324). When the wireless network failure has been detected, each event computing device automatically starts a signature wireless network using the same SSID and password of the failed wireless network (step 2326), and solves any race condition using the method described above (step 2328). The process then ends (step 2330).
[000207] Although in the above description, an event computing device, when started, detects whether a signature wireless network exists, and automatically joins a detected signature wireless network, or starts a signature wireless network if no signature wireless network is detected, in an alternative embodiment, some event computing devices may always start a signature wireless network regardless of whether any signature wireless network exists. In another embodiment, some event computing devices may only be allowed to join a signature wireless network.
[000208] Those skilled in the art will appreciate that an event computing device may join a wireless network with no signature or a wireless network with a different signature.
[000209] Although embodiments have been described above with reference to the accompanying drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.
Claims
1. A method of establishing a collaborative event, said method comprising:
creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated
with said event identifier.
2. The method of claim 1 , further comprising:
prior to creating said event session, collecting event information relating to said collaborative event.
3. The method of claim 2, wherein said event information comprises the event identifier and an event password.
4. The method of claim 3, further comprising:
communicatively coupling at least one participant computing device to said wireless network.
5. The method of claim 4, further comprising:
upon coupling of said at least one participant computing device to said wireless network, automatically causing said at least one participant computing device to join said event session.
6. The method of claim 5, further comprising:
providing said event identifier and said event password to said at least one participant computing device prior to coupling of said at least one participant computing device to said wireless network.
7. The method of claim 6, wherein said providing further comprises: sending an electronic invitation message comprising said event identifier and said event password to said at least one participant computing device.
8. The method of claim 6, wherein said providing further comprises:
displaying said event identifier and said event password on a display at an event site of said collaborative event.
9. The method of claim 8, wherein said displaying is carried out on an interactive surface.
10. The method of any one of claims 3 to 8, wherein said network identifier is derived from said event identifier by string manipulation.
1 1. The method of claim 10, wherein said string manipulation comprises concatenating at least a portion of said event identifier with additional characters.
12. The method of any one of claims 3 to 8, further comprising:
setting a network key of said wireless network as said event password.
13. The method of claim 2, further comprising:
generating at least one of the event identifier and an event password based on the event information.
14. The method of claim 13, further comprising:
communicatively coupling at least one participant computing device to said wireless network.
15. The method of claim 14, further comprising:
upon coupling of said at least one participant computing device to said wireless network, automatically causing said at least one participant computing device to join said event session.
16. The method of claim 15, further comprising:
providing said event identifier and said event password to said at least one participant computing device prior to said coupling of said at least one participant computing device to said wireless network.
17. The method of claim 16, wherein said providing further comprises:
sending an electronic invitation message comprising said event identifier and said event password to said at least one participant computing device.
18. The method of claim 16, wherein said providing further comprises:
displaying said event identifier and said event password on a display at an event site of said collaborative event.
19. The method of claim 18, wherein said displaying is carried out on an interactive surface.
20. The method of any one of claims 13 to 19, wherein said network identifier is derived from said event identifier by string manipulation.
21. The method of claim 20, wherein said string manipulation comprises concatenating at least a portion of said event identifier with additional characters.
22. The method of any one of claims 13 to 19, further comprising:
setting a network key of said wireless network as said event password.
23. A non-transitory computer-readable medium having embodied thereon a computer program for a collaborative event, said program comprising instructions which, when executed by processing structure, carry out the steps of:
creating an event session having an event identifier; and setting up a wireless network to which one or more participant computing devices can connect having a network identifier associated with said event identifier.
24. An interactive whiteboard configured to communicate with processing structure conducting a collaborative event, said interactive whiteboard further being configured, during said collaborative event, to display:
an event identifier of an event session of said collaborative event; an event password of said event session; and
content shared between said processing structure and at least one participant computing device communicatively coupled to said event session.
25. The interactive whiteboard of claim 24, wherein said shared content comprises:
a common screen image shared by said processing structure and said at least one participant computing device.
26. The interactive whiteboard of claim 25, wherein said shared content further comprises:
annotations made to said shared content during said event session.
27. The interactive whiteboard of claim 26, wherein said annotations comprise at least one of touch input and digital ink input on said interactive whiteboard.
28. A computerized method comprising:
receiving, from a user computing device, information concerning the location of content to be shared;
intercepting a network request from another user computing device; and
redirecting the intercepted network request to the location of said content.
29. The method of claim 28, wherein said information is a sharing command directed to a portal configured to intercept network requests.
30. The method of claim 29, wherein said sharing command comprises a web universal source locator and wherein said network request is an HTTP request.
31. The method of claim 28, wherein said information is generated by a web browser running on said user computing device.
32. The method of claim 31 , wherein said information is generated by a webpage-sharing bookmarklet of said web browser.
33. A computerized method comprising:
determining member participant computing devices of each group of participant computing devices;
intercepting a network request from one of said participant computing devices;
determining the group to which the participant computing device that sent the intercepted network request belongs; and
redirecting said the intercepted network request to a location assigned to said group.
34. The method of claim 33, wherein network requests from participant computing devices of different groups that are intercepted, are redirected to different locations.
35. The method of claim 34, wherein the network requests are HTTP requests and wherein each location is a different web URL.
36. A method comprising:
initiating, by a host computing device, a wireless network; and broadcasting, by the host computing device, a signal comprising the identity of said wireless network and a password for accessing said wireless network.
37. The method of claim 36, wherein said signal is a beacon signal broadcast within the range of said wireless network.
38. The method of claim 37, further comprising:
extracting the identity and password from said signal; and using the extracted identity and password to connect a participant computing device to the wireless network.
39. The method of any one of claims 36 to 38, further comprising encrypting the password in said signal.
40. The method of any one of claims 36 to 39, further comprising:
resolving race conditions when more than one wireless network is initialized.
41. The method of claim 40 wherein said resolving comprises:
after initializing said wireless network, determining if a signal has been generated by another computing device signifying the existence of another wireless network;
if so, comparing a timestamp representative of a creation time of the initiated wireless network, with a timestamp in the generated signal to determine the earlier created wireless network; and
maintaining only the earlier created wireless network.
42. An apparatus comprising:
processing structure;
wireless networking component functionally coupled to said processing structure, wherein said processing structure executes code that causes said apparatus at least to:
determine whether a wireless network having a predefined feature exists; and start a wireless network if the wireless network having a predefined feature is not detected.
43. The apparatus of claim 42, wherein said processing structure further executes code that causes the apparatus to:
join a detected wireless network if at least one wireless network having said predefined feature is detected.
44. A method comprising:
initiating, by a host computing device, a first wireless network;
detecting a signal broadcasted by another computing device, said signal comprising a timestamp indicating the starting time of a second wireless network;
comparing said timestamp with the start time of said first wireless network; and
terminating said first wireless network if said timestamp indicates a time earlier than the start time of said first wireless network.
45. A non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of:
receiving, from a user computing device, information concerning the location of content to be shared;
intercepting a network request from another user computing device; and
redirecting the intercepted network request to the location of said content.
46. A non-transitory computer readable medium embodying executable code, that when executed by a computing device causes the computing device to perform the steps of: determining member participant computing devices of each group of participant computing devices;
intercepting a network request from one of said participant computing devices;
determining the group to which the participant computing device that sent the intercepted network request belongs; and
redirecting said the intercepted network request to a location assigned to said group.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2866918A CA2866918A1 (en) | 2012-03-28 | 2013-01-29 | Method for organizing a collaborative event and system employing same |
EP13769438.6A EP2832120A4 (en) | 2012-03-28 | 2013-01-29 | Method for organizing a collaborative event and system employing same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261617006P | 2012-03-28 | 2012-03-28 | |
US61/617,006 | 2012-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013142953A1 true WO2013142953A1 (en) | 2013-10-03 |
Family
ID=49236592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2013/000073 WO2013142953A1 (en) | 2012-03-28 | 2013-01-29 | Method for organizing a collaborative event and system employing same |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130262686A1 (en) |
EP (1) | EP2832120A4 (en) |
CA (1) | CA2866918A1 (en) |
WO (1) | WO2013142953A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016018612A1 (en) * | 2014-07-30 | 2016-02-04 | Symbol Technologies, Llc | Private wireless communication network for guest users |
US9674698B2 (en) | 2014-07-22 | 2017-06-06 | Nokia Technologies Oy | Method and apparatus for providing an anonymous communication session |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9973554B2 (en) * | 2012-06-29 | 2018-05-15 | Adobe Systems Incorporated | Interactive broadcasting between devices |
FR2996086B1 (en) * | 2012-09-25 | 2014-10-24 | Kadrige | METHOD FOR REMOTELY PRESENTING BETWEEN AT LEAST TWO TERMINALS CONNECTED THROUGH A NETWORK |
US9553773B2 (en) * | 2013-02-05 | 2017-01-24 | Cisco Technology, Inc. | Learning machine based computation of network join times |
CN104052782B (en) * | 2013-03-15 | 2020-09-11 | 腾讯科技(深圳)有限公司 | Information sharing method and system |
US11074618B2 (en) * | 2013-06-13 | 2021-07-27 | Blackberry Limited | Method and apparatus pertaining to history-based content-sharing recommendations |
KR101832042B1 (en) * | 2013-07-31 | 2018-02-23 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | System with projector unit and computer |
JP2015037200A (en) * | 2013-08-12 | 2015-02-23 | ソニー株式会社 | Radio terminal, radio terminal search processing method and radio communication system |
CN103729138A (en) * | 2013-12-18 | 2014-04-16 | 乐视致新电子科技(天津)有限公司 | Display screen based physical button simulating method and electronic device |
US10511553B2 (en) * | 2013-12-30 | 2019-12-17 | International Business Machines Corporation | Pass through sharing of resources |
US8943140B1 (en) * | 2014-03-26 | 2015-01-27 | Ankit Dilip Kothari | Assign photographers on an event invite and automate requesting, uploading, and sharing of photos and videos for an event |
TWI531244B (en) * | 2014-03-31 | 2016-04-21 | 鴻海精密工業股份有限公司 | Method and system for processing video data of meeting |
US9839061B2 (en) | 2014-09-05 | 2017-12-05 | Qualcomm Incorporated | Establishing and configuring dynamic subscriptions |
US10285058B2 (en) * | 2015-01-09 | 2019-05-07 | Comcast Cable Communications, Llc | Providing secure Wi-Fi in an open Wi-Fi environment |
WO2016185174A1 (en) * | 2015-05-15 | 2016-11-24 | Wi-5 Technologies Ltd | Wireless access point and method |
US10289966B2 (en) * | 2016-03-01 | 2019-05-14 | Fmr Llc | Dynamic seating and workspace planning |
KR101850203B1 (en) * | 2016-04-11 | 2018-04-18 | 라인 가부시키가이샤 | Method and system for interworking applications between devices |
US11314799B2 (en) | 2016-07-29 | 2022-04-26 | Splunk Inc. | Event-based data intake and query system employing non-text machine data |
US11227208B2 (en) | 2016-07-29 | 2022-01-18 | Splunk Inc. | Automated data-generation for event-based system |
US10956481B2 (en) | 2016-07-29 | 2021-03-23 | Splunk Inc. | Event-based correlation of non-text machine data |
US10552728B2 (en) | 2016-07-29 | 2020-02-04 | Splunk Inc. | Automated anomaly detection for event-based system |
US20210344991A1 (en) * | 2016-10-13 | 2021-11-04 | Skreens Entertainment Technologies, Inc. | Systems, methods, apparatus for the integration of mobile applications and an interactive content layer on a display |
TWI653905B (en) * | 2016-12-28 | 2019-03-11 | 瑞昱半導體股份有限公司 | Method for wirelessly connecting to internet |
US10678940B2 (en) * | 2017-12-29 | 2020-06-09 | Motorola Mobility Llc | Event media distribution |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080132215A1 (en) | 2006-12-01 | 2008-06-05 | Yahoo! Inc. | User initiated invite for automatic conference participation by invitee |
US20100061538A1 (en) | 2008-09-09 | 2010-03-11 | David Coleman | Methods and Systems for Calling Conference Participants to Establish a Conference Call |
WO2010036260A1 (en) * | 2008-09-26 | 2010-04-01 | Hewlett-Packard Development Company, L.P. | Directing an attendee of a collaboration event to an endpoint |
US20120243408A1 (en) * | 2009-05-29 | 2012-09-27 | Nokia Corporation | Method and apparatus for providing a collaborative reply over an ad-hoc mesh network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298341B1 (en) * | 1999-09-22 | 2001-10-02 | Raredomains.Com, Llc | System and method for generating domain names and for facilitating registration and transfer of the same |
US7299403B1 (en) * | 2000-10-11 | 2007-11-20 | Cisco Technology, Inc. | Methods and apparatus for obtaining a state of a browser |
US7120667B2 (en) * | 2001-10-30 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Method and system for ad hoc networking of computer users |
US20040025026A1 (en) * | 2002-08-02 | 2004-02-05 | Karp Alan H. | System-specific passwords |
US7761710B2 (en) * | 2005-04-05 | 2010-07-20 | Mcafee, Inc. | Captive portal system and method for use in peer-to-peer networks |
US20080250478A1 (en) * | 2007-04-05 | 2008-10-09 | Miller Steven M | Wireless Public Network Access |
-
2013
- 2013-01-29 CA CA2866918A patent/CA2866918A1/en not_active Abandoned
- 2013-01-29 WO PCT/CA2013/000073 patent/WO2013142953A1/en active Application Filing
- 2013-01-29 US US13/753,217 patent/US20130262686A1/en not_active Abandoned
- 2013-01-29 EP EP13769438.6A patent/EP2832120A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080132215A1 (en) | 2006-12-01 | 2008-06-05 | Yahoo! Inc. | User initiated invite for automatic conference participation by invitee |
US20100061538A1 (en) | 2008-09-09 | 2010-03-11 | David Coleman | Methods and Systems for Calling Conference Participants to Establish a Conference Call |
WO2010036260A1 (en) * | 2008-09-26 | 2010-04-01 | Hewlett-Packard Development Company, L.P. | Directing an attendee of a collaboration event to an endpoint |
US20120243408A1 (en) * | 2009-05-29 | 2012-09-27 | Nokia Corporation | Method and apparatus for providing a collaborative reply over an ad-hoc mesh network |
Non-Patent Citations (1)
Title |
---|
See also references of EP2832120A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9674698B2 (en) | 2014-07-22 | 2017-06-06 | Nokia Technologies Oy | Method and apparatus for providing an anonymous communication session |
WO2016018612A1 (en) * | 2014-07-30 | 2016-02-04 | Symbol Technologies, Llc | Private wireless communication network for guest users |
Also Published As
Publication number | Publication date |
---|---|
EP2832120A1 (en) | 2015-02-04 |
EP2832120A4 (en) | 2015-11-25 |
CA2866918A1 (en) | 2013-10-03 |
US20130262686A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130262686A1 (en) | Method for organizing a collaborative event and system employing same | |
CN108293045B (en) | Single sign-on identity management between local and remote systems | |
US9794235B2 (en) | Systems and methods for encrypted communication in a secure network | |
US10291956B2 (en) | Methods and systems for enabling communications between devices | |
KR102363643B1 (en) | Shared session techniques | |
EP3425566B1 (en) | Electronic device and method of registering personal cloud apparatus in user portal server thereof | |
KR102005458B1 (en) | Shared item account selection | |
CN107211028B (en) | Service controller device and method and system for supporting automatic connection with the same | |
EP3541043A1 (en) | Account login method and apparatus | |
WO2017024842A1 (en) | Internet access authentication method, client, computer storage medium | |
JP2014531650A (en) | Group opt-in link | |
CN117055833A (en) | Screen transmission method, device and storage medium | |
US20160191576A1 (en) | Method for conducting a collaborative event and system employing same | |
US10705690B1 (en) | Sending virtual desktop information to multiple devices | |
US20210126915A1 (en) | Device and system for screen sharing | |
US20130080560A1 (en) | System and Method for Sharing Digital Data on a Presenter Device to a Plurality of Participant Devices | |
US9577982B2 (en) | Method and apparatus for extending remote network visibility of the push functionality | |
WO2015049825A1 (en) | Terminal authentication and registration system, method for authenticating and registering terminal, and storage medium | |
TW201442503A (en) | System and method for sharing data via cloud | |
US10069819B2 (en) | Information processing apparatus, information processing method, and information processing system | |
JP2014238651A (en) | Content management device, content management method, and program | |
US11108868B2 (en) | Live switching of collaborative virtual desktop sessions | |
KR20220137038A (en) | Interaction methods, devices and electronic devices | |
WO2016078291A1 (en) | Method, apparatus and system for accessing file sharing server | |
US9774571B2 (en) | Automatic provisioning of meeting room device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13769438 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2866918 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013769438 Country of ref document: EP |