WO2012023190A1 - 通信端末装置、着信処理プログラム、および着信処理方法 - Google Patents

通信端末装置、着信処理プログラム、および着信処理方法 Download PDF

Info

Publication number
WO2012023190A1
WO2012023190A1 PCT/JP2010/063942 JP2010063942W WO2012023190A1 WO 2012023190 A1 WO2012023190 A1 WO 2012023190A1 JP 2010063942 W JP2010063942 W JP 2010063942W WO 2012023190 A1 WO2012023190 A1 WO 2012023190A1
Authority
WO
WIPO (PCT)
Prior art keywords
oss
caller
request
unit
incoming
Prior art date
Application number
PCT/JP2010/063942
Other languages
English (en)
French (fr)
Inventor
政秀 野田
西口 直樹
矢崎 昌朋
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/063942 priority Critical patent/WO2012023190A1/ja
Priority to JP2012529437A priority patent/JP5397549B2/ja
Publication of WO2012023190A1 publication Critical patent/WO2012023190A1/ja
Priority to US13/759,571 priority patent/US8768330B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location

Definitions

  • the present invention relates to a communication terminal device that processes incoming calls, an incoming call processing program, and an incoming call processing method.
  • a mobile terminal including a mobile device OS, an application manager that controls a non-contact IC (Integrated Circuit), and a device driver of the non-contact IC.
  • the mobile device OS executes various functions of the mobile terminal.
  • the device driver drives the OS of the contactless IC according to the control of the application manager.
  • a communication system including a tag that transmits ID information of its own device, a server that can be connected to a cellular communication network, and an aggregation point that aggregates information from the tag.
  • the aggregation point includes a receiving unit that receives ID information from a tag and a communication unit that performs cellular communication via a cellular communication network, and a switching signal that switches between a cellular communication mode and a plurality of modes including a tag receiving function. Is received from the server, and mode switching control is performed.
  • the above-described prior art has a problem that it is difficult to determine which OS should be used when an incoming call is received when a plurality of OSs operating on a terminal have different characteristics.
  • a caller makes a videophone call
  • an OS that does not support the videophone call is used on the receiving side, a videophone call cannot be made and communication is hindered. There is.
  • An object of the present invention is to provide a communication terminal device, an incoming call processing program, and an incoming call processing method capable of appropriately processing an incoming call request from a caller in order to solve the above-described problems caused by the prior art. .
  • the communication terminal device, the incoming call processing program, and the incoming call processing method accept an incoming call request from the caller, and the caller requests based on the received incoming call request
  • the communication service requested by the specified sender is selected from the plurality of OSs based on the communication service that can be processed by each OS included in the plurality of OSs operating on the own terminal.
  • the OS that can be processed is searched, and the incoming request is allocated to the searched OS.
  • the incoming call processing program According to the communication terminal device, the incoming call processing program, and the incoming call processing method, there is an effect that it is possible to appropriately process an incoming call request from a caller.
  • FIG. 2 is a block diagram illustrating an example of a functional configuration of a communication terminal device 100 according to the first embodiment.
  • 3 is a flowchart illustrating an example of an incoming call processing procedure of the communication terminal apparatus according to the first embodiment;
  • FIG. 3 is a block diagram illustrating a hardware configuration of a communication terminal device according to a second embodiment.
  • 6 is an explanatory diagram of an example of a communication terminal device according to a second embodiment;
  • FIG. 10 is an explanatory diagram of an example of a communication terminal device according to a third embodiment
  • the communication terminal device 100 is a computer having a communication function, such as a mobile phone, a PHS (Personal Handy-phone System) phone, and a smartphone.
  • a communication function such as a mobile phone, a PHS (Personal Handy-phone System) phone, and a smartphone.
  • FIG. 1 is a block diagram of an example of a functional configuration of the communication terminal device 100 according to the first embodiment.
  • the communication terminal device 100 is configured to include a reception unit 101, a specification unit 102, a search unit 103, and an allocation unit 104.
  • the accepting unit 101 accepts an incoming call request from the caller 110.
  • the transmission source 110 is a communication terminal device that can communicate with the communication terminal device 100 via a telephone network provided by a communication carrier, for example.
  • the incoming request is an incoming request for a telephone or e-mail.
  • the incoming request includes, for example, the identifier of the caller 110 and the identifier of the communication service requested by the caller 110.
  • the identifying unit 102 identifies the communication service requested by the caller 110 based on the received incoming request.
  • the communication service is a service provided to a user by a communication company. Examples of the communication service include a service that allows the user to make a call while looking at the other party's face, a service that allows three or more people to make a call, and a service that displays a message such as characters and pictograms on the incoming call screen of the other party simultaneously with the incoming call.
  • the specifying unit 102 specifies the identifier of the communication service requested by the caller 110 included in the received incoming request.
  • a plurality of communication services provided by the communication company to the user are expressed as “communication services S1 to Sm”.
  • the search unit 103 can process a communication service requested by the identified sender 110 from a plurality of OSs based on a communication service that can be processed by each OS included in the plurality of OSs operating on the own terminal. Search the OS.
  • each OS is software that processes an incoming call request from the caller 110.
  • Each OS includes a communication service that can be processed among communication services S1 to Sm and a communication service that cannot be processed.
  • the search unit 103 searches the OSi table 200 shown in FIG. 2 for the OSi corresponding to the identifier of the communication service Sj requested by the caller 110.
  • the OS correspondence table 200 is a table that represents a communication service that can be processed by each OS included in a plurality of OSs operating on its own terminal. Here, the contents stored in the OS correspondence table 200 will be described.
  • FIG. 2 is an explanatory diagram showing an example of the contents stored in the OS correspondence table.
  • the OS correspondence table 200 stores each OSi included in the plurality of OS1 to OSn and the service ID of the communication service Sj that can be processed by each OSi in association with each other.
  • the service ID is an identifier of the communication service Sj provided by the communication company to the user.
  • the OS name is the name of the OSi that operates on the communication terminal device 100.
  • the search unit 103 refers to the OS correspondence table 200 to specify the specified service ID “S1”.
  • the corresponding OS name “OS1” is searched.
  • the allocation unit 104 allocates an incoming request from the caller 110 to the searched OSi. Specifically, for example, the allocator 104 delivers the incoming request from the caller 110 to a functional unit that processes the retrieved OSi incoming request. As a result, the incoming request from the caller 110 is processed by the OSi, and the communication service Sj requested by the caller 110 is provided.
  • FIG. 3 is a flowchart of an example of an incoming call processing procedure of the communication terminal apparatus according to the first embodiment.
  • the receiving unit 101 determines whether an incoming request from the caller 110 has been received (step S301).
  • the reception unit 101 waits to receive an incoming request from the caller 110 (step S301: No).
  • the specifying unit 102 specifies the service ID of the communication service Sj requested by the caller 110 included in the received incoming request (step S302). ).
  • the search unit 103 searches the OS correspondence table 200 shown in FIG. 2 for an OSi corresponding to the service ID of the communication service Sj requested by the caller 110 (step S303). Then, the allocation unit 104 allocates an incoming request from the caller 110 to the searched OSi (step S304), and the series of processes according to this flowchart ends.
  • the OSi that can process the communication service Sj requested by the caller 110 is searched from the plurality of OS1 to OSn operating on the own terminal, An incoming request from the caller 110 can be allocated. Thereby, the incoming request from the caller 110 can be appropriately processed, and the communication service Sj reflecting the intention of the caller 110 can be provided to the user.
  • FIG. 4 is a block diagram of a hardware configuration of the communication terminal apparatus according to the second embodiment.
  • a communication terminal device 400 includes a CPU (Central Processing Unit) 401, a ROM (Read-Only Memory) 402, a RAM (Random Access Memory) 403, an I / F (Interface) 404, a display 405, and the like.
  • a bus 410 Each component is connected by a bus 410.
  • the CPU 401 governs overall control of the communication terminal device 400.
  • the CPU 401 may be a single core or a multi-core.
  • the ROM 402 stores programs such as a boot program.
  • the RAM 403 is used as a work area for the CPU 401.
  • the I / F 404 is connected to a wireless or wired network 407 and is connected to other devices via the network 407.
  • the I / F 404 controls an internal interface with the network 407 and controls input / output of data from an external device.
  • the display 405 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box.
  • a liquid crystal display can be adopted.
  • the input device 406 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data.
  • the input device 406 may be a touch panel type input pad, a numeric keypad, or the like.
  • FIG. 5 is an explanatory diagram of an example of the communication terminal apparatus according to the second embodiment.
  • the communication terminal apparatus 400 is configured to include virtual machines VM0 to VMn and a hypervisor VMM.
  • the virtual machines VM0 to VMn are virtual computers that operate on the communication terminal device 400.
  • the virtual machines VM0 to VMn are software that operates in an execution environment constructed by dividing the hardware resources (CPU 401, ROM 402, RAM 403, I / F 404, etc.) of the communication terminal device 400.
  • the entities of the virtual machines VM0 to VMn include, for example, software such as programs and OSs, variables given to the software, and information specifying hardware resources for executing the software.
  • the respective virtual machines VM1 to VMn execute different OS1 to OSn, respectively.
  • the hypervisor VMM is software that virtualizes a computer and performs control so that a plurality of different OS1 to OSn can be executed. Specifically, for example, the hypervisor VMM operates a plurality of different OS1 to OSn on the virtual machines VM1 to VMn.
  • the virtual machine VM0 includes an incoming call function unit 501, an incoming call sharing unit (back end) 502, and an incoming call control unit 503.
  • the incoming call function unit 501 accepts an incoming call request from the caller 110.
  • the incoming call function unit 501 is, for example, the I / F 404 shown in FIG.
  • the incoming call sharing unit (back end) 502 is a function for sharing the incoming call function unit 501 among a plurality of OS1 to OSn.
  • the incoming call control unit 503 determines a virtual machine that processes an incoming call request from the caller 110.
  • Each of the virtual machines VM1 to VMn includes an incoming call sharing unit (front end) 504, a reference unit 505, a processing unit 506, and a management unit 507.
  • the incoming call sharing unit (front end) 504 is a function for sharing the incoming call function unit 501 of the virtual machine VM0 among a plurality of OS1 to OSn.
  • the reference unit 505 In response to a request from the incoming call control unit 503 of the virtual machine VM0, the reference unit 505 notifies the incoming call control unit 503 of information on each of the virtual machines VM1 to VMn.
  • the processing unit 506 processes an incoming call request from the transmission source 110.
  • the management unit 507 manages the service Sj that can be processed by each of the OS1 to OSn operating on each of the virtual machines VM1 to VMn.
  • the incoming function unit 501 of the virtual machine VM0 is shared by a plurality of different OS1 to OSn.
  • the communication terminal apparatus 400 includes an incoming call sharing unit (back end) 502 that drives the I / F 404, while an incoming call sharing unit (front end) for sharing the I / F 404 with a plurality of OS1 to OSn. ) 504.
  • communication between virtual machines in the communication terminal device 400 is performed via the hypervisor VMM. Specifically, for example, communication between the incoming call sharing unit (back end) 502 of the virtual machine VM0 and the incoming call sharing units (front end) 504 of the virtual machines VM1 to VMn is performed via the hypervisor VMM. Is called.
  • incoming call function unit 501 when receiving an incoming request from caller 110, incoming call function unit 501 notifies the incoming call request to incoming call sharing unit (back end) 502.
  • the incoming call sharing unit (back end) 502 notifies the incoming call control unit 503 of an incoming call request from the caller 110.
  • the incoming call control unit 503 determines which virtual machine VM1 to VMn is to process the incoming call request from the caller 110 and notifies the incoming call sharing unit (back end) 502.
  • the incoming call sharing unit (back end) 502 passes the incoming call request from the caller 110 to the incoming call sharing unit (front end) 504 of the virtual machines VM1 to VMn notified from the incoming call control unit 503.
  • the incoming call sharing unit (front end) 504 of each of the virtual machines VM1 to VMn passes the incoming request notified from the incoming call sharing unit (back end) 502 of the virtual machine VM0 to the processing unit 506. Then, the processing unit 506 processes an incoming call request from the caller 110.
  • virtual machine VMi an arbitrary virtual machine among the virtual machines VM1 to VMn is denoted as “virtual machine VMi”.
  • FIG. 6 is a block diagram of a functional configuration of the communication terminal apparatus according to the second embodiment.
  • the communication terminal device 400 includes a reception unit 101, a specification unit 102, a search unit 103, an allocation unit 104, a determination unit 601, a determination unit 602, and an update unit 603. .
  • each functional unit (accepting unit 101 to allocating unit 104, determining unit 601 to updating unit 603) executes, for example, a program stored in a storage device such as ROM 402 and RAM 403 illustrated in FIG. Or the function is realized by the I / F 404.
  • each functional unit receives the processing results of each functional unit (receiving unit 101 to allocation unit 104, determination unit 601 to update unit 603) are stored in a storage device such as the RAM 403, for example.
  • the reception unit 101 corresponds to, for example, the incoming call function unit 501 of the virtual machine VM0 illustrated in FIG.
  • the allocation unit 104 corresponds to, for example, the incoming call sharing unit (back end) 502 illustrated in FIG.
  • the specifying unit 102, the search unit 103, the determination unit 601 to the update unit 603 correspond to the incoming call control unit 503 shown in FIG.
  • the accepting unit 101 accepts an incoming call request from the caller 110. Specifically, for example, the reception unit 101 receives an incoming request from the caller 110 via the network 407 (see FIG. 4).
  • the identifying unit 102 identifies the communication service Sj requested by the caller 110 based on the received incoming request. Specifically, for example, the specifying unit 102 specifies the service ID of the communication service Sj requested by the caller 110 included in the received incoming call request.
  • the search unit 103 searches for an OSi that can process the communication service Sj requested by the specified transmission source 110 from among a plurality of OS1 to OSn operating on its own terminal.
  • each of the OS1 to OSn is an OS operating on each of the virtual machines VM1 to VMn operating on the communication terminal device 400. Therefore, “searching for OSi capable of processing the communication service Sj from OS1 to OSn” means “searching for virtual machine VMi capable of processing the communication service Sj from the virtual machines VM1 to VMn”. Equivalent to.
  • the search target of the search unit 103 is described as “virtual machine VMi capable of processing the communication service Sj”.
  • the search unit 103 refers to the virtual machine correspondence table 700 illustrated in FIG. 7 and searches for the virtual machine VMi corresponding to the service ID of the communication service Sj requested by the transmission source 110.
  • the virtual machine correspondence table 700 is a table representing services Sj that can be processed by the virtual machine VMi operating on the communication terminal device 400.
  • the virtual machine correspondence table 700 is stored in, for example, a storage device such as the RAM 403 illustrated in FIG. Here, the contents stored in the virtual machine correspondence table 700 will be described.
  • FIG. 7 is an explanatory diagram showing an example of the contents stored in the virtual machine correspondence table.
  • the virtual machine correspondence table 700 stores the machine ID of the virtual machine VMi that can process the communication service Sj for each communication service Sj provided by the communication company to the user.
  • the service ID is an identifier of the communication service Sj provided to the user by the communication company.
  • the machine ID is an identifier of the virtual machine VMi that operates on the communication terminal device 400. According to the virtual machine correspondence table 700, the service Sj that can be processed by the virtual machine VMi operating on the communication terminal device 400 can be specified.
  • the search unit 103 selects virtual machines VMi that can be processed for each communication service Sj from the virtual machines VM1 to VMn. Search for. For example, it is assumed that communication services S1 and S2 are specified as the communication service Sj requested by the caller 110.
  • the search unit 103 refers to the virtual machine correspondence table 700 and searches for the machine ID “VM1” corresponding to the service ID “S1”.
  • the search unit 103 refers to the virtual machine correspondence table 700 and searches for the machine IDs “VM1, VM2” corresponding to the service ID “S2”.
  • two virtual machines VM1 and VM2 are searched as virtual machines VMi that can process the communication service S1 or S2 requested by the caller 110.
  • a plurality of virtual machines searched as virtual machines capable of processing the communication service Sj requested by the transmission source 110 are represented as “virtual machines VM [1] to VM [K]”.
  • the determination unit 601 processes an incoming request from the caller 110 from the virtual machines VM [1] to VM [K]. To determine a virtual machine VMi. Specifically, for example, the determination unit 601 determines a virtual machine VMi for processing an incoming request based on the number of communication services Sj requested by the transmission source 110 that can be processed by each virtual machine VM [k]. To do.
  • the determination unit 601 determines, for each searched virtual machine VM [k], the number of communication services Sj requested by the transmission source 110 that can be processed by the virtual machine VM [k] C [ k]. Then, the determination unit 601 determines a virtual machine VMi for processing an incoming request from the virtual machines VM [1] to VM [K] based on the number C [k] of each virtual machine VM [k]. To do.
  • the virtual machines VM1 and VM2 are searched as the virtual machines VM [k] that can process the communication services S1 or S2.
  • the determination unit 601 counts the numbers C1 and C2 of the communication services Sj requested by the transmission source 110 that can be processed by the virtual machines VM1 and VM2.
  • the determination unit 601 determines the maximum number C1 (C1> C2) of the virtual machines VM1 from the transmission source 110 among the numbers C1 and C2 of the communication services Sj that can be processed by the virtual machines VM1 and VM2.
  • the virtual machine VMi for processing the incoming request is determined.
  • the virtual machine VMi for processing may be determined.
  • the virtual machine VMi for processing the incoming request from the caller 110 may be determined. For example, among the plurality of virtual machines VM [k] having the maximum number C [k], the virtual machine VM [k] capable of processing the service Sj having a high priority is processed for the incoming request from the source 110. To determine the virtual machine VMi.
  • the allocation unit 104 allocates the incoming request from the transmission source 110 to the determined virtual machine VMi.
  • the incoming call sharing unit (back end) 502 passes the incoming call request from the caller 110 to the incoming call sharing unit (front end) 504 of the determined virtual machine VMi.
  • the incoming call sharing unit (front end) 504 of the virtual machine VMi receives an incoming request from the caller 110 and passes it to the processing unit 506.
  • the processing unit 506 of the virtual machine VMi processes an incoming call request from the caller 110.
  • the update unit 603 updates a table representing the communication service Sj that can be processed by each OSi operating on its own terminal.
  • the incoming call control unit 503 receives an update request from the management unit 507 of the virtual machine VMi, and updates the storage content of the virtual machine correspondence table 700.
  • the update request from the management unit 507 includes, for example, the service ID of the service Sj that can be processed by the virtual machine VMi.
  • the management unit 507 of the virtual machine VMi controls the service ID of the service Sj that can be processed by the virtual machine VMi. Notification to the unit 503.
  • the incoming call control unit 503 updates the stored contents of the virtual machine correspondence table 700 according to the service ID of the service Sj that can be processed by the virtual machine VMi received from the management unit 507.
  • the search unit 103 receives an incoming call from the caller 110 in consideration of the intention of the callee (user of the communication terminal device 400).
  • the virtual machine VMi that processes the request may be determined.
  • the intention of the recipient may be considered.
  • the virtual machine VMi that processes the incoming request from the caller 110 is determined from the virtual machines VM [1] to VM [K] in consideration of the intention of the called party (user of the communication terminal device 400).
  • the determination methods (1) to (6) to be performed will be described.
  • ⁇ Determination method (1)> As a function of the communication terminal device 400, for example, there is a function of displaying on the display 405 the name and face image of the user of the caller 110 registered in the telephone directory. When the name or face image of the user of the caller 110 is displayed on the display 405, the callee can easily identify the caller 110.
  • the virtual machine VM [k] that can display the name and face image of the user of the transmission source 110 on the display 405 is used as the virtual machine that processes the incoming request from the transmission source 110. Determine VMi.
  • the determination unit 602 determines whether or not the identifier of the transmission source 110 included in the incoming call request is registered in the transmission source list associated with each virtual machine VM [k]. judge.
  • the identifier of the caller 110 included in the incoming call request is, for example, the telephone number or mail address of the caller 110.
  • the transmission source list is information that stores an identifier of a specific transmission source.
  • the sender list is, for example, a phone book that registers the name, telephone number, mail address, face image, and the like of a particular sender. When there is an incoming call from the caller registered in the telephone directory, for example, the name and face image of the caller are displayed on the display 405 of the communication terminal device 400.
  • phone books TR1 to TRn the phone books associated with the respective virtual machines VM1 to VMn are denoted as “phone books TR1 to TRn”, and are associated with the respective virtual machines VM [1] to VM [K].
  • the phone books are denoted as “phone books TR [1] to TR [K]”, respectively.
  • Each of the phone books TR1 to TRn is stored in a storage device such as the ROM 402 and the RAM 403 in association with the virtual machines VM1 to VMn, for example.
  • the determination unit 602 identifies the telephone number of the caller 110 included in the incoming call request. Then, the determination unit 602 determines whether the telephone number of the specified caller 110 is registered in the telephone directory TR [k] associated with each virtual machine VM [k].
  • the incoming call control unit 503 inquires of the reference unit 505 of the virtual machine VM [k] whether or not the telephone number of the caller 110 is registered in the telephone directory TR [k]. .
  • the reference unit 505 of the virtual machine VM [k] determines whether or not the telephone number of the caller 110 is registered in the phone book TR [k], and notifies the incoming call control unit 503 of the determination result.
  • the phone book TR1 of the virtual machine VM1 as an example, the stored contents of the phone book TR1 will be described.
  • FIG. 8 is an explanatory diagram showing an example of the contents stored in the telephone directory.
  • the name, telephone number, mail address and face image for each specific caller are registered in the telephone directory TR1.
  • the face image may be an image obtained by photographing a specific caller's face, or may be an avatar imitating a specific caller.
  • the telephone number of the caller 110 is “090-xxxx-1234”.
  • the determination unit 602 places a call in the telephone directory TR1 associated with the virtual machine VM1. It is determined that the original 110 telephone number is registered.
  • the determining unit 601 determines a virtual machine VMi for processing an incoming request from the caller 110 based on the determined determination result. Specifically, for example, the determination unit 601 processes an incoming request from the caller 110 for the virtual machine VM [k] in which the phone number of the caller 110 is registered in the phone book TR [k]. To determine the virtual machine VMi.
  • the virtual machines VM [1] to VM [K] are virtual machines VM1 to VM3, and the telephone number of the caller 110 is registered only in the telephone directory TR1 of the virtual machine VM1 among the virtual machines VM1 to VM3. .
  • the determination unit 601 determines the virtual machine VM1 as a virtual machine VMi for processing an incoming request from the transmission source 110.
  • the name and face image of the caller 110 are displayed on the display 405 when receiving a call, and the convenience of the callee is improved, and the communication service Sj reflecting the intention of the caller 110 is provided to the user. be able to.
  • ⁇ Determination method (2)> There may be a plurality of applications as applications for providing the same communication service Sj. In such a case, from the viewpoint of providing a high-quality communication service Sj, for example, when performing a videophone, it is desirable to use an application with high video encoding performance.
  • the determination unit 601 determines a virtual machine VMi for processing an incoming request from the transmission source 110 based on the performance of an application operating on each virtual machine VM [k].
  • the application is software for providing the communication service Sj requested by the transmission source 110.
  • an application for example, there is an application for displaying an image of a videophone call in which a user makes a call while looking at each other's face.
  • the determination unit 601 determines a virtual machine VMi for processing an incoming request from the caller 110 by referring to the application list 900 shown in FIG.
  • the application list 900 is stored in a storage device such as the ROM 402 and the RAM 403, for example.
  • the contents stored in the application list 900 will be described.
  • FIG. 9 is an explanatory diagram showing an example of the stored contents of the application list.
  • an application list 900 has fields for machine ID, application ID, and performance. By setting information in each field, the application installed in each virtual machine VMi and the performance of the application are stored.
  • the machine ID is an identifier of the virtual machine VMi.
  • the application ID is an application identifier.
  • Performance is the performance of the application.
  • the application performance includes, for example, the resolution of the video displayed on the display 405.
  • the communication service Sj requested by the caller 110 is “videophone”.
  • virtual machines VM [1] to VM [K] are virtual machines VM1 and VM2, and applications that operate to provide a videophone are “applications A1 and A2”.
  • the determination unit 601 refers to the application list 900 to identify the performance of the applications A1 and A2 operating on the virtual machines VM1 and VM2 in order to provide a videophone.
  • the resolution “240 ⁇ 240 (pixels)” is specified as the performance of the application A1
  • the resolution “320 ⁇ 320 (pixels)” is specified as the performance of the application A2.
  • the determination unit 601 specifies the application A2 having the maximum resolution. Then, the determination unit 601 determines the virtual machine VM2 in which the identified application A2 is installed among the virtual machines VM1 and VM2 as the virtual machine VMi for processing an incoming request from the caller 110.
  • the stored contents of the application list 900 are updated in response to an update request from the management unit 507 of the virtual machine VMi when, for example, a new application is installed in the virtual machine VMi.
  • the update request includes, for example, an application ID of a newly installed application and information on the performance of the application.
  • ⁇ Determination method (3)> As a usage form of the communication terminal device 400, there is a case where the OSi used at the time of incoming call is properly used depending on the time zone. For example, it is assumed that a work OS is used from 9:00 to 17:00 during work hours, and a private OS is used from 17:01 to 8:59. .
  • the determination unit 601 determines a virtual machine VMi for processing the incoming request from the virtual machines VM [1] to VM [K] based on the time when the incoming request from the transmission source 110 is received. To do.
  • the time when the incoming request is accepted can be specified by, for example, the function of the communication terminal device 400 that measures the time.
  • the determining unit 601 determines a virtual machine VMi for processing an incoming request from the caller 110 by referring to the time zone list 1000 shown in FIG.
  • the time zone list 1000 is stored in a storage device such as the ROM 402 and the RAM 403, for example.
  • the contents stored in the time zone list 1000 will be described.
  • FIG. 10 is an explanatory diagram showing an example of the contents stored in the time zone list.
  • the time zone list 1000 stores the OS name of the OSi used at the time of incoming call and the machine ID of the virtual machine VMi that operates OSi in association with the time zones T1 and T2.
  • virtual machines VM [1] to VM [K] are virtual machines VM1 and VM2.
  • the determining unit 601 refers to the time zone list 1000 and determines the virtual machine VM1 as the virtual machine VMi for processing the incoming request. To do.
  • the determining unit 601 determines the virtual machine VM2 as the virtual machine VMi for processing the incoming request.
  • a work OS can be used during work hours, and a private OS can be used during other times.
  • the determination unit 601 determines an arbitrary virtual machine VM [k] among the virtual machines VM [1] to VM [K] as a virtual machine VMi for processing an incoming request from the caller 110. May be.
  • ⁇ Determination method (4)> As a usage form of the communication terminal device 400, there is a case where the OSi used at the time of incoming call is properly used depending on the place. For example, a case where a work OS is used in the metropolitan area and a private OS is used in other places is assumed.
  • the determination unit 601 determines a virtual machine VMi for processing an incoming request from the transmission source 110 from among the virtual machines VM [1] to VM [K] based on the current position of the terminal itself.
  • the current position of the terminal is position information such as latitude and longitude indicating the current position of the terminal. Further, the current position of the terminal itself can be acquired from, for example, a GPS (Global Positioning System) mounted on the communication terminal device 400.
  • GPS Global Positioning System
  • the determining unit 601 determines a virtual machine VMi for processing an incoming request from the caller 110 by referring to the place list 1100 shown in FIG.
  • the location list 1100 is stored in a storage device such as the ROM 402 and the RAM 403, for example.
  • the contents stored in the place list 1100 will be described.
  • FIG. 11 is an explanatory diagram showing an example of the stored contents of the place list.
  • the location list 1100 associates the location information of each location L1, L2, the OS name of the OSi used at the time of incoming call, and the machine ID of the virtual machine VMi that operates OSi for each location L1, L2. I remember it.
  • the location information of each location L1, L2 is for specifying the range of each location L1, L2 by latitude and longitude, for example.
  • the determination unit 601 refers to the place list 1100 and identifies which of the places L1 and L2 the current position of the terminal itself belongs to.
  • the determination unit 601 refers to the location list 1100 and determines the virtual machine VM1 as the virtual machine VMi for processing the incoming call request.
  • the determination unit 601 refers to the location list 1100 and determines the virtual machine VM2 as the virtual machine VMi for processing the incoming call request.
  • ⁇ Determination method (5)> As a usage form of the communication terminal device 400, there is a case where a call is performed using a peripheral device connected to the communication terminal device 400. For example, it is assumed that the callee makes a call using a headset.
  • a headset is a headphone integrated with a microphone for making a call without holding the terminal main body.
  • the determination unit 601 determines a virtual machine VMi for processing an incoming request from the caller 110 based on the connection status of peripheral devices connected to each virtual machine VM [k]. Specifically, for example, first, the incoming call control unit 503 inquires of the reference unit 505 of the virtual machine VM [k] about the connection status of the headset.
  • the reference unit 505 of the virtual machine VM [k] determines whether or not a headset is connected, and notifies the incoming call control unit 503 of the determination result. Then, the incoming call control unit 503 sends an incoming request from the caller 110 to the virtual machine VM [k] to which the headset is connected based on the determination result from the reference unit 505 of each virtual machine VM [k]. The virtual machine VMi for processing is determined.
  • ⁇ Determination method (6)> As a method for determining the OSi for processing the incoming request from the caller 110, there is a method in which the called party selects an arbitrary OSi when receiving an incoming call.
  • the OSi selected by the callee at the time of the incoming call is stored as an operation history, and the OS that is frequently selected by the callee is the OSi for processing the incoming call request, so that the intention of the callee can be reflected.
  • the determination unit 601 selects the originator 110 from the virtual machines VM [1] to VM [K] based on the operation history in which the recipient selects the OSi that processes the incoming request from the originator 110 at the time of the incoming call.
  • the virtual machine VMi that processes the incoming request from is determined. Specifically, for example, the determination unit 601 determines a virtual machine VMi that processes an incoming request from the caller 110 by referring to the operation history table 1200 illustrated in FIG.
  • the operation history table 1200 is stored in a storage device such as the RAM 403, for example.
  • the contents stored in the operation history table 1200 will be described.
  • “OS1 to OS5” will be described as an example of the plurality of OS1 to OSn operating on the communication terminal device 400.
  • FIG. 12 is an explanatory diagram showing an example of the stored contents of the operation history table.
  • the operation history table 1200 is displayed for each of the services S1 to Sm for each of OS1 to OS5 selected to process an incoming request from the caller 110 by an operation input using the input device 406 of the callee. I remember the number of times.
  • the communication service Sj requested by the transmission source 110 is the communication service S7
  • the virtual machines VM [1] to VM [K] are the virtual machines VM1 to VM5.
  • the determination unit 601 first refers to the operation history table 1200 and identifies the number of times for each of the OS1 to OS5 selected for processing the incoming request from the caller 110 for the communication service S7.
  • the determination unit 601 specifies the OS 4 having the largest number of times among the OS1 to OS5. Then, the determination unit 601 determines the virtual machine VM4 that operates the OS 4 as a virtual machine VMi that processes an incoming request from the transmission source 110. Thereby, it is possible to provide the communication service Sj reflecting the intention of the called party.
  • any of the determination methods (1) to (6) described above can be arbitrarily set as a method for determining the virtual machine VMi that processes an incoming request from the caller 110. Further, a plurality of determination methods among the determination methods (1) to (6) described above may be used in combination.
  • an arbitrary virtual machine is selected from the plurality of virtual machines VM [k].
  • the machine may be determined as a virtual machine VMi that processes an incoming request from the caller 110.
  • the above-described determination methods (1) to (6) are used.
  • the virtual machine VMi that processes the incoming request may be determined.
  • the determination methods (1) to (6) described above may be used.
  • a virtual machine VMx that is set in advance for normal call reception is used as a virtual machine that processes an incoming call request from the caller 110.
  • the machine VMi may be determined.
  • the virtual machine VMx set in advance for normal incoming call may be used.
  • the normal incoming virtual machine VMx is, for example, a virtual machine VMi that realizes a minimum function necessary for a call.
  • FIG. 13 is a flowchart of an example of an incoming call processing procedure of the communication terminal apparatus according to the second embodiment.
  • the receiving unit 101 determines whether an incoming request from the caller 110 has been received (step S1301).
  • the reception unit 101 waits to receive an incoming call request from the caller 110 (step S1301: No).
  • the specifying unit 102 specifies the service ID of the communication service Sj requested by the caller 110 included in the received incoming request (step S1302). ).
  • the search unit 103 refers to the virtual machine correspondence table 700 to search for the virtual machine VMi corresponding to the service ID of the communication service Sj requested by the specified transmission source 110 (step S1303). If the virtual machine VMi is searched (step S1304: Yes), the determining unit 601 determines whether a plurality of virtual machines VM [1] to VM [K] are searched (step S1305).
  • step S1305 If a plurality of searches are not performed (step S1305: NO), the allocation unit 104 allocates an incoming request from the caller 110 to the searched virtual machine VMi (step S1306), and a series of processes according to this flowchart. Exit.
  • step S1305 when a plurality of searches are made (step S1305: Yes), the determination unit 601 executes a first determination process for determining a virtual machine VMi for processing an incoming request from the caller 110 (step S1307). Then, the allocation unit 104 allocates the incoming request from the caller 110 to the determined virtual machine VMi (step S1306), and the series of processes according to this flowchart ends.
  • step S1304 when the virtual machine VMi is not searched (step S1304: No), the determination unit 601 performs second determination processing for determining a virtual machine VMi for processing an incoming request from the caller 110. It executes (step S1308). Then, the allocation unit 104 allocates the incoming request from the caller 110 to the determined virtual machine VMi (step S1306), and the series of processes according to this flowchart ends.
  • the incoming request from the caller 110 can be appropriately processed, and the communication service Sj reflecting the intention of the caller 110 can be provided to the user.
  • FIG. 14 is a flowchart illustrating an example of a specific processing procedure of the first determination process.
  • the determination unit 602 identifies the telephone number of the caller 110 included in the incoming call request received in step S1301 shown in FIG. 13 (step S1401).
  • step S1404 when the telephone number of the caller 110 is registered (step S1404: Yes), the process proceeds to step S1410.
  • step S1404: No when the telephone number of the caller 110 is not registered (step S1404: No), the determination unit 602 increments “k” of the virtual machine VM [k] (step S1405). It is determined whether it is larger than “K” (step S1406).
  • step S1406 No
  • step S1406 No
  • step S1406 Yes
  • step S1406 Yes
  • step S1406 Yes
  • step S1407 the determining unit 601 determines whether a headset is connected to the virtual machine VM [k] (step S1408).
  • Step S1409 when the headset is connected (step S1409: Yes), the determination unit 601 determines the virtual machine VM [k] as the virtual machine VMi for processing the incoming request from the caller 110. (Step S1410), the process proceeds to Step S1306 shown in FIG.
  • step S1409: No the determination unit 601 increments “k” of the virtual machine VM [k] (step S1411), and “k” is larger than “K”. It is determined whether or not (step S1412). If “k” is equal to or less than “K” (step S1412: NO), the process returns to step S1408.
  • step S1412 when “k” is larger than “K” (step S1412: Yes), the determination unit 601 sends any virtual machine VM [k] from among the virtual machines VM [1] to VM [K] to the transmission source 110. Is determined as the virtual machine VMi that processes the incoming request from (step S1413), and the process proceeds to step S1306 shown in FIG.
  • the communication service Sj reflecting the intention of the caller 110 is provided to the user, and the convenience of the callee is improved. Can do.
  • the virtual machine VM [k] is determined as the virtual machine VMi for processing an incoming request from the caller 110.
  • the virtual machines VM [1] to VM [K] may be further narrowed down according to the connection status of the headset.
  • FIG. 15 is a flowchart illustrating an example of a specific processing procedure of the second determination process.
  • the determination unit 602 specifies the telephone number of the caller 110 included in the incoming call request received in step S1301 shown in FIG. 13 (step S1501).
  • step S1504 when the telephone number of the caller 110 is registered (step S1504: Yes), the process proceeds to step S1306 shown in FIG.
  • step S1504: No when the telephone number of the caller 110 is not registered (step S1504: No), the determination unit 602 increments “i” of the virtual machine VMi (step S1505), and “i” is greater than “n”. It is determined whether it is larger (step S1506).
  • step S1506: No when “i” is equal to or less than “n” (step S1506: No), the process returns to step S1503.
  • step S1506: Yes when “i” is larger than “n” (step S1506: Yes), the determination unit 601 receives a virtual machine VMx set for normal transmission from the virtual machines VM1 to VMn from the caller 110. The virtual machine VMi that processes the request is determined (step S1507), and the process proceeds to step S1306 shown in FIG.
  • the virtual machine VMi that can process the communication service Sj requested by the caller 110 is searched from the virtual machines VM1 to VMn that operate on its own terminal.
  • an incoming call request from the caller 110 can be allocated.
  • the incoming request from the caller 110 can be appropriately processed, and the communication service Sj reflecting the intention of the caller 110 can be provided to the user.
  • an incoming call request from the caller 110 is made based on the number Ci of the communication services Sj that can be processed by each virtual machine VMi.
  • the virtual machine VMi to be processed can be determined. Thereby, more communication services Sj requested from the caller 110 can be provided to the user.
  • the virtual machine VMi that processes the incoming request from the caller 110 can be determined. For this reason, the name and face image of the caller 110 can be displayed on the display 405 when an incoming call is received.
  • the communication service Sj reflecting the intention of the caller 110 can be provided to the user, and the convenience of the callee can be improved.
  • the virtual machine VMi for processing the incoming request from the caller 110 can be determined based on the performance of the application running on each virtual machine VM [k]. As a result, an incoming request from the caller 110 can be processed using a high-performance application, and a high-quality communication service Sj can be provided to the recipient.
  • VMi can be determined.
  • the OSi used at the time of the incoming call can be properly used according to the time zone. Specifically, for example, a work OS can be used during work hours, and a private OS can be used during other times.
  • the virtual machine VMi for processing the incoming request from the caller 110 is selected from the virtual machines VM [1] to VM [K] based on the current position of the terminal itself. Can be determined.
  • the OSi used at the time of incoming call can be properly used according to the current position of the terminal itself. Specifically, for example, it is possible to selectively use such as using a work OS in the metropolitan area and using a private OS in a place other than the metropolitan area.
  • the virtual machine VMi for processing the incoming request from the caller 110 can be determined based on the connection status of the peripheral devices connected to each virtual machine VM [k]. it can.
  • peripheral devices such as a headset can be used at the time of an incoming call, and the convenience of the recipient can be improved.
  • the virtual machine VMi that processes the incoming request from the caller 110 is determined based on the operation history in which the callee selects the OSi that processes the incoming call request from the caller 110 when the call is received. can do. Thereby, it is possible to provide the communication service Sj reflecting the intention of the called party and reduce the processing load for determining the virtual machine VMi for processing the incoming request from the caller 110.
  • FIG. 16 is an explanatory diagram of an example of the communication terminal apparatus according to the third embodiment.
  • the communication terminal device 1600 includes virtual machines VM1 to VMn and a hypervisor VMM.
  • the virtual machine VM1 includes an incoming call function unit 501, an incoming call sharing unit (back end) 502, an incoming call control unit 503, a reference unit 505, a processing unit 506, and a management unit 507.
  • Each of the virtual machines VM2 to VMn includes an incoming call sharing unit (front end) 504, a reference unit 505, a processing unit 506, and a management unit 507.
  • the incoming call sharing unit (front end) 504 is a function for sharing the incoming call function unit 501 of the virtual machine VM1 among a plurality of OS1 to OSn. That is, in the communication terminal device 1600, the incoming function unit 501 of the virtual machine VM1 is shared by a plurality of different OS1 to OSn.
  • incoming call function unit 501 when receiving an incoming request from caller 110, incoming call function unit 501 notifies incoming call request to incoming call sharing unit (back end) 502.
  • the incoming call sharing unit (back end) 502 notifies the incoming call control unit 503 of an incoming call request from the caller 110.
  • the incoming call control unit 503 determines which virtual machine VM1 to VMn will process the incoming call request from the caller 110, and notifies the incoming call sharing unit (back end) 502.
  • the incoming call sharing unit (back end) 502 passes the incoming request from the caller 110 to the processing unit 506. Then, the processing unit 506 processes an incoming call request from the caller 110.
  • the incoming call sharing unit (back end) 502 sends the incoming call sharing unit (front end) 504 of the virtual machines VM2 to VMn notified from the incoming call control unit 503 to the incoming call sharing unit 504. Pass the incoming request.
  • the incoming call sharing unit (front end) 504 of each of the virtual machines VM2 to VMn passes the incoming call request notified from the incoming call sharing unit (back end) 502 to the processing unit 506. Then, the processing unit 506 processes an incoming call request from the caller 110.
  • the communication terminal device 1600 when the incoming request from the caller 110 is processed by the virtual machine VM1, communication between the virtual machines via the hypervisor VMM becomes unnecessary. For this reason, the performance of the communication terminal device 1600 at the time of an incoming call can be improved. In particular, by including each function unit (incoming function unit 501 to incoming control unit 503) of the virtual machine VM0 described in the second embodiment in the frequently used virtual machine VMi, communication between the virtual machines is significantly reduced. can do.
  • the incoming call processing method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • the incoming call processing program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
  • the incoming call processing program may be distributed via a network such as the Internet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

 通信端末装置(100)において、受付部(101)は、発信元(110)からの着信要求を受け付ける。特定部(102)は、受け付けた着信要求に基づいて、発信元(110)が要求する通信サービス(Sj)を特定する。検索部(103)は、自端末で動作する各OS(i)が処理可能な通信サービス(Sj)を表すテーブルを参照して、複数のOS(1)~OS(n)の中から、発信元(110)が要求する通信サービス(Sj)を処理可能なOS(i)を検索する。割振部(104)は、検索されたOS(i)に、発信元(110)からの着信要求を割り振る。この結果、OS(i)により発信元(110)からの着信要求が処理されて、発信元(110)が要求する通信サービス(Sj)が利用者に提供される。

Description

通信端末装置、着信処理プログラム、および着信処理方法
 本発明は、着信を処理する通信端末装置、着信処理プログラム、および着信処理方法に関するものである。
 近年、携帯電話等の通信端末に、1台の計算機上で複数のOS(Operating System)を動作させる仮想化技術の適用が見込まれている。1台の携帯電話上で複数のOSが動作すると、これまで複数台の携帯電話を持ち歩いていた利用者は、各携帯電話の機能を1台の携帯電話にまとめることができる。
 関連する先行技術として、例えば、移動機OSと、非接触型IC(Integrated Circuit)を制御するアプリケーションマネージャと、非接触型ICのデバイスドライバとを含む移動体端末がある。移動機OSは、移動体端末の種々の機能を実行する。デバイスドライバは、アプリケーションマネージャの制御にしたがって非接触型ICのOSを駆動させる。
 また、自機のID情報を送信するタグと、セルラ通信ネットワークに接続可能なサーバと、タグからの情報を集約する集約ポイントとを含む通信システムがある。通信システムにおいて、集約ポイントは、タグからのID情報を受信する受信部と、セルラ通信ネットワーク経由のセルラ通信を行う通信部を備え、セルラ通信モードとタグ受信機能を含む複数のモードを切り替える切替信号をサーバから受信して、モードの切替制御を行う。
特開2006-72956号公報 特開2004-242274号公報
 しかしながら、上述した従来技術では、端末上で動作する複数のOSがそれぞれ異なる特徴を有している場合、着信時にどのOSを使用すればよいのか判断することが難しいという問題がある。この結果、例えば、発信者がテレビ電話を掛けてきたときに、着信側でテレビ電話に対応していないOSを使用すると、テレビ電話による通話を行うことができず、コミュニケーションが阻害されてしまう場合がある。
 本発明は、上述した従来技術による問題点を解消するため、発信元からの着信要求を適切に処理することができる通信端末装置、着信処理プログラム、および着信処理方法を提供することを目的とする。
 上述した課題を解決し、目的を達成するため、本通信端末装置、着信処理プログラム、および着信処理方法は、発信元からの着信要求を受け付け、受け付けた着信要求に基づいて、前記発信元が要求する通信サービスを特定し、自端末で動作する複数のOSに含まれる各OSが処理可能な通信サービスに基づいて、前記複数のOSの中から、特定された前記発信元が要求する通信サービスを処理可能なOSを検索し、検索されたOSに前記着信要求を割り振る。
 本通信端末装置、着信処理プログラム、および着信処理方法によれば、発信元からの着信要求を適切に処理することができるという効果を奏する。
実施の形態1にかかる通信端末装置100の機能的構成の一例を示すブロック図である。 OS対応テーブルの記憶内容の一例を示す説明図である。 実施の形態1にかかる通信端末装置の着信処理手順の一例を示すフローチャートである。 実施の形態2にかかる通信端末装置のハードウェア構成を示すブロック図である。 実施の形態2にかかる通信端末装置の一実施例を示す説明図である。 実施の形態2にかかる通信端末装置の機能的構成を示すブロック図である。 仮想マシン対応テーブルの記憶内容の一例を示す説明図である。 電話帳の記憶内容の一例を示す説明図である。 アプリケーションリストの記憶内容の一例を示す説明図である。 時間帯リストの記憶内容の一例を示す説明図である。 場所リストの記憶内容の一例を示す説明図である。 操作履歴テーブルの記憶内容の一例を示す説明図である。 実施の形態2にかかる通信端末装置の着信処理手順の一例を示すフローチャートである。 第1の決定処理の具体的処理手順の一例を示すフローチャートである。 第2の決定処理の具体的処理手順の一例を示すフローチャートである。 実施の形態3にかかる通信端末装置の一実施例を示す説明図である。
 以下に添付図面を参照して、この発明にかかる通信端末装置、着信処理プログラム、および着信処理方法の好適な実施の形態を詳細に説明する。
(通信端末装置100の機能的構成)
 まず、実施の形態1にかかる通信端末装置100の機能的構成について説明する。通信端末装置100は、通信機能を有するコンピュータであり、例えば、携帯電話機、PHS(Personal Handy-phone System)電話機、スマートフォンなどである。
 図1は、実施の形態1にかかる通信端末装置100の機能的構成の一例を示すブロック図である。図1において、通信端末装置100は、受付部101と、特定部102と、検索部103と、割振部104と、を含む構成である。
 受付部101は、発信元110からの着信要求を受け付ける。ここで、発信元110は、例えば、通信事業者が提供する電話網を介して通信端末装置100と通信可能な通信端末装置である。着信要求は、電話や電子メールの着信要求である。着信要求には、例えば、発信元110の識別子や、発信元110が要求する通信サービスの識別子が含まれている。
 特定部102は、受け付けた着信要求に基づいて、発信元110が要求する通信サービスを特定する。ここで、通信サービスとは、通信業者が利用者に提供するサービスである。通信サービスとしては、例えば、相手の顔を見ながら通話できるサービス、3人以上で通話できるサービス、着信と同時に相手の着信画面に文字や絵文字などのメッセージを表示するサービスなどがある。
 具体的には、例えば、特定部102が、受け付けた着信要求に含まれる発信元110が要求する通信サービスの識別子を特定する。以下の説明では、通信業者が利用者に提供する複数の通信サービスを「通信サービスS1~Sm」と表記する。また、通信サービスS1~Smのうち任意の通信サービスを「通信サービスSj」と表記する(j=1,2,…,m)。
 検索部103は、自端末で動作する複数のOSに含まれる各OSが処理可能な通信サービスに基づいて、複数のOSの中から、特定された発信元110が要求する通信サービスを処理可能なOSを検索する。ここで、各OSは、発信元110からの着信要求を処理するソフトウェアである。各OSは、通信サービスS1~Smのうち、処理可能な通信サービスもあれば、処理不能な通信サービスもある。以下の説明では、通信端末装置100で動作する複数のOSを「OS1~OSn」と表記する。また、OS1~OSnのうち任意のOSを「OSi」と表記する(i=1,2,…,n)。
 具体的には、例えば、検索部103が、図2に示すOS対応テーブル200の中から、発信元110が要求する通信サービスSjの識別子に対応するOSiを検索する。OS対応テーブル200は、自端末で動作する複数のOSに含まれる各OSが処理可能な通信サービスを表すテーブルである。ここで、OS対応テーブル200の記憶内容について説明する。
 図2は、OS対応テーブルの記憶内容の一例を示す説明図である。図2において、OS対応テーブル200は、複数のOS1~OSnに含まれる各OSiと、各OSiが処理可能な通信サービスSjのサービスIDとを対応付けて記憶している。サービスIDは、通信業者が利用者に提供する通信サービスSjの識別子である。OS名は、通信端末装置100で動作するOSiの名称である。
 OS対応テーブル200によれば、自端末で動作するOSiが処理可能なサービスSjを特定することができる。例えば、発信元110が要求する通信サービスSjの識別子としてサービスID『S1』が特定された場合、上記検索部103は、OS対応テーブル200を参照することにより、特定されたサービスID『S1』に対応するOS名『OS1』を検索する。
 割振部104は、検索されたOSiに、発信元110からの着信要求を割り振る。具体的には、例えば、割振部104が、検索されたOSiの着信要求を処理する機能部に、発信元110からの着信要求を引き渡す。この結果、OSiにより発信元110からの着信要求が処理されて、発信元110が要求する通信サービスSjが提供されることになる。
(通信端末装置100の着信処理手順)
 図3は、実施の形態1にかかる通信端末装置の着信処理手順の一例を示すフローチャートである。図3のフローチャートにおいて、まず、受付部101により、発信元110からの着信要求を受け付けたか否かを判断する(ステップS301)。
 ここで、受付部101により、発信元110からの着信要求を受け付けるのを待つ(ステップS301:No)。そして、受付部101により、着信要求を受け付けた場合(ステップS301:Yes)、特定部102により、受け付けた着信要求に含まれる発信元110が要求する通信サービスSjのサービスIDを特定する(ステップS302)。
 つぎに、検索部103により、図2に示したOS対応テーブル200の中から、発信元110が要求する通信サービスSjのサービスIDに対応するOSiを検索する(ステップS303)。そして、割振部104により、検索されたOSiに、発信元110からの着信要求を割り振って(ステップS304)、本フローチャートによる一連の処理を終了する。
 以上説明した実施の形態1にかかる通信端末装置100によれば、自端末で動作する複数のOS1~OSnの中から、発信元110が要求する通信サービスSjを処理可能なOSiを検索して、発信元110からの着信要求を割り振ることができる。これにより、発信元110からの着信要求を適切に処理することができ、発信元110の意図が反映された通信サービスSjを利用者に提供することができる。
(実施の形態2)
 つぎに、実施の形態2にかかる通信端末装置400の一実施例について説明する。なお、実施の形態1で説明した箇所と同一箇所については、同一符号を付して説明を省略する。ここではまず、実施の形態2にかかる通信端末装置400のハードウェア構成について説明する。
(通信端末装置400のハードウェア構成)
 図4は、実施の形態2にかかる通信端末装置のハードウェア構成を示すブロック図である。図4において、通信端末装置400は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、I/F(Interface)404と、ディスプレイ405と、入力装置406と、を含む構成である。また、各構成部はバス410によってそれぞれ接続されている。
 ここで、CPU401は、通信端末装置400の全体の制御を司る。CPU401は、シングルコアでもよく、また、マルチコアでもよい。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。I/F404は、無線または有線のネットワーク407に接続され、このネットワーク407を介して他の装置に接続される。そして、I/F404は、ネットワーク407と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。
 ディスプレイ405は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ405には、たとえば、液晶ディスプレイを採用することができる。入力装置406は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、入力装置406は、タッチパネル式の入力パッドやテンキーなどであってもよい。
(通信端末装置400の一実施例)
 図5は、実施の形態2にかかる通信端末装置の一実施例を示す説明図である。図5において、通信端末装置400は、仮想マシンVM0~VMnと、ハイパーバイザVMMと、を含む構成である。
 仮想マシンVM0~VMnは、通信端末装置400で動作する仮想的なコンピュータである。具体的には、例えば、仮想マシンVM0~VMnは、通信端末装置400のハードウェア資源(CPU401、ROM402、RAM403、I/F404など)を分割して構築される実行環境で動作するソフトウェアである。
 すなわち、仮想マシンVM0~VMnの実体は、例えば、プログラムやOSなどのソフトウェア、該ソフトウェアに与えられる変数、および該ソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。ここで、各仮想マシンVM1~VMnは、それぞれ異なるOS1~OSnを実行する。
 ハイパーバイザVMMは、コンピュータを仮想化し、複数の異なるOS1~OSnを実行できるように制御するソフトウェアである。具体的には、例えば、ハイパーバイザVMMは、仮想マシンVM1~VMn上で複数の異なるOS1~OSnを稼働させる。
 仮想マシンVM0は、着信機能部501と、着信共有部(バックエンド)502と、着信制御部503と、を含む。ここで、着信機能部501は、発信元110からの着信要求を受け付ける。着信機能部501は、例えば、図4に示したI/F404である。着信共有部(バックエンド)502は、着信機能部501を複数のOS1~OSnで共用するための機能である。着信制御部503は、発信元110からの着信要求を処理する仮想マシンを決定する。
 また、各仮想マシンVM1~VMnは、着信共有部(フロントエンド)504と、参照部505と、処理部506と、管理部507と、を含む。着信共有部(フロントエンド)504は、仮想マシンVM0の着信機能部501を複数のOS1~OSnで共用するための機能である。参照部505は、仮想マシンVM0の着信制御部503からの要求に応じて、各仮想マシンVM1~VMnの情報を着信制御部503に通知する。処理部506は、発信元110からの着信要求を処理する。管理部507は、各仮想マシンVM1~VMnで動作する各OS1~OSnが処理可能なサービスSjを管理する。
 通信端末装置400では、仮想マシンVM0の着信機能部501を複数の異なるOS1~OSnで共用する。具体的には、通信端末装置400は、I/F404をドライブする着信共有部(バックエンド)502を有する一方で、I/F404を複数のOS1~OSnで共用するための着信共有部(フロントエンド)504を有する。
 また、通信端末装置400における仮想マシン間の通信はハイパーバイザVMMを介して行われる。具体的には、例えば、仮想マシンVM0の着信共有部(バックエンド)502と、各仮想マシンVM1~VMnの着信共有部(フロントエンド)504との間の通信は、ハイパーバイザVMMを介して行われる。
 ここで、着信時における通信端末装置400の処理手順の一例を説明する。通信端末装置400において、着信機能部501は、発信元110からの着信要求を受け付けると、該着信要求を着信共有部(バックエンド)502に通知する。着信共有部(バックエンド)502は、発信元110からの着信要求を着信制御部503に通知する。
 着信制御部503は、発信元110からの着信要求を、どの仮想マシンVM1~VMnで処理するのかを決定し、着信共有部(バックエンド)502に通知する。着信共有部(バックエンド)502は、着信制御部503から通知された仮想マシンVM1~VMnの着信共有部(フロントエンド)504に、発信元110からの着信要求を渡す。
 各仮想マシンVM1~VMnの着信共有部(フロントエンド)504は、仮想マシンVM0の着信共有部(バックエンド)502から通知された着信要求を、処理部506に渡す。そして、処理部506は、発信元110からの着信要求を処理する。
 つぎに、図6を用いて、仮想マシンVM0を実現するための通信端末装置400の具体的な機能的構成について説明する。なお、以下の説明では、仮想マシンVM1~VMnのうち任意の仮想マシンを「仮想マシンVMi」と表記する。
(通信端末装置400の機能的構成)
 図6は、実施の形態2にかかる通信端末装置の機能的構成を示すブロック図である。図6において、通信端末装置400は、受付部101と、特定部102と、検索部103と、割振部104と、決定部601と、判定部602と、更新部603と、を含む構成である。各機能部(受付部101~割振部104、決定部601~更新部603)は、具体的には、たとえば、図4に示したROM402、RAM403などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F404により、その機能を実現する。
 また、各機能部(受付部101~割振部104、決定部601~更新部603)の処理結果は、例えば、RAM403などの記憶装置に記憶される。また、受付部101は、例えば、図5に示した仮想マシンVM0の着信機能部501に相当する。割振部104は、例えば、図5に示した着信共有部(バックエンド)502に相当する。また、特定部102、検索部103、決定部601~更新部603は、図5に示した着信制御部503に相当する。
 受付部101は、発信元110からの着信要求を受け付ける。具体的には、例えば、受付部101が、ネットワーク407(図4参照)を介して発信元110からの着信要求を受け付ける。
 特定部102は、受け付けた着信要求に基づいて、発信元110が要求する通信サービスSjを特定する。具体的には、例えば、特定部102が、受け付けた着信要求に含まれる発信元110が要求する通信サービスSjのサービスIDを特定する。
 検索部103は、自端末で動作する複数のOS1~OSnの中から、特定された発信元110が要求する通信サービスSjを処理可能なOSiを検索する。ここで、各OS1~OSnは、通信端末装置400で動作する各仮想マシンVM1~VMn上で動作するOSである。このため、『OS1~OSnの中から通信サービスSjを処理可能なOSiを検索すること』は、『仮想マシンVM1~VMnの中から通信サービスSjを処理可能な仮想マシンVMiを検索すること』に相当する。
 そこで、以下の説明では、検索部103の検索対象を『通信サービスSjを処理可能な仮想マシンVMi』として説明する。具体的には、例えば、検索部103が、図7に示す仮想マシン対応テーブル700を参照して、発信元110が要求する通信サービスSjのサービスIDに対応する仮想マシンVMiを検索する。
 仮想マシン対応テーブル700は、通信端末装置400で動作する仮想マシンVMiが処理可能なサービスSjを表すテーブルである。仮想マシン対応テーブル700は、例えば、図4に示したRAM403などの記憶装置に記憶されている。ここで、仮想マシン対応テーブル700の記憶内容について説明する。
 図7は、仮想マシン対応テーブルの記憶内容の一例を示す説明図である。図7において、仮想マシン対応テーブル700は、通信業者が利用者に提供する通信サービスSjごとに、通信サービスSjを処理可能な仮想マシンVMiのマシンIDを記憶している。
 サービスIDは、通信業者が利用者に提供する通信サービスSjの識別子である。マシンIDは、通信端末装置400で動作する仮想マシンVMiの識別子である。仮想マシン対応テーブル700によれば、通信端末装置400で動作する仮想マシンVMiが処理可能なサービスSjを特定することができる。
 図6の説明に戻り、また、検索部103は、発信元110が要求する通信サービスSjが複数特定された場合、通信サービスSjごとに処理可能な仮想マシンVMiを仮想マシンVM1~VMnの中から検索する。例えば、発信元110が要求する通信サービスSjとして、通信サービスS1,S2が特定されたとする。
 この場合、まず、検索部103は、例えば、仮想マシン対応テーブル700を参照して、サービスID『S1』に対応するマシンID『VM1』を検索する。つぎに、検索部103は、仮想マシン対応テーブル700を参照して、サービスID『S2』に対応するマシンID『VM1,VM2』を検索する。この結果、発信元110が要求する通信サービスS1またはS2を処理可能な仮想マシンVMiとして、2台の仮想マシンVM1,VM2が検索される。
 以下の説明では、発信元110が要求する通信サービスSjを処理可能な仮想マシンとして検索された複数の仮想マシンを「仮想マシンVM[1]~VM[K]」と表記する。また、仮想マシンVM[1]~VM[K]のうち任意の仮想マシンを「仮想マシンVM[k]」と表記する(k=1,2,…,K)。
 決定部601は、2台以上の仮想マシンVM[1]~VM[K]が検索された場合、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。具体的には、例えば、決定部601が、各仮想マシンVM[k]が処理可能な発信元110が要求する通信サービスSjの数に基づいて、着信要求を処理するための仮想マシンVMiを決定する。
 より具体的には、例えば、まず、決定部601が、検索された仮想マシンVM[k]ごとに、仮想マシンVM[k]が処理可能な発信元110が要求する通信サービスSjの数C[k]を計数する。そして、決定部601が、各仮想マシンVM[k]の数C[k]に基づいて、仮想マシンVM[1]~VM[K]の中から着信要求を処理するための仮想マシンVMiを決定する。
 上述した通信サービスS1,S2が特定された場合の例では、通信サービスS1またはS2を処理可能な仮想マシンVM[k]として、仮想マシンVM1,VM2が検索されている。この場合、まず、決定部601は、各仮想マシンVM1,VM2が処理可能な発信元110が要求する通信サービスSjの数C1,C2を計数する。
 ここでは、仮想マシンVM1は発信元110が要求する通信サービスS1,S2をともに処理可能なため、仮想マシンVM1の数C1は『C1=2』となる。一方、仮想マシンVM2は発信元110が要求する通信サービスS1,S2のうち通信サービスS2のみ処理可能なため、仮想マシンVM2の数C2は『C2=1』となる。
 この場合、決定部601は、例えば、各仮想マシンVM1,VM2が処理可能な通信サービスSjの数C1,C2のうち最大の数C1(C1>C2)の仮想マシンVM1を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。ただし、仮想マシンVM[1]~VM[K]が3台以上の場合は、少なくとも他の仮想マシンよりも数C[k]が多い仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定してもよい。
 これにより、発信元110から要求されたより多くの通信サービスSjを利用者に提供することができる。なお、仮想マシンVM[1]~VM[K]のうち数C[k]が最大となる仮想マシンVM[k]が複数存在する場合は、サービスSjごとに予め付与されている優先度に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定してもよい。例えば、数C[k]が最大となる複数の仮想マシンVM[k]のうち、優先度が高いサービスSjを処理可能な仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。
 割振部104は、決定された仮想マシンVMiに、発信元110からの着信要求を割り振る。具体的には、例えば、着信共有部(バックエンド)502が、決定された仮想マシンVMiの着信共有部(フロントエンド)504に、発信元110からの着信要求を渡す。その結果、仮想マシンVMiの着信共有部(フロントエンド)504が、発信元110からの着信要求を受け付けて処理部506に渡す。そして、仮想マシンVMiの処理部506が、発信元110からの着信要求を処理する。
 更新部603は、自端末で動作する各OSiが処理可能な通信サービスSjを表すテーブルを更新する。具体的には、例えば、着信制御部503が、仮想マシンVMiの管理部507からの更新要求を受け付けて、仮想マシン対応テーブル700の記憶内容を更新する。管理部507からの更新要求には、例えば、仮想マシンVMiが処理可能なサービスSjのサービスIDが含まれている。
 より具体的には、例えば、まず、仮想マシンVMiの管理部507が、仮想マシンVMiが処理可能なサービスSjに変更があった場合、仮想マシンVMiが処理可能なサービスSjのサービスIDを着信制御部503に通知する。その結果、着信制御部503が、管理部507から受け付けた仮想マシンVMiが処理可能なサービスSjのサービスIDに従って、仮想マシン対応テーブル700の記憶内容を更新する。
 なお、仮想マシンVMiが処理可能なサービスSjに変更があった場合とは、仮想マシンVMiに新たなアプリケーションがインストールされた場合のほか、新規の仮想マシンVMiが追加されたり、既存の仮想マシンVMiが削除された場合などである。
 また、検索部103は、複数の仮想マシンVM[1]~VM[K]が検索された場合、着信者(通信端末装置400の利用者)の意図を考慮して、発信元110からの着信要求を処理する仮想マシンVMiを決定してもよい。また、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理する仮想マシンVMiを一意に決定できない場合に、着信者の意図を考慮してもよい。
 以下、着信者(通信端末装置400の利用者)の意図を考慮して、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理する仮想マシンVMiを決定する決定手法(1)~(6)について説明する。
<決定手法(1)>
 通信端末装置400の機能として、例えば、電話帳に登録されている発信元110の利用者の氏名や顔画像などをディスプレイ405に表示する機能がある。ディスプレイ405に発信元110の利用者の氏名や顔画像などが表示されると、着信者は発信元110を容易に特定することができる。
 そこで、決定手法(1)では、発信元110の利用者の氏名や顔画像などをディスプレイ405に表示することができる仮想マシンVM[k]を、発信元110からの着信要求を処理する仮想マシンVMiに決定する。
 具体的には、まず、判定部602は、各仮想マシンVM[k]に対応付けられている発信元リストの中に、着信要求に含まれる発信元110の識別子が登録されているか否かを判定する。ここで、着信要求に含まれる発信元110の識別子とは、例えば、発信元110の電話番号やメールアドレスである。
 また、発信元リストとは、特定の発信元の識別子を記憶する情報である。発信元リストは、例えば、特定の発信元の氏名、電話番号、メールアドレス、顔画像などを登録する電話帳である。電話帳に登録されている発信元からの着信があった場合、例えば、通信端末装置400のディスプレイ405に発信元の氏名や顔画像などが表示される。
 以下の説明では、各仮想マシンVM1~VMnに対応付けられている電話帳をそれぞれ「電話帳TR1~TRn」と表記し、各仮想マシンVM[1]~VM[K]に対応付けられている電話帳をそれぞれ「電話帳TR[1]~TR[K]」と表記する。各電話帳TR1~TRnは、例えば、各仮想マシンVM1~VMnと対応付けられてROM402、RAM403などの記憶装置に記憶されている。
 具体的には、例えば、まず、判定部602が、着信要求に含まれる発信元110の電話番号を特定する。そして、判定部602が、各仮想マシンVM[k]に対応付けられている電話帳TR[k]の中に、特定された発信元110の電話番号が登録されているか否かを判定する。
 より具体的には、例えば、着信制御部503が、仮想マシンVM[k]の参照部505に、電話帳TR[k]の中に発信元110の電話番号が登録されているか否かを問い合わせる。仮想マシンVM[k]の参照部505は、電話帳TR[k]の中に発信元110の電話番号が登録されているか否かを判定し、その判定結果を着信制御部503に通知する。ここで、仮想マシンVM1の電話帳TR1を例に挙げて、電話帳TR1の記憶内容について説明する。
 図8は、電話帳の記憶内容の一例を示す説明図である。図8において、電話帳TR1には、特定の発信者ごとの氏名、電話番号、メールアドレスおよび顔画像が登録されている。顔画像は、特定の発信者の顔を撮影した画像であってもよく、また、特定の発信者を模したアバターであってもよい。
 例えば、発信元110の電話番号を『090-xxxx-1234』とする。この場合、判定部602は、特定された電話番号『090-xxxx-1234』が、鈴木太郎の電話番号として登録されているため、仮想マシンVM1に対応付けられている電話帳TR1の中に発信元110の電話番号が登録されていると判定する。
 決定部601は、判定された判定結果に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。具体的には、例えば、決定部601が、電話帳TR[k]の中に発信元110の電話番号が登録されている仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。
 例えば、仮想マシンVM[1]~VM[K]を仮想マシンVM1~VM3とし、仮想マシンVM1~VM3のうち仮想マシンVM1の電話帳TR1にのみ発信元110の電話番号が登録されているとする。この場合、決定部601は、仮想マシンVM1を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。
 これにより、着信時に発信元110の氏名や顔画像などをディスプレイ405に表示して着信者の利便性の向上を図るとともに、発信元110の意図が反映された通信サービスSjを利用者に提供することができる。
<決定手法(2)>
 同一の通信サービスSjを提供するためのアプリケーションとして、複数のアプリケーションが存在する場合がある。このような場合、高品質の通信サービスSjを提供するという観点により、例えば、テレビ電話などを行う場合は映像符号化の性能が高いアプリケーションを利用することが望ましい。
 そこで、決定部601は、各仮想マシンVM[k]上で動作するアプリケーションの性能に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。ここで、アプリケーションとは、発信元110が要求する通信サービスSjを提供するためのソフトウェアである。アプリケーションとしては、例えば、利用者がお互いの顔を見ながら通話するテレビ電話の映像を表示するためのものがある。
 具体的には、例えば、決定部601が、図9に示すアプリケーションリスト900を参照することにより、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。アプリケーションリスト900は、例えば、ROM402、RAM403などの記憶装置に記憶されている。ここで、アプリケーションリスト900の記憶内容について説明する。
 図9は、アプリケーションリストの記憶内容の一例を示す説明図である。図9において、アプリケーションリスト900は、マシンID、アプリケーションIDおよび性能のフィールドを有する。各フィールドに情報を設定することで、各仮想マシンVMiにインストールされているアプリケーションおよび該アプリケーションの性能が記憶されている。
 マシンIDは、仮想マシンVMiの識別子である。アプリケーションIDは、アプリケーションの識別子である。性能は、アプリケーションの性能である。アプリケーションの性能としては、例えば、ディスプレイ405に表示される映像の解像度などがある。
 一例として、発信元110が要求する通信サービスSjを『テレビ電話』とする。また、仮想マシンVM[1]~VM[K]を仮想マシンVM1,VM2とし、テレビ電話を提供するために動作するアプリケーションを『アプリケーションA1,A2』とする。
 この場合、まず、決定部601が、アプリケーションリスト900を参照することにより、テレビ電話を提供するために各仮想マシンVM1,VM2上で動作するアプリケーションA1,A2の性能を特定する。ここでは、アプリケーションA1の性能として解像度『240×240(ピクセル)』が特定され、アプリケーションA2の性能として解像度『320×320(ピクセル)』が特定される。
 つぎに、決定部601が、解像度が最大のアプリケーションA2を特定する。そして、決定部601が、仮想マシンVM1,VM2のうち、特定されたアプリケーションA2がインストールされている仮想マシンVM2を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。
 これにより、発信元110からの着信要求を高性能のアプリケーションを用いて処理することができ、高品質の通信サービスSjを着信者に提供することができる。
 なお、アプリケーションリスト900の記憶内容は、例えば、仮想マシンVMiに新たなアプリケーションがインストールされた場合などにおける仮想マシンVMiの管理部507からの更新要求に応じて更新される。該更新要求には、例えば、新たにインストールされたアプリケーションのアプリケーションIDや、該アプリケーションの性能に関する情報が含まれている。
<決定手法(3)>
 通信端末装置400の利用形態として、着信時に使用するOSiを時間帯によって使い分ける場合がある。例えば、勤務時間帯の9時00分~17時00分までは仕事用のOSを使用して、17時01分~8時59分まではプライベート用のOSを使用する場合などが想定される。
 そこで、決定部601は、発信元110からの着信要求を受け付けた時刻に基づいて、仮想マシンVM[1]~VM[K]の中から、該着信要求を処理するための仮想マシンVMiを決定する。着信要求を受け付けた時刻は、例えば、時刻を計時する通信端末装置400の機能によって特定することができる。
 具体的には、例えば、決定部601が、図10に示す時間帯リスト1000を参照することにより、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。時間帯リスト1000は、例えば、ROM402、RAM403などの記憶装置に記憶されている。ここで、時間帯リスト1000の記憶内容について説明する。
 図10は、時間帯リストの記憶内容の一例を示す説明図である。図10において、時間帯リスト1000は、時間帯T1,T2ごとに、着信時に使用するOSiのOS名と、OSiを動作させる仮想マシンVMiのマシンIDとを関連付けて記憶している。
 一例として、仮想マシンVM[1]~VM[K]を仮想マシンVM1,VM2とする。決定部601は、発信元110からの着信要求を受け付けた時刻が時間帯T1の場合、時間帯リスト1000を参照して、仮想マシンVM1を、該着信要求を処理するための仮想マシンVMiに決定する。一方、決定部601は、発信元110からの着信要求を受け付けた時刻が時間帯T2の場合、仮想マシンVM2を、該着信要求を処理するための仮想マシンVMiに決定する。
 これにより、着信時に使用するOSiを時間帯によって使い分けることができる。具体的には、例えば、勤務時間帯は仕事用のOSを使用して、それ以外の時間帯はプライベート用のOSを使用するなどの使い分けを行うことができる。
 なお、上述した説明では、仮想マシンVM[1]~VM[K]のいずれかの仮想マシンVM[k]が時間帯リスト1000に登録されている場合を想定して説明したが、いずれの仮想マシンVM[k]も登録されていない場合がある。この場合、決定部601は、例えば、仮想マシンVM[1]~VM[K]のうち任意の仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定してもよい。
<決定手法(4)>
 通信端末装置400の利用形態として、着信時に使用するOSiを場所によって使い分ける場合がある。例えば、首都圏では仕事用のOSを使用して、それ以外の場所ではプライベート用のOSを使用する場合などが想定される。
 そこで、決定部601は、自端末の現在位置に基づいて、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。自端末の現在位置は、例えば、自端末の現在位置を示す緯度、経度などの位置情報である。また、自端末の現在位置は、例えば、通信端末装置400に搭載されたGPS(Global Positioning System)から取得することができる。
 具体的には、例えば、決定部601が、図11に示す場所リスト1100を参照することにより、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。場所リスト1100は、例えば、ROM402、RAM403などの記憶装置に記憶されている。ここで、場所リスト1100の記憶内容について説明する。
 図11は、場所リストの記憶内容の一例を示す説明図である。図11において、場所リスト1100は、場所L1,L2ごとに、各場所L1,L2の位置情報と、着信時に使用するOSiのOS名と、OSiを動作させる仮想マシンVMiのマシンIDとを関連付けて記憶している。なお、各場所L1,L2の位置情報は、例えば、緯度と経度によって各場所L1,L2の範囲を特定するためのものである。
 一例として、仮想マシンVM[1]~VM[K]を仮想マシンVM1,VM2とする。まず、決定部601は、場所リスト1100を参照して、自端末の現在位置が場所L1,L2のいずれに属するかを特定する。そして、決定部601は、自端末の現在位置が場所L1に属する場合、場所リスト1100を参照して、仮想マシンVM1を、該着信要求を処理するための仮想マシンVMiに決定する。一方、決定部601は、自端末の現在位置が場所L2に属する場合、場所リスト1100を参照して、仮想マシンVM2を、該着信要求を処理するための仮想マシンVMiに決定する。
 これにより、着信時に使用するOSiを自端末の現在位置によって使い分けることができる。具体的には、例えば、首都圏では仕事用のOSを使用して、首都圏以外の場所ではプライベート用のOSを使用するなどの使い分けを行うことができる。
<決定手法(5)>
 通信端末装置400の利用形態として、通信端末装置400に接続された周辺機器を用いて通話を行う場合がある。例えば、着信者がヘッドセットを用いて通話を行う場合などが想定される。ヘッドセットとは、端末本体を手に持つことなく通話を行うためのマイクロフォンを一体化したヘッドフォンである。
 そこで、決定部601は、各仮想マシンVM[k]に接続される周辺機器の接続状況に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定する。具体的には、例えば、まず、着信制御部503が、仮想マシンVM[k]の参照部505に、ヘッドセットの接続状況を問い合わせる。
 仮想マシンVM[k]の参照部505は、ヘッドセットが接続されているか否かを判定し、その判定結果を着信制御部503に通知する。そして、着信制御部503は、各仮想マシンVM[k]の参照部505からの判定結果に基づいて、ヘッドセットが接続されている仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定する。
 これにより、ヘッドセットなどの周辺機器を着信時に使用することができ、着信者の利便性の向上を図ることができる。
<決定手法(6)>
 発信元110からの着信要求を処理するためのOSiを決定する手法として、着信時に着信者が任意のOSiを選択するものがある。着信時に着信者が選択したOSiを操作履歴として蓄積し、着信者が選択した回数が多いOSを、着信要求を処理するためのOSiとすることで、着信者の意図を反映することができる。
 そこで、決定部601は、着信時に着信者が発信元110からの着信要求を処理するOSiを選択した操作履歴に基づいて、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理する仮想マシンVMiを決定する。具体的には、例えば、決定部601が、図12に示す操作履歴テーブル1200を参照することにより、発信元110からの着信要求を処理する仮想マシンVMiを決定する。
 操作履歴テーブル1200は、例えば、RAM403などの記憶装置に記憶されている。ここで、操作履歴テーブル1200の記憶内容について説明する。ただし、通信端末装置400で動作する複数のOS1~OSnとして、『OS1~OS5』を例に挙げて説明する。
 図12は、操作履歴テーブルの記憶内容の一例を示す説明図である。図12において、操作履歴テーブル1200は、サービスS1~Smごとに、着信者の入力装置406を用いた操作入力により、発信元110からの着信要求を処理するために選択されたOS1~OS5ごとの回数を記憶している。
 一例として、発信元110が要求する通信サービスSjを通信サービスS7とし、仮想マシンVM[1]~VM[K]を仮想マシンVM1~VM5とする。この場合、まず、決定部601は、操作履歴テーブル1200を参照して、通信サービスS7について、発信元110からの着信要求を処理するために選択されたOS1~OS5ごとの回数を特定する。
 つぎに、決定部601は、OS1~OS5のうち回数が最大のOS4を特定する。そして、決定部601は、OS4を動作させる仮想マシンVM4を、発信元110からの着信要求を処理する仮想マシンVMiに決定する。これにより、着信者の意図が反映された通信サービスSjを提供することができる。
 なお、発信元110からの着信要求を処理する仮想マシンVMiを決定する手法として、上述した決定手法(1)~(6)のどの決定手法を用いるのかは、任意に設定可能である。また、上述した決定手法(1)~(6)のうち複数の決定手法を組み合わせて用いることにしてもよい。
 また、上述した決定手法(1)~(6)を用いた結果、最終的に絞り込まれた仮想マシンVM[k]が複数存在する場合、複数の仮想マシンVM[k]の中から任意の仮想マシンを、発信元110からの着信要求を処理する仮想マシンVMiに決定してもよい。
 また、上記検索部103によって発信元110が要求する通信サービスSjを処理可能な仮想マシンVMiが検索されなかった場合、上述した決定手法(1)~(6)を用いて、発信元110からの着信要求を処理する仮想マシンVMiを決定してもよい。同様に、発信元110が要求する通信サービスSjを特定できなかった場合に、上述した決定手法(1)~(6)を用いることにしてもよい。
 また、発信元110が要求する通信サービスSjを処理可能な仮想マシンVMiが検索されなかった場合、通常着信用に予め設定されている仮想マシンVMxを、発信元110からの着信要求を処理する仮想マシンVMiに決定してもよい。同様に、発信元110が要求する通信サービスSjを特定できなかった場合に、通常着信用に予め設定されている仮想マシンVMxを用いることにしてもよい。なお、通常着信用の仮想マシンVMxとは、例えば、通話に必要となる最低限の機能を実現する仮想マシンVMiである。
(通信端末装置400の着信処理手順)
 図13は、実施の形態2にかかる通信端末装置の着信処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、受付部101により、発信元110からの着信要求を受け付けたか否かを判断する(ステップS1301)。
 ここで、受付部101により、発信元110からの着信要求を受け付けるのを待つ(ステップS1301:No)。そして、受付部101により、着信要求を受け付けた場合(ステップS1301:Yes)、特定部102により、受け付けた着信要求に含まれる発信元110が要求する通信サービスSjのサービスIDを特定する(ステップS1302)。
 つぎに、検索部103により、仮想マシン対応テーブル700を参照して、特定された発信元110が要求する通信サービスSjのサービスIDに対応する仮想マシンVMiを検索する(ステップS1303)。ここで、仮想マシンVMiが検索された場合(ステップS1304:Yes)、決定部601により、複数の仮想マシンVM[1]~VM[K]が検索されたか否かを判断する(ステップS1305)。
 ここで、複数検索されなかった場合(ステップS1305:No)、割振部104により、検索された仮想マシンVMiに、発信元110からの着信要求を割り振って(ステップS1306)、本フローチャートによる一連の処理を終了する。
 一方、複数検索された場合(ステップS1305:Yes)、決定部601により、発信元110からの着信要求を処理するための仮想マシンVMiを決定する第1の決定処理を実行する(ステップS1307)。そして、割振部104により、決定された仮想マシンVMiに、発信元110からの着信要求を割り振って(ステップS1306)、本フローチャートによる一連の処理を終了する。
 また、ステップS1304において、仮想マシンVMiが非検索の場合(ステップS1304:No)、決定部601により、発信元110からの着信要求を処理するための仮想マシンVMiを決定する第2の決定処理を実行する(ステップS1308)。そして、割振部104により、決定された仮想マシンVMiに、発信元110からの着信要求を割り振って(ステップS1306)、本フローチャートによる一連の処理を終了する。
 これにより、発信元110からの着信要求を適切に処理することができ、発信元110の意図が反映された通信サービスSjを利用者に提供することができる。
<第1の決定処理手順>
 つぎに、図13に示したステップS1307の第1の決定処理の具体的な処理手順について説明する。ここでは、上述した決定手法(1)および(5)を用いて、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理する仮想マシンVMiを決定する場合を例に挙げて説明する。
 図14は、第1の決定処理の具体的処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、判定部602により、図13に示したステップS1301において受け付けた着信要求に含まれる発信元110の電話番号を特定する(ステップS1401)。
 つぎに、判定部602により、仮想マシンVM[1]~VM[K]に含まれる仮想マシンVM[k]の「k」を「k=1」で初期化する(ステップS1402)。そして、判定部602により、仮想マシンVM[k]に対応付けられている電話帳TR[k]の中に、特定された発信元110の電話番号が登録されているか否かを判定する(ステップS1403)。
 ここで、発信元110の電話番号が登録されている場合(ステップS1404:Yes)、ステップS1410に移行する。一方、発信元110の電話番号が登録されていない場合(ステップS1404:No)、判定部602により、仮想マシンVM[k]の「k」をインクリメントして(ステップS1405)、「k」が「K」より大きいか否かを判断する(ステップS1406)。
 ここで、「k」が「K」以下の場合(ステップS1406:No)、ステップS1403に戻る。一方、「k」が「K」より大きい場合(ステップS1406:Yes)、仮想マシンVM[k]の「k」を「k=1」で初期化する(ステップS1407)。そして、決定部601により、仮想マシンVM[k]にヘッドセットが接続されているか否かを判定する(ステップS1408)。
 ここで、ヘッドセットが接続されている場合(ステップS1409:Yes)、決定部601により、仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定して(ステップS1410)、図13に示したステップS1306に移行する。
 一方、ヘッドセットが接続されていない場合(ステップS1409:No)、決定部601により、仮想マシンVM[k]の「k」をインクリメントして(ステップS1411)、「k」が「K」より大きいか否かを判断する(ステップS1412)。ここで、「k」が「K」以下の場合(ステップS1412:No)、ステップS1408に戻る。
 一方、「k」が「K」より大きい場合(ステップS1412:Yes)、決定部601により、仮想マシンVM[1]~VM[K]のうち任意の仮想マシンVM[k]を、発信元110からの着信要求を処理する仮想マシンVMiに決定して(ステップS1413)、図13に示したステップS1306に移行する。
 これにより、発信元110だけでなく着信者の意図も反映することができ、発信元110の意図が反映された通信サービスSjを利用者に提供するとともに、着信者の利便性の向上を図ることができる。
 なお、上述した説明では、ステップS1404において電話番号が登録されていると判定された時点で、仮想マシンVM[k]を、発信元110からの着信要求を処理するための仮想マシンVMiに決定したが、これに限らない。例えば、全仮想マシンVM[1]~VM[K]について電話番号の登録の有無を判定して絞り込んだあと、さらに、ヘッドセットの接続状況により絞り込むことにしてもよい。
<第2の決定処理手順>
 つぎに、図13に示したステップS1308の第2の決定処理の具体的な処理手順について説明する。ここでは、上述した決定手法(1)を用いて、仮想マシンVM1~VMnの中から、発信元110からの着信要求を処理する仮想マシンVMiを決定する場合を例に挙げて説明する。
 図15は、第2の決定処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、判定部602により、図13に示したステップS1301において受け付けた着信要求に含まれる発信元110の電話番号を特定する(ステップS1501)。
 つぎに、判定部602により、仮想マシンVM1~VMnに含まれる仮想マシンVMiの「i」を「i=1」で初期化する(ステップS1502)。そして、判定部602により、仮想マシンVMiに対応付けられている電話帳TRiの中に、特定された発信元110の電話番号が登録されているか否かを判定する(ステップS1503)。
 ここで、発信元110の電話番号が登録されている場合(ステップS1504:Yes)、図13に示したステップS1306に移行する。一方、発信元110の電話番号が登録されていない場合(ステップS1504:No)、判定部602により、仮想マシンVMiの「i」をインクリメントして(ステップS1505)、「i」が「n」より大きいか否かを判断する(ステップS1506)。
 ここで、「i」が「n」以下の場合(ステップS1506:No)、ステップS1503に戻る。一方、「i」が「n」より大きい場合(ステップS1506:Yes)、決定部601により、仮想マシンVM1~VMnのうち通常発信用に設定されている仮想マシンVMxを、発信元110からの着信要求を処理する仮想マシンVMiに決定して(ステップS1507)、図13に示したステップS1306に移行する。
 これにより、発信元110が要求する通信サービスSjを処理可能な仮想マシンVMiが検索されなかった場合に、着信時に発信元110の氏名や顔画像などをディスプレイ405に表示することができるOSiを優先して使用することができ、着信者の利便性の向上を図ることができる。
 以上説明した実施の形態2にかかる通信端末装置400によれば、自端末で動作する仮想マシンVM1~VMnの中から、発信元110が要求する通信サービスSjを処理可能な仮想マシンVMiを検索して、発信元110からの着信要求を割り振ることができる。これにより、発信元110からの着信要求を適切に処理することができ、発信元110の意図が反映された通信サービスSjを利用者に提供することができる。
 また、通信端末装置400によれば、発信元110が要求する通信サービスSjが複数ある場合、各仮想マシンVMiが処理可能な通信サービスSjの数Ciに基づいて、発信元110からの着信要求を処理する仮想マシンVMiを決定することができる。これにより、発信元110から要求されたより多くの通信サービスSjを利用者に提供することができる。
 また、通信端末装置400によれば、仮想マシンVM[1]~VM[K]のうち、電話帳TR[k]に発信元110の電話番号が登録されている仮想マシンVM[k]を、発信元110からの着信要求を処理する仮想マシンVMiに決定することができる。このため、着信時に発信元110の氏名や顔画像などをディスプレイ405に表示することができる。これにより、発信元110の意図が反映された通信サービスSjを利用者に提供するとともに、着信者の利便性の向上を図ることができる。
 また、通信端末装置400によれば、各仮想マシンVM[k]上で動作するアプリケーションの性能に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定することができる。これにより、発信元110からの着信要求を高性能のアプリケーションを用いて処理することができ、高品質の通信サービスSjを着信者に提供することができる。
 また、通信端末装置400によれば、発信元110からの着信要求を受け付けた時刻に基づいて、仮想マシンVM[1]~VM[K]の中から、該着信要求を処理するための仮想マシンVMiを決定することができる。これにより、着信時に使用するOSiを時間帯によって使い分けることができる。具体的には、例えば、勤務時間帯は仕事用のOSを使用して、それ以外の時間帯はプライベート用のOSを使用するなどの使い分けを行うことができる。
 また、通信端末装置400によれば、自端末の現在位置に基づいて、仮想マシンVM[1]~VM[K]の中から、発信元110からの着信要求を処理するための仮想マシンVMiを決定することができる。これにより、着信時に使用するOSiを自端末の現在位置によって使い分けることができる。具体的には、例えば、首都圏では仕事用のOSを使用して、首都圏以外の場所ではプライベート用のOSを使用するなどの使い分けを行うことができる。
 また、通信端末装置400によれば、各仮想マシンVM[k]に接続される周辺機器の接続状況に基づいて、発信元110からの着信要求を処理するための仮想マシンVMiを決定することができる。これにより、ヘッドセットなどの周辺機器を着信時に使用することができ、着信者の利便性の向上を図ることができる。
 また、通信端末装置400によれば、着信時に着信者が発信元110からの着信要求を処理するOSiを選択した操作履歴に基づいて、発信元110からの着信要求を処理する仮想マシンVMiを決定することができる。これにより、着信者の意図が反映された通信サービスSjを提供するとともに、発信元110からの着信要求を処理するための仮想マシンVMiを決定する処理負荷を低減させることができる。
(実施の形態3)
 つぎに、実施の形態3にかかる通信端末装置1600の一実施例について説明する。実施の形態3では、実施の形態2で説明した仮想マシンVM0の各機能部(着信機能部501~着信制御部503)を仮想マシンVM1が含む場合について説明する。なお、実施の形態1,2で説明した箇所と同一箇所については、同一符号を付して説明を省略する。
 図16は、実施の形態3にかかる通信端末装置の一実施例を示す説明図である。図16において、通信端末装置1600は、仮想マシンVM1~VMnと、ハイパーバイザVMMと、を含む構成である。
 仮想マシンVM1は、着信機能部501と、着信共有部(バックエンド)502と、着信制御部503と、参照部505と、処理部506と、管理部507と、を含む。また、各仮想マシンVM2~VMnは、着信共有部(フロントエンド)504と、参照部505と、処理部506と、管理部507と、を含む。着信共有部(フロントエンド)504は、仮想マシンVM1が有する着信機能部501を複数のOS1~OSnで共用するための機能である。すなわち、通信端末装置1600では、仮想マシンVM1の着信機能部501を複数の異なるOS1~OSnで共用する。
 ここで、着信時における通信端末装置1600の処理手順の一例を説明する。通信端末装置1600において、着信機能部501は、発信元110からの着信要求を受け付けると、該着信要求を着信共有部(バックエンド)502に通知する。着信共有部(バックエンド)502は、発信元110からの着信要求を着信制御部503に通知する。
 着信制御部503は、発信元110からの着信要求を、どの仮想マシンVM1~VMnで処理するのかを決定して、着信共有部(バックエンド)502に通知する。ここで、仮想マシンVM1で処理する場合、着信共有部(バックエンド)502は、発信元110からの着信要求を処理部506に渡す。そして、処理部506は、発信元110からの着信要求を処理する。
 一方、仮想マシンVM1以外で処理する場合、着信共有部(バックエンド)502は、着信制御部503から通知された仮想マシンVM2~VMnの着信共有部(フロントエンド)504に、発信元110からの着信要求を渡す。各仮想マシンVM2~VMnの着信共有部(フロントエンド)504は、着信共有部(バックエンド)502から通知された着信要求を、処理部506に渡す。そして、処理部506は、発信元110からの着信要求を処理する。
 以上説明した実施の形態3にかかる通信端末装置1600によれば、発信元110からの着信要求を仮想マシンVM1で処理する場合は、ハイパーバイザVMMを介した仮想マシン間の通信が不要となる。このため、着信時における通信端末装置1600の性能を向上させることができる。特に、実施の形態2で説明した仮想マシンVM0の各機能部(着信機能部501~着信制御部503)を頻繁に使用される仮想マシンVMiに含むことで、仮想マシン間の通信を大幅に削減することができる。
 なお、本実施の形態で説明した着信処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本着信処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本着信処理プログラムは、インターネット等のネットワークを介して配布してもよい。
 100,400,1600 通信端末装置
 101 受付部
 102 特定部
 103 検索部
 104 割振部
 200 OS対応テーブル
 501 着信機能部
 502 着信共有部(バックエンド)
 503 着信制御部
 504 着信共有部(フロントエンド)
 505 参照部
 506 処理部
 507 管理部
 601 決定部
 602 判定部
 603 更新部
 700 仮想マシン対応テーブル
 VM0~VMn,VMi,VM[1]~VM[K],VM[k] 仮想マシン
 VMM ハイパーバイザ

Claims (10)

  1.  発信元からの着信要求を受け付ける受付手段と、
     前記受付手段によって受け付けた着信要求に基づいて、前記発信元が要求する通信サービスを特定する特定手段と、
     自端末で動作する複数のOSに含まれる各OSが処理可能な通信サービスに基づいて、前記複数のOSの中から、前記特定手段によって特定された前記発信元が要求する通信サービスを処理可能なOSを検索する検索手段と、
     前記検索手段によって検索されたOSに前記着信要求を割り振る割振手段と、
     を備えることを特徴とする通信端末装置。
  2.  さらに、前記着信要求を処理するためのOSを決定する決定手段を備え、
     前記検索手段は、
     前記特定手段によって前記発信元が要求する通信サービスが複数特定された場合、当該通信サービスごとに処理可能なOSを前記複数のOSの中から検索し、
     前記決定手段は、
     前記検索手段によって2つ以上のOSが検索された場合、当該2つ以上のOSに含まれる各OSが処理可能な前記発信元が要求する通信サービスの数に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項1に記載の通信端末装置。
  3.  前記複数のOSに含まれる各OSには、特定の発信元を識別するための識別子を記憶する前記各OS固有の発信元リストがそれぞれ対応付けられており、
     さらに、前記検索手段によって2つ以上のOSが検索された場合、当該2つ以上のOSに含まれるOSごとに、当該OSに対応付けられている発信元リストの中に、前記着信要求に含まれる前記発信元の識別子が登録されているか否かを判定する判定手段を備え、
     前記決定手段は、
     前記判定手段によって判定された判定結果に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  4.  前記決定手段は、
     前記検索手段によって2つ以上のOSが検索された場合、当該2つ以上のOSに含まれる各OS上で、前記発信元が要求する通信サービスを提供するために動作するアプリケーションの性能に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  5.  前記決定手段は、
     前記検索手段によって2つ以上のOSが検索された場合、前記受付手段によって前記着信要求を受け付けた時刻に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  6.  前記決定手段は、
     前記検索手段によって2つ以上のOSが検索された場合、前記自端末の現在位置に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  7.  前記決定手段は、
     前記検索手段によって2つ以上のOSが検索された場合、当該2つ以上のOSに含まれる各OSに接続される周辺機器の接続状況に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  8.  前記決定手段は、
     着信時に利用者が前記着信要求を処理するOSを選択した操作履歴に基づいて、前記2つ以上のOSの中から前記着信要求を処理するためのOSを決定することを特徴とする請求項2に記載の通信端末装置。
  9.  通信端末装置のコンピュータに、
     発信元からの着信要求を受け付ける受付工程と、
     前記受付工程によって受け付けた着信要求に基づいて、前記発信元が要求する通信サービスを特定する特定工程と、
     前記通信端末装置で動作する複数のOSに含まれる各OSが処理可能な通信サービスに基づいて、前記複数のOSの中から、前記特定工程によって特定された前記発信元が要求する通信サービスを処理可能なOSを検索する検索工程と、
     前記検索工程によって検索されたOSに前記着信要求を割り振る割振工程と、
     を実行させることを特徴とする着信処理プログラム。
  10.  通信端末装置のコンピュータが、
     発信元からの着信要求を受け付ける受付工程と、
     前記受付工程によって受け付けた着信要求に基づいて、前記発信元が要求する通信サービスを特定する特定工程と、
     前記通信端末装置で動作する複数のOSに含まれる各OSが処理可能な通信サービスに基づいて、前記複数のOSの中から、前記特定工程によって特定された前記発信元が要求する通信サービスを処理可能なOSを検索する検索工程と、
     前記検索工程によって検索されたOSに前記着信要求を割り振る割振工程と、
     を実行することを特徴とする着信処理方法。
PCT/JP2010/063942 2010-08-18 2010-08-18 通信端末装置、着信処理プログラム、および着信処理方法 WO2012023190A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2010/063942 WO2012023190A1 (ja) 2010-08-18 2010-08-18 通信端末装置、着信処理プログラム、および着信処理方法
JP2012529437A JP5397549B2 (ja) 2010-08-18 2010-08-18 携帯電話装置、着信処理プログラム、および着信処理方法
US13/759,571 US8768330B2 (en) 2010-08-18 2013-02-05 Communication terminal apparatus, computer product, and incoming call processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/063942 WO2012023190A1 (ja) 2010-08-18 2010-08-18 通信端末装置、着信処理プログラム、および着信処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/759,571 Continuation US8768330B2 (en) 2010-08-18 2013-02-05 Communication terminal apparatus, computer product, and incoming call processing method

Publications (1)

Publication Number Publication Date
WO2012023190A1 true WO2012023190A1 (ja) 2012-02-23

Family

ID=45604864

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/063942 WO2012023190A1 (ja) 2010-08-18 2010-08-18 通信端末装置、着信処理プログラム、および着信処理方法

Country Status (3)

Country Link
US (1) US8768330B2 (ja)
JP (1) JP5397549B2 (ja)
WO (1) WO2012023190A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207989A1 (ja) * 2015-06-24 2016-12-29 株式会社日立製作所 分散システム
WO2018154570A1 (en) * 2017-02-21 2018-08-30 Privacy Software Solutions Ltd. A method and system for creating multi mobilephone environments and numbers on a single handset with a single sim-card
US11561787B2 (en) 2021-05-13 2023-01-24 International Business Machines Corporation Application invocation on specified operating system version

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332996A1 (en) * 2009-06-25 2010-12-30 Nokia Corporation Method and apparatus of acquiring information regarding applications for display on a user interface
US9672059B2 (en) * 2013-02-21 2017-06-06 Nec Corporation Virtualization system
KR20150141426A (ko) * 2014-06-10 2015-12-18 삼성전자주식회사 전자 장치 및 전자 장치에서의 이미지 처리 방법
EP3404998B1 (en) * 2016-03-25 2023-05-24 Cloudminds Robotics Co., Ltd. Communication method and apparatus, electronic device, and program product
JP2020154695A (ja) * 2019-03-20 2020-09-24 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887473A (ja) * 1994-09-16 1996-04-02 Toshiba Corp データ処理装置
JPH09212467A (ja) * 1996-01-30 1997-08-15 Fujitsu Ltd 負荷分散制御システム
JP2002245017A (ja) * 2000-12-29 2002-08-30 Hewlett Packard Co <Hp> トランザクションのための要求されるサービスレベルを特定するための装置および方法
JP2004005669A (ja) * 2003-05-19 2004-01-08 Fujitsu Ltd ネットワークサーバ割当装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0473913A3 (en) * 1990-09-04 1992-12-16 International Business Machines Corporation Method and apparatus for providing a service pool of virtual machines for a plurality of vm users
US5628030A (en) * 1994-03-24 1997-05-06 Multi-Tech Systems, Inc. Virtual modem driver apparatus and method
JP4272006B2 (ja) 2002-12-10 2009-06-03 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、サーバ、通信システム、通信制御方法及び通信制御プログラム
TWM262639U (en) 2004-08-31 2005-04-21 Tatung Co Adjustable supporting structure of flat panel computer
US7675933B2 (en) * 2005-09-23 2010-03-09 Palm, Inc. System and method for enabling radio operations on a wireless computing device
US9699308B2 (en) * 2006-08-16 2017-07-04 Google Inc. Method and system for processing an incoming call
US7889685B2 (en) * 2006-12-22 2011-02-15 Intel Corporation System and method for platform resilient VoIP processing
US8060074B2 (en) * 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US8276009B2 (en) * 2008-09-05 2012-09-25 Broadcom Corporation Operating system (OS) virtualisation and processor utilization thresholds for minimizing power consumption in mobile phones
KR101501167B1 (ko) * 2008-10-20 2015-03-10 삼성전자주식회사 다중 모뎀을 구비한 이동통신 단말기에서 다중 운용 체제를운용하기 위한 장치 및 방법
US9143597B2 (en) * 2009-09-21 2015-09-22 Avaya Inc. Method for telephony client synchronization in telephone virtualization
US8468550B2 (en) * 2010-06-18 2013-06-18 At&T Intellectual Property I, L.P. Mobile devices having plurality of virtual interfaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887473A (ja) * 1994-09-16 1996-04-02 Toshiba Corp データ処理装置
JPH09212467A (ja) * 1996-01-30 1997-08-15 Fujitsu Ltd 負荷分散制御システム
JP2002245017A (ja) * 2000-12-29 2002-08-30 Hewlett Packard Co <Hp> トランザクションのための要求されるサービスレベルを特定するための装置および方法
JP2004005669A (ja) * 2003-05-19 2004-01-08 Fujitsu Ltd ネットワークサーバ割当装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207989A1 (ja) * 2015-06-24 2016-12-29 株式会社日立製作所 分散システム
CN107615247A (zh) * 2015-06-24 2018-01-19 株式会社日立制作所 分布式系统
JPWO2016207989A1 (ja) * 2015-06-24 2018-02-22 株式会社日立製作所 分散システム
WO2018154570A1 (en) * 2017-02-21 2018-08-30 Privacy Software Solutions Ltd. A method and system for creating multi mobilephone environments and numbers on a single handset with a single sim-card
US11561787B2 (en) 2021-05-13 2023-01-24 International Business Machines Corporation Application invocation on specified operating system version

Also Published As

Publication number Publication date
US8768330B2 (en) 2014-07-01
JP5397549B2 (ja) 2014-01-22
US20130143544A1 (en) 2013-06-06
JPWO2012023190A1 (ja) 2013-10-28

Similar Documents

Publication Publication Date Title
JP5397549B2 (ja) 携帯電話装置、着信処理プログラム、および着信処理方法
CN109582472B (zh) 一种微服务处理方法及设备
CN109240677B (zh) 一种图层处理方法及装置
US20130055254A1 (en) Methods and apparatuses for providing a virtual machine with dynamic assignment of a physical hardware resource
US9167373B2 (en) Multiple SIM support with single modem software architecture
US11709708B2 (en) Function resource configuration method and device
JP7100154B6 (ja) プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
US20220291929A1 (en) Method for multi-core communication, electronic device and storage medium
EP3939235A1 (en) Method and apparatus for envelope descriptor in moving picture experts group network based media processing
JP2017531844A (ja) リアル・タイム・プロビジョニングのための動的更新ストリーム
CN114222003A (zh) 服务调用方法、系统、装置、设备及存储介质
US9225818B2 (en) Mobile terminal
CN117280703A (zh) 5g媒体流结构中边缘服务器的网络侧和客户端侧激活方法
US20190034622A1 (en) Providing joint access to an isolated computer object by both an isolated computer application and a non-isolated computer application
CN114661465A (zh) 资源管理的方法、装置、存储介质及电子设备
CN113726902A (zh) 微服务的调用方法及系统
CN106131310A (zh) 一种移动终端与电话座机处理信息的方法
EP4118649B1 (en) Method for switching workflow or updating workflow with continuity and no interruption in dataflow
KR102042815B1 (ko) 전자 장치에서 시간 정보를 공유하기 위한 장치 및 방법
EP4179430A1 (en) Methods and systems for scheduling a workflow
Liao et al. Gemini: A lightweight virtualization architecture for protecting privacy and security of smartphone
US20210173686A1 (en) Providing device abstractions to applications inside a virtual machine
CN115150357A (zh) 信息处理方法、装置、终端及网络侧设备
CN115277828A (zh) 一种智能设备的注册方法、装置和电子设备
WO2023282947A1 (en) Method and apparatus for switching or updating partial or entire workflow on cloud with continuity in dataflow

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: 10856147

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012529437

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10856147

Country of ref document: EP

Kind code of ref document: A1