CN116830557A - 跨多个分布式设备的屏幕时间管理 - Google Patents

跨多个分布式设备的屏幕时间管理 Download PDF

Info

Publication number
CN116830557A
CN116830557A CN202180092948.2A CN202180092948A CN116830557A CN 116830557 A CN116830557 A CN 116830557A CN 202180092948 A CN202180092948 A CN 202180092948A CN 116830557 A CN116830557 A CN 116830557A
Authority
CN
China
Prior art keywords
screen
time
management device
devices
managed
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202180092948.2A
Other languages
English (en)
Inventor
李仕涌
李晓峰
赵艺伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innopeak Technology Inc
Original Assignee
Innopeak Technology Inc
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 Innopeak Technology Inc filed Critical Innopeak Technology Inc
Publication of CN116830557A publication Critical patent/CN116830557A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/72463User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device
    • H04M1/724631User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device by limiting the access to the user interface, e.g. locking a touch-screen or a keypad

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

提供了用于屏幕时间管理的系统和方法。用户可以与具有屏幕的设备进行交互。为了准确地测量/监测与这样的设备相关联的屏幕使用时间,多个这样的设备中的一个可以承担管理设备角色,其余设备(承担被管理设备角色)可以通过该管理设备角色来中继其各自的屏幕时间数据。设备可以在管理设备角色和被管理设备角色之间进行转变,并且关于屏幕使用时间的查询可以考虑诸如重叠屏幕时间使用(跨多个设备)、屏幕时间异常、每账户和每设备使用等因素。

Description

跨多个分布式设备的屏幕时间管理
技术领域
本公开总体上涉及屏幕时间管理,更具体地涉及跨多个设备更准确地管理屏幕时间。
背景技术
电子/数字设备或系统(例如计算机,诸如个人计算机、工作站、笔记本电脑、平板电脑、智能手机、电视、车载信息娱乐系统等)的普及令用户可以跨许多平台消费内容、访问信息等。此外,对网络和通信的持续改进允许用户在这些设备之间保持连接。例如,用户可以在离开家时在第一设备例如智能手机上查看内容。当用户返回家中时,原先在智能手机上查看的相同内容可以转变为(例如无缝地)呈现在用户家中的电视上。
屏幕时间(screen time)可以指使用带有屏幕的设备(诸如上述智能手机、计算机、电视)以及其他设备(诸如手表、视频游戏机等可穿戴设备)所花费的时间的量。研究表明屏幕时间直接影响人类(尤其是儿童)的身心健康。
发明内容
根据一个实施方式,管理设备可以包括处理器、在操作上耦合至处理器的存储单元。存储单元包括在被执行时使处理器执行下述的计算机代码:从一个或多个被管理设备中的每一个收集屏幕时间数据并存储时间数据,一个或多个被管理设备由管理设备管理;基于在一个或多个被管理设备的期望子集上的屏幕使用时间,计算总体屏幕使用时间;以及响应于屏幕使用时间查询,向查询设备提供所计算的总体屏幕使用时间。
在一些实施方式中,屏幕时间数据存储在由管理设备维护的查找表中。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:将屏幕时间数据与由远程服务器维护的查找表的远程副本进行同步,远程服务器在操作上连接至管理设备。
在一些实施方式中,屏幕时间数据包括:设备标识信息;在一个或多个被管理设备中的每一个处正在发生或已经发生的屏幕事件;以及标识屏幕事件的发生时间的时间戳。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:在计算总体屏幕使用时间之前,将时间戳标准化为协调世界时间。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:基于屏幕事件发生时间之间的差值,计算屏幕使用时间,屏幕事件包括屏幕开启事件和屏幕关闭事件。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:在计算屏幕使用时间期间排除屏幕事件异常。在一些实施方式中,屏幕事件异常包括不可操作屏幕事件和重叠使用屏幕事件中的至少一种。
在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:在计算屏幕使用时间期间,将与在一个或多个被管理设备中的多个被管理设备上的单一账户使用相关联的屏幕时间数据进行总计。
在一些实施方式中,管理设备包括在操作上与一个或多个被管理设备通信的云服务器。
在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:收集并存储与管理设备相关联的屏幕时间数据。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:将与管理设备相关联的屏幕时间数据和来自一个或多个被管理设备中的每一个的屏幕时间数据进行总计。
在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:向一个广播管理角色信息。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:从远程服务器获取设备列表的副本,上述设备列表的副本将一个或多个被管理设备中的每一个标识为与被管理角色相关联以及将管理设备标识为与管理角色相关联。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:在接收到由一个或多个被管理设备之一广播的角色转变消息时转变到被管理设备角色。在一些实施方式中,存储单元包括在被执行时使处理器执行下述的计算机代码:将设备列表的副本与在远程服务器处的反映转变的更新的设备列表进行同步。
根据另外一实施方式,方法可能包括:由多个计算设备中的一计算设备从多个计算设备的剩余子集收集活动数据,多个计算设备的剩余子集由第一计算设备管理;由第一计算设备基于在多个计算设备的剩余子集中的一个或多个计算设备上的活动数据对活动时间进行计算;以及传输反映多个计算设备的剩余子集中的一个或多个计算设备的所计算活动时间的信息。
在一些实施方式这种,多个计算设备中的每一个包括物理计算设备和虚拟计算设备中的至少一个。在一些实施方式中,活动数据反映与在物理计算设备和虚拟计算设备中的至少一个上执行的操作、应用程序、软件组件及其组合中的至少一个相关联的活动。在一些实施方式中,方法还包括:基于所计算的活动时间满足或接近活动时间限制阈值,对多个计算设备的所述剩余子集中的一个或多个实施活动时间限制。
附图说明
根据一个或多个不同的实施方式,参照以下附图对本公开进行详细的描述。这些附图仅被提供以用于说明的目的,并且仅描述了典型的或示例性的实施方式。
图1图示了根据一个实施方式的屏幕时间管理可以在其中实施的示例性系统。
图2图示了根据一个实施方式的具有限定的设备角色以用于实现屏幕时间管理的示例性系统架构。
图3图示了根据一个实施方式的在设备之间的示例性通信过程。
图4A图示了根据一个实施方式的使用管理设备进行屏幕时间管理的示例。
图4B图示了根据一个实施方式的在不使用管理设备的情况下进行屏幕时间管理的示例。
图5图示了根据一个实施方式的示例性设备角色转变操作。
图6图示了根据一个实施方式的示例性认证和授予凭证操作。
图7图示了根据一个实施方式的用于屏幕时间管理的示例性计算组件。
图8示出了可用于实现根据本公开所描述的实施方式的各种特征的示例性计算组件。
这些附图并不是穷尽的,并且没有将本公开限制于所公开的确切形式。
具体实施方式
如上所述,接触(exposure to,暴露于)带屏幕设备的时间,即屏幕时间,可能会对健康产生影响,因此期望对用户在屏幕前/与屏幕交互的时间量进行监测。然而,随着在日常生活中使用越来越多的带屏幕设备,屏幕时间/使用管理变得越来越复杂。例如,普通用户或消费者可能拥有多个带屏幕的设备,诸如他/她每天使用的智能手机、智能手表和平板电脑。由于这些设备中的每一个都有用户与其接触的屏幕,准确且有效的屏幕时间管理应当考虑对与这些设备中的每一个相关的屏幕时间量进行总计。在跨用户设备测量、传输和计算屏幕时间后将所有的屏幕时间信息一起显示,这自动使用户能够轻松、快速地确定他/她已经累积的屏幕时间量。
应理解,对设备的使用也可以跨多个用户。例如,不同的用户可以共享同一个(或多个)设备,举例来说,父母和孩子可以共享笔记本电脑或电视,以浏览网页、消费媒体内容等。由于屏幕时间使用会对每个用户产生影响,因此,准确的屏幕时间使用应以每帐户/每用户为基础进行计算,而不应按每设备的“绝对”使用进行计算。
此外,设备使用可以包括或涉及无屏幕操作。也就是说,在某些时间或时段,用户不一定接触设备的屏幕。例如,数字设备可能与网络断开连接,设备的电池可能耗尽等情况将导致数字设备停用,或者导致与数字设备的用户交互不涉及屏幕时间。例如,在第一时间段内,用户可能在他/她的智能手机屏幕上观看视频,而在第二时间段内,用户可能在进行语音通话(这不一定涉及屏幕使用)。因此,为了准确地计算屏幕时间,屏幕时间计算应考虑此类异常情况。可能还有用户不接触设备屏幕的其他情况。例如,在智能手机仍在其屏幕上呈现内容的同时,用户可能丢掉或放下了他/她的智能手机。屏幕时间仅等于设备开启时间的假设会导致不准确的屏幕时间计算。
因此,本公开的各实施方式旨在改进跨一个或多个设备的屏幕时间跟踪/监测和管理。具体地,各实施方式包括对跨多个设备的屏幕时间使用进行总计和整合的系统和方法,而没有在单独的、每设备基础上监测和管理屏幕时间。此外,各实施方式旨在提供允许不同设备相互通信以更好地管理和控制屏幕时间的机制。
为了实现这些目的,使用了一种系统架构,其中多个设备中之一可以被指定为充当管理角色(主设备/管理设备),该管理角色可以管理其余设备(被管理设备),该架构还具有屏幕时间管理云服务器。本文讨论或提及的是设备的各种示例,但这样的示例并不意在限制性的。对任何带屏幕设备的使用都可以相当于花费屏幕时间。在一些实施方式中,被管理设备可以收集与屏幕时间有关的或相关的数据,而管理设备接收并存储被管理设备的屏幕时间数据(同时收集管理设备自己的屏幕时间数据)。可以提供能对屏幕时间查询做出响应/生成屏幕时间度量的查询功能。屏幕时间管理云服务器可以用作屏幕时间数据的备份存储,并且可以协调跨多个设备改变角色(管理/被管理)。
可以使用特定的数据结构以高效且轻松地管理分布式屏幕时间数据(跨多个设备)。这样的数据结构可以采用保持/维护所有相关设备的屏幕时间数据/信息的查找表或类似结构的形式,上述所有相关设备例如为与特定内容消费帐户(例如流服务帐户)关联的所有(带屏幕的)设备、与公用用户关联的所有带屏幕设备等等。某些屏幕时间计算算法可以用于计算跨多个设备的实际屏幕时间的总量,其中实际屏幕时间考虑到屏幕时间异常,诸如屏幕关闭时间、设备停机/故障、重叠使用屏幕时间等。此外,可以利用精确的时间相关测定(例如考虑使用时区数字设备)来至少部分地解决屏幕时间计算的准确性。如上所述,各实施方式提供从任何数字设备查询屏幕时间指标/信息的能力或查询关于任何数字设备的屏幕时间指标/信息的能力,并且可以根据需要提供对屏幕时间指标的屏幕时间数据收集/发布的认证或授权。
提供了跨上述管理设备、被管理设备和屏幕时间管理云服务器的通信框架,以使管理设备准确地获取来自被管理设备的屏幕时间数据。通信框架还可以允许在屏幕时间管理云服务器和管理设备之间同步屏幕时间数据,以及允许在数字设备之间转变管理/被管理角色。
图1图示了可以在其中实施根据一个实施方式的屏幕时间管理的示例性系统100。如图1所示,示例性系统100可以包括多个设备,诸如电视/监视器104、智能手机106和平板电脑108。此外,示例性系统100还可以包括云服务器102。上述设备可以各自包括屏幕,每个设备的用户可以与该设备的屏幕进行交互。例如,用户可以通过消费媒体内容(例如在电视104的屏幕上呈现的点播电影)来与电视104交互。同样地,用户可以使用智能手机106的屏幕来控制智能手机106执行发送/接收文本消息等操作,同时用户还可以阅读电子出版物、起草电子邮件以及执行涉及使用平板电脑108的屏幕的其他操作。
使用电视104、智能手机106和平板电脑108中的每一个都会产生与屏幕使用相关联的对应时间量(按照一些时间测量单位,例如秒、分钟、小时等),即屏幕时间分别为104a-108a。例如,用户使用智能手机106发送/接收文本消息可能产生与用户发送/接收/阅读此类文本消息的时间量相当的屏幕时间量。然而,如上所述,屏幕时间不一定等同于使用特定设备进行特定操作的时间,例如屏幕时间异常。例如,在发送文本消息和阅读收到的文本消息之间,用户可能会放下智能手机106并停止查看智能手机106的屏幕,用户可能锁定智能手机106的屏幕,这将再次导致不使用智能手机106的屏幕。例如,可能发生对多个设备的重叠使用,其中用户可能在智能手机106上发送/接收文本消息的同时在电视104上观看电影。一些设备,例如台式计算机(未示出),可以在操作上与多个屏幕相关联并且可能有重叠的屏幕使用。本领域普通技术人员理解的是,存在着大量的产生一定屏幕时间量或持续时长的其他/额外的屏幕使用示例,根据各实施方式设想或考虑这些示例。对使用设备屏幕所累积的屏幕时间量的监测和确定可以变化,例如,通过一些涉及屏幕开启时间/关闭时间之间的差值的计算、通过设备开启/关闭时间来推断屏幕时间等,如下面将更详细讨论的。
云服务器102可以包括适于执行应用程序和信息处理存储的物理(或虚拟)计算设备/装置或其他基础设施。在一些实施方式中,可以使用虚拟化软件来创建云服务器102以处理某些工作负载并存储信息。例如,在屏幕时间管理的背景下,云服务器102可以为屏幕时间管理云服务器,该屏幕时间管理云服务器适于从一个或多个设备(诸如电视104、智能手机106和平板电脑108)接收屏幕时间相关的数据或信息,并存储所接收的数据或信息。如下面将更详细地描述的,云服务器102可以被配置成为用作用于屏幕时间有关/相关数据的始终在线备份机构,以及实施关于诸如电视104、智能手机106和平板电脑108之类的设备的角色改变/转变。
在这样的系统100中,电视104、智能手机106和平板电脑108中的任何一个或多个的用户可能希望确定他/她在给定时间段内累计了多长屏幕时间。在这样的系统100中,应用程序或机制(诸如在设备例如平板电脑108上驻留/可执行的屏幕时间使用应用程序)可以请求/制定查询以确定其屏幕已被使用的时间量。
图2图示了根据一个实施方式的具有限定的设备角色以用于实现屏幕时间管理的示例性系统架构200。在一些实施方式中,系统200可以是包括第一设备、第二设备204以及云服务器102的分布式网络,其中,第一设备充当/被配置成管理角色(也称为主设备/管理设备206,其可以被实施为智能手机106),第二设备204可以被实施为由管理设备206管理的电视104。如图2所示,无论作为管理设备还是被管理设备进行运行/操作,每个设备都可以相互通信以发送或接收数据。应理解,在一些实施方式中,在任何时间点都是单个设备以管理角色/模式进行操作。
被管理设备204收集屏幕时间/与屏幕时间相关的数据或信息,诸如设备名称、设备标识(ID)、时钟时间(wall clock time)、屏幕开启时间、屏幕关闭时间、上线时间(uptime)等。应理解,上线时间可以指于其间设备(例如被管理设备204)自冷启动起启动的时间。还应注意,上线时间可以包括在暂停设备操作之后屏幕关闭的时间/时间段。在一些实施方式中,上线时间可以用作参考来证实所计算的屏幕时间是否合理,例如可以执行检查以确定屏幕开启时间是否小于上线时间。被管理设备204可以在操作205处收集屏幕时间数据,并在操作206处周期性地或在某个指定时间(例如在与开启/关闭被管理设备204的屏幕相称的时间)将这样的数据发送到管理设备206。
管理设备206负责从不同的被管理设备(例如被管理设备204)接收此类数据并存储此类数据,并为用户提供查询功能以查询或生成屏幕时间指标(例如,计算多个设备的总计屏幕时间,或者分别计算不同设备各自的屏幕时间)。应理解,管理设备206在操作207处收集并存储其自己的屏幕时间数据,并且在一些实施方式中,管理设备206可以在操作212处向被管理设备204发送应答(acknowledgement)或确认。应注意,根据一些实施方式,管理设备可以在任何时间检查被管理设备的屏幕时间。系统200仅是示例,管理设备可以管理任意数量的设备。
如上面提到的,云服务器102可以作为始终在线的角色运行以备份屏幕时间数据并协调角色改变。管理设备206可以在操作214处周期性地或者在某个指定时间(例如,当管理设备206的屏幕关闭时,和/或当管理设备206被转变为被管理设备时)将数据同步到云服务器102。应理解,云服务器102不一定需要在云端实施。在一些实施方式中,云服务器102的功能可以被实施为例如在设备(例如在系统200中的当前活动设备)中的软件,只要其他设备有机会将各自的屏幕时间数据传达给该设备即可。
管理设备206和云服务器102两者可以分别在相应的数据结构诸如查找表206a和102a中维护/管理接收到的和存储的屏幕时间数据。在一些实施方式中,查找表206可以是实时的或当前操作的查找表,而由云服务器102维护的查找表102a可以是查找表206a的复制/备份版本。本文描述和图示的示例并不旨在限制,可以根据其他实施方式使用其他数据结构。
也就是说,为了有效且容易地管理分布式设备的屏幕时间,管理设备206维护数据结构(查找表206a)以记录所有感兴趣设备(管理设备和被管理设备)的屏幕时间信息。如下面表1中所示,查找表206a可以具有包括行和列的数据结构。在实际应用中,可以使用数据库或数据储存储库如SQLite来实现这样的查找表。例如,如表1所示,可以维护与每个设备相关联的名称以及设备ID。如上所述,相关的屏幕时间数据可以包括屏幕事件时间,例如屏幕开启时间和屏幕关闭时间。可以在表1中记录/存储每种类型的屏幕事件时间(例如,其时间差值可用于确定屏幕时间)。
设备名称 ID 屏幕事件时间 类型 记录时间
约翰的手机 123-456 13:20:10@2020-11-01 屏幕开启 13:20:11@2020-11-01
约翰的手机 123-456 13:20:20@2020-11-01 屏幕关闭 13:20:20@2020-11-01
约翰的平板电脑 123-789 14:30:00@2020-11-01 屏幕开启 14:30:01@2020-11-01
约翰的平板电脑 123-789 15:00:00@2020-11-01 屏幕关闭 15:00:00@2020-11-01
约翰的电视 456-789 19:01:00@2020-11-02 屏幕开启 19:01:01@2020-11-02
表1
为了管理不同分布式设备的角色,云服务器102维护设备列表以记录网络上涉及屏幕时间管理的那些设备(管理设备和被管理设备)。设备列表指示哪个设备正在以管理角色或被管理角色运行。在图2的示例性系统中,管理设备206从云服务器102接收设备列表,云服务器102负责在设备角色改变时更新设备列表。这样的设备列表的一个条目可以如下
表2中所示进行构造。
设备名称 ID 角色 角色改变时间(UTC)
约翰的手机 123-456 管理 13:20:11@2020-11-01
表2
为了保护隐私,可以使用某种加密方法(例如基于文件的加密)来存储所有存储的数据(即查找表和设备列表),以防止未经授权的帐户或设备访问数据。加密密钥可以安全地存储在本地或者存储在仅可由授权帐户或设备访问的云服务器102上。本领域技术人员可以理解,可以使用其他安全/隐私机制来保护此类数据。
可以基于查找表来计算屏幕时间,以反映总计的或者指定时间段内的跨多个设备的屏幕开启时间。
根据一个实施方式,可以使用以下算法/伪算法来计算各个设备的总计屏幕时间。例如,所计算的屏幕时间与特定设备ID相关联。如果先前的屏幕事件是屏幕开启事件,并且当前的屏幕事件是屏幕关闭事件,则设备的总计屏幕时间是现有的(之前计算的)总计屏幕时间值加上下述差值,该差值为与先前的屏幕开启事件相关联的时间和与当前的屏幕关闭事件相关联的时间之间的差值。
如果在指定时间段内使用多个设备,则应如下考虑跨设备的重叠屏幕时间以及意料之外的网络或设备故障。应理解,可以调用onScreenEventTimeReceive()函数以将来自被管理设备的设备屏幕时间信息按顺序推送到事件队列。此外,可以调用getScreenTimeAcorssdevices()函数来计算指定时间段(从“startTime”到“endTime”)期间的设备屏幕时间,这考虑了重叠使用或设备故障情况。具体地,事件类型和时间信息可以被附加到事件队列(其可以是先进先出(first-in-first-out,FIFO)队列)中。然后可以通过上述FIFO屏幕事件队列迭代来获得总计屏幕时间。如果任何记录的事件发生在指定时间段(例如在屏幕时间查询中的指定时间段)之外,这样的事件可以被过滤掉。可以记录对跨相关设备的屏幕开启事件的参考计数,其中可以被视为屏幕故障的异常不被计数,屏幕开启事件的参考计数大于1表示至少一个设备屏幕是开启的。应理解,可以使用参考计数器来应对重叠屏幕场景,其中如果多个例如两个设备有屏幕开启事件,其中任一个没有关闭,则可以假设发生了重叠屏幕使用场景。在一些实施方式中,可以忽略第二屏幕开启事件。voidonScreenEventTimeReceived(deviceId,eventType,eventTime)
{
//把事件类型和时间添加到事件FIFO队列中
userScreenTime.eventQueue.add(eventType,eventTime)
//处理其他屏幕时间数据记录的代码
}
Long getScreenTimeAcrossDevices(startTime,endTime)
{
Int onRefCount=0;
Long screenTime,onStartTime=0;
EventDatanewEventData=userScreenTime.eventQueue.first();
//迭代事件FIFO队列以计算屏幕时间
While(newEventData){
eventDataea=newEventData;
//过滤掉在指定时期以外发生的事件
if(ea.eventTime<startTime){
newEventData=ea.hasNext()?ea.next():null;
continue;
}
if(ea.eventTime>endTime){
if(onRefCount>0){
screenTime+=endTime-onStartTime;
}
break;
}
//记录跨多个设备的屏幕开启的参考计数
if(ea.eventType==SCREEN_ON){
onRefCount++;
}
//假设遇到了诸如网络或设备故障等其它问题
//以某种方式记录为SCREEK_FAILURE
else(onRefCount>=0&&
(ea.eventType==SCREEN_OFF||ea.eventType==SCREEN_FAILURE)){onRefCount--;
}
//如果onRefCount>0,至少一个设备屏幕是开启的
If(onRefCount==){
onStartTime=ea.eventTime;
}else if(onRefCount==0){
screenTime+=ea.eventTime-onStartTime;
}
newEventData=ea.hasNext()?ea.next():null;
}
return screenTime;
}
图3图示了根据一个实施方式的在网络中于设备之间的示例性通信过程。在管理设备和被管理设备进行通信期间,管理设备负责获取/接收以屏幕时间数据形式的输入数据,解决屏幕时间数据冲突(例如覆盖旧的/非当前的屏幕时间数据),合并来自一个或多个设备的屏幕时间数据,以及将屏幕时间数据存储在查找表例如查找表206a(图2)中。此类设备通信还支持周期性地或在某个指定时间(如上面已经讨论的)将屏幕时间数据同步到云服务器102。因此,当用户例如在管理设备上启动屏幕时间时,相关屏幕时间数据将被访问以计算与相关设备关联的屏幕时间。
应理解,每个设备都可以执行用于管理屏幕时间的应用程序或服务。这样的应用程序允许特定设备充当/被实施为特定角色,例如管理角色和被管理角色。管理设备(在此示例中为管理设备306,其可以实施为智能手机106)可以向管理设备306的设备列表(从云服务器102中获得)中的被管理设备(在此示例中为电视304和智能手表308)广播管理角色消息以声明管理角色。
通过被随机分配作为管理设备,设备可以声明其管理角色,例如,可以从设备列表中随机选择特定设备作为管理设备。例如,云服务器102可以分析其驻留的设备列表,随机选择特定设备,并向该设备(在此示例中为设备306)传达指令以声明管理角色。在另一些实施方式中,可以根据在设备上发起用户查询而选择该设备作为管理设备。例如,使用智能手机306的用户可能希望确定他/她的屏幕时间,并可以在智能手机306上通过上述屏幕管理应用程序发起查询。作为响应,智能手机306可以在此时指定自己作为用于网络的管理设备。根据其他实施方式,可以使用其它方法来确定多个设备中的哪个可以作为管理设备。如果没有可用的设备列表,智能手机306可以执行扫描,进行某种形式的数据包检测(packetinspection)、发送(ping)/接收应答等,以确定在其网络上运行的设备,从而在广播其管理角色信息前构建/重建设备列表。
如图3所示,在操作310a/310b处广播这样的消息。以这种方式,智能手机306声明管理角色,并且可以在其对应的屏幕时间管理应用程序306a中反映这一点(电视304和智能手表308被降为被管理角色,这也反映在它们各自的屏幕时间管理应用程序304a、308a中)。
被管理设备,在此示例中为如上所述的电视304和智能手表308,在操作305和309处收集/存储屏幕时间数据,同时智能手机306还在操作307处收集/存储其自己的屏幕时间数据。被管理设备可以与它们各自的系统级软件(例如操作系统)进行通信,以确定被管理设备的屏幕何时被启用或禁用,例如开启或关闭。可以将该屏幕时间数据发送到当前管理设备,其在这种情况下为智能手机306。
在一些实施方式中,基于从云服务器102获取的设备列表,管理设备(即智能手机306)可以经由屏幕时间管理应用程序/软件向设备列表上每个设备(在该示例中为电视304和智能手表308)发送触发程序,请求可以将屏幕时间数据发送到管理设备,例如分别在操作312a和312b处发送屏幕时间数据。在其他实施方式中,被管理设备可以仅在适当的时间尝试传输数据。应注意,可以根据标准的/已知的设备间通信方法来传输该数据,例如根据消息队列、远程过程调用(remote procedure call,RPC)等。也就是说,被管理设备(例如电视304)可以将其当前的/最新的屏幕开启时间(T1时间)传输给智能手机306,然后在电视304进入某种指示未使用屏幕的睡眠模式时,例如当屏幕保护程序开启时、当屏幕背光关闭时、或者当指示屏幕关闭事件的其它特定于设备的指示符出现时,可以发送屏幕关闭时间(T2时间)。
应理解,不同的设备可能有指示屏幕开启/关闭时间的不同屏幕事件,各实施方式根据需要使用这样的指示符。例如,屏幕时间管理应用程序能够适用于在不同设备上使用,并可以因此被配置为接收这样的指示符/屏幕事件。在一些实施方式中,屏幕时间管理应用程序可以接入现有的用于确定相关的屏幕事件的设备机制/数据。在一些实施方式中,屏幕时间管理应用程序可以将设备操作条件或状态与相关阈值进行比较,例如确定是否在某个阈值时间量内正将某个阈值功率传递给像素等。
在操作312a和312b处,在管理设备(在此示例中为智能手机306)上运行的屏幕时间管理应用程序/软件可以接收每个被管理设备的屏幕时间数据。智能手机306可以将所接收的屏幕时间数据(例如T1和T2时间值)记录在其查找表中。通过使用前述函数/计算,可以计算两个时间值的差值作为电视304的屏幕时间。
在操作314处,管理设备(即智能手机306)可以使其查找表数据与云服务器102上的查找表数据同步。也就是说,由智能手机306记录的当前屏幕时间数据可以用于对由云服务器102维护的查找表的副本进行更新。这种更新可以根据智能手机306接收到的屏幕时间数据进行,以某个可配置的时间间隔周期性地进行等。
回到云服务器102操作用以协调设备之间的管理/被管理角色转变,智能手机306可以在传输管理角色消息时单独地向云服务器102传达其已声明为管理角色,云服务器102可以更新其设备列表。在其他实施方式(未示出)中,智能手机306可以向包括云服务器102的设备广播其管理角色消息,使得云服务器102也可以知晓涉及智能手机306的角色或角色转变。在其他实施方式中,云服务器102可以监测其与哪个设备同步屏幕时间数据,从而确定哪个设备在充当管理设备;每个设备上的屏幕时间管理应用程序可以周期性地传送每个设备的当前/活动角色,等等。可替代地,云服务器102可以周期性地访问其设备列表,并向所列的管理设备发送信号。
图4A图示了根据一个实施方式的使用管理设备进行屏幕时间管理的示例。如上所述,设备可以被分配或可以担任管理设备角色。作为管理设备,智能手机406可以维护在其中列出被管理设备的查找表406a。也可以相应地对对应的屏幕时间管理应用程序406b进行指定/表示(作为管理应用程序)。在该示例中,智能手机406可以用作管理设备。如图4A中所示,智能手表408、电视404和平板电脑410可以是被管理设备(每个都具有对应的屏幕时间管理应用程序408a、404a、410a,其相应地被指定/认为是被管理应用程序)。如上所述,云服务器102可以维护它自己的、查找表406a(由在此示例中是智能手机406的管理设备维护)的副本102a。在一些实施方式中,云服务器102还可以运行其自己的/作为本地版本或副本的屏幕时间管理应用程序102b(可以包括角色转变/管理功能)。
在此实施方式中,云服务器102可以协调每个被管理设备(电视404、智能手表408、平板电脑408)的相应屏幕时间数据到管理设备(在此示例中为智能手机406)的传输或上传。管理设备通常可以从每个被管理设备收集屏幕时间数据,并将该数据同步到云服务器102。然而,在一些实施方式中,例如发生意外的管理设备故障或断电事件时,云服务器102可以检测这样的事件。云服务器102可以与被管理设备配合以将被管理设备各自的屏幕时间数据传输到云服务器102或新的管理设备。此外,当于同步操作420期间收集到屏幕时间数据时,云服务器102可以从智能手机406处接收被管理设备(电视404、智能手表408、平板电脑408)的相应屏幕时间数据,使得云服务器102的查找表102a可以使用来自网络的最新/当前屏幕时间数据进行更新。
图4B图示了根据一个实施方式的在不使用管理设备的情况下进行屏幕时间管理的示例。在一些实施方式中,不需要将设备指定为管理设备。而可以由云服务器102承担管理设备功能。如图4B所示,与图4A相类似地,智能手表408、电视404和平板电脑410可以是被管理设备(每个设备具有对应的屏幕时间管理应用程序408a、404a、410a,其相应地被指定/认为是被管理应用程序)。云服务器102可以运行其自己的/作为本地版本或副本的屏幕时间管理应用程序102b(其可以包括角色转变/管理功能)。然而,云服务器102可以控制/管理可以在其中存储设备的相应屏幕时间数据的“主”查找表102a,而不是对管理设备的查找表的本地副本进行维护。因此,智能手机406可以仅是另一个被管理设备(具有对应的被管理屏幕时间管理应用程序406a),该被管理设备在操作418处向云服务器102发送其屏幕时间数据。
如上所述,设备可以转变角色。如果被管理设备被授予合适的权限凭证(这将在下面进行更详细地描述),则该被管理设备可以成为新的管理设备来对其自己的和其他设备的屏幕时间进行管理。图5图示了根据一个实施方式的示例性设备角色转变操作。在此示例中,智能手机506可以是起作用的管理设备,其待转变为被管理设备角色,而先前是被管理设备的电视504待转变为管理设备。
应注意,根据种实施方式可以考虑各种查询程序。在第一查询程序中,可能需要权限凭证来将设备转变为管理设备角色。管理设备可用于查看分布式网络中的其他(被管理)设备的屏幕时间数据。在第二查询程序中,可能需要权限凭证来发送管理设备请求,以检索与一些(指定的)或所有被管理设备相关联的屏幕时间数据。根据第一查询程序,可以提示角色转变。此外,用户可以明确地请求/提示从与特定设备相关联的被管理设备角色转变为管理角色,以达到某些特定目的,诸如节省电力、节省存储空间等。更进一步地,用户可能希望切换设备角色,以解除访问另一设备上的屏幕时间数据的权限要求。这也可能触发角色转变。
如图5所示,电视504可以在操作508a、508b处向网络中的其他设备广播角色转变消息。例如,智能手机504和智能手表508可以接收广播的角色转变消息。应理解,设备列表可以存储在管理设备或云服务器上。当被管理设备尝试广播角色转变消息时,被管理设备从管理设备处取得设备列表,或者在当前分配的管理设备未能连接/发生故障时,被管理设备从云服务器处获取设备列表。然后可以向设备列表中的所有其他设备广播角色转变消息。在本地网络中,可以将这样的角色转变消息广播给每个设备,但是只有那些支持屏幕时间监测/管理功能的设备(例如在其上运行屏幕时间管理应用程序的那些设备)可以对广播进行响应。
因为智能手机506是当前的管理设备,所以其必须在操作510处转变为被管理设备角色。也就是说,当从电视504接收到广播的角色转变消息时,屏幕时间管理应用程序506a切换到被管理角色。在电视504上运行的屏幕时间管理应用程序504a转变为管理角色。仍为被管理设备的智能手表508能够把其屏幕时间数据发送到电视504。应理解,在一些实施方式中,智能手表508可以向电视504发送当前/最新的屏幕时间数据,例如最新的屏幕开启事件时间。应注意,当接收到广播的角色转变消息后,智能手表508就不再将其屏幕时间数据发送到智能手机506。例如,智能手表508的屏幕时间管理应用程序508a可以更新其通信参数/设置,以指向作为管理设备的电视504。
此外,由于智能手机506已转变为被管理设备,智能手机506将会在操作514处确认其转变后角色(转变为被管理设备),并把其屏幕时间数据与电视504进行同步。如前所述,管理设备还获取/存储它自己的屏幕时间数据。因此,就像智能手表508发送其屏幕时间数据那样,智能手机可以将其屏幕时间数据发送到电视504。应理解,管理数据的发送/接收不一定按照该顺序进行。例如,在智能手表508将其屏幕数据传输到电视504之前,智能手机506可以确认其新角色并同步其屏幕时间数据。因此,电视504/屏幕时间管理应用程序504a可以从智能手机506处覆盖/更新屏幕时间数据。
在操作516处,电视504可以把其新角色传送到云服务器102,或确定其到管理设备的角色转变是否完成。以这种方式,云服务器102能够更新其设备列表更新,以反映智能手机506当前是被管理设备而电视504现在是管理设备。此外,新的管理设备,电视504,可以使其数据与由云服务器102在其本地查找表副本中维护的数据进行同步。例如,在操作518处,电视504/屏幕时间管理应用程序504a可以解决任何冲突,例如,从云服务器102接收的屏幕时间数据可能在电视504承担管理设备的角色的时间已经过时。在一些实施方式中,可以把解决此类冲突实施为在智能手机、云服务器102和电视504之间进行同步操作的一部分。在一些实施方式中,电视504还可以合并所接收的数据以生成其自己的查找表,在该查找表中可以维护最新/当前的屏幕时间数据。
如上所述,可以在管理设备上查询或检查与一个或多个设备相关联的屏幕时间,管理设备从本地存储或从云服务器检索屏幕时间数据。如果管理设备的本地存储和云服务器之间存在数据冲突,则被管理设备可以比较与查找表的每个副本/版本所记录的屏幕事件相关联的时间戳。具有最新时间戳的副本/版本可以被采用,然后进行同步以覆盖管理设备的本地查找表或云服务器上的较旧的副本/版本。如果用户从设备(被管理设备或管理设备)例如通过网络浏览器远程发起屏幕时间检查,则可以由云服务器执行屏幕时间检查,就像云服务器是管理设备一样(类似于上文描述的未指定管理设备的场景)。
在一些实施方式中,被管理设备可以在没有权限凭证的情况下查询其自己的屏幕时间数据。在一些实施方式中,被管理设备可能需要恰当的权限凭证/认证来查询另一设备的屏幕时间数据。在其他实施方式中,尽管凭证/认证可以例如是可配置的参数,但其可以是必需的,也可以是非必需的。
如果认证是强制的,则用户从其发起查询的设备在验证该设备上的凭证后可以变为管理设备,并且网络上的所有设备(管理设备和被管理设备两者)都会经历角色转变的过程(如上所述)。此后,设备能够读取本地数据以计算与任何被管理设备相关联的屏幕时间。如果不需要认证,则被管理设备将与活动的管理设备进行通信以检索屏幕时间数据,从而计算屏幕时间。也就是说,查询(被管理)设备可以在相关时间段内获取相关设备的屏幕时间,可以通过其驻留的屏幕时间管理应用程序来计算期望的屏幕时间。在其他实施方式中,可以在被管理设备上构造查询或者由被管理设备构造查询,并且该查询可以被发送至管理设备。管理设备的驻留的屏幕时间管理应用程序可以执行必要的计算,例如计算每设备屏幕时间、总计屏幕时间等,并且计算的输出可以被发送至查询设备(被管理设备)。
图6图示了根据一个实施方式的示例性认证和授予凭证操作。在一些实施方式中,在远程/被管理设备上执行屏幕时间管理之前,用户被要求具有正确的凭证。权限凭证可以采用多种形式,例如密码、生物标识符(指纹、面部特征等)、数字验证器(条形码、文本消息交换、令牌等)等。此类权限凭证可以与用户的设备凭证进行绑定,或者可以根据用户的偏好单独设置。此类权限信息可以本地存储在设备上、存储在另一远程设备上、存储在云服务器上等。以这种方式,同一权限凭证可用于根据需要在整个网络中执行屏幕时间管理(无论权限凭证可能与哪个设备相关联)。
如图6所示,智能手机606可以是指定的管理设备(或者是最初指定的、在角色转变之后等)。在操作610处,响应于智能手机606的用户请求一个或多个被管理设备(例如平板电脑608、电视604等)的屏幕时间查询,智能手机606可以接收某种形式的权限凭证,诸如密码、指纹等。
智能手机606或屏幕时间管理应用程序(此处未示出)可以验证或认证接收到的权限凭证,并且可以在操作612处相应地授予访问权限。本领域技术人员会理解如何可以验证/认证权限凭证,例如,通过认证服务器将期望的权限凭证与接收的权限凭证进行比较。智能手机606可以在操作614a处与云服务器102同步接收的权限凭证,在操作614b处与被管理设备电视604同步接收的权限凭证,以及在操作614c处与被管理设备平板电脑608同步接收的权限凭证。通过在网络中在云服务器102和被管理设备上同步权限凭证,与权限凭证相关联的用户可以查询与网络中的任何设备相关联的屏幕时间数据。在操作616处,可以通过在本示例中的智能手机606实施屏幕时间管理操作,例如用户可以为期望的被管理设备(例如平板电脑608)设置屏幕时间使用参数、限制、阈值等。举例来说,用户可以是能访问其智能手机606上运行的驻留屏幕时间管理应用程序的父母,以便实现对其孩子使用平板电脑608的屏幕时间限制。此外,在操作618处,表608/在其上运行的屏幕时间管理应用程序可以报告相关的屏幕时间相关统计数据或确认相关设置。例如,这样的屏幕时间相关统计可以包括与指定的被管理设备相关联的总计屏幕时间、表明指定的被管理设备的屏幕何时开启或关闭的详细图表、在不同设备上花费的屏幕时间的分布图等。以上是非限制性的示例,根据各实施方式可以考虑其他统计/屏幕时间相关信息。
就屏幕时间异常而言,设备通常通过有线或无线网络互连,但有时可能会因为下述原因而离线:网络问题、电池没电、进入睡眠状态、响应于设备有意关闭电源而关闭、丢失等原因。
为了考虑此类屏幕时间异常,设备可以按如下方式来响应屏幕时间异常事件。管理设备(或云服务器)确保对所有接收到的屏幕时间数据进行存储,并且管理设备可以等待屏幕时间异常通过/解决。例如,管理设备可以等待管理设备和被管理设备所在的网络恢复到操作状态。如果设备丢失或永久地损坏,则管理设备可以从其查找表中移除该设备,或者将与该设备相关联的屏幕时间数据存档在管理设备或云服务器上。例如,用户可以通过管理设备上的屏幕时间管理应用程序手动删除查找表中的设备记录。在其他实施方式中,管理设备可以在未接收到响应的情况下根据某个阈值时间或尝试ping的次数,移除与设备相关联的记录。另一方面,被管理设备只要在运行就保持收集屏幕时间数据,并持续在本地存储或缓存屏幕时间数据(在实际应用中,可以可选地使用环形缓冲器来记录屏幕时间,如果缓冲器已满,则用最新的数据覆盖最旧的数据)。它可以尝试连接到其已知的最新管理设备,或者等待新的管理设备的广播管理角色消息。另一方面,云服务器可以只是待机,等待来自管理或被管理设备的任何新连接。
当被管理设备开始运行/恢复运行时,管理设备可以连接到云服务器以检查是否有任何可用于更新的新数据。如上所述,各实施方式采用基于将与屏幕事件相关联的时间戳数据进行比较的同步/冲突解决机制。如果存在新数据,管理设备可以将存储在云服务器查找表(和经授权的设备列表)中的数据添加或合并到管理设备自己的查找表/设备列表。然后,管理设备可以继续从再次运行的被管理设备处接收屏幕时间数据,并如本文所公开的进行工作。被管理设备向管理设备或云服务器发送所有本地缓存的屏幕时间数据,并且随后就像任何屏幕时间异常事件之前一样继续收集屏幕时间并向管理设备发送数据。如在屏幕时间异常事件发生之外通常所执行的那样,云服务器可以连接到管理设备/执行管理设备功能、同步屏幕时间数据等。
应注意,如果只有云服务器离线,并且设备是运行的/设备在其上运行的网络是运行的,则管理设备还可以如上所述另外在本地更新其设备列表,例如当角色转变事件发生而云服务器离线时。当云服务器重新开始运行时,通过基于与设备列表更新相关联的时间戳比云服务器设备列表的时间戳更新来对云服务器设备列表进行更新,管理设备可以处理任何与云服务器的设备列表冲突。
在某些情况下,网络问题或硬件故障可能会导致管理设备无法从一个或多个被管理设备收集屏幕时间数据。相应地,管理设备可以将此类故障记录为异常,例如断开连接的/不运行的被管理设备的屏幕关闭或设备故障事件类型。所计算的屏幕时间于是可以简单地忽略这样的被管理设备。然而,当恢复运行时,管理设备可以基于来自被管理设备的最新数据来更新其屏幕时间数据查找表。
如上所述,屏幕时间查询可能涉及与多个分布式设备关联的屏幕使用,其中这些设备各自的系统时间不一定是精确的或准确的,或者系统时间可能相互偏差。因此,在一些实施方式中,对与各设备在其上运行的网络相关联的时间给予优先级。例如,可以向由网络的网络时间协议(network time protocol,NTP)服务器提供的网络时间服务收集时间,以采用其来反映与各种屏幕事件相关联的“正确”时间,而不是例如特定于设备的时间。如果无法收集到基于网络的时间,设备可以暂时基于本地设备系统时间来记录与屏幕事件关联的时间。在更新/合并被管理设备的屏幕时间数据之前,管理设备可以将与屏幕事件相关联的本地设备系统时间调整为网络时间。也就是说,可以将网络时间的丢失/缺失(出于时间戳目地)视为网络服务的丢失,当可以确定网络时间(类似于网络重新开始运行)时,可以对时间进行如上所述的调整。
在一些场景中,特定设备(无论是管理设备还是被管理设备)可能有时在不同的时区中被使用,其跨越了在屏幕时间查询中指定的时间段。在一些实施方式中,被管理设备基于该被管理设备正在其中运行的当前时区来收集屏幕时间数据,并且在向管理设备/云服务器发送屏幕时间数据发之前,将当前时区值添加到屏幕时间数据(如果在不同的时区)。
管理设备(或者充当管理设备的云服务器)可以接收并按原样存储屏幕时间数据时区值,以记录被管理设备的使用地点。然而,在生成/更新其查找表时,管理设备会将所接收的屏幕时间数据时区值转译为或转换为协调世界时间(universal coordinated time,UTC)以对屏幕事件相关联的时间戳进行标准化。当响应于屏幕时间查询输出或呈现屏幕时间信息或计算时,管理设备可以将标准化的UTC转译到管理设备的当前时区、用户指定的时区、发起屏幕时间查询的时区(如果不同于管理设备的时区)等。
下面在表3示出了附加有时区值的查找表条目或数据元素/元组的示例。
设备名称 ID 屏幕事件时间 类型 时区 记录时间(UTC)
约翰的手机 123-456 13:20:10@2020-11-01 屏幕开启 UTC+8 5:20:11@2020-11-01
表3
如上所述,准确计算屏幕时间可能涉及考虑单个帐户与多个设备一起使用的情况或在多个设备上使用单个账户的情况、或者多个帐户之间共享单个设备的情况。因此,除了准确地计算每设备屏幕时间之外,实施方式还能够计算每帐户屏幕时间,如下所示。可以将基于帐户的总计屏幕时间Ast设置为等于设备A的屏幕时间DAst+设备B的屏幕时间DBst+...设备N的屏幕时间DNst。任何基于帐户的总计屏幕时间都可以用相同的方式计算,并用不同的帐户标识符表示。
为了支持这种基于帐户的屏幕时间计算,上述查找表可以与对应的帐户标识符一起存储,其示例见下面的表4。
账户 设备名称 ID 角色 屏幕事件时间 类型 记录时间
A 约翰的手机 123-456 管理 13:20:10@2020-11-01 屏幕开启 13:20:11@2020-11-01
B 约翰的手机 123-456 被管理 13:20:15@2020-11-01 账户切换 13:20:16@2020-11-01
B 约翰的手机 123-456 被管理 13:20:20@2020-11-01 屏幕关闭 13:20:20@2020-11-01
根据屏幕时间查询的参数,可以指定特定的帐户,并且在仅考虑被查询的相关帐户(无论涉及一个还是多个设备)的情况下执行屏幕时间计算。应注意,在一些实施方式中,如果用户发起关于已与特定账户相关联的特定设备的屏幕时间查询,则该设备无需认证/输入权限凭证就可以充当管理设备。在一些设备操作系统例如Android中,不同的帐户具有不同的相关联应用软件数据,并且出于隐私原因不允许一个帐户访问另一帐户的应用程序数据。在这种情况下,同一屏幕时间管理应用程序或服务将无法使用设备中的(例如登录的)不同帐户访问同一存储的屏幕时间数据。因此,在一些实施方式中,屏幕时间管理应用程序/软件可以实施或运行为“内置”操作系统应用程序,而不是作为例如第三方应用程序,以避免需要特许权限来访问特定于帐户的屏幕时间数据。当切换帐户时,或者当用户在此类系统中登录新帐户时,屏幕时间管理应用程序或软件可以从云服务器对新切换到的帐户的屏幕时间数据进行同步,解决任何屏幕时间数据冲突或合并数据,以确保与新帐户的屏幕时间数据关联的屏幕时间数据是最新且完整的。然后可以正常进行屏幕时间管理。
图7是根据一些实施方式的用于执行屏幕时间管理的示例性计算组件700,诸如管理设备或服务器。计算组件700可以是例如能够处理数据的计算组件。在图7的示例性实施中,计算组件700包括硬件处理器702和机器可读存储介质704。在一些实施方式中,如上所述,计算组件700可以被实施为管理设备(例如智能手机106)或云服务器/类似元件(例如云服务器102)。
硬件处理器702可以是一个或多个中央处理单元(central processing unit,CPU)、基于半导体的微处理器和/或适用于检索和执行存储在机器可读存储介质704中的指令的其他硬件设备。硬件处理器702可以提取、解码和执行指令,诸如指令706-710。作为检索和执行指令的替代或补充,硬件处理器702可以包括一个或多个电子电路,该电子电路包括用于执行一个或多个指令的功能性的电子组件,诸如现场可编程门阵列(fieldprogrammable gate array,FPGA)、专用集成电路(application specific integratedcircuit,ASIC)或其他电子电路。
机器可读存储介质诸如机器可读存储介质704可以是包含或存储可执行指令的任何电存储设备、磁存储设备、光存储设备或其他物理存储设备。因此,机器可读存储介质704可以是例如随机存取存储器(random access memory,RAM)、非易失性RAM(non-volatileRAM,NVRAM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、存储设备、光盘等等。在一些实施方式中,机器可读存储介质704可以是非暂时性存储介质,其中术语“非暂时性”不涵盖暂时性传播信号。如下文详细描述的,机器可读存储介质704可以编码有可执行指令,例如指令706-710。
硬件处理器702可以执行指令706来收集和存储一个或多个被管理设备中的每一个的屏幕时间数据。如上所述,计算组件700可以是管理设备。因此,一个或多个被管理设备由管理设备进行管理。管理设备可以充当集中元件或用于对来自多个设备或多个账户的屏幕时间数据进行总计,上述屏幕时间数据例如为屏幕时间事件以及关联的时间值、设备标识、关联的账户信息等等。屏幕时间查询可以转到维护包含屏幕时间数据的查找表(或其他)数据结构的管理设备。
硬件处理器702可以执行指令708以基于在一个或多个被管理设备的期望子集上的屏幕时间数据来计算总体屏幕使用时间。如上所述,可以以每设备为基础、以每帐户为基础、跨多个设备/帐户等来确定屏幕时间。可以通过根据管理和被管理设备角色(可以在网络中的设备之间转变)对本地的和远程的查找表以及设备列表进行维护/更新来实现这样的灵活性。此外,根据需要或根据屏幕时间查询参数所指定的,可以在屏幕时间计算期间考虑屏幕时间异常,诸如设备或网络中断、屏幕关闭时间等。
硬件处理器702可以执行指令710,以响应于屏幕使用时间查询将所计算的总体屏幕使用时间提供给查询设备。所计算的屏幕使用时间可以反映为可以转发给查询设备的值。然而,在其他实施方式中,可以基于所计算的屏幕使用时间或所计算的相对于某些指定阈值或限制的屏幕使用时间来提供报告、图形表示、警告、警报等。在一些实施方式中,可以有针对性地提供此类所计算的屏幕使用时间。
应注意,可以将各实施方式的功能扩展成管理一个或多个设备的屏幕时间使用。例如,可以为特定设备指定设定的屏幕时间限制。基于上面讨论的屏幕时间机制,管理设备或被管理设备的屏幕时间管理软件可用于在达到或接近指定的屏幕时间限制时进行锁定或关闭或发送/呈现一些警报或通知。由于查找表中填充有帐户和特定于设备的屏幕事件数据,因此可以根据需要设置限制,并将限制应用到特定帐户或设备。在一些实施方式中,查找表中可以包含关于与屏幕事件相关联的特定应用的信息或数据。以这种方式,可以将屏幕时间管理扩展到至少部分地基于特定应用的使用来控制屏幕使用,并且因为实施方式可以考虑多个帐户和多个设备,所以用户不能通过在多个设备上访问应用程序来轻易地避免屏幕时间限制。可以在所有相关设备上而不仅是当前正使用的设备上启动关于接近屏幕时间限制的警报/通知/警告。再者,由于查找表中捕获的屏幕时间数据的广度,这种方式是可能的。在其他实施方式中,可以将针对性通知例如仅发送到最近的屏幕事件是屏幕开启事件(没有随后的屏幕关闭事件)的设备、或用户指定的设备、或与特定账户相关联的特定设备等。在其他实施方式中,可以将消息传送或通信机制添加到屏幕时间管理应用程序,以允许用户就屏幕时间进行通信。例如,当接收到用户正接近屏幕时间限制的通知时,屏幕时间管理应用程序可以允许用户向设置该屏幕时间限制的用户/设备请求额外的屏幕时间。此外,捕获和存储的任何和所有的屏幕时间数据可以作为聚合的或单独的统计数据/趋势、报告(文本、图形等)、热力图、排名等来呈现/分析。
尽管本文描述/说明的各实施方式是在关于物理设备的屏幕时间管理的背景下提出的,但计算机/计算设备或网络上的虚拟实体可以被视为单个虚拟设备。可参考此类虚拟设备对屏幕或活动时间进行计算,而且不需要局限于“屏幕”时间。可以认为此类活动的示例包括但不限于以下内容:系统级虚拟机运行时间,其中此类虚拟机可以作为硬件模拟在同一台物理计算机上运行,例如VirtualBox、Vmware等;作为主机操作系统内的正常进程运行的进程级虚拟机,例如Java虚拟机、Windows.NET框架等;在同一操作系统上运行的操作系统级虚拟机,例如Docker、Container、LXC等;在某些操作系统框架中运行的系统软件组件模块或服务,例如Windows Manager、Android中的MediaPlayer Service等;在某些操作系统上运行的应用程序软件,例如Android应用程序;或者软件组件或应用程序的某些组/集合,例如一个或多个设备上的所有游戏/教育/生产力类别类型的应用程序。
如本文所使用,电路和组件这样的术语可描述可以根据本申请的一个或多个实施方式执行的给定功能性单元。如本文所使用的,可利用任何形式的硬件、软件或其组合来实现组件。例如,可利用一个或更多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或其它机构来构成组件。本文描述的各种组件可以作为分立组件来实现,或者所描述的功能和特征可以在一个或多个组件之间部分地或全部地共享。换句话说,如所属领域的技术人员在阅读此描述之后将明白,本文中描述的各种特征和功能性可以在任何给定应用中实现。它们可以以各种组合和排列在一个或多个单独或共享的组件中实现。尽管各种特征或功能元件可以被单独地描述或宣称为单独的组件,但应理解,这些特征/功能可以在一个或多个公共软件和硬件元件之间共享。这种描述并非要求或暗示使用单独的硬件或软件组件来实现这样的特征或功能。
在全部或部分地使用软件来实现组件的情况下,这些软件元件可以被实施以与能够执行关于其描述的功能的计算或处理组件一起运行。图8示出了一个这样的示例性计算组件。根据此示例性计算组件800描述了各实施方式。在阅读本说明书之后,相关领域的技术人员将明白如何使用其它计算组件或架构来实现本申请。
现在参考图8,计算组件800可以表示例如在自调节显示器、台式计算机、膝上型计算机、笔记本计算机和平板计算机中找到的计算能力或处理能力。该计算能力或处理能力可在手持计算设备(平板电脑、个人数字助理(PDA)、智能手机、移动电话、掌上计算机等)中找到。该计算能力或处理能力可在具有显示器的工作站或其它设备、服务器、或者如对于给定的应用或环境可能是期望的或适合的任何其它类型的专用计算设备或通用计算设备中找到。计算组件800还可表示嵌入在给定设备内或者以其它方式可用于给定设备的计算能力。例如,计算组件可在诸如便携式计算设备的其它电子设备中找到,以及可包括一些形式的处理能力的其它电子设备中找到。
计算组件800可包括例如一个或更多个处理器、控制器、控制组件或其它处理设备。计算组件800可以包括处理器804。例如,可以使用通用或专用处理引擎,诸如微处理器、控制器或其它控制逻辑,来实现处理器804。处理器804可以连接到总线802。但是,可以使用任何通信介质来促进与计算组件800的其他组件的交互或者进行外部通信。
计算组件800还可包括一个或更多个在本文简称为主存储器808的存储器组件。例如,可以使用随机存取存储器(random access memory,RAM)或其它动态存储器来存储待由处理器804执行的信息和指令。在由处理器804执行待执行指令期间,主存储器808还可用于存储临时变量或其它中间信息。计算组件800可类似地包括只读存储器(read onlymemory,ROM)或耦合到总线802的用于存储处理器804的静态信息和指令的其它静态存储设备。
计算组件800还可包括一种或更多种形式的信息存储机构810,其可包括例如介质驱动器812和存储单元接口820。介质驱动器812可包括驱动器或其它机构,以支持固定存储介质或可移除存储介质814。例如,可以提供硬盘驱动器、固态驱动器、磁带驱动器、光盘驱动器、压缩磁盘(compact disk,CD)或数字视频盘(digital video disc,DVD)驱动器(R或RW),或者其它可移除的介质驱动器或固定的介质驱动器。存储介质814可包括诸如硬盘、集成电路组件、磁带、盒式磁带、光盘、CD或DVD。存储介质814可以是由介质驱动器812读取、写入或者访问的任何其它固定介质或可移除介质。如这些示例所示,存储介质814可包括在其中存储有计算机软件或数据的计算机可用存储介质。
在可替代实施方式中,信息存储机构810可包括用于允许计算机程序或其它指令或数据被加载到计算组件800中的其他类似工具。这样的工具可包括例如固定的或可移除的存储单元822和接口820。这样的存储单元822和接口820的示例可以包括程序盒和盒式接口、可移除存储器(例如闪存或其他可移除存储器模块)和存储器插槽。其它示例可以包括PCMCIA插槽和卡,以及允许将软件和数据从存储单元822传送到计算组件800的其他固定的或可移除的存储单元822和接口820。
计算组件800还可以包括通信接口824。通信接口824可以被用于允许在计算组件800与外部设备之间传送软件和数据。通信接口824的示例可以包括调制解调器或软件调制解调器、网络接口(诸如以太网、网络接口卡、WiMedia、IEEE 802.XX或其他接口)。其它示例可以包括通信端口(诸如USB端口、IR端口、RS232端口、蓝牙接口或其他端口)或其他通信接口。经由通信接口824传送的软件和数据通常可以在信号上携带,该信号可以是电子信号、电磁信号(其包括光学信号)或能够由给定通信接口824交换的其它信号。这些信号可以经由信道828被提供给通信接口824。信道828可以携带信号并且可以使用有线或无线通信介质来实现。信道的一些示例可包括电话线、蜂窝链路、RF链路、光学链路、网络接口、局域网或广域网和其它有线或无线通信通道。
在本文中,术语“计算机程序介质”和“计算机可用介质”通常用于指代暂时性介质或非暂时性介质。该介质可以是例如存储器808、存储单元820、介质814和信道828。这些和其它各种形式的计算机程序介质或计算机可用介质可涉及将一个或更多个指令的一个或更多个序列传送到处理设备以用于执行。这种包含在介质上的指令通常被称为“计算机程序代码”或“计算机程序产品”(其可以以计算机程序或其他分组的形式被分组)。这样的指令在被执行时,可以使计算组件800能够执行如本文所讨论的本申请的特征或功能。
应理解,在一个或更多个单独的实施方式中描述的各种特征、方面和功能不限于它们对与之描述的特定实施例的适用性。相反地,它们可以单独地或以各种组合应用于一个或多个其它实施方式,而不管是否描述了这样的实施方式也不管这样的特征是否作为所描述的实施方式的一部分呈现。因此,本申请的广度和范围不应被上述示例性实施方式中的任一个所限制。
除非另有明确陈述,否则本文件中使用的术语、短语及其变型应被解释为开放式的而非限制性的。作为前述内容的示例,术语“包括”应当被理解为“包括但不限于”等含义。术语“示例”用于提供论述中项目的示例性实例,而不是其详尽或限制性的列表。术语“一”或“一个”等应当被理解为“至少一个”、“一个或多个”等含义;以及形容词诸如“常规的”、“传统的”、“正常的”、“标准的”、“已知的”和类似含义的术语不应被解释为将所描述的项目限制在给定时期或者如给定时间可用的项目。相反地,它们应该被解释为包括现在或将来的任何时间可用的或可获知的常规的、传统的、正常的或标准的技术。在此文件涉及对于本领域普通技术人员明显或已知的技术的情况下,此类技术包括这些对现在或将来的任何时间本领域技术人员明显或已知的技术。
在一些情况下,诸如“一个或多个”、“至少”、“但不限于”等扩展词和短语或者其它相似短语在一些实例中存在不应被理解为意味着在可缺少此类扩展词的情况下意图或要求更窄的情况。术语“组件”的使用不暗指作为组件的一部分描述或要求保护的方面或功能性全部被配置在公用封装中。实际上,组件的各种方面中的任一个或全部,其无论是控制逻辑还是其它组件,可组合在单个封装中或单独维护,并且可进一步分布在多个分组或封装中或者或跨多个位置分布。
另外,本文阐述的各种实施例是根据示例性框图、流程图和其它图示来描述的。在阅读本文件之后,如对于本领域普通技术人员将变得明显的是,可在不局限于所示示例的情况下实现所示实施方式以及其各种替代性方案。例如,框图和其随附描述不应被解释为要求特定的架构或配置。

Claims (20)

1.一种管理设备,包括:
处理器;以及
在操作上耦合至所述处理器的存储单元,所述存储单元包括在被执行时使所述处理器执行下述的代码:
从一个或多个被管理设备中的每一个收集屏幕时间数据并存储所述屏幕时间数据,所述一个或多个被管理设备由所述管理设备管理;
基于在所述一个或多个被管理设备的期望子集上的屏幕使用时间,计算总体屏幕使用时间;以及
响应于屏幕使用时间查询,向查询设备提供所计算的总体屏幕使用时间。
2.根据权利要求1所述的管理设备,其中,所述屏幕时间数据存储在由所述管理设备维护的查找表中。
3.根据权利要求2所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:将所述屏幕时间数据与由远程服务器维护的所述查找表的远程副本进行同步,所述远程服务器在操作上连接至所述管理设备。
4.根据权利要求1所述的管理设备,其中,所述屏幕时间数据包括:设备标识信息;在所述一个或多个被管理设备中的每一个处正在发生或已经发生的屏幕事件;以及标识所述屏幕事件的发生时间的时间戳。
5.根据权利要求4所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:在计算所述总体屏幕使用时间之前,将所述时间戳标准化为协调世界时间。
6.根据权利要求4所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:基于所述屏幕事件的发生时间之间的差值,计算所述屏幕使用时间,所述屏幕事件包括屏幕开启事件和屏幕关闭事件。
7.根据权利要求6所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:在计算所述屏幕使用时间期间排除屏幕事件异常。
8.根据权利要求7所述的管理设备,其中,所述屏幕事件异常包括不可操作屏幕事件和重叠使用屏幕事件中的至少一种。
9.根据权利要求6所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:在计算所述屏幕使用时间期间,将与在所述一个或多个被管理设备中的多个被管理设备上的单一账户使用相关联的屏幕时间数据进行总计。
10.根据权利要求1所述的管理设备,其中,所述管理设备包括在操作上与所述一个或多个被管理设备通信的云服务器。
11.根据权利要求1所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:收集并存储与所述管理设备相关联的屏幕时间数据。
12.根据权利要求11所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:将所述管理设备相关联的屏幕时间数据和来自所述一个或多个被管理设备中的每一个的屏幕时间数据进行总计。
13.根据权利要求1所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:向所述一个或多个被管理设备广播管理角色消息,以启动所述屏幕时间数据的收集。
14.根据权利要求1所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:从远程服务器获取设备列表的副本,所述设备列表将所述一个或多个被管理设备中的每一个标识为与被管理角色相关联以及将所述管理设备标识为与管理角色相关联。
15.根据权利要求14所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:在接收到由所述一个或多个被管理设备之一广播的角色转变消息时,转变到被管理设备角色。
16.根据权利要求15所述的管理设备,其中,所述存储单元包括在被执行时使所述处理器执行下述的计算机代码:将所述设备列表的副本与在所述远程服务器处的反映所述转变的更新的设备列表进行同步。
17.一种方法,包括:
由多个计算设备中的一计算设备从所述多个计算设备的剩余子集收集活动数据,所述多个计算设备的所述剩余子集由所述第一计算设备管理;
由所述第一计算设备基于在所述多个计算设备的所述剩余子集中的一个或多个计算设备上的所述活动数据对活动时间进行计算;以及
传输反映所述多个计算设备的所述剩余子集中的所述一个或多个计算设备的所计算的活动时间的信息。
18.根据权利要求17所述的方法,其中,所述多个计算设备中的每一个包括物理计算设备和虚拟计算设备中的至少一个。
19.根据权利要求18所述的方法,其中,所述活动数据反映与在所述物理计算设备和虚拟计算设备中的至少一个上执行的操作、应用程序、软件组件及其组合中的至少一个相关联的活动。
20.根据权利要求19所述的方法,还包括:基于所计算的活动时间满足或接近活动时间限制阈值,对所述多个计算设备的所述剩余子集中的一个或多个实施活动时间限制。
CN202180092948.2A 2021-02-25 2021-02-25 跨多个分布式设备的屏幕时间管理 Pending CN116830557A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/019558 WO2021077142A2 (en) 2021-02-25 2021-02-25 Screen time management across multiple distributed devices

Publications (1)

Publication Number Publication Date
CN116830557A true CN116830557A (zh) 2023-09-29

Family

ID=75538886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180092948.2A Pending CN116830557A (zh) 2021-02-25 2021-02-25 跨多个分布式设备的屏幕时间管理

Country Status (3)

Country Link
US (1) US20230388391A1 (zh)
CN (1) CN116830557A (zh)
WO (1) WO2021077142A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230263441A1 (en) * 2022-02-22 2023-08-24 At&T Intellectual Property I, L.P. Sensor device-based detection of trauma events and responses
DE202022101830U1 (de) 2022-04-05 2022-05-18 Iftikar Ahmed Tragbares medizinisches Gerät zur Überwachung der Bildschirmzeit mit Internet-of-Things-Sensor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931587B1 (en) * 1998-01-29 2005-08-16 Philip R. Krause Teleprompter device
US20100317537A1 (en) * 2008-02-15 2010-12-16 University Of Florida Research Foundation, Inc. Biophysical parameters for systems biology
US9954975B2 (en) * 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9141087B2 (en) * 2009-04-26 2015-09-22 Nike, Inc. Athletic watch
JP2016515888A (ja) * 2013-03-15 2016-06-02 ゾール メディカル コーポレイションZOLL Medical Corporation 患者監視画面集約
US9797873B1 (en) * 2014-06-26 2017-10-24 Yummly, Inc. Prediction of recipe preparation time
US20170302876A1 (en) * 2016-04-15 2017-10-19 LimitScreen Inc. System and method of controlling and enforcing screen usage
WO2018073649A1 (en) * 2016-10-17 2018-04-26 Basewalk Ltd. Desktop management and data transfer in a multi-computer environment
EP3462417A1 (en) * 2017-09-27 2019-04-03 Siemens Aktiengesellschaft Method and system for computer-assisted monitoring of a technical system
US11799955B2 (en) * 2018-06-03 2023-10-24 Apple Inc. Data synchronization across multiple devices
US11810532B2 (en) * 2018-11-28 2023-11-07 Eyesafe Inc. Systems for monitoring and regulating harmful blue light exposure from digital devices
US10955697B2 (en) * 2018-11-28 2021-03-23 Eyesafe Inc. Light emission modification
JP2023082473A (ja) * 2021-12-02 2023-06-14 株式会社リコー 情報処理システム、情報出力方法、プログラム

Also Published As

Publication number Publication date
WO2021077142A2 (en) 2021-04-22
WO2021077142A3 (en) 2021-07-08
US20230388391A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
US10554786B2 (en) Dynamic adjustment of mobile device based on peer event data
US9245143B2 (en) Security policy for device data
US20220070304A1 (en) Information Reminding Method and Apparatus, and Electronic Terminal
US9462965B2 (en) Dynamic adjustment of mobile device based on system events
CN107852416B (zh) 监测计算机网络连接的生命周期
US9432839B2 (en) Dynamic adjustment of mobile device based on thermal conditions
US20230388391A1 (en) Screen time management across multiple distributed devices
US9246989B1 (en) Scheduling data pushes to a mobile device based on usage and applications thereof
US9465679B2 (en) Dynamic adjustment of mobile device based on adaptive prediction of system events
TWI536787B (zh) 計算資源之安全地理位置
US9813990B2 (en) Dynamic adjustment of mobile device based on voter feedback
US10936294B2 (en) Blockchain-based software compliance system
US10437983B1 (en) Method and system for improved data control and access
US20200042324A1 (en) Proactive host device access monitoring and reporting system
US9667659B2 (en) Determining security factors associated with an operating environment
CN112805964A (zh) 用于在云降级模式下确保连续装置操作可靠性的方法及设备
US9612642B2 (en) Event-based power provisioning system
US20230281301A1 (en) System and method for detecting and reporting system clock attacks within an indicators of attack platform
US20240163287A1 (en) Secure reuse of cloud at customer hardware
US20230291589A1 (en) Integration of oem endpoint management and unified endpoint management
GB2627056A (en) Systems, devices, and methods for tracking remote equipment location and utilization of computing devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination