Service providing system, service delivery system, service providing method, and non-transitory recording medium

A processor associates with one another terminal identifiers for identifying terminals. Each terminal identifier includes a to-be-authenticated section common to the terminal identifiers and used to authenticate a user. The processor associates the terminal identifiers with one another as respective terminal identifiers for a communication source and a communication destination that can perform communication with the communication source. Upon receiving from a first terminal as a communication source a first terminal identifier for identifying the first terminal and a second terminal identifier for identifying a second terminal as a communication destination, the processor transmits a request to the second terminal to start communication with the first terminal for a case where the first and second terminal identifiers are associated with one another. Otherwise the processor does not transmit a request to the second terminal to start communication with the first terminal.

FIELD OF THE INVENTION

The present invention relates to a service providing system, a service delivery system, a service providing method, and a non-transitory recording medium.

BACKGROUND ART

A system with which, in a case where a service is provided to a user through the Internet, the service is actually provided to the user after terminal identification information (a terminal ID or the like) is determined as authorized information through a process where the user is authenticated with the use of the terminal identification information or a password sent from the user's communication terminal is widely used (see Patent document 1).

SUMMARY

According to one aspect of the present invention, a service providing system for providing a service to a communication terminal includes a processor configured to associate with one another a plurality of pieces of terminal identification information for identifying different communication terminals and to manage the plurality of pieces of terminal identification information, each of the plurality of pieces of terminal identification information including user identification information that is a to-be-authenticated section to be used to authenticate a user and is common to the plurality of pieces of terminal identification information, the processor being further configured to manage and associate the plurality of pieces of terminal identification information with one another as a piece of terminal identification information for a communication source and a piece of terminal management information for a communication destination that can perform communication with the communication source; to receive from a first communication terminal as a communication source a first piece of terminal identification information for identifying the first communication terminal and a second piece of terminal identification information for identifying a second communication terminal as a communication destination; and, in response to receiving the first piece of terminal identification information and the second piece of terminal identification information, to transmit a request to the second communication terminal to start communication with the first communication terminal for a case where the first piece of terminal identification information and the second piece of terminal identification information are managed and associated with one another and not to transmit a request to the second communication terminal to start communication with the first communication terminal for a case where the first piece of terminal identification information and the second piece of terminal identification information are not managed as being associated with one another.

DESCRIPTION OF EMBODIMENTS

In the above-described system, if communication terminals of differing users were able to perform communication with one another, one user would, for example, perform remote control of a communication terminal of another user. Such a situation may cause disadvantageousness to the another user. In order to prevent communication terminals of differing users from performing communication with one another, security settings should be performed on communication of the respective communication terminals, which may be difficult to implement through a simple procedure.

According to an embodiment of the present invention, a service providing system can prevent, by an easy method, communication terminals of differing users from performing communication with one another.

Now, with the use of the drawings, the embodiment will be described.

<<Overall Configuration of Embodiment>>

FIG. 1is an overall configuration diagram illustrating one example of a service delivery system according to the embodiment. As illustrated inFIG. 1, the service delivery system1includes a plurality of communication terminals (3a,3b, and3c), a plurality of service providing systems (5aand5b), a plurality of authentication systems (7a,7b, and7c), and a photographing apparatus10. These elements can perform communication with each other via a communication network9such as the Internet.

The photographing apparatus10is, for example, a digital camera that captures an image of a scene, for example, to generate a full spherical panoramic image. The communication terminal3ais, for example, a smartphone. The communication terminal3aperforms communication with the photographing apparatus10with the use of short-range wireless communication technology such as Bluetooth (registered trademark). For example, as a result of the communication terminal3atransmitting to the photographing apparatus10an instruction to start a photographing operation, the photographing apparatus10transmits to the communication terminal3avarious data obtained from a photographing operation such as image data and sound data. The photographing apparatus10cannot use the communication network9by itself, and therefore, transmits through the communication terminal3avarious data to the communication network9. The communication terminal3bis, for example, a personal computer. The communication terminal3cis, for example, a car navigation apparatus.

Note that, inFIG. 1, for the sake of simplifying the explanation, the three communication terminals (3a,3b, and3c), the two service providing systems (5aand5b), the three authentication systems (7a,7b, and7c), and the single photographing apparatus10are illustrated. However, the numbers of the elements are not limited to these numbers of the elements. Further, hereinafter, out of the communication terminals (3a,3b, and3c), any one of the communication terminals will be referred to as a “communication terminal3”. Out of the service providing systems (5aand5b), either one of the service providing systems will be referred to as a “service providing system5”. Further, out of the authentication systems (7a,7b, and7c), any one of the authentication systems will be referred to as an “authentication system7”.

Further, the service providing systems5and the authentication systems7may be single computers, or each of the service providing systems5and the authentication systems7may include a plurality of computers. The photographing apparatus10may be also a common digital camera that does not have a function to generate a full spherical panorama image.

Further, a communication terminal3may be a smartphone, a personal computer, or a car navigation apparatus, as an example of a mobile terminal. Further, examples of the communication terminals3are not limited to these devices. For example, a communication terminal3may be an information processing terminal, a business machine, a home appliance, an electric component, a medical device, an industrial device, or the like. Examples of the mobile terminal include, in addition to the above-mentioned devices, a smart watch, a head mount display, a video conference terminal, a camera, a handheld terminal, and a drone. Examples of the information processing terminal include a desktop PC, a tablet PC, and a server. Examples of the business machine include a copier, a facsimile machine, a MFP (Multifunction Peripheral) that has functions of a copier and a facsimile machine, an electronic blackboard, a video conference terminal, and a projector. Examples of the home appliance include a television, an air conditioner, a refrigerator, a recorder, and a microwave oven. Examples of the electric component include an electronic component such as an image pickup device. Examples of the medical device include a MRI (Magnetic Resonance Imaging) device, an EEG (Electroencephalography) device, a MEG (Magnetoencephalography) device, and an endoscope. Examples of the industrial device include a construction machine and a working robot.

<How to Use Photographing Apparatus>

With the use ofFIGS. 2A-2CandFIG. 3, how to use the photographing apparatus10will now be described.

With the use ofFIGS. 2A-2C, the exterior of the photographing apparatus10will now be described.FIG. 2Ais a left side view of one example of the photographing apparatus,FIG. 2Bis a front view of the example of the photographing apparatus, andFIG. 2Cis a plan view of the example of the photographing apparatus. The photographing apparatus10is a digital camera for obtaining a photographed image from which a full spherical (360°) panoramic image is generated.

As illustrated inFIG. 2A, the photographing apparatus10has such a size that a person can hold with his or her single hand. Further, as illustrated inFIGS. 2A-2C, at an upper section of the photographing apparatus10, an image pickup device103aat a front side and an image pickup device103bat a back side (rear side) are installed. Further, as illustrated inFIG. 2B, at a front side of the photographing apparatus10, an operation part115such as a shutter button is installed.

Next, with the use ofFIG. 3, a usage state of the photographing apparatus10will be described.FIG. 3is an image diagram illustrating one example of a usage state of the photographing apparatus. As illustrated inFIG. 3, the photographing apparatus10is used in such a manner that a user holds the photographing apparatus10with his or her hand and takes an image of an object or a scene around the user. In this case, as a result of the image pickup device103aand the image pickup device103billustrated inFIGS. 2A-2Ccapturing images of an object or a scene around the user, two hemispherical images can be obtained.

<<Hardware Configuration of Embodiment>>

Next, with the use ofFIGS. 4-6, the hardware configurations of the photographing apparatus10, the communication terminals3, and the service providing systems5according to the embodiment will be described in detail.

<Hardware Configuration of Photographing Apparatus>

With the use ofFIG. 4, the hardware configuration of the photographing apparatus10will now be described. Note that,FIG. 4is a hardware configuration diagram of one example of the photographing apparatus10. Below, it is assumed that the photographing apparatus10is an omnidirectional photographing apparatus using the two image pickup devices. However, the number of the image pickup devices may be three or more. Further, the photographing apparatus10is not necessarily dedicated for omnidirectional photographing. That is, the photographing apparatus10may have substantially the same function as an omnidirectional photographing apparatus as a result of a retrofit-type omnidirectional photographing unit being installed to a common digital camera, smartphone or the like.

As illustrated inFIG. 4, the photographing apparatus10includes an image pickup unit101, an image processing unit104, an image pickup control unit105, a microphone108, a sound processing unit109, a CPU (Central Processing Unit)111, a ROM (Read-Only Memory)112, a SRAM (Static Random Access Memory)113, a DRAM (Dynamic Random Access Memory)114, the operation part115, a network I/F116, a communication part117, and an antenna117a.

The image pickup unit101includes wide-angle lenses (so-called fish-eye lenses)102aand102b, each of which has a field angle greater than or equal to 180° for forming a hemispherical image; and the two image pickup devices103aand103bcorresponding to the wide-angle lenses102aand102b, respectively. The image pickup devices103aand103binclude image sensors such as CMOS (Complementary Metal Oxide Semiconductor) sensors or CCD (Charge Coupled Device) sensors converting optical images obtained through the fish-eye lenses into electric image data signals; timing circuits generating horizontal or vertical synchronization signals, pixel clocks, and so forth; and a group of registers in which various commands and parameters required for operating the image pickup devices are set.

The respective image pickup devices103aand103bof the image pickup unit101are connected with the image processing unit104through a parallel I/F bus. The image pickup devices103aand103bof the image pickup unit101are connected also with the image pickup control unit105through a serial I/F bus (an I2C bus or the like). The image processing unit104and the image pickup control unit105are connected with the CPU111through a bus110. Further, to the bus110, also the ROM112, the SRAM113, the DRAM114, the operation part115, the network I/F116, the communication part117, an electromagnetic compass118, and so forth are connected.

The image processing unit104performs a predetermined process on image data output from the image pickup devices103aand103bthrough the parallel I/F bus, and combines the processed image data to generate Mercator image data.

Generally speaking, the image pickup control unit105acts as a master device, the image pickup devices103aand103bact as slave devices, and the image pickup control unit105sets commands and so forth to the group of registers of the image pickup devices103aand103bthrough the I2C bus. The commands and so forth are received from the CPU111. Further, the image pickup control unit105uses also the I2C bus to receive status data and so forth of the group of registers of the image pickup devices103aand103b, and sends the status data and so forth to the CPU111.

Further, in response to the shutter button of the operation part115being pressed, the image pickup control unit105sends an instruction to the image pickup devices103aand103bto output image data. Depending on the photographing apparatus, a preview display function or a function to display a moving picture by using a display may be implemented. In this case, the image pickup devices103aand103boutput image data continuously at a predetermined frame rate (frames/second).

Further, as will be described later, the image pickup control unit105also functions as a synchronization control part in cooperation with the CPU111to synchronize output timing of image data from the image pickup devices103aand103b. Note that, according to the embodiment, the photographing apparatus10does not have a display part. However, the photographing apparatus10may have a display part.

The microphone108converts sound into sound (signal) data. The sound processing unit109receives sound data from the microphone108through an I/F bus, and performs a predetermined process on the sound data.

The CPU111performs overall control of the photographing apparatus10and performs required processes. The ROM112stores various programs for the CPU111. The SRAM113and the DRAM114are work memories, and store a program executed by the CPU111, data that is being processed by the CPU111, and so forth. Especially, the DRAM114stores image data that is being processed by the image processing unit104and Mercator image data that has been processed.

As the operation part115, various operation buttons, a power switch, a shutter button, a touch panel having both a display function and an operation function, and so forth are generally referred to. The user operates the operation buttons to input various photographing modes, photographing conditions, and so forth.

As the network I/F116, interfaces (USB I/F and so forth) for external media such as a SD card, a personal computer, and so forth are generally referred to. The network I/F116may be a network interface usable for both wired communication and wireless communication. Mercator image data stored in the DRAM114is recorded in an external medium through the network I/F116or is transmitted to an external apparatus such as a communication terminal3through the network I/F116as the occasion demands.

The communication part117performs communication with an external apparatus such as a communication terminal3through the antenna117ainstalled at the photographing apparatus10according to short-range wireless communication technology such as WiFi (wireless fidelity), NFC, or the like. It is possible to transmit Mercator image data also through the communication part117to an external apparatus such as a communication terminal3.

The electromagnetic compass118uses terrestrial magnetism to calculate the orientation of the photographing apparatus10and outputs orientation information. The orientation information is one example of related information (metadata) according to Exif, and is used for image processing such as image correction on a photographed image. Note that the related information includes various data such as date and time when an image is photographed and the data size of image data.

<Hardware Configuration of Smartphone>

FIG. 5is a hardware configuration diagram illustrating one example of a smartphone. As illustrated inFIG. 5, a communication terminal3aas the smartphone includes a CPU301, a ROM302, a RAM303, an EEPROM304, a CMOS sensor305, an acceleration and orientation sensor306, a medium I/F308, and a GPS receiving part309.

The CPU301controls the entirety of the smartphone. The ROM302stores a program such as an IPL for driving the CPU301. The RAM303is used as a work area for the CPU301. The EEPROM304reads and writes various data such as the program for the smartphone under the control of the CPU301. The CMOS sensor305captures an image of a subject (mainly, an image of the user himself or herself) to obtain image data under the control of the CPU301. The acceleration and orientation sensor306includes various sensors such as an electromagnetic compass to detect geomagnetism, a gyrocompass, and an acceleration sensor. The medium I/F308controls reading data from and writing (storing) data to a recording medium307such as a flash memory. The GPS receiving part309receives GPS signals from GPSs.

Further, the smartphone includes a telecommunication circuit311, a camera312, an image pickup device I/F313, a microphone314, a speaker315, a sound input and output I/F316, a display317, an external apparatus connection I/F318, a short-range communication circuit319, an antenna319afor the short-range communication circuit319, and a touch panel321.

The telecommunication circuit311performs communication with another apparatus through the communication network9. The camera312is a type of a built-in-type image pickup part for capturing an image of a subject to obtain image data under the control of the CPU301. The image pickup device I/F313controls driving of the camera312. The microphone314is a type of a built-in-type sound collecting part for inputting sound. The sound input and output I/F316performs processes to input a sound signal from the microphone314and to output a sound signal to the speaker315under the control of the CPU301. The display317is a type of a liquid crystal or organic EL display part to display an image of a subject, various icons, and so forth. The external apparatus connection I/F318is an interface to connect to various external apparatuses. The short-range communication circuit319is a communication circuit that uses NFC, Bluetooth (registered trademark), or the like. The touch panel321is a type of an input part for the user to touch the display317to operate the smartphone.

Further, the smartphone includes a bus line310. The bus line310includes an address bus, a data bus, and so forth to electrically connect with various elements illustrated inFIG. 5such as the CPU301.

<Hardware Configuration of Each of PC, Car Navigation Apparatus, Service Providing Systems, and Authentication Systems>

With the use ofFIG. 6, a hardware configuration of each of the PC, the car navigation apparatus, the service providing systems, and the authentication systems will now be described. Note thatFIG. 6is a hardware configuration diagram of each of examples of the PC, the car navigation apparatus, the service providing systems, and the authentication systems. Each of the PC, the car navigation apparatus, the service providing systems, and the authentication systems is a computer. Therefore, below, a configuration of a service providing system5will be described and descriptions of configurations of the other apparatuses and systems will be omitted.

A service providing system5includes a CPU501to control the entirety of the service providing system5, a ROM502to store a program such as an IPL to drive the CPU501, a RAM503used as a work area of the CPU501, a HD504to store various data such as the program for the service providing system5, a HDD (Hard Disk Drive)505to control reading various data from and writing various data to the HD504under the control of the CPU501, a medium I/F507to control reading data from and writing (storing) data to a recording medium506such as a flash memory, a display508to display various information such as a cursor, a menu, a window, characters, and an image, a network I/F509to perform data communication through the communication network9, a keyboard511having a plurality of keys for the user to input characters, numerical values, various instructions, and so forth, a mouse for the user to select and cause various instructions to be executed, to select an object to process, to move the cursor, and so forth, a CD-ROM drive514to control reading various data from and writing various data to a CD-ROM (Compact Disc Read-Only Memory)513as a type of a detachable recording medium, and a bus line510such as an address bus, a data bus, and so forth to electrically connect the above-mentioned various elements as illustrated inFIG. 6.

Note that recording media such as CD-ROMs to store the various programs according to the embodiment may be provided domestically or internationally in the form of program products.

Next, functions of the embodiment will be described.FIG. 7is a functional block diagram illustrating one example of the service delivery system. Note that each of the functions that will now be described may be implemented by one or more processing circuits. A “processing circuit” includes one or more devices out of a processor programmed by software to execute the function such as a processor implemented by an electronic circuit; an ASIC (Application Specific Integrated Circuit), a DSP (digital signal processor), or a FPGA (field programmable gate array) designed to execute the function; a conventional circuit module; and so forth.

<Functions of Communication Terminals>

Hereinafter, with the use of the communication terminal3afor which the hardware configuration is illustrated inFIG. 5, the functions of the communication terminals3will be described. In this regard, either one of the communication terminals3band3calso has functions similar to or the same as the functions of the communication terminal3a.

As illustrated inFIG. 7, the communication terminal3includes a transmitting and receiving part31, a receiving part32, a display control part33, a determination part37, a short-range communication part38, and a storing and reading part39. Functions of these elements are implemented as a result of any element(s) illustrated inFIG. 5operating according to instructions from the CPU301according to the program for the communication terminal3written in the RAM303from the EEPROM304.

Further, the communication terminal3includes a storage part3000implemented by the ROM302, the RAM303, and the EEPROM304illustrated inFIG. 5.

(Various Functions of Communication Terminals)

Next, with the use ofFIG. 7, the various functions of the communication terminal3will be described in more detail.

The transmitting and receiving part31of the communication terminal3is implemented mainly by instructions from the CPU301illustrated inFIG. 5and by the telecommunication circuit311. Through the communication network9, the transmitting and receiving part31performs transmitting/receiving of various data (or information) such as IDs (Identifications) and requests, to/from a service providing system5and an authentication system7.

The receiving part32is implemented mainly by instructions from the CPU301illustrated inFIG. 5and by the touch panel321, to receive an operation performed by the user.

The display control part33is implemented mainly by instructions from the CPU301illustrated inFIG. 5, to display a predetermined screen page on the display317. Note that, in the case of the communication terminal3a, the display control part33may use OpenGL ES (Open Graphics Library for Embedded Systems) to paste Mercator image data transmitted from the photographing apparatus10to cover a sphere to create a full spherical panoramic image.

The determination part37is implemented mainly by instructions from the CPU301illustrated inFIG. 5, and, as will be described later, determines, out of a code of a terminal ID, a user ID (a to-be-authenticated section) that will be described later. Note that a terminal ID according to the embodiment is one example of terminal identification information. Terminal identification information may be, instead of a terminal ID, the product number of a terminal or the like. A user ID according to the embodiment is one example of user identification information. User identification information may be, instead of a user ID, the name of a user, an individual number or “my number” according to the Japanese national citizen identification number system, or the like.

The short-range communication part38is implemented mainly by instructions from the CPU301illustrated inFIG. 5and by the short-range communication circuit319, to perform communication with the photographing apparatus10and so forth by using the short-range communication circuit319.

The storing and reading part39is implemented mainly by instructions from the CPU301illustrated inFIG. 5, to store various data (or information) in the storage part3000and to read various data (or information) from the storage part3000.

<Functions of Service Providing Systems>

Next, with the use ofFIGS. 6-11, functions of the service providing systems5will be described in detail. As illustrated inFIG. 7, a service providing system5includes a transmitting and receiving part51, an authentication part52, a search part53, a determination part54, a removing part55, and a storing and reading part59. The respective functions of the elements are implemented as a result of any element(s) illustrated inFIG. 6operating according to instructions from the CPU501according to the program for the service providing system5written from the HD504to the RAM503.

Further, a service providing system5includes a storage part5000implemented by the RAM503and the HD504illustrated inFIG. 6. The storage part5000stores various data sent from a communication terminal3and an authentication system7.

Further, the storage part5000includes a state management DB5001, an authentication system management DB5002, and a communication object management DB5003. The state management DB5001has a form of a state management table that will be described later. The authentication system management DB5002has a form of an authentication system management table that will be described later. The communication object management DB5003has a form of a communication object management table that will be described later. These tables will now be described in detail.

FIG. 8is a conceptual diagram illustrating one example of the state management table. The state management table associates terminal IDs for identifying communication terminals, communication state information indicating the communication states of the communication terminals, and the IP addresses of the communication terminals with each other and manages these items of information. A communication state is one of an online state and an offline state. Further, to an offline state, an order of becoming online is attached. For example, inFIG. 8, the communication state “offline (1)” can first become an online state. The communication state “offline (2)” can subsequently become an online state. “The order of becoming online” will be further described later. Note that, the IP addresses inFIG. 8illustrate addresses according to IPv4 in a simplified manner. Instead, the IP addresses may be addresses according to IPv6.

A service providing system5adds, in response to receiving a login request from a communication terminal3, a new record including the terminal ID of the communication terminal that is the request source to the state management table and removes, in response to receiving a logout request from a communication terminal3, the record including the terminal ID of the communication terminal that is the request source from the state management table. Adding a record and removing a record described above will be further described later.

FIGS. 9A-9Cillustrate email addresses as examples of the terminal IDs (identifications); each of the email addresses includes a to-be-authenticated section and a not-to-be-authenticated section. The to-be-authenticated section is a user ID to be used by an authentication system7to perform authentication. The not-to-be-authenticated section is not used by an authentication system7to perform authentication.

According to a first pattern illustrated inFIG. 9A, a to-be-authenticated section include an account name “asai”, a host name “myhost”, and a first segment “ricoo.com” of a domain name. A not-to-be-authenticated section includes a second segment “theta1” of the domain name. In this case, the extracting part37described later separates between the to-be-authenticated section and the not-to-be-authenticated section by using a symbol “/”.

Further, alsoFIG. 9Billustrates the first pattern; however, a not-to-be-authenticated section is different fromFIG. 9A. In this regard, an authentication system7determines that the terminal ID illustrated inFIG. 9Aand the terminal ID illustrated inFIG. 9Bhave the same IDs to perform authentication because these terminal IDs have the same to-be-authenticated sections.

Note that the terminal ID may be a terminal ID of a second pattern illustrated inFIG. 9C. According to the second pattern, the to-be-authenticated section includes a first segment “asai” of an account name. The not-to-be-authenticated section includes a second segment “theta2” of the account name, a host name “myhost”, and a domain name “ricoo.com”. In this case, the extracting part37described later separates between the to-be-authenticated section and the not-to-be-authenticated section by using a symbol “+”.

FIG. 10is a conceptual diagram illustrating one example of the authentication system management table. The authentication system management table associates, with the authentication system IDs for identifying respective authentication systems7, the URLs (Uniform Resource Locators) to access the authentication systems7, and stores and manages these items of information.

FIG. 11is a conceptual diagram illustrating one example of the communication object management table. The communication object management table associates the terminal IDs of communication terminals of communication sources that request to start communication, with the terminal IDs of communication terminals of communication destinations that can perform communication with the communication terminals of the communication sources, and manages these items of information. The terminal IDs associated with one another and managed for each record in the communication object management table are used to manage communication terminals which can perform communication with one another, and therefore, communication terminals identified by terminal IDs not associated with one another in a record of the communication object management table cannot perform communication with one another. According to the embodiment, terminal IDs having the same user IDs are associated with one another. Therefore, communication terminals of the same user can perform communication with one another while communication terminals of differing users cannot perform communication with one another.

(Various Functions of Service Providing Systems)

Next, with the use ofFIG. 7, the various functions of the service providing systems5will be described in detail.

The transmitting and receiving part51of a service providing system5transmits/receives various data (or information) such as IDs and requests, to/from a communication terminal3and an authentication system7through the communication network9.

The authentication part52decrypts an encrypted token and authenticates a decrypted token, for example.

The search part53searches the state management table to determine, out of pieces of communication state information associated with the terminal IDs of other communication terminals3including the user IDs the same as the user ID included in the terminal ID of a communication terminal3, the number of pieces of communication state information having online states, for example.

The determination part54determines whether the number of pieces of communication state information having online states thus retrieved by the search part53is less than a predetermined number, for example. The predetermined number is, for example, 10. In this case, the same user can cause10own communication terminals to perform communication with each other.

The removing part55removes, in response to receiving a logout request from a communication terminal3, the record including the terminal ID for identifying the communication terminal3from the state management table, for example. Further, the removing part55removes, in response to receiving a logout request from a communication terminal3, the record that is used to manage the terminal ID of the communication terminal3as a communication terminal of a communication source from the communication object management table, for example. Removing a record described above will be further described later.

The storing and reading part59stores various data in and reads various data from the storage part5000.

Next, with the use ofFIGS. 7 and 12A-12C, functions of the authentication systems7will be described in detail. An authentication system7includes a transmitting and receiving part71, an authentication part72, and a storing and reading part79. Functions of these elements are implemented as a result of any element(s) illustrated inFIG. 7operating according to instructions from the CPU501according to the program for the authentication system7written from the HD504to the RAM503.

Further, an authentication system7includes a storage part7000implemented by the RAM503and the HD504illustrated inFIG. 6. The storage part7000stores various data sent from a communication terminal3and a service providing system5.

Further, the storage part7000includes an authentication management DB7001. The authentication management DB7001has a form of an authentication management table that will be described now. Below, the table will be described in detail.

FIG. 12Ais a conceptual diagram illustrating one example of the authentication management table of the authentication system7a.FIG. 12Bis a conceptual diagram illustrating one example of the authentication management table of the authentication system7b.FIG. 12Cis a conceptual diagram illustrating one example of the authentication management table of the authentication system7c.

Each of the authentication management tables associates the user IDs (the to-be-authenticated sections) out of the terminal IDs with passwords, and stores and manages these items of information.

(Various Functions of Authentication Systems)

Next, with the use ofFIG. 7, the various functions of the authentication systems7will be described in detail.

The transmitting and receiving part71of an authentication system7is implemented mainly by instructions from the CPU501illustrated inFIG. 6and by the network I/F509, to transmit/receive various data (or information) such as IDs and requests, to/from a communication terminal3and a service providing system5through the communication network9.

The authentication part72is implemented mainly by instructions from the CPU501illustrated inFIG. 6, to determine whether a communication terminal3that has transmitted an authentication request is an authorized communication terminal3that can receive a service, to authenticate the ID.

The storing and reading part79is implemented mainly by instructions from the CPU501illustrated inFIG. 6and by the HDD505, to store various data (or information) in the storage part7000and to read various data (or information) from the storage part7000.

<<Process and Operation of Embodiment>>

Next, with the use ofFIGS. 13-22B, a process and an operation of the embodiment will be described in detail.FIGS. 13 and 15are sequence diagrams illustrating one example of an authentication process.FIG. 14illustrates an example of a displayed authentication agent selection screen page.

As illustrated inFIG. 13, the transmitting and receiving part31of a communication terminal3transmits a login request to a service providing system5(step S21). This request includes the terminal ID of the communication terminal3. Further, at this time, the transmitting and receiving part31transmits the IP address of the communication terminal3. Thus, the transmitting and receiving part51of the service providing system5receives the login request and the IP address of the communication terminal3.

Next, the determination part54of the service providing system5determines whether the terminal ID received in step S21has been managed in the state management table (step S22). Below, a case where the terminal ID has not been managed will be described.

The transmitting and receiving part51of the service providing system5transmits to the communication terminal3data of an authentication agent selection screen page (step S23). Thus, the transmitting and receiving part31of the communication terminal3receives the data of the authentication agent selection screen page.

Next, the display control part33of the communication terminal3displays on the display317the authentication agent selection screen page s1such as the screen page illustrated inFIG. 14(step S24).FIG. 14illustrates an example of the screen page displayed on the PC as the communication terminal3b. The authentication agent selection screen page s1includes a terminal ID input field b1, a password input field b2, and a login button b3to request login (to make an authentication request). Further, the authentication agent selection screen page s1includes authentication system selection buttons a1, a2, and a3to select the authentication systems7a,7b, and7c, respectively. In response to the user's inputting the own terminal ID to the input field b1, inputting the own password in the input field b2, pressing a desired button out of the authentication system selection buttons a1, a2, and a3, and pressing the login button b3, the receiving part32receives the corresponding inputs and selection (step S25).

Note that, the authentication system selection buttons a1, a2, and a3are previously associated with the URLs of the authentication systems7, respectively.

Next, the determination part37determines, out of the code of the terminal ID received by the receiving part32, the user ID (to-be-authenticated section) (step S26). At this time, the determination part37determines the user ID on the basis of a predetermined rule (step S26). For example, in a case where the terminal ID has the contents as illustrated inFIG. 9AorFIG. 9B, the section before the symbol “/” after “com” is determined as the user ID.

Next, on the basis of the URL of the authentication system7corresponding to the selection button received by the receiving part32, the transmitting and receiving part31transmits an authentication request for the ID (i.e., the user ID) to the corresponding authentication system7(step S27). The authentication request includes the user ID received in step S26and the password received in step S25. Further, at this time, the transmitting and receiving part31transmits also the IP address of the communication terminal3. Thus, the transmitting and receiving part51of the service providing system5receives the authentication request for the ID and the IP address of the communication terminal3.

Next, the storing and reading part79of the authentication system7searches the authentication management table with the set of the user ID (to-be-authenticated section) and the password received in step S27as a search key for the same set of the to-be-authenticated section and the password. Then, with the use of the search result, the authentication part72performs the authentication (step S28). The authentication part72determines that, in a case where the same set of the to-be-authenticated section and the password has been managed in the authentication management table, the user of the communication terminal3is an authorized user to receive a service from a service providing system5. However, in a case where the same set of the to-be-authenticated section and the password has not been managed in the authentication management table, the authentication part72determines that the communication terminal3is not an authorized user to receive a service from a service providing system5.

Note that, in step S28, the communication terminal3determines the user ID (to-be-authenticated section) out of the terminal ID. However, an embodiment is not limited to this configuration. For example, a communication terminal3may transmit the terminal ID to a service providing system, and the service providing system5may determine the user ID and transmit the user ID to an authentication system7. Further, a communication terminal3may transmit to an authentication system7the terminal ID, and the authentication system7may determine the user ID and authenticate the user ID.

Next, as illustrated inFIG. 15, the authentication part72of the authentication system7encrypts a token (a transmission right) (step S41). Then, on the basis of the IP address of the communication terminal3received in step S27, the transmitting and receiving part71transmits the authentication result for the ID to the communication terminal3(step S42). The authentication result indicates whether the communication terminal3is authorized and the authentication result includes the token encrypted in step S41. Thus, the transmitting and receiving part31of the communication terminal3receives the authentication result for the user. Below, a case where the user is authorized will be described.

Note that if the user is not authorized, that is, if the authentication result in step S28ofFIG. 13is negative, the transmitting and receiving part71of the authentication system7performs, for example, error output to the communication terminal3(i.e., the request source) that transmitted the authentication request for the ID in step S27. Further, in this case, step S41of encrypting the token is skipped, and, therefore, in step S42, the encrypted token is not transmitted.

The transmitting and receiving part31of the communication terminal3transmits to the service providing system5a request to establish a session (step S43). This request to establish a session includes the terminal ID and the encrypted token received in step42. Thus, the transmitting and receiving part51of the service providing system5receives the request to establish a session.

Next, the authentication part52of the service providing system5decrypts the encrypted token received in step S43(step S44). Note that the authentication part52of the service providing system5and the authentication part72of the authentication system7previously have the same common key (or public key), and therefore, the authentication part52can decrypt the token.

Next, on the basis of the decrypted token, the authentication part52authenticates the token (step S45). In response to the authentication in step S45being successful, the service providing system5manages the communication state of the communication terminal3and a communication object (step S46). In response to the authentication in step S45being not successful, the transmitting and receiving part51performs an error output to the communication terminal3that is the request source, for example.

Next, with the use ofFIG. 16, the managing of the communication state of the communication terminal3and a communication object performed by the service providing system5will be described.FIG. 16is a flowchart illustrating one example of managing of the communication state of a communication terminal and a communication object.

As illustrated inFIG. 16, first, the search part53searches the state management table ofFIG. 8and counts pieces of communication state information that indicate online states, out of pieces of communication state information associated with the other terminal IDs including the same user ID as the user ID included in the terminal ID of the communication terminal3of the request source (step S46-1). Then, the determination part54determines whether the thus obtained number of pieces of communication state information is less than a predetermined number (for example, 10) (step S46-2). In a case where the number of pieces of communication state information is less than the predetermined number (YES) as a result of the search by the search part53, the storing and reading part59associates the terminal ID of the communication terminal3that is the request source, communication state information that indicates an online state, and the IP address of the same communication terminal3with each other and manages these items of information in the state management table (step S46-3). This means that communication to be performed by the communication terminal3that is the request source is permitted.

Next, the storing and reading part59retrieves from the state management table the other terminal IDs that include the same user IDs as the user ID included in the terminal ID of the communication terminal3of the request source and that are terminal IDs having pieces of communication state information that indicate being online (step S46-4). Then, the storing and reading part59associates the terminal ID of the communication terminal3of the request source as a terminal ID of a “communication source” in a record with the other terminal IDs retrieved in step S46-1as terminal IDs of “communication destinations” in the record and manages these items of information in the communication object management table (step S46-5). In addition, the storing and reading part59associates the terminal ID of the communication terminal of the request source as a terminal ID in “communication destination” fields of the communication object management table with the other terminal IDs retrieved in step S46-1as terminal IDs in “communication source” fields in the communication object management table and manages these items of information (step S46-6). Then, the storing and reading part59outputs from the storage part5000data of a service providing screen page that is previously stored (step S46-7).

However, in a case where, in step S46-2, as a result of the search by the search part53, the number of pieces of communication state information that indicate online states is greater than or equal to the predetermined number (NO), this means that the upper limit of the permissible number of communication terminals of the same user that the same user can use to perform communication among these communication terminals is exceeded and therefore the communication terminal3of the request source is not permitted to perform communication. Thus, the storing and reading part59associates the terminal ID of the communication terminal3of the request source with communication state information that indicates an offline state in the state management table (step S46-8). In this case, at the time of the first of the managed communication state information to indicate an offline state, as illustrated inFIG. 8, the communication state information is managed as “offline (1)”, and the next of the managed communication state information to indicate an offline state is managed as “offline (2)”. These numerals (1) and (2) indicate the order of waiting for becoming online (as will be described later concerningFIG. 21, in particular, step S84). Then, the storing and reading part59outputs data of a waiting state screen page that is previously stored in the storage part5000(step S46-9).

Next, returning toFIG. 15, the transmitting and receiving part51of the service providing system5transmits, to the communication terminal3of the request source, request result information that indicates a request result responsive to step S43(step S47). Thus, the transmitting and receiving part31of the communication terminal3receives the request result information.

Next, the display control part33of the communication terminal3of the request source displays on the display317of the communication terminal3(in this case, the communication terminal3b) image data included in the request result information (step S48). In this case, in a case where the request result information includes the data of the service providing screen page, the display control part33displays the service providing screen page s2illustrated inFIG. 17A. The service providing screen page s2indicates that it is possible to receive a service. In this case, for example, the service providing screen page s2indicates the service contents showing that the user can perform remote control of another communication terminal3of the same user.

The data of the service providing screen page s2further includes an input field b21for the user to input the terminal ID of another communication terminal that is the remote control object and a “SERVICE START REQUEST” button b22for the user, after inputting the terminal ID in the input field b21, to request an actual start of the service.

In contrast, in a case where the request result information includes the waiting state screen page, the display control part33displays the waiting state screen page s3illustrated inFIG. 17B. The waiting state screen page s3indicates that the communication terminal3of the request source that has requested login cannot receive a service: the user is in a waiting state. In this case, for example, the waiting state screen page s3indicates that the user cannot perform remote control of another communication terminal3of the same user: the user is in a waiting state until being allowed to perform remote control.

Further, the waiting state screen page s3includes an input field b31that is masked so as to prevent the user from inputting the terminal ID of another communication terminal that is the remote control object and an “OK” button for the user understanding the contents of the displayed screen page s3to press to close the waiting state screen page s3.

Note that, in step S22described above, in a case where the terminal ID received in step S21has been managed in the state management table, the transmitting and receiving part51performs error output to the communication terminal3(i.e., the request source) that transmitted the login request, for example.

Next, with the use ofFIGS. 18-20B, as an example of providing a service, a remote control service for implementing remote control from the communication terminal3bto the communication terminal3awill be described.FIG. 18is a sequence diagram illustrating one example of a remote control process. Note that, it is assumed that the communication terminals3aand3bare communication terminals of the same user. Further, it is also assumed that, in the communication object management table, the terminal IDs of the communication terminals3aand3bhave been managed as terminal IDs of communication sources, respectively, and also, the respective terminal IDs of the communication terminals3aand3bhave been managed as terminal IDs of communication destinations with which communication is possible, respectively; and therefore, the communication terminals3aand3bare in a state where remote control can be started from the communication terminal3ato the communication terminal3b, and also, remote control can be started from the communication terminal3bto the communication terminal3a.

In this case, for example, although the user can receive respective services separately with the use of differing terminal IDs (for example, the terminal IDs in the first and second records of the state management table ofFIG. 8) concerning the communication terminals3aand3b, an authentication system7performs the same authentication operations with the use of a set of a common user ID as a to-be-authenticated section (for example, “asai@myhost.ricoo.com” in the authentication management table ofFIG. 12A) for the respective terminal IDs of the communication terminals3aand3band a password (in this case, “aaaa”). Therefore, the user need not register terminal IDs and passwords, respectively, for the plurality of authentication operations concerning the communication terminals3aand3b.

In the sequence diagram ofFIG. 18, in response to the user of the communication terminal3binputting in an input field b21illustrated inFIG. 17Athe terminal ID of the communication terminal3athat is a remote control object and pressing a “SERVICE START REQUEST” button b22, the receiving part32of the communication terminal3breceives the designation of the remote control object and the request to start remote control (step S61). In this example, as one example of remote control, the communication terminal3brequests the communication terminal3ato start capturing an image by the photographing apparatus10. Thus, the transmitting and receiving part31of the communication terminal3btransmits to a service providing system5a communication start request (in this example, a request to start remote control) (step S62). The communication start request includes the terminal ID of the communication terminal3bof the request source (i.e., the remote control source) and the terminal ID of the communication terminal3athat is the request destination (i.e., the remote control destination). Thus, the transmitting and receiving part51of the service providing system5receives the communication start request.

Next, the service providing system5determines whether remote control is possible (step S63). Below, with the use ofFIG. 19, a process of determining whether remote control is possible will be described in detail.FIG. 19is a flowchart illustrating one example of a process of determining whether remote control is possible.

As illustrated inFIG. 19, the search part53searches, in the communication object management table, the fields of terminal IDs of communication sources and the fields of terminal IDs of communication destinations with which communication is possible with the use of the respective terminal IDs of the communication terminal3band the communication terminal3areceived in step62as search keys (step S63-1).

Next, the determination part54determines whether the respective terminal IDs of the communication terminal3band the communication terminal3aare associated with one another as a communication source and a communication destination and managed in the same record (step S63-2). In a case where the determination part54determines that these communication terminals have been associated with one another as a communication source and a communication destination and managed in the same record (YES), the process of step63ends.

However, in a case where the determination part54determines that these communication terminals are not managed as being associated with one another as a communication source and a communication destination in the same record (NO), the storing and reading part59outputs data of a communication not possible screen page (i.e., a remote control not possible screen page) previously stored in the storage part5000(step S63-4). In this case, returning toFIG. 18, the transmitting and receiving part51transmits, to the communication terminal3b, request result information that includes data of a request result screen page and indicates that communication is not possible (step S64). Thus, the transmitting and receiving part31of the communication terminal3breceives the request result information. In this case, in step S71that will be described later, the display control part33of the communication terminal3bdisplays the remote control not possible screen page s4such as the screen page illustrated inFIG. 20Aon the display317.

Hereinafter, the description will be continued for a case where the determination part54determines that the communication terminals are associated with one another as a communication source and a communication destination and managed in the same record (YES in step S63-2).

As illustrated inFIG. 18, the storing and reading part59searches the state management table with the use of the terminal ID of the communication terminal3athat is the communication destination, received in step S62, to retrieve the IP address of the corresponding communication terminal3a(step S65). Then, the transmitting and receiving part51transmits, to the communication terminal3aidentified by the IP address retrieved in step S65, a communication start request (i.e., a remote control start request) (step S66). The communication start request includes the terminal ID of the communication terminal3bthat is the request source and the terminal ID of the communication terminal3athat is the request destination. Thus, the transmitting and receiving part31of the communication terminal3areceives the communication start request.

Next, the short-range communication part38of the communication terminal3aprepares for remote control to cause the photographing apparatus10to start capturing an image of a subject, a scene, or the like (step S67). As a result, the transmitting and receiving part31of the communication terminal3atransmits, to the service providing system5, a request result responsive to the communication start request (i.e., a result indicating that the preparation has been completed) (step S68). Thus, the transmitting and receiving part51of the service providing system5receives the request result.

Next, the storing and reading part59of the service providing system5outputs previously stored data of a communication possible screen page (i.e., a remote control possible screen page s5) (step S69). Then, the transmitting and receiving part51transmits, to the communication terminal3bthat is the request source of step S62, request result information that includes the data of the communication possible screen page and indicates that communication is possible (step S70). Thus, the transmitting and receiving part31of the communication terminal3breceives the request result information.

Next, the display control part33of the communication terminal3bdisplays the remote control possible screen page s5such as the screen page illustrated inFIG. 20Bon the display317. Note that the remote control not possible screen page s4illustrated inFIG. 20Aindicates that the communication destination is not the communication terminal of the user of the request source and therefore the user cannot perform communication. The remote control not possible screen page s4includes an “OK” button b42for the user understanding the displayed screen page s4, to close the remote control not possible screen page s4. In contrast, the remote control possible screen page s5illustrated inFIG. 20Bindicates that the user can perform communication, because the communication terminal3aof the request destination is the communication terminal of the user of the request source. The remote control possible screen page s5further includes a “START REMOTE CONTROL” button b52for the user to actually start remote control. In response to the user's pressing the “START REMOTE CONTROL” button b52, the communication terminal3a, for example, comes to be able to perform remote control of the photographing apparatus10such as to start and end capturing an image.

Next, with the use ofFIGS. 21, 22A, and22B, a process where a communication terminal3requests a service providing system5to log out will be described.FIG. 21is a sequence diagram illustrating one example of a logout process.FIGS. 22A and 22Billustrate examples of logout screen pages. Note that a logout screen page can be displayed on the display317in response to, for example, the user of a communication terminal3performing a predetermined operation on the communication terminal3.

As illustrated inFIG. 21, in response to the user pressing a “LOGOUT” button b62included in a logout request screen page s6(seeFIG. 22B) displayed on the display317by the display control part33of a communication terminal3, the receiving part32receives the logout request (step S81).

Next, the transmitting and receiving part31transmits to a service providing system5a logout request (step S82). The logout request includes the terminal ID of the communication terminal3of the request source. Thus, the transmitting and receiving part51of the service providing system5receives the logout request.

Next, the removing part55of the service providing system5removes from the state management table the record that includes the terminal ID of the communication terminal3that is the request source (step S83). Further, in a case where the communication state information, associated with a terminal ID that includes the same user ID as the user ID included in the terminal ID included in the record that is thus removed by the removing part55, indicates an offline state, the storing and reading part59changes the communication state information from offline to online and manages the changed communication state information in the state management table (step S84). Note that in a case where there are a plurality of pieces of communication state information having offline states associated with the terminal IDs including the same user IDs as the user ID of the terminal ID included in the record thus removed by the removing part55in the communication state management table, the storing and reading part59changes the piece of the communication state information to online according to the order of the transmitting and receiving part51receiving the login requests from the respective communication terminals3. For example, in a case of the state management table illustrated inFIG. 8, in response to a record including a terminal ID being removed, the communication state information of offline (1) associated with a terminal ID including the same user ID included in the terminal ID of the removed record is changed to online. Then, in response to a record including a terminal ID having the same user ID being removed subsequently, the communication state information of offline (2) associated with a terminal ID including the same user ID included in the terminal ID of the removed record is changed to online.

Thus, communication state information of a communication terminal3once managed with the communication state information of offline as a result of the upper limit of the permissible number of communication terminals of the same user that the same user can use to perform communication among these communication terminals being exceeded is changed to online as a result of another communication terminal3of the same user logging out. As a result, communication by the communication terminal3for which the communication state information has been thus changed to online becomes possible.

Next, the removing part55removes from the communication object management table the record including the terminal ID of the communication terminal3of the request source managed in the “communication source” field (step S85). Further, the removing part55removes from the “communication destination” fields of the communication object management table the terminal ID of the communication terminal3of the request source (step S86).

Next, the transmitting and receiving part51transmits to the communication terminal3of the request source a logout completion report. Thus, the transmitting and receiving part31of the communication terminal3of the request source receives the logout completion report. Then, the display control part33of the communication terminal3of the request source displays on the display317a logout completion screen page s7such as the screen page illustrated inFIG. 22B. The logout completion screen page s7indicates that logout has been completed. The logout completion screen page s7further includes an “OK” button b72for the user understanding the contents of the displayed screen page s7to close the logout completion screen page s7.

<<Main Advantageous Effects of Embodiment>>

Thus, according to the embodiment, a terminal ID includes a user ID (a to-be-authenticated section) and a not-to-be-authenticated section. Therefore, once a to-be-authenticated section and a password are registered; for a case where the user uses a plurality of communication terminals having differing not-to-be-authenticated sections, the user need not perform a plurality of registering operations for the respective communication terminals. Thus, troublesomeness to the user can be avoided.

Further, a service providing system5uses a method where, in the communication object management table, a plurality of terminal IDs that include a common user ID, i.e., a to-be-authenticated section, and identify differing communication terminals are associated with each other as respective terminal IDs of communication sources and communication destinations that can perform communication with the communication sources: this method makes the management easier. Further, as described above concerning a process such as step S63-2ofFIG. 19, communication is permitted only between communication terminals of the same user. Therefore, it is possible to prevent, for example, a user from freely performing remote control of a communication terminal of another user, and thus, security can be easily maintained.

Further, a service providing system5uses a method where, in the state management table, a terminal ID that includes a user ID is used to identify a communication terminal that has requested login and is associated with communication state information that indicates a communication state of the communication terminal and is managed; this method enables easier registration of a communication terminal to be used to receive a service. Further, as described above concerning a process such as step S46-2ofFIG. 16, the number of communication terminals, even though the communication terminals are communication terminals of the same user, permitted to perform communication with each other is limited to a predetermined number. Thus, according to a service providing system, not only it is possible to easily register communication terminals of users but also it is possible to reduce a load of a server system that provides a service.

Further, it is possible to easily achieve fairness among users (for example, it is possible to prevent a service providing system5from being used only by a certain user). According to the embodiment, as described above, even in a case where a user will use a plurality of communication terminals having differing not-to-be-authenticated sections, the user need not perform a registering operation for each of the communication terminals. Thus, troublesomeness to the user can be avoided. As a result, a user may log in many communication terminals to a service providing system5and generate many sessions to receive services by using these communication terminals. Even in such a situation, as a result of the number of communication terminals, even though the communication terminals are communication terminals of the same user, permitted to perform communication with each other being limited to a predetermined number as described above, it is possible to easily achieve fairness among users (for example, it is possible to prevent a service providing system5from being used only by a certain user).

Further, in the communication object management table, after communication terminals log in, a service providing system5automatically registers (see steps S46-5and S46-6), as communication terminals that can perform communication with each other, only a plurality of terminal IDs of the same user for which communication state information is managed as online in the state management table (see step S46-3ofFIG. 16). Further, after a communication terminal logs out, a service providing system5automatically removes from the communication object management table (see steps S85and S86ofFIG. 21) the terminal ID which is thus removed from the state management table (see step S83). By thus dynamically changing management of terminal IDs in the communication object management table in response to login and logout of the communication terminals, the user need not be aware of the communication object management table, and therefore, troublesomeness to the user for preparing for starting communication can be avoided.

Thus, the service providing systems, the service delivery systems, the service providing methods, and the non-transitory recording media have been described in the embodiment. However, the present invention is not limited to the embodiment, and various modifications and improvements can be made within the scope of the present invention.

In the above-described embodiment, in step S25ofFIG. 13, the user inputs a terminal ID and a password. However, an embodiment is not limited to this method. For example, in a case where a communication terminal does not display a screen page for the user to input information as in a case where the communication terminal is an electric component, a terminal ID and a password previously stored in the communication terminal are transmitted to a service providing system in step S26. As a method to previously store a terminal ID and a password in a communication terminal, a method in which the terminal ID and the password are transmitted from another PC to the communication terminal through a communication network; a method in which a recording medium (a SIM card or the like) in which the terminal ID and the password are recorded is inserted in the communication terminal and the terminal ID and the password are transmitted to the communication terminal from the recording medium; and so forth can be cited.

DESCRIPTION OF REFERENCE SIGNS

1service delivery system3communication terminal3acommunication terminal (one example of a second communication terminal)3bcommunication terminal (one example of a first communication terminal)3ccommunication terminal5service providing system5aservice providing system5bservice providing system7authentication system7aauthentication system7bauthentication system7cauthentication system9communication network10photographing apparatus51transmitting and receiving part (one example of a receiving part and one example of a transmitting part)52authentication part (one example of an authentication part)53search part (one example of a search part)54determination part (one example of a determination part)55removing part (one example of a removing part)59storing and reading part5000storage part5001state management DB (one example of a state management part)5002authentication system management DB5003communication object management DB (one example of a communication object management part)

RELATED ART DOCUMENT

Patent Document