具体实施方式
将参照附图详细说明示例性实施例。
首先,将说明各示例性实施例共同的基本配置和操作。
图1是根据一个示例性实施例的信息处理终端的正视图。该示例性实施例的信息处理终端10作为示例是具有通信功能的个人数字助理,并且由两个相连接并且能够被打开/闭合的壳体13和14形成,壳体13和14各自分别配有显示器11和12。两个显示器11和12被布置为使得它们的显示表面朝向相同的方向,并且在壳体13和14被打开的状态下,它们同时进入用户的视野。然而,配有分别在两个壳体13和14中的显示器11和12的信息处理终端10并非必须为打开/闭合式,而是可以具有任何其他配置。作为另一个示例,信息处理终端可以为滑动式,其中两个壳体13和14相对于彼此可滑动地连接,或者两个壳体13和14可以是彼此可分开的。
首先,将说明信息处理终端10的概况。
图2是根据该示例性实施例的信息处理终端的功能框图。通过参照图2,信息处理终端10具有显示器11和12以及控制单元15。
显示器11和12分别是用于显示应用画面的显示设备,例如液晶显示器。
控制单元15是执行对各种应用的处理并将正在执行的应用的应用画面显示在显示器11和12上的处理器。控制单元15可以包括执行各种应用处理等的CPU和执行显示器11和12上的图像显示的处理的GPU(图形处理器)。
控制单元15能够并行地执行两个应用并分别在显示器11和12上显示其应用画面。
此外,控制单元15能够执行多个应用,使得它们以叠加的方式显示在一个显示器上。在该情况下,控制单元15考虑用户的意图,并且紧在某一应用在该显示器的最前部(表面)上被激活后立即显示该应用的应用画面。
图3是示出了在一个显示器上执行的多个应用的示例的概念图。图3示出了在显示器11上执行四个应用A1至A4的示例。在显示器11上实际地显示了应用A1的应用画面,并且应用A2至A4被执行但应用画面不可见。处于该状态的应用A1被称作显示应用,而应用A2至A4被称作隐藏应用。此外,隐藏应用A2至A4具有层次(等级)。该层次从离显示应用A1最近的隐藏应用A2向离显示应用A1最远的隐藏应用A4变深。例如,如果显示应用A1结束,最高次序的隐藏应用A2就变为显示应用。
由于用户操作被输入并且处理被频繁执行,该显示应用消耗大量资源。另一方面,隐藏应用基本上消耗较少资源。此外,控制单元15可以使隐藏应用进入有意地减少资源消耗的非活动状态。
这里的资源是用于执行应用的并且是信息处理终端10所拥有的物理资源或虚拟资源。例如,这些资源包括可以占用中间消耗量的资源类型,例如CPU或GPU的处理能力、存储器容量、通信吞吐量、电力或信道数量;和有无使用为固定的资源类型(一个应用所专门拥有的类型),例如相机、GPS、传感器或通信设备的设备。当应用被执行时,资源被该应用使用。
当要激活新应用时,控制单元15判断将在哪个显示器上显示该新应用的应用画面。
以下将说明每个示例性实施例的细节。
(第一示例性实施例)
将举例说明只假定可以占用中间消耗量的资源类型的情况作为第一示例性实施例。可占用中间消耗量的资源的示例包括CPU的处理能力、存储器容量、通信吞吐量、信道数量、电力等。
第一示例性实施例的信息处理终端10的基本配置是图2所示的配置。
图4是示出了由第一示例性实施例的信息处理终端10对应用的画面显示控制的流程图。该画面显示控制的处理主要是由控制单元15执行的。
该示例性实施例的信息处理终端10具有多个显示器11和12,每个显示器显示应用的画面;以及控制单元15,该控制单元基于信息处理终端10消耗的资源量从所述多个显示器11和12中确定将在其上激活新应用的显示器。因此,该示例性实施例的信息终端10能够通过考虑施加到信息处理终端的负荷来确定将在其上激活新应用的显示器。以下将给出详细说明。
在图4中的初始状态中,某些应用可能已经在执行或者根本没有应用被执行。
通过参照图4,当接收到激活新应用的指令时,信息处理终端基于第一条件判断该新应用是否可以在显示器11上激活、是否可以在显示器12上激活或者不能在它们中的任一个上激活(步骤101)。这里的第一条件是以下条件:如果新应用要在这些显示器之一上被激活,那么一应用过去所消耗的统计资源量与正在其他显示器的表面上执行的应用所消耗的当前资源量的总和不超过预定阈值。作为示例,消耗的统计资源量是在过去执行中所消耗的资源量的平均值。如果由于正在实时执行的应用所消耗的资源量造成该应用将不被激活,则根据第一条件确定不可能激活。
如果确定该应用可以在显示器11和12中的一者或两者上激活,信息处理终端10则针对被确定为可以在其上激活新应用的显示器基于第二条件进一步判断该新应用是否可以被激活(步骤102)。
这里的第二条件是以下条件:如果新应用将在满足第一条件的显示器上被激活,那么由该新应用过去所消耗的统计资源量与由正在其他显示器的表面上执行的应用过去所消耗的资源量的总和不超过预定阈值。例如,该应用所消耗的统计资源量为该应用在过去的执行中消耗的资源量的平均值。假定正在执行的应用被实施而消耗了平均资源量,如果该应用将不被激活,则基于第二条件确定不可能激活。
如果基于第二条件也确定该应用可以在显示器11和12中的一者或两者上激活,信息处理终端10则针对被确定为可以在其上激活该应用的显示器基于第三条件进一步判断该新应用是否可以被激活(步骤103)。
这里的第三条件是以下条件:在显示器11或12上激活新应用后,当另一个显示器上的显示应用结束时,这两个显示器11和12的表面上的应用所消耗的资源量的总和不超过阈值。如果当显示器11和12的表面上的应用将来结束而这些应用之下的应用到达前端时,假定资源总量出现问题,则在该第三条件下确定不可能激活。
如果在第三条件下确定该应用可以在显示器11和12中的任一者或两者上激活,信息处理终端10则在被确定为可以在其上激活该应用的显示器上激活该应用(步骤104)。其结果是,满足全部第一至第三条件的显示器被赋予优先权,该应用可以被激活。例如,如果新应用在显示器11上激活,至此在显示器11上的显示应用就变为最高次序的隐藏应用。如果某个应用变为隐藏应用,该应用所消耗的资源的实时量就减少。
如果在第三条件下确定该应用可以在显示器11和12两者上激活,信息处理终端10则任意地选择显示器11或12之一并且可以在选择的显示器上激活该应用。然而,这是一个示例,并且作为另一个示例,可以基于进一步的条件作出判断。具体地,如果在显示器11上激活该新应用与在显示器12上激活该新应用之间存在消耗的资源量的差异,则消耗较少资源量的显示器可被选择。
如果在步骤101至103中的任一步骤中确定该应用不能在任何显示器11和12上激活,信息处理终端10则执行强制激活处理(步骤105)。强制激活处理是这样的处理:请求的新应用被激活,而正在执行的应用的状态被控制,使得消耗的资源量的总和被减小。随后将说明强制激活处理的细节。然而,作为另一个示例,强制激活处理是一个示例,并且作为另一个示例,如果在步骤101至103中的任一步骤中确定该应用不能在任何显示器11和12上被激活,信息处理终端10则可以确定新应用将不被激活。
图5是示出了由该示例性实施例的信息处理终端执行的强制激活处理的流程图。如果在图4的流程中确定新应用不能在任何显示器11和12上被激活,则执行强制激活处理。
通过参照图5,信息处理终端10首先判断如果将正在执行的应用在显示器11和12之间移动,新应用是否能在其中一个显示器上被激活(步骤201)。正在执行的应用在显示器11和12之间移动的意思是:在其上显示该应用的应用画面的显示器从显示器11变为显示器12或从显示器12变为显示器11。如果将正在执行的应用在显示器11和12之间移动,就改变了两个显示器11和12的显示应用和隐藏应用,并且改变了消耗的资源总量。
通过在显示器11和12之间移动正在执行的应用,如果由于消耗的资源总量的变化致使该新应用可以在其中一个显示器上被激活,信息处理终端10就这样地移动该应用(步骤202)并激活新应用(步骤203)。
如果即使在显示器11和12在之间移动正在执行的应用之后也不能激活新应用,信息处理终端10则在这些显示器之一上激活该新应用并使其他显示器上的显示应用进入非活动状态(步骤204)。
这里的非活动状态是指减小消耗的资源量同时保持执行的状态。例如,如果使某个应用进入了非活动状态,为该应用分配的存储区域就可以被释放。可替代地,信息处理终端10可以激活虚拟(dummy)应用(其中在该应用的显示器上消耗零资源量),以便使显示应用进入非活动状态。其结果是,显示应用变为隐藏应用,并且减少了消耗的资源量。此时,信息处理终端10可以使进入非活动状态的应用的应用画面变暗,或者将其变为缩图。
此外,在图5的示例中,如果即使正在执行的应用在显示器11和12之间移动之后也不能激活新应用,则使将不在其上显示新应用的显示器的表面上的应用进入非活动状态,但本发明不限于此。作为另一个示例,新应用可以在其中一个显示器上显示,并且可以使其他显示器的表面上的应用进入非活动状态,而不对在显示器11和12之间移动正在执行的应用的情况作出判断。
此外,在该示例性实施例中,如图4所示,示出了对所有第一至第三条件作出判断的示例,但本发明不限于此。作为另一个示例,可以只对第一至第三条件中的任一条件作出判断。作为又一个示例,可以对第一至第三条件中的任意两个条件作出判断。
此外,在该实施例中,如图4所示,示出了按第一至第三条件的顺序使用这些条件的示例,但本发明不限于此,并且可以按任何顺序使用第一至第三条件。
(第二示例性实施例)
举例说明了只假定消耗量能够测量的资源(例如CPU的处理能力和内存容量)的情况作为第一示例性实施例,但在第二示例性实施例中,将举例说明只假定有无使用为固定的资源类型(例如相机和传感器)的情况。这种类型的资源在这里将被称作设备。
在第二示例性实施例中,信息处理终端10选择将在其上激活新应用的显示器,使得两个显示器11和12的显示应用不使用相同的设备,以免多个应用同时使用相同的设备。
在第二示例性实施例中,同样,信息处理终端10的基本配置为图2所示的配置。
图6是示出了由第二示例性实施例的信息处理终端10对应用的画面显示控制的流程图。该画面显示控制的处理主要是由控制单元15执行的。在图6的初始状态中,某些应用可能已经在执行或者根本没有应用被执行。
通过参照图6,在接收到激活新应用的指令时,信息处理终端10判断该新应用是否使用某个设备(步骤301)。如果该新应用使用该设备,信息处理终端10则判断使用与该新应用要使用的设备相同的设备的应用是否作为显示应用被显示在显示器11或12上(步骤302)。
如果在步骤301中确定该新应用不使用该设备,或者如果在步骤302中确定使用与该新应用的设备相同的设备的应用未被显示,信息处理终端10则在从显示器11或12中任意选择的显示器上激活该新应用(步骤303)。
如果在步骤302中确定使用与该新应用的设备相同的设备的应用被显示在其中一个显示器上,信息处理终端10则在该显示器上激活该新应用(步骤304)。其结果是,使用相同设备的多个应用将不会同时变为显示应用。
这里假定与其他应用没有竞争并且没有安装不能在任何显示器11和12上激活的应用。此外,作为初始状态,假定使用相同设备的这两个应用并非分别是显示器11和12的显示应用。因此,在图6中,假定该新应用可以在至少任一显示器上被成功地激活。
在该示例性实施例中,对于有无使用为固定的资源类型,例如相机,应用使用这种资源的可能性可以被量化并被用于确定对将在其上激活新应用的显示器的选择。以下将说明该示例性实施例的变型。
图7是示出了根据第二示例性实施例的变型的信息处理终端10对应用的画面显示控制的流程图。该画面显示控制的处理主要是由控制单元15执行的。在图7的初始状态中,某些应用可能已经在执行或者根本没有应用被执行。
通过参照图7,在接收到激活新应用的指令时,信息处理终端10判断新应用是否有可能使用该设备(步骤701)。这里,该应用使用该设备的可能性以通过将该应用使用该设备被执行的次数除以该应用被执行的次数而获得的使用率表示。该应用有可能使用该设备意味着所述使用率超过了阈值。例如,该阈值为零。
如果新应用有可能使用该设备,信息处理终端10则按照第四条件判断新应用将要使用的该设备是否当时正被任一显示应用使用(步骤702)。
如果新应用将要使用的该设备当时没有正被任一显示应用使用,信息处理终端10则按照第五条件判断有可能使用该设备的应用是否为任一显示器的显示应用(步骤703)。如果有可能使用该设备的应用不是任一显示器的显示应用,信息处理终端10则进一步按照第六条件判断有可能使用该设备的应用是否为任一显示器的隐藏应用(步骤704)。
隐藏应用有可能使用该设备意味着:该应用有可能作为隐藏应用使用该设备,或者该应用有可能在变为显示应用时使用该设备。
如果在步骤701中确定新应用没有可能使用该设备,或者如果在步骤704中确定没有隐藏应用有可能使用新应用要使用的设备,信息处理终端10则在任意地选择的显示器上激活新应用(步骤705)。
如果在步骤702中确定当时有正在使用新应用要使用的设备的显示应用,或者如果在步骤703中确定有有可能使用该设备的显示应用,信息处理终端10则在与该显示应用的显示器相同的显示器上激活新应用(步骤706)。
如果在步骤704中确定没有有可能使用新应用要使用的设备的隐藏应用,信息处理终端10则在与该隐藏应用的显示器相同的显示器上激活新应用(步骤707)。
此外,在该示例性实施例中,如图7所示,示出了对所有第四至第六条件作出判断的示例,但本发明不限于此。作为另一个示例,可以只对第四至第六条件中的任一条件作出判断。作为又一个示例,可以对第四至第六条件中的任意两个条件作出判断。
此外,在该实施例中,如图7所示,示出了按第四至第六条件的顺序使用这些条件的示例,但本发明不限于此,并且可以按任何顺序使用第四至第六条件。
(第三示例性实施例)
在第三示例性实施例中,将举例说明有可以占用中间消耗量的资源(例如CPU的处理能力)和有无使用为固定的资源(设备)(例如相机)这两种资源的情况。
第三示例性实施例的信息处理终端的基本配置与图2所示的相同。
第三示例性实施例的信息处理终端10通过其中结合了图4所示的第一示例性实施例中的处理与图6所示的第二示例性实施例中的处理的处理来执行画面显示控制。
图8是示出了由第三示例性实施例的信息处理终端10对应用的画面显示控制的流程图。该画面显示控制的处理主要是由控制单元15执行的。在图8的初始状态中,某些应用可能已经在执行或者根本没有应用被执行。
通过参照图8,在接收到激活新应用的指令时,信息处理终端10根据第一基准判断新应用是否可以在显示器11上被激活、是否可以在显示器12上被激活、还是不能在它们中的任一个上被激活(步骤401)。第一基准是关于占用中间消耗量的资源类型的用于判断是否可以在显示器上激活新应用的基准。作为具体示例,这里,第一基准是在图4中示出的步骤101至103的处理。然而,假定了新应用可以在显示器11和12二者上被激活的情况,这不同于新应用可以仅在它们中的一个上被激活的情况。
如果基于第一基准新应用可以在显示器11和12二者上被激活,信息处理终端10则随后基于第二基准判断新应用是否可以在显示器11或12上被激活(步骤402)。
第二基准是关于有无使用为固定的资源类型的用于判断新应用是否可以在显示器上被激活的基准。作为具体示例,这里的第二基准是在图6中示出的步骤301至302的处理。然而,假定了新应用可以在显示器11和12二者上被激活的情况,这不同于新应用可以仅在它们中的一者上被激活的情况。
随后,信息处理终端10基于步骤402的判断结果确定将在其上激活新应用的显示器(确定1)(步骤403)。由于在第一基准中没有赋予任一显示器11或12优先权,因此在确定1中可以基于第二基准进行确定。具体地,仅需要信息处理终端10执行图6所示的步骤303至304的处理。
如果在步骤401中确定新应用可以在显示器11或12上被激活,信息处理终端10则随后基于第二基准判断新应用可以在显示器11上被激活还是可以在显示器12上被激活(步骤404)。
随后,信息处理终端10判断基于第一基准的判断结果和基于第二基准的判断结果之间是否有冲突(步骤405)。对于基于第一基准被确定为可以在其上激活新应用的显示器,如果在这里基于第二基准确定新应用也可以被激活,那么就没有冲突。对于基于第一基准确定可以在其上激活新应用的显示器,如果基于第二基准确定新应用不能被激活,以及如果基于第二基准新应用可以在另一个显示器上被激活,那么就产生了冲突。
如果没有冲突,信息处理终端10则基于第一基准和第二基准的判断结果确定(确定2)将在其上激活新应用的显示器(步骤406)。例如,如果有一个基于第一基准和第二基准二者被确定为可以在其上激活新应用的显示器,那么仅需要确定新应用将在该显示器上激活。
如果有冲突,作为示例,信息处理终端10则通过赋予第二基准比第一基准高的优先权来确定将在其上激活新应用的显示器,并在该显示器上激活新应用(步骤407)。具体地,信息处理终端10确定将在基于第二基准被确定为可以在其上激活新应用的显示器上激活新应用。当新应用将被激活时,信息处理终端10执行图5所示的强制激活处理。第二基准被赋予比第一基准高的优先权的示例在这里作为示例而示出,但本发明不限于此。作为另一个示例,第一基准可以被赋予比第二基准高的优先权,或者在冲突的情况下可以确定将不激活新应用。
如果在步骤401中确定新应用不能在任一显示器上被激活,信息处理终端10则随后基于第二基准判断新应用是否可以在显示器11上被激活或是否可以在显示器12上被激活(步骤408)。
信息处理终端10基于步骤408中的第二基准的判断结果确定新应用要在其上激活的显示器,并通过强制激活处理而激活该应用(步骤409)。如果基于第二基准确定新应用可以在其中一个显示器上被激活,信息处理终端10则在该显示器上激活新应用。如果基于第二基准确定新应用可以在显示器11和12二者上被激活,信息处理终端10则在任意地选择的显示器上激活新应用。
这里,示出了在步骤409中新应用在其中一个显示器上被激活的示例,但本发明不限于此。作为另一个示例,如果在步骤401中基于第一基准新应用不能在任何显示器11和12上被激活,则可以确定不能执行步骤408的处理并且将不激活新应用。
此外,由于这是第二基准被赋予了高于第一基准的优先权的示例,所以不假定基于第二基准而作出新应用不能在任一显示器上被激活的判断。然而,如果第一基准被赋予了高于第二基准的优先权,那么就可以基于第二基准而作出新应用不能在任一显示器上被激活的这种判断。在这种情况下,仅需要基于第一基准确定将在哪个显示器上激活新应用。
此外,在图8中,示出了在基于第一基准的判断之后基于第二基准作出判断的示例,但本发明不限于此。作为另一个示例,可以在基于在第二基准的判断之后基于第一基准作出判断。
图9是示出了由第三示例性实施例的变型的信息处理终端10对应用的画面显示控制的流程图。
通过参照图9,在接收到激活新应用的指令时,信息处理终端10基于第二基准判断新应用是否可以在显示器11上被激活或是否可以在显示器12上被激活(步骤501)。
如果新应用可以在显示器11和12二者上被激活,信息处理终端10则随后基于第一基准判断新应用是否可以在显示器11上被激活、是否可以在显示器12上被激活、还是不能在它们中的任一个上被激活(步骤502)。然后,信息处理终端10基于步骤502的判断结果确定将在其上激活新应用的显示器(确定1)(步骤503)。由于在第二基准中没有赋予显示器11或12优先权,因此在确定1中仅需要基于第一基准作出确定。具体地,仅需要信息处理终端10执行图4所示的步骤104至105。
如果在步骤501中确定新应用可以仅在显示器11或12上被激活,信息处理终端10则随后基于第一基准判断新应用是否可以在显示器11上被激活、是否可以在显示器12上被激活、还是不能在它们中的任一个上被激活(步骤504)。
随后,信息处理终端10判断基于第一基准的判断结果和基于第二基准的判断结果之间是否有冲突(步骤505)。这里,对于基于第二基准被确定为可以在其上激活新应用的显示器,如果基于第一基准确定新应用也可以被激活,则没有冲突。此外,如果基于第一基准也确定新应用不能在任一显示器上被激活,则没有冲突。对于基于第二基准被确定为可以在其上激活新应用的显示器,如果基于第一基准确定新应用不能被激活以及基于第一基准确定新应用可以在另一个显示器上被激活,那么就产生了冲突。
如果无冲突,信息处理终端10则基于第一基准和第二基准的判断结果确定将在其上激活新应用的显示器(确定2)(步骤506)。例如,如果基于第一基准确定新应用不能在任一显示器上被激活,那么仅需要确定基于第二基准被确定为可以在其上激活新应用的显示器。在该情况下,信息处理终端10执行图5所示的强制激活处理。
如果有冲突,信息处理终端10则通过赋予第一基准比第二基准高的优先权(作为示例)来确定将在其上激活新应用的显示器,并在该显示器上激活新应用(步骤507)。具体地,信息处理终端10确定在基于第一基准被确定为可以在其上激活新应用的显示器上激活新应用。当新应用将被激活时,信息处理终端10执行图5所示的强制激活处理。
这里,第一基准被赋予了比第二基准高的优先权的示例作为示例而示出,但本发明不限于此。作为另一个示例,第二基准可以被赋予比第一基准高的优先权,或者如果有冲突,则可以确定将不激活新应用。
此外,示出了在第三示例性实施例中首先以固定方式使用第一基准和在第三示例性实施例的变型中首先以固定方式使用第二基准的示例。然而,本发明不限于此。将首先使用第一条件还是第二条件可以根据将要新激活的应用来进行选择。通过为每个应用预先设置将对有无使用为固定的资源(设备)和可以占用中间消耗量的资源中的哪个赋予资源优先权,就可以根据该设置来选择将首先使用第一基准和第二基准中的哪个基准。例如,如果将激活具有设备被赋予优先权的设置的应用,则可以如此配置:首先基于第一条件作出判断,然后基于第二条件作出判断。或者该顺序可以被颠倒。此外,对于每个应用,哪个资源将被赋予优先权可以是预先固定的。在该情况下,仅需要与具有优先权的资源所属的类型相关的基准首先被使用或稍后被使用。
(第四示例性实施例)
在第一至第三示例性实施例中,假定了两个显示器11和12具有相同的设备特性的情况,但显示器11和12也可以具有不同的特性。显示器特性包括显示器的帧率、安装显示器的壳体中是否提供了相机或传感器等。
如果显示器11和12具有不同的特性,信息处理终端10则优选地赋予具有适合应用的特性的显示器比另一个显示器高的优先权。也就是说,信息处理终端10如上所述优选地保持上述适当消耗的资源的总量,防止各应用在它们所使用的设备方面彼此竞争,并选择具有适合新应用的特性的有优先权的显示器。
在第一至第三示例性实施例中,信息处理终端10在基于以下各项而选择的显示器上激活了新应用:基于消耗的资源量的判断、基于资源(设备)的使用有无的判断、或结合二者的判断的判断结果。在第四示例性实施例中,信息处理终端10通过增加了关于显示器11和12如何满足新应用所需特性的另一个条件来判断将在显示器11和12中的哪个上显示该应用。
图10是示出了由第四示例性实施例的信息处理终端10对应用的画面显示控制的流程图。
通过参照图10,在接收到激活新应用的指令时,信息处理终端10基于上述第一基准或第二基准或二者的组合来判断新应用是否可以在显示器11上被激活、是否可以在显示器12上被激活,还是不能在它们中的任一个上被激活(步骤601)。可以与第一至第三示例性实施例中示出的判断类似地作出该判断。
在步骤601中,如果新应用可以在显示器11和12二者上被激活,信息处理终端10则基于以下第三基准判断新应用是否可以在显示器11上被激活或是否可以在显示器12上被激活(步骤602)。
第三基准是用于判断显示器11和12的特性是否满足新应用的要求的基准。例如,如果新应用要求在与例如相机安装在同一壳体上的显示器上的显示,与相机安装在同一壳体上的显示器则满足新应用的要求,而与相机安装在不同壳体上的显示器则不满足新应用的要求。
随后,信息处理终端10基于步骤602的判断结果确定将在其上激活新应用的显示器(步骤603)。由于在步骤601中没有赋予显示器11和12中的任一显示器优先权,因此这里可以基于第三基准进行确定。具体地,如果显示器11和12中的任一显示器满足该应用的要求,信息处理终端10则选择该显示器。可替代地,如果显示器11和12二者都满足该应用的要求,信息处理终端10则任意地选择任一个显示器。
如果在步骤601中确定新应用可以在显示器11或12上被激活,信息处理终端10则随后基于第三基准判断新应用是可以在显示器11上被激活还是可以在显示器12上被激活(步骤604)。
随后,信息处理终端10判断步骤601的判断结果和基于第三基准的步骤604的判断结果之间是否有冲突(步骤605)。这里,对于在步骤601中被确定为可以在其上激活新应用的显示器,如果基于第三基准确定也可以激活新应用,则没有冲突。对于在步骤601中被确定为可以在其上激活新应用的显示器,如果基于第三基准确定新应用不能被激活,以及如果基于第三基准确定新应用可以在另一个显示器上被激活,则有冲突。
如果无冲突,信息处理终端10则基于步骤601和604的判断结果确定将在其上激活新应用的显示器(步骤606)。仅需要确定在步骤601和604二者中被确定为可以在其上激活新应用的显示器上激活新应用。
如果有冲突,信息处理终端10则通过赋予基于第三基准的判断比步骤601的判断高的优先权(作为示例)来确定将在其上激活新应用的显示器,并在该显示器上激活该新应用(步骤607)。具体地,信息处理终端10确定在基于第三基准被确定为可以在其上激活新应用的显示器上激活新应用。当新应用将被激活时,信息处理终端10执行图5所示的强制激活处理。
这里,基于第三基准的判断被赋予比步骤601的判断高的优先权的示例作为示例而示出,但本发明不限于此。作为另一个示例,步骤601的判断可以被赋予比基于第三基准的判断高的优先权,或者如果有冲突,则可以确定不激活新应用。
如果在步骤601的判断中确定新应用不能在任一显示器上被激活,信息处理终端10则随后基于第三基准判断新应用是否可以在显示器11上被激活或是否可以在显示器12上被激活(步骤608)。
信息处理终端10基于步骤608中的按照第三基准的判断结果确定将在其上激活新应用的显示器,并通过强制激活处理而激活新应用(步骤609)。例如,如果基于第三基准确定新应用可以在其中一个显示器上被激活,信息处理终端10则在该显示器上激活新应用。如果基于第三基准确定新应用可以在显示器11和12二者上被激活,信息处理终端10则在任意地选择的显示器上激活新应用。
这里,示出了在步骤609中新应用在其中一个显示器上被激活的示例,但本发明不限于此。作为另一个示例,如果在步骤601的判断中新应用不能在显示器11和12中的任一个上被激活,则可以不执行步骤608的处理而确定将不激活新应用。
此外,在图10中,示出了在步骤601的判断之后基于第三基准作出判断的示例,但本发明不限于此。作为另一个示例,可以在基于第三基准作出判断之后作出步骤601的判断。
而且,还可以配置成对每个应用设置优先权,该优先权表示显示器的特性被赋予优先权的程度,并且如果在步骤605中有冲突,则基于该优先权作出选择。例如,在步骤605的冲突的情况下,如果显示器的特性的优先权不小于阈值,则仅需要在基于第三基准被确定为可以在其上激活应用的显示器上激活该应用。此外,如果显示器的特性的优先权小于阈值,则仅需要在在步骤605中被确定为可以在其上激活应用的显示器上激活该应用。
例如,如果该应用将要以高质量的运动图像来显示,那么可以显示高质量图像的特性就可以在该应用中占据优先权。
此外,在需要使用相机的应用的情况中,提供相机的设备特性可以为重要的优先权(最高优先权),并且在视情况使用相机的应用的情况中,提供相机的设备特性可以被赋予一定优先权(中间程度的优先权)。此外,此优先权可以根据实际相机在过去执行中的使用频率来改变。例如,在使用相机的应用的情况中,可对提供相机的特性设置预定优先权作为初始值,并且如果之后相机的使用频率变高,则可以提高优先权,而相机的使用频率低时,则可以降低优先权。
此外,在使用传感器(例如加速度传感器)的应用的情况中,可对提供传感器的特性设置最重要的或一定的优先权。在利用具有图1所示的形状的信息处理终端10中的壳体13和14的打开/闭合来实现某种控制且不要求加速度检测的高精确度的应用的情况中,可对提供传感器的特性设置与该要求相应的一定优先权。在通过使用3D(三维)地图来显示当前地点或方向且要求检测加速度的高精确度的应用的情况中,可对提供传感器的特性设置最重要的优先权。可替代地,即使在通过使用3D地图来显示当前地点或方向的应用的情况中,如果用户在过去执行中允许在未提供传感器的显示器上显示,提供传感器的特性的优先权则可以从最重要的优先权被稍微降低。
(第五示例性实施例)
在第一至第四示例性实施例中,假定了各应用之间无特殊关联性的情况,但在某些情况中,多个应用可能具有相互关联性。例如,如果用户在使用某个应用时频繁使用其他具体应用,这些应用则可能作为相关应用集而彼此相关联。第五示例性实施例是假定了多个应用彼此相关联的情况的示例。
第五示例性实施例的信息处理终端的基本配置与图2所示相同。在该示例性实施例中,信息处理终端10执行这样的处理:除了第三示例性实施例所示的处理之外,当相关应用集中的应用之一被新激活时,如果其他应用正作为隐藏应用被执行,则其将变为显示应用,而如果其他应用没有正被执行,则他们还被同时激活。然而,此时,该处理是在以下条件下执行的:消耗的资源量的总和不超过阈值并且在设备的使用方面未引起竞争。如果其他应用不与要新激活的应用相关联,信息处理终端10则执行与第三示例性实施例的处理相似的处理。
作为一个示例,假定应用A1和应用A2彼此相关联作为相关应用集。信息处理终端10预先维护该相关应用集的关联信息。当请求激活应用A1时,信息处理终端10访问该关联信息并识别与应用A1相关联的应用A2。然后,在消耗的资源的总量不超过阈值并且在设备的使用方面不发生竞争的条件下,信息处理终端10在显示器11和12上显示应用A1和A2。
信息处理终端10通过与第三示例性实施例中使用的方法类似的方法判断是否满足以下条件:消耗的资源总量不超过阈值,并且在资源使用方面不发生竞争。然而,相关应用集应为不引起消耗的资源总量和设备使用方面的竞争的问题的组合。因此,在第一至第三条件中,消耗的资源总量不超过阈值的条件通常在第一和第二条件(不包括考虑了隐藏应用的第三条件)中始终得到满足。
信息处理终端10可以在任一显示器上任意地显示应用A1或A2,但可以例如按如下方式确定。
如果与请求激活的应用A1相关联的应用A2已经是显示器11或显示器12上的显示应用,信息处理终端10则在另一个显示器上激活应用A1。
如果应用A2是任一显示器的隐藏应用,信息处理终端10则将应用A2提升到该显示器的显示应用并在另一个显示器上激活应用A1。如果应用A2没有正被执行,信息处理终端10则一起激活应用A1和应用A2。此时,在哪个显示器上激活哪个应用是任意确定的。
例如,假定运动图像再现应用与浏览器相关联,该浏览器被显示在显示器12上,并且计算应用被显示在显示器11上。如果从该状态请求激活运动图像再现应用,则仅需要信息处理终端10在消耗的资源量总和不超过阈值的条件下在显示器11上激活该运动图像再现应用。其结果是,彼此相关联的运动图像再现应用和浏览器可以被用户同时使用。
此外,如果作为相关应用集而彼此相关联的多个应用要被新激活,信息处理终端10则可以假定首先要完成哪个应用并确定将在其上显示各应用画面的显示器。
具体地,信息处理终端10预先将被假定为该相关应用集中首先完成的应用设为子应用,并将被假定为稍后完成的应用设为该相关信息中的主应用。然后,信息处理终端10确定将在其上显示各应用的显示器,使得如果子应用完成,消耗的资源量总和不超过阈值。具体地,仅需要在子应用在其表面上消耗较少资源量的显示器11和12中的一个上激活该子应用,并且在子应用在其表面上消耗较大资源量的显示器11和12中的另一个上激活主应用。
(第六示例性实施例)
在第一示例性实施例中,在对所有第一至第三条件作出判断之后判断在哪个显示器上激活新应用,除非确定了不能在显示器11和12中的任一个上激活新应用。然而,本发明不限于此。作为第六示例性实施例,将举例说明以下情况:如果在对第一至第三条件顺序地作出判断时基于任一条件确定了能在仅一个显示器上激活新应用,则确定将在该显示器上激活新应用。在该情况中,如果确定了只能在一个显示器上激活新应用,则无需对后续条件作出判断,并且可以减少判断处理。
第六示例性实施例的信息处理终端10的基本配置是图2所示的配置。
图11是示出了由第六示例性实施例中的信息处理终端10对应用的画面显示控制的流程图。该画面显示控制的处理主要是由控制单元15执行的。在图11的初始状态中,某些应用可能已经在执行或者应用根本无需被执行。
通过参照图11,在接收到激活新应用的指令时,信息处理终端10首先基于第一条件判断新应用是否可以在显示器11上被激活、是否可以在显示器12上被激活、还是不能在任一显示器上被激活(步骤801)。该第一条件与第一示例性实施例中的第一条件相同,并且是以下条件:如果新应用在这些显示器之一上被激活,那么该应用过去所消耗的统计资源量与正在其他显示器的表面上执行的应用所消耗的当前资源量的总和不超过预定阈值。消耗的统计资源量是过去消耗的资源量的平均值(作为示例)。如果由于正在实时执行的应用所消耗的资源量造成该应用将不被激活,则在第一条件下确定不可能激活。
如果可以在显示器11和12中的其中一个上激活应用,信息处理终端10则在该显示器上激活新应用(步骤802)。例如,如果在显示器11上激活新应用,那么已经出现在显示器11的表面上的应用则隐藏在新应用之下。隐藏在下面的正在实时执行的应用所消耗的资源量减少。
如果不能在任何显示器11和12上激活应用,信息处理终端10则执行强制激活处理(步骤803)。这里,强制激活处理与图5所示的第一示例性实施例中的强制激活处理相同,并且是这样的处理:在控制正在执行的应用的状态时激活请求的新应用,使得减少了消耗的资源量总和。
如果在第一条件下应用可以在显示器11和12二者上被激活,信息处理终端10则随后基于第二条件判断应用是否可以在显示器11上被新激活、是否可以在显示器12上被激活、还是不能在它们中的任一个上被激活(步骤804)。这里,该第二条件与第一示例性实施例中的第二条件相同,并且是以下条件:如果新应用将在满足第一条件的显示器11和12的其中之一上被激活,那么作为新应用的过去统计量的消耗的资源量与正在其他显示器的表面上执行的应用的过去统计量的消耗的资源量的总和不超过阈值。消耗的资源的统计量是过去所消耗的资源量的平均值(又是作为示例)。假定正在执行的应用根据平均消耗的资源量在变化,如果应用将不被激活,则在第二条件下确定不可能激活。
另一方面,如果应用可以在显示器11和12的其中一个上被激活,信息处理终端10则在该显示器上激活新应用(步骤805)。
如果基于第二条件应用不能在任何显示器11和12上被激活,信息处理终端10则任意地选择任一显示器并在该显示器上强制激活新应用(步骤803)。
如果基于第二条件应用可以在显示器11和12二者上被激活,信息处理终端10则随后在第三条件下判断应用是否可以在显示器11上被新激活、是否可以在显示器12上被激活、还是不能在它们中的任一个上被激活(步骤806)。这里,该第三条件与第一示例性实施例的第三条件相同,并且是以下条件:如果应用画面叠加在显示器上而执行的多个应用中的在该显示器的表面上的应用完成,两个显示器11和12的表面上的应用所消耗的资源量的总和不超过阈值。如果假定当显示器11和12的表面上的这些应用完成并且这些应用之下的应用到达表面时资源总量将出现问题,则在该第三条件下确定不可能激活。
如果在第三条件下应用可以在显示器11和12其中一个上被激活,信息处理终端10则在该显示器上激活新应用(步骤807)。
如果在第三条件下应用不能在任何显示器11和12上被激活,信息处理终端10则任意地选择显示器11或12并在该显示器上强制激活新应用(步骤803)。
如果在第三条件下同样该应用可以在显示器11和12二者上被激活,信息处理终端10则任意地选择满足所有第一至第三条件的显示器11或12并在该显示器上激活新应用(步骤808)。然而,这是一个示例,作为另一个示例,可以基于进一步的条件作出判断。具体地,如果在显示器11上激活该新应用与在显示器12上激活该新应用之间存在消耗的资源量的差异,则可以选择消耗较少资源量的显示器。
此外,在该示例性实施例中,如图11所示,示出了使用了基于所有第一至第三条件的判断的示例,但本发明不限于此。作为另一个示例,可以只基于第一至第三条件中的任一条件作出判断。作为又一个示例,可以基于第一至第三条件中的任意两个条件作出判断。
此外,在该示例性实施例中,如图11所示,示出了按第一至第三条件的顺序使用这些条件的示例,但本发明不限于此,并且可以按任意顺序使用第一至第三条件。
(第七示例性实施例)
在第四示例性实施例中,示出了“显示器11和12在多大程度上满足了应用所要求的特性”的条件(第三基准)与资源消耗有关的其他条件(第一和第二基准)相结合另外地被使用或当新应用在每个显示器上被激活时被使用示例。然而,本发明不限于此。“显示器11和12在多大程度上满足了应用所要求的特性”的条件可以用作主要条件,这将在该示例性实施例中举例说明。在该示例性实施例中,与资源的消耗或使用有关的条件不用于确定将在哪个显示器上激活新应用,而是被假定为当通过按照整个装置的计算而激活新应用时将被附加地使用。
该示例性实施例的信息处理终端10具有显示各自应用画面的多个显示器11和12以及从所述多个显示器11和12确定将在其上激活新应用的显示器的控制单元15。如果正在执行的应用与不依赖于新应用所要求的显示器的第一条件(第一非依存条件)竞争,控制单元15则结束正在执行的应用,并通过使用依赖于新应用所要求的显示器的第一条件(第一依存条件)或不依赖于新应用所要求的显示器的第二条件(第二非依存条件)来确定将在其上激活新应用的显示器。因此,该示例性实施例的信息处理终端10可以通过同时考虑多个条件来确定将在其上激活新应用的显示器。以下将说明详细的解释。
上述依存条件和非依存条件在该示例性实施例中被规定为对于应用来说必须的条件(必须条件)和不是必须的但优选被满足的条件(非必须条件),并且这些条件被用于确定何时激活新应用。这里,必须条件的意思是指在应用所要求的条件中要求程度高于其他条件的条件。另一方面,非必须条件的意思是指要求程度低于必须条件的条件。可以为每个应用预先设置应用所要求的程度或者可以通过用户的操作来设置应用所要求的程度。此外,应用所要求的程度可以根据与各条件有关的资源的类型来设置,或者可以根据在条件满足的状态下用户执行应用的频率来设置。
此外,必须条件的意思不只是指在要求程度高于其他条件的条件的情况中,如果不满足该条件,应用就根本不运行的条件。因此,必须条件可以不仅包括如果不满足该条件,应用就根本不运行的条件,而且包括如果不满足该条件,应用的运行就变得不完整或者性能会被降低的条件。
可以作为必须条件或非必须条件的与显示器的性能有关的示例包括与获得运动图像再现所需的一定水平或更高水平的帧率的硬件有关的示例。此外,可以作为必须条件或非必须条件的与显示器有关的功能的示例包括触控面板功能和通过触控笔的输入功能。另外,可以作为必须条件或非必须条件的与显示器周围的配置有关的示例可以包括显示器与加速度传感器、地磁传感器、接触传感器、相机等具有预定位置关系(例如,安装在相同的壳体上)。
例如,对于用于再现运动图像的应用,可以将提供显示器再现运动图像所需的硬件设置为必须条件。如果只为显示器11和12之一提供了再现运动图像所需的硬件,该必须条件则依赖于该显示器。
此外,对于使用触控操作的应用,可以把显示器为触控面板式的条件设置为必须条件。如果只有显示器11和12之一为触控面板式,该必须条件则依赖于该显示器。该示例性实施例中的必须条件可以不考虑对显示器的依赖性而设置,并且除依赖于显示器的必须条件之外还有不依赖于显示器的必须条件。
可以引用信息处理终端10所拥有的资源的可用性作为不依赖于显示器的必须条件的示例。资源的示例包括加速度传感器、相机、文件系统、通信功能、麦克风、声音输出功能、记录功能等。通信功能的示例包括声音呼叫、无线或有线数据通信、蓝牙、红外通信等。然而,本发明不限于这些示例。
此外,对于再现高质量运动图像的应用,与运动图像有关的预定性能可以作为必须条件或非必须条件。例如,可以考虑高质量运动图像再现、相机拍摄的图像的预览、游戏的应用处理等。此外,他们的各自的必须条件或非必须条件可以依赖于显示器并且可以只由这些显示器中的其中之一满足。
在用于运动图像或相机拍摄的图像的预览的应用中,可将一定水平的或更高水平的帧率设置为必须条件。例如,对于运动图像文件,帧率被固定为30FPS(帧/秒),并且优选地将高于该帧率的帧率的再现性设置为必须的。
此外,由于运动图像文件中的图像通常被压缩,因此其解码处理费时。例如,如果硬件不具有足够的解码处理能力,再现的图像的运动就非常笨拙。
具体地,专用于移动图像再现的硬件,例如用于解码处理的DSP(数字信号处理器)、专用于显示相机拍摄的图像的预览的硬件等被使用。并且,可以采用这样的配置:这种硬件只能在这些显示器中的其中之一上使用。在该情况下,显示器可以使用这种硬件的条件为必须条件,并且这是依赖于显示器的条件。此外,希望的解码处理可以不使用专用硬件而只通过应用的软件来实现。在该情况下,帧率是不依赖于显示器的条件。
此外,甚至对于用于再现高质量移动图像的应用,显示器的帧率优选地不小于预定值,但可以有以下情况:即使帧率低于预定值,也能再现移动图像,虽然图像质量低。对于这样的应用,可以将显示器的帧率不小于预定值的条件设置为非必须条件。
此外,可以为游戏的应用处理提供GPU(图形处理单元),或者可以使用openGL(开放图形库)。由于一般而言GPU是对应一个显示器而提供的,因此在某些情况下它只能在这些显示器的其中之一上使用。openGL通常是以不依赖于显示器的方式实现的,但可以实现为使得openGL只能在这些显示器的其中之一上使用。在该情况下,只需将依赖于设备的实现的显示器可以使用GPU或openGL的条件设置为必须条件或非必须条件。
此外,依赖于游戏,可以将应用设计为使得该应用测量设备能够处理的帧率并且据此以该帧率输出图像。在该情况下,显示器能够再现该游戏的应用能够输出的最大帧率是优选的但并非必须的,并且这可被设置为非必须条件。
此外,用于将设备主体的处理器生成的图像数据传输到显示器的总线的速度可能影响帧率。例如,如果将一个图像从设备主体的处理器传输到显示器所需的时间为10毫秒,帧率则限于最大100FPS。如果将一个图像从设备主体的处理器传输到显示器所需的时间为5毫秒,帧率则最大为200FPS。在该情况下,可以把用于将设备主体的处理器生成的图像数据传输到显示器的总线的速度不小于预定值的条件设置为必须条件或非必须条件。
如果有多个非必须条件,应用要求他们的程度(优先度)则可能不同。此外,即使在相同的非必须条件下,应用要求的程度(优先度)也可能不同。可以为每个应用预先设置优先度或者可以通过用户的操作来设置优先度。此外,可以根据与每个条件有关的资源的类型来设置优先度或者可以在满足条件的状态下根据用户执行应用的频率来设置优先度。
在此具体示例中,应用的要求的实现程度(要求实现程度)通过考虑这些程度而被指定,并且被用于判断将在哪个显示器上激活新应用。具体地,使得具有较高要求实现程度的显示器优先。
例如,只需计算代表每个显示器的要求实现程度的点并使具有较高点的特性的显示器优先。根据用户的请求而使用设备的应用的要求条件可以包括表示设备被请求的程度的使用请求程度。控制单元15基于该应用过去执行时有无使用该设备来统计地计算该应用中对该设备的使用请求程度。例如,假定使用该设备时的实现值设为1,并且不使用该设备时的实现值设为0,过去执行中的实现值的平均值被计算,并且结果可被用作使用请求程度。
此外,使用设备的应用的要求条件可以包括表示请求在具有与该设备安装在相同的壳体上的特性的显示器上激活该应用的程度”的设备安排请求程度。控制单元15基于该应用过去执行时与显示器11相比在与该设备安装在相同的壳体上的显示器12中执行的程度来统计地计算该应用中的设备安排请求程度。
当要计算每个显示器的上述点时,可以例如通过以下方式进行计算:对与该设备安装在相同的壳体上的显示器12加上通过将该应用对该设备的使用请求程度乘以设备安排请求程度而获得的值。
当在该具体示例中以与在第四示例性实施例中的第三基准的判断相同的方式判断在哪个显示器上激活新应用时,使用这种必须条件和非必须条件。
这里,赛车游戏被假定为一个应用示例,将说明必须条件和非必须条件的设置和计算的示例。然而,在这里进行说明的设备的配置和条件的设置是举例说明,本发明不受其限制。
该赛车游戏是这样的游戏:通过操作使赛车在跑道上行驶,并且假定通过高质量运动图像来再现背景等的快速移动。假定通过触控面板操作的模式和通过加速度传感器操作的模式。此外,多个用户可以通过在信息处理终端10之间使用蓝牙进行的通信而彼此竞争。
此外,加速度传感器只安装在信息处理终端的壳体之一上,但假定加速度传感器能够操作两个显示器上的显示。然而,假定与加速度传感器安装在相同的壳体上的显示器的操作比另一个显示器的操作的精确度高。假定蓝牙不依赖于显示器,但如果蓝牙在由某应用使用,则蓝牙不能被其他应用使用。
在以上假定中,如果信息处理终端拥有的两个显示器中只有一个能够处理专用于图像的硬件,那么可以把以与适合专用于图像的硬件的一定帧率和更高帧率再现图像的能力设置为必须条件。专用于图像的硬件包括GPU、OpenGL加速器等。
此外,如果两个显示器都能再现高质量图像,即具有可用于赛车游戏的高帧率的图像,但如果这些显示器之一能够再现比另一个显示器的图像质量高的图像,那么可以将显示器能够再现具有较高帧率的图像的条件设为非必须条件。
此外,可以将显示器与加速度传感器安装在相同的壳体上的条件设为非必须条件。其原因是,如果在另一个显示器上执行赛车游戏,在由加速度传感器操作的模式下操作的准确度被降低。
此外,可以设置与蓝牙有关的非必须条件,虽然它不是固定地对应于显示器的条件。由于使用格斗游戏时需要蓝牙,因此优选地在可以使用蓝牙的状态下激活赛车游戏。只需要把“使用蓝牙或有可能使用蓝牙但现在未使用蓝牙的应用在显示器上执行”设置为非必须条件。如果使用蓝牙或有可能使用蓝牙但现在未使用蓝牙的应用被执行,则在正在其上执行该应用的显示器上激活赛车游戏。
由于有多个非必须条件,因此可以赋予这些条件优先度等级。可以为每个非必须条件计算表示优先度的点,并且可以对具有较高点的条件赋予较高优先度等级。作为一种点的计算方法,可以将赋予每个资源(设备)(例如专用于图像的硬件、加速度传感器、蓝牙等)的权重和该资源的使用频率的总和或乘积用作所述点。每个资源的权重可以是预先设置的固定值。使用频率可以通过例如将应用执行时资源的使用次数除以应用执行次数而获得。
例如,如果用户通过加速度传感器操作的模式经常使用,则加速度传感器的使用频率就变高,其结果是,显示器被安装在与加速度传感器相同的壳体上的非必须条件的优先度就变高。另一方面,如果用户经常独自玩赛车游戏,蓝牙的使用频率就变低,其结果是,显示器与其上执行使用蓝牙或有可能使用蓝牙的应用的显示器相同”的非必须条件的优先度就变低。
此外,当要选择激活赛车游戏的显示器时,可以基于如上计算的多个非必须条件的优先度来做出选择。作为选择方法的一个示例,可以判断每个显示器是否满足每个非必须条件,并且可以选择具有被满足的非必须条件的优先度的各点的总值高的显示器。可替代地,作为选择方法的另一个示例,可以选择满足多个非必须条件中具有最高优先度的非必须条件的显示器。
此外,假定以下策略应用于该具体示例。
设置以下内容为策略:如果要新激活的应用与正在执行的应用竞争,则该新应用比正在执行的应用优先。例如,即使要在其上激活新应用的显示器上有正在执行的应用,该新应用也将在该显示器上被激活并且变为显示应用。其结果是,正在执行的已经是显示应用的应用可能变为隐藏应用或者可能被移到其他显示器或者可能被结束。
此外,设置以下内容为策略:如果由于整个系统中的资源消耗等而出现了问题,则新应用比正在执行的应用优先。其结果是,正在执行的应用可能随着新应用的激活而结束。
根据该示例性实施例的信息处理终端的基本配置与图2所示相同。图12是示出了由第七示例性实施例中的信息处理终端10执行的应用控制的流程图。
通过参照图12,如果请求激活新应用,信息处理终端10则判断对于该应用是否有必须条件(步骤901)。如果有必须条件,信息处理终端10则随后判断必须条件中是否有依赖于显示器的条件(步骤902)。
如果有依赖于显示器的必须条件,信息处理终端10则确定将在满足该条件的显示器上激活新应用(步骤903)
另一方面,如果在步骤902的判断中没有依赖于显示器的必须条件,信息处理终端10则判断在正在执行的应用中是否存在具有与新应用的不依赖于显示器的必须条件相竞争的条件的应用(步骤904)。
例如,如果有正在执行的并且当前正将新应用要求作为必须条件的不依赖于显示器的资源的应用,则可以确定该应用与新应用的必须条件相竞争并且可以被结束。此外,如果有正在执行的并且正要求新应用要求作为必须条件的不依赖于显示器的资源作为必须条件的应用,则可以确定该应用与新应用的必须条件相竞争并且可以被结束。另外,如果有正在执行的并且正要求新应用要求作为必须条件的不依赖于显示器的资源作为非必须条件的应用,则可以确定该应用与新应用的必须条件相竞争并且可以被结束。
此外,如果有正在执行的并且有可能使用新应用要求作为必须条件的不依赖于显示器的资源的应用,则可以确定该应用与新应用的必须条件相竞争并且可以被结束。例如,应用使用设备(资源)的可能性通过与第二示例性实施例中的方法类似的方法来量化,并且如果数值(使用率)超过预定阈值,则可以确定该应用有可能使用该设备。
此外,如果使用、要求或有可能使用新应用要求作为必须条件的不依赖于显示器的资源的应用是显示应用,则可以确定该应用与新应用的必须条件相竞争。
如果有正在执行的并且具有与新应用的必须条件相竞争的条件的应用,信息处理终端10则结束正在执行的该应用(步骤905)。
如果在步骤901的判断中无必须条件,如果在步骤904的判断中无正在执行的并且具有与新应用的必须条件相竞争的条件的应用,或者如果步骤905中的处理结束,信息处理终端10则判断新应用是否具有非必须条件(步骤906)。
如果新应用具有非必须条件,信息处理终端10则计算如果在每个显示器11和12上激活新应用的情况下的要求实现程度,并确定将在具有较高要求实现程度的显示器上激活新应用(步骤907)。
此时,如果新应用要求多个非必须条件,信息处理终端10则确定将在较高程度地全面满足这些条件的显示器上激活新应用。可以针对每个非必须条件计算要求实现程度,可以选择具有大的总值、平均值或其加权值的显示器。可替代地,信息处理终端10可以选择具有较多满足要求的非必须条件的显示器。此外,信息处理终端10可以选择满足具有最高优先度的非必须条件的显示器。
随后,信息处理终端10计算当在确定的显示器上激活新应用时整个设备的负荷(系统负荷值),例如消耗的资源量(步骤908)。此外,信息处理终端10判断系统负荷值是否大于阈值(步骤909)。
系统负荷值是表示整个设备的负荷程度的值,并且根据在信息处理终端10中提供的资源的消耗量或使用率来计算。资源的示例包括可以占用中间消耗量的资源,例如CPU的处理能力、存储器容量、通信吞吐量、信道数量或电力;和有无使用为固定的资源(设备)类型,例如相机和传感器。
对于可以占用中间消耗量的资源,可以将消耗的量设为资源负荷值。如果有多个资源,可以将消耗的资源量的平均值设为系统负荷值,或者可以将消耗的每个资源的量加权求和而获得的值设为系统负荷值。
此外,这里使用的阈值是用于将系统负荷值降低到信息处理终端10的希望的操作状态可保持的程度的阈值。具体地,该阈值被设为使得不会出现应用的运行速度降低、应用的故障或应用的强制结束的程度。
如果系统负荷值大于阈值,信息处理终端10则通过强制激活处理在步骤903或步骤907中确定的显示器上激活新应用(步骤910)。这里的强制激活处理的意思是这样的处理:正在执行的应用的状态受到控制时激活新应用,以便减小系统负荷值。例如,可以引用如图5所示正在执行的应用在显示器之间移动、使显示应用不活动或结束等作为减小系统负荷值的方法。
如果系统负荷值不大于阈值,信息处理终端10则在步骤903或步骤907中确定的显示器上激活新应用(步骤911)。
如果在步骤906的判断中新应用没有非必须条件,信息处理终端10则计算当在显示器11和12中的每个显示器上激活新应用时该显示器的系统负荷值(步骤912)。此外,信息处理终端10将显示器11和12中的每个显示器的系统负荷值与阈值相比较(步骤913)。作为一个示例,在步骤913中使用的阈值与在步骤909中使用的阈值相同。然而,在步骤913中使用的阈值和在步骤909中使用的阈值可以彼此不同。
如果有系统负荷值不超过阈值的显示器,信息处理终端10则在该显示器上激活新应用(步骤914)。例如,如果显示器11和12的其中之一的系统负荷值不大于阈值,那么仅需要信息处理终端10在该显示器上激活新应用。可替代地,如果显示器11和12二者的系统负荷值都不大于阈值,那么仅需要信息处理终端10任意地选择一个显示器并在该显示器上激活新应用。
另一方面,如果无系统负荷值不超过阈值的显示器,信息处理终端10则任意地选择任一显示器并且通过强制激活处理在该显示器上激活新应用(步骤915)。
在该具体示例中列举的必须条件和非必须条件是为了便于理解的示例。可以将其他条件,例如显示器与相机安装在相同的壳体上、显示器与加速度传感器安装在相同的壳体上等设为必须条件或非必须条件。每个应用的必须条件和非必须条件只需要根据应用视情况而进行设置,并且可以视情况而改变设置。此外,将某条件设为某应用的必须条件还是非必须条件可以视情况而进行设置,并且可以视情况而改变设置。然而,必须条件将具有高于非必须条件的要求程度。
在该示例性实施例中,信息处理终端10结束正在执行的并且与新应用所要求的不依赖于显示器的条件相竞争的应用,并且如步骤902至906所示,信息处理终端10使用新应用所要求的依赖于显示器的条件或不依赖于显示器的其他条件来确定要在其上激活新应用的显示器。其结果是,根据该示例性实施例,可以获得以下效果:可以通过同时考虑多个条件来确定要在其上激活新应用的显示器。该效果是从步骤902至906的处理而获得的,并且即使增加到图12中的其他步骤被省略或被其他处理替代,也可以获得该效果。
在该示例性实施例中,示出了将消耗的实时资源量用作系统负荷值的示例,但本发明不限于此。可以将在第一示例性实施例中的第一至第三条件的判断中所使用的消耗的资源量用作系统负荷值。
通过使用第一条件作为示例,可以将由新激活的应用过去所消耗的统计资源量与由正在其他显示器的表面上执行的应用所消耗的当前资源量的总和用作系统负荷值。通过使用第二条件作为示例,可以把要新激活的应用过去所消耗的统计资源量与正在其他显示器的表面上执行的应用过去所消耗的统计资源量的总和用作系统负荷值。通过使用第三条件是作为示例,在显示器11和12的其中之一上激活新应用后,当另一个显示器上的显示应用结束时,这两个显示器11和12的表面上的应用所消耗的资源量的总和可以被设为系统负荷值。此外,通过指定多个系统负荷值和与这些系统负荷值相应的阈值,即使任一个系统负荷值都超过了阈值也可以执行强制激活处理。
此外,还可以将第二示例性实施例的变型中使用的应用的设备使用率用作该示例性实施例的系统负荷值。该使用率是通过将应用执行且使用设备的次数除以应用执行的次数而获得的。
(第八示例性实施例)
在该示例性实施例中说明了单独地使用了以下条件的示例:显示器11和12多大程度地满足了应用所请求的特性。
根据该示例性实施例的信息处理终端的基本配置与图2所示相同。然而,显示器11和显示器12具有不同的特性。具体地,显示器11和显示器12具有不同的帧率。此外,在安装了显示器12的壳体14上安装了某种设备(未示出)。这些帧率和有无该设备被包含在显示器11和12的特性中。
首先,将说明该示例性实施例的信息处理终端10的概况。
显示器11和12具有彼此不同的特性并且是例如液晶显示器等的显示设备,每个显示器显示应用画面,并且在这些显示器中的每一个上显示正执行的应用的画面。
控制单元15基于两个显示器11和12中的每一个的特性以及要激活的新应用的要求条件在具有满足该要求条件的特性的显示器上激活新应用。
根据该示例性实施例,可以在配有两个具有不同特性的显示器11和12的信息处理终端10中适合要求的适当显示器上执行应用。
假定该示例性实施例的要求条件包括应该务必满足的必须条件和优选地满足但不是必须满足的非必须条件。如果有满足新应用的必须条件的显示器,控制单元15则可以确定在满足该必须条件的显示器上激活新应用。另一方面,如果两个显示器11和12二者都满足该必须条件,控制单元15则可以基于该应用的非必须条件来选择这些显示器中的其中之一以激活该应用。
此外,如果在满足新应用的要求条件的显示器上正在执行其他应用,控制单元15则基于正执行的应用的要求条件和新应用的要求条件二者来确定要在其上激活新应用的显示器。例如,如果显示器11和12二者都满足新应用的必须条件并且二者都具有正执行的应用,控制单元15则可以利用满足新应用的要求条件的程度作为正因素并利用满足正执行的应用的要求条件的程度作为负因素来计算每个显示器的点,并且可以只根据这些点来确定要在哪个显示器上激活新应用。
此外,如果当新应用要在其上正执行其他应用的显示器上被激活时,其他显示器的特性满足该正执行的应用的要求条件,控制单元15则可以只将该正执行的应用移动到其他显示器上。移动应用的意思是将应用的应用画面在这些显示器之间移动。由于显示器11和12的特性不同,因此有可能由于应用的移动而改变应用的运行和便利性。
此外,如果其他显示器的特性不满足该正执行的应用的要求条件,控制单元15则在不移动该正执行的应用的情况下激活新应用。此时,新应用的应用被叠加到正执行的应用的应用画面上。已执行的应用变为不活动,并且新应用进入活动状态。
另外,控制单元15可以基于应用在过去被执行时的使用形式以适应的方式改变应用的要求条件。例如,根据请求使用设备的应用的要求条件可以包括指示该设备被请求多少次的使用请求程度。控制单元15基于应用在过去执行时有无使用该设备来统计地计算该应用中的对该设备的使用请求程度。例如,通过将该设备被使用时的实现值设为1,并且将该设备未被使用时的实现值设为0,计算在过去执行中的实现值的平均值,可以将该值用作使用请求程度。
此外,使用设备的应用的要求条件可以包括指示“有多少次请求在与该设备安装在相同的壳体上的显示器上激活该应用”的设备安排请求程度。控制单元15基于该应用过去执行时与显示器11相比有多少次在与该设备安装在相同的壳体上的显示器12中执行了该应用来统计地计算该应用中的设备安排请求程度。
在要计算每个显示器的上述点时,可以以如下方式进行计算:使得对与该设备安装在相同的壳体14上的显示器12加上通过将该应用的设备使用请求程度与设备安排请求程度相乘而获得的值。
此外,在上文中,当新应用要在其上正执行其他应用的显示器上激活时,如果可能的话将正执行的应用移动到其他显示器上,但本发明不限于此。作为辅助操作示例,可以使正执行的应用不活动,从而可以在不判断是否可能进行移动的情况下激活新应用。
图13和图14是示出了涉及由该示例性实施例的信息处理终端执行的处理的示例性实施例的流程图。图13示出了当信息处理终端选择要在其上激活新应用的显示器时的处理。通过参照图13,控制单元15首先判断哪个显示器满足新应用的必须条件(步骤1001)。如果显示器11和12其中之一满足必须条件,控制单元15则确定在该显示器上激活新应用(步骤1002)。
如果显示器11和12二者都满足必须条件,控制单元15则针对每个显示器11和12计算将用作用来选择要在其上激活新应用的显示器的指标的点(步骤1003)。显示器的点指示在该显示器上激活新应用的优选程度。
在计算点时,还要考虑有无正执行的应用。例如,假定显示器满足新应用的要求条件的程度为A,并且显示器满足正执行的应用的要求条件的程度为B。在该情况下,显示器的点P为P=A-αB。α表示权重因子。如果某策略声明赋予新应用比正执行的应用高的优先权,那么仅需要将α设为小于1的值。
在计算了显示器11和12二者的点之后,然后控制单元15选择具有最大点的显示器(步骤1004)并确定在选择的显示器上激活新应用(步骤1002)。
当确定了要在其上激活新应用的显示器时,然后该应用被激活。
通过参照图14,当该应用被激活时,控制单元15首先判断在所选择的显示器上是否有正执行的应用(步骤1101)。如果在所选择的显示器上无正执行的应用,控制单元15则激活该应用(步骤1102)。
另一方面,如果在所选择的显示器上有正执行的应用,控制单元15则判断正执行的应用是否可被移动到其他显示器上(步骤1103)。具体地,可以基于其他显示器的特性是否满足正执行的应用的要求条件来判断移动的可行性。此外,如果在其他显示器上仍有正执行的应用,则可以确定不可能移动。
如果在要在其上激活新应用的显示器上正执行的应用可以被移动到其他显示器,控制单元15则将正执行的应用在这些显示器之间移动(步骤1104),然后激活该新应用(步骤1102)。
另一方面,如果在要在其上激活新应用的显示器上正执行的应用不能被移动到其他显示器,控制单元15则使正执行的应用不活动(步骤1105)并激活该新应用(步骤1102)。
作为上述设备的示例,可以引用相机、GPS(全球定位系统)、加速度传感器等。在显示器的方向优选地与相机的方向一致的应用的情况中,显示器与相机安装在相同的壳体上就变为要求条件。在显示器上显示地图以将位置与由GPS获得的方位相匹配的应用的情况中,显示器与GPS安装在相同的壳体上就变为要求条件。在根据显示器的姿态变化而运行的应用的情况中,显示器与加速度传感器安装在相同的壳体上就变为要求条件。
此外,在该示例性实施例中,示出了信息处理终端10以适应的方式改变应用的要求条件的示例,但本发明不限于此。作为另一个示例,应用的要求条件可以是预先设置的固定值。此外,该固定值可以由应用开发人员来设置或者可以由信息处理终端10的用户来设置。
在上述第一至第七示例性实施例中,假定了资源或作为资源的设备是单数的情况以便于解释。然而,实际上,作为可以占用中间消耗量的资源类型,通常有多个彼此独立的资源,例如CPU的处理能力、GPU的处理能力、存储器容量等。此外,作为使用为固定的资源类型,通常有多个彼此独立的资源,例如相机、GPS、传感器、通信设备等。
图15是示出了一个表的示例,在该表上记录了由应用消耗的多个项的资源量。在该示例中,针对每个应用测量消耗的每个资源的量的当前值(实际的)和平均值(平均的)。
例如,仅需要信息处理终端10以恒定的时间间隔测量消耗的资源量并将最近的测量值设为当前值(实际的)。此外,可以将过去预定次数的测量值的平均设为平均值(平均的)。
通过参照图15,资源包括CPU的处理能力(CPU)、存储器容量(存储器)和图像的帧率(帧率)(对于这些资源,消耗的资源量被测量为负荷值)以及电子指南针(电子指南针)、加速度传感器(加速度传感器)、相机(相机)(对于这些资源,消耗的资源量被固定为有无使用)。消耗的资源量被固定有无使用的消耗的资源量的平均由过去每次激活时的使用概率表示。
如果有如上所述多个资源,信息处理终端10可以只确定在其上显示新激活的应用的应用画面的显示器,使得可占用中间资源量的类型的所有资源的量的总和不超过阈值,并且使得应用之间不对有无使用为固定的类型的所有资源发生竞争。可替代地,可占用中间资源量的类型的所有资源的量的总和可被用作第七实施例中的系统负荷值。
此外,如果有多个资源,则可以对每个资源加权。例如,计算消耗的每个资源的量,利用每个资源的加权系数对这些量进行加权求和,并且可以将获得的结果与阈值进行比较。可替代地,通过加权求和而获得的结果可以被用作第七示例性实施例中的系统负荷值。可替代地,对每个应用赋予优先权的资源被固定,并且可以为每个应用和每个资源设置加权系数。例如,在强调运行速度(例如对用户操作的响应)的情况中,例如,CPU的处理能力或存储器容量的加权系数可以具有大值。在该情况下,每个应用所消耗的每个资源的量可以通过每个应用和每个资源的加权系数被加权求和,并且可以将获得的结果与阈值进行比较。
此时,在有无使用为固定的类型的资源的情况下,可以如此设置,即将未使用时消耗的量设为零,并将使用时消耗的量设为最大值,以便计算消耗量。可替代地,作为对于有无使用为固定的类型的消耗的资源量的平均值,可以使用过去的使用频率。
此外,每个应用对于有无使用为固定的类型的资源的权重可以通过该应用需要使用多少资源来固定。例如,在作为资源之一的相机为必须的应用的情况下,在该应用中对相机的加权系数可以具有大值。
此外,在如图4所示的画面显示控制中,首先基于实时状况对第一条件作出判断,然后基于以平均值表示的统计值对第二条件作出判断,最后考虑到隐藏在其他应用之下的隐藏应用而对第三条件作出判断。然而,本发明不限于此,并且可以按第一至第三条件的任何顺序作出判断。
作为又一个示例,可以将基于实时状况的判断与基于统计值的判断整合到一个判断中。可以通过预定加权系数将根据实时状况计算的消耗的资源量与根据平均值计算的消耗的资源量进行加权求和,并且可以将结果与阈值进行比较。在该情况下,基于实时消耗的资源量的权重可以比基于平均值消耗的资源量的权重具有更大的值。可替代地,隐藏在其他应用之下的隐藏应用所消耗的资源量可以经历加权求和。
此外,作为又一个示例,关于可占用中间消耗量的类型的资源,每个应用所消耗的资源量以固定方式预先设置,使得信息处理终端10所消耗的资源总量可以基于该设置值以及哪个应用正执行来计算并与阈值比较。该设置值可以由应用开发人员在开发该应用时确定,可以之后由信息处理终端10的开发人员确定,或者可以在该应用被安装在信息处理终端10中时由用户确定。因此,无需实时地测量可占用中间消耗量的类型的资源的实际消耗量或者连续地计算过去消耗量的平均值。
此外,在图4的示例所示的第一条件下,要新激活的应用过去所消耗的资源量的统计量与由其他显示器的表面上正执行的应用所消耗的资源的当前量被相加,并且该结果被用作消耗的资源量总和。由于表面上的应用所消耗的资源量占用了全部资源中的大部分资源,因此采用了该方法。然而,本发明不限于此。作为另一个示例,由于不在表面上的隐藏应用也消耗资源,因此其消耗的资源量可以被相加并被包含在消耗的资源量的总和中。
根据上述内容,消耗的资源量可以更准确地反映在对于要在其上激活应用的显示器的选择的处理中。在一般应用中,当应用是隐藏应用时所消耗的资源量与当应用是显示应用时所消耗的资源量相比非常小,但也有不是这种类型的应用。
消耗大量资源的应用虽然是隐藏应用也被称作背景处理应用。背景处理应用包括例如用于记录图像的应用、用于更新软件的应用、用于再现音乐的应用等。当要获得消耗的资源量的总和时,可以将隐藏应用中仅背景处理应用所消耗的资源量包含在消耗的资源量的总和中。
因此,由于并非需要相加所有隐藏应用所消耗的资源量,因此减少了计算处理,而且,由于只有隐藏应用中的背景处理应用所消耗的资源量可被包含在消耗的资源量的总和中,因此可以使得消耗的资源量的总和更接近准确值。例如,可以将实际测量的消耗量和其平均值用作背景处理应用所消耗的资源量,或者可以将预先确定的给定值用作背景处理应用所消耗的资源量。此外,背景处理应用不一定属于任一显示器。存在在不属于任一显示器的状态下执行处理的背景处理应用。这种背景处理应用所消耗的资源量可以被包含在消耗的资源量的总和中。
此外,在每个上述示例性实施例中,没有具体考虑应用的操作状态、类型和特性,但信息处理终端10可以通过考虑应用的类型或特性来确定要在其上激活新应用的显示器。具体地,如果该应用正在下载数据,信息处理终端10则可以赋予该应用优先权,并且可以在其他显示器上激活新应用,使得下载不被中断。
此外,在每个上述示例性实施例中,当应用结束时,信息处理终端10计算在应用结束后的新状态下消耗的资源量的总和,并且如果总和超过阈值,信息处理终端10则可以控制正执行的应用,使得阈值不被超过。例如,当显示应用将要结束时,信息处理终端10可以将正执行的其他应用在这些显示器之间移动、使这些显示器之一的表面上的应用不活动等。
以下将说明更具体的示例。这里,将举例说明有关第一示例性实施例的示例。
将说明在将要激活新应用时显示器11和12上的显示的变化。
图16A和图16B是示出了由信息处理终端执行的应用画面的显示的变化的示例的示图。在图16A的状态下,信息处理终端10在显示器11上执行应用A1和A3,并且在显示器12上执行应用A2。在显示器11上,应用A3是在表面上,应用A1被隐藏在应用A3之下。此外,假定应用A3比其他应用消耗更大量资源。在该图中,该应用被粗边框包围,以便表示该应用所消耗的资源量较大。
假定从图16A的状态请求激活新应用A4。而且假定应用A4也消耗大量资源。信息处理终端10接收请求并判断将在显示器11和12中的哪个上激活应用A4。
这里,如果在显示器12上激活应用A4,消耗较大量资源的应用A3和应用A4二者都是在显示器的表面上,因此假定消耗的资源总量变为大于第一或第二条件的阈值。另一方面,如果在显示器11上激活应用A4,消耗大量资源的应用A3隐藏在应用A4之下,因此假定消耗的资源总量变得小于阈值。因此,信息处理终端10确定将在显示器11上激活应用A4,如图16B所示。
图17A和图17B是示出了由信息处理终端执行的应用画面的显示的变化的另一个示例的示图。在图17A的状态下,信息处理终端10在显示器11上执行应用A1和A3,并且在显示器12上执行应用A2。在显示器11上,应用A3是在表面上,应用A1被隐藏在应用A3之下。此外,假定在该示例中应用A1消耗更大量资源。
假定从图17A的状态请求激活新应用A4。假定应用A4也消耗大量资源。信息处理终端10接收请求并判断将在显示器11和12中的哪一个上激活应用A4。
这里,无论在显示器11或显示器12中的哪个上激活应用A4,消耗大量资源的应用A1都是隐藏的,因此假定消耗的资源总量小于第一和第二条件下的阈值。
因此,信息处理终端10随后基于第三条件通过考虑隐藏应用来判断将在显示器11和12中的哪个上激活应用A4。
这里,如果在显示器12上激活应用A4,此后当结束显示器11的表面上的应用A3时,应用A1和应用A4到达表面。由于应用A1和应用A4二者都消耗大量资源,消耗的资源总量就变得大于阈值。
另一方面,如果在显示器11上激活应用A4,即使此后当结束显示器11的表面上的应用A4时,或者即使当结束显示器12的表面上的应用A2时,消耗的资源总量也保持小于阈值。
因此,信息处理终端10确定将在显示器11上激活新应用A4。
已经说明了示例性实施例和示例,但本发明不限于这些示例性实施例和示例,而是可以各种配置组合的方式使用,或者可以在本发明的技术思想的范围内改变一部分配置。
本申请要求于2010年4月7日提交的日本专利申请No.2010-088552的优先权,并将其全部公开内容通过引用结合在本文中。