Patent Publication Number: US-11647059-B2

Title: Communication management apparatus, communication system, communication method, and non-transitory recording medium

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application No. 2020-044586 filed on Mar. 13, 2020 in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein. 
     BACKGROUND 
     Technical Field 
     The present invention relates to a communication management apparatus, a communication system, a communication method, and a non-transitory recording medium. 
     Description of the Related Art 
     There is a widely used communication system that enables communication between remote sites via a communication network such as the Internet. An example of such a communication system is a conference system that enables a remote conference. In a typical conference system, image data being held or displayed by a communication terminal used by one of two parties participating in the remote conference is transmitted, via the communication network, to a communication terminal used by the other party, thereby enabling the two parties to share the image data. With this system, the conference between the remote sites is held in a setting close to that of a conference held in the same physical space. 
     Further, a communication terminal such as an electronic whiteboard has been used which displays an image on a display so that a user renders a stroke image of a letter, character, number, or figure, for example, on the image. The stroke image is rendered based on stroke data including coordinate data. The communication terminal generates the stroke data by electronically converting content rendered on the display by a user moving an electronic pen or a hand over the display while keeping the electronic pen or the hand in contact with the display. When the stroke image is rendered on one communication terminal, stroke data for reproducing the stroke image is transmitted from the one communication terminal to the other communication terminal via the communication network. Thereby, the other communication terminal displays the same stroke image. 
     To prevent the communication terminals from contending with each other for operation in this case, there is a technique of notifying in advance the user of one of the communication terminals of the user operation taking place on the other communication terminal. 
     For example, however, if the communication terminals perform respective operations on the same stroke image, data items corresponding to the respective operations are processed in the order of data arrival to a communication management apparatus that manages shared data. Consequently, the operation result may not reflect the intention of either of the users. This issue may be addressed by restricting the operation on individual stroke data being operated with one of the communication terminals. In this case, however, the other communication terminal may perform an operation on the entire screen, such as a page switching operation. Restricting the operation on individual data alone is therefore insufficient to prevent inconsistency in editing. 
     SUMMARY 
     In one embodiment of this invention, there is provided an improved communication management apparatus that includes, for example, a memory and circuitry. The memory stores a hierarchical data structure in which each page of a plurality of pages forming a display screen shared by a plurality of communication terminals is associated with one or more objects included in the each page. The circuitry receives, from one communication terminal of the plurality of communication terminals, an operation request that requests an operation on a particular object of the one or more objects. When editing of the particular object and editing of data in a lower layer associated with a higher layer of the particular object are both allowed, the circuitry transmits a success notification to the one communication terminal to notify success of the operation on the particular object. 
     In one embodiment of this invention, there is provided an improved communication system that includes, for example, the above-described communication management apparatus and a communication terminal that shares a display screen with another communication terminal. The communication terminal includes another circuitry that receives an operation request that requests an operation on a particular object of one or more objects included in a page forming the display screen. In response to receipt, from the communication management apparatus, of a success notification that notifies success of the operation on the particular object, the another circuitry causes a display to display the display screen to reflect the operation according to the operation request in the display screen. 
     In one embodiment of this invention, there is provided an improved communication method that includes, for example, storing, in a memory, a hierarchical data structure in which each page of a plurality of pages forming a display screen shared by a plurality of communication terminals is associated with one or more objects included in the each page, receiving, from one communication terminal of the plurality of communication terminals, an operation request that requests an operation on a particular object of the one or more objects, and when editing of the particular object and editing of data in a lower layer associated with a higher layer of the particular object are both allowed, transmitting a success notification to the one communication terminal to notify success of the operation on the particular object. 
     In one embodiment of this invention, there is provided a non-transitory recording medium storing a plurality of instructions which, when executed by one or more processors, cause the processors to perform the above-described communication method. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein: 
         FIG.  1    is a schematic diagram illustrating an example of communication routes in a communication system of an embodiment of the present invention; 
         FIG.  2    is a diagram illustrating use of an electronic whiteboard included in the communication system of the embodiment; 
         FIG.  3    is a diagram illustrating an example of the hardware configuration of the electronic whiteboard of the embodiment; 
         FIG.  4    is a diagram illustrating an example of the hardware configuration of each of a communication management apparatus, a relay apparatus, and an image storing apparatus included in the communication system of the embodiment; 
         FIG.  5    is a diagram illustrating an example of the system configuration of the communication system of the embodiment; 
         FIGS.  6 A and  6 B  are diagrams illustrating an example of the functional configuration of the communication system of the embodiment; 
         FIG.  7    is a diagram schematically illustrating an example of display screen information of the embodiment; 
         FIG.  8    is a diagram schematically illustrating an example of operation information stored in an operation information management database of the embodiment; 
         FIG.  9    is a conceptual diagram illustrating an example of an authentication management table of the embodiment; 
         FIG.  10    is a conceptual diagram illustrating an example of a terminal management table of the embodiment; 
         FIG.  11    is a conceptual diagram illustrating an example of a destination list management table of the embodiment; 
         FIG.  12    is a conceptual diagram illustrating an example of a session management table of the embodiment; 
         FIG.  13    is a conceptual diagram illustrating an example of a relay apparatus management table of the embodiment; 
         FIG.  14    is a conceptual diagram illustrating an example of a shared data management table of the embodiment; 
         FIG.  15    is a conceptual diagram illustrating an example of a lower-layer setting condition management table of the embodiment; 
         FIG.  16    is a sequence diagram illustrating an example of a preparatory process to start remote communication between electronic whiteboards of the embodiment; 
         FIG.  17    is a diagram illustrating an example of a destination list screen displayed on one of the electronic whiteboards of the embodiment; 
         FIG.  18    is a sequence diagram illustrating an example of a remote communication start process of the embodiment; 
         FIGS.  19 ,  20 , and  21    are sequence diagrams illustrating an example of a data sharing process between the electronic whiteboards in the communication system of the embodiment; 
         FIG.  22 A  is a diagram illustrating an example of a screen displayed on one of the electronic whiteboards of the embodiment; 
         FIG.  22 B  is a diagram illustrating an example of a screen displayed on the other electronic whiteboard of the embodiment; 
         FIG.  22 C  is a diagram illustrating another example of the screen displayed on the one of the electronic whiteboards of the embodiment; 
         FIG.  22 D  is a diagram illustrating another example of the screen displayed on the other electronic whiteboard of the embodiment; 
         FIGS.  23 A,  23 B, and  23 C  are diagrams illustrating examples of a display screen shared by the electronic whiteboards of the embodiment; 
         FIG.  24    is a sequence diagram illustrating an example of a rendering process performed on one of the electronic whiteboards in the communication system of the embodiment in accordance with editing authority; 
         FIGS.  25 A and  25 B  are diagrams illustrating examples of a display screen displayed on the electronic whiteboards of the embodiment; 
         FIG.  26    is a flowchart illustrating an example of an editing authority determination process by the communication management apparatus of the embodiment to determine editing authority of an operation target stroke; 
         FIG.  27    is a flowchart illustrating an example of an editing authority determination process by the communication management apparatus of the embodiment to determine editing authority of an operation target; and 
         FIG.  28    is a flowchart illustrating an example of an editing authority setting process by the communication management apparatus of the embodiment. 
     
    
    
     The accompanying drawings are intended to depict embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted. 
     DETAILED DESCRIPTION 
     The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. In the drawings illustrating embodiments of the present invention, members or components having the same function or shape will be denoted with the same reference numerals to avoid redundant description. 
     In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have a similar function, operate in a similar manner, and achieve a similar result. 
     An embodiment for implementing the present invention will be described below with reference to the drawings. 
     Schematic Configuration of Communication System 
     Communication Routes 
     With reference to  FIG.  1   , a description will be given of a communication system  10  of the embodiment that enables a video conference between a plurality of electronic whiteboards  1   a  and  1   b , while allowing users to perform rendering on the electronic whiteboards  1   a  and  1   b.    
       FIG.  1    is a schematic diagram illustrating an example of communication routes in the communication system  10  of the embodiment. The video conference may also be referred to as the television (TV) conference or a remote conference, for example. A conference such as the video conference, the TV conference, or the remote conference is an example of a session for sharing image data and stroke data between a plurality of terminals. For example, the session for sharing the image data and the stroke data may be a session other than the conference, such as distance learning, remote diagnosis, meeting, or simple conversation. Further, the session for sharing the image data and the stroke data may be used for unidirectional provision of information. 
     The communication system  10  includes the plurality of electronic whiteboards  1   a  and  1   b , at least one relay apparatus  3 , a communication management apparatus  5 , and an image storing apparatus  7 . The electronic whiteboards  1   a  and  1   b  communicate therebetween image data and audio data for communication and content data such as image data and stroke data for sharing. The stroke data is data for reproducing (i.e., duplicating) a stroke image, and includes coordinate data, line width data, line color data, vector data, and data representing the writing pressure applied to render a stroke, for example. The stroke data is transmitted and received between the electronic whiteboards  1   a  and  1   b  as a serialized character string. Each of the electronic whiteboards  1   a  and  1   b  transmits and receives therebetween the image data and the audio data for communication to reproduce a site image and sound of the site at which the other electronic whiteboard  1   a  or  1   b  is located, thereby performing remote video communication. 
     With the electronic whiteboards  1   a  and  1   b  transmitting and receiving therebetween the image data of a background image for sharing, the users of the communication system  10  (i.e., the participants of the video conference) share the same background image. The background image is an image displayed on respective displays of the electronic whiteboards  1   a  and  1   b . In the following description, the electronic whiteboards  1   a  and  1   b  may be collectively referred to as the electronic whiteboards  1 . The background image includes the image of a material for a conference, for example, which is read from an electronic file and displayed on a display  180  (see  FIG.  2   ) of the electronic whiteboard  1 . The image data of the background image is transmitted and received in a file format such as the joint photographic experts group (JPEG) format, for example. The electronic whiteboards  1   a  and  1   b  further transmit and receive therebetween the stroke data of the stroke image for sharing, thereby enabling the users of the communication system  10  (i.e., the participants of the video conference) to share the same stroke image. The stroke image is the image of a line, for example, which is rendered based on a handwritten stroke made by a user with an electronic pen, for example. The stroke image is displayed based on the stroke data, which represents points identifying coordinates on the display  180 . 
     The electronic whiteboards  1  included in the communication system  10  are not limited to the two electronic whiteboards  1   a  and  1   b , and thus the communication system  10  may include three or more electronic whiteboards  1 . Each of the electronic whiteboards  1  is an example of a communication terminal having functions such as a communication function, a rendering function, and a display function. For example, the communication terminal may be a personal computer (PC), a smartphone, a tablet terminal, a smartwatch, a car navigation terminal, a gaming device, or a telepresence robot installed with an application program compatible with the communication system  10 . Further, the communication terminal may be medical equipment, in which case the background image may be the image of a patient. 
       FIG.  1    illustrates the electronic whiteboards  1   a  and  1   b  each as an example of an electronic whiteboard with a video conference function. The site image, which is based on site image data, may be a video or still image. 
     An electronic whiteboard as a source of a video conference start request will be referred to as the starting terminal, and an electronic whiteboard as a destination to which the video conference start request is transmitted or relayed will be referred to as the destination terminal. In  FIG.  1   , the electronic whiteboard  1   a  at a site A and the electronic whiteboard  1   b  at a site B are illustrated as the starting terminal and the destination terminal, respectively. When the video conference start request is transmitted from the electronic whiteboard  1   b , however, the electronic whiteboard  1   b  serves as the starting terminal, and the electronic whiteboard  1   a  serves as the destination terminal. The electronic whiteboards  1   a  and  1   b  may be used not only in communication between a plurality of offices and communication between different rooms in the same office but also in communication in the same room, communication between an indoor space and an outdoor space, and communication between an outdoor space and another outdoor space. 
     The relay apparatus  3 , which is implemented by a computer, performs a process of relaying the content data for communication between the electronic whiteboards  1   a  and  1   b . The communication management apparatus  5 , which is implemented by a computer, performs login authentication of the electronic whiteboards  1   a  and  1   b  and centrally manages the respective communication states of the electronic whiteboards  1   a  and  1   b , the communication state of the relay apparatus  3 , and a destination list. The communication management apparatus  5  further relays the stroke data for sharing between the electronic whiteboards  1   a  and  1   b.    
     The image storing apparatus  7 , which is implemented by a computer, stores the image data of the background image for sharing uploaded from the electronic whiteboard  1   a  and downloads the image data to the electronic whiteboard  1   b , and vice versa. That is, the image storing apparatus  7  stores the image data uploaded from the electronic whiteboard  1   b  and downloads the image data to the electronic whiteboard  1   a.    
     Each of the relay apparatus  3 , the communication management apparatus  5 , and the image storing apparatus  7  may be implemented by a single computer, or may be implemented by a plurality of computers to which units (i.e., functions or devices) of the apparatus are divided and allocated as desired. The communication management apparatus  5  and the image storing apparatus  7  form a server system  6  (see  FIG.  5   ) that manages the data shared by the electronic whiteboards  1   a  and  1   b . The server system  6  may be implemented by a single computer including the units (i.e., functions or devices) of the communication management apparatus  5  and the image storing apparatus  7 . Further, instead of the communication management apparatus  5 , the image storing apparatus  7  may relay the stroke data for sharing between the electronic whiteboards  1   a  and  1   b.    
     In the communication system  10 , a management information session SEI is established between the electronic whiteboards  1   a  and  1   b  to transmit and receive therebetween various management information via the communication management apparatus  5 . Further, four sessions are established between the electronic whiteboards  1   a  and  1   b  to transmit and receive therebetween four types of data: high-resolution site image data, intermediate-resolution site image data, low-resolution site image data, and audio data, via the relay apparatus  3 . In  FIG.  1   , the four sessions are collectively illustrated as an image and audio data session SED. The image and audio data session SED does not necessarily include four sessions, and may include three or less sessions or five or more sessions. Further, the communication session may be established directly between the starting terminal and the destination terminal without via the relay apparatus  3 . Further, in the communication system  10 , the communication management apparatus  5  may have the function of the relay apparatus  3  such that the image and audio data session SED is established between the electronic whiteboards  1   a  and  1   b  via the communication management apparatus  5 . Further, in the communication system  10 , the stroke data is transmitted and received between the electronic whiteboards  1   a  and  1   b  via the management information session SEI. 
     The image resolution of the site image data in the embodiment will be described. 
     The low-resolution site image data, which forms a base image, includes 160 pixels in the horizontal direction by 120 pixels in the vertical direction, for example. The intermediate-resolution site image data includes 320 pixels in the horizontal direction by 240 pixels in the vertical direction, for example. The high-resolution site image data includes 640 pixels in the horizontal direction by 480 pixels in the vertical direction, for example. When the site image data routes through a narrow band path, low-quality image data including the low-resolution site image data for forming the base image is relayed. When the site image data routes through a relatively wide band path, intermediate-quality image data including the low-resolution site image data for forming the base image and the intermediate-resolution site image data is relayed. When the site image data routes through a substantially wide band path, high-quality image data including the low-resolution site image data for forming the base image, the intermediate-resolution site image data, and the high-resolution site image data is relayed. The audio data is smaller in data size than the site image data, and thus is relayed even through a narrow band path. 
     Use of Electronic Whiteboard 
       FIG.  2    is a diagram illustrating use of the electronic whiteboard  1  of the embodiment. As illustrated in  FIG.  2   , the electronic whiteboard  1  includes a foot  151 , a support post  152 , a main unit  153 , and the display  180 . A lower side of the foot  151  is equipped with a plurality of casters, and an upper side of the foot  151  is equipped with the support post  152 . The main unit  153  is disposed on an upper side of the support post  152 , and has a front surface equipped with the display  180 . The main unit  153  includes therein a later-described central processing unit (CPU)  101  (see  FIG.  3   ). A user U inputs (i.e., renders) the stroke image of a letter or character, for example, on the display  180  with an electronic pen  190 . 
     Hardware Configurations 
     With reference to  FIGS.  3  and  4   , a description will be given of respective hardware configurations of apparatuses and terminals forming the communication system  10 . A component may be added to or removed from each of the hardware configurations in  FIGS.  3  and  4    as necessary. 
     Hardware Configuration of Electronic Whiteboard 
       FIG.  3    is a diagram illustrating an example of the hardware configuration of the electronic whiteboard  1  of the embodiment. As illustrated in  FIG.  3   , the electronic whiteboard  1  includes the CPU  101 , a read only memory (ROM)  102 , a random access memory (RAM)  103 , a solid state drive (SSD)  104 , a network interface (I/F)  105 , and an external apparatus connection I/F  106 . 
     The CPU  101  controls the overall operation of the electronic whiteboard  1 . The ROM  102  is a nonvolatile memory that stores a program for the CPU  101  and a program used to drive the CPU  101  such as an initial program loader (IPL). The RAM  103  is a volatile memory used as a work area for the CPU  101 . The SSD  104  is a high-capacity memory that stores various data of a program for the electronic whiteboard  1 , for example. The network I/F  105  is a communication interface for connecting the electronic whiteboard  1  to a communication network  100  (see  FIG.  5   ) to perform communication. The external apparatus connection I/F  106  is an interface for connecting the electronic whiteboard  1  to various external apparatuses. The external apparatuses in this case include a universal serial bus (USB) memory  130  and other external apparatuses such as a microphone  140 , a speaker  150 , and a camera  160 , for example. 
     The electronic whiteboard  1  further includes a capture device  111 , a graphics processing unit (GPU)  112 , a display controller  113 , a contact sensor  114 , a sensor controller  115 , an electronic pen controller  116 , a near field communication circuit  119 , an antenna  119   a  for the near field communication circuit  119 , a power switch  122 , and selection switches  123 . 
     The capture device  111  displays image data (i.e., image information) on a display of an external PC  170 , for example, as a still or video image. The GPU  112  is a semiconductor chip processor dedicated to graphics processing. The display controller  113  controls and manages screen display to output an image from the GPU  112  to the display  180 , for example. The contact sensor  114  detects the contact of the electronic pen  190  or a hand H of a user, for example, on the display  180 . The sensor controller  115  controls the processing of the contact sensor  114 . The contact sensor  114  performs input and detection of coordinates in accordance with an infrared blocking method. In this method of inputting and detecting coordinates, two light emitting and receiving devices disposed on opposite end portions of an upper area of the display  180  radiate a plurality of infrared rays parallel to the display  180 , and receive rays of light reflected by a reflecting member disposed around the display  180  and returning on optical paths of the rays radiated by the two light emitting and receiving devices. The contact sensor  114  outputs, to the sensor controller  115 , identifiers (IDs) of the infrared rays radiated by the two light emitting and receiving devices and blocked by an object. Then, the sensor controller  115  identifies the position of the coordinates corresponding to the position of contact of the object on the display  180 . The electronic pen controller  116  communicates with the electronic pen  190  to determine contact or non-contact of the head or end of the electronic pen  190  on the display  180 . The near field communication circuit  119  is a communication circuit conforming to a standard such as the near field communication (NFC) or Bluetooth (registered trademark) standard. The power switch  122  is a switch for switching on or off power supply to the electronic whiteboard  1 . The selection switches  123  are switches for adjusting parameters such as the brightness and the color tone of the image displayed on the display  180 , for example. 
     The electronic whiteboard  1  further includes a bus line  110 , which includes address buses and data buses to electrically connect the CPU  101  and the other components in  FIG.  3    to each other. 
     The contact sensor  114  is not limited to the infrared blocking method, and may employ a different type of detecting device, such as a capacitance touch panel that identifies the contact position by detecting a change in capacitance, a resistive touch panel that identifies the contact position by detecting a change in voltage of two resistance films facing each other, or an electromagnetic induction touch panel that identifies the contact position by detecting electromagnetic induction caused by contact of an object on a display. Further, the electronic pen controller  116  may determine contact or non-contact of a part of the electronic pen  190  held by the user or another part of the electronic pen  190 , as well as the head or end of the electronic pen  190 . 
     Hardware Configurations of Communication Management Apparatus, Relay Apparatus, and Image Storing Apparatus 
       FIG.  4    is a diagram illustrating an example of the hardware configuration of each of the communication management apparatus  5 , the relay apparatus  3 , and the image storing apparatus  7  of the embodiment. A computer as an example of the communication management apparatus  5  includes a CPU  501 , a ROM  502 , a RAM  503 , a hard disk (HD)  504 , a hard disk drive (HDD) controller  505 , a display  506 , an external apparatus connection I/F  508 , a network I/F  509 , a keyboard  511 , a pointing device  512 , a digital versatile disc rewritable (DVD-RW) drive  514 , a medium I/F  516 , and a bus line  510 . 
     The CPU  501  controls the overall operation of the communication management apparatus  5 . The ROM  502  is a nonvolatile memory that stores a program used to drive the CPU  501  such as the IPL. The RAM  503  is a volatile memory used as a work area for the CPU  501 . The HD  504  is a high-capacity memory that stores various data of a communication management program, for example. The HDD controller  505  controls writing and reading of various data to and from the HD  504  under the control of the CPU  501 . The display  506  displays various information such as a cursor, menus, windows, text, and images. The external apparatus connection I/F  508  is an interface for connecting the communication management apparatus  5  to various external apparatuses. The network I/F  509  is an interface for performing data communication via the communication network  100  such as the Internet. The keyboard  511  is an input device including a plurality of keys for inputting text, numerical values, and various instructions, for example. The pointing device  512  is an input device used to select and execute various instructions, select a processing target, and move the cursor, for example. The DVD-RW drive  514  controls writing (i.e., storage) and reading of data to and from a DVD-RW  513 . The DVD-RW  513  may be replaced by a DVD-recordable (DVD-R), for example. Further, the DVD-RW drive  514  may be replaced by a Blu-ray (registered trademark) drive that controls writing (i.e., storage) and reading of data to and from a disc such as a Blu-ray disc recordable erasable (BD-RE) or a compact disc rewritable (CD-RW) drive that controls writing (i.e., storage) and reading of data to and from a disc such as a CD-RW. The medium I/F  516  controls writing (i.e., storage) and reading of data to and from a recording medium  515  such as a flash memory. The bus line  510  includes address buses and data buses to electrically connect the CPU  501  and the other components in  FIG.  4    to each other. 
     The relay apparatus  3  is implemented by a typical computer. As illustrated in  FIG.  4   , the relay apparatus  3  includes a CPU  301 , a ROM  302 , a RAM  303 , an HD  304 , an HDD controller  305 , a display  306 , an external apparatus connection I/F  308 , a network I/F  309 , a keyboard  311 , a pointing device  312 , a DVD-RW drive  314 , a medium I/F  316 , and a bus line  310 . These components are similar in configuration to the CPU  501 , the ROM  502 , the RAM  503 , the HD  504 , the HDD controller  505 , the display  506 , the external apparatus connection I/F  508 , the network I/F  509 , the keyboard  511 , the pointing device  512 , the DVD-RW drive  514 , the medium I/F  516 , and the bus line  510  of the communication management apparatus  5 , and thus description thereof will be omitted. In the relay apparatus  3 , however, the HD  304  stores a relay program. 
     The image storing apparatus  7  is implemented by a typical computer. As illustrated in  FIG.  4   , the image storing apparatus  7  includes a CPU  701 , a ROM  702 , a RAM  703 , an HD  704 , an HDD controller  705 , a display  706 , an external apparatus connection I/F  708 , a network I/F  709 , a keyboard  711 , a pointing device  712 , a DVD-RW drive  714 , a medium I/F  716 , and a bus line  710 . These components are similar in configuration to the CPU  501 , the ROM  502 , the RAM  503 , the HD  504 , the HDD controller  505 , the display  506 , the external apparatus connection I/F  508 , the network I/F  509 , the keyboard  511 , the pointing device  512 , the DVD-RW drive  514 , the medium I/F  516 , and the bus line  510  of the communication management apparatus  5 , and thus description thereof will be omitted. In the image storing apparatus  7 , however, the HD  704  stores an image storage program. 
     Each of the above-described programs may be distributed as recorded on a computer readable recording medium in an installable or executable file format. Examples of the recording medium include a compact disc recordable (CD-R), a DVD, a Blu-ray disc, a secure digital (SD) card, and a USB memory. The recording medium may be shipped to the market as a program product. For example, the communication management apparatus  5  implements a communication method of the present invention by executing a program of the present invention. 
     General Arrangement of Communication System 
     A general arrangement of the communication system  10  will be described with  FIG.  5   . 
       FIG.  5    is a diagram illustrating an example of the system configuration of the communication system  10  of the embodiment. In  FIG.  5   , the electronic whiteboard  1   a  and the electronic whiteboard  1   b  are located at the site A and the site B, respectively. The site A may be a Tokyo branch in Japan, and the site B may be a Beijing branch in China, for example. It is assumed here that the electronic whiteboard  1   a  is used by a user UA 1  at the site A, and that the electronic whiteboard  1   b  is used by users UB 1  and UB 2  at the site B. 
     The electronic whiteboards  1   a  and  1   b , the relay apparatus  3 , the communication management apparatus  5 , and the image storing apparatus  7  transmit and receive data to and from each other via the communication network  100  such as the Internet or a local area network (LAN), for example. The communication via the communication network  100  is not limited to wired communication, and wireless communication conforming to a standard such as the wireless fidelity (Wi-Fi, registered trademark) standard may take place in some part of the communication network  100 . 
     Functional Configuration of Communication System 
     A functional configuration of the communication system  10  of the embodiment will be described with  FIGS.  6 A to  15   . 
       FIGS.  6 A and  6 B  are diagrams illustrating an example of the functional configuration of the communication system  10  of the embodiment.  FIGS.  6 A and  6 B  illustrate parts of the terminals, apparatuses, and server system in  FIG.  5    related to later-described processes and operations. 
     Functional Configuration of Electronic Whiteboard 
     A functional configuration of each of the electronic whiteboards  1   a  and  1   b  will be described with  FIGS.  6 A and  6 B . Since the electronic whiteboards  1   a  and  1   b  have similar functions, the following description will be given of the functions of the electronic whiteboard  1  with omission of the suffix a or b after each reference numeral. 
     The electronic whiteboard  1  includes a communication unit  11 , a receiving unit  12 , an image and audio processing unit  13 , a display control unit  14 , a determination unit  15 , an image processing unit  16 , a near field communication unit  18 , a display screen managing unit  21 , and a storing and reading unit  19 . Each of these units is a function or functional unit implemented when at least one of the components illustrated in  FIG.  3    operates in response to a command from the CPU  101  in accordance with the program deployed on the RAM  103  from the SSD  104 . The electronic whiteboard  1  further includes a storage unit  1000  implemented by the RAM  103 , the SSD  104 , or the USB memory  130  illustrated in  FIG.  3   . The storage unit  1000  stores a display screen management database (DB)  1001  and an operation information management DB  1003 . 
     The communication unit  11  is a function implemented by a command from the CPU  101  in  FIG.  3    and the network I/F  105  in  FIG.  3    to transmit and receive various data and information to and from another terminal, apparatus, or system via the communication network  100 . The communication unit  11  also functions as a starting unit, for example, to perform a process of starting communication with another electronic whiteboard  1 . The communication unit  11  further transmits and receives display screen data to be displayed on the display  180  to and from another electronic whiteboard  1  via the communication management apparatus  5 . 
     The receiving unit  12  is implemented by a command from the CPU  101  in  FIG.  3    and the contact sensor  114  and the electronic pen controller  116  in  FIG.  3    to receive various inputs made by the user with the electronic pen  190 , for example. 
     The image and audio processing unit  13  is implemented by a command from the CPU  101  in  FIG.  3    to perform a major process of the video conference function. For example, based on signals output from the microphone  140  and the camera  160 , the image and audio processing unit  13  performs digital processing such as encoding of the site image data and the audio data. Further, for example, based on the site image data and the audio data received by the communication unit  11 , the image and audio processing unit  13  generates an image signal and an audio signal. The image and audio processing unit  13  further performs a process of combining site image data items of different resolutions, for example. 
     The display control unit  14  is a function implemented by a command from the CPU  101  in  FIG.  3    and the display controller  113  in  FIG.  3    to perform control for outputting signals such as the image signal to the display  180 . For example, the display control unit  14  controls the display  180  to display a display screen based on the display screen data generated by the image processing unit  16 . 
     The determination unit  15  is a function implemented by a command from the CPU  101  in  FIG.  3    to make various determinations. 
     The image processing unit  16  is a function implemented by a command from the CPU  101  in  FIG.  3    and the capture device  111  in  FIG.  3    to perform a major process of an electronic whiteboard function. The image processing unit  16  generates the stroke data and the stroke image based on the stroke made with the electronic pen  190 , for example, and received by the receiving unit  12 , for example. The image processing unit  16  further generates the stroke image based on the stroke data received by the communication unit  11 , for example. The image processing unit  16  further generates the display screen data including the generated stroke image, for example. 
     The near field communication unit  18  is a function implemented by a command from the CPU  101  in  FIG.  3    and the near field communication circuit  119  and the antenna  119   a  in  FIG.  3    to provide data to or acquire data from another terminal having a near field communication unit, such as an integrated circuit (IC) card or a smartphone, in near field wireless communication. 
     The display screen managing unit  21  is a function implemented by a command from the CPU  101  in  FIG.  3    to manage screen data forming the display screen shared with another electronic whiteboard  1 . 
     The storing and reading unit  19  is a function implemented by a command from the CPU  101  in  FIG.  3    to store various data in the storage unit  1000  and read therefrom various data. Each time the site image data and the audio data are received in the communication with another terminal, the site image data and audio data stored in the storage unit  1000  are overwritten with the newly received site image data and audio data. The display  180  displays an image based on the site image data before being overwritten with the newly-received site image data, and the speaker  150  outputs sound based on the audio data before being overwritten with the newly-received audio data. The storage unit  1000  further stores the stroke data of the stroke image rendered on the display  180  and the background image data of the background image displayed on the display  180 . 
     Display Screen Information 
       FIG.  7    is a diagram schematically illustrating an example of display screen information of the embodiment.  FIG.  7    illustrates an example of the conceptual image of the information of the display screen for display on the electronic whiteboard  1 , which is stored in the display screen management DB  1001 . 
     In the example of  FIG.  7   , the display screen information has a hierarchical structure with layers of “meeting,” “page” (i.e., pages P 1 , P 2 , and P 3 ), and “stroke” (i.e., strokes SR 1 , SR 2 , SR 3 , SR 4 , and SR 5 ). Herein, “stroke” corresponds to the stroke data of the embodiment, and is managed under the corresponding page. Each stroke is associated with the page including the stroke, with the layer of the page being defined as a higher layer of the stroke. Further, “page” represents the stored image data of a single-page screen (i.e., the display screen) displayed on the display  180 . Each page is associated with the meeting in which the page is shared, with the layer of the meeting being defined as a higher layer of the page. Further, “meeting” represents the information of the meeting taking place on the electronic whiteboard  1 . For example, the stroke SR 1  includes a stroke ID identifying the stroke SR 1  (id=aaaaa), information identifying the page P 1  including the stroke SR 1  (parent=pag01), a global ID (gid) of the corresponding rendering data G 1  (gid=g001), editability information (edit) representing the editability of the stroke SR 1 , and the rendering data G 1 . To restrict or prohibit the editing of a stroke, the editability information (edit) of the stroke is set to “lock.” To allow, i.e., not to restrict, the editing of a stroke, the editability information (edit) of the stroke is set to “unlock.” 
     Further, if an operation such as a moving operation is performed on the stroke image represented by the stroke SR 1 , for example, the stroke ID (id=aaaaa) is maintained, but the rendering data G 1  and the global ID identifying the rendering data G 1  (gid=g001) are updated. The rendering data G 1 , which is rendering data for reproducing the stroke SR 1 , includes coordinate data, line width data, line color data, and vector data, for example. 
     The electronic whiteboard  1  is capable of switching between pages. Herein, “page” corresponds to each of the pages displayed on the electronic whiteboard  1 . For example, the page P 1  includes a page ID identifying the page P 1  (id=pag01), information identifying the meeting taking place on the electronic whiteboard  1  (parent=se01), a global ID identifying the page data of the page P 1  (gid=g01), editability information (edit) representing the editability of the page P 1 , lower-layer editability information (lower level) representing the editability of the strokes in a lower layer of the page P 1 , and image data IM 1 . The lower-layer editability information (lower level) indicates whether or not to allow the editing of the strokes in the lower layer, i.e. child data of the page data. To prohibit the editing of the data in the lower layer, the lower-layer editability information (lower level) is set to “lock.” To allow the editing of the data in the lower layer, the lower-layer editability information (lower level) is set to “unlock.” 
     The image data IM 1  is the image data of the background image forming the page P 1 . That is, the image data IM 1  represents the background image displayed on the page P 1 . There may be a page not including the image data. In this case, the page not including the image data does not include the background image (i.e., includes a blank background). 
     Further, “meeting” corresponds to the meeting taking place on the electronic whiteboard  1 , and is managed with a meeting ID identifying the meeting, a global ID identifying the meeting information of the meeting (gid=g2), information representing the pages generated in the meeting (pages), information representing the page forming the display screen currently displayed on the electronic whiteboard  1  (current page), editability information (edit) representing the editability of the meeting information, and lower-layer editability information (lower level) representing the editability of the data in a lower layer of the meeting. When the electronic whiteboard  1  is in remote communication with another electronic whiteboard  1 , the meeting ID corresponds to a session ID identifying the session (id=se01). 
     For example, the image processing unit  16  of the electronic whiteboard  1  generates the stroke image rendered on the page P 1  with rendering data items G 1 , G 2 , and G 3  included in the strokes SR 1 , SR 2 , and SR 3 , respectively. The global IDs illustrated in the respective layers are assigned by the communication management apparatus  5  when the electronic whiteboard  1  shares data with another electronic whiteboard  1 . The hierarchical structure of the shared data illustrated in  FIG.  7    is shared by the plurality of electronic whiteboards  1 . 
     Operation Information 
     Operation information representing an operation performed on the display screen of the electronic whiteboard  1  will be described with  FIG.  8   . 
       FIG.  8    is a diagram schematically illustrating an example of the operation information of the embodiment. The operation information illustrated in  FIG.  8    includes the information of the operation performed on the display screen displayed on the electronic whiteboard  1 . The operation information illustrated in  FIG.  8    includes a stroke ID (Id) for identifying the corresponding stroke data, a page ID (DistId) for identifying the page on which the stroke data is rendered, operation type information (Operation Type) representing the type of the operation performed on the display screen, data type information (Data Type) representing the type of data as the operation target, and detailed data information (Data) representing the contents of the data as the operation target. 
     The operation type information represents the type of the operation performed by the user on a stroke or page included in the display screen. If the operation target is the stroke, for example, and if the stroke is rendered, the operation type information is described as “Add.” If the stroke is removed, the operation type information is described as “Remove.” If the stroke is moved, the operation type information is described as “Update.” Further, when the operation target is the stroke, the data type information is described as “Stroke.” When the operation target is the page, the data type information is described as “Page.” Further, when the operation target is the stroke, the detailed data information corresponds to the stroke data, and includes information such as the coordinate data, the line width data, and the line color data. The detailed data information corresponds to information “body” included in a later-described shared data management table (see  FIG.  14   ). 
     Functional Configuration of Relay Apparatus 
     Referring back to  FIG.  6 B , a description will be given of a functional configuration of the relay apparatus  3 . 
     The relay apparatus  3  includes a communication unit  31  (i.e., a forwarding unit), a determination unit  35 , and a storing and reading unit  39 . Each of these units is a function or functional unit implemented when at least one of the components illustrated in  FIG.  4    operates in response to a command from the CPU  301  in accordance with the relay program deployed on the RAM  303  from the HD  304 . The relay apparatus  3  further includes a storage unit  3000  implemented by the RAM  303 , the HD  304 , or a recording medium  315  illustrated in  FIG.  4   . 
     The communication unit  31  is a function implemented by a command from the CPU  301  in  FIG.  4    and the network I/F  309  in  FIG.  4    to transmit and receive various data and information to and from another terminal, apparatus, or system via the communication network  100 . The communication unit  31  also functions as a forwarding unit to forward the site image data and the audio data transmitted from a particular terminal to another terminal. 
     The determination unit  35  is a function implemented by a command from the CPU  301  in  FIG.  4    to make various determinations such as a determination on a data delay state. 
     The storing and reading unit  39  is a function implemented by a command from the CPU  301  in  FIG.  4    to store various data in the storage unit  3000  and read therefrom various data. 
     Functional Configuration of Communication Management Apparatus 
     A functional configuration of the communication management apparatus  5  will be described with  FIG.  6 A . 
     The communication management apparatus  5  includes a communication unit  51 , an authentication unit  52 , a determination unit  53 , a terminal managing unit  54 , a session managing unit  55 , a relay apparatus managing unit  56 , a shared data managing unit  57 , a setting unit  58 , and a storing and reading unit  59 . Each of these units is a function or functional unit implemented when at least one of the components illustrated in  FIG.  4    operates in response to a command from the CPU  501  in accordance with the communication management program deployed on the RAM  503  from the HD  504 . The communication management apparatus  5  further includes a storage unit  5000  implemented by the RAM  503 , the HD  504 , or the recording medium  515  illustrated in  FIG.  4   . The storage unit  5000  stores an authentication management DB  5001 , a terminal management DB  5002 , a destination list management DB  5003 , a session management DB  5004 , a relay apparatus management DB  5005 , a shared data management DB  5006 , and a lower-layer setting condition management DB  5007 . 
     The communication unit  51  is a function implemented by a command from the CPU  501  in  FIG.  4    and the network I/F  509  in  FIG.  4    to transmit and receive various data and information to and from another terminal or apparatus via the communication network  100 . For example, the communication unit  51  receives stroke data transmitted to the electronic whiteboard  1  from another electronic whiteboard  1 , and transmits stroke data to another electronic whiteboard  1 . 
     The authentication unit  52  is a function implemented by a command from the CPU  501  in  FIG.  4    to perform login authentication for a login requesting terminal. If the communication unit  51  receives login request information, the authentication unit  52  executes the login authentication process for the login requesting terminal with the authentication management DB  5001 . 
     The determination unit  53  is a function implemented by a command from the CPU  501  in  FIG.  4    to make various determinations. 
     The terminal managing unit  54  is a function implemented by a command from the CPU  501  in  FIG.  4    to manage various information of each of the electronic whiteboards  1  managed in the terminal management DB  5002  in accordance with the state of the electronic whiteboard  1 . The terminal managing unit  54  updates the information of the terminal management DB  5002  such as the operation state of the electronic whiteboard  1 , the time of receipt of information from the electronic whiteboard  1 , and the internet protocol (IP) address of the electronic whiteboard  1 , for example. The terminal managing unit  54  further manages the destination list management DB  5003 . In response to receipt of a request from one of the electronic whiteboards  1 , the terminal managing unit  54  provides the electronic whiteboard  1  with destination list information including the terminal IDs of destination candidate terminals managed in the destination list management DB  5003 . 
     The session managing unit  55  is a function implemented by a command from the CPU  501  in  FIG.  4    to manage the session held in the communication system  10 . For example, in response to receipt of start request information from one of the electronic whiteboards  1 , the session managing unit  55  generates the session ID for identifying the session. The start request information represents the request to start communication. Further, for example, the session managing unit  55  stores and manages various information of the session in the session management DB  5004  in association with the session ID. 
     The relay apparatus managing unit  56  is a function implemented by a command from the CPU  501  in  FIG.  4   . In the present embodiment, the communication system  10  includes one or more relay apparatuses  3 . When the communication system  10  includes a plurality of relay apparatuses  3 , the relay apparatus managing unit  56  selects one of the plurality of relay apparatuses  3  to be used to relay the session. For example, the relay apparatus managing unit  56  manages the relay apparatus management DB  5005 , and selects one of the plurality of relay apparatuses  3  based on various information of the relay apparatuses  3  stored in the relay apparatus management DB  5005 . For example, based on the respective IP addresses of the relay apparatuses  3  stored in the relay apparatus management DB  5005  and the IP address of the starting terminal, the relay apparatus managing unit  56  selects one of the relay apparatuses  3  that is located near the starting terminal. Further, for example, the relay apparatus managing unit  56  selects one of the relay apparatuses  3  based on the respective maximum data transmission speeds of the relay apparatuses  3  stored in the relay apparatus management DB  5005 . In the embodiment, a desired method may be employed to select the relay apparatus  3  for use in relaying the session. 
     The shared data managing unit  57  is a function implemented by a command from the CPU  501  in  FIG.  4    to manage various data of the display screen transmitted and received between the electronic whiteboards  1  (i.e., communication terminals). For example, the shared data managing unit  57  receives various data transmitted via the management information session SEI from the electronic whiteboards  1  participating in the session, and stores and manages the data in the shared data management DB  5006  in association with the session ID. 
     The setting unit  58  is a function implemented by a command from the CPU  501  in  FIG.  4    to set the editability (i.e., editing authority) of various data forming the display screen. 
     The storing and reading unit  59  is a function implemented by a command from the CPU  501  in  FIG.  4    to store various data in the storage unit  5000  and read therefrom various data. 
     Authentication Management Table 
       FIG.  9    is a conceptual diagram illustrating an example of an authentication management table of the embodiment. The authentication management DB  5001  in the storage unit  5000  is configured as the authentication management table as illustrated in  FIG.  9   . In the authentication management table, the respective terminal IDs of all electronic whiteboards  1  managed by the communication management apparatus  5  are managed in association with respective passwords. For example, the authentication management table illustrated in  FIG.  9    indicates that the electronic whiteboard  1   a  (i.e., a communication terminal) has a terminal ID “01aa” and a password “aaaa.” The password is an example of authentication information. The authentication information also includes an access token. 
     Terminal Management Table 
       FIG.  10    is a conceptual diagram illustrating an example of a terminal management table of the embodiment. The terminal management DB  5002  in the storage unit  5000  is configured as the terminal management table as illustrated in  FIG.  10   . In the terminal management table, the destination name, the operation state, the reception time, and the terminal IP address are managed in association with each other for each terminal ID. The terminal ID identifies the corresponding electronic whiteboard  1  (i.e., a communication terminal). The destination name represents the name of the electronic whiteboard  1  as the destination. The operation state represents the operation state of the electronic whiteboard  1 . The reception time represents the date and time of receipt of the login request information by the communication management apparatus  5 . The terminal IP address represents the IP address of the electronic whiteboard  1  (i.e., a communication terminal). For example, the terminal management table in  FIG.  10    indicates that the electronic whiteboard  1   a  with the terminal ID “01aa” has a destination name “TERMINAL AA, TOKYO BRANCH, JAPAN,” an operation state “ON-LINE (COMMUNICATION AVAILABLE),” a reception time of “13:40 on Feb. 10, 2020” as the date and time of receipt of the login request information by the communication management apparatus  5 , and a terminal IP address “1.2.1.3” corresponding to the terminal ID “01aa.” The terminal ID, the destination name, and the terminal IP address are stored in the terminal management table when the electronic whiteboard  1  is previously registered to receive a service provided by the communication management apparatus  5 . 
     Destination List Management Table 
       FIG.  11    is a conceptual diagram illustrating an example of a destination list management table of the embodiment. The destination list management DB  5003  in the storage unit  5000  is configured as the destination list management table as illustrated in  FIG.  11   . In the destination list management table, the respective terminal IDs of all destination candidate terminals are managed in association with the terminal ID of the starting terminal. The starting terminal is the electronic whiteboard  1  that transmits a communication start request. The destination candidate terminals are the electronic whiteboards  1  registered as the candidates for the destination terminal corresponding to the starting terminal. For example, the destination list management table illustrated in  FIG.  11    indicates that the destination candidate terminals to which the electronic whiteboard  1   a  with the terminal ID “01aa” (i.e., the starting terminal) is able to transmit the communication start request are electronic whiteboards  1  including the electronic whiteboard  1   b  with a terminal ID “01ba.” The destination candidate terminals in the destination list management table are updated when a destination candidate terminal is added to or deleted from the destination list management table in response to receipt of an addition request or a deletion request from a given starting terminal to the communication management apparatus  5 . 
     The destination list is an example of destination information. In the destination information, the information of the destination candidate terminals such as the terminal IDs thereof may be arranged in a format other than the list format. 
     Session Management Table 
       FIG.  12    is a conceptual diagram illustrating an example of a session management table of the embodiment. The session management DB  5004  in the storage unit  5000  is configured as the session management table as illustrated in  FIG.  12   . In the session management table, the relay apparatus ID, the starting terminal ID, the destination terminal ID, the delay time, and the delay information reception time are managed in association with each other for each session ID. The session ID identifies the session for implementing the communication between the relay apparatus  3  and the electronic white boards  1  (i.e., communication terminals). The relay apparatus ID is the apparatus ID of the relay apparatus  3  used in the session. The starting terminal ID is the terminal ID of the electronic whiteboard  1  serving as the starting terminal. The destination terminal ID is the terminal ID of the electronic white board  1  serving as the destination terminal. The delay time represents the delay time (milliseconds: ms) in the reception of the site image data by the destination terminal. The delay information reception time represents the date and time of receipt of delay information by the communication management apparatus  5 . The delay information, which represents the delay time, is transmitted from the destination terminal. For example, the session management table illustrated in  FIG.  12    indicates that the relay apparatus  3  with a relay apparatus ID “111a” relays the site image data and the audio data between an electronic white board  1  with a terminal ID “01aa” and an electronic white board  1  with a terminal ID “01 db” in a communication session executed with a session ID “se01.” The session management table further indicates that the delay time of the site image data in the electronic white board  1  serving as the destination terminal is 200 ms at “13:41 on Feb. 10, 2020.” 
     Relay Apparatus Management Table 
       FIG.  13    is a conceptual diagram illustrating an example of a relay apparatus management table of the embodiment. The relay apparatus management DB  5005  in the storage unit  5000  is configured as the relay apparatus management table as illustrated in  FIG.  13   . In the relay apparatus management table, the operation state of each relay apparatus  3 , the date and time of receipt of state information of the relay apparatus  3  by the communication management apparatus  5 , the IP address of the relay apparatus  3 , and the maximum data transmission speed (megabits per second: Mbps) of the relay apparatus  3  are managed in association with each other for each relay apparatus ID. The relay apparatus ID represents the relay apparatus ID of the relay apparatus  3 . The state information includes the information of the operation state of the relay apparatus  3 . For example, the relay apparatus management table illustrated in  FIG.  13    indicates that the operation state of the relay apparatus  3  with a relay apparatus ID “111a” is “ON-LINE,” and that the date and time of receipt of the state information by the communication management apparatus  5  is “13:00 on Feb. 10, 2020.” The relay apparatus management table further indicates that the relay apparatus  3  has an IP address “1.2.1.2” and a maximum data transmission speed of 100 Mbps. 
     Shared Data Management Table 
       FIG.  14    is a conceptual diagram illustrating an example of a shared data management table of the embodiment. The shared data management DB  5006  in the storage unit  5000  is configured as the shared data management table as illustrated in  FIG.  14   . In the shared data management table, various data of the display screen shared and stored by the electronic whiteboards  1  (i.e., communication terminals) is stored and managed for each session ID for identifying the session for implementing the communication between the electronic whiteboards  1  and the relay apparatus  3 . The data of the shared data management table corresponds to the display screen information (see  FIG.  7   ) stored in the display screen management DB  1001  in each of the electronic whiteboards  1 . 
     The data of the shared data management table includes an ID for identifying each data item, a sequence number representing the generation order of the data item, information “body” representing the contents of the data item, information “parent” for identifying higher-layer (i.e., parent) data of the data item, editability information (edit) representing the editability of the data item, and lower-layer editability information (lower level) representing the editability of the data in a lower layer associated with the data item. For example, in the case of meeting information representing a remote conference being held between a plurality of electronic whiteboards  1 , the shared data management table includes a meeting ID (i.e., session ID) for identifying the remote conference being held, information “children” representing the pages generated in the remote conference, information “current page” representing the page forming the display screen currently displayed on the electronic whiteboards  1 , editability information (edit) representing the editability of the meeting information, and lower-layer editability information (lower level) representing the editability of the data in a lower layer associated with the meeting information. Further, in the case of page data, for example, the shared data management table includes a page ID for identifying the page corresponding to the page data, a uniform resource locator (URL) representing the storage location of the background image data forming the page, editability information (edit) representing the editability of the page, and lower-layer editability information (lower level) representing the editability of the strokes in a lower layer associated with the page. 
     Further, in the case of stroke data, for example, the shared data management table includes a stroke ID for identifying the stroke data generated by a stroke rendering event, information “body” representing the contents of the stroke data, information “parent” for identifying the page (i.e., page data) including the stroke, and editability information (edit) representing the editability of the stroke. In this case, the information “body” representing the contents of the stroke data includes information such as the color of the rendered stroke, the width representing the thickness of the line of the rendered stroke, and the coordinates (x, y) of the vertices of the rendered stroke. 
     Herein, the stroke rendering refers to a process of inputting rendering information performed by the user. For example, the stroke rendering is an event in which the user presses the electronic pen  190  against the display  180 , moves the electronic pen  190  while in contact with the display  180 , and releases the electronic pen  190  from the display  180 . The color of the stroke is expressed by numerical values each ranging from 0 to 25 to represent the corresponding color component in the red-green-blue-alpha (RGBA) data format. The width representing the thickness of the line of the rendered stroke is represented by the number of pixels. Each of the vertices of the rendered stroke is represented by X and Y coordinates. The vertices are connected together by a Bezier curve to form a line segment representing the stroke. With the shared data management table, the communication management apparatus manages the various data of the display screen including the stroke data generated in a video conference using a particular communication session, for example. 
     Lower-Layer Setting Condition Management Table 
       FIG.  15    is a conceptual diagram illustrating an example of a lower-layer setting condition management table of the embodiment. The lower-layer setting condition management DB  5007  in the storage unit  5000  is configured as the lower-layer setting condition management table as illustrated in  FIG.  15   . The lower-layer setting condition management table stores setting information for setting the lower-layer editability information. The lower-layer setting condition management table stores setting conditions in which each operation item representing an operation performed on the various data forming the display screen is associated with setting information for setting the editability of the data in a lower layer associated with the data of the operation target. For example, in the lower-layer setting condition management table illustrated in  FIG.  15   , the setting information corresponding to an operation item “removing the page” is “lock,” the setting information corresponding to an operation item “switching pages” is “unlock,” and the setting information corresponding to an operation item “moving the object group” is “lock.” Based on the setting information, the setting unit  58  sets the lower-layer editability information of the operation item corresponding to the operation request received by the communication unit  51 . 
     Functional Configuration of Image Storing Apparatus 
     Referring back to  FIG.  6 B , a description will be given of a functional configuration of the image storing apparatus  7 . 
     The image storing apparatus  7  includes a communication unit  71 , a generation unit  73 , and a storing and reading unit  79 . Each of these units is a function or functional unit implemented when at least one of the components illustrated in  FIG.  4    operates in response to a command from the CPU  701  in accordance with the image storage program deployed on the RAM  703  from the HD  704 . The image storing apparatus  7  further includes a storage unit  7000  implemented by the RAM  703 , the HD  704 , or a recording medium  715  illustrated in  FIG.  4   . 
     The communication unit  71  is a function implemented by a command from the CPU  701  in  FIG.  4    and the network I/F  709  in  FIG.  4    to transmit and receive various data and information to and from another terminal or apparatus via the communication network  100 . 
     The generation unit  73  is a function implemented by a command from the CPU  701  in  FIG.  4    to generate the URL representing the storage location of the background image data. 
     The storing and reading unit  79  is a function implemented by a command from the CPU  701  in  FIG.  4    to store various data in the storage unit  7000  and read therefrom various data. 
     Processes and Operations of Embodiment 
     Processes and operations performed in the communication system  10  of the embodiment will be described with  FIGS.  16  to  28   . 
     Preparatory Process for Remote Communication 
     A preparatory process for remote communication performed by the electronic whiteboard  1   a  as the login requesting terminal will first be described with  FIGS.  16  and  17   . The electronic whiteboard  1   b  performs a login request process similar to that performed by the electronic whiteboard  1   a , and thus description thereof will be omitted. 
       FIG.  16    is a sequence diagram illustrating an example of a preparatory process to start remote communication between the electronic whiteboards  1 .  FIG.  17    is a diagram illustrating an example of a destination list screen displayed on one of the electronic whiteboards  1 . 
     When the power switch  122  of the electronic whiteboard  1   a  is turned on, the receiving unit  12   a  receives the power-on operation (step S 11 ). 
     The communication unit  11   a  then transmits the login request information to the communication management apparatus  5  via the communication network  100  (step S 12 ). The login request information, which represents the request for login authentication, includes the terminal ID of the electronic whiteboard  1   a  and the password. The terminal ID and the password are data read from the storage unit  1000   a  and transmitted to the communication unit  11   a  by the storing and reading unit  19   a . The terminal ID and the password transmitted to the communication unit  11   a  are not necessarily read from the storage unit  1000   a , and may be input by the user with an input device such as a keyboard, or may be read from a recording medium connected to the electronic whiteboard  1   a , such as a subscriber identify module (SIM) card or an SD card. Then, the communication unit  51  of the communication management apparatus  5  receives the login request information transmitted from the electronic whiteboard  1   a.    
     Then, the authentication unit  52  of the communication management apparatus  5  performs a search through the authentication management table (see  FIG.  9   ) with search keys set to the terminal ID and the password included in the login request information received via the communication unit  51 . If the same terminal ID and password as those included in the login request information are managed in the authentication management table, the authentication unit  52  allows login of the electronic whiteboard  1   a  (step S 13 ), and the processes of step S 14  and the subsequent steps are executed. 
     If the login of the electronic whiteboard  1   a  is allowed, the terminal managing unit  54  updates the information of the terminal management table (see  FIG.  10   ), specifically the information corresponding to the terminal ID “01aa” of the electronic whiteboard  1   a . For example, the terminal managing unit  54  changes the information of the operation state corresponding to the terminal ID “01aa” to “ON-LINE (COMMUNICATION AVAILABLE),” and updates the information of the reception time to the date and time of receipt of the login request information (step S 14 ). The information of the terminal IP address in the terminal management table may be transmitted from the electronic whiteboard  1   a  at step S 12  instead of being previously registered in the terminal management table. Thereby, the operation state “ON-LINE (COMMUNICATION AVAILABLE),” the reception time “2020.2.10.13:40 (13:40 on Feb. 10, 2020),” and the terminal IP address “1.2.1.3” are managed in the terminal management table in association with the terminal ID “01aa,” as illustrated in  FIG.  10   , for example. 
     Then, the session managing unit  55  adds a new record to the session management table (see  FIG.  12   ) and manages the new record (step S 15 ). In the new record, the terminal ID “01aa” of the electronic whiteboard  1   a  received at step S 12  is managed as the starting terminal ID. Then, the communication unit  51  transmits authentication result information to the electronic whiteboard  1   a  (i.e., the source of the login request information) via the communication network  100  (step S 16 ). The authentication result information represents an authentication result obtained through the process of step S 13 . 
     In response to receipt of the authentication result information indicating that the login of the electronic whiteboard  1   a  is allowed, the communication unit  11   a  of the electronic whiteboard  1   a  (i.e., the login requesting terminal) transmits destination list request information to the communication management apparatus  5  via the communication network  100  (step S 17 ). The destination list request information represents the request for the destination list. Then, the communication unit  51  of the communication management apparatus  5  receives the destination list request information. 
     Then, the terminal managing unit  54  performs a search through the destination list management table (see  FIG.  11   ) with a search key set to the terminal ID “01aa” of the electronic whiteboard  1   a  (i.e., the login requesting terminal), to thereby read from the destination list management table the terminal IDs of the destination candidate terminals that are capable of communicating with the electronic whiteboard  1   a . The terminal managing unit  54  further reads, from the terminal management table (see  FIG.  10   ), the destination names corresponding to the terminal IDs of the destination candidate terminals (step S 18 ). In the present example, the terminal managing unit  54  extracts the terminal IDs of the destination candidate terminals corresponding to the terminal ID “01 aa” of the electronic whiteboard  1   a  and the destination names corresponding to the terminal IDs. 
     Then, the communication unit  51  reads data from the storage unit  5000 , for example, via the storing and reading unit  59  (step S 19 ). The data read in this step includes the data of a destination list frame and the data of icons representing operation states. The communication unit  51  further transmits the destination list information to the electronic whiteboard  1   a  (step S 20 ). The destination list information includes the read destination list frame and icons and the terminal IDs and the destination names extracted at step S 18 . That is, the destination list information includes the destination list frame, the icons, the terminal IDs, and the destination names. Then, in the electronic whiteboard  1   a , the communication unit  11   a  receives the destination list information, and the storing and reading unit  19   a  stores the received destination list information in the storage unit  1000   a  (step S 21 ). 
     In the embodiment, the communication management apparatus  5  thus centrally manages the destination list information of all electronic whiteboards  1 , instead of each of the electronic whiteboards  1  managing the destination list information. In the communication system  10  of the embodiment, therefore, the communication management apparatus  5  centrally responds to changes such as the addition of a new electronic whiteboard  1  to the communication system  10 , the replacement of any of the electronic whiteboards  1  in the communication system  10  with a new electronic whiteboard  1 , and a change in the appearance of the destination list frame. Consequently, the electronic whiteboards  1  are saved from a process of changing the destination list information. 
     The terminal managing unit  54  further performs a search through the terminal management table (see  FIG.  10   ) with search keys set to the terminal IDs of the destination candidate terminals extracted at step S 18 , to thereby read from the terminal management table the respective operation states corresponding to the terminal IDs of the destination candidate terminals. Thereby, the terminal managing unit  54  acquires the respective operation states of the electronic whiteboards  1  corresponding to the terminal IDs of the destination candidate terminals (step S 22 ). 
     The communication unit  51  then transmits terminal state information to the electronic whiteboard  1   a  via the communication network  100  (step S 23 ). The terminal state information includes the terminal IDs used as the search keys at step S 22  and the respective operation states of the destination candidate terminals corresponding to the terminal IDs. 
     Then, the storing and reading unit  19   a  of the electronic whiteboard  1   a  sequentially stores, in the storage unit  1000   a , the items of the terminal state information received from the communication management apparatus  5  (step S 24 ). The electronic whiteboard  1   a  thereby receives the terminal state information of the electronic whiteboards  1  as the destination candidate terminals, and thus acquires the current operation states of the destination candidate terminals, i.e., the other electronic whiteboards  1  such as the electronic whiteboard  1   b  that are capable of communicating with the electronic whiteboard  1   a.    
     Then, based on the destination list information and the terminal state information stored in the storage unit  1000   a , the display control unit  14   a  generates the destination list reflecting the states of the destination candidate terminals. Further, with the generated destination list, the display control unit  14   a  controls the display  180  of the electronic whiteboard  1   a  to display a destination list screen  800  as illustrated in  FIG.  17    (step S 25 ). The destination list screen  800  displays, for each of the destination candidate terminals, the icon representing the operation state of the destination candidate terminal and the terminal ID and the destination name of the destination candidate terminal. In the example of  FIG.  17   , the icon representing the operation state of the destination candidate terminal is displayed as an “OFF-LINE” icon in the first row of the destination list screen  800  and as an “ON-LINE (COMMUNICATION AVAILABLE)” icon in the second row and a lower row of the destination list screen  800 . 
     In the communication management apparatus  5 , the terminal managing unit  54  performs a search through the destination list management table (see  FIG.  11   ) based on the terminal ID “01aa” of the electronic whiteboard  1   a , to thereby extract from the destination list management table the terminal IDs of the other electronic whiteboards  1  in which the electronic whiteboard  1   a  is registered as a destination candidate terminal (step S 26 ). In the destination list management table in  FIG.  11   , terminal IDs “01ba,” “01ca,” and “01da” are among the terminal IDs of the other electronic whiteboards  1  read in this step. 
     The terminal managing unit  54  then performs a search through the terminal management table (see  FIG.  10   ) based on the terminal ID “01aa” of the electronic whiteboard  1   a , to thereby acquire the operation state of the electronic whiteboard  1   a  from the terminal management table (step S 27 ). 
     Then, the communication unit  51  transmits terminal state information to the electronic whiteboards  1  corresponding to the terminal IDs extracted at step S 26  and corresponding to the operation state “ON-LINE” in the terminal management table (see  FIG.  10   ) (step S 28 ). The terminal state information in this case includes the terminal ID “01aa” of the electronic whiteboard  1   a  and the operation state “ON-LINE” of the electronic whiteboard  1   a  acquired at step S 27 . When transmitting the terminal state information to the other electronic whiteboards  1  such as the electronic whiteboard  1   b , the communication unit  51  refers to the IP addresses of the electronic whiteboards  1  managed in the terminal management table (see  FIG.  10   ) based on the terminal IDs of the electronic whiteboards  1 . Thereby, the communication unit  51  transmits the terminal ID “01aa” and the operation state “ON-LINE” of the electronic whiteboard  1   a  to each of the other electronic whiteboards  1  capable of communicating with the electronic whiteboard  1   a , which is a destination candidate terminal for the other electronic whiteboards  1 . Consequently, each of the destination candidate terminals (i.e., the other electronic whiteboards  1  such as the electronic whiteboard  1   b ) also displays, on the display  180  thereof, the state of the electronic whiteboard  1   a  (i.e., a destination candidate terminal for the other electronic whiteboards  1  such as the electronic whiteboard  1   b ) (step S 29 ). 
     Process of Starting Remote Communication 
     With reference to  FIG.  18   , a description will be given of a process in which the electronic whiteboard  1   a  starts remote communication with the electronic whiteboard  1   b.    
       FIG.  18    is a sequence diagram illustrating an example of a process of starting remote communication. When the user UA 1  of the electronic whiteboard  1   a  (i.e., the starting terminal) selects the electronic whiteboard  1   b  (i.e., the destination terminal) by pressing a field in the destination list screen  800  of  FIG.  17    corresponding to the terminal ID “01ba” of the electronic whiteboard  1   b  as a destination candidate terminal, the receiving unit  12   a  receives the user request to start the communication with the electronic whiteboard  1   b  (step S 31 ). Then, the communication unit  11   a  of the electronic whiteboard  1   a  (i.e., the starting terminal) transmits the start request information to the communication management apparatus (step S 32 ). The start request information, which represents the request to start the communication, includes the terminal ID “01aa” of the electronic whiteboard  1   a  (i.e., the starting terminal) and the terminal ID “01ba” of the electronic whiteboard  1   b  (i.e., the destination terminal). Then, the communication unit  51  of the communication management apparatus  5  receives the start request information and the IP address of the electronic whiteboard  1   a  (i.e., the starting terminal) as the source of the start request information. 
     Then, the terminal managing unit  54  updates the terminal management table (see  FIG.  10   ) based on the terminal ID “01aa” of the electronic whiteboard  1   a  (i.e., the starting terminal) and the terminal ID “01ba” of the electronic whiteboard  1   b  (i.e., the destination terminal) included in the start request information (step S 33 ). For example, based on the terminal ID “01aa” of the electronic whiteboard  1   a  (i.e., the starting terminal) and the terminal ID “01ba” of the electronic whiteboard  1   b  (i.e., the destination terminal) included in the start request information, the terminal managing unit  54  updates the respective operation states corresponding to the terminal IDs “01aa” and “01ba” in the terminal management table to “ON-LINE (COMMUNICATING).” The information of the electronic whiteboard  1   a  (i.e., the starting terminal) and the electronic whiteboard  1   b  (i.e., the destination terminal) managed in the terminal management table in this state indicates that the electronic whiteboards  1   a  and  1   b  have not participated in a session yet but are in a communicating state. That is, the electronic whiteboard  1   a  (i.e., the starting terminal) and the electronic whiteboard  1   b  (i.e., the destination terminal) have not started a video conference yet, but are in the communicating state. Therefore, if a user of another electronic whiteboard  1  (e.g., a user of another electronic whiteboard  1  intending to join the communication) attempts to communicate with the electronic whiteboard  1   a  (i.e., the starting terminal) or the electronic whiteboard  1   b  (i.e., the destination terminal) in this state, the another electronic whiteboard  1  outputs a notification sound or displays a message to notify the user that the electronic whiteboard  1   a  or  1   b  is in the communicating state. 
     A description will be given of a process of executing a session to select the relay apparatus  3  to be used. 
     The session managing unit  55  of the communication management apparatus  5  first generates the session ID for identifying the session to be held between the electronic whiteboards  1   a  and  1   b  (step S 34 ). It is assumed here that the session ID “se01” is generated. 
     The session managing unit  55  then stores and manages the session ID “se01” generated at step S 34 , the terminal ID “01aa” of the electronic whiteboard  1   a  (i.e., the starting terminal), and the terminal ID “01ba” of the electronic whiteboard  1   b  (i.e., the destination terminal) in the session management table (see  FIG.  12   ) in association with each other (step S 35 ). 
     Then, the relay apparatus managing unit  56  selects the relay apparatus  3  that relays the session between the electronic whiteboard  1   a  (i.e., the starting terminal) and the electronic whiteboard  1   b  (i.e., the destination terminal) (step S 36 ). For example, the relay apparatus managing unit  56  selects, from the relay apparatuses  3  with relay apparatus IDs corresponding to the operation state “ON-LINE” in the relay apparatus management table (see  FIG.  13   ), the relay apparatus  3  having an IP address close to the IP address of the electronic whiteboard  1   a  (i.e., the starting terminal) in the terminal management table (see  FIG.  10   ). It is assumed in the following description that the relay apparatus  3  with the relay apparatus ID “111a” has been selected. 
     After the completion of the process of step S 36  to select the relay apparatus  3 , the communication unit  51  of the communication management apparatus  5  transmits relay apparatus selection information to the electronic whiteboard  1   a  (i.e., the starting terminal) (step S 37 - 1 ). The relay apparatus selection information includes the IP address of the relay apparatus  3  selected at step S 36  and the session ID “se01” generated at step S 34 . Then, the electronic whiteboard  1   a  (i.e., the starting terminal) acquires the IP address of the communication management apparatus  5  as the source of the relay apparatus selection information. 
     The communication unit  51  of the communication management apparatus  5  further transmits relay apparatus selection information to the electronic whiteboard  1   b  (i.e., the destination terminal) (step S 37 - 2 ). The relay apparatus selection information includes the IP address of the relay apparatus  3  selected at step S 36 , the terminal ID “01 aa” of the electronic whiteboard  1   a  (i.e., the starting terminal), and the session ID “se01” generated at step S 34 . In the execution of the session with the session ID “se01,” therefore, the electronic whiteboard  1   b  (i.e., the destination terminal) acquires the IP address of the communication management apparatus  5  as the source of the relay apparatus selection information. 
     Then, the communication unit  11   a  of the electronic whiteboard  1   a  (i.e., the starting terminal) transmits reception completion information to the communication management apparatus  5  (step S 38 - 1 ). The reception completion information indicates that the relay apparatus selection information transmitted in the process of step S 37 - 1  has been received. The reception completion information includes the session ID transmitted in the process of step S 37 - 1 . Then, the communication management apparatus  5  acquires a message that the transmission of the relay apparatus selection information executed in a particular session with the session ID “se01” has been completed. 
     The electronic whiteboard  1   b  (i.e., the destination terminal) similarly transmits, to the communication management apparatus  5 , reception completion information indicating that the relay apparatus selection information transmitted in the process of step S 37 - 2  has been received (step S 38 - 2 ). In this case, too, the communication management apparatus  5  acquires the message that the transmission of the relay apparatus selection information executed in the particular session with the session ID “se01” has been completed. 
     As described above, the electronic whiteboards  1   a  and  1   b  transmit and receive the site image data and the audio data to and from each other via the relay apparatus  3  selected at step S 36 , to thereby have the video conference. 
     Process of Sharing Data between Electronic Whiteboards 
     A process of sharing data between the electronic whiteboards  1  will be described with  FIGS.  19  to  23 C . 
       FIGS.  19  to  21    are sequence diagrams illustrating an example of the process of sharing data between the electronic whiteboards  1  in the communication system  10  of the embodiment. 
     The following description will be given of an example in which the electronic whiteboards  1   a  and  1   b  share the background image data and the stroke data such that the background image displayed on the electronic whiteboard  1   a  and the stroke image input to the electronic whiteboard  1   a  are also displayed on the electronic whiteboard  1   b.    
       FIG.  22 A  illustrates an example of a screen displayed on the electronic whiteboard  1   a .  FIG.  22 B  illustrates an example of a screen displayed on the electronic whiteboard  1   b .  FIG.  22 C  illustrates another example of the screen displayed on the electronic whiteboard  1   a .  FIG.  22 D  illustrates another example of the screen displayed on the electronic whiteboard  1   b.    
     In the electronic whiteboard  1   a  at the site A, the display control unit  14   a  controls the display  180  to display the screen illustrated in  FIG.  22 A . The screen of  FIG.  22 A  displays a background image dA, an image v 2  of the site B, and a share button b 1  that is pressed to share the background image dA. When the user UA 1  of the electronic whiteboard  1   a  presses the share button b 1  in this state, the receiving unit  12   a  receives a background image sharing process requested by the user UA 1  (step S 51 ). Then, the communication unit  11   a  transmits an upload request to the image storing apparatus  7  to request upload of the image data of the background image dA (hereinafter referred to as the background image data) (step S 52 ). In this case, the communication unit  11   a  transmits the background image data to a predetermined URL for uploading data (e.g., http://qwejp/upload), for example. Then, the communication unit  71  of the image storing apparatus  7  receives the upload request transmitted from the electronic whiteboard  1   a.    
     The storing and reading unit  79  of the image storing apparatus  7  stores the background image data received at step S 52  in the storage unit  7000  (step S 53 ). Then, the generation unit  73  of the image storing apparatus  7  generates the URL representing the storage location of the stored background image data (step S 54 ). The URL is an example of storage location information. The storage location information also includes a uniform resource identifier (URI). The execution order of steps S 53  and S 54  may be reversed. Further, steps S 53  and S 54  may be executed in parallel. Thereby, the electronic whiteboard  1   a  is able to start uploading the background image data. 
     The communication unit  71  of the image storing apparatus  7  then transmits, to the electronic whiteboard  1   a , the URL of the background image data generated by the generation unit  73  (step S 55 ). Then, the communication unit  11   a  of the electronic whiteboard  1   a  receives the URL of the background image data transmitted from the image storing apparatus  7 . 
     Then, the display screen managing unit  21   a  of the electronic whiteboard  1   a  updates the page information stored in the display screen management DB  1001   a  (step S 56 ). In this case, the display screen managing unit  21   a  stores the page data corresponding to the background image data to be uploaded to the image storing apparatus  7  (e.g., the page data of the Page P 1 ). 
     Then, the communication unit  11   a  transmits an upload start notification to the communication management apparatus  5  to notify that the upload of the background image data has started (step S 57 ). The upload start notification includes the page ID of the page corresponding to the background image data to be uploaded and the URL received at step S 55 . Then, the communication unit  51  of the communication management apparatus  5  receives the upload start notification transmitted from the electronic whiteboard  1   a.    
     Based on the various information received at step S 57 , the shared data managing unit  57  of the communication management apparatus  5  updates the page information stored in the shared data management DB  5006  (see  FIG.  14   ) (step S 58 ). Specifically, the shared data managing unit  57  searches through the shared data management table for the information “body” associated with the page ID received at step S 57 , and describes the URL received at step S 57  in the information “body.” The shared data managing unit  57  further assigns a global ID (gid) to the page (i.e., page data) to be stored in the shared data management DB  5006 . 
     The communication unit  51  of the communication management apparatus  5  forwards the upload start notification received at step S 57  to the electronic whiteboard  1   b , which is having the remote conference with the electronic whiteboard  1   a  (step S 59 ). The communication unit  11   b  of the electronic whiteboard  1   b  then receives the upload start notification. Then, the display control unit  14   b  of the electronic whiteboard  1   b  controls the display  180  of the electronic whiteboard  1   b  to display the screen as illustrated in  FIG.  22 B  (step S 60 ). Before this step, the display  180  of the electronic whiteboard  1   b  displays an image v 1  of the site A and a share button b 2  that is pressed to share data. In response to receipt of the upload start notification at step S 59 , the electronic whiteboard  1   b  outputs data for displaying an hourglass icon c 2  that visualizes the passage of time taken to download the background image data. 
     The passage of time may be expressed by a still image of an hourglass or a moving image of an hourglass with moving sand. The hourglass icon c 2  is an example of schedule information indicating that image data is scheduled to be downloaded. Other examples of the schedule information include an icon other than the hourglass icon (e.g., a clock icon), a character (and/or a symbol) replacing the icon, and a combination of an icon and a character (and/or a symbol). Further, the schedule information may be notified by sound. In this case, the schedule information is output as sound from the speaker  150  by the image and audio processing unit  13   a , not by the display control unit  14   a.    
     Then, the user UA 1  at the site A moves the electronic pen  190  or the hand H in contact with the display  180  of the electronic whiteboard  1   a , and the receiving unit  12   a  receives the input of the stroke (i.e., trajectory) of the movement (step S 61 ). Based on the input stroke, the image processing unit  16   a  then generates stroke data (e.g., the data of coordinates (x, y)) for displaying a stroke image on the two-dimensional display  180  (step S 62 ). Then, the display control unit  14   a  controls the display  180  of the electronic whiteboard  1   a  to display the stroke image (step S 63 ). Thereby, a stroke image stA is displayed, as illustrated in  FIG.  22 C . 
     Then, the communication unit  11   a  transmits, to the communication management apparatus  5 , the stroke data generated at step S 62  to reproduce the stroke image (step S 64 ). Then, the communication unit  51  of the communication management apparatus  5  receives the stroke data transmitted from the electronic whiteboard  1   a.    
     The shared data managing unit  57  of the communication management apparatus  5  then stores the stroke data received at step S 64  in the shared data management DB  5006  (see  FIG.  14   ) (step S 65 ). In this case, the shared data managing unit  57  stores the items of the stroke data received by the communication unit  51  in the shared data management table sequentially (i.e., in the generation order of the items of the stroke data) in association with the meeting ID (i.e., the session ID) identifying the currently held remote conference, as illustrated in  FIG.  14   . The shared data managing unit  57  further assigns a global ID (gid) to the stroke data received at step S 64 . 
     Then, the communication unit  51  transmits the stroke data stored at step S 65  and the global ID (gid) assigned by the shared data managing unit  57  to the electronic whiteboard  1   a  (step S 66 ). Then, the electronic whiteboard  1   a  receives the stroke data and the global ID (gid) transmitted from the communication management apparatus  5 . Thereby, the electronic whiteboard  1   a  is notified that the stroke data has been received, and is also notified of the assigned global ID (gid). 
     The communication unit  51  further transmits the stroke data and global ID (gid) to the electronic whiteboard  1   b , with which the electronic whiteboard  1   a  is having the remote conference (step S 67 ). Then, the communication unit  11   b  of the electronic whiteboard  1   b  receives the stroke data and the global ID (gid) transmitted from the communication management apparatus  5 . The image processing unit  16   b  of the electronic whiteboard  1   b  then generates the stroke image based on the stroke data received by the communication unit  11   b  (step S 68 ). Then, the display control unit  14   b  of the electronic whiteboard  1   b  controls the display  180  of the electronic whiteboard  1   b  to display the stroke image generated at step S 68  (step S 69 ). Thereby, the electronic whiteboard  1   b  displays the same stroke image stA as that displayed on the counterpart electronic whiteboard  1   a , as illustrated in  FIG.  22 D . The communication system  10  thus enables the stroke image rendered on the electronic whiteboard  1   a  to be shared by the electronic whiteboard  1   b.    
     Then, as illustrated in  FIG.  21   , the communication unit  71  of the image storing apparatus  7  transmits an upload completion notification to the electronic whiteboard  1   a  to notify that the upload of the background image data has been completed (step S 71 ). The upload completion notification includes the URL representing the storage location of the uploaded background image data. Then, the communication unit  11   a  of the electronic whiteboard  1   a  receives the upload completion notification transmitted from the image storing apparatus  7 . 
     The communication unit  11   a  of the electronic whiteboard  1   a  forwards the upload completion notification received at step S 71  to the communication management apparatus  5  (step S 72 ). Then, the communication unit  51  of the communication management apparatus forwards the upload completion notification received at step S 72  to the electronic whiteboard  1   b  (step S 73 ). Then, the communication unit  11   b  of the electronic whiteboard  1   b  receives the upload completion notification transmitted from the communication management apparatus  5 . 
     The communication unit  11   b  of the electronic whiteboard  1   b  transmits a download request to the image storing apparatus  7  to request download of the background image data from the URL received at step S 73 , i.e., the URL representing the storage location in the image storing apparatus  7  (step S 74 ). Then, the communication unit  71  of the image storing apparatus  7  receives the download request transmitted from the electronic whiteboard  1   b.    
     Then, based on the URL included in the download request received by the communication unit  71 , the storing and reading unit  79  of the image storing apparatus  7  reads the requested background image data from the storage unit  7000  (step S 75 ). The communication unit  71  then transmits the requested background image data to the electronic whiteboard  1   b  as the source of the download request. Then, the communication unit  11   b  of the electronic whiteboard  1   b  downloads (i.e., receives) the background image data (step S 76 ). Then, the display control unit  14   b  of the electronic whiteboard  1   b  controls the display  180  of the electronic whiteboard  1   b  to display the background image based on the background image data downloaded (i.e., received) by the communication unit  11   b  (step S 77 ). Specifically, the display control unit  14   b  displays, on the screen illustrated in  FIG.  22 D , the same background image dA as that illustrated in  FIG.  22 C , and stops displaying the hourglass icon c 2 . 
     Thereby, the electronic whiteboards  1   a  and  1   b  share the stroke image and the background image displayed on the display  180 . The background image data of the background image displayed on one of the electronic whiteboards  1   a  and  1   b  (e.g., the electronic whiteboard  1   a ) is uploaded to the image storing apparatus  7  to be downloadable to the other one of the electronic whiteboards  1   a  and  1   b  (e.g., the electronic whiteboard  1   b ). Further, the stroke data of the stroke rendered on one of the electronic whiteboards  1   a  and  1   b  (e.g., the electronic whiteboard  1   a ) is shared by the other one of the electronic whiteboards  1   a  and  1   b  (e.g., the electronic whiteboard  1   b ) via the communication management apparatus  5 . The electronic whiteboards  1   a  and  1   b  also share, via the communication management apparatus  5 , the operation information (see  FIG.  8   ) of the operation such as generating the display screen (i.e., the page) to be displayed on the electronic whiteboards  1   a  and  1   b  or changing the display screen (i.e., the page). The process of steps S 51  to S 60  to start uploading the background image data to the image storing apparatus  7  from the electronic whiteboard  1   a  and the stroke data sharing process of steps S 61  to S 69  may be reversed in order, or may be executed in parallel. 
     The display screen shared by the electronic whiteboards  1   a  and  1   b  will be described with  FIGS.  23 A,  23 B, and  23 C . 
     A display screen  200   a  illustrated in  FIG.  23 A  displays a background image d 1  and a stroke image st 1 . A display screen  200   b  illustrated in  FIG.  23 B  displays a background image d 2  and a stroke image st 2 . A display screen  200   c  illustrated in  FIG.  23 C  displays a background image d 3  and a stroke image st 3 . 
     The electronic whiteboards  1   a  and  1   b  thus share a plurality of display screens such as those illustrated in  FIGS.  23 A to  23 C . The electronic whiteboards  1   a  and  1   b  further manage, as the display screen information illustrated in  FIG.  7   , the screen data (i.e., the background image data and the stroke data) forming the display screen displayed on the display  180 . For example, the display screen  200   a  illustrated in  FIG.  23 A  corresponds to the screen data of the page P 1 , and the display screen  200   b  illustrated in  FIG.  23 B  corresponds to the screen data of the page P 2 . Further, for example, the display screen  200   c  illustrated in  FIG.  23 C  corresponds to the screen data of the page P 3 . The display screens  200   a  to  200   c  illustrated in  FIGS.  23 A to  23 C  are examples of the display screen displayed on the display  180 . 
     As described above, when the electronic whiteboard  1   a  transmits the background image data of the background image and then the stroke data of the stroke image, the stroke data reaches the counterpart electronic whiteboard  1   b  before the background image data does, since the data size of the stroke data is substantially smaller than that of the background image data. In the embodiment, therefore, when the electronic whiteboard  1   a  uploads the image data, the communication management apparatus  5  receives the upload start notification from the electronic whiteboard  1   a , and forwards (i.e., transmits) the upload start notification to the electronic whiteboard  1   b , as in step S 59  in  FIG.  19   . Then, the electronic whiteboard  1   b  outputs the data for displaying the hourglass icon c 2 , as illustrated in  FIG.  22 B , to visually notify that the background image data is going to be downloaded, as in step S 60  in  FIG.  19   . When the display of the stroke image is in progress, therefore, the users UB 1  and UB 2  of the electronic whiteboard  1   b  at the site B realize that there is a background image (e.g., the image of a material) to be later transmitted to the electronic whiteboard  1   b . With this realization, the users UB 1  and UB 2  are able to smoothly communicate with the user UA 1  of the electronic whiteboard  1   a  at the site A. 
     Rendering Process According to Editing Authority 
     With reference to  FIGS.  24  to  28   , a description will be given of a rendering process performed on an electronic whiteboard  1  in accordance with the editing authority set for the operation target in a remote conference (i.e., video conference) taking place with a plurality of electronic whiteboards  1  at a plurality of sites. The following description will be given of an example in which the remote conference is held between the electronic whiteboards  1   a  and  1   b , i.e., between two sites. However, the number of sites or electronic whiteboards  1  used in the remote conference is not necessarily two, and the remote conference may be held between any number of sites or electronic whiteboards  1 . 
       FIG.  24    is a sequence diagram illustrating an example of the rendering process performed on one of the electronic whiteboards  1  in the communication system  10  of the embodiment in accordance with the editing authority. 
     With reference to  FIG.  24   , a description will be given of an example in which a predetermined operation is performed on a display screen  200   aa  illustrated in  FIG.  25 A  by the user UA 1  of the electronic whiteboard  1   a.    
     The display screen  200   aa  illustrated in  FIG.  25 A  includes an object OB, which is a set of stroke data items of strokes rendered on the display screen  200   a  illustrated in  FIG.  23 A . Herein, the object may be a stroke formed with coordinate points connected together, optical character reader (OCR)-processed text of a stroke recognized as a letter, a character, or a symbol such as a numerical symbol, a system-generated character representing the date or time, a particular figure such as a triangle, a star, or a circle, an image usable with a particular application program such as a pictogram or illustration, an arrow, a line segment, or a line such as a Bezier curve, for example. The above-described information displayed on the display  180  based on the rendering operation by a user will be referred to as the object. The object OB displayed on the display screen  200   aa  in  FIG.  25 A  is an example of a particular object. 
     When the user UA 1  of the electronic whiteboard  1   a  moves the object OB displayed on the display screen  200   aa  with the electronic pen  190 , for example, the receiving unit  12   a  receives the user operation performed on the object OB (step S 101 ). For example, the user UA 1  moves the object OB on the display screen  200   aa  toward the upper-left side of the display screen  200   aa , thereby obtaining a display screen  200   ab  illustrated in  FIG.  25 B . Then, the communication unit  11   a  transmits an object operation request to the communication management apparatus  5  to request the operation on the object OB displayed on the page (step S 102 ). The object operation request includes the data forming the object OB as the operation target (hereinafter also referred to as the operation target object). In this case, the object operation request includes the stroke data forming the object OB. Then, the communication unit  51  of the communication management apparatus  5  receives the object operation request transmitted from the electronic whiteboard  1   a.    
     The operation on an object (also referred to as the object operation) is not limited to moving the object. Thus, the object operation may be editing the object such as zooming-in, zooming-out, or deleting the object, adding or deleting a stroke, or changing the hue. In the following description, the operation on the display screen is assumed to be performed on an object as a set of stroke data items displayed on the display screen. The operation on the display screen, however, may be performed on a stroke displayed on the display screen. 
     Then, based on the object operation request received by the communication unit  51 , the communication management apparatus  5  determines the editing authority of the operation target object (step S 103 ). 
     An editing authority determination process performed by the communication management apparatus  5  on a stroke forming the operation target object will be described in detail with  FIG.  26   . 
       FIG.  26    is a flowchart illustrating an example of the editing authority determination process performed by the communication management apparatus  5  of the embodiment to determine the editing authority of the stroke of the operation target (hereinafter also referred to as the operation target stroke). 
     Based on the editability information stored in the shared data management DB  5006 , the determination unit  53  determines the editability of the stroke as the operation target object (step S 201 ). If the editability information associated with the ID of the operation target stroke is “lock,” the determination unit  53  determines that the operation target stroke is not allowed to be edited (NO at step S 201 ), and the communication management apparatus  5  proceeds to the process of step S 209 . If the editability information associated with the ID of the operation target stroke is “unlock,” on the other hand, the determination unit  53  determines that the operation target stroke is allowed to be edited (YES at step S 201 ), and the communication management apparatus  5  proceeds to the process of step S 202 . 
     The determination unit  53  then determines whether the operation target stroke has a higher-layer page (step S 202 ). If the information “parent” representing a higher-layer (i.e., parent) page associated with the ID of the operation target stroke is stored in the shared data management DB  5006 , the determination unit  53  determines that the operation target stroke has a higher-layer page (YES at step S 202 ), and the communication management apparatus  5  proceeds to the process of step S 203 . If the information “parent” representing a higher-layer (i.e., parent) page associated with the ID of the operation target stroke is not stored in the shared data management DB  5006 , on the other hand, the determination unit  53  determines that the operation target stroke has no higher-layer page (NO at step S 202 ), and the communication management apparatus  5  proceeds to the process of step S 210 . 
     Then, at step S 203 , the determination unit  53  shifts the determination target to the higher-layer page determined to exist at step S 202 . The determination unit  53  then determines the editability of the higher-layer page (hereinafter referred to as the determination target page) (step S 204 ). If the editability information associated with the ID of the determination target page is “lock,” the determination unit  53  determines that the determination target page is not allowed to be edited (NO at step S 204 ), and the communication management apparatus  5  proceeds to the process of step S 205 . If the editability information associated with the ID of the determination target page is “unlock,” on the other hand, the determination unit  53  determines that the determination target page is allowed to be edited (YES at step S 204 ), and the communication management apparatus  5  proceeds to the process of step S 206 . 
     Then, at step S 205 , based on the lower-layer editability information stored in the shared data management DB  5006 , the determination unit  53  determines the editability of the stroke, which is lower-layer data of the determination target page. If the lower-layer editability information associated with the ID of the determination target page is “lock,” the determination unit  53  determines that the stroke as the lower-layer data is not allowed to be edited (NO at step S 205 ), and the communication management apparatus  5  proceeds to the process of step S 209 . If lower-layer editability information associated with the ID of the determination target page is “unlock,” on the other hand, the determination unit  53  determines that the stroke as the lower-layer data is allowed to be edited (YES at step S 205 ), and the communication management apparatus  5  proceeds to the process of step S 206 . 
     At step S 206 , the determination unit  53  then shifts the determination target to the meeting taking place on the electronic whiteboard  1   a  (step S 206 ). Then, the determination unit  53  determines the editability of the meeting (i.e., the meeting information) as the determination target (hereinafter referred to as the determination target meeting) (step S 207 ). If the editability information associated with the ID of the determination target meeting is “lock,” the determination unit  53  determines that the determination target meeting is not allowed to be edited (NO at step S 207 ), and the communication management apparatus  5  proceeds to the process of step S 208 . If the editability information associated with the ID of the determination target meeting is “unlock,” on the other hand, the determination unit  53  determines that the determination target meeting is allowed to be edited (YES at step S 207 ), and the communication management apparatus  5  proceeds to the process of step S 210 . 
     Then, at step S 208 , based on the lower-layer editability information stored in the shared data management DB  5006 , the determination unit  53  determines the editability of the page as the lower-layer data of the determination target meeting. If the lower-layer editability information associated with the ID of the determination target meeting is “lock,” the determination unit  53  determines that the page as the lower-layer data of the determination target meeting is not allowed to be edited (NO at step S 208 ), and the communication management apparatus  5  proceeds to the process of step S 209 . If the lower-layer editability information associated with the ID of the determination target meeting is “unlock,” on the other hand, the determination unit  53  determines that the page as the lower-layer data of the determination target meeting is allowed to be edited (YES at step S 208 ), and the communication management apparatus  5  proceeds to the process of step S 210 . 
     Then, at step S 209 , the communication unit  51  transmits an error notification to the electronic whiteboard  1   a  to notify the failure of the object operation. Step S 209  corresponds to Step S 104   b  in  FIG.  24   . At step S 210 , the communication management apparatus  5  executes the process according to the object operation request received at step S 102  in  FIG.  24   . 
     As described above, the communication management apparatus  5  manages the data items of the display screen shared by the electronic whiteboards  1   a  and  1   b  in association with each other in the hierarchical structure (i.e., tree structure). When determining the editing authority of the operation target (e.g., the stroke), therefore, the communication management apparatus  5  determines not only whether the operation target stroke is editable but also whether the editing of the stroke is allowed by the higher-layer page, thereby preventing inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to contention for operation. 
     Although  FIG.  26    illustrates an example in which the operation target object is a stroke or a set of a plurality of strokes, the operation target object may also be a page. 
     With reference to  FIG.  27   , a description will be given of a procedure of an editing authority determination process in which the operation target object is not limited to the stroke. 
     Based on the information of the editing authority stored in the shared data management DB  5006 , the determination unit  53  first determines the editability of the operation target object (step S 251 ). If the editability information associated with the ID of the operation target object is “lock,” the determination unit  53  determines that the operation target object is not allowed to be edited (NO at step S 251 ), and the communication management apparatus  5  proceeds to the process of step S 256 . If the editability information associated with the ID of the operation target object is “unlock,” on the other hand, the determination unit  53  determines that the operation target object is allowed to be edited (YES at step S 251 ), and the communication management apparatus  5  proceeds to the process of step S 252 . 
     The determination unit  53  then determines whether the operation target object has higher-layer data (step S 252 ). If the information “parent” representing a higher-layer (i.e., parent) data associated with the ID of the operation target object is stored in the shared data management DB  5006 , the determination unit  53  determines that the operation target object has higher-layer data (YES at step S 252 ), and the communication management apparatus  5  proceeds to the process of step S 253 . If the information “parent” representing a higher-layer (i.e., parent) data associated with the ID of the operation target object is not stored in the shared data management DB  5006 , on the other hand, the determination unit  53  determines that the operation target object has no higher-layer data (NO at step S 252 ), and the communication management apparatus  5  proceeds to the process of step S 257 . 
     Then, at step S 253 , the determination unit  53  shifts the determination target to the higher-layer data determined to exist at step S 252 . The determination unit  53  then determines the editability of the higher-layer data as the determination target (hereinafter referred to as the determination target layer data) (step S 254 ). If the editability information associated with the ID of the determination target layer data is “lock,” the determination unit  53  determines that the determination target layer data is not allowed to be edited (NO at step S 254 ), and the communication management apparatus  5  proceeds to the process of step S 255 . If the editability information associated with the ID of the determination target layer data is “unlock,” on the other hand, the determination unit  53  determines that the determination target layer data is allowed to be edited (YES at step S 254 ), and the communication management apparatus  5  repeats the processes of step S 252  and the subsequent steps. 
     Then, at step S 255 , based on the lower-layer editability information stored in the shared data management DB  5006 , the determination unit  53  determines the editability of lower-layer data of the determination target layer data (i.e., the higher-layer data). If the lower-layer editability information associated with the ID of the determination target layer data (i.e., the higher-layer data) is “lock,” the determination unit  53  determines that the lower-layer data of the determination target layer data is not allowed to be edited (NO at step S 255 ), and the communication management apparatus  5  proceeds to the process of step S 256 . If the lower-layer editability information associated with the ID of the determination target layer data (i.e., the higher-layer data) is “unlock,” on the other hand, the determination unit  53  determines that the lower-layer data of the determination target layer data is allowed to be edited (YES at step S 255 ), and the communication management apparatus  5  repeats the processes of step S 252  and the subsequent processes. 
     At step S 256 , the communication unit  51  transmits an error notification to the electronic whiteboard  1   a  to notify the failure of the object operation. At step S 257 , the communication management apparatus  5  executes the process according to the object operation request received at step S 102  in  FIG.  24   . 
     As described above, even if the operation target object is data other than the stroke data, the communication management apparatus  5  is capable of determining the editability of the lower-layer data of the determination target layer data (i.e., the higher-layer data) by using the hierarchal structure of the data. 
     Referring back to  FIG.  24   , the description of the rendering process according to the editing authority will be continued. A description will first be given of the process executed when it is determined in the procedure of  FIG.  26    that there is editing authority to edit the operation target object, i.e., the process of step S 210  in  FIG.  26   . 
     In response to receipt of the object operation request transmitted from the electronic whiteboard  1   a , the communication unit  51  transmits a success notification to the electronic whiteboard  1   a  to notify the success of the object operation (step S 104   a ). Then, the communication unit  11   a  of the electronic whiteboard  1   a  receives the success notification transmitted from the communication management apparatus  5 . The communication unit  51  further transmits a lock notification to the electronic whiteboard  1   b  to notify the restriction of the operation on the page P 1  (step S 105   a ). Then, the communication unit  11   b  of the electronic whiteboard  1   b  receives the lock notification transmitted from the communication management apparatus  5 . 
     Then, the communication management apparatus  5  sets the editing authority according to the object operation (step S 106   a ). Details of the editing authority setting process will be described later. The display control unit  14   a  of the electronic whiteboard  1   a  controls the display  180  of the electronic whiteboard  1   a  to display the display screen  200   ab  (see  FIG.  25 B ) resulting from the operation on the object OB (step S 107   a ). Then, the communication unit  11   a  of the electronic whiteboard  1   a  transmits a transmission completion notification to the communication management apparatus  5  to notify that the stroke data related to the object operation received at step S 101  has been transmitted (step S 108   a ). Then, the communication unit  51  of the communication management apparatus  5  receives the transmission completion notification transmitted from the electronic whiteboard  1   a . The communication unit  51  of the communication management apparatus  5  then transmits the transmission completion notification transmitted from the electronic whiteboard  1   a  to the electronic whiteboard  1   b  (step S 109   a ). Then, the communication unit  11   b  of the electronic whiteboard  1   b  receives the transmission completion notification transmitted from the communication management apparatus  5 . 
     Then, the display control unit  14   b  of the electronic whiteboard  1   b  controls the display  180  of the electronic whiteboard  1   b  to display the display screen  200   ab  (see  FIG.  25 B ) generated by the image processing unit  16   b  based on the stroke data indicated in the transmission completion notification received by the communication unit  11   b  (step S 110   a ). The electronic whiteboard  1   b  thus controls the display  180  to display the display screen reflecting the object operation (e.g., the movement of the object) executed by the electronic whiteboard  1   a.    
     A description will be given of the process executed when it is determined in the procedure of  FIG.  26    that there is no editing authority to edit the operation target object, i.e., the process of step S 209  in  FIG.  26   . 
     If it is determined by the determination unit  53  that there is no editing authority to edit the object corresponding to the operation request, the communication unit  51  of the communication management apparatus  5  transmits an error notification to the electronic whiteboard  1   a , which has transmitted the object operation request, to notify the failure of the object operation (step S 104   b ). Then, the communication unit  11   a  of the electronic whiteboard  1   a  receives the error notification transmitted from the communication management apparatus  5 . Then, the electronic whiteboard  1   a  controls the display  180  of the communication unit  11   a  to display an image representing the error notification, for example, to thereby notify the user UA 1  of the failure of the object operation. 
     As described above, according to the communication system  10  of the embodiment, the data of the display screen shared by the electronic whiteboards  1   a  and  1   b  is expressed in the hierarchical (i.e., tree) structure, and is shared by the electronic whiteboards  1   a  and  1   b  via the communication management apparatus  5 . In the communication system  10 , therefore, if the operation request is transmitted to the communication management apparatus  5  from the electronic whiteboard  1   a , for example, the communication management apparatus  5  determines not only whether the object corresponding to the operation request is individually locked but also whether the object as lower-layer data of certain data (i.e., higher-layer data) is editable. Thereby, the communication system  10  of the embodiment prevents the inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to the contention for operation. 
     Editing Authority Setting Process 
     The editing authority setting process of step S 106   a  in  FIG.  24    will be described in detail with  FIG.  28   . 
       FIG.  28    is a flowchart illustrating an example of the editing authority setting process executed in the communication management apparatus  5  of the embodiment. 
     The setting unit  58  of the communication management apparatus  5  first sets the editability information of each stroke forming the operation target object (step S 301 ). Specifically, the setting unit  58  changes the editability information associated with the ID of the operation target stroke stored in the shared data management DB  5006  to “lock” from “unlock.” 
     Then, with reference to the lower-layer setting condition management DB  5007 , the determination unit  53  determines the editing authority of the operation item corresponding to the object operation received at step S 101  (step S 302 ). Specifically, if the setting information of the operation item corresponding to the object operation is “unlock,” the determination unit  53  determines that the operation item is editable (YES at step S 302 ), and the communication management apparatus  5  proceeds to the process of step S 303 . If the setting information of the operation item corresponding to the object operation is “lock,” on the other hand, the determination unit  53  determines that the operation item is not editable (NO at step S 302 ), and the communication management apparatus  5  proceeds to the process of step S 304 . 
     Then, at step S 303 , the setting unit  58  sets the lower-layer editability information in the shared data management DB  5006  associated with the ID of the page in a higher layer of the operation target stroke to “unlock.” At step S 304 , on the other hand, the setting unit  58  sets the lower-layer editability information in the shared data management DB  5006  associated with the ID of the page in a higher layer of the operation target stroke to “lock.” 
     As described above, in response to receipt of the object operation request from the electronic whiteboard  1   a , the communication management apparatus  5  executes not only the lock setting of the object per se but also the lock setting of lower-layer (i.e., child) data of the object in accordance with the operation. For example, in the case of an operation such as switching pages or updating additional information of the page, the stroke held as lower-layer data of the page may be editable without problems. The communication management apparatus  5  therefore may previously store the operation items for which the lower-layer editability information is set, to thereby reduce the frequency of errors in response to the operation request from the electronic whiteboard  1 . In the communication system  10 , therefore, the lock setting of the lower-layer data is autonomously set by the communication management apparatus  5 . When transmitting the operation request to the communication management apparatus  5  from a certain site, therefore, it is unnecessary to provide the communication management apparatus  5  with information for lock setting, thereby simplifying application programs for the electronic whiteboards  1   a  and  1   b.    
     The communication management apparatus  5  may execute the lock setting of the lower-layer data in accordance with request information transmitted from the electronic whiteboard  1   a  to request to lock the lower-layer data. In this case, the communication unit  11   a  of the electronic whiteboard  1   a  transmits, to the communication management apparatus  5 , the object operation request and the request information for requesting to lock the lower-layer data of the object. In response to receipt of the request information, the setting unit  58  of the communication management apparatus  5  sets the lower-layer editability information. In the communication system  10 , therefore, it is possible to specify the editability of data from the electronic whiteboard  1   a . For example, in the case of an operation for which it is unnecessary to prohibit the editing of the lower-layer data, the user UA 1  of the electronic whiteboard  1   a  is able to explicitly allow the editing of the lower-layer data. 
     As described above, a communication management apparatus of an embodiment of the present invention is the communication management apparatus  5  that manages the data of the display screen shared by a plurality of communication terminals (e.g., the electronic whiteboards  1   a  and  1   b ). The communication management apparatus  5  stores a hierarchical data structure in which each of a plurality of pages forming the display screen is associated with one or more objects included in the page. The communication management apparatus  5  further receives, from the electronic whiteboard  1   a , the operation request that requests an operation on a particular object of the one or more objects. When the editing of the particular object corresponding to the received operation request and the editing of data in a lower layer associated with a higher layer of the particular object are both allowed, the communication management apparatus  5  transmits the success notification to the electronic whiteboard  1   a  to notify the success of the operation on the particular object. In response to receipt of the operation request from the electronic whiteboard  1   a , therefore, the communication management apparatus  5  executes the operation when the editing of the particular object corresponding to the operation request and the editing of the data in the lower layer associated with the higher layer of the particular object are both allowed. Thereby, the communication management apparatus  5  prevents the inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to the contention for operation. 
     Further, when the editing of the particular object corresponding to the received operation request is allowed but the editing of the data in the lower layer associated with the higher layer of the particular object is prohibited, the communication management apparatus  5  of the embodiment transmits the error notification to the electronic whiteboard  1   a  (an example of one communication terminal) to notify the failure of the operation on the particular object. When the editing of the particular object corresponding to the operation request is allowed but the editing of the data in the lower layer associated with the higher layer of the particular object is prohibited, therefore, the communication management apparatus  5  restricts the operation, thereby preventing the inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to the contention for operation. 
     The communication management apparatus  5  of the embodiment further stores the editability information representing the editability of the data in each of a plurality of layers forming the hierarchical data structure. When one layer of the plurality of layers has a lower layer, the communication management apparatus  5  stores the lower-layer editability information, which represents the editability of the data in the lower layer, in association with the one layer. Further, the communication management apparatus  5  determines the editing authority of the operation target based on the stored editability information and lower-layer editability information. In the communication management apparatus  5 , therefore, the items of the data of the display screen shared by the electronic whiteboards  1   a  and  1   b  are managed in association with each other in the hierarchical data structure. When determining the editing authority of the operation target, therefore, the communication management apparatus determines not only whether the operation target stroke is editable but also whether the editing of the stroke is allowed by the page in the higher layer. Thereby, the communication management apparatus  5  prevents the inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to the contention for operation. 
     Further, when it is determined that there is editing authority to edit the operation target corresponding to the received operation request, the communication management apparatus  5  of the embodiment sets the editability information associated with the particular object to the locked status to indicate that the editing of the particular object is restricted. When the editability information is set to the locked status, the communication management apparatus  5  determines that the editing of the operation target is prohibited. Further, when it is determined that there is editing authority to edit the operation target, the communication management apparatus  5  sets the lower-layer editability information in accordance with the operation corresponding to the received operation request. The communication management apparatus  5  thus autonomously executes the lock setting of the data in the lower layer. When transmitting the operation request to the communication management apparatus  5  from a certain site, therefore, it is unnecessary to provide the communication management apparatus  5  with the information for lock setting, thereby simplifying the application programs for the electronic whiteboards  1   a  and  1   b.    
     The communication management apparatus  5  of the embodiment further receives, from the electronic whiteboard  1   a  (an example of the one communication terminal), the request information that requests the setting of the editability of the data in the lower layer of the particular object corresponding to the operation request, and sets the lower-layer editability information in accordance with the received request information. According to the communication management apparatus  5 , therefore, the editability of the data in the lower layer is specifiable from the electronic whiteboard  1   a . Therefore, in the case of an operation for which it is unnecessary to prohibit the editing of the data in the lower layer, for example, the user UA 1  of the electronic whiteboard  1   a  is able to explicitly allow the editing of the data in the lower layer. 
     A communication system of an embodiment of the present invention is the communication system  10  including the communication management apparatus  5  and the electronic whiteboard  1   a  (an example of a communication terminal). The electronic whiteboard  1   a  receives the operation request that requests an operation on a particular object of one or more objects displayed on the display screen  200   aa . Further, in response to receipt, from the communication management apparatus  5 , of the success notification that notifies the success of the operation on the particular object, the electronic whiteboard  1   a  causes the display  180  (an example of a display) to display the display screen  200   ab  reflecting the operation according to the operation request. Therefore, when the operation request is transmitted to the communication management apparatus  5  from the electronic whiteboard  1   a , for example, the communication management apparatus  5  determines not only whether the object according to the operation request is individually locked but also whether the object as lower-layer data of certain data (i.e., higher-layer data) is editable. Consequently, the communication system  10  of the embodiment prevents the inconsistency in editing operation between the electronic whiteboards  1   a  and  1   b  due to the contention for operation. 
     The above-described embodiments are illustrative and do not limit the present invention. Thus, numerous additional modifications and variations are possible in light of the above teachings. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of the present invention. 
     The various tables of the embodiment described above may be generated as a result of machine learning. The mutually associated data items in each of the tables may be categorized by machine learning to obviate the need for the tables. Herein, machine learning refers to a technology for causing a computer to acquire learning ability similar to human learning ability. According to the technology, the computer autonomously generates, from previously learned data, algorithms for making decisions such as data identification, and makes predictions by applying the algorithms to new data. The learning method for machine learning may be any of supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning, and deep learning, or may be a combination of two or more of these learning methods. The learning method for machine learning is not limited to a particular method. 
     Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA), system on a chip (SOC), graphics processing unit (GPU), and conventional circuit components arranged to perform the recited functions. Further, the above-described steps are not limited to the order disclosed herein.