WO2015072583A1 - Control system, communication system, computer program, controlling method, and computer program product - Google Patents

Control system, communication system, computer program, controlling method, and computer program product Download PDF

Info

Publication number
WO2015072583A1
WO2015072583A1 PCT/JP2014/080993 JP2014080993W WO2015072583A1 WO 2015072583 A1 WO2015072583 A1 WO 2015072583A1 JP 2014080993 W JP2014080993 W JP 2014080993W WO 2015072583 A1 WO2015072583 A1 WO 2015072583A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
terminal
communication
request
information
Prior art date
Application number
PCT/JP2014/080993
Other languages
French (fr)
Inventor
Naoki Umehara
Original Assignee
Ricoh Company, Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Company, Limited filed Critical Ricoh Company, Limited
Priority to CA2930831A priority Critical patent/CA2930831A1/en
Priority to EP14861955.4A priority patent/EP3072285B1/en
Priority to BR112016011323A priority patent/BR112016011323A8/en
Priority to CN201480062857.4A priority patent/CN105745909B/en
Priority to MX2016006426A priority patent/MX2016006426A/en
Priority to US15/036,490 priority patent/US10187219B2/en
Publication of WO2015072583A1 publication Critical patent/WO2015072583A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present invention relates to a control system, a communication system, a computer program, a controlling method, and a computer program product.
  • a communication system of a teleconference controls a session by a teleconf rence management system (refer to Patent Literature 1).
  • a plurality of teleconference terminals are connected to one teleconference management system, and based on a request from any of the teleconference terminals, the teleconference management system performs processing related to the start of communication.
  • the teleconference management system performs processing related to the start of communication.
  • a method is known that, in order to reduce a load imposed on a server, provides a plurality of servers to perform processing, thereby distributing the load imposed on the server ⁇ refer to Patent Literature 2) ,
  • a control system includes a first controller and a second controller that control a session in which content data is transmitted between communication terminals
  • the first controller includes a request
  • the request accepting unit accepts a request to start communication between predetermined communication terminals.
  • the first restricting unit imposes a
  • the first transmitter transmits, to the second controller, terminal identification
  • the second controller includes a second restricting unit, a second transmitter.
  • restricting unit imposes, based on the terminal
  • the second transmitter transmits, to the first controller, restriction information indicating that the restriction on the second communication terminal is completed.
  • the first controller performs processing related to the start of the communication performed according to the request after the restriction on the first communication terminal and the restriction on the second communication terminal are
  • FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram illustrating the state of the transmission and reception of image data, voice data, and various types of management information in the
  • FIG. 3 is an external view of a terminal according to the embodiment of the present invention.
  • FIG. 4 is a hardware configuration diagram of the terminal according to the embodiment of the present
  • FIG. 5 is a hardware configuration diagram of a
  • FIG. 6 is a functional block diagram of a terminal, apparatuses, and a system constituting the communication system according to the embodiment.
  • FIG. 7 is a conceptual diagram illustrating a 4
  • FIGS. 8A and 8B are conceptual diagrams illustrating relaying apparatus management tables.
  • FIGS. 9A and 9B are conceptual diagrams illustrating terminal authentication management tables.
  • FIG. 10 is a conceptual diagram illustrating state management tables.
  • FIGS. 11A and 11B are conceptual diagrams illustrating destination list management tables.
  • FIGS. 12A and 12B are conceptual diagrams illustrating session management tables.
  • FIGS. 13A and 13B are conceptual diagrams illustrating state change management tables.
  • FIG. 14 is a conceptual diagram illustrating a
  • FIGS. ISA and 15B are conceptual diagrams illustrating terminal management tables.
  • FIG. 16 is a conceptual diagram illustrating a request management table.
  • FIG, 17 is a conceptual diagram illustrating the state of the transmission and reception of various types of information in the communication system.
  • FIG. 18 is a sequence diagram illustrating inter-node cooperation.
  • FIG. 19 is a sequence diagram illustrating processing in a preparatory stage for starting communication between terminals .
  • FIG. 20 is a sequence diagram illustrating processing to synchronize the operation states of terminals.
  • FIG. 21 is a sequence diagram illustrating processing related to the start of communication.
  • FIG. 22 is a sequence diagram illustrating processing to request the start of communication.
  • FIG. 23 is a state transition diagram illustrating transitions between states of a terminal.
  • FIG. 24 is a flow diagram illustrating processing to change the state of a terminal.
  • FIG. 25 is a sequence diagram illustrating processing to start communication between terminals.
  • FIG. 26 is a sequence diagram illustrating processing to start communication among three terminals.
  • FIG. 27 is a sequence diagram illustrating processing to end communication.
  • FIG. 28 is a conceptual diagram illustrating a
  • FIG. 1 is a schematic diagram of a communication system according to the embodiment of the present invention
  • FIG. 2 is a conceptual diagram illustrating the state of the transmission and reception of image data, voice data, and various types of management information in the
  • This communication system is a system for transmitting information mutually among a plurality of communication terminals (corresponding to "communication terminals") via a communication management system (corresponding to a
  • “communication management system”) may include teleconference systems, videophone systems, voice conference systems, voice phone systems, personal computer (PC) screen sharing systems, and data sharing systems .
  • the present embodiment describes a communication system, a communication management system, and a
  • the communication terminal assuming a teleconference system as an example of the communication system, a teleconference management system as an example of the communication management system, and a teleconference terminal as an example of the communication terminal.
  • the communication terminal and the communication management system according to the present embodiment are not only used in the teleconference system, but also used in the communication system or the communication system.
  • This communication system 1 illustrated in FIG. 1 includes a plurality of communication terminals (lOaa, 10ab,%) 7 displays (120aa, 120ab,%) for the respective communication terminals (lOaa, 10ab,%), a plurality of relaying apparatuses (30a, 30b, 30c, 30d) , a plurality of communication management systems (500ab, 500cd) , a relaying apparatus selecting apparatus 80, a program providing system 90, and a maintenance system 100.
  • the communication terminals 10 perform communication through the transmission and reception of image data and voice data as examples of content data.
  • the content data is not limited to the image data and the voice data and may be at least one of image data, voice data, and text data, for example.
  • the image of the image data may be a moving image and a still image and may be both a moving image and a still image.
  • the present embodiment describes a case in which the image of the image 7
  • data is a moving image
  • management system will be simply denoted as a “management system,” and the "relaying apparatus selecting apparatus” will be simply denoted as a “selecting apparatus.”
  • communication management systems 500ab, SOOcd
  • any management system will be denoted as a “management system 500.”
  • terminals (lOaa, lOab,...), any terminal will be denoted as a “terminal 10.”
  • any display will be denoted as a "display 120.”
  • any relaying apparatus will be denoted as a "relaying apparatus 30.”
  • a session sei for management information is established for transmitting and receiving various types of management information between the terminals 10 via the management system 500.
  • a session is established for transmitting and receiving image data and voice data between the terminals 10 via the relaying apparatus 30.
  • the session for transmitting and receiving the image data and the voice data is collectively illustrated as a session sed for content data.
  • the terminal 10 illustrated in FIG. 1 performs the transmission and reception of content data such as image data and voice data in order to perform communication with the other terminal 10.
  • the communication in the present embodiment includes not only the
  • the terminal 10 may perform the transmission and reception of the voice data without performing the transmission and reception of 8
  • the relaying apparatus 30 selected out of the relaying apparatuses 30 by the selecting apparatus 80 relays content data among the terminals 10.
  • the management system 500 may be constructed by a plurality of computers.
  • a plurality of controllers (50a, 50b,...) and a management apparatus 60ab construct the communication management system 500ab.
  • any controller will be denoted as a "controller 50.”
  • a plurality of routers (70a, 70b, 70c, 70d, 70ab,
  • any router will be denoted as a "router 70.”
  • the program providing system 90 includes a hard disk
  • the HD 204 of the program providing system 90 also stores therein a program for relaying
  • the HD 204 of the program providing system 90 also stores therein a program for a selecting apparatus to cause the selecting apparatus 80 to implement various functions (or to cause the selecting apparatus 80 to function as various units) and can transmit the program for a selecting apparatus to the selecting apparatus 80.
  • the HD 204 of the program providing system 90 also stores: therein a program for a maintenance system to cause the maintenance system 100 to 9
  • the maintenance system 100 is a computer for keeping, managing, or maintaining at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90.
  • the maintenance system 100 is domestically installed, and the terminal 10, the relaying apparatus 30, the
  • the maintenance system 100 keeps, manages, or maintains at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90 remotely via a communication network 2.
  • the maintenance system 100 performs maintenance such as the management of the model number, serial number, customer, maintenance and inspection, trouble history or the like of at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90 without the involvement of the communication network 2.
  • the terminals (lOaa, lOab,...), the relaying apparatus
  • the management system 500ab, the LAN 2a, and the LAN 2b are communicably connected via an exclusive line 2ab including the router 70ab and are
  • the region A is Japan
  • the LAN 2a is constructed in a Tokyo office
  • the LAN 2b is constructed in an Osaka office, for example.
  • management system 500ab manages the state of the terminals ⁇ 10aa, lOab, ...lOba, lObb,... ⁇ connected to the LAN 2a or the LAN 2b and controls the connection between the terminals 10 using the relaying apparatuses (30a, 30b).
  • the terminals (lOca, 10bb,... ⁇ , the relaying apparatus 30c, and the router 70c are communicably connected via a LAN 2c.
  • the management system 500cd, the LAN 2c, and the LAN 2d are communicably connected via an exclusive line 2cd including the router 70cd and are
  • the region B is the
  • the LAN 2c is constructed in a New York office
  • the LAN 2d is constructed in a
  • the region A and the region B are communicably connected via the Internet 2i from the routers (70ab, 70cd) , respectively.
  • the routers (70ab, 70cd) are communicably connected via the Internet 2i from the routers (70ab, 70cd) , respectively.
  • management system 500cd manages the state of the terminals (lOca, lGcb,...10da, lOdb,... ⁇ connected to the LAN 2c or the LAN 2d and controls the connection among the terminals 10 using the relaying apparatuses (30c, 30d) .
  • the selecting apparatus 80, the program providing system 90, and the maintenance system 100 are communicably connected with the terminal 10, the relaying apparatus 30, or the management system 500 via the Internet 2i.
  • the selecting apparatus 80, the program providing system 90, and the maintenance system 100 may be installed in the region A or the region B or may be installed in any region other than these regions.
  • the communication network 2 is constructed by the LAN 2a, the LAN 2b, the exclusive line 2ab, the Internet 2i, the exclusive line 2cd, the LAN 2c, and the LAN 2d.
  • the communication network 2 may include a part in which, not only wired, but also wireless communication such as
  • WiFi Wireless Fidelity
  • Bluetooth registered trademark of WiFi
  • the terminals 10 may be used in, not only
  • wireless communication such as mobile phone communication network is performed.
  • FIG. 3 is an external view of a terminal according to the embodiment of the present invention.
  • FIG. 4 is a hardware configuration diagram of the terminal according to the embodiment of the present invention. The following will describe with the
  • the terminal 10 includes a housing 1100, an arm 1200, and a camera housing 1300.
  • An intake plane (not illustrated) formed by a plurality of intake holes is formed on a front wall 1110 of the housing 1100, whereas an exhaust plane 1121 formed by a plurality of exhaust holes is formed on a rear wall 1120 of the housing 1100. This takes in outside air in the rear of the terminal 10 via the intake plane (not illustrated) and exhausts it to the rear of the terminal 10 via the exhaust • plane 1121 by the drive of a cooling fan incorporated in the housing 1100.
  • a sound pickup hole 1131 is formed on a right wall 1130 of the housing 1100, and sounds such as voices, sounds, and noises can be picked up by a built-in microphone 114 described below.
  • An operating panel 1150 is formed on the right wall 1130 of the housing 1100.
  • the operating panel 1150 is formed on the right wall 1130 of the housing 1100.
  • a housing unit 1160 as a recess for housing the arm 1200 and the camera housing 1300 is formed on a left wall 1140 of the housing 1100.
  • a plurality of connecting ports (1132a to 1132c) are formed on the right wall 1130 of the housing 1100 for electrically connecting cables to an external device connection I/F 118 described below.
  • a connecting port (not illustrated) is formed on the left wall 1140 of the housing 1100 for electrically connecting a cable 120c for the display 120 to the external device connection I/F 118 described below.
  • an "operation button 108" will be used when indicating any operation button among the operation buttons (108a to 108e) , and a
  • connecting port 1132 will be used when indicating any connecting port among the connecting ports (1132a to 1132c) .
  • the arm 1200 is attached to the housing 1100 via a torque hinge 1210, and the arm 1200 is rotatable in the up and down direction within the range of a tilt angle ⁇ 1 of 135 degrees with respect to the housing 1100.
  • FIG. 3 illustrates a state in which the tilt angle ⁇ 1 is 90 degrees .
  • the camera housing 1300 includes a built-in camera 112 described below, which can image users, documents, rooms, or the like.
  • the camera housing 1300 forms a torque hinge 1310.
  • the camera housing 1300 is attached to the arm 1200 via the torque hinge 1310.
  • the camera housing 1300 is attached to the arm 1200 via the torque hinge 1310, and the camera housing 1300 is rotatable with respect to the arm 1200 in the up and down and right and left directions within the range of a pan angle ⁇ 2 of ⁇ 180 degrees and within the range of a tilt angle ⁇ 3 of ⁇ 45 degrees with the state illustrated in FIG. 3 as 0 degree.
  • the terminal 10 includes a central processing unit (CPU) 101 that controls the entire operation of the terminal 10
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • flash memory 104 that stores therein various data such as image data and voice data
  • SSD solid state drive
  • media drive 107 that controls the reading and writing (recording) data from and into a recording medium 106 such as a flash memory
  • the operation button 108 used when selecting a destination of the
  • the terminal 10 also includes the built-in camera 112 that images a subject in accordance with the control of the CPU 101 and obtains linage data, an imaging element T/F 113 that controls the drive of the camera 112, the built-in microphone 114 that inputs voices, the built-in speaker 115 that outputs voices, an voice input/output I/F 116 that processes the input and output of voice signals between the microphone 114 and the speaker 115 in accordance with the control of the CPU 101, a display I/F 117 that communicates image data to the external display 120 in accordance wirh the control of the CPU 101, an external device connection I/F 118 for connecting various external devices, the alarm lamp 119 indicating abnormalities of the various functions of the terminal 10, and a bus line 110 such as an address bus and a data bus for electrically connecting the above components as illustrated in FIG. 4.
  • a bus line 110 such as an address bus and a data bus for electrically connecting the above components as illustrated in FIG. 4.
  • the display 120 is a display unit including liquid crystals or organic EL displaying images cf subjects, operating icons, or the like.
  • the display 120 is connected to the display I/F 117 via the cable 120c.
  • the cable 120c may be an analog RGB (VGA) signal cable, may be a component video cable, and may be a High-Definition Multimedia
  • HDMI HDMI ⁇ or Digital Video Interactive (DVI) signal cable.
  • DVI Digital Video Interactive
  • the camera 112 includes a lens and a solid-state imaging element that converts light into electric charges to digitize an image (video) of a subject, the solid-state imaging element being a complementary metal oxide
  • CMOS complementary metal-oxide-semiconductor
  • CCD charge coupled device
  • External devices such as an external camera, an external microphone, and an external speaker can be electrically connected to the external device connection I/F 118 with a universal serial bus (USB), cable or the like inserted into the connecting port 1132 of the housing 1100 illustrated in FIG. 3.
  • USB universal serial bus
  • the external camera is driven preferentially to the built-in camera 112 in accordance with the control of the CPU 101.
  • the external microphone and the external speaker are driven preferentially to the built-in microphone 114 and the built-in speaker 115, respectively, in accordance with the control of the CPU 101.
  • the recording medium 106 is attachable and detachable to and from the terminal 10. It is only required to be a nonvolatile memory that reads and writes data in accordance with the control of the CPU 101. Without being limited to the flash memory 1.04, it may be an electrically erasable and programmable ROM (EEPROM) or the like.
  • EEPROM electrically erasable and programmable ROM
  • the program for terminals may be recorded in a
  • the computer-readable recording medium (the recording medium 106 or the like) as an installable or executable file and distributed.
  • the program for terminals may be stored in the ROM 102 rather than the flash memory 104.
  • the external view and the hardware configuration diagram illustrated in FIG. 3 and FIG. 4 are merely ah embodiment and are not limiting.
  • the appearance and hardware may be, for example, a general desktop or notebook personal computer, a
  • a camera and a microphone are not necessarily
  • FIG. 5 is a hardware configuration diagram of a controller according to the embodiment of the present invention.
  • the relaying apparatus 30, the management apparatus 60, the selecting apparatus 80, the program providing system 90, and the maintenance system 100 have the same appearance as a general server computer, and the description of their appearance is omitted.
  • the management apparatus 60 includes a CPU 201 that controls the entire operation of the management apparatus 60, a ROM 202 that stores therein a program for use in the drive of the CPU 201 such as an initial program loader (IPL), a RAM 203 used as a work area of the CPU 201, an HD 203 that stores therein various data such as a program for communication management, a hard disk drive (HDD) 205 that controls the reading and writing of the various data from and into the HD 204 in accordance with the control of the CPU 201, a media drive 207 that controls the reading and writing (recording) of data from and into a recording medium 206 such as a flash memory, a display 208 that displays various types of information such as cursors, menus, windows, characters, and images, a network ⁇ / ⁇ 209 for performing data communicatio using the communication network 2, a keyboard 211 having a plurality of keys for inputting characters, numeric values, various instructions, and the like, a mouse 212 that performs the selection and execution
  • the program for communication management may be any type of communication
  • a computer-readable recording medium such as the recording medium 206 and the CD-ROM 213 as an
  • program for communication management may be stored in the ROM 202 rather than the HD 204.
  • the relaying apparatus 30, the controller 50, the selecting apparatus 80, the program providing system 90, the maintenance system 100 have the same hardware
  • the programs may be recorded in a computer- readable recording medium such as the recording medium 206 and the CD-ROM 213 as an installable or executable file and distributed.
  • the programs may be stored in the ROM 202 rather than the HD 204.
  • the programs may be recorded in a computer-readable recording medium such as a compact disc recordable (CD-R) and a digital versatile disc (DVD) , which are other examples of the detachable recording medium and provided.
  • FIG. 6 is a functional block diagram of a terminal, apparatuses, and a system constituting the communication system
  • the terminal 10, the relaying apparatus 30, and the management system 500 are connected so as to perform data communication via the communication network 2.
  • the program providing system 90 and the maintenance system 100 illustrated in FIG. 1 are omitted in FIG. 6, because they are not directly related to communication in a teleconference.
  • the terminal 10 includes a transmitter/receiver 11, an operation input accepting unit 12, a login requesting unit 13, an imaging unit 14, a voice input unit 15a, a voice output unit 15b, a display controller 16, a storage/reading processing unit 19, and a destination list creating unit 2Q. These components are functions or means that function implemented by the operation of any of the components illustrated in FIG. 4 by commands from the CPU 101 in accordance with the program for terminals loaded from the flash memory 104 onto the RAM 103.
  • the terminal 10 includes a transmitter/receiver 11, an operation input accepting unit 12, a login requesting unit 13, an imaging unit 14, a voice input unit 15a, a voice output unit 15b, a display controller 16, a storage/reading processing unit 19, and a destination list creating unit 2Q.
  • the storage unit 1000 stores therein a
  • FIG. 7 is a conceptual diagram illustrating a destination list.
  • the transmitter/receiver 11 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the network I/F 111 illustrated in FIG- 4 and performs the transmission and reception of various data (or information) with the other terminals, apparatuses, or systems via the communication network 2.
  • the transmitter/receiver 11 starts the
  • This state information indicates the operation states
  • the state information indicates not only the operation states of the respective terminal 10, but also various states, in which the cable 120c is detached from the terminal 10, images are not output although voices are output, and voices are not output (mute) in the terminal 10
  • the following also describe a case in which the state information indicates the operation state, as an example.
  • the operation input accepting unit 12 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the operation button 108 and the power switch 109 illustrated in FIG. 4 and receives various inputs from a user.
  • the operation input accepting unit 12 illustrated in FIG 6 receives the power-on and turns on the power.
  • the login requesting unit 13 is implemented by
  • the login- requesting unit 13 automatically transmits login request information indicating a request for a login from the transmitter/receiver 11 to the. management system 500 via the communication network 2.
  • the trigger for transmitting the login request information is not limited to the power- on and may be the acceptance of operation input by the user via the operation input accepting unit 12.
  • the transmitter/receiver 11 transmits state information
  • the management system 500 grasps that the terminal 10 has been turned from the power-on to power-off.
  • the terminals (lOaa, lOab, ...lOba, lObb,...) on the LANs (2a, 2b ⁇ are connected to the management system 500ab 7 whereas the terminals (IQca, lOcb, ...lOda, 10db,... ⁇ on the LANs (2c, 2d) are connected to the management system 500cd.
  • the imaging unit 14 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the camera 112 and the imaging element I/F 113 illustrated in FIG. 4, images a subject, and outputs image data obtained by the imaging.
  • the voice input unit 15a is implemented by commands from the CPU 101 illustrated in FIG. 4 and the voice input/output I/F 116 illustrated in FIG. 4, and after a voice of the user is converted into a voice signal by the microphone 114, inputs voice data related to the voice signal.
  • the voice output unit 15b is implemented by commands from the CPU 101 illustrated in FIG. 4 and the voice input/output I/F 116 illustrated in FIG. 4, outputs a voice signal related to voice data to the speaker 115, and outputs a voice from the speaker 115.
  • the display controller 16 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the display I/F 117 illustrated in FIG. 4 and performs control to transmit received image data to the display 120,
  • the display controller 16 causes the display 120 to display a destination list including destination names based on information received from the management system 500.
  • the display controller 16 displays the destination list frame 1100-1 as illustrated in FIG. 7 on the display 120, for example.
  • the destination list frame 1100-1 displays destination names such as a destination name
  • “Tokyo Office AB terminal” 1100-2 icons (1100-3a, 1100-3b, 110Q-3c, 1100-3d) indicating the state of the terminal 10 for each destination name, and an icon 1100-4 indicating a region.
  • the icon 1100-3a indicates that the terminal 10 as one of the destination candidates is in an offline state (hereinafter, this state is called "Offline.") and that it is incommunicable with this terminal.
  • the icon 1100-3b indicates that the terminal 10 as one of the destination candidates is in a standby state before starting
  • the icon 1100-3c indicates that the terminal 10 as one of the destination candidates is in a state requesting
  • the icon 1100-3d indicates a state in which the above request is accepted (hereinafter, this state of the terminal 10 is called “Accepted.”) or a state in which the terminal 10 as one of the destination candidates is in communication with the other terminal 10 (hereinafter, this state is called “Busy.”)
  • the destination list frame 1100-1 displays a scroll bar 1100-5 on the right, and upward and downward triangle icons are selected, thereby displaying destination names and state of destination candidates not illustrated in FIG. 7.
  • the storage/reading processing unit 19 is implemented 22
  • the storage unit 1000 stores therein terminal identification information (terminal IDs) for identifying the terminal 10, passwords, and the like.
  • terminal IDs terminal identification information
  • the storage unit 1000 stores therein image data and voice data received each time communication with a destination terminal is performed in an overwriting manner for each reception. An image is displayed on the display 120 based on image date before being overwritten, and a voice is output from the speaker 115 based on voice data before being overwritten.
  • the IDs such as the terminal IDs in the present embodiment indicate identification such as
  • the IDs may be
  • identification obtained by combining at least two of the languages, characters, symbols, and various kinds of marks.
  • the destination list creating unit 20 creates and updates a destination list indicating the states of the terminals 10 as destination candidates with icons as illustrated in FIG. 7 based on information received from the management system 500.
  • the relaying apparatus 30 includes a
  • the relaying apparatus 30 includes a storage unit 3000 including the RAM 203 illustrated in FIG . 5 or the HD 204 illustrated in FIG. 5.
  • the transmitter/receiver 31 of the relaying apparatus 30 illustrated in FIG. 6 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data (or information) with the other terminals, apparatuses, or systems via the communication network 2.
  • the relaying unit 32 is implemented by commands from the CPU 201 illustrated in FIG. 5 and relays content data transmitted and received among the terminals 10 in the session sed for content data via the transmitter/receiver 31.
  • the storage/reading processing unit 39 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 3000 and reading the various data stored in the storage unit 3000.
  • the management apparatus 60 includes a
  • the management apparatus 60 includes a storage unit 6000 including the HD 204 illustrated in FIG. 5.
  • the storage unit 6000 includes a relaying apparatus management DB 6001 including a relaying apparatus
  • FIG. 8A is a conceptual diagram illustrating a relaying
  • FIG. 8B is a conceptual diagram illustrating a relaying apparatus management table managed by the management apparatus 60cd.
  • the relaying apparatus management table manages relaying apparatus IDs of the respective relaying apparatuses 30 for which the control of connection can be performed by the management system 500 to which the corresponding management apparatus 60 belongs and passwords for connecting to the respective relaying
  • relaying apparatus management table illustrated in FIG. 8A indicates that the password for connecting to the relaying apparatus 30a identified by the relaying apparatus ID "llla@jp.oo.com” is "xxxx.”
  • the relaying apparatus ID includes domain information (communication control information) such as "jp.oo.com” indicating the management system 500 that can perform control along with the start and end of
  • any information used in the control of connection to the relaying apparatus 30 in the controller 50 is used as the information for connecting to the relaying apparatus without being limited to the relaying apparatus ID.
  • the storage unit 6000 further includes a terminal authentication management DB 6002 including a terminal authentication management table as illustrated in FIGS. 9A and 9B.
  • FIG. 9A is a conceptual diagram illustrating a terminal authentication management table managed by the management apparatus 60ab
  • FIG. 9B is a conceptual diagram illustrating a terminal authentication management table managed by the management apparatus 60cd.
  • the terminal authentication management table manages respective terminal IDs of all terminals 10 connected to the
  • the terminal authentication management table illustrated in FIG. 9A indicates that the terminal ID of a terminal lOaa is
  • the terminal ID includes domain information (terminal connection information) such as "jpl.oo.com” indicating the controller 50 to which the terminal 10 identified thereby connects.
  • domain information such as "jpl.oo.com”
  • the terminal ID When indicating the terminal ID in the following description, it will be simply denoted as “Olaa” or the like with the domain information such as “jpl.oo.com” omitted, unless
  • the terminal ID indicated in this example is merely an example of information for use in authentication, and this table is only required to include at least identification for identifying the terminal 10 or 26
  • the user of the terminal 10 and information for identifying the controller 50 to which the terminal 10 connects and is not limited to this form.
  • the storage unit 6000 includes a state management DB
  • FIG. 10 is a conceptual diagram illustrating a state management table.
  • the state management table manages the terminal IDs of the respective terminals 10 managed by the management system 500ab and state information
  • the state management table illustrated in Fig. 10 indicates that the state information of the terminal lOaa with the terminal ID "Olaa" is "None".
  • the state information "None” indicates a standby state before starting communication.
  • the state information "None" indicates a standby state before starting communication.
  • the state information “Inviting” indicates a state in which the terminal 10 is requesting communication with the other terminal.
  • the state information “Invited” indicates a state in which communication is being requested by the other terminal 10.
  • the state information “Ringing” indicates a state in which the terminal 10 is outputting a dial tone.
  • the state information “Calling” indicates a state in which the terminal 10 is outputting a ring tone.
  • the information “Accepted” indicates a state in which a request for communication is permitted.
  • the information “Busy” indicates a state in which the terminal 10 is in
  • the storage unit 6000 includes a destination list management DB 6004 including a destination list management table as illustrated in FIGS. 11A and 11B.
  • FIG. 11A is a 27
  • FIG. 118 is a conceptual diagram illustrating a destination list management table managed by the management apparatus 60cd.
  • the destination list management table manages the terminal ID of the terminal 10 connected to the management system 500 to which the corresponding management apparatus 60 belongs and as a requester terminal of the start of communication and all terminal IDs of the
  • the destination list management table illustrated in FIG. 11A indicates that destination candidates the terminal lOaa with the terminal ID "Olaa" as the requester terminal can request the start of communication in a teleconference are the terminal lOab with the terminal ID "Olab” and the like.
  • the destination list management table also manages the terminal ID of the terminal 10 connected to the other management system 500 as the terminal ID of the terminal 10 as a destination candidate, This enables, for example, the terminal lOaa connected to the management system 500ab to select the terminal lOdb connected to the management system SOOcd as a destination.
  • the destination candidates are updated by addition or deletion through requests for addition or deletion from any terminal 10 to the management system 500.
  • the storage unit 6000 includes a session management DB 6005 including a session management table as illustrated in FIGS. 12A and 12B.
  • FIG. 12A is a conceptual diagram illustrating a session management table managed by the management apparatus 60ad
  • FIG. 12B is a conceptual diagram illustrating a session management table managed by 28
  • the session management table manages session IDs for identifying the session sed for content data between terminals 10, relaying apparatus IDs for identifying the relaying apparatus 30 for relaying the content data in the session sed for content data, and terminal IDs for identifying the terminals 10 that are performing communication in the session sed for data content in association with each other.
  • the session ID may be identification such as conference ID, communication ID, and call ID identifying events such as a conference, communication, a call corresponding to the session sed for content data.
  • the session management table illustrated in FIG. I2A indicates that the relaying
  • the apparatus 30a with the relaying apparatus ID "Ilia” is relaying content data between terminals (lOaa, lObd) in the session sed for content data identified by the session ID "se01@jp.oo.com.”
  • the session ID includes domain information (communication control information) such as "jp.oo.com” indicating the management system 500 that can perform, control along with the start and end of communication with a session sed for content data identified thereby.
  • domain information communication control information
  • the storage unit 6000 includes a state change
  • FIGS. 13A and 13B are conceptual diagrams illustrating the state change management tables.
  • the state change management table illustrated in FIG. 13A manages pieces of management information transmitted from the terminal 10, pieces of 29
  • pre-change state information indicating pre-change states of the terminal 10, and pieces post-change state
  • the information "Call” in the state change management table in FIG. 13A indicates that, when the session sed for content data is established between the terminals 10, the other terminal 10 requests to participate in this session.
  • the management information "Join” indicates that the terminal 10 requests to start relaying content data.
  • the management information "Leave” indicates that the terminal 10 requests to end communication.
  • the state change management table in FIG. 13B is used.
  • terminal information indicating whether the terminal 10 whose state is changed is the transmission source or the transmission destination of the management information is managed in addition to the pieces of information in FIG. 13A in association with each other. It is indicated, for example, that when the
  • management system 500 receives the management information "Invite," the state of communication is changed from “None” into “Inviting” for the terminal 10 as the transmission source of the management information, whereas the state of communication is changed from “None” into “Invited” for the terminal 10 as the transmission destination.
  • management information "Invite” indicates that the terminal 10 requests the start of communication.
  • the management information "Ring” indicates that the terminal 10 accepts a request to start communica ion and sounds a dial tone.
  • the management information "Accept” indicates that the terminal 10 permits the start of communication.
  • the transmitter/receiver 61 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data (or information) with other apparatuses or systems via the communication network 2.
  • the extracting unit 64 is implemented by commands from the CPU 201 illustrated in FIG. 5, searches the respective management tables of the storage unit 6000, and extracts various types of information.
  • the storage/reading processing unit 69 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 6000 and reading the various data stored in the storage unit 6Q00.
  • the controller 50 includes a transmitter/receiver 51, an authenticating unit 52, a state management unit 53, an extracting unit 54, a restricting unit 55, a connection destination identifying unit 56, a session management unit 57, an identifying unit 58, and a storage/reading
  • processing unit 59 These components are functions or means that function implemented by the operation of any of the components illustrated in FIG. 5 by commands from the CPU 201 in accordance with the program for a management system loaded from the HD 204 onto the RAM 203.
  • management system 500 includes a nonvolatile storage unit 5000 and a volatile storage unit 5100 including the HD 204 illustrated in FIG. 5..
  • the nonvolatile storage unit 5000 includes a terminal management DB 5003 including a terminal management table as illustrated in FIGS. 15A and 15B.
  • FIG. 15A is a conceptual diagram illustrating a terminal management table managed by the controller 50a
  • FIG. 15B is a conceptual diagram
  • the terminal management table manages the terminal IDs of the respective terminals 10,
  • the operation states include the state of the connection between the terminal 10 and the
  • controller 50 online, online (in conference), and offline. “Online” among the operation states is a state in which the terminal 10 and the controller 50 are connected, and
  • the terminal management table illustrated in FIG. 15A indicates that the destination name of the terminal lOaa with the terminal ID "Olaa" is "Tokyo Office AA terminal" and the operation state thereof is "offline.”
  • the nonvolatile storage unit 5000 includes a request management DB 5006 including a request management table as illustrated in FIG. 16.
  • FIG. 16 is a conceptual diagram of a request management table. Upon acceptance of various requests such a3 a start request or management information from the terminal 10, the request management table manages the terminal IDs of at least terminals 10 connected to the corresponding controller 50 among the terminals 10 related to the requests and pieces of request information
  • the request information (also referred to as management information) "Invite" in FIG. 16 indicates that the
  • the terminal 10 requests the start of communication.
  • the request information "Ring” indicates the sounding of a dial tone.
  • the request information "Accept” indicates that the terminal 10 permits the start of communication.
  • the request information "Call” indicates that, when the session sed for content data is established between the terminals 10, another terminal 10 requests to participate in this session.
  • the request information "Join” indicates that the terminal 10 requests to start relaying content data.
  • the request information "Leave” indicates that the terminal.10 requests to end communication.
  • the request management table in FIG. 16 indicates that a communication start request from the terminal iOab with the terminal ID "Olab” to the terminal lOac with the terminal ID "Olac” is accepted. 33
  • the t ansmitter/receiver 51 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data ⁇ or information) with the other terminals, apparatuses, or systems via the communication network 2. This causes the transmitter/receiver 51 to receive start request information from the terminal 10, thereby accepting a request for the start of communication. Relaying apparatus connection information for connecting to the relaying apparatus 30 is transmitted to the terminal 10, thereby performing control along with the start of
  • the transmitter/receiver 51 transmits participation notification (start information ⁇ including the terminal ID and the session ID of the terminal 10 participating in the session sed for content data to the terminal 10 that is performing communication in this
  • the transmitter/receiver 51 receives or transmits post-change state information indicating the post-change state of the terminal 10.
  • the authenticating unit 52 is implemented by commands from the CPU 201 illustrated in FIG. 5 and performs
  • transmitter/receiver 51 as search keys and determining whether the same terminal ID and password are managed in the terminal authentication management table.
  • the state management unit 53 is implemented by
  • terminal that requested a login, stores and manages the terminal IDs of the requester terminals, pieces of state information indicating the operation states of the
  • a first changing unit 53a of the state management unit 53 changes the state information managed in the terminal management table when the operation state of the terminal 10 is
  • a second changing unit 53b of the state management unit 53 changes the state information managed in the terminal management table based on post-change state information transmitted from the other controller 50 when the operation state of the terminal 10 is changed based on control by the other controller 50.
  • the extracting unit 54 is implemented by commands from the CPU 201 illustrated in FIG. 5 and extracts the terminal ID by searching the destination list management table
  • the extracting unit 54 searches a destination management table with the terminal ID of the requester terminal that requested a login as a key and also extracts the terminal ID of the other requester terminal that registers the terminal ID of the above requester terminal as a candidate for the destination terminal.
  • the extracting unit 54 is implemented by commands from the CPU 201 illustrated in FIG . 5, searches the terminal management table (refer to FIG. 15) with the terminal ID of the candidate for the destination terminal as a search key, and reads the operation states of the I'espective terminal IDs. This enables the extracting unit 54 to extract the operation state of the candidate for the destination
  • the extracting unit 54 searches the terminal management table with the terminal ID as a search key and also acquires the operation state of the requester terminal that requested a login.
  • the restricting unit 55 is implemented by commands from the CPU 201 illustrated in FIG. 5 and imposes a
  • restriction (acquires a lock) so that the terminal 10 connected to the corresponding controller 50 does not start any communication between terminals 10 other than the predetermined communication.
  • restriction (acquires a lock) so that the terminal 10 connected to the corresponding controller 50 does not start any communication between terminals 10 other than the predetermined communication.
  • connection destination identifying unit 56 is implemented by commands from the CPU 201 illustrated in FIG. 5 and identifies the controller 50 as a connection
  • the session management unit 57 is implemented by commands from the CPU 201 illustrated in FIG. 5, and each time the session sed for content data between the terminals 10 is newly established, generates session ID for
  • the session management unit 57 stores in the session management table (refer to FIGS. 12A and 12B) the terminal ID for
  • the identifying unit 58 is implemented by commands from the CPU 201 illustrated in FIG. 5 and identifies the other controller 50 being in operation arranged in the same segment .
  • the storage/reading processing unit 59 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the nonvolatile storage unit 5000 or the volatile storage unit 5100 and reading the various data stored in the nonvolatile storage unit 50Q0 or the volatile storage unit 5100.
  • the selecting apparatus 80 includes a
  • the selecting apparatus 80 includes a storage unit 8000 including the HD 204 illustrated in FIG. 5.
  • the storage unit 8000 includes a relaying apparatus selection management DB 8001 as an example of a
  • FIG. 14 is a conceptual diagram illustrating the relaying apparatus selection management table.
  • the relaying apparatus selection management table manages, for all relaying apparatuses 30 as
  • the relaying apparatus ID managed in the relaying apparatus selection management table includes domain information (communication control information) such as "jp.oo.com” indicating the management system 500 that can perform control along with the start of communication using the relaying apparatus 30 identified thereby.
  • the relaying apparatus selection management table manages priority information indicating priority when selecting the relaying apparatus 30
  • the relaying apparatus selection management table illustrated in FIG. 14 indicates that when the terminal lOaa identified by the terminal ID "Olaa" starts communication, the priority when selecting the relaying apparatus 30a identified by the relaying apparatus ID
  • the priority in the relaying apparatus selection management table is set so that a higher priority gives a higher value based on a bandwidth between the terminal 10 and the relaying apparatus 30 or a delay time when information is transmitted and received between the terminal 10 and the relaying apparatus 30, for example.
  • the priority may be calculated based on time 2ones used by the terminal 10 and the management system 500. In this case, the value of the priority can be set higher as the time zone used by the terminal 10 and the time zone used by the management system 500 become close to each other, for example .
  • the transmitter/receive 81 is an example of a
  • the transmitter/receiver 81 receive (accept) selection request information indicating a request to select the relaying apparatus 30 transmitted from the management system 500.
  • the transmitter/receiver 81
  • the selecting unit 82 is an example of a relaying apparatus selection unit and a communication control information extracting unit and selects at least one
  • relaying apparatus 30 out of a plurality of relaying
  • the selecting unit 82 selects the relaying apparatus ID managed in the relaying apparatus selection management table, thereby also
  • the storage/reading processing unit 8S is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 3000 and reading the various data stored in the storage unit 8000.
  • FIG. 17 is a conceptual diagram illustrating the state of the controller 50, the management apparatus 60, and the terminal 10
  • the management system 500ab (an example of a controls system) includes the controller 50a (an example of a first controller) and the controller 50b (an example of a second controller) that perform the control of the session sed for transmitting content data between the terminals 10
  • transmitter/receiver 51 (an example of a request accepting unit) of the controller 50a accepts a request to start communication between the terminals (lOaa, lObd) (an example of between predetermined terminals) .
  • restricting unit 55 (an example of a first restricting unit) of the controller 50a imposes a restriction (acquires a lock) so that the terminal lOaa (an example of a first communication terminal) connected to the corresponding controller 50 out of the terminals (lOaa, lObd) does not start any communication between the terminals 10 other than the communication according to the request.
  • transmitter/receiver 51 (an example of a first transmitter) of the controller 50a transmits the terminal ID of the terminal lObd connected to the controller 50b out of the terminals (lOaa, lObd) to the controller 50b.
  • the restricting unit 55 (an example of a second restricting unit) of the controller 50b imposes a restriction so that the terminal 10bd connected to the corresponding controller 50b not to start any communication between the terminals 10 other than th communication performed according to the request.
  • transmitter/receiver 51 an example of a second
  • restriction completion information (an example of restriction information) indicating that the above restriction has been imposed on the terminal lObd.
  • the controller 50a After the restriction on the terminal !Oaa and the restriction on the terminal lObd have been completed, the controller 50a performs processing (an example of
  • the management system 500ab may include three or more controllers 50 that control the session for content data between the terminals 10 according to a request from the terminal 10.
  • the connection destination identifying unit 56 an example of an identifying unit of the controller 50a identifies the controller 50 as a
  • controller 50a transmits the above terminal ID to the identified controller 50 identified by the connection destination identifying unit 56. This enables, even when three or more controllers 50 are provided, to request a restriction of processing after identifying the connection destination of the terminal 10 not connected to the corresponding controller 50.
  • the transmitter/receiver 51 an example of an identification information transmitter
  • the transmitter/receiver 51 transmits search information (a example of identification information) for identifying the controller 50 as a connection destination of the terminal lObd not connected to the corresponding controller 50a out of the terminals (lOaa, lObd) to the respective controllers 50 within the management system 500ab.
  • search information a example of identification information
  • This transmission enables the connection destination identifying unit 56 to identify the controller 50 as the connection destination based on a response to the search information from any controller 50.
  • the transmitter/receiver 51 (an example of a domain information accepting unit) of the controller 50a may accept, from each of the terminals (10aa, 10bd), domain information of the controller 50 connected to the terminal 10. This acceptance enables the connection destination identifying unit 56 to identify the controller 50 as the connection destination based on this domain information.
  • the respective transmitters/receivers 51 of the controller 50a and the controller 50b transmit an error message to the terminal 10 as the requester terminal, thereby rejecting the new request. This can prevent processing according to two or more different requests from being performed in a duplicate manner.
  • the request management DB 5006 an example of a
  • the controller 50a and the controller 50b manages the terminal ID of the terminal 10, which is connected to the corresponding
  • controller 50 is a start requester terminal requesting a start of the communication or a destination of the
  • This management enables the restricting unit 55, when a new request to start communication between the terminals 10 including the terminal 10 identified by the terminal ID managed in the request management DB is
  • FIG. 18 is a sequence diagram
  • the controller 50a performs searching for the other controlle 50 located in the same segment (Steps Sl-1,
  • the transmitter/receiver 51 of the controller 50a transmits, by means of broadcasting, search information for searching to the segment in which the controller 50a is located.
  • the search information includes a controller ID for identifying the controller 50a.
  • the transmitter/receiver 51 of each controller 50 that has received the search information from the controller 50a transmits response information to the controller 50a (Steps
  • the response information includes each controller ID for identifying each controller 50 that has received the search information.
  • the transmitter/receiver 51 of the controller 50a receives the response information from the other controller 50, the identifying unit 58 identifies the other controller 50 being in operation located in the same segment based on the response information (Step S3) .
  • the controller 50a When the controller 50 being in operation located in the same segment is identified at Step S3, the controller 50a performs the inter-node cooperation with the identified controller (50b, 50).
  • the inter-node cooperation means that one controller 50 is regarded as a node, a plurality of controllers 50 have the same domain name, and the
  • controllers 50 can be operated cooperatively with each other.
  • the controller 50a and the controller 50b perform the inter-node cooperation, for example, the controller 50a and the controller 50b operate as if they are the same controller 50. In other words, both when the terminal 10 is connected to the controller 50a and when it is connected to the controller 50b, the same processing is performed in the controllers 50a and 50b.
  • the inter-node cooperation is performed at given time intervals. This enables the controller 50a to perform inter-node release when the controller 50 cooperated with the controller 50a undergoes maintenance or goes down.
  • controller 50 other than the controller
  • FIG. 19 is a sequence diagram illustrating the processing in a preparatory stage for starting
  • FIG. 20 is a sequence diagram illustrating processing to synchronize the
  • FIG. 19 and FIG. 20 various types of management information are transmitted and received entirely through the session sei for management information illustrated in FIG. 2.
  • the operation input accepting unit 12 illustrated in FIG. 6 accepts the power- on and turns on the power ⁇ Step Sll) .
  • the login requesting unit 13 automatically transmits login request information indicating a login request to the controller 50a via the communication network 2 with the acceptance of the power-on as a trigger (Step S12) .
  • the trigger for transmitting the login request information is not limited to the power-on and may be the acceptance of operation input by the user via the operation input accepting unit 12.
  • the present embodiment continues to describe on the assumption that the terminals (lOaa, 10ab,%) connected to the LAN 2a are connected to the controller 50a, the terminals (lOba, lQbb,...) connected to the LAN 2b are connected tc the controller 50b, the terminals (lOca, 10cb,...5 connected to the LAN 2c are connected to the controller 50c, and the terminals (lOda, 10db,... ⁇ connected to the LAN 2d are connected to the controller 50d.
  • the login request information includes a terminal ID for identifying the corresponding terminal lOaa that is the requester terminal or the user of the terminal lOaa and a password.
  • the terminal ID and the password are pieces of data read from the storage unit 1000 via the storage/reading processing unit 19 and transmitted to the transmitter/receiver 11.
  • the terminal ID shown in this example is merely an example of information for use in authentication, and the login request information is only required to include at least identification for identifying the terminal 10 or the user of the terminal 10 and information for identifying the controller 50 to which the terminal 10 is connected, and is not limited to this form.
  • the authenticating unit 52 of the controller 50a requests authentication that is performed by determining whether the terminal ID and the password included in the login request information received via the
  • transmitter/receiver 51 is managed in the terminal
  • the transmitter/receiver 51 of the controller 50a transmits the terminal ID and the password included in the login request information to the management apparatus 60ab and searches the terminal authentication management table, thereby requesting to search for the password corresponding to this terminal ID.
  • the extracting unit 64 of the management apparatus 60ab extracts the password corresponding to the terminal ID included in the login request information in the terminal authentication management table. If the extracted password and the password transmitted from the controller 50a match, the transmitter/receiver 61 cf the management apparatus 60ab transmits an authentication result indicating that the terminal lOaa has a valid authority to the controller 50a. If the extracted password and the password transmitted from the controller 50a do not match, the transmitter/receiver 61 of the management apparatus 60ab transmits an
  • the authenticating unit 52 manages the same terminal ID and password, and when determined to be a login request from the terminal 10 having the valid authority, the first changing unit 53a of the state management unit 53 stores in the terminal management table (refer to FIG. 15A) the terminal ID of the terminal lOaa and the operation state in association with each other (Step S14) . This causes the terminal management table to manage the terminal ID "Olaa” and the state information "Online” in association with each other .
  • the transmitter/receiver 51 of the controller 50a transmits authentication result information indicating the authentication result obtained by the authenticating unit 52 to the terminal lOaa as the requester terminal that requested the login via the communication network 2 (Step SI5) .
  • the present embodiment continues to describe below the case determined to be a terminal having a valid
  • Step S14 the state information of the terminal 10 managed in the terminal management table of each controller 50 is changed (refer to Step S14) and the controllers 50 working in the inter-node cooperation synchronize the operation states of the respective terminals 10 with the changed operation state.
  • the storage/reading processing unit 59 stores in the volatile storage unit 5100 the terminal ID "Olaa" of the terminal lOaa and the operation state (Online, for example) indicating the changed state of the terminal lOaa in association with each other as local data for
  • Step S22a if there is another controller 50 working in the inter-node cooperation, the
  • transmitter/receiver 51 of the controller 50a transmits operation state information indicating the changed state information to the controller 50b in the inter-node
  • the operation state information includes the local data for synchronization stored in the volatile storage unit 5100, that is, the terminal ID "Olaa” and the operation state "Online.”
  • the operation state information transmitted from the controller 50a is received by the transmitter/receiver 51 of the controller 50b.
  • the second changing unit 53b of the state management unit 53 of the controller 50b changes the operation state managed in association with the terminal ID "Olaa" into “Online” based on the operation state
  • Step S24a the terminal management table
  • FIG. 21 is a sequence diagram illustrating processing related to the start of communication.
  • various types of management information are transmitted and received entirely through the session sei for management information illustrated in FIG. 2.
  • Step S31 the user of the terminal lOaa presses down the operation button 108 illustrated in FIG, 3 to select the terminal lObd as a destination candidate, thereby causing the operation input accepting unit 12 illustrated in FIG. 6 to accept a request to start communication (Step S31).
  • the transmitter/receiver 11 of the terminal lOaa transmits, to the controller 50a, the start request information "Invite” that includes the terminal ID "Olaa" of the terminal lOaa as the requester terminal of the start of communication and the terminal ID "Olbd" of the terminal lObd as a
  • Step S32 The transmitter/receiver 51 of the controller 50a receives the start request information, thereby
  • the storage/reading processing unit 59 refers to the request management table (refer to FIG. 16), thereby 49
  • the transmitter/receiver 51 transmits error information indicating inability to start communication between the terminals (lOaa, lObd) to the terminal lOaa (Step S35) .
  • the restricting unit 55 stores the terminal ID of the terminal lOaa connected to the corresponding controller 50a, the terminal ID "Glaa” of the terminal lOaa as a start requester terminal, the terminal ID "Olbd” of the terminal lObd as a destination of a start request, and the request information "invite” indicating the start request in
  • Step S36 is performed (Step S36) .
  • the transmitter/receiver 51 of the controller 50a transmits restriction request information that includes the terminal IDs of the terminal lOaa as the start
  • the controller 50 as the connection destination of the terminal lObd may be identified without depending on the domain information included in the terminal ID.
  • the transmitter/receiver 51 of the controller 50a transmits search information that includes the
  • connection destination identifying unit 56 identifies the controller 50 as the connection destination of the terminal lObd based on the pieces of response information transmitted from the respective controllers 50.
  • the restriction request information transmitted from the controller 50a is accepted by the transmitter/receiver 51 of the controller 50b. Upon acceptance of the
  • the storage/reading processing unit 59 of the controller 50b refers to the request management table (refer to FIG. 16), thereby checking whether the terminal ID "Olbd" of the terminal lObd connected to the corresponding controller 50b is managed in the request management table (Step S38). If the terminal ID "Olbd" of the terminal lObd is managed in the request management table, a restriction on the terminal lObd is already imposed to disable the imposition of a new restriction of processing (the acquisition of a lock) (No at Step S39) , and the transmitter/receiver 51 of the
  • controller 50b transmits error information indicating a failure in restriction ⁇ to the controller 50a (Step S40-1) .
  • the transmitter/receiver 51 of the controller 50a Upon acceptance of the error information by the controller 50a, the transmitter/receiver 51 of the controller 50a transmits error information indicating inability to start the communication between the terminals (lOaa, lObd) to the terminal lOaa (Step S40-2) .
  • the restricting unit 55 stores the terminal ID of the terminal lObd connected to the corresponding controller 50b, the terminal ID of the terminal lOaa as the start requester terminal, and the request information "invite” indicating a start request in association with each other in the request management table, thereby imposing a restriction (acquiring a lock) so that no new processing targeted for the terminal lObd is performed (Step S41).
  • the transmitter/receiver 51 of the controller 50b transmits the restriction completion information indicating that the restriction of processing on the terminal lObd has been completed to the controller 50a (Step S42) .
  • the controller 50a Upon reception of the restriction completion information, the controller 50a performs control (refer to Steps S50 to S54- 2 described below) related to the start of the
  • the transmitter/receiver 51 of the controller 50b accepts a request to start communication with another terminal 10 (the terminal lOac, for example ⁇
  • controller 50 (a controller 50b2, for example) accepts a request to start communication with the terminal lObd from the
  • Steps S32 to S40-2 Steps S32-4 to S40-2-4.
  • the restricting unit 55 of the controller 50a deletes, from the request management table, the terminal ID of the terminal lOaa connected to the corresponding
  • the transmitter/receiver 51 of the controller 50a transmits release request information that includes the terminal IDs of the terminals (lOaa, lObd) as the start requester terminal and the destination of the start request and the request information indicating the start request and indicates the release of the restriction of processing to the controller 50b as the connection destination of the terminal lObd ⁇ Step S44) .
  • the restricting unit 55 of the controller 50b deletes, from the request management table, the terminal ID of the terminal lObd connected to the controller 50b, the terminal ID "Olaa" of the terminal lOaa as the start requester terminal associated therewith, and the request information "invite” indicating a start request, thereby releasing the restriction (releasing the lock) on the terminal lObd (Step S45) .
  • the transmitter/receiver 51 of the controller 50b transmits release completion information indicating that the restriction of processing on to the terminal lObd has been released (Step S46) .
  • the controller 50a receives the restriction completion information from the controller 50b (refer to Step S42), the transmitter/receiver 51 transmits, to the selecting apparatus 80, selection request information that includes the terminal ID "Olaa" of the terminal lOaa and the terminal ID "Olbd" of the terminal lObd and indicates a request to select the relaying
  • apparatus 30 for use in relaying the content data
  • the transmitter/receiver 81 of the selecting apparatus 80 receives the selection request information, thereby accepting the request to select the relaying apparatus 30.
  • the selecting unit 82 selects at least one relaying apparatus 30 for use in relaying the content data
  • the selecting unit 82 extracts, for each of the relaying apparatus IDs managed in the relaying apparatus selection management table, priority associated with the terminal ID "Olaa" of the terminal lOaa as the requester terminal and priority associated with the
  • the selecting unit 82 calculates, for each of the relaying apparatus IDs, the sum of the extracted priorities and selects the relaying apparatus ID whose calculated sum of the priorities is the largest. In the present embodiment, the sum of the priorities
  • the selecting unit 82 selects the relaying apparatus ID managed in the relaying apparatus selection management table, thereby also extracting the domain information included in the relaying apparatus ID.
  • the transmitter/receiver 81 of the selecting apparatus 80 transmits, to the controller 50a, selection result information that includes the relaying apparatus ID identifying the selected relaying apparatus, the terminal ID "Olaa” of the terminal lOaa, and the terminal ID "Olbd” of the terminal lObd and indicates the result of the selection, and outputs it.
  • FIG. 22 is a sequence diagram illustrating processing to request the start of communication.
  • various types of management information are transmitted and received
  • the state management unit 53 changes the state information of the terminal 10 related to a start request among the terminals 10 managed in the state management table ⁇ refer to FIG . 10 ⁇ based on the start request
  • FIG. 23 is a state transition diagram illustrating
  • FIG. 24 is a flow diagram illustrating processing to change the state of a terminal .
  • the state management unit 53 changes the state of the terminal 10 in accordance with the rules about changes of the state illustrated by the state transition diagram in FIG. 23.
  • the state information "None” of the terminal 10 is changed into the state information "Inviting” or the state information "Invited.” Also when management
  • the state management unit 53 changes the state of the terminal 10 in accordance with the rules about changes illustrated by the state transition diagram in FIG. 23. The detailed description thereof is omitted.
  • the present- embodiment will describe an example using the state change management table (refer to FIGS. 13A and 13B) in order to achieve changes of the state by the state management unit 53, it is not limited to the method using the state change management table so long as a communication state can be changed in accordance with the rules illustrated in FIG.
  • the state management unit 53 acquires, from the state management table, the state information "None" of the terminal lOaa as the transmission source of the start request information and the state information of the terminal lObd as the transmission destination (refer to FIG 10 (Step S51-1) ⁇
  • the state management unit 53 of the controller 50a transmits the terminal ID of the terminal lOaa as the start requester terminal and the terminal ID of the terminal lObd as the transmission destination of the start request information to the
  • the extracting unit 64 of the management apparatus 60ab extracts, from the state management table, the pieces of state information corresponding to the respective terminal IDs.
  • the extracted pieces of state information are transmitted to the controller 50a via the transmitter/receiver 61.
  • the state management unit 53 acquires the pre- change state information "None" of the terminal 10 as the transmission source and the transmission destination corresponding to the start request informatio "Invite” as management information from the state change management table (refer to FIG. 13B) (Step S51-2).
  • the state management unit 53 of the controller 50a transmits the start request information "Invite” to the management apparatus 60ab via the transmitter/receiver 51 and searches the state change management table, thereby requesting to search for the pre-change state information corresponding to this start request information.
  • the extracting unit 64 of the management apparatus 60ab extracts the pre-change state information corresponding to the start request information in the state change management table.
  • the extracted pre-change state information is transmitted to the controller 50a via the transmitter/receiver 61.
  • the state management unit 53 for the terminal lOaa as the transmission source and the terminal lObd as the
  • Step S51-3 compares the state information acquired from the terminal management table and the pre-change state information acquired from the state change management table ⁇ refer to FIGS. 13A and 13B) and determines whether these are the same (Step S51-3) .
  • Step S51-3 the state management unit 53 acquires the post-change state information "Inviting" of the transmission source and the post-change state
  • Step S51-4 the state management unit 53 of the controller 50a transmits the start request information "Invite” to the management apparatus 60ab via the transmitter/receiver 51 and searches the state change management table, thereby requesting to search for the post-change state information corresponding to this start request information.
  • the extracting unit 64 of the management apparatus 60ab extracts the post-change state information corresponding to the start request information in the state change management table. The extracted post-change state information is transmitted to the controller 50a via the transmitter/receiver 61.
  • Step S51-5) changes the state information associated with the terminal ID "Olaa” of the terminal lOaa as the transmission source into “Inviting” based on the acquired post-change state information in the state management table (refer to FIG. 10) (Step S51-5) .
  • the first changing unit 53a of the state management unit 53 changes, in the state management table, the state information associated with the terminal ID "Olbd” of the terminal lObd as the transmission destination into "Invited” based on the acquired post-change state information.
  • the state management unit 53 of the controller 50a transmits, to the management apparatus 60ab via the
  • processing unit 69 of the management apparatus 60ab changes the pieces of state information corresponding to the respective terminal IDs based on the received pieces of state information, thereby updating the state management table.
  • the first changing unit 53a of the controller 50a changes the operation states of the respective terminals (lOaa, lObd) managed in the terminal management table from "Online” into “Online (in conference)".
  • the post-change operation states are synchronized between the controller 50a and the controller 50b based on the
  • Step S51-3 If it is determined that the pieces of information are not the same at Step S51-3, it is considered that any terminal 10 is not in a state that can start communication, and the state management unit 53 does not perforin the processing to change the states of the respective terminals 10. In this case, the transmitter/receiver 51 transmits an error message to the terminal lOaa (Step S51-6) and
  • the session management unit 57 Upon completion of the processing to change the state information of the terminal 10, the session management unit 57 generates the session ID "se018 p.oo.com" for
  • the session management unit 57 records the generated session ID, the relaying apparatus ID "Ilia" of the selected relaying apparatus 30a, and the terminal IDs "Olaa” and "Olbd” of the respective terminals (lOaa, lObd) that start communication in association with each other in the session management table (refer to FIGS. 12A and 12B ⁇ .
  • the session management unit 57 of the controller 50a transmits the above session ID, relaying apparatus ID, and terminal IDs to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to record these pieces of information in the session
  • the storage/reading processing unit 69 of the management apparatus 60ab records the generated session ID, the relaying apparatus ID "111a" of the selected relaying apparatus 30a, and the terminal IDs
  • the session management unit 57 searches the relaying apparatus management table (FIGS. 8A and 8B) with the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the
  • the session management unit 57 of the controller 50a transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to provide notification of the corresponding password.
  • the extracting unit 64 of the management apparatus 60ab extracts the password
  • the transmitter/receiver 51 of the controller 50a transmits the start request information "Invite” transmitted from the terminal iOaa at Step S32 and the session ID "seOl” to the terminal lObd via the controller 50b (Steps S54-1, S54-2).
  • the terminal ID of the terminal lObd as the transmission destination of the start request information includes the domain information "jp2.oo.com,” and the transmitter/receiver 51 can transmit the start request information via the controller 50b based on this domain information.
  • the start request information includes the terminal ID "Olaa" of the terminal IOaa as the
  • the transmitter/receiver 51 of the controller 50a transmits the relaying apparatus connection information for connecting to the selected relaying apparatus 3.0a to the terminal lObd via the controller 50b.
  • the relaying apparatus connection information includes the relaying apparatus ID "Ilia" of the relaying apparatus 30a and the password "xxxx" for connecting to the relaying apparatus 30a.
  • the transmitter/receiver 11 of the terminal lObd receives the start request information, thereby accepting the request to start communication from the terminal lOaa. Upon receiving the start request information, the
  • the transmitter/receiver 11 of the terminal lObd transmits call information "Ring" that indicates acceptance of the request to start communication and is for sounding a dial tone at the terminal lOaa to the controller 50b (Step S55-1) .
  • the call information includes the terminal ID "Olbd" of the terminal lObd as the transmission source of the call information, the terminal ID "Olaa” of the terminal lOaa as the transmission destination, and the session ID
  • the call information transmitted at Step S55-1 is received by the transmitter/receiver 51 of the controller 50b. This causes the transmitte /receiver 51 of the controller 50b to accept a request to sound a dial tone at the terminal lOaa.
  • the first changing unit 53a of the state management unit 53 of the controller' 50b changes the state information of the terminal lOaa managed in the state management table ⁇ refer to FIG. 10) into “Calling” and changes the state information of the terminal lObd into “Ringing” based on the call information "Ring" transmitted from the terminal lObd (Step S55-2) .
  • Processing to change the pieces of state information of the terminals (lOaa, lObd) is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
  • Step S55-3 the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the corresponding password "xxxx” (Step S55-3) .
  • the transmitter/receiver 51 of the controller 50b transmits the call information "Ring" transmitted from the terminal lObd at Step S55-1 via the controller 50a to the terminal lOaa (Steps 555-4, S55-5) .
  • the terminal ID of the terminal lOaa as the transmission destination of the start request information includes the domain information
  • the transmitter/receiver 51 can transmit the call information via the controller 50a based on this domain information.
  • This call information includes the terminal ID "Olbd” of the terminal lObd as the transmission source of the call information, the terminal ID "Olaa” of the terminal lOaa as the transmission destination, and the session ID.
  • the transmitter/receiver 51 of the controller 50b transmits the relaying apparatus connection information for connecting to the relaying apparatus 30a to the terminal lOaa.
  • the relaying apparatus connection information includes the relaying apparatus ID "Ilia" of the relaying apparatus 30a and the password
  • the transmitter/receiver 11 of the terminal lOaa receives the above call information, thereby accepting a request to sound a ring tone at the terminal lOaa. This enables the voice output unit 15b of the terminal lOaa to sound a dial tone from the speaker 115.
  • the voice output unit 15b sounds a ring tone from the speaker 115. This enables the user of the terminal lObd to know the request to start
  • Step S56 ⁇ the operation button 108 of the terminal lObd accepts permission to start communication with the terminal lOaa.
  • start permission information "Accept” indicating permission to start communication is transmitted to the controller 50b (Step S57-1) .
  • This start permission information includes the terminal ID "Olbd" of the terminal lObd as the transmission source of the start permission information, the terminal ID "Oiaa” of the terminal lOaa as the transmission destination, and the session ID
  • Step S58 changes the state information of the terminal lOaa and the state information of the terminal lObd managed in the state management table (refer to FIG. 10 ⁇ into “Accepted” based on the start permission information "Accept” transmitted from the terminal lObd (Step S58) .
  • Processing to change the pieces of state information of the terminals 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
  • the controller 50b then transmits the start permission information "Accept" transmitted from the terminal lObd at Step S57-1 to the terminal lOaa via the controller 50a (Steps S59-1, S59-2) .
  • the terminal ID of the terminal lOaa as the transmission destination of the start permission information includes the domain information "jpl.oo.com,” and the transmitter/receiver 51 can transmit the start permission information via the controller 50a based on this domain information.
  • This start permission information includes the terminal ID "Qlbd" of the terminal lObd as the transmission source of the start permission information, the terminal ID "Olaa" of the terminal lOaa as the
  • FIG. 25 is a sequence diagram illustrating processing to start communication between the terminals 10.
  • management information are transmitted and received through the session sei for management information illustrated in FIG. 2.
  • the terminal lOaa connects to the relaying apparatus 30a based on the relaying apparatus connection information received at Step S55-5 (Step S61-1).
  • the transmitter/receiver 11 of the terminal lOaa then transmits relay request information "Join” indicating a request to start relaying to the controller 50a (Step S62-1) .
  • This relay request information includes the terminal ID "Olaa” of the terminal lOaa and the session ID "se01@jp.oo.com.” This causes the transmitter/receiver 51 of the controller 50a to accept the request to start relaying by the terminal lOaa.
  • Step S63-1 Processing to change the state
  • the transmitter/receiver 51 of the controller 50a transmits the relay request information including the terminal ID "Olaa” of the terminal lOaa and the session ID "seOl” to the relaying apparatus 30a (Step S64-1) . Upon acceptance of this relay request information, the
  • transmitter/receiver 31 of the relaying apparatus 30a transmits relay permission information that includes the terminal ID "Olaa” of the terminal lOaa arid the session ID "seOl” and indicates permission to start relaying to the controller 50a (Step S65-1) .
  • the transmitter/receiver 51 of the controller 50a transmits the received relay
  • Step S66-1 ⁇ This establishes the session sed for content data between the terminal lOaa and the relaying apparatus 30a.
  • the terminal lObd connects to the relaying apparatus 30a based on the relaying apparatus connection information received at Step S56 (Step S61-2) .
  • This relay request information includes the terminal ID "Olbd” of the terminal lObd and the session ID "se0I@jp.oo.com.” This causes the transmitter/receiver 51 of the controller 50b to accept the request to start relaying by the terminal lObd.
  • the first changing unit 53a of the state management unit 53 of the controller 50b changes the state information of the terminal lObd managed in the state management table (refer to FIG. 10) into “Busy” based on the relay request information "Join” transmitted from the terminal lObd (Step S63-2) .
  • Processing to change the state information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
  • the transmitter/receiver 51 of the controller 50b then transmits the relay request information including the terminal ID "Olbd” of the terminal lObd and the session ID "seOl” to the relaying apparatus 30a (Step S64-2) .
  • the relaying apparatus 30a Upon acceptance of this relay request information, transmits relay permission information that includes the terminal ID "Olbd” of the terminal lObd and the session ID "seOl” and indicates permission to start relaying to the controller 50b (Step S65-2) .
  • Step S66-2 This establishes the session sed for content data between the terminal lObd and the relaying apparatus 30a.
  • the relaying apparatus 30a relays the content data including image data and voice data transmitted from one of the terminals (lOaa, lObd) to the other, thereby starting a teleconference.
  • FIG. 26 is a sequence diagram illustrating processing to start communication among the three terminals. In the communication between the terminal 10 and the controller 50 in FIG. 26, various types of management information are transmitted and
  • transmitter/receiver 11 of the terminal lOaa transmits session invitation information that includes the terminal ID "O.laa” of the terminal lOaa, the terminal ID "Olbb” of 67
  • the session ID may foe
  • controller 50a transmits the received session invitation information to the terminal lObb via the controller 50b (Steps S73-1, S73-2).
  • the terminal ID of the terminal lObb as the transmission destination of the session invitation information includes the domain information "jp2.oo.com," and the transmitter/receiver 51 can transmit the session invitation information via the controller 50b based on this domain information.
  • This participation request information includes the terminal ID "Olbb” of the terminal lObb that requests to participate in this session and the session ID "se01@jp. oo. com. " This causes the transmitter/receiver 51 of the controller 50b to accept the request to participate in the session sed for content data from the terminal lObb.
  • the first changing unit 53a of the state management unit 53 of the controller 50b then changes the state information of the terminal lObb managed in the state management table (refer to FIG. 10) into "Accepted” based on the par icipation request information "Call" transmitted from the terminal lObb (Step S75) .
  • Processing to change the state information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
  • the first changing unit 53a After the state information of the terminal lObb is changed by the first changing unit 53a of the controller 50a, the first changing unit 53a changes the operation state of each terminal lObb managed in the terminal
  • the changed operation state is synchronized between the controller 50a and the controller 50b based on the processing at Step S21b to Step S24b.
  • the session management unit 57 of the controller 50b adds the terminal ID "Olbb" of the terminal lObb that requests participation in a destination terminal field of a record including the session ID "seOl" in the session management table (refer to FIGS. 12A and 12B) (Step S76) .
  • the session management unit 57 of the controller 50b adds the terminal ID "Olbb" of the terminal lObb that requests participation in a destination terminal field of a record including the session ID "seOl" in the session management table (refer to FIGS. 12A and 12B) (Step S76) .
  • controller 50b transmits the above session ID and terminal ID to the management apparatus 60ab via the
  • the storage/reading processing unit 69 of the management apparatus 60ab records the terminal ID "Olbb" in the session management table in association with the
  • the transmitter/receiver 51 of the controller 50b transmits participation notification including the terminal ID "Olbb" of the terminal lObb participating in the session sed for content data and the session ID "seOl” to the terminal lOaa and the terminal lObd that are performing communication in this session (Steps S77-1, S77-2-1, 377-2- 2 ⁇ .
  • This enables the terminal lOaa and the terminal lObd to grasp the participation of the terminal lObb in the session sed for content data.
  • the session management unit 57 searches the relaying apparatus management table (FIGS. 8A. and 8B ⁇ with the relaying apparatus ID "ilia" of the selected relaying apparatus 30a as a key, thereby extracting the
  • the session management unit 57 of the controller 50b transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to provide notification of the corresponding password for connecting to the relaying apparatus 30a.
  • the extracting unit 64 of the management apparatus 60ab extracts the password corresponding to the relaying apparatus ID from the relaying apparatus
  • the extracted password is transmitted to the controller 50b by the transmitter/receiver 61.
  • the transmitter/receiver 51 of the controller 50b transmits the relaying apparatus connection information for connecting to the relaying apparatus 30a that relays the content data in this session to the terminal lObb.
  • the relaying apparatus connection information includes the relaying apparatus ID "111a" of the relaying apparatus 30a and the password "xxxx" for connecting to the relaying apparatus 30a managed in the relaying apparatus management table (refer to FIG. 8A) (Step S79) .
  • Steps S80 to S85 the relaying apparatus 30a can relay the content data among the terminals (lOaa, lObb, lObd) . This enables the terminals (lOaa, lObb, lObd) to start a teleconference.
  • FIG. 27 is sequence diagram
  • FIG. 27 illustrates processing to transmit and receive various types of management information through the session sei for management information.
  • Step S91 accepting a request to end communication.
  • the transmitter/receiver 11 of the terminal lObd transmits end request information "Leave" including the terminal ID
  • the first changing unit 53a of the state management unit 53 of the controller 50b changes the state information of the terminal lObd managed in the state management table ⁇ refer to FIG. 10) into “None” based on the participation request information "Leave” transmitted from the terminal lObd (Step S93) . Processing to change the state
  • the first changing unit 53a changes the operation state of the terminal lObd managed in the terminal
  • the session management unit 57 deletes the terminal ID "Olbd" of the terminal lObd from the terminal ID field of the record including the session ID "seOl" in the session management table (refer to FIGS. 12A and 12B) (Step S94) .
  • controller 50b transmits the above session ID and terminal ID to the management apparatus 60ab via the
  • the storage/reading processing unit 69 of the management apparatus 60ab deletes the terminal ID "Olbd" from the destination terminal field of the record including the session ID "seOl" in the session management table.
  • the session management unit 57 searches the relaying apparatus management table (FIGS. 8A and 8B) with the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the
  • the session management unit 57 of the controller 50b transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby providing notification of the corresponding password.
  • the transmitter/receiver 61 transmits the extracted password to the controller 50b.
  • the transmitter/receiver 51 transmits relay end information to end relaying including the terminal ID
  • Step S97 This causes the relaying apparatus 30a to stop the relay of the content data
  • Step S96 ⁇ This causes the terminal lObd to end the communication with the terminals (lOaa, lObd) and to leave the session sed for content data.
  • the controller 50 the management apparatus 60, the selecting apparatus 80, and the program providing system 90 of the above embodiment may be constructed by a single computer and may be constructed by a plurality of computers to which divided components (functions or means) are arbitrarily assigned.
  • the program providing system 90 is constructed by a single computer, the program to be transmitted by the program providing system 90 may be transmitted after being divided into a plurality of modules and may be transmitted without being divided.
  • the program providing system. 90 is constructed by a plurality of computers, a plurality of modules may be transmitted from the respective computers in a divided manner.
  • Recording media storing therein the program for management apparatuses, the program for controllers, the program for a selecting apparatus, the program for
  • providing system SO including the HD 204 according to the above embodiment are all used when they are provided tc domestic or overseas users or the like of the above program for terminals, program for relaying apparatuses, and program for communication management as program products.
  • the controller 50 may impose a restriction of the processing on the terminal 10 in a similar manner to the processing at Steps 32 tc 42 when receiving various types of management information "Ring, Accepted.”
  • the controller 50 may impose a
  • the above embodiment may manage the fully qualified domain names (FQDN) of the respective pieces of domain information.
  • IP addresses corresponding to the FQDKs are acquired by a known domain name system (DNS) server.
  • DNS domain name system
  • the ID such as the terminal ID and the relaying apparatus ID may be denoted as, for example, "relaying apparatus connection destination information indicating the connection destination to the relaying apparatus 30 on the communication network 2," “relaying apparatus destination information indicating the destination to the relaying apparatus 30 on the communication network 2,” "terminal connection destination information indicating the
  • the "teleconference” is used as a term replaceable with a "videoconference. "
  • the above embodiment describes the teleconference system as an example of the communication system 1, it is not limiting and may be a telephone system such as Internet Protocol (IP) telephone and Internet telephone.
  • IP Internet Protocol
  • communication system 1 may be a car navigation system.
  • one terminal 10 corresponds to a car navigation apparatus installed in a car, whereas
  • another terminal 10 corresponds to a management terminal or a management server of a management center managing the car navigation or a car navigation apparatus installed in another car.
  • the communication system 1 may also be a voice conference system or a personal computer (PC) screen sharing system.
  • the communication system 1 may be a communication system of mobile phones.
  • the terminal 1 may be a communication system of mobile phones.
  • the terminal 1 the terminal
  • FIG. 23 is a conceptual diagram illustrating a destination list of another embodiment.
  • a terminal 310 as a mobile phone includes a main body 310-1 of the mobile phone, a menu screen display button 310-2 arranged on the main body 310-1, a display unit 310-3 arranged on the main body 310-1, a microphone 310-4
  • the "menu screen display button" 310-2 is a button for displaying a menu screen displaying icons indicating
  • the display unit 310-3 is formed as a touch panel and can perform communication with another mobile phone through the selection of a destination name by a user.
  • the above embodiment describes a case of performing a teleconference by the communication system 1, it is not limiting and may be used in meetings, general conversations such as ones between members of a family or friends, or unidirectional information provision.
  • each controller performs control to restrict each
  • predetermined communication terminal connected thereto not to start any communication other than the communication to be performed according to the request.
  • the controller performs processing related to the start of communication between the predetermined
  • Transmitter/receiver an example of a request accepting unit, an example of a first transmitter, an example of a second transmitter, an example of
  • identification information transmitter an example of a domain information accepting unit
  • Restricting unit an example of a first restricting unit, an example of a second restricting un
  • Connection destination identifying unit (an example of an identifying unit)
  • Request management DB (an example of a request information management unit)
  • Patent Literature 1 Japanese Laid-open Patent Publication No. 2012-50063
  • Patent Literature 2 Japanese Laid-open Patent Publication No. 2008-71156

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The controller (50a) accepts a request to start communication between the terminals (10aa, 10bd). The controller (50a) imposes a restriction so that the terminal (10aa) connected to the controller (50a) does not start any communication between the terminals other than the communication according to the request. The controller (50a) transmits the terminal ID of the terminal (10bd) to the controller (50b). Based on the terminal ID, the controller (50b) imposes a restriction so that terminal (10bd) connected to the controller (50b) does not start any communication between the terminals other than the communication according to the request. The controller (50b) transmits restriction completion information to the controller (50a). After the restrictions on the terminals (10aa, 10bd) have been completed, the controller (50a) performs processing to establish the session for content data performed according to the request between the terminals (10aa, 10bd).

Description

DESCRIPTION
CONTROL SYSTEM, COMMUNICATION SYSTEM, COMPUTER PROGRAM, CONTROLLING METHOD, AND COMPUTER PROGRAM PRODUCT
TECHNICAL FIELD
The present invention relates to a control system, a communication system, a computer program, a controlling method, and a computer program product.
BACKGROUND ART
Recently, communication systems performing
communication via communication networks such as the
Internet and exclusive lines have become widespread along with requests for reductions in business trip expenses and business trip times. Such a communication system
establishes a session for transmitting and receiving content data such as image data and voice data between communication terminals, thereby achieving communication between the communication terminals.
It is known that, when communication between
communication terminals is started, a communication system of a teleconference controls a session by a teleconf rence management system (refer to Patent Literature 1). In this case, a plurality of teleconference terminals are connected to one teleconference management system, and based on a request from any of the teleconference terminals, the teleconference management system performs processing related to the start of communication. Owing to this, when the nuni)er of the teleconference terminals connected to the teleconference management system increases, a large load associated with processing is imposed on the teleconference management system. A method is known that, in order to reduce a load imposed on a server, provides a plurality of servers to perform processing, thereby distributing the load imposed on the server {refer to Patent Literature 2) ,
However, when a plurality of controllers are provided in order to perform processing related to the start of communication between communication terminals, a problem arises in that when plural requests to start communication for the same communication terminal are respectively accepted by different controllers at the same time, the different controllers perform processing according to the requests in a duplicate manner.
SUMMARY OF THE INVENTION
A control system includes a first controller and a second controller that control a session in which content data is transmitted between communication terminals
according to a request from any of the communication terminals. The first controller includes a request
accepting unit, a first restricting unit, and a first transmitter. The request accepting unit accepts a request to start communication between predetermined communication terminals. The first restricting unit imposes a
restriction so that a first communication terminal, which is connected to the first controller out of the
predetermined communication terminals, does not start any communication other than the communication performed according to the request. The first transmitter transmits, to the second controller, terminal identification
information for identifying a second communication terminal connected to the second controller out of the predetermined communication terminals. The second controller includes a second restricting unit, a second transmitter. The second 3
restricting unit imposes, based on the terminal
identification information transmitted from the first controller, a restriction so that the second communication terminal does not start any communication other than the communication performed according to the request. The second transmitter transmits, to the first controller, restriction information indicating that the restriction on the second communication terminal is completed. The first controller performs processing related to the start of the communication performed according to the request after the restriction on the first communication terminal and the restriction on the second communication terminal are
completed. BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram illustrating the state of the transmission and reception of image data, voice data, and various types of management information in the
commun cation system.
FIG. 3 is an external view of a terminal according to the embodiment of the present invention.
FIG. 4 is a hardware configuration diagram of the terminal according to the embodiment of the present
invention .
FIG. 5 is a hardware configuration diagram of a
management system according to the embodiment of the
present invention.
FIG. 6 is a functional block diagram of a terminal, apparatuses, and a system constituting the communication system according to the embodiment.
FIG. 7 is a conceptual diagram illustrating a 4
destination list.
FIGS. 8A and 8B are conceptual diagrams illustrating relaying apparatus management tables.
FIGS. 9A and 9B are conceptual diagrams illustrating terminal authentication management tables.
FIG. 10 is a conceptual diagram illustrating state management tables.
FIGS. 11A and 11B are conceptual diagrams illustrating destination list management tables.
FIGS. 12A and 12B are conceptual diagrams illustrating session management tables.
FIGS. 13A and 13B are conceptual diagrams illustrating state change management tables.
FIG. 14 is a conceptual diagram illustrating a
relaying apparatus selection management table.
FIGS. ISA and 15B are conceptual diagrams illustrating terminal management tables.
FIG. 16 is a conceptual diagram illustrating a request management table.
FIG, 17 is a conceptual diagram illustrating the state of the transmission and reception of various types of information in the communication system.
FIG. 18 is a sequence diagram illustrating inter-node cooperation.
FIG. 19 is a sequence diagram illustrating processing in a preparatory stage for starting communication between terminals .
FIG. 20 is a sequence diagram illustrating processing to synchronize the operation states of terminals.
FIG. 21 is a sequence diagram illustrating processing related to the start of communication.
FIG. 22 is a sequence diagram illustrating processing to request the start of communication. FIG. 23 is a state transition diagram illustrating transitions between states of a terminal.
FIG. 24 is a flow diagram illustrating processing to change the state of a terminal.
FIG. 25 is a sequence diagram illustrating processing to start communication between terminals.
FIG. 26 is a sequence diagram illustrating processing to start communication among three terminals.
FIG. 27 is a sequence diagram illustrating processing to end communication.
FIG. 28 is a conceptual diagram illustrating a
destination list of another embodiment.
DESCRIPTION OF EMBODIMENTS
Overall Structure of Embodiment
An embodiment according to the present invention will be described below. First, the overall structure of the embodiment will be described with reference to FIG. 1 and FIG. 2. FIG. 1 is a schematic diagram of a communication system according to the embodiment of the present invention FIG. 2 is a conceptual diagram illustrating the state of the transmission and reception of image data, voice data, and various types of management information in the
communication system.
The communication system according to the present embodiment includes a data providing system that
communicates content data unidirectionally from one
communication terminal to another communication terminal and a communication system that transmits information mutually among a plurality of communication terminals.
This communication system is a system for transmitting information mutually among a plurality of communication terminals (corresponding to "communication terminals") via a communication management system (corresponding to a
"communication management system"), and examples thereof may include teleconference systems, videophone systems, voice conference systems, voice phone systems, personal computer (PC) screen sharing systems, and data sharing systems .
The present embodiment describes a communication system, a communication management system, and a
communication terminal assuming a teleconference system as an example of the communication system, a teleconference management system as an example of the communication management system, and a teleconference terminal as an example of the communication terminal. In other words, the communication terminal and the communication management system according to the present embodiment are not only used in the teleconference system, but also used in the communication system or the communication system.
This communication system 1 illustrated in FIG. 1 includes a plurality of communication terminals (lOaa, 10ab,...)7 displays (120aa, 120ab,...) for the respective communication terminals (lOaa, 10ab,...), a plurality of relaying apparatuses (30a, 30b, 30c, 30d) , a plurality of communication management systems (500ab, 500cd) , a relaying apparatus selecting apparatus 80, a program providing system 90, and a maintenance system 100. The communication terminals 10 perform communication through the transmission and reception of image data and voice data as examples of content data. The content data is not limited to the image data and the voice data and may be at least one of image data, voice data, and text data, for example. The image of the image data may be a moving image and a still image and may be both a moving image and a still image. The present embodiment describes a case in which the image of the image 7
data is a moving image.
In the following, the "communication terminal" will be simply denoted as a "terminal, " the "communication
management system" will be simply denoted as a "management system," and the "relaying apparatus selecting apparatus" will be simply denoted as a "selecting apparatus." Among the communication management systems (500ab, SOOcd) , any management system will be denoted as a "management system 500." Among the terminals (lOaa, lOab,...), any terminal will be denoted as a "terminal 10." Among the displays
(120aa, 120ab,...), any display will be denoted as a "display 120." Among the relaying apparatuses (30a, 30b, 30c, 30d) , any relaying apparatus will be denoted as a "relaying apparatus 30."
As illustrated in FIG. 2, in the communication system
1, a session sei for management information is established for transmitting and receiving various types of management information between the terminals 10 via the management system 500. A session is established for transmitting and receiving image data and voice data between the terminals 10 via the relaying apparatus 30. In this example, the session for transmitting and receiving the image data and the voice data is collectively illustrated as a session sed for content data.
The terminal 10 illustrated in FIG. 1 performs the transmission and reception of content data such as image data and voice data in order to perform communication with the other terminal 10. In other words, the communication in the present embodiment includes not only the
transmission and reception of the voice data, but also the transmission and reception of the image data. The terminal 10 may perform the transmission and reception of the voice data without performing the transmission and reception of 8
the image data. The relaying apparatus 30 selected out of the relaying apparatuses 30 by the selecting apparatus 80 relays content data among the terminals 10. The management system 500 may be constructed by a plurality of computers. In the communication system 1 illustrated in FIG. 1, a plurality of controllers (50a, 50b,...) and a management apparatus 60ab construct the communication management system 500ab. In the following, among the controllers (50a, 50b,...), any controller will be denoted as a "controller 50."
A plurality of routers (70a, 70b, 70c, 70d, 70ab,
70cd) select an optimum path of content data. In the following, among the routers (70a, 70b, 70c, 70d, 70ab, 70cd) , any router will be denoted as a "router 70."
The program providing system 90 includes a hard disk
(HD) 204 described below, which stores therein a program for terminals to cause the terminal 10 to implement various functions (or to cause the terminal 10 to function as various units) and can transmit the program for terminals to the terminal 10. The HD 204 of the program providing system 90 also stores therein a program for relaying
apparatuses to cause the relaying apparatus 30 to implement various functions (or to cause the relaying apparatus 30 to function as various units) and can transmit the program for relaying apparatuses to the relaying apparatus 30. The HD 204 of the program providing system 90 also stores therein a program for a selecting apparatus to cause the selecting apparatus 80 to implement various functions (or to cause the selecting apparatus 80 to function as various units) and can transmit the program for a selecting apparatus to the selecting apparatus 80. The HD 204 of the program providing system 90 also stores: therein a program for a maintenance system to cause the maintenance system 100 to 9
implement various functions (or to cause the maintenance system 100 to function as various units) and can transmit the program for a maintenance system to the maintenance system 100.
The maintenance system 100 is a computer for keeping, managing, or maintaining at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90. When the maintenance system 100 is domestically installed, and the terminal 10, the relaying apparatus 30, the
management system 500, the selecting apparatus 80, and the program providing system 90 are installed abroad, for example, the maintenance system 100 keeps, manages, or maintains at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90 remotely via a communication network 2. The maintenance system 100 performs maintenance such as the management of the model number, serial number, customer, maintenance and inspection, trouble history or the like of at least one of the terminal 10, the relaying apparatus 30, the management system 500, the selecting apparatus 80, and the program providing system 90 without the involvement of the communication network 2.
The terminals (lOaa, lOab,...), the relaying apparatus
30a, and the router 70a are comraunicably connected via a LAN 2a. The terminals (lOba, lObb,...}, the relaying
apparatus 30b, and the router 70b are communicably
connected via a LAN 2b. The management system 500ab, the LAN 2a, and the LAN 2b are communicably connected via an exclusive line 2ab including the router 70ab and are
constructed in a given region A. The region A is Japan, the LAN 2a is constructed in a Tokyo office, and the LAN 2b is constructed in an Osaka office, for example. The
management system 500ab manages the state of the terminals {10aa, lOab, ...lOba, lObb,...} connected to the LAN 2a or the LAN 2b and controls the connection between the terminals 10 using the relaying apparatuses (30a, 30b).
The terminals (lOca, 10bb,...}, the relaying apparatus 30c, and the router 70c are communicably connected via a LAN 2c. The terminals (lOda, lOdb,...), the relaying
apparatus 30d, and the router 70d are communicably
connected via a LAN 2d. The management system 500cd, the LAN 2c, and the LAN 2d are communicably connected via an exclusive line 2cd including the router 70cd and are
constructed in a given region B. The region B is the
United States of America, the LAN 2c is constructed in a New York office, and the LAN 2d is constructed in a
Washington DC office, for example. The region A and the region B are communicably connected via the Internet 2i from the routers (70ab, 70cd) , respectively. The
management system 500cd manages the state of the terminals (lOca, lGcb,...10da, lOdb,...} connected to the LAN 2c or the LAN 2d and controls the connection among the terminals 10 using the relaying apparatuses (30c, 30d) .
The selecting apparatus 80, the program providing system 90, and the maintenance system 100 are communicably connected with the terminal 10, the relaying apparatus 30, or the management system 500 via the Internet 2i. The selecting apparatus 80, the program providing system 90, and the maintenance system 100 may be installed in the region A or the region B or may be installed in any region other than these regions.
In the present embodiment, the communication network 2 according to the present embodiment is constructed by the LAN 2a, the LAN 2b, the exclusive line 2ab, the Internet 2i, the exclusive line 2cd, the LAN 2c, and the LAN 2d. The communication network 2 may include a part in which, not only wired, but also wireless communication such as
Wireless Fidelity (WiFi) and Bluetooth (registered
trademark) is performed.
The terminals 10 may be used in, not only
communication between a plurality of offices and
communication between different rooms in the same office, but also communication within the same room and outdoor-to- indoor or outdoor-to-outdoor communication. When the terminals 10 are used outdoor, wireless communication such as mobile phone communication network is performed.
Hardware Configuration of Embodiment
Next, the hardware configuration of the present embodiment will be described. First, the hardware
configuration of the terminal 10 will be described with reference to FIG. 3 and FIG. 4. FIG. 3 is an external view of a terminal according to the embodiment of the present invention. FIG. 4 is a hardware configuration diagram of the terminal according to the embodiment of the present invention. The following will describe with the
longitudinal direction of the terminal 10 as an X-axial direction, with the direction orthogonal to the X-axial direction on the horizontal plane as a Y-axial direction, and with the direction (the vertical direction) orthogonal to the X-axial direction and the Y-axial direction as a Z- axial direction.
As illustrated in FIG. 3, the terminal 10 includes a housing 1100, an arm 1200, and a camera housing 1300. An intake plane (not illustrated) formed by a plurality of intake holes is formed on a front wall 1110 of the housing 1100, whereas an exhaust plane 1121 formed by a plurality of exhaust holes is formed on a rear wall 1120 of the housing 1100. This takes in outside air in the rear of the terminal 10 via the intake plane (not illustrated) and exhausts it to the rear of the terminal 10 via the exhaust plane 1121 by the drive of a cooling fan incorporated in the housing 1100. A sound pickup hole 1131 is formed on a right wall 1130 of the housing 1100, and sounds such as voices, sounds, and noises can be picked up by a built-in microphone 114 described below.
An operating panel 1150 is formed on the right wall 1130 of the housing 1100. The operating panel 1150
includes a plurality of operation buttons (108a to 108e) described below, a power switch 109 described below, an alarm lamp 119 described below, and a sound output plane 1151 formed by a plurality of sound output holes for
passing through output sounds from a built-in speaker 115 described below. A housing unit 1160 as a recess for housing the arm 1200 and the camera housing 1300 is formed on a left wall 1140 of the housing 1100. A plurality of connecting ports (1132a to 1132c) are formed on the right wall 1130 of the housing 1100 for electrically connecting cables to an external device connection I/F 118 described below. A connecting port (not illustrated) is formed on the left wall 1140 of the housing 1100 for electrically connecting a cable 120c for the display 120 to the external device connection I/F 118 described below.
In the following description, an "operation button 108" will be used when indicating any operation button among the operation buttons (108a to 108e) , and a
"connecting port 1132" will be used when indicating any connecting port among the connecting ports (1132a to 1132c) .
The arm 1200 is attached to the housing 1100 via a torque hinge 1210, and the arm 1200 is rotatable in the up and down direction within the range of a tilt angle Θ1 of 135 degrees with respect to the housing 1100. FIG. 3 illustrates a state in which the tilt angle Θ1 is 90 degrees .
The camera housing 1300 includes a built-in camera 112 described below, which can image users, documents, rooms, or the like. The camera housing 1300 forms a torque hinge 1310. The camera housing 1300 is attached to the arm 1200 via the torque hinge 1310. The camera housing 1300 is attached to the arm 1200 via the torque hinge 1310, and the camera housing 1300 is rotatable with respect to the arm 1200 in the up and down and right and left directions within the range of a pan angle Θ2 of ±180 degrees and within the range of a tilt angle Θ3 of ±45 degrees with the state illustrated in FIG. 3 as 0 degree.
As illustrated in FIG. 47 the terminal 10 according to the present embodiment includes a central processing unit (CPU) 101 that controls the entire operation of the
terminal 10, a read only memory (ROM) 102 that stores therein the program for terminals, a random access memory (RAM) 103 used as a work area of the CPU 101, a flash memory 104 that stores therein various data such as image data and voice data, a solid state drive (SSD) 105 that controls the reading and writing of the various data from and into the flash memory 104 in accordance with the control of the CPU 101, a media drive 107 that controls the reading and writing (recording) data from and into a recording medium 106 such as a flash memory, the operation button 108 used when selecting a destination of the
terminal 10 or the like, the power switch 109 for switching ON/OFF of the power of the terminal 10, and a network interface (I/F) 111 for performing data communication using the communication network 2 described below. The terminal 10 also includes the built-in camera 112 that images a subject in accordance with the control of the CPU 101 and obtains linage data, an imaging element T/F 113 that controls the drive of the camera 112, the built-in microphone 114 that inputs voices, the built-in speaker 115 that outputs voices, an voice input/output I/F 116 that processes the input and output of voice signals between the microphone 114 and the speaker 115 in accordance with the control of the CPU 101, a display I/F 117 that communicates image data to the external display 120 in accordance wirh the control of the CPU 101, an external device connection I/F 118 for connecting various external devices, the alarm lamp 119 indicating abnormalities of the various functions of the terminal 10, and a bus line 110 such as an address bus and a data bus for electrically connecting the above components as illustrated in FIG. 4.
The display 120 is a display unit including liquid crystals or organic EL displaying images cf subjects, operating icons, or the like. The display 120 is connected to the display I/F 117 via the cable 120c. The cable 120c may be an analog RGB (VGA) signal cable, may be a component video cable, and may be a High-Definition Multimedia
Interface (HDMI } or Digital Video Interactive (DVI) signal cable.
The camera 112 includes a lens and a solid-state imaging element that converts light into electric charges to digitize an image (video) of a subject, the solid-state imaging element being a complementary metal oxide
semiconductor (CMOS) , a charge coupled device (CCD) , or the like.
External devices such as an external camera, an external microphone, and an external speaker can be electrically connected to the external device connection I/F 118 with a universal serial bus (USB), cable or the like inserted into the connecting port 1132 of the housing 1100 illustrated in FIG. 3. When the external camera is
connected, the external camera is driven preferentially to the built-in camera 112 in accordance with the control of the CPU 101. Similarly, when the external microphone is connected, or when the external speaker is connected, the external microphone and the external speaker are driven preferentially to the built-in microphone 114 and the built-in speaker 115, respectively, in accordance with the control of the CPU 101.
The recording medium 106 is attachable and detachable to and from the terminal 10. It is only required to be a nonvolatile memory that reads and writes data in accordance with the control of the CPU 101. Without being limited to the flash memory 1.04, it may be an electrically erasable and programmable ROM (EEPROM) or the like.
The program for terminals may be recorded in a
computer-readable recording medium (the recording medium 106 or the like) as an installable or executable file and distributed. The program for terminals may be stored in the ROM 102 rather than the flash memory 104. The external view and the hardware configuration diagram illustrated in FIG. 3 and FIG. 4 are merely ah embodiment and are not limiting. The appearance and hardware may be, for example, a general desktop or notebook personal computer, a
smartphone, a tablet type terminal, an electronic
blackboard a projector, and an image forming apparatus such as a multifunction peripheral and a printer. In this case, a camera and a microphone are not necessarily
required to be built in and may be externally attached.
The following describes the hardware configuration of the controller 50, a management apparatus 60r the relaying apparatus 30, the selecting apparatus 80, the program providing system 90, the maintenance system 100, and the management system 500 with reference to FIG. 5. FIG. 5 is a hardware configuration diagram of a controller according to the embodiment of the present invention. The relaying apparatus 30, the management apparatus 60, the selecting apparatus 80, the program providing system 90, and the maintenance system 100 have the same appearance as a general server computer, and the description of their appearance is omitted.
The management apparatus 60 includes a CPU 201 that controls the entire operation of the management apparatus 60, a ROM 202 that stores therein a program for use in the drive of the CPU 201 such as an initial program loader (IPL), a RAM 203 used as a work area of the CPU 201, an HD 203 that stores therein various data such as a program for communication management, a hard disk drive (HDD) 205 that controls the reading and writing of the various data from and into the HD 204 in accordance with the control of the CPU 201, a media drive 207 that controls the reading and writing (recording) of data from and into a recording medium 206 such as a flash memory, a display 208 that displays various types of information such as cursors, menus, windows, characters, and images, a network Ι/Γ 209 for performing data communicatio using the communication network 2, a keyboard 211 having a plurality of keys for inputting characters, numeric values, various instructions, and the like, a mouse 212 that performs the selection and execution of various instructions, the selection of an object to be processed, the movement of a cursor, and the like, a CD-ROM drive 214 that controls the reading and writing of various data from and into a compact disc read only memory (CD-ROM) 213 as an example of a detachable recording medium, a clock 215 as an internal clock of the management apparatus 60, and a bus line 210 such as an address bus and a data bus for electrically connecting the above components as illustrated in FIG. 5.
The program for communication management may be
recorded in a computer-readable recording medium such as the recording medium 206 and the CD-ROM 213 as an
installable or executable file and distributed. The
program for communication management may be stored in the ROM 202 rather than the HD 204.
The relaying apparatus 30, the controller 50, the selecting apparatus 80, the program providing system 90, the maintenance system 100 have the same hardware
configuration as the management apparatus 60, and the detailed description thereof is omitted. The HD 204
records therein the program for relaying apparatuses, the program for communication control, the program for a
selecting apparatus, a program for program provision, or a program for maintenance for controlling the relaying
apparatus 30, the selecting apparatus 80, the program providing system 90, or the maintenance system 100. Also in this case, the programs may be recorded in a computer- readable recording medium such as the recording medium 206 and the CD-ROM 213 as an installable or executable file and distributed. The programs may be stored in the ROM 202 rather than the HD 204. The programs may be recorded in a computer-readable recording medium such as a compact disc recordable (CD-R) and a digital versatile disc (DVD) , which are other examples of the detachable recording medium and provided.
Functional Configuration of Embodiment
Next, the functional configuration of the present embodiment will be described with reference to FIG, 6. FIG. 6 is a functional block diagram of a terminal, apparatuses, and a system constituting the communication system
according to the embodiment. In FIG. 6, the terminal 10, the relaying apparatus 30, and the management system 500 are connected so as to perform data communication via the communication network 2. The program providing system 90 and the maintenance system 100 illustrated in FIG. 1 are omitted in FIG. 6, because they are not directly related to communication in a teleconference.
Functional Configuration of Terminal
The terminal 10 includes a transmitter/receiver 11, an operation input accepting unit 12, a login requesting unit 13, an imaging unit 14, a voice input unit 15a, a voice output unit 15b, a display controller 16, a storage/reading processing unit 19, and a destination list creating unit 2Q. These components are functions or means that function implemented by the operation of any of the components illustrated in FIG. 4 by commands from the CPU 101 in accordance with the program for terminals loaded from the flash memory 104 onto the RAM 103. The terminal 10
includes a storage unit 1000 including the RAM 103
illustrated in FIG. 4 and the flash memory 104 illustrated in FIG. 4. The storage unit 1000 stores therein a
destination list frame 1100-1 illustrated in FIG. 7. FIG. 7 is a conceptual diagram illustrating a destination list.
Functional Components of Terminal
Next, the functional configurations of the terminal 10 will be described with reference to FIG. 4 and FIG. 6. In describing the functional configurations of the terminal 10, the following will also describe the relation with
principal components for achieving the functional
configurations of the terminal 10 among the components illustrated in FIG. 4. The transmitter/receiver 11 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the network I/F 111 illustrated in FIG- 4 and performs the transmission and reception of various data (or information) with the other terminals, apparatuses, or systems via the communication network 2. The transmitter/receiver 11 starts the
reception of respective pieces of state information
indicating the states of the respective terminals 10 as destination candidates from the management system 500 before starting communication with the other terminal 10. This state information indicates the operation states
(being online or offline, whether being in conference when being online, or the like) of the respective terminals 10. The state information indicates not only the operation states of the respective terminal 10, but also various states, in which the cable 120c is detached from the terminal 10, images are not output although voices are output, and voices are not output (mute) in the terminal 10 The following also describe a case in which the state information indicates the operation state, as an example.
The operation input accepting unit 12 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the operation button 108 and the power switch 109 illustrated in FIG. 4 and receives various inputs from a user. When the user turns on the power switch 109 illustrated in FIG. 4, the operation input accepting unit 12 illustrated in FIG 6 receives the power-on and turns on the power.
The login requesting unit 13 is implemented by
commands from the CPU 101 illustrated in FIG. 4. Wit the acceptance of the power-on as a trigger, the login- requesting unit 13 automatically transmits login request information indicating a request for a login from the transmitter/receiver 11 to the. management system 500 via the communication network 2. The trigger for transmitting the login request information is not limited to the power- on and may be the acceptance of operation input by the user via the operation input accepting unit 12. When the user turns off the power switch 109 from the power-on state, the transmitter/receiver 11 transmits state information
indicating the turning off of the power to the management system 500, and then the operation input accepting unit 12 perfectly turns off the power. This causes the management system 500 to grasp that the terminal 10 has been turned from the power-on to power-off. In the present embodiment, the terminals (lOaa, lOab, ...lOba, lObb,...) on the LANs (2a, 2b} are connected to the management system 500ab7 whereas the terminals (IQca, lOcb, ...lOda, 10db,...} on the LANs (2c, 2d) are connected to the management system 500cd.
The imaging unit 14 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the camera 112 and the imaging element I/F 113 illustrated in FIG. 4, images a subject, and outputs image data obtained by the imaging.
The voice input unit 15a is implemented by commands from the CPU 101 illustrated in FIG. 4 and the voice input/output I/F 116 illustrated in FIG. 4, and after a voice of the user is converted into a voice signal by the microphone 114, inputs voice data related to the voice signal. The voice output unit 15b is implemented by commands from the CPU 101 illustrated in FIG. 4 and the voice input/output I/F 116 illustrated in FIG. 4, outputs a voice signal related to voice data to the speaker 115, and outputs a voice from the speaker 115.
The display controller 16 is implemented by commands from the CPU 101 illustrated in FIG. 4 and the display I/F 117 illustrated in FIG. 4 and performs control to transmit received image data to the display 120, The display controller 16 causes the display 120 to display a destination list including destination names based on information received from the management system 500. The display controller 16 displays the destination list frame 1100-1 as illustrated in FIG. 7 on the display 120, for example. The destination list frame 1100-1 displays destination names such as a destination name
"Tokyo Office AB terminal" 1100-2, icons (1100-3a, 1100-3b, 110Q-3c, 1100-3d) indicating the state of the terminal 10 for each destination name, and an icon 1100-4 indicating a region. The icon 1100-3a indicates that the terminal 10 as one of the destination candidates is in an offline state (hereinafter, this state is called "Offline.") and that it is incommunicable with this terminal. The icon 1100-3b indicates that the terminal 10 as one of the destination candidates is in a standby state before starting
communication (hereinafter, this state is called "None.") The icon 1100-3c indicates that the terminal 10 as one of the destination candidates is in a state requesting
communication with the other terminal (hereinafter, this state is called "Calling.") or a state being requested from the other terminal 10 (hereinafter, this state is called "Ringing."). The icon 1100-3d indicates a state in which the above request is accepted (hereinafter, this state of the terminal 10 is called "Accepted.") or a state in which the terminal 10 as one of the destination candidates is in communication with the other terminal 10 (hereinafter, this state is called "Busy.") The destination list frame 1100-1 displays a scroll bar 1100-5 on the right, and upward and downward triangle icons are selected, thereby displaying destination names and state of destination candidates not illustrated in FIG. 7.
The storage/reading processing unit 19 is implemented 22
by commands from the CPU 101 illustrated in FIG . 4 and the SSD 105 illustrated in FIG. 4 or im lemented by commands from the CPU 101 and performs storing various data in the storage unit 1000 and reading the various data stored in the storage unit 1000. The storage unit 1000 stores therein terminal identification information (terminal IDs) for identifying the terminal 10, passwords, and the like. The storage unit 1000 stores therein image data and voice data received each time communication with a destination terminal is performed in an overwriting manner for each reception. An image is displayed on the display 120 based on image date before being overwritten, and a voice is output from the speaker 115 based on voice data before being overwritten. The IDs such as the terminal IDs in the present embodiment indicate identification such as
languages, characters, symbols, and various kinds of marks used for uniquely identifying the terminal 10, the user of the terminal 10, or the like. The IDs may be
identification obtained by combining at least two of the languages, characters, symbols, and various kinds of marks.
The destination list creating unit 20 creates and updates a destination list indicating the states of the terminals 10 as destination candidates with icons as illustrated in FIG. 7 based on information received from the management system 500.
Functional Configuration of Relaying Apparatus
The relaying apparatus 30 includes a
transmitter/receiver 31, a relaying unit 32, and a
storage/reading processing unit 39. These components are functions or means that function implemented by the
operation of any of the components illustrated in FIG. 5 by commands from the CPU 201 in accordance with the program for relaying apparatuses loaded from the HD 204 onto the 23
RAM 203. The relaying apparatus 30 includes a storage unit 3000 including the RAM 203 illustrated in FIG . 5 or the HD 204 illustrated in FIG. 5.
Functional Components of Relaying Apparatus
Next, the functional components of the relaying apparatus 30 will be described in detail. In describing the functional configurations of the relaying apparatus 30, the following will also describe the relation with
principal components for achieving the functional
configurations of the relaying apparatus 30 among the components illustrated in FIG. 5.
The transmitter/receiver 31 of the relaying apparatus 30 illustrated in FIG. 6 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data (or information) with the other terminals, apparatuses, or systems via the communication network 2. The relaying unit 32 is implemented by commands from the CPU 201 illustrated in FIG. 5 and relays content data transmitted and received among the terminals 10 in the session sed for content data via the transmitter/receiver 31. The storage/reading processing unit 39 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 3000 and reading the various data stored in the storage unit 3000.
Functional Configuration of Management Apparatus
The management apparatus 60 includes a
transmitter/receiver 61, an extracting unit 64, and a storage/reading processing unit 69. These components are functions or means that function implemented by the
operation of any of the components illustrated in FIG. 5 by commands from the CPU 201 in accordance with the program 24
for a management system loaded from the HD 204 onto the RAM 203. The management apparatus 60 includes a storage unit 6000 including the HD 204 illustrated in FIG. 5.
Relaying Apparatus Management Table
The storage unit 6000 includes a relaying apparatus management DB 6001 including a relaying apparatus
management table as illustrated in FIGS. 8A and 8B. FIG. 8A is a conceptual diagram illustrating a relaying
apparatus management table managed by the management apparatus 60ab, whereas FIG. 8B is a conceptual diagram illustrating a relaying apparatus management table managed by the management apparatus 60cd. The relaying apparatus management table manages relaying apparatus IDs of the respective relaying apparatuses 30 for which the control of connection can be performed by the management system 500 to which the corresponding management apparatus 60 belongs and passwords for connecting to the respective relaying
apparatuses 30 in association with each other. The
relaying apparatus management table illustrated in FIG. 8A, for example, indicates that the password for connecting to the relaying apparatus 30a identified by the relaying apparatus ID "llla@jp.oo.com" is "xxxx." In the present embodiment, the relaying apparatus ID includes domain information (communication control information) such as "jp.oo.com" indicating the management system 500 that can perform control along with the start and end of
communication using the relaying apparatus 30 identified thereby. When indicating the relaying apparatus ID in the following description, it will be simply denoted as "111a" or the like with the domain information such as "jp.oo.com" omitted, unless particularly specified. The following describes a case of using the relaying apparatus ID as information used for connecting to the relaying apparatus 25
as an embodiment according to the present invention.
However, any information used in the control of connection to the relaying apparatus 30 in the controller 50 is used as the information for connecting to the relaying apparatus without being limited to the relaying apparatus ID.
Terminal Authentication Management Table
The storage unit 6000 further includes a terminal authentication management DB 6002 including a terminal authentication management table as illustrated in FIGS. 9A and 9B. FIG. 9A is a conceptual diagram illustrating a terminal authentication management table managed by the management apparatus 60ab, whereas FIG. 9B is a conceptual diagram illustrating a terminal authentication management table managed by the management apparatus 60cd. The terminal authentication management table manages respective terminal IDs of all terminals 10 connected to the
management system 500 to which the corresponding management apparatus 60 belongs and respective passwords in
association with each other. The terminal authentication management table illustrated in FIG. 9A, for example, indicates that the terminal ID of a terminal lOaa is
"01aa@jpl.oo.com" and that the password is "aaaa. " In the present embodiment, the terminal ID includes domain information (terminal connection information) such as "jpl.oo.com" indicating the controller 50 to which the terminal 10 identified thereby connects. When indicating the terminal ID in the following description, it will be simply denoted as "Olaa" or the like with the domain information such as "jpl.oo.com" omitted, unless
particularly specified. The terminal ID indicated in this example is merely an example of information for use in authentication, and this table is only required to include at least identification for identifying the terminal 10 or 26
the user of the terminal 10 and information for identifying the controller 50 to which the terminal 10 connects and is not limited to this form.
State Management Table
The storage unit 6000 includes a state management DB
6003 including a state management table as illustrated in FIG. 10. FIG. 10 is a conceptual diagram illustrating a state management table. The state management table manages the terminal IDs of the respective terminals 10 managed by the management system 500ab and state information
indicating the states of communication in the terminals 10 in association with each other. The state management table illustrated in Fig. 10, for example, indicates that the state information of the terminal lOaa with the terminal ID "Olaa" is "None".
The state information "None" indicates a standby state before starting communication. The state information
"Inviting" indicates a state in which the terminal 10 is requesting communication with the other terminal. The state information "Invited" indicates a state in which communication is being requested by the other terminal 10. The state information "Ringing" indicates a state in which the terminal 10 is outputting a dial tone. The state information "Calling" indicates a state in which the terminal 10 is outputting a ring tone. The information "Accepted" indicates a state in which a request for communication is permitted. The information "Busy" indicates a state in which the terminal 10 is in
communication with the other" terminal 10.
Destination List Management Table
The storage unit 6000 includes a destination list management DB 6004 including a destination list management table as illustrated in FIGS. 11A and 11B. FIG. 11A is a 27
conceptual diagram illustrating a destination list
management table managed by the management apparatus 60ab, whereas FIG. 118 is a conceptual diagram illustrating a destination list management table managed by the management apparatus 60cd. The destination list management table manages the terminal ID of the terminal 10 connected to the management system 500 to which the corresponding management apparatus 60 belongs and as a requester terminal of the start of communication and all terminal IDs of the
terminals 10 registered as communicable destination
candidates in association with each other. The destination list management table illustrated in FIG. 11A, for example, indicates that destination candidates the terminal lOaa with the terminal ID "Olaa" as the requester terminal can request the start of communication in a teleconference are the terminal lOab with the terminal ID "Olab" and the like. The destination list management table also manages the terminal ID of the terminal 10 connected to the other management system 500 as the terminal ID of the terminal 10 as a destination candidate, This enables, for example, the terminal lOaa connected to the management system 500ab to select the terminal lOdb connected to the management system SOOcd as a destination. The destination candidates are updated by addition or deletion through requests for addition or deletion from any terminal 10 to the management system 500.
Session Management Table
The storage unit 6000 includes a session management DB 6005 including a session management table as illustrated in FIGS. 12A and 12B. FIG. 12A is a conceptual diagram illustrating a session management table managed by the management apparatus 60ad, whereas FIG. 12B is a conceptual diagram illustrating a session management table managed by 28
the management apparatus 60cd. The session management table manages session IDs for identifying the session sed for content data between terminals 10, relaying apparatus IDs for identifying the relaying apparatus 30 for relaying the content data in the session sed for content data, and terminal IDs for identifying the terminals 10 that are performing communication in the session sed for data content in association with each other. The session ID may be identification such as conference ID, communication ID, and call ID identifying events such as a conference, communication, a call corresponding to the session sed for content data. The session management table illustrated in FIG. I2A, for example, indicates that the relaying
apparatus 30a with the relaying apparatus ID "Ilia" is relaying content data between terminals (lOaa, lObd) in the session sed for content data identified by the session ID "se01@jp.oo.com." In the present embodiment, the session ID includes domain information (communication control information) such as "jp.oo.com" indicating the management system 500 that can perform, control along with the start and end of communication with a session sed for content data identified thereby. When indicating the session ID in the following description, it will be simply denoted as "seOl" or the like with the domain information such as "jp.oo.com" omitted, unless particularly specified.
State Change Management Table
The storage unit 6000 includes a state change
management DB 6009 including a state change management table as illustrated in FIGS. 13A and 13B. FIGS. 13A and 13B are conceptual diagrams illustrating the state change management tables. The state change management table illustrated in FIG. 13A manages pieces of management information transmitted from the terminal 10, pieces of 29
pre-change state information indicating pre-change states of the terminal 10, and pieces post-change state
information indicating post-change states of the terminal 10 in association with each other. The management
information "Call" in the state change management table in FIG. 13A indicates that, when the session sed for content data is established between the terminals 10, the other terminal 10 requests to participate in this session. The management information "Join" indicates that the terminal 10 requests to start relaying content data. The management information "Leave" indicates that the terminal 10 requests to end communication.
When not only the state of the terminal 10 as the transmission source, but also the state of the terminal 10 as the transmission destination is changed by performing control based on the management information, the state change management table in FIG. 13B is used. In the state change management table in FIG. 13B, terminal information indicating whether the terminal 10 whose state is changed is the transmission source or the transmission destination of the management information is managed in addition to the pieces of information in FIG. 13A in association with each other. It is indicated, for example, that when the
management system 500 receives the management information "Invite," the state of communication is changed from "None" into "Inviting" for the terminal 10 as the transmission source of the management information, whereas the state of communication is changed from "None" into "Invited" for the terminal 10 as the transmission destination. The
management information "Invite" indicates that the terminal 10 requests the start of communication. The management information "Ring" indicates that the terminal 10 accepts a request to start communica ion and sounds a dial tone. The management information "Accept" indicates that the terminal 10 permits the start of communication. The state
information "Inviting" indicates a state requesting the start of communication, whereas the state information
"Invited" indicates a state in which the start of
communication is being requested.
Functional configurations of Management Apparatus Next, the functional configurations of the management apparatus 60 will be described. In describing the
functional configurations of the management apparatus 60, the following will also describe the relation with
principal components for achieving the functional
configurations of the management apparatus 60 among the components illustrated in FIG. 5.
The transmitter/receiver 61 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data (or information) with other apparatuses or systems via the communication network 2.
The extracting unit 64 is implemented by commands from the CPU 201 illustrated in FIG. 5, searches the respective management tables of the storage unit 6000, and extracts various types of information.
The storage/reading processing unit 69 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 6000 and reading the various data stored in the storage unit 6Q00.
Functional Configuration of Controller
The controller 50 includes a transmitter/receiver 51, an authenticating unit 52, a state management unit 53, an extracting unit 54, a restricting unit 55, a connection destination identifying unit 56, a session management unit 57, an identifying unit 58, and a storage/reading
processing unit 59. These components are functions or means that function implemented by the operation of any of the components illustrated in FIG. 5 by commands from the CPU 201 in accordance with the program for a management system loaded from the HD 204 onto the RAM 203. The
management system 500 includes a nonvolatile storage unit 5000 and a volatile storage unit 5100 including the HD 204 illustrated in FIG. 5..
Terminal Management Table
The nonvolatile storage unit 5000 includes a terminal management DB 5003 including a terminal management table as illustrated in FIGS. 15A and 15B. FIG. 15A is a conceptual diagram illustrating a terminal management table managed by the controller 50a, whereas FIG. 15B is a conceptual
diagram illustrating a terminal management table managed by the controller 50b. The terminal management table manages the terminal IDs of the respective terminals 10,
destination names with the respective terminals 10 as destinations, and the operation states of the respective terminals 10 in association with each other. In the
present embodiment, the operation states include the state of the connection between the terminal 10 and the
controller 50 (online, online (in conference), and offline). "Online" among the operation states is a state in which the terminal 10 and the controller 50 are connected, and
communication with the other terminal 10 is capable.
"Online (in conference)" among the operation states is a state in which the terminal 10 and the controller 50 are connected, and communication with the other terminal 10 is in progress. "Offline" among the operation states is a state in which the terminal 10 and the controller 50 are not connected, and communication with the other terminal 10 32
is incapable. The terminal management table illustrated in FIG. 15A, for example, indicates that the destination name of the terminal lOaa with the terminal ID "Olaa" is "Tokyo Office AA terminal" and the operation state thereof is "offline."
Request Management Table
The nonvolatile storage unit 5000 includes a request management DB 5006 including a request management table as illustrated in FIG. 16. FIG. 16 is a conceptual diagram of a request management table. Upon acceptance of various requests such a3 a start request or management information from the terminal 10, the request management table manages the terminal IDs of at least terminals 10 connected to the corresponding controller 50 among the terminals 10 related to the requests and pieces of request information
indicating the requests in association with each other. The request information (also referred to as management information) "Invite" in FIG. 16 indicates that the
terminal 10 requests the start of communication. The request information "Ring" indicates the sounding of a dial tone. The request information "Accept" indicates that the terminal 10 permits the start of communication. The request information "Call" indicates that, when the session sed for content data is established between the terminals 10, another terminal 10 requests to participate in this session. The request information "Join" indicates that the terminal 10 requests to start relaying content data. The request information "Leave" indicates that the terminal.10 requests to end communication. The request management table in FIG. 16 indicates that a communication start request from the terminal iOab with the terminal ID "Olab" to the terminal lOac with the terminal ID "Olac" is accepted. 33
Functional Configurations of Controller
Next, the functional configurations of the controller 50 will be described in detail. In describing the
functional configurations of the controller 50, the
following will also describe the relation with principal components for achieving the functional configurations of the controller 50 among the components illustrated in FIG. 5.
The t ansmitter/receiver 51 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5 and performs the transmission and reception of various data {or information) with the other terminals, apparatuses, or systems via the communication network 2. This causes the transmitter/receiver 51 to receive start request information from the terminal 10, thereby accepting a request for the start of communication. Relaying apparatus connection information for connecting to the relaying apparatus 30 is transmitted to the terminal 10, thereby performing control along with the start of
communication. The transmitter/receiver 51 transmits participation notification (start information} including the terminal ID and the session ID of the terminal 10 participating in the session sed for content data to the terminal 10 that is performing communication in this
session. The transmitter/receiver 51 receives or transmits post-change state information indicating the post-change state of the terminal 10.
The authenticating unit 52 is implemented by commands from the CPU 201 illustrated in FIG. 5 and performs
terminal authentication by searching the terminal
authentication management table {refer to FIG. 9) of the storage unit 6000 with the terminal ID and the password included in the login request information received via the 34
transmitter/receiver 51 as search keys and determining whether the same terminal ID and password are managed in the terminal authentication management table.
The state management unit 53 is implemented by
commands from the CPU 201. illustrated in FIG. 5, and in order to manage the operation state of the requester
terminal that requested a login, stores and manages the terminal IDs of the requester terminals, pieces of state information indicating the operation states of the
requester terminals, and the IP addresses of the requester terminals in association with each other in the terminal management table (refer to FIGS. ISA and 15B) . A first changing unit 53a of the state management unit 53 changes the state information managed in the terminal management table when the operation state of the terminal 10 is
changed based on control by the corresponding controller 50. A second changing unit 53b of the state management unit 53 changes the state information managed in the terminal management table based on post-change state information transmitted from the other controller 50 when the operation state of the terminal 10 is changed based on control by the other controller 50.
The extracting unit 54 is implemented by commands from the CPU 201 illustrated in FIG. 5 and extracts the terminal ID by searching the destination list management table
(refer to FIG. 11) with the terminal ID of the requester terminal that requested a login as a key and reading the terminal ID of the terminal 10 as a destination candidate. The extracting unit 54 searches a destination management table with the terminal ID of the requester terminal that requested a login as a key and also extracts the terminal ID of the other requester terminal that registers the terminal ID of the above requester terminal as a candidate for the destination terminal.
The extracting unit 54 is implemented by commands from the CPU 201 illustrated in FIG . 5, searches the terminal management table (refer to FIG. 15) with the terminal ID of the candidate for the destination terminal as a search key, and reads the operation states of the I'espective terminal IDs. This enables the extracting unit 54 to extract the operation state of the candidate for the destination
terminal that can communicate with the requester terminal that requested a login. The extracting unit 54 searches the terminal management table with the terminal ID as a search key and also acquires the operation state of the requester terminal that requested a login.
The restricting unit 55 is implemented by commands from the CPU 201 illustrated in FIG. 5 and imposes a
restriction (acquires a lock) so that the terminal 10 connected to the corresponding controller 50 does not start any communication between terminals 10 other than the predetermined communication. To impose a restriction described in this example indicates that the restricting unit 55 performs control to restrict the terminal 10
connected thereto not to start communication.
The connection destination identifying unit 56 is implemented by commands from the CPU 201 illustrated in FIG. 5 and identifies the controller 50 as a connection
destination of the terminal 10 not connected to the
corresponding controller 50.
The session management unit 57 is implemented by commands from the CPU 201 illustrated in FIG. 5, and each time the session sed for content data between the terminals 10 is newly established, generates session ID for
identifying the session sed for content data. The session management unit 57 stores in the session management table (refer to FIGS. 12A and 12B) the terminal ID for
identifying the terminal 10 that performs communication in this session and the relaying apparatus ID of the relaying apparatus 30 used in this session in association with each other.
The identifying unit 58 is implemented by commands from the CPU 201 illustrated in FIG. 5 and identifies the other controller 50 being in operation arranged in the same segment .
The storage/reading processing unit 59 is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the nonvolatile storage unit 5000 or the volatile storage unit 5100 and reading the various data stored in the nonvolatile storage unit 50Q0 or the volatile storage unit 5100.
Functional Configuration of Selecting Apparatus
The selecting apparatus 80 includes a
transmitter/receiver 81, a selecting unit 82, and a
storage/reading processing unit 89. These components are functions or means that function implemented by the
operation of any of the components illustrated in FIG. 5 by commands from the CPU 201 in accordance with the program for a management system loaded from the HD 204 onto the RAM 203, The selecting apparatus 80 includes a storage unit 8000 including the HD 204 illustrated in FIG. 5.
Relaying Apparatus Selection Management Table
The storage unit 8000 includes a relaying apparatus selection management DB 8001 as an example of a
communication control information management unit including a relaying apparatus selection management table as
illustrated in FIG. 14. FIG. 14 is a conceptual diagram illustrating the relaying apparatus selection management table. When selecting a relaying apparatus for use in relaying information transmitted and received between the terminals 10, the relaying apparatus selection management table manages, for all relaying apparatuses 30 as
candidates for selection, relaying apparatus IDs for identifying the relaying apparatuses 30. The relaying apparatus ID managed in the relaying apparatus selection management table includes domain information (communication control information) such as "jp.oo.com" indicating the management system 500 that can perform control along with the start of communication using the relaying apparatus 30 identified thereby. The relaying apparatus selection management table manages priority information indicating priority when selecting the relaying apparatus 30
identified by the relaying apparatus ID for the respective terminal IDs. The relaying apparatus selection management table illustrated in FIG. 14 indicates that when the terminal lOaa identified by the terminal ID "Olaa" starts communication, the priority when selecting the relaying apparatus 30a identified by the relaying apparatus ID
"Ilia" is "3." The priority in the relaying apparatus selection management table is set so that a higher priority gives a higher value based on a bandwidth between the terminal 10 and the relaying apparatus 30 or a delay time when information is transmitted and received between the terminal 10 and the relaying apparatus 30, for example. The priority may be calculated based on time 2ones used by the terminal 10 and the management system 500. In this case, the value of the priority can be set higher as the time zone used by the terminal 10 and the time zone used by the management system 500 become close to each other, for example .
Functional Configurations of Selecting Apparatus Next, the functional configurations of the selecting apparatus 80 will be described in detail. In describing the functional configurations of the selecting apparatus 80, the following will also describe the relation with
principal components for achieving the functional
configurations of the selecting apparatus 80 among the components illustrated in FIG. 5.
The transmitter/receive 81 is an example of a
selection request information accepting unit and an output unit, is implemented by commands from the CPU 201
Illustrated in FIG. 5 and the network I/F 209 illustrated in FIG. 5, and performs the transmission and reception of various data (or information) with the other terminals, apparatuses, or systems via the communication network 2. This causes the transmitter/receiver 81 to receive (accept) selection request information indicating a request to select the relaying apparatus 30 transmitted from the management system 500. The transmitter/receiver 81
transmits (outputs) the relaying apparatus ID identifying the relaying apparatus 30 selected by the selecting
apparatus 80 to the management system 500.
The selecting unit 82 is an example of a relaying apparatus selection unit and a communication control information extracting unit and selects at least one
relaying apparatus 30 out of a plurality of relaying
apparatuses 30 as candidates based on the priority
information managed in the relaying apparatus selection management table (refer to FIG. 14) . The selecting unit 82 selects the relaying apparatus ID managed in the relaying apparatus selection management table, thereby also
extracting the domain information included in the relaying apparatus ID.
The storage/reading processing unit 8S is implemented by commands from the CPU 201 illustrated in FIG. 5 and the HDD 205 illustrated in FIG. 5 and performs storing various data in the storage unit 3000 and reading the various data stored in the storage unit 8000.
Processing and Operation of Embodiment
Next, the processing and operation of the controller 50, the management apparatus 60, and the terminal 10 will be described with reference to FIG. 17. FIG. 17 is a conceptual diagram illustrating the state of the
transmission and reception of various types of information in the communication system 1.
The management system 500ab (an example of a controls system) includes the controller 50a (an example of a first controller) and the controller 50b (an example of a second controller) that perform the control of the session sed for transmitting content data between the terminals 10
according to a request from the terminal 10. The
transmitter/receiver 51 (an example of a request accepting unit) of the controller 50a accepts a request to start communication between the terminals (lOaa, lObd) (an example of between predetermined terminals) . The
restricting unit 55 (an example of a first restricting unit) of the controller 50a imposes a restriction (acquires a lock) so that the terminal lOaa (an example of a first communication terminal) connected to the corresponding controller 50 out of the terminals (lOaa, lObd) does not start any communication between the terminals 10 other than the communication according to the request. The
transmitter/receiver 51 (an example of a first transmitter) of the controller 50a transmits the terminal ID of the terminal lObd connected to the controller 50b out of the terminals (lOaa, lObd) to the controller 50b.
Based on the terminal ID transmitted from the controller 50a, the restricting unit 55 (an example of a second restricting unit) of the controller 50b imposes a restriction so that the terminal 10bd connected to the corresponding controller 50b not to start any communication between the terminals 10 other than th communication performed according to the request. The
transmitter/receiver 51 {an example of a second
transmitter) of the controller 50b transmits, to the
controller 50a, restriction completion information (an example of restriction information) indicating that the above restriction has been imposed on the terminal lObd.
After the restriction on the terminal !Oaa and the restriction on the terminal lObd have been completed, the controller 50a performs processing (an example of
processing related to the start of communication) to
establish the session sed for content data performed
according to the request between the terminals (lOaa, lObd) . With this, the processing related to the start of
communication performed in the management system SOOab is restricted to processing performed according to one request, thereby preventing operation according to two or more different requests from being performed in a duplicate manner .
The management system 500ab may include three or more controllers 50 that control the session for content data between the terminals 10 according to a request from the terminal 10. In this case, the connection destination identifying unit 56 {an example of an identifying unit) of the controller 50a identifies the controller 50 as a
connection destination of the terminal lObd not connected to the corresponding controller 50a out of the terminals (lOaa, lObd) . The transmitter/receiver 51 of the
controller 50a transmits the above terminal ID to the identified controller 50 identified by the connection destination identifying unit 56. This enables, even when three or more controllers 50 are provided, to request a restriction of processing after identifying the connection destination of the terminal 10 not connected to the corresponding controller 50.
In this case, the transmitter/receiver 51 {an example of an identification information transmitter) of the controller 50a transmits search information (a example of identification information) for identifying the controller 50 as a connection destination of the terminal lObd not connected to the corresponding controller 50a out of the terminals (lOaa, lObd) to the respective controllers 50 within the management system 500ab. This transmission enables the connection destination identifying unit 56 to identify the controller 50 as the connection destination based on a response to the search information from any controller 50.
The transmitter/receiver 51 (an example of a domain information accepting unit) of the controller 50a may accept, from each of the terminals (10aa, 10bd), domain information of the controller 50 connected to the terminal 10. This acceptance enables the connection destination identifying unit 56 to identify the controller 50 as the connection destination based on this domain information.
When a new request to start communication between communication terminals 10 including the terminal lOaa or the terminal lObd while the above restrictions on the terminal 1Oaa and the terminal 10bd are imposed, the respective transmitters/receivers 51 of the controller 50a and the controller 50b transmit an error message to the terminal 10 as the requester terminal, thereby rejecting the new request. This can prevent processing according to two or more different requests from being performed in a duplicate manner.
The request management DB 5006 {an example of a
request information management unit) of the controller 50a and the controller 50b manages the terminal ID of the terminal 10, which is connected to the corresponding
controller 50 and is a start requester terminal requesting a start of the communication or a destination of the
request. This management enables the restricting unit 55, when a new request to start communication between the terminals 10 including the terminal 10 identified by the terminal ID managed in the request management DB is
accepted, to reject the new request.
Next, the detail of processing performed in the
communication system 1 according to the present embodiment will be described.
Inter-controller Cooperation
First, inter-node cooperation between the controllers 50 present within the same domain will be described with reference to FIG. 18. FIG. 18 is a sequence diagram
illustrating the inter-node cooperation. As illustrated in FIG. 18, the controller 50a performs searching for the other controlle 50 located in the same segment (Steps Sl-1,
51-2, SI-...). In this case, the transmitter/receiver 51 of the controller 50a transmits, by means of broadcasting, search information for searching to the segment in which the controller 50a is located. The search information includes a controller ID for identifying the controller 50a. The transmitter/receiver 51 of each controller 50 that has received the search information from the controller 50a transmits response information to the controller 50a (Steps
52-1, S2-2, S2-...) . The response information includes each controller ID for identifying each controller 50 that has received the search information. When the
transmitter/receiver 51 of the controller 50a receives the response information from the other controller 50, the identifying unit 58 identifies the other controller 50 being in operation located in the same segment based on the response information (Step S3) .
When the controller 50 being in operation located in the same segment is identified at Step S3, the controller 50a performs the inter-node cooperation with the identified controller (50b, 50...). In an embodiment according to the present invention, the inter-node cooperation means that one controller 50 is regarded as a node, a plurality of controllers 50 have the same domain name, and the
controllers 50 can be operated cooperatively with each other. When the controller 50a and the controller 50b perform the inter-node cooperation, for example, the controller 50a and the controller 50b operate as if they are the same controller 50. In other words, both when the terminal 10 is connected to the controller 50a and when it is connected to the controller 50b, the same processing is performed in the controllers 50a and 50b.
The inter-node cooperation is performed at given time intervals. This enables the controller 50a to perform inter-node release when the controller 50 cooperated with the controller 50a undergoes maintenance or goes down.
This causes the controllers 50 in inter-node cooperation, even when inter-node cooperation or release with any controller 50 constituting the management system 500ab is performed, to operate as if they operate singly,
Also for the controller 50 other than the controller
50a constituting the management system 500ab, the inter- node cooperation with the other controller 50 present in the same domain is performed. This processing is similar to the processing at Steps SI to S3, and the description thereof is omitted.
State Management
The following describes, as an example of the inter- node cooperation, processing to synchronize the operation states of the terminals 10 managed by the respective controllers 50 constituting the management system 500ab between the controllers 50 with reference to FIG. 19 and FIG. 20. FIG. 19 is a sequence diagram illustrating the processing in a preparatory stage for starting
communication between terminals. FIG. 20 is a sequence diagram illustrating processing to synchronize the
operation states of the terminals. In FIG. 19 and FIG. 20, various types of management information are transmitted and received entirely through the session sei for management information illustrated in FIG. 2.
First, when the user of the terminal lOaa turns on the power switch 109 illustrated in FIG. 4, the operation input accepting unit 12 illustrated in FIG. 6 accepts the power- on and turns on the power {Step Sll) . The login requesting unit 13 automatically transmits login request information indicating a login request to the controller 50a via the communication network 2 with the acceptance of the power-on as a trigger (Step S12) . The trigger for transmitting the login request information is not limited to the power-on and may be the acceptance of operation input by the user via the operation input accepting unit 12. The present embodiment continues to describe on the assumption that the terminals (lOaa, 10ab,...) connected to the LAN 2a are connected to the controller 50a, the terminals (lOba, lQbb,...) connected to the LAN 2b are connected tc the controller 50b, the terminals (lOca, 10cb,...5 connected to the LAN 2c are connected to the controller 50c, and the terminals (lOda, 10db,...} connected to the LAN 2d are connected to the controller 50d. The login request information includes a terminal ID for identifying the corresponding terminal lOaa that is the requester terminal or the user of the terminal lOaa and a password. The terminal ID and the password are pieces of data read from the storage unit 1000 via the storage/reading processing unit 19 and transmitted to the transmitter/receiver 11. The terminal ID shown in this example is merely an example of information for use in authentication, and the login request information is only required to include at least identification for identifying the terminal 10 or the user of the terminal 10 and information for identifying the controller 50 to which the terminal 10 is connected, and is not limited to this form.
Next, the authenticating unit 52 of the controller 50a requests authentication that is performed by determining whether the terminal ID and the password included in the login request information received via the
transmitter/receiver 51 is managed in the terminal
authentication management table (refer to FIG. 9} (Step S13) . In this case, the transmitter/receiver 51 of the controller 50a transmits the terminal ID and the password included in the login request information to the management apparatus 60ab and searches the terminal authentication management table, thereby requesting to search for the password corresponding to this terminal ID. The extracting unit 64 of the management apparatus 60ab extracts the password corresponding to the terminal ID included in the login request information in the terminal authentication management table. If the extracted password and the password transmitted from the controller 50a match, the transmitter/receiver 61 cf the management apparatus 60ab transmits an authentication result indicating that the terminal lOaa has a valid authority to the controller 50a. If the extracted password and the password transmitted from the controller 50a do not match, the transmitter/receiver 61 of the management apparatus 60ab transmits an
authentication result indicating that the terminal lOaa do not have a valid authority to the controller 50a, The authenticating unit 52 manages the same terminal ID and password, and when determined to be a login request from the terminal 10 having the valid authority, the first changing unit 53a of the state management unit 53 stores in the terminal management table (refer to FIG. 15A) the terminal ID of the terminal lOaa and the operation state in association with each other (Step S14) . This causes the terminal management table to manage the terminal ID "Olaa" and the state information "Online" in association with each other .
The transmitter/receiver 51 of the controller 50a transmits authentication result information indicating the authentication result obtained by the authenticating unit 52 to the terminal lOaa as the requester terminal that requested the login via the communication network 2 (Step SI5) . The present embodiment continues to describe below the case determined to be a terminal having a valid
authority by the authenticating unit 52.
When the terminal 10 successes a login to the
controller 50a or when the terminal 10 transmits various types of management information to the controller 50a after the login, the state information of the terminal 10 managed in the terminal management table of each controller 50 is changed (refer to Step S14) and the controllers 50 working in the inter-node cooperation synchronize the operation states of the respective terminals 10 with the changed operation state. The following describes a case of
synchroni zing an operation state between the controller 50a. and the controller 50b. When the operation state managed in the terminal management table (refer to FIG. 15A) is changed by the first changing unit 53a based on various types of management information from the terminal 10 (the terminal lOaa in this example) connected to the controller 50a, the storage/reading processing unit 59 stores in the volatile storage unit 5100 the terminal ID "Olaa" of the terminal lOaa and the operation state (Online, for example) indicating the changed state of the terminal lOaa in association with each other as local data for
synchronization {Step S21a) ,
Next, if there is another controller 50 working in the inter-node cooperation (Step S22a) , the
transmitter/receiver 51 of the controller 50a transmits operation state information indicating the changed state information to the controller 50b in the inter-node
cooperation (Step S23a) . The operation state information includes the local data for synchronization stored in the volatile storage unit 5100, that is, the terminal ID "Olaa" and the operation state "Online."
The operation state information transmitted from the controller 50a is received by the transmitter/receiver 51 of the controller 50b. The second changing unit 53b of the state management unit 53 of the controller 50b changes the operation state managed in association with the terminal ID "Olaa" into "Online" based on the operation state
information in the terminal management table (refer to FIG. 15B) (Step S24a) .
In a similar manner to the processing at Step S14 and the like, when the operation state of the terminal 10 managed i the terminal management table of the controller 50b is changed by the first changing unit 53a of the controller 50b, the controller 50b and the other controller 50a working in the inter-node cooperation synchronize the operation states with the changed operation state. This processing is similar to processing at Step S21a to Step S24a, and the description thereof is omitted (Step S21b to Step S24b) .
Communication Start Processing
Next, processing related to the start of communication between the terminal lOaa and the terminal lObd will be described with reference to FIG. 21. FIG. 21 is a sequence diagram illustrating processing related to the start of communication. In FIG. 21, various types of management information are transmitted and received entirely through the session sei for management information illustrated in FIG. 2.
First, the user of the terminal lOaa presses down the operation button 108 illustrated in FIG, 3 to select the terminal lObd as a destination candidate, thereby causing the operation input accepting unit 12 illustrated in FIG. 6 to accept a request to start communication (Step S31). The transmitter/receiver 11 of the terminal lOaa transmits, to the controller 50a, the start request information "Invite" that includes the terminal ID "Olaa" of the terminal lOaa as the requester terminal of the start of communication and the terminal ID "Olbd" of the terminal lObd as a
destination and indicates request to start communication (Step S32) . The transmitter/receiver 51 of the controller 50a receives the start request information, thereby
accepting the request to start communication between the terminal lOaa and the terminal lObd.
Then, the storage/reading processing unit 59 refers to the request management table (refer to FIG. 16), thereby 49
checking whether the terminal ID "Olaa" of the terminal lOaa connected to the corresponding controller 50 out of the terminal IDs included in the start request information is managed in the request management table {Step S33) . If the terminal ID "Olaa" of the terminal lOaa has been
managed in the request management table, a restriction on the terminal lOaa is already imposed 3D as to disable the imposition of a new restriction of processing {the
acquisition of a lock) on the terminal lOaa (No at Step S34) , and the transmitter/receiver 51 transmits error information indicating inability to start communication between the terminals (lOaa, lObd) to the terminal lOaa (Step S35) .
If the terminal ID "Olaa" of the terminal lOaa is not managed in the request management table (Yes at Step S34), the restricting unit 55 stores the terminal ID of the terminal lOaa connected to the corresponding controller 50a, the terminal ID "Glaa" of the terminal lOaa as a start requester terminal, the terminal ID "Olbd" of the terminal lObd as a destination of a start request, and the request information "invite" indicating the start request in
association with each other in the request management table, thereby imposing a restriction {acquiring a lock) so that no new processing targeted for the terminal lOaa is
performed (Step S36) .
Then, the transmitter/receiver 51 of the controller 50a transmits restriction request information that includes the terminal IDs of the terminal lOaa as the start
requester terminal and the terminal lObd as the destination of the start request and the request information indicating the start request and indicates a request for a restriction of processing to the controller 50b as the connection destination of the terminal lObd based on the domain in orma ion "jp2.oo.com" included in the terminal ID of the terminal lObd as the destination {Step S37) .
As another embodiment according to the present
invention, the controller 50 as the connection destination of the terminal lObd may be identified without depending on the domain information included in the terminal ID. In this case, the transmitter/receiver 51 of the controller 50a transmits search information that includes the
controller ID of the corresponding controller 50a and the terminal ID of the terminal lObd not connected to the controller 50a to search for the connection destination, of the terminal lObd to the devices within the same domain as the corresponding controller 50a by means of broadcasting though similar processing to the prosessing at Steps Sl-1, Sl-2, and S1-... in FIG. 18 (Steps S37-1-1, S37-1-2, S37-1-..., refer to FIG. 18) . Then, the transmitters/receivers 51 of the respective controllers 50 within the same domain transmit response information indicating whether the corresponding controller 50 is the connection destination of the terminal lObd or not, to the controller 50a by similar processing to the processing at Steps S2-1, S2-2, S2-... (Steps S37-2-1, S37-2-2, S37-2-..., refer to FIG. 18). The connection destination identifying unit 56 identifies the controller 50 as the connection destination of the terminal lObd based on the pieces of response information transmitted from the respective controllers 50.
The restriction request information transmitted from the controller 50a is accepted by the transmitter/receiver 51 of the controller 50b. Upon acceptance of the
restriction request information, the storage/reading processing unit 59 of the controller 50b refers to the request management table (refer to FIG. 16), thereby checking whether the terminal ID "Olbd" of the terminal lObd connected to the corresponding controller 50b is managed in the request management table (Step S38). If the terminal ID "Olbd" of the terminal lObd is managed in the request management table, a restriction on the terminal lObd is already imposed to disable the imposition of a new restriction of processing (the acquisition of a lock) (No at Step S39) , and the transmitter/receiver 51 of the
controller 50b transmits error information indicating a failure in restriction · to the controller 50a (Step S40-1) . Upon acceptance of the error information by the controller 50a, the transmitter/receiver 51 of the controller 50a transmits error information indicating inability to start the communication between the terminals (lOaa, lObd) to the terminal lOaa (Step S40-2) .
If the terminal ID "Olbd" of the terminal lObd is not managed in the request management table (Yes at Step S39) , the restricting unit 55 stores the terminal ID of the terminal lObd connected to the corresponding controller 50b, the terminal ID of the terminal lOaa as the start requester terminal, and the request information "invite" indicating a start request in association with each other in the request management table, thereby imposing a restriction (acquiring a lock) so that no new processing targeted for the terminal lObd is performed (Step S41).
The transmitter/receiver 51 of the controller 50b transmits the restriction completion information indicating that the restriction of processing on the terminal lObd has been completed to the controller 50a (Step S42) . Upon reception of the restriction completion information, the controller 50a performs control (refer to Steps S50 to S54- 2 described below) related to the start of the
communication between the terminals (10-aa, lObd) based on a request from the terminal lOaa. When the transmitter/receiver 51 of the controller 50a accepts a request to start communication with the terminal lOaa from another terminal 10 (the terminal lOab, for example) while the terminal ID of the terminal lOaa is managed in the request management table, the request is rejected through similar processing to the processing at above Steps S3.2 to S35 (Steps S32-2 to S35-2) .
When the transmitter/receiver 51 of the controller 50b accepts a request to start communication with another terminal 10 (the terminal lOac, for example}
from the terminal lObd while the terminal ID of the
terminal lObd is managed in the request management table, the request is rejected through similar processing to the processing at above Steps S32 to S35 {Steps S32-3 to S35-3) .
When the transmitter/receiver 51 of another controller
50 (a controller 50b2, for example) accepts a request to start communication with the terminal lObd from the
terminal 10 (a terminal lObg, for example) while the
terminal ID of the terminal lOaa is managed in the request management table, the request is rejected through similar processing to the processing at above Steps S32 to S40-2 (Steps S32-4 to S40-2-4).
When the control (refer to Steps S50 to S54-2
described hereinafter) related to the start of the
communication between the terminals (lOaa, lObd) has been completed, the restricting unit 55 of the controller 50a deletes, from the request management table, the terminal ID of the terminal lOaa connected to the corresponding
controller 50a, the terminal ID "Olbd" of the terminal lObd as the destination of the start request associated
therewith, and the request information "invite" indicating a start request, thereby releasing the restriction
(releasing the lock) on the terminal lOaa (Step S43) . Then, the transmitter/receiver 51 of the controller 50a transmits release request information that includes the terminal IDs of the terminals (lOaa, lObd) as the start requester terminal and the destination of the start request and the request information indicating the start request and indicates the release of the restriction of processing to the controller 50b as the connection destination of the terminal lObd {Step S44) .
The restricting unit 55 of the controller 50b deletes, from the request management table, the terminal ID of the terminal lObd connected to the controller 50b, the terminal ID "Olaa" of the terminal lOaa as the start requester terminal associated therewith, and the request information "invite" indicating a start request, thereby releasing the restriction (releasing the lock) on the terminal lObd (Step S45) . The transmitter/receiver 51 of the controller 50b transmits release completion information indicating that the restriction of processing on to the terminal lObd has been released (Step S46) .
Next, processing related to the start of the
communication between the terminal lOaa and the terminal lObd will be described. When the controller 50a receives the restriction completion information from the controller 50b (refer to Step S42), the transmitter/receiver 51 transmits, to the selecting apparatus 80, selection request information that includes the terminal ID "Olaa" of the terminal lOaa and the terminal ID "Olbd" of the terminal lObd and indicates a request to select the relaying
apparatus 30 for use in relaying the content data
transmitted and received between the terminal lOaa and the terminal lObd (Step S50) .
The transmitter/receiver 81 of the selecting apparatus 80 receives the selection request information, thereby accepting the request to select the relaying apparatus 30. The selecting unit 82 then selects at least one relaying apparatus 30 for use in relaying the content data
transmitted and received between the terminal lOa'a and the terminal lObd out of the relaying apparatuses 30 managed in the relaying apparatus selection management table {refer to FIG. 14).
In this case, the selecting unit 82 extracts, for each of the relaying apparatus IDs managed in the relaying apparatus selection management table, priority associated with the terminal ID "Olaa" of the terminal lOaa as the requester terminal and priority associated with the
terminal ID "Olbd" of the terminal lObd as the destination (refer to FIG. 14). The selecting unit 82 then calculates, for each of the relaying apparatus IDs, the sum of the extracted priorities and selects the relaying apparatus ID whose calculated sum of the priorities is the largest. In the present embodiment, the sum of the priorities
corresponding to the relaying apparatus ID "111a" is "5," which is the largest. The selecting unit 82 selects the relaying apparatus ID managed in the relaying apparatus selection management table, thereby also extracting the domain information included in the relaying apparatus ID.
Upon completion of the selection of the relaying apparatus 30, the transmitter/receiver 81 of the selecting apparatus 80 transmits, to the controller 50a, selection result information that includes the relaying apparatus ID identifying the selected relaying apparatus, the terminal ID "Olaa" of the terminal lOaa, and the terminal ID "Olbd" of the terminal lObd and indicates the result of the selection, and outputs it.
Next, control related to the start of communication will be described with reference to FIG. 22. FIG. 22 is a sequence diagram illustrating processing to request the start of communication. In FIG. 22, various types of management information are transmitted and received
entirely through the session sei for management information illustrated in FIG. 2.
First, the state management unit 53 changes the state information of the terminal 10 related to a start request among the terminals 10 managed in the state management table {refer to FIG . 10} based on the start request
information "Invite" transmitted from the terminal lOaa at Step S32 {Step S51) . The processing at Step S51 will be described in detail with reference to FIG. 23 and FIG. 24. FIG. 23 is a state transition diagram illustrating
transitions between states of a terminal. FIG. 24 is a flow diagram illustrating processing to change the state of a terminal .
In the present embodiment, the state management unit 53 changes the state of the terminal 10 in accordance with the rules about changes of the state illustrated by the state transition diagram in FIG. 23. When receiving the start request information "Invite" from the terminal 10, for example, the state information "None" of the terminal 10 is changed into the state information "Inviting" or the state information "Invited." Also when management
information "Ring", "Accept", "Join", and "Leave" other than "Invite" is transmitted from the terminal 10, the state management unit 53 changes the state of the terminal 10 in accordance with the rules about changes illustrated by the state transition diagram in FIG. 23. The detailed description thereof is omitted. Although the present- embodiment will describe an example using the state change management table (refer to FIGS. 13A and 13B) in order to achieve changes of the state by the state management unit 53, it is not limited to the method using the state change management table so long as a communication state can be changed in accordance with the rules illustrated in FIG. 23 First, the state management unit 53 acquires, from the state management table, the state information "None" of the terminal lOaa as the transmission source of the start request information and the state information of the terminal lObd as the transmission destination (refer to FIG 10 (Step S51-1) · In this case, the state management unit 53 of the controller 50a transmits the terminal ID of the terminal lOaa as the start requester terminal and the terminal ID of the terminal lObd as the transmission destination of the start request information to the
management apparatus 60ab via the transmitter/receiver 51, thereby requesting to extract corresponding pieces of state information. The extracting unit 64 of the management apparatus 60ab extracts, from the state management table, the pieces of state information corresponding to the respective terminal IDs. The extracted pieces of state information are transmitted to the controller 50a via the transmitter/receiver 61.
Next, the state management unit 53 acquires the pre- change state information "None" of the terminal 10 as the transmission source and the transmission destination corresponding to the start request informatio "Invite" as management information from the state change management table (refer to FIG. 13B) (Step S51-2). In this case, the state management unit 53 of the controller 50a transmits the start request information "Invite" to the management apparatus 60ab via the transmitter/receiver 51 and searches the state change management table, thereby requesting to search for the pre-change state information corresponding to this start request information. The extracting unit 64 of the management apparatus 60ab extracts the pre-change state information corresponding to the start request information in the state change management table. The extracted pre-change state information is transmitted to the controller 50a via the transmitter/receiver 61. Next, the state management unit 53, for the terminal lOaa as the transmission source and the terminal lObd as the
transmission destination separately, compares the state information acquired from the terminal management table and the pre-change state information acquired from the state change management table {refer to FIGS. 13A and 13B) and determines whether these are the same (Step S51-3) .
If it is determined that these pieces of information are the same (Yes at Step S51-3) , the state management unit 53 acquires the post-change state information "Inviting" of the transmission source and the post-change state
information "Invited" of the transmission destination of the start request information "Invite" from the state change management table (Step S51-4). In this case, the state management unit 53 of the controller 50a transmits the start request information "Invite" to the management apparatus 60ab via the transmitter/receiver 51 and searches the state change management table, thereby requesting to search for the post-change state information corresponding to this start request information. The extracting unit 64 of the management apparatus 60ab extracts the post-change state information corresponding to the start request information in the state change management table. The extracted post-change state information is transmitted to the controller 50a via the transmitter/receiver 61.
Next, the first changing unit 53a. of the state
management unit 53 changes the state information associated with the terminal ID "Olaa" of the terminal lOaa as the transmission source into "Inviting" based on the acquired post-change state information in the state management table (refer to FIG. 10) (Step S51-5) . Similarly, the first changing unit 53a of the state management unit 53 changes, in the state management table, the state information associated with the terminal ID "Olbd" of the terminal lObd as the transmission destination into "Invited" based on the acquired post-change state information. In this case, the state management unit 53 of the controller 50a transmits, to the management apparatus 60ab via the
transmitter/receiver 51, the terminal IDs of the terminals (lOaa, lObd) as the start requester terminal and the transmission destination of the start request information and the pieces of post-change state information of the respective terminals, thereby requesting to manage the pieces of state information. The storage/reading
processing unit 69 of the management apparatus 60ab changes the pieces of state information corresponding to the respective terminal IDs based on the received pieces of state information, thereby updating the state management table.
After the pieces of state information of the
respective terminals {lOaa, lObd) are changed by the first changing unit 53a of the controller 50a, the first changing unit 53a changes the operation states of the respective terminals (lOaa, lObd) managed in the terminal management table from "Online" into "Online (in conference)". The post-change operation states are synchronized between the controller 50a and the controller 50b based on the
processing at Step S21a to Step S24a.
If it is determined that the pieces of information are not the same at Step S51-3, it is considered that any terminal 10 is not in a state that can start communication, and the state management unit 53 does not perforin the processing to change the states of the respective terminals 10. In this case, the transmitter/receiver 51 transmits an error message to the terminal lOaa (Step S51-6) and
completes the processing.
Upon completion of the processing to change the state information of the terminal 10, the session management unit 57 generates the session ID "se018 p.oo.com" for
identifying the session sed for content data for performing communication between the terminal lOaa and the terminal lObd (Step S52) . The session management unit 57 records the generated session ID, the relaying apparatus ID "Ilia" of the selected relaying apparatus 30a, and the terminal IDs "Olaa" and "Olbd" of the respective terminals (lOaa, lObd) that start communication in association with each other in the session management table (refer to FIGS. 12A and 12B} . In this case, the session management unit 57 of the controller 50a transmits the above session ID, relaying apparatus ID, and terminal IDs to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to record these pieces of information in the session
management table. The storage/reading processing unit 69 of the management apparatus 60ab records the generated session ID, the relaying apparatus ID "111a" of the selected relaying apparatus 30a, and the terminal IDs
"Olaa" and "Olbd" of the respective terminals (lOaa, lObd) that start communication in association with each other in the session management table.
The session management unit 57 searches the relaying apparatus management table (FIGS. 8A and 8B) with the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the
corresponding password "xxxx" {Step S53) , In this case, the session management unit 57 of the controller 50a transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to provide notification of the corresponding password. The extracting unit 64 of the management apparatus 60ab extracts the password
corresponding to the relaying apparatus ID from the
relaying apparatus management table. The extracted
password is transmitted to the controller 50a via the transmitter/receiver 61.
Next, the transmitter/receiver 51 of the controller 50a transmits the start request information "Invite" transmitted from the terminal iOaa at Step S32 and the session ID "seOl" to the terminal lObd via the controller 50b (Steps S54-1, S54-2). The terminal ID of the terminal lObd as the transmission destination of the start request information includes the domain information "jp2.oo.com," and the transmitter/receiver 51 can transmit the start request information via the controller 50b based on this domain information. The start request information includes the terminal ID "Olaa" of the terminal IOaa as the
transmission source of the start request information and the terminal ID "Olbd" of the terminal lObd as the
transmission destination. Along with this, the
transmitter/receiver 51 of the controller 50a transmits the relaying apparatus connection information for connecting to the selected relaying apparatus 3.0a to the terminal lObd via the controller 50b. The relaying apparatus connection information includes the relaying apparatus ID "Ilia" of the relaying apparatus 30a and the password "xxxx" for connecting to the relaying apparatus 30a.
The transmitter/receiver 11 of the terminal lObd receives the start request information, thereby accepting the request to start communication from the terminal lOaa. Upon receiving the start request information, the
transmitter/receiver 11 of the terminal lObd transmits call information "Ring" that indicates acceptance of the request to start communication and is for sounding a dial tone at the terminal lOaa to the controller 50b (Step S55-1) . The call information includes the terminal ID "Olbd" of the terminal lObd as the transmission source of the call information, the terminal ID "Olaa" of the terminal lOaa as the transmission destination, and the session ID
"se01@jp.oo, corn. "
The call information transmitted at Step S55-1 is received by the transmitter/receiver 51 of the controller 50b. This causes the transmitte /receiver 51 of the controller 50b to accept a request to sound a dial tone at the terminal lOaa.
The first changing unit 53a of the state management unit 53 of the controller' 50b changes the state information of the terminal lOaa managed in the state management table {refer to FIG. 10) into "Calling" and changes the state information of the terminal lObd into "Ringing" based on the call information "Ring" transmitted from the terminal lObd (Step S55-2) . Processing to change the pieces of state information of the terminals (lOaa, lObd) is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
In a similar manner to Step S53, the session
management unit 57 searches the relaying apparatus
management table (FIGS, 8A and SB) with the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the corresponding password "xxxx" (Step S55-3) .
The transmitter/receiver 51 of the controller 50b transmits the call information "Ring" transmitted from the terminal lObd at Step S55-1 via the controller 50a to the terminal lOaa (Steps 555-4, S55-5) . The terminal ID of the terminal lOaa as the transmission destination of the start request information, includes the domain information
"jpl.oo.com," and the transmitter/receiver 51 can transmit the call information via the controller 50a based on this domain information. This call information includes the terminal ID "Olbd" of the terminal lObd as the transmission source of the call information, the terminal ID "Olaa" of the terminal lOaa as the transmission destination, and the session ID. Along with this, the transmitter/receiver 51 of the controller 50b transmits the relaying apparatus connection information for connecting to the relaying apparatus 30a to the terminal lOaa. The relaying apparatus connection information includes the relaying apparatus ID "Ilia" of the relaying apparatus 30a and the password
"xxxx" for connecting to the relaying apparatus 30a.
The transmitter/receiver 11 of the terminal lOaa receives the above call information, thereby accepting a request to sound a ring tone at the terminal lOaa. This enables the voice output unit 15b of the terminal lOaa to sound a dial tone from the speaker 115.
In the terminal lObd, the voice output unit 15b sounds a ring tone from the speaker 115. This enables the user of the terminal lObd to know the request to start
communication from the terminal lOaa. At the same time, the operation button 108 of the terminal lObd accepts permission to start communication with the terminal lOaa (Step S56} . Upon acceptance of the permission to start communication, start permission information "Accept" indicating permission to start communication is transmitted to the controller 50b (Step S57-1) . This start permission information includes the terminal ID "Olbd" of the terminal lObd as the transmission source of the start permission information, the terminal ID "Oiaa" of the terminal lOaa as the transmission destination, and the session ID
"se01§jp. co. com. " This causes the transmitter/receiver 51 of the controller 50b to accept a response to the
permission to start by the terminal lObd.
Then, the first changing unit 53a of the state
management unit 53 of the controller 50b changes the state information of the terminal lOaa and the state information of the terminal lObd managed in the state management table (refer to FIG. 10} into "Accepted" based on the start permission information "Accept" transmitted from the terminal lObd (Step S58) . Processing to change the pieces of state information of the terminals 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
The controller 50b then transmits the start permission information "Accept" transmitted from the terminal lObd at Step S57-1 to the terminal lOaa via the controller 50a (Steps S59-1, S59-2) . The terminal ID of the terminal lOaa as the transmission destination of the start permission information includes the domain information "jpl.oo.com," and the transmitter/receiver 51 can transmit the start permission information via the controller 50a based on this domain information. This start permission information includes the terminal ID "Qlbd" of the terminal lObd as the transmission source of the start permission information, the terminal ID "Olaa" of the terminal lOaa as the
transmission destination, and the session ID.
The following describes processing to start the session sed for content data between the terminals (lOaa, lObd) after the request to start communication is permitted with reference to FIG. 25. FIG. 25 is a sequence diagram illustrating processing to start communication between the terminals 10. In the communication between the terminal 10 and the controller 50 in FIG. 25, various types of
management information are transmitted and received through the session sei for management information illustrated in FIG. 2.
First, the terminal lOaa connects to the relaying apparatus 30a based on the relaying apparatus connection information received at Step S55-5 (Step S61-1). The transmitter/receiver 11 of the terminal lOaa then transmits relay request information "Join" indicating a request to start relaying to the controller 50a (Step S62-1) . This relay request information includes the terminal ID "Olaa" of the terminal lOaa and the session ID "se01@jp.oo.com." This causes the transmitter/receiver 51 of the controller 50a to accept the request to start relaying by the terminal lOaa.
Then, the first changing unit 53a of the state
management unit 53 of the controller 50a changes the state information of the terminal lOaa managed in the state management table (FIG. 10} into "Busy" based on the relay request information "Join" transmitted from the terminal lOaa (Step S63-1) . Processing to change the state
information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
The transmitter/receiver 51 of the controller 50a transmits the relay request information including the terminal ID "Olaa" of the terminal lOaa and the session ID "seOl" to the relaying apparatus 30a (Step S64-1) . Upon acceptance of this relay request information, the
transmitter/receiver 31 of the relaying apparatus 30a transmits relay permission information that includes the terminal ID "Olaa" of the terminal lOaa arid the session ID "seOl" and indicates permission to start relaying to the controller 50a (Step S65-1) . The transmitter/receiver 51 of the controller 50a transmits the received relay
permission information to the terminal lOaa Step S66-1} . This establishes the session sed for content data between the terminal lOaa and the relaying apparatus 30a.
The terminal lObd connects to the relaying apparatus 30a based on the relaying apparatus connection information received at Step S56 (Step S61-2) . The
transmitter/receiver 11 of the terminal lObd then transmits the relay request information "Join" indicating a request to start relaying to the controller 50b (Step S62-2) . This relay request information includes the terminal ID "Olbd" of the terminal lObd and the session ID "se0I@jp.oo.com." This causes the transmitter/receiver 51 of the controller 50b to accept the request to start relaying by the terminal lObd.
The first changing unit 53a of the state management unit 53 of the controller 50b changes the state information of the terminal lObd managed in the state management table (refer to FIG. 10) into "Busy" based on the relay request information "Join" transmitted from the terminal lObd (Step S63-2) . Processing to change the state information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
The transmitter/receiver 51 of the controller 50b then transmits the relay request information including the terminal ID "Olbd" of the terminal lObd and the session ID "seOl" to the relaying apparatus 30a (Step S64-2) . Upon acceptance of this relay request information, the relaying apparatus 30a transmits relay permission information that includes the terminal ID "Olbd" of the terminal lObd and the session ID "seOl" and indicates permission to start relaying to the controller 50b (Step S65-2) . The
transmitter/receiver 51 of the controller 50b transmits the received relay permission information to the terminal lObd (Step S66-2). This establishes the session sed for content data between the terminal lObd and the relaying apparatus 30a. Upon establishment of the respective sessions sed for content data, the relaying apparatus 30a relays the content data including image data and voice data transmitted from one of the terminals (lOaa, lObd) to the other, thereby starting a teleconference.
Participation
The following describes processing to start
commu ication among three terminals 10 through the
participation of the terminal lObb in the session sed for content data after the session sed for content data has been established between the terminal lOaa and the terminal lObd with reference to FIG. 26. FIG. 26 is a sequence diagram illustrating processing to start communication among the three terminals. In the communication between the terminal 10 and the controller 50 in FIG. 26, various types of management information are transmitted and
received through the session sei for management information.
First, the user of the terminal lOaa that is
performing communication with the terminal lObd presses down the operation button 108 illustrated in FIG. 3,
thereby causing the operation input accepting unit 12 to accept a request to invite the terminal lObb to the session in communication (Step S71)< Next, the
transmitter/receiver 11 of the terminal lOaa transmits session invitation information that includes the terminal ID "O.laa" of the terminal lOaa, the terminal ID "Olbb" of 67
the terminal lObb, and the session ID "seOl" and indicates invitation to the session in communication to the
controller 50a (Step S72) . The session ID may foe
identification such as conference ID, communication ID, and call ID identifying events such as a conference,
communication, a call corresponding to the session sed for content data. The transmitter/receiver 51 of the
controller 50a transmits the received session invitation information to the terminal lObb via the controller 50b (Steps S73-1, S73-2). The terminal ID of the terminal lObb as the transmission destination of the session invitation information includes the domain information "jp2.oo.com," and the transmitter/receiver 51 can transmit the session invitation information via the controller 50b based on this domain information.
In response to this invitation, the
transmitter/receiver 11 of the terminal lObb transmits participation request information "Call" indicating a request to participate in this session to the controller 50b (Step S74}. This participation request information includes the terminal ID "Olbb" of the terminal lObb that requests to participate in this session and the session ID "se01@jp. oo. com. " This causes the transmitter/receiver 51 of the controller 50b to accept the request to participate in the session sed for content data from the terminal lObb.
The first changing unit 53a of the state management unit 53 of the controller 50b then changes the state information of the terminal lObb managed in the state management table (refer to FIG. 10) into "Accepted" based on the par icipation request information "Call" transmitted from the terminal lObb (Step S75) . Processing to change the state information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
After the state information of the terminal lObb is changed by the first changing unit 53a of the controller 50a, the first changing unit 53a changes the operation state of each terminal lObb managed in the terminal
management table from "Online" into "Online (in
conference}." The changed operation state is synchronized between the controller 50a and the controller 50b based on the processing at Step S21b to Step S24b.
The session management unit 57 of the controller 50b adds the terminal ID "Olbb" of the terminal lObb that requests participation in a destination terminal field of a record including the session ID "seOl" in the session management table (refer to FIGS. 12A and 12B) (Step S76) . In this case, the session management unit 57 of the
controller 50b transmits the above session ID and terminal ID to the management apparatus 60ab via the
transmitter/receiver 51, thereby requesting to record these pieces of information in the session management table. The storage/reading processing unit 69 of the management apparatus 60ab records the terminal ID "Olbb" in the session management table in association with the
destination terminal field of the record including the session ID "seOl".
The transmitter/receiver 51 of the controller 50b transmits participation notification including the terminal ID "Olbb" of the terminal lObb participating in the session sed for content data and the session ID "seOl" to the terminal lOaa and the terminal lObd that are performing communication in this session (Steps S77-1, S77-2-1, 377-2- 2} . This enables the terminal lOaa and the terminal lObd to grasp the participation of the terminal lObb in the session sed for content data. The session management unit 57 searches the relaying apparatus management table (FIGS. 8A. and 8B} with the relaying apparatus ID "ilia" of the selected relaying apparatus 30a as a key, thereby extracting the
corresponding password "xxxx" {Step S78). In this case, the session management unit 57 of the controller 50b transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby requesting to provide notification of the corresponding password for connecting to the relaying apparatus 30a. The extracting unit 64 of the management apparatus 60ab extracts the password corresponding to the relaying apparatus ID from the relaying apparatus
management table. The extracted password is transmitted to the controller 50b by the transmitter/receiver 61.
The transmitter/receiver 51 of the controller 50b transmits the relaying apparatus connection information for connecting to the relaying apparatus 30a that relays the content data in this session to the terminal lObb. The relaying apparatus connection information includes the relaying apparatus ID "111a" of the relaying apparatus 30a and the password "xxxx" for connecting to the relaying apparatus 30a managed in the relaying apparatus management table (refer to FIG. 8A) (Step S79) .
Then, by performing the processing similar to Steps
S61-2 to S66-2, the session sed for content data between the terminal lObb and the relaying apparatus 30a is
established (Steps S80 to S85) . Upon establishment of this session, the relaying apparatus 30a can relay the content data among the terminals (lOaa, lObb, lObd) . This enables the terminals (lOaa, lObb, lObd) to start a teleconference.
End
The following describes processing in which, after the session sed for content data has been established among the terminals (lOaa, lObb, lObd) , the terminal lObd leaves the session sed for content data to end communication with reference to FIG. 27. FIG. 27 is sequence diagram
illustrating processing to end communication. FIG. 27 illustrates processing to transmit and receive various types of management information through the session sei for management information.
First, the user of the terminal lObd presses down the operation button 108 illustrated in FIG. 4, thereby
accepting a request to end communication (Step S91) . The transmitter/receiver 11 of the terminal lObd transmits end request information "Leave" including the terminal ID
"Olbd" of the terminal lObd and the session ID
"se01Sjp.oo.com" identifying the session sed for content data used in this communication to the controller 50b via the controller 50b (Step S92) . This causes the
transmitter/receiver 51 of the controller 50b to accept the request to end communication from the terminal lObd.
The first changing unit 53a of the state management unit 53 of the controller 50b changes the state information of the terminal lObd managed in the state management table {refer to FIG. 10) into "None" based on the participation request information "Leave" transmitted from the terminal lObd (Step S93) . Processing to change the state
information of the terminal 10 is similar to the processing at Steps S51-1 to S51-6, and the detailed description thereof is omitted.
After the state information of the terminal lObd is changed by the first changing unit 53a of the controller 50b, the first changing unit 53a changes the operation state of the terminal lObd managed in the terminal
management table from "Online (in conference)" into "Online." The changed operation state is synchronized between the controller 50b and the controller 50a based on the processing at Step S21b to Step S24b.
The session management unit 57 deletes the terminal ID "Olbd" of the terminal lObd from the terminal ID field of the record including the session ID "seOl" in the session management table (refer to FIGS. 12A and 12B) (Step S94) . In this case, the session management unit 57 of the
controller 50b transmits the above session ID and terminal ID to the management apparatus 60ab via the
transmitter/receiver 51, thereby requesting to delete the terminal ID managed in the session management table. The storage/reading processing unit 69 of the management apparatus 60ab deletes the terminal ID "Olbd" from the destination terminal field of the record including the session ID "seOl" in the session management table.
The session management unit 57 searches the relaying apparatus management table (FIGS. 8A and 8B) with the relaying apparatus ID "111a" of the selected relaying apparatus 30a as a key, thereby extracting the
corresponding password "xxxx" (Step S95) . In this case, the session management unit 57 of the controller 50b transmits the above session ID and relaying apparatus ID to the management apparatus 60ab via the transmitter/receiver 51, thereby providing notification of the corresponding password. The extracting unit 64 of the management
apparatus 60ab extracts the password corresponding to the relaying apparatus ID from the relaying apparatus
management table, and the transmitter/receiver 61 transmits the extracted password to the controller 50b.
The transmitter/receiver 51 transmits relay end information to end relaying including the terminal ID
"Olbd" of the terminal lObd and the session ID "seOl" to the relaying apparatus 30a (Step S96) . The relaying apparatus 30a then transmits relay end permission
information that includes the terminal ID "Olbd" and the session ID "seOl" and permits to end relaying to the controller 50b (Step S97) . This causes the relaying apparatus 30a to stop the relay of the content data
transmitted from the terminal lObd to the. terminals (10aa, lObb) and the relay of the content data transmitted from the terminals (lOaa, lObb) to the terminal lObd (Step S96} . This causes the terminal lObd to end the communication with the terminals (lOaa, lObd) and to leave the session sed for content data.
Supplemental
The controller 50 the management apparatus 60, the selecting apparatus 80, and the program providing system 90 of the above embodiment may be constructed by a single computer and may be constructed by a plurality of computers to which divided components (functions or means) are arbitrarily assigned. When the program providing system 90 is constructed by a single computer, the program to be transmitted by the program providing system 90 may be transmitted after being divided into a plurality of modules and may be transmitted without being divided. When the program providing system. 90 is constructed by a plurality of computers, a plurality of modules may be transmitted from the respective computers in a divided manner.
Recording media storing therein the program for management apparatuses, the program for controllers, the program for a selecting apparatus, the program for
terminals, and the program for relaying apparatuses, the HQ 204 storing therein these programs, and the program
providing system SO including the HD 204 according to the above embodiment are all used when they are provided tc domestic or overseas users or the like of the above program for terminals, program for relaying apparatuses, and program for communication management as program products.
Although the above embodiment is an example in which when receiving the start request information "Invite" from the terminal 10, the controller 50 imposes a restriction of the processing on the terminal 10, the present invention is not limited to this embodiment. The controller 50 may impose a restriction of the processing on the terminal 10 in a similar manner to the processing at Steps 32 tc 42 when receiving various types of management information "Ring, Accepted." The controller 50 may impose a
restriction of the processing on the terminal 10 in a similar manner to the processing at Steps 32 to 36 when receiving various request information "Call, Join, Leave."
The above embodiment may manage the fully qualified domain names (FQDN) of the respective pieces of domain information. In this case, IP addresses corresponding to the FQDKs are acquired by a known domain name system (DNS) server. The ID such as the terminal ID and the relaying apparatus ID may be denoted as, for example, "relaying apparatus connection destination information indicating the connection destination to the relaying apparatus 30 on the communication network 2," "relaying apparatus destination information indicating the destination to the relaying apparatus 30 on the communication network 2," "terminal connection destination information indicating the
connection destination to the terminal 10 on the
communication network 2," or "terminal destination
information indicating the destination to the terminal 10 on the communication network 2."
In the present embodiment, the "teleconference" is used as a term replaceable with a "videoconference. " Although the above embodiment describes the teleconference system as an example of the communication system 1, it is not limiting and may be a telephone system such as Internet Protocol (IP) telephone and Internet telephone. The
communication system 1 may be a car navigation system. In this case, for example, one terminal 10 corresponds to a car navigation apparatus installed in a car, whereas
another terminal 10 corresponds to a management terminal or a management server of a management center managing the car navigation or a car navigation apparatus installed in another car. The communication system 1 may also be a voice conference system or a personal computer (PC) screen sharing system.
The communication system 1 may be a communication system of mobile phones. In this case, the terminal
corresponds to a mobile phone, for example. A display example of a destination list for this case is illustrated in FIG. 28. FIG. 23 is a conceptual diagram illustrating a destination list of another embodiment. Specifically, a terminal 310 as a mobile phone includes a main body 310-1 of the mobile phone, a menu screen display button 310-2 arranged on the main body 310-1, a display unit 310-3 arranged on the main body 310-1, a microphone 310-4
arranged on the lower part of the main body 310-1, and a speaker 310-5 arranged on the main body 310-1. Among these, the "menu screen display button" 310-2 is a button for displaying a menu screen displaying icons indicating
various applications. The display unit 310-3 is formed as a touch panel and can perform communication with another mobile phone through the selection of a destination name by a user.
Although the above embodiment describes a case of performing a teleconference by the communication system 1, it is not limiting and may be used in meetings, general conversations such as ones between members of a family or friends, or unidirectional information provision.
As described above, according to the present invention, each controller performs control to restrict each
predetermined communication terminal connected thereto not to start any communication other than the communication to be performed according to the request. After the above control to restrict the communication terminals has been performed, the controller performs processing related to the start of communication between the predetermined
communication terminals. With this, the processing related to the start of communication performed in the control system is restricted to processing performed according to one request, which produces the effect of preventing
processing according to two or more different requests from being performed in a duplicate manner.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth. REFERENCE SIGNS LIST
I Communication system
10 Communication terminal
II Transmitter/receiver
12 Operation input accepting unit
13 Login requesting unit
14 Imaging unit
15a Voice input unit
15b Voice output unit 16 Display controller
19 Storage/reading processing unit
20 Destination list creating unit
30 Relaying apparatus
31 Transmitter/receiver
32 Relaying unit
39 Storage/reading processing unit
50 Controller
51 Transmitter/receiver (an example of a request accepting unit, an example of a first transmitter, an example of a second transmitter, an example of
identification information transmitter, an example of a domain information accepting unit)
52 Authenticating unit
53 State management unit
53a First changing unit
53b Second changing unit
54 Extracting unit
55 Restricting unit (an example of a first restricting unit, an example of a second restricting un
56 Connection destination identifying unit (an example of an identifying unit)
57 Session management unit
58 Identifying unit
59 Storage/reading processing unit
60 Management apparatus
61 Transmitter/receiver
64 Extracting unit
69 Storage/reading processing unit
70 Router
80 Relaying apparatus selecting apparatus
81 Transmitter/receiver
82 Selecting unit 8 Storage/reading processing unit
90 Program providing system
ICO Maintenance system
120 Display
500 Communication management system (an example of control system)
1000 Storage unit
3000 Storage unit
5000 Nonvolatile storage unit
5003 Terminal management DB
5006 Request management DB (an example of a request information management unit)
5100 Volatile storage unit
6000 Storage unit
6001 Relaying apparatus management DB
6002 Terminal authentication management DB
6003 State management DB
6004 Destination list management DB
6005 Session management DB
6009 State change management DB
8001 Relaying apparatus selection management DB
Citation List
Patent Literature
[0182] Patent Literature 1: Japanese Laid-open Patent Publication No. 2012-50063
Patent Literature 2: Japanese Laid-open Patent Publication No. 2008-71156

Claims

1. A control system comprising a first controller and a second controller that control a session in which content data is transmitted between communication terminals
according to a request from any of the communication terminals,
the first controller comprising:
a request accepting unit that accepts a request to start communication between predetermined communication terminals;
a first restricting unit that imposes a restriction so that a first communication terminal, which is connected to the first controller out of the
predetermined communication terminals, does not start any communication other than the communication performed according to the request; and
a first transmitter that transmits, to the second controller, terminal identification information for
identifying a second communication terminal connected to the second controller out of the predetermined
communication terminals,
the second controller comprising:
a second restricting unit that imposes, based on the terminal identification information transmitted from the first controller, a restriction so that the second communication terminal does not start any communication other than the communication performed according to the request; and
a second transmitter that transmits, to the first controller, restriction information indicating that the restriction on the second communication terminal is completed, wherein
the first controller performs processing related to the start of the communication performed according to the request after the restriction on the first communication terminal and the restriction on the second communication terminal are completed.
2. The control system according to claim 1, comprising three or more controllers including the first controller and the second controller for controlling a session for transmitting content data between the communication
terminals, wherein
the first controller comprises an identifying unit that identifies a controller as a connection destination of a communication terminal not connected to the first
controller out of the predetermined communication terminals, and
the first transmitter transmits the terminal
identification information to the controller identified by the identifying unit.
3. The control system according to claim 2, wherein
the first controller comprises an identification information transmitter that transmits identification information for identifying a controller as a connection destination of a communication terminal not connected to the first controller out of the predetermined communication terminals to the respective controllers in the control system, and
the identifying unit identifies the controller as the connection destination based on a response to the
identification information from any of the controllers.
4. The control system according to claim 2, wherein
the first controller comprises a domain information accepting unit that accepts, from each of the predetermined commun cation terminals, domain information of a controller connected to each of the predetermined communication terminals, and
the identifying unit identifies the controller as the connection destination based on the domain information.
5. The control system according to any one of claims 1 to 4, wherein when a new request to start communication between communication terminals including the first
communication terminal or the second communication terminal is accepted while the restriction on the first controller and the restriction on the second controller are imposed, the first controller and the second controller each reject the new request.
6. The control system according to claim 5, wherein
the first controller and the second controller each comprise a request information management unit that manages the terminal identification information of a communication terminal connected to the corresponding controller, the communication terminal being a requester terminal
requesting a start of the communication or being a
destination of the request, and
when a new request to start communication between communication terminals including the communication
terminal identified by the terminal identification
information managed in the request information management unit is accepted, the first restricting unit and the second restricting unit each reject the new request.
7. A communication system, comprising:
the control system as claimed in any one of claims 1 to 6; and
the communication terminals.
8. A computer program that causes the controllers to implement the units as claimed in any one of claims 1 to 6.
9. A controlling method performed in a control system including a first controller and a second controller that control a session in which content data is transmitted between communication terminals according to a request from any of the communication terminals,
the method comprising:
accepting, by the first controller, a request to start communication between predetermined communication
terminals/
imposing, by the first controller, a restriction so that a first communication terminal, which is connected to the first controller out of the predetermined communication terminals, dose not start any communication other than the communication performed according to the request;
transmitting, by the first controller, terminal identification information for identifying a second
communication terminal connected to the second controller out of the predetermined communication terminals to the second controller;
imposing, by the second controller, based on the terminal identification information transmitted from the first controller, a restriction so that the second
communication terminal does not start any communication other than the communication performed according to the request;
transmitting, by the second controller, restriction information indicating that the restriction on the second communication terminal is completed to the first
controller; and
performing, by the first controller, processing related to the start of the communication performed
according to the request after the restriction on the first communication terminal and the restriction on the second communication terminal are completed.
10. The controlling method according to claim 9, wherein the control system includes three or more controllers including the first controller and the second controller for controlling a session for transmitting content data between the communication terminals,
the controlling method comprises identifying, by the first controller, a controller as a connection destination of a communication terminal not connected to the first controller out of the predetermined communication terminal, and
the transmitting by the first controller includes transmitting the terminal identi ication information to the controller identified in the identifying.
11. The controlling method according to claim 10,
comprising transmitting, by the first controller,
identification information for identifying a controller as a connection destination of a communication terminal not connected to the first controller out of the predetermined communication terminals to the respective controllers in the control system, wherein
the identifying includes identifying the controller as the connection destination based on a response to the identification information from any of the controllers.
12. The controlling method according to claim 10,
comprising accepting, by the first controller, from each of the predetermined communication terminals, domain
information of a controller connected to each of the predetermined communication terminals, wherein
the identifying includes identifying the controller as the connection destination based on the domain information.
13. The controlling method according to any one of claims 9 to 12, wherein when a new request to start communication between communication terminals including the first
communication terminal or the second communication terminal is accepted while the restriction on the first controller and the restriction on the second controller are imposed, the controlling method comprises rejecting the new request by the first controller and the second controller.
14. The controlling method according to claim 13,
comprising managing, by the first controller and the second controller, the terminal identification information of a communication terminal connected to the corresponding controller, the communication terminal being a requester terminal requesting a start of the communication or being a destination of the request, wherein
when a new request to start communication between communication terminals including the communication
terminal identified by the terminal identification
information managed in the request information management unit is accepted, the restricting by the first controller and the restricting by the second controller each includes rejecting the new request.
15. Ά computer program product comprising a non-transitory computer-readable medium containing a computer program, wherein
the computer program causes a first computer to perform:
accepting a request to start communication between predetermined communicatio terminals;
imposing a restriction so that a first communication terminal, which is connected to the first computer out of the predetermined communication terminals, dose not start any communication other than the communication performed according to the request;
transmitting terminal identification information for identifying a second communication terminal connected to a second computer out of the predetermined communication terminals to the second computer, and
the computer program causes the second computer to perform:
imposing, based on the terminal identification information transmitted from the first computer, a
restriction so that the second communication terminal does not start any communication other than the communication performed according to the request; and
transmitting restriction information indicating that the restriction on the second communication terminal is completed to the first computer, and
the computer program cases the first computer to perform processing related to the start of the
communication performed according to the request after the restriction on the first communication terminal and the restriction on the second communication terminal are completed.
PCT/JP2014/080993 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product WO2015072583A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2930831A CA2930831A1 (en) 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product
EP14861955.4A EP3072285B1 (en) 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product
BR112016011323A BR112016011323A8 (en) 2013-11-18 2014-11-18 control system, communication system, computer program, control method and computer program product
CN201480062857.4A CN105745909B (en) 2013-11-18 2014-11-18 Control system, communication system, control method and computer-readable medium
MX2016006426A MX2016006426A (en) 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product.
US15/036,490 US10187219B2 (en) 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013237629A JP2015099954A (en) 2013-11-18 2013-11-18 Control system, communication system, program, and control method
JP2013-237629 2013-11-18

Publications (1)

Publication Number Publication Date
WO2015072583A1 true WO2015072583A1 (en) 2015-05-21

Family

ID=53057515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/080993 WO2015072583A1 (en) 2013-11-18 2014-11-18 Control system, communication system, computer program, controlling method, and computer program product

Country Status (8)

Country Link
US (1) US10187219B2 (en)
EP (1) EP3072285B1 (en)
JP (1) JP2015099954A (en)
CN (1) CN105745909B (en)
BR (1) BR112016011323A8 (en)
CA (1) CA2930831A1 (en)
MX (1) MX2016006426A (en)
WO (1) WO2015072583A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108541385A (en) * 2016-11-04 2018-09-14 深圳市奥星澳科技有限公司 A kind of control method, control device and control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165919A (en) * 2004-12-06 2006-06-22 Fujitsu Ltd Communication service system in ip telephone network
US20060285674A1 (en) * 2003-04-18 2006-12-21 Michel Le Creff Method of establishing communications between selected user terminals, using dedicated communication equipments
US20090268721A1 (en) * 2008-04-24 2009-10-29 Kabushiki Kaisha Toshiba Telephone system, its server unit, and database synchronization method
WO2012014824A1 (en) * 2010-07-28 2012-02-02 Ricoh Company, Ltd. Transmission management system and transmission system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4381655B2 (en) 2002-05-31 2009-12-09 株式会社日立製作所 Storage system, storage device, and information sharing method using the storage device
JP4241660B2 (en) * 2005-04-25 2009-03-18 株式会社日立製作所 Load balancer
JP4340733B2 (en) 2006-09-14 2009-10-07 日本電気株式会社 Load balancing system, method, and program
JP2008205988A (en) 2007-02-22 2008-09-04 Hitachi Ltd Data communication system and session management server
US9143558B2 (en) * 2007-05-09 2015-09-22 Radware, Ltd. Geographic resiliency and load balancing for SIP application services
JP5999873B2 (en) 2010-02-24 2016-09-28 株式会社リコー Transmission system, transmission method, and program
JP5821433B2 (en) 2010-11-30 2015-11-24 株式会社リコー Transmission management system, transmission system, and program for transmission management system
JP6074915B2 (en) 2012-05-18 2017-02-08 株式会社リコー Transmission management system, transmission system, transmission management method, and program for transmission management system
JP6064367B2 (en) 2012-05-18 2017-01-25 株式会社リコー Transmission management system, transmission system, and program for transmission management system
JP5928148B2 (en) 2012-05-18 2016-06-01 株式会社リコー Transmission management system, transmission system, and program for transmission management system
JP5924119B2 (en) 2012-05-18 2016-05-25 株式会社リコー Transmission management system, transmission system, and program for transmission management system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285674A1 (en) * 2003-04-18 2006-12-21 Michel Le Creff Method of establishing communications between selected user terminals, using dedicated communication equipments
JP2006165919A (en) * 2004-12-06 2006-06-22 Fujitsu Ltd Communication service system in ip telephone network
US20090268721A1 (en) * 2008-04-24 2009-10-29 Kabushiki Kaisha Toshiba Telephone system, its server unit, and database synchronization method
WO2012014824A1 (en) * 2010-07-28 2012-02-02 Ricoh Company, Ltd. Transmission management system and transmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3072285A4 *

Also Published As

Publication number Publication date
US10187219B2 (en) 2019-01-22
CN105745909B (en) 2019-05-31
MX2016006426A (en) 2016-07-19
JP2015099954A (en) 2015-05-28
CA2930831A1 (en) 2015-05-21
EP3072285A1 (en) 2016-09-28
BR112016011323A8 (en) 2020-04-28
EP3072285A4 (en) 2016-11-16
EP3072285B1 (en) 2021-05-05
US20160301536A1 (en) 2016-10-13
CN105745909A (en) 2016-07-06

Similar Documents

Publication Publication Date Title
JP2012191598A (en) Connection control system, transmission system, and program for connection control system
SG187023A1 (en) Transmission management system and transmission system
CA2872603C (en) Transmission management system, transmission system, and program for transmission management system
JP6074915B2 (en) Transmission management system, transmission system, transmission management method, and program for transmission management system
CA2871719C (en) Transmission management system, transmission system, and transmission management system program
JP5928148B2 (en) Transmission management system, transmission system, and program for transmission management system
US20160197738A1 (en) Connection management apparatus, communication management system, communication system, computer program, and method for controlling connection
CA2873356C (en) Relay device selection device, transmission system, and program for relay device selection device
JPWO2015019792A1 (en) Management system, program, transmission system, management method, and storage medium
EP3072053B1 (en) Control system, communication system, computer program, controlling method, and computer program product
EP3072285B1 (en) Control system, communication system, computer program, controlling method, and computer program product
US10171568B2 (en) Selecting system, communication management system, communication system, computer program, and method of selection
JP6229756B2 (en) System, management system, and management method
JP2016181899A (en) Control system and control method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14861955

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15036490

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2930831

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2014861955

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: MX/A/2016/006426

Country of ref document: MX

Ref document number: 2014861955

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112016011323

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112016011323

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20160518