CN106462616A - 管理用户信息 - Google Patents

管理用户信息 Download PDF

Info

Publication number
CN106462616A
CN106462616A CN201580028726.9A CN201580028726A CN106462616A CN 106462616 A CN106462616 A CN 106462616A CN 201580028726 A CN201580028726 A CN 201580028726A CN 106462616 A CN106462616 A CN 106462616A
Authority
CN
China
Prior art keywords
data
user
request
party
application program
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.)
Granted
Application number
CN201580028726.9A
Other languages
English (en)
Other versions
CN106462616B (zh
Inventor
D·基恩
J·S·拉欣
T·A·肖特利奇
E·C·布洛克
G·L·特里布尔
J·C·伯拉尼克
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN202110651635.8A priority Critical patent/CN113284574A/zh
Priority to CN201910301496.9A priority patent/CN110400612B/zh
Priority claimed from PCT/US2015/029494 external-priority patent/WO2015183495A1/en
Publication of CN106462616A publication Critical patent/CN106462616A/zh
Application granted granted Critical
Publication of CN106462616B publication Critical patent/CN106462616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/54Interprogram communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • G16H10/65ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records stored on portable record carriers, e.g. on smartcards, RFID tags or CD
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/40ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to mechanical, radiation or invasive therapies, e.g. surgery, laser therapy, dialysis or acupuncture
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Abstract

本发明提供了一种用于管理用户信息的系统、方法和计算机可读介质。例如,可将用户的数据存储在存储器中。可提供对用户授权对数据的至少一部分的访问的请求。该授权可用于使应用程序能够访问该数据的一部分。在一些示例中,可接收对该请求的响应,并且可提供该请求被提供至用户的指示,而无需指示用户是否否认该请求。

Description

管理用户信息
相关申请的交叉引用
本专利申请要求于2014年9月29日提交的美国专利申请No.14/499,449的优先权,该专利申请要求于2014年5月30日提交的Keen等人的发明名称为“Managing UserInformation”的美国临时专利申请No.62/006,031的权益(参考文献No.P23418USP1),这些专利申请据此全文以引用方式并入本文以用于所有目的。本专利申请还涉及于2014年5月30日提交的Kennedy等人的发明名称为“Wellness Aggregator”的临时专利申请No.62/006,032,其全部内容根据35U.S.C.§120据此以引用方式并入本文,就像在本文中对其进行了完整的阐述一样。本专利申请还涉及与其在同一天提交的Keen等人的发明名称为“Managing User Information–Background Processing”的非临时专利申请No.14/499,461、与其在同一天提交的Keen等人的发明名称为“Managing User Information–DataType Extension”的非临时专利申请No.14/499,512,以及与其在同一天提交的Keen等人的发明名称为“Managing User Information–Source Prioritization”的非临时专利申请No.14/995,519,每个专利申请的全部内容据此以引用方式并入本文,就像在本文中对其进行了完整的阐述一样。
背景技术
人们越来越认识到经常锻炼对于保持健康的重要性。此外,现在有太多的电子设备可用于跟踪一个人一整天的身体活动。此类设备可与其他移动设备连接或以其他方式进行通信,以(例如)帮助跟踪、管理和/或分析与个人的身体活动相关联的数据。然而,健康和活动数据一直被认为是极具私密性的并且往往需要加倍保密。因而,开发者和设备制造者在提供用于收集和共享用户健康信息的应用程序和/或设备时不断地遭遇挑战。
发明内容
本公开的实施方案可提供用于管理用户信息(例如,由一个或多个外部设备收集的个人信息)的系统、方法和计算机可读介质。在一些示例中,可对数据交换进行管理,从而允许第三方应用程序和/或使其能够向数据交换提供用户信息并且有可能检索由其他第三方应用程序提供的用户信息。数据交换在被管理的同时可被配置为至少部分地基于来自与用户数据相关联的用户的授权来提供对该数据的特定数据类型的访问。
根据一个实施方案,可由计算机系统来执行一种方法,以至少接收与多个不同数据类型的至少子集相关联的用户健康信息。该方法还可使得计算机系统将用户的健康信息存储在计算设备的安全存储设备中。计算机系统可从第三方应用程序接收对访问该用户的多个不同数据类型中的至少一个数据类型的授权请求。该方法还可使得计算机系统向第三方应用程序提供授权请求被提供至用户的指示。在一些示例中,计算机系统可从第三方应用程序接收对与至少一个数据类型对应的健康信息的请求,并在用户尚未授权访问至少一个数据类型时向第三方应用程序提供空结果。
在一些情况下,可向第三方应用程序提供该授权请求已被提供至用户的指示,而无需指示用户是否否认对至少一个数据类型的访问。用户可能已提供与至少一个数据类型对应的健康信息,并且可向第三方应用程序提供空结果,而无需指示用户已提供与至少一个数据类型对应的健康信息。在一些示例中,在用户利用计算设备进行验证时,安全存储设备的数据能够被第三方应用程序访问。此外,该方法可使得计算机系统从第二个第三方应用程序接收对访问该用户的多个不同数据类型中的至少一种数据类型的第二授权请求,从用户接收对第二个第三方应用程序访问至少一个数据类型的授权许可,以及向第二个第三方应用程序提供指示,向第二个第三方应用程序提供的指示与向第三方应用程序提供的指示相同。在用户尚未提供与至少一个数据类型对应的健康信息时,可向第二个第三方提供相同的指示。
根据另一个实施方案,系统可被实施为配置有存储器和处理器的计算设备。处理器可被配置为执行被存储在存储器上的指令,以将存储器配置为存储用户的数据并向用户的用户界面提供对用户授权对该设备的应用程序的数据的至少一部分的访问的请求。处理器还可被配置为执行指令以从该用户的用户界面接收对请求的响应,并向该设备的应用程序提供该请求被提供至用户的指示,而无需指示用户是否否认该请求。
在一些示例中,该设备的应用程序可包括由处理器执行的第三方应用程序。可使得用户能够授权对第一数据类型的第一健康数据的访问,并否认对第二数据类型的第二健康数据的访问。存储器可被配置为存储第二健康数据并且不存储第一健康数据。在一些情况下,处理器还可被配置为执行计算机可执行指令,以至少从应用程序接收对第一健康数据的第一数据请求和对第二健康数据的第二数据请求,并响应于第一数据请求和第二数据请求两者来向该应用程序提供空结果。此外,处理器可被配置为执行计算机可执行指令,以至少向该用户提供对用户授权该应用程序读取被存储在存储器中的数据的读取请求,并且在用户否认读取请求时仅向该应用程序提供由该应用程序提供至存储器的信息。
根据另一个实施方案,计算机可读介质可包括当被执行时将计算机处理器配置为将与用户相关联的信息存储在数据存储库中的指令。该指令还可将处理器配置为从应用程序接收对授权访问信息的第一请求和/或来自应用程序的对信息的第二请求。该指令还可将处理器配置为在与信息相关联的用户批准对授权的第一请求时向该应用程序提供信息,并且在与信息相关联的用户否认对授权的第一请求时响应于第二请求来掩盖对授权的第一请求的否认。
在一些示例中,应用程序可以是被配置为能够向数据存储库进行对信息的至少一部分的读取或写入中的至少一者的第三方应用程序,并且至少一个第一方应用程序可被配置为能够向数据存储库进行信息的至少一部分的读取或写入中的至少一者。使得用户能够对针对多个数据类型中的每个数据类型的对授权的第一请求作出响应。可通过向应用程序提供不指示用户否认对授权的第一请求的响应来掩盖对授权的第一请求的否认,并且对应用程序作出的响应可通过以下操作而不指示用户否认对授权的第一请求:(a)所请求的数据未被存储在数据存储库中时,响应于第二请求来向该应用程序提供空结果;以及(b)在用户否认对授权的第一请求时,响应于第二请求来向该应用程序提供空结果。
附图说明
图1是示出了根据至少一个示例的用于如本文所述来管理用户信息的示例性架构的简化框图。
图2是示出了根据至少一个示例的如本文所述来管理用户信息的至少一些特征的另一简化框图连同连接流程。
图3是示出了根据至少一个示例的用于如本文所述来管理用户信息的另一示例性架构的另一简化框图。
图4是示出了根据至少一个示例的如本文所述来管理用户信息的附加特征的序列图。
图5是示出了根据至少一个示例的与如本文所述来管理用户信息相关联的至少一些信息的简化数据结构图。
图6是根据至少一个示例的用于如本文所述来管理用户信息的方法的流程图。
图7是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图8是示出了根据至少一个示例的用于如本文所述来管理用户信息的另一示例性架构的另一简化框图。
图9是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图10是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图11是示出了根据至少一个示例的用于如本文所述来管理用户信息的另一示例性架构的另一简化框图。
图12是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图13是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图14是示出了根据至少一个示例的用于如本文所述来管理用户信息的另一示例性架构的另一简化框图。
图15是示出了根据至少一个示例的用于如本文所述来呈现用户信息的示例性用户界面的简化框图。
图16是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
图17是根据至少一个示例的用于如本文所述来管理用户信息的方法的另一流程图。
具体实施方式
在下面的描述中将描述各种示例。为了解释的目的,阐述了许多具体配置和细节,以便提供对示例的彻底理解。然而,对于本领域的技术人员将显而易见的是,该示例可能在没有这些具体细节的情况下被实践。此外,可省略或简化熟知的特征,以便避免模糊正被描述的示例。
除了别的之外,本公开的示例涉及对来自外部来源或者用户的其他远程外围设备的个人信息进行管理。在一些示例中,可将由数据收集设备收集的信息提供至用户设备(例如,移动电话、平板电脑、膝上型计算机、可佩戴计算设备等)和/或该用户设备的一个或多个第一方应用程序或第三方应用程序。在一些示例中,第一方应用程序可以是具有用户设备的操作系统(O/S)的应用程序,该应用程序被配置为与该用户设备进行本机操作,该用户设备由与该用户设备结合使用的O/S的开发者提供,和/或受到该O/S和/或设备的信任。另选地,第三方应用程序可以是由第三方或者除了用户设备和/或其O/S的开发者/制造者之外的实体提供的应用程序。此外,在一些非限制性示例中,被收集和/或管理的信息可以是用户的健康信息、健身信息和/或活动信息(例如,血糖水平、体重、身高、所燃烧的卡路里数、心率等)。可通过一种或多种数据类型(或类别)来对用户信息进行分类或以其他方式进行识别。体重、所走的步数、所燃烧的卡路里数、心率等均是数据类型的示例。也可设想其他数据类型(例如,除健康信息之外),其包括但不限于所走的小时数、时速、每小时的公里数、每分钟所读的页数等。
在一些情况下,可在被配置为接收、存储、管理此类用户信息和/或将其提供至服务提供方、第三方应用程序、其他第一方应用和/或用户设备的本地存储装置的用户设备上执行第一方应用程序框架。作为第一方框架的一部分,可由用户设备的处理器来执行第一方进程。该第一方进程可包括但不限于被配置为与第三方应用程序、用户设备的O/S和/或用户设备的电子存储装置进行通信的守护进程或者其他后台进程。在一些情况下,第一方进程可被配置为管理数据交换,以用于与第三方应用程序共享一些用户数据。以这种方式,第一方进程可使得第三方应用程序能够访问最初由该第三方应用程序、第一方应用程序或者其他第三方应用程序提供的用户信息。然而,如所指出的,健康信息可能被认为极具私密性和/或保密性;因而可为用户赋予对某些健康信息予以保护或者以其他方式不与某些、任何或者所有第三方应用程序(甚至是最初将该健康信息提供至第一方进程的第三方应用程序)共享某些健康信息的能力。因而,可指示每个第三方应用程序请求授权,以用于从数据交换访问特定的(或者所有的)数据类型。
在一些示例中,在第三方应用程序请求授权对用户信息的一个或多个数据类型进行访问时,第一方进程可被配置为掩盖用户是否已许可授权请求。换句话讲,第三方应用程序可无法识别出用户是否许可授权或者用户是否尚未输入该数据类型的数据。在一些示例中,可通过在任一种情况下提供相同的响应(例如,空结果或零结果)来实施该掩盖。即,第一方进程可向第三方应用程序授权被提供至用户的请求,并且不指示用户的响应。因此,如果用户尚未提供体重数据类型的数据输入,则第三方应用程序在尝试检索该数据类型时可接收到零结果。类似地,如果用户已提供其体重但还未授权对第三方应用程序的访问,则在用户体重被请求时,第一方进程也可提供零结果或空结果(尽管该数据类型的数据条目存在)。
在其他示例中,第三方应用程序可能够订阅某些数据类型,并且第一方进程可被配置为自动唤醒第三方应用程序(例如,在后台中),并确保第三方应用程序能够处理该数据。例如,用户的第三方应用程序可订阅血压数据类型并指示相关联的订阅频率。至少部分地基于该频率,当第一方进程接收到新的血液读数时,该进程可唤醒具有该新数据的适当的第三方应用程序后台,并向其提供更新的数据。该进程然后等待第三方应用程序已处理该数据的确认。如果该进程没有在指定时间内接收到该确认,则该进程可再次启动该第三方应用程序,提供数据并等待确认。以这种方式,该进程可确保即使用户尚未明确对其进行请求,但该第三方应用程序仍然接收到该数据。
在至少一些方面中,可利用插件框架来实施最初可用于第一方进程和/或经注册的第三方应用程序的数据类型。插件框架中的插件可注册附有不同标识符的新数据类型,因而它们可将自身的数据自动存储在数据库中。在一些示例中,可将插件实施为可利用标识符和/或与数据类型相关联的字符串来读取应用编程接口(API)方法调用的代码。此外,服务提供方可通过利用资产下载来实现最初未利用第一方进程所提供的对新数据类型的添加(例如,按需)。因而,服务提供方可识别由用户/开发者正在请求的、最初未在第一方框架内实施的一个或多个数据类型。服务提供方可发布有关该新数据类型和/或如何对其加以使用的信息。此外,服务提供方可向用户设备提供由第一方进程要解释的数据。一旦被解释并向该进程进行注册,便可利用该插件来实施这些新数据类型。
在其他示例中,多个不同的第三方应用程序(例如,每个第三方应用程序与数据收集设备进行通信)可向第一方进程提供用户数据。例如,步数计数器可向相关联的第三方应用程序提供数据。该第三方应用程序可向第一方进程提供步数信息。此外,用户可利用也向不同的第三方应用程序提供有关该用户的步数信息的第二类型的数据收集设备。在这种情况下,可使得用户能够向该进程提供优先权信息,使得该进程能够以一种有意义的方式聚合来自两个来源的步数信息。可从统计学角度聚合该数据(例如,用于确定用户实际走的步数),和/或可通过聚合该数据来提供帮助用户使其所走的步数可视化的用户界面(UI)。在一些情况下,优先权信息可在同一时间点具有多个数据条目时识别要使用的数据(例如,来自哪个来源)。在一些示例中,当在累积数据中存在重叠时(例如,所走的步数具有累积性,因为可对其求和而得到总数),可呈现具有最高优先权的来源。在其他示例中,可收集离散数据并通过对每一时间点显示多个不同数据条目的方式来对该数据进行呈现。例如,体重就是离散数据类型的一个示例,因为不会对一个人在一天中的体重进行求和以确定总体重。
图1示出了描绘被配置为实施第一方应用程序框架104的用户设备102的简化架构图100。如上文指出的,第一方应用程序框架104可被配置作为用于管理多个数据收集设备的用户数据的应用程序框架。尽管在本公开中的大部分情况下均采用健康数据作为示例,但是可通过第一方应用程序框架104来管理可被收集或者以其他方式提供的有关用户的任何类型的数据。在一些示例中,由于第一方应用程序框架104是由用户设备102的开发者和/或其相关联的O/S提供或者以其他方式控制的,因此可认为第一方应用程序框架104是完全有权访问所有用户数据的受信任的框架。在一些示例中,可利用由用户设备102执行的一个或多个进程来对第一方应用程序框架104进行配置。例如,可在后台中执行第一方进程106,使得用户觉察不到其正在运行。以这种方式,第一方应用程序框架104可能够随时根据需求来对用户数据进行管理,而又不会对用户设备102的日常使用造成干扰。此外,以这种方式,第一方应用程序框架104可能够与一个或多个第三方应用程序108进行通信,其同样不会打断用户对用户设备102的使用。
在一些示例中,第一方进程106可被配置为经由用户设备102的数据库109来管理(例如,存储、检索、加密等)用户数据。作为第一方应用程序框架104的部分,可将数据库109划分成或者以其他方式在逻辑上分为多个种类的数据存储库。例如,可将用户数据存储在A类数据存储库110、B类数据存储库112、C类数据存储库114和/或D类数据存储库中的至少一者中。在一些示例中,A类数据存储库110可被配置为存储个人可识别用户信息(例如,个人健康、健身数据或活动数据)。在一些示例中,在用户设备102未被锁定时,该数据仅对第三方应用程序108是可用的。仅作为示例,在与用户设备102相关联的用户正确地输入了其用户标识符(ID)和口令之后(例如,在登录锁定屏幕和/或对其进行解锁时),用户设备102可被解锁。在一些方面中,B类数据存储库112可被配置为存储“日志”类型数据。日志数据可包括但不限于个人可识别用户信息和/或与一个或多个数据收集设备和/或第三方应用程序108的使用相关联的其他量度。在用户设备102被锁定时,B类数据存储库112的日志数据对第三方应用程序108而言可为不可访问的。然而,在一些示例中,第一方进程106可在设备被锁住时从B类数据存储库112读取或者向其写入来自数据收集设备或应用程序(例如,第三方应用程序108)的数据,只要第一方进程106处于运行状态即可。然而,如果第一方进程106在从B类数据存储库112读取数据或者以其他方式向其写入数据的进程中发生故障或者变为非运行状态,则该数据可变为永久不可访问的,并且不可向B类数据存储库112写入新数据,直到重新启动第一方进程106和/或第三方进程108的新会话。以这种方式,B类数据存储库的数据保持能够被安全地访问,因为在活动会话期间在从第三方应用程序108接收数据时,B类存储区内的数据仅能够被第一方进程106所访问,并且其他应用程序可读取该数据。
在一些方面中,C类数据存储库114可被配置为存储与对用户的健康数据、健身数据和/或活动数据的管理相关联的元数据。在一些情况下,该元数据可以是只有在用户设备102首次解锁之后才可访问的。因而,如果用户设备102(至少部分地基于软件问题或者电池电量的损失)重新启动,则该数据可变得不可用,直到用户进行至少一次解锁。在一些方面中,这样做可避免越狱或者其他黑客技术对该数据进行访问。被存储在C类数据存储库114中的元数据可包括订阅信息、访问许可信息和/或安全元数据,但是在一些示例中,可不识别任何健康信息(例如,被存储在A类数据存储库110中的数据)或可不与之直接相关联。D类数据存储库116可被配置为存储由用户提供的自由格式(例如,非结构化)信息。在一些示例中,这可以是健康数据;然而其可以是不可更新的和/或不可链接至任何第三方应用程序(例如,第三方应用程序108)或数据收集设备。D类数据可始终对第一方进程106和/或第三方应用程序108可用。在一些方面中,可使用来自第三方应用程序108和/或一个或多个其他应用程序或进程的信息来预先填充D类数据。然而,用户可能够在其认为适当时输入附加数据、更新数据、包含不正确的数据、或者以其他方式对D类数据存储库116内的信息进行配置。在不需要任何人(例如,用户)登录或者以其他方式对用户设备102进行解锁的情况下,D类数据便可能够在用户设备102的锁定屏幕上获得。以这种方式,用户设备102的锁定屏幕或者另一可访问屏幕可与医疗ID手环类似。在一些情况下,锁定屏幕上的紧急图标或者其他功能可使得D类数据能够根据请求而被显示或呈现,从而使任何人(例如,急救技术人员等)都能看到。此外,在一些方面中,第三方应用程序108可无权访问D类数据,其部分原因在于D类数据为非结构化数据,第三方应用程序108将难以对其进行处理。
图2示出了描绘与第一方应用程序框架104相关联的附加具体实施以及可如何通过第一方进程106和/或一个或多个不同的第三方应用程序202,204,206(例如,第三方应用程序108)来对被存储在数据库109中的用户数据进行访问的简化架构图200。在一些示例中,如上文指出的,数据库109可允许第一方进程106和/或第三方应用程序202,204,206将健康数据和医疗数据写入到数据库109内并重新将其读出。在各个方面中,不只是第一方进程106,第三方应用程序202,204,206实际上也可利用数据来对数据库109进行填充。因此,第一方应用程序框架104可被配置为在应用程序之间充当数据交换。
数据库109可被配置为存储各种不同数据类型的数据。例如,数据库109可存储与数据类型A 208和/或数据类型B 210对应的数据。在一些示例中,某些数据类型可仅由某些应用程序访问。因此,某些数据类型可仅被某些应用程序读取,这些数据类型不可被其他应用程序访问,然而却完全可被又一些应用程序访问。数据库109可被配置为至少存储以下数据类型:体重、步数、血压、心率、烟草、葡萄糖水平或者本文描述的其他数据类型等等。在一个非限制性示例中,第一方进程106可对数据类型A 208和数据类型B 210两者进行读取和写入访问。然而,第三方应用程序204可仅对数据类型B 210进行写入访问。此外,第三方应用程序202可仅能够读取数据类型A 208,与此同时,其可对数据类型B 210进行读取访问和写入访问两者。此外,在一些示例中,第三方应用程序206可仅能够读取数据类型B 210。然而,用户和/或第一方进程106可对这些示例中的任何示例进行更新、更改、或以其他方式进行配置。如所指出的,可将识别哪种应用程序对哪种数据类型具有哪种类型的访问的元数据被存储在图1的C类数据存储库114中。
图3示出了用于实施对来自外部来源的个人信息的管理的示例性架构300,该外部来源包括图1的用户设备102以及数据收集设备302和一个或多个服务提供方计算机304。在一些示例中,可经由一个或多个网络308和/或312(例如,经由蓝牙、WiFi等)来连接该设备。在架构300中,一个或多个用户可利用用户设备102经由一个或多个网络312来管理、控制或以其他方式利用一个或多个数据收集设备302。
在一些示例中,网络308,312可包括许多不同类型的网络中的任一网络或它们的组合,该网络诸如有线网络、互联网、无线网络、蜂窝网络、卫星网络、其他私有和/或公共网络、或它们的任何组合。尽管所示的示例表示用户102经由网络308来访问服务提供方计算机304,但是所描述的技术同样可应用于其中用户设备102经由陆上线路电话、经由公共电话亭或者通过任何其他方式与服务提供方计算机304进行交互的情况。还应当指出,所描述的技术可被应用于其他客户端/服务器布置中,以及非客户端/服务器布置(例如,本地存储应用程序、对等配置等)中。
如上文所指出的,用户设备102可被配置为管理数据交换,以用于从数据库109读取用户数据和/或向数据库109写入用户数据,以及用于在一个或多个授权的第三方应用程序之间共享用户数据。在一些示例中,数据收集设备302可被配置为将用户的健康数据、健身数据、活动数据和/或医疗数据提供至第三方应用程序(或进程)。继而可经由被配置为实施图1的第一方应用程序框架104的第一方框架模块313来对该数据进行共享、聚合、和/或访问。用户设备102可以是任何类型的计算设备,诸如但不限于移动电话、智能电话、个人数字助理(PDA)、个人计算机(例如,膝上型或台式)、瘦客户端设备、平板电脑、电子书阅读器、可佩戴设备等。在一些示例中,用户设备102可经由网络308,312或者经由其他网络连接来与服务提供方计算机304和/或数据收集设备302进行通信。
在一种示例性配置中,用户设备102可包括至少一个存储器314、以及一个或多个处理单元(或处理器)316。可酌情通过硬件、软件(例如,计算机可执行指令、固件等)或它们的组合来实施一个或多个处理器316。一个或多个处理器316的计算机可执行指令或固件具体实施可包括通过任何适当的编程语言编写的用于执行所描述的各种功能的机器可执行指令。用户设备102还可包括地理定位设备(例如,全球定位系统(GPS)设备等),以用于提供和/或记录与用户设备102相关联的地理位置信息。
存储器314可存储在一个或多个处理器316上可加载并且可执行的程序指令、以及在这些程序的执行期间生成的数据。根据用户设备102的配置和类型,存储器314可以是易失性的(例如,随机存取存储器(RAM))和/或非易失性的(例如,只读存储器(ROM)、闪存存储器等)。用户设备102还可包括附加可拆卸存储装置和/或不可拆卸存储装置,其包括但不限于磁存储装置、光盘等。磁盘驱动器及其相关联的非暂态计算机可读介质可提供对计算机可读指令、程序模块、数据结构、以及针对计算设备的其他数据的非易失性存储。在一些具体实施中,存储器314可包括多种不同类型的存储器,诸如RAM、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、或ROM。尽管可将本文描述的易失性存储器称为RAM,但是任何易失性存储器(例如,一旦从主机和/或电源上拔掉便不保持被存储于其中的数据)均可为合适的。
存储器314和附加存储装置326(可拆卸的和不可拆卸的均包括在内)全部都是非暂态计算机可读存储介质的示例。例如,非暂态计算机可读存储介质可包括通过任何用于存储信息(诸如,计算机可读指令、数据结构、程序模块或其他数据)的方法或技术实施的易失性介质或非易失性介质、可拆卸介质或不可拆卸介质。存储器314和附加存储装置326全部都是非暂态计算机存储介质的示例。可能存在于用户设备102中的其他类型的计算机存储介质可包括但不限于相变RAM(PRAM)、SRAM、电可擦除可编程只读存储器(EEPROM)、闪存存储器、光盘只读存储器(CD-ROM)、数字视频光盘(DVD)、盒式磁带或磁带、磁盘存储装置或者可用于存储期望的信息并且可被用户设备102访问的任何其他介质。上述任意组合也应被包括在非暂态计算机可读介质的范围内。另选地,计算机可读通信介质可包括计算机可读指令、程序模块或者在数据信号诸如载波或其他传输内传输的其他数据。然而,如本文所用,计算机可读存储介质不包括计算机可读通信介质。
用户设备102还可包含允许用户设备102经由网络308,312与数据存储库(例如,数据库109)或另一计算设备进行通信的一个或多个通信连接328。用户设备102还可包括一个或多个I/O设备330,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器等。
现在更加详细地转向存储器314的内容,存储器314可包括操作系统332、和/或用于实施本文所公开的特征结构的一个或多个程序或服务,该特征结构包括授权模块334、后台模块336、扩展模块338和/或聚合模块340。在一些示例中,授权模块334可被配置为管理来自第三方应用程序的对访问被存储在数据库109中的用户数据(例如,图1的A类数据)的授权请求。授权模块334还可被配置为在用户拒绝对特定数据类型的第三方应用程序进行授权时进行掩盖。以这种方式,第三方应用程序可能无法至少部分地基于该否认来推断有关用户的任何事情。后台模块336可被配置为将第三方应用程序作为后台进程进行启动和/或重新启动。在一些示例中,后台模块336还可被配置为验证第三方应用程序已结束对其所请求的数据的处理,验证方式是在后台中持续地重新启动第三方应用程序,直到接收到第三方应用程序已完成处理的通知。扩展模块338可被配置为处理向第一方框架模块所作的对新数据类型的注册,以便扩展图1的第一方应用程序框架104的功能。此外,聚合模块340可被配置为聚合或者以其他方式组合从多个不同数据源接收的用户数据(并且在一些示例中提供对该用户数据的呈现)。
服务提供方计算机304可以是任何类型的计算设备,诸如但不限于移动电话、智能电话、PDA、个人计算机、瘦客户端设备、平板电脑、电子书阅读器、可佩戴设备等。在一些示例中,服务提供方计算机304可经由网络308,312或者经由其他网络连接来与用户设备102和/或数据收集设备302进行通信。
在一种示例性配置中,服务提供方计算机304可包括至少一个存储器342、以及一个或多个处理单元(或一个或多个处理器)344。一个或多个处理器344可酌情以硬件、计算机可执行指令、固件或它们的组合来实施。一个或多个处理器344的计算机可执行指令或固件具体实施可包括以任何适当的编程语言编写的用于执行所描述的各种功能的计算机可执行指令或机器可执行指令。
该存储器342可存储在一个或多处理器344上可加载且可执行的程序指令、以及在这些程序的执行期间生成的数据。根据服务提供方计算机304的配置和类型,存储器342可以是易失性的(诸如,RAM)和/或非易失性的(诸如,ROM、闪存存储器等)。服务提供方计算机304还可包括附加可拆卸存储装置和/或不可拆卸存储装置346,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器和其相关联的非暂态计算机可读介质可为计算设备提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。在一些具体实施中,存储器342可包括多种不同类型的存储器,诸如SRAM、DRAM或ROM。尽管可将本文描述的易失性存储器称为RAM,但是任何易失性存储器(一旦从主机和/或电源上拔便不保持存储在其内的数据)将为合适的。存储器342和附加存储装置346(可拆卸的和不可拆卸的均包括在内)为非暂态计算机可读存储介质的全部示例。
服务提供方计算机304还可包含允许服务提供方计算机304经由网络308,312与数据存储库(例如,用户设备102的数据库109或另一数据库)或另一计算设备进行通信的一个或多个通信连接348。服务提供方计算机304还可包括一个或多个I/O设备350。
现在来更加详细地考虑存储器342的内容,该存储器342可包括操作系统352和/或用于实施本文公开的包括资产上载模块354的特征结构的一个或多个应用程序或服务。在一些示例中,资产上载模块354可被配置为管理移动资产,和/或制备或以其他方式生成用于使得用户设备102和/或第一方框架模块313能够扩展最初在图1的第一方应用程序框架104内配置的数据类型的信息。例如,资产上载模块354可被配置为识别一种或多种新数据类型并生成要提供至用户设备102以用于注册或者以其他方式实行新数据类型的数据。
图4示出了用于描述如本文所述的对来自数据收集设备的用户数据进行管理的附加特征的示例性流程图400。在至少一个非限制性示例中,可至少部分地通过上文参考图3描述的授权模块334来实施流程400。因而,流程400可以是从驻留在图1的用户设备102上的第一方进程106的角度进行的。可在第一方进程106和图1的第三方应用程序108之间或者在第一方进程106和图2的第三方应用程序202,204,206中的任一第三方应用程序或任何其他应用程序之间进行通信。在一些示例中,第一方进程106可从第三方应用程序108接收请求402。该请求可以是识别第三方应用程序是否请求针对特定数据类型的授权的尝试。例如,第三方应用程序可能想要了解其是否已从第一方进程106请求对血糖水平或体重的授权。在404处,第一方进程106可以“是”或“否”作出应答。
在一些示例中,如果第三方应用程序108已请求针对特定数据类型的授权,则该第三方应用程序可在此处结束。此外,在一些示例中,402处的请求可以是针对所有数据类型的,其与特定数据类型相反。在其他示例中,如果第三方应用程序108尚未请求针对一种、一些或者所有数据类型的授权,则第一方进程106可接收授权请求406。如上文所指出的,授权请求可以是一组数据类型、所有可获得的数据类型(例如,以限制这些请求406的数量)、或者特定的数据类型。一旦被第一方进程106接收到,第一方进程106便可将该请求转发给用户设备102的用户(例如,经由被提供至用户的UI)。在410处,第一方进程106可从用户接收用于指示用户是否已对访问该第三方应用程序108进行授权的响应。对于每个数据类型和/或每个第三方应用程序而言,该应答可以是不同的。例如,如图3中所指出的,每个应用程序可具有针对不同数据类型的不同访问限制。不管用户在410处对数据授权请求406作出的应答是“是”还是“否”,第一方进程106均可向第一方进程106提供用于指示第一方进程106已向用户提供数据授权请求408的响应412。在一些示例中,该响应412可以是简单的“好的,已完成”响应,或者可以是指示已完成该步骤的任何其他响应。然而,响应412可不指示用户是否已对访问作出授权。以这种方式,对第三方应用程序108掩盖授权许可或否认。对访问该特定数据类型的未来请求414(例如,被否认访问授权的请求)可接收到空结果或零结果416。此外,在数据值不存在时,即使许可访问授权,针对该数据类型的未来请求414也将在416处接收到空结果或零结果。还可设想针对写入请求的类似流程;然而,在不许可写入访问授权时,第一方进程106可提供第三方应用程序108尝试写入的最后一组数据。因此,第三方应用程序108可能无法确定读取授权请求何时被否认或者写入授权请求何时被否认。
图5示出了用于演示对于不同情形而言的由图1的第一方进程106提供至第三方应用程序的样本结果的值的示例性表格500。例如,在表格500中,对于每行而言,第一列表示数据类型502,第二列表示针对从第三方应用程序接收的(或者由用户输入的)数据类型的值504,下一列表示授权请求是否被发送506,第四列表示用户是否批准该授权508,并且最后一列表示将至少部分地基于其他列的值而被提供至请求第三方应用程序510的示例性结果。
在一个非限制性示例中,行512可表示“心率”数据类型的情形。在该示例中,用户的心率被记录为每分钟78次搏动,并且请求应用程序可能已提供授权请求。这里,用户已准授权请求;这样,被提供至请求应用程序的结果将与值78匹配。即使在请求该数据值的应用程序不是将该数据值提供至第一方进程106的应用程序时也是这种情况。在另一个示例中,行514可表示针对“葡萄糖”水平数据类型的情形。在该示例中,可能尚未记录用户的葡萄糖水平。因此,尽管已发送并批准授权请求,但却没有可得的结果;这样,将向该应用程序提供空结果。在行516处,描绘与行512中所示的类似情形,只是其针对的是“体重”数据类型。这里,将该数据存储库中的值提供至请求应用程序。在行518处,“步数”(例如,每分钟的步数)数据类型示出了数据值82。然而,由于请求应用程序没有提交任何授权请求,因此不存在批准或否认;这样,如果请求应用程序尝试请求该数据类型,则将向该请求应用程序返回错误。此外,行520示出了可指示用户是否是吸烟者的“烟草”数据类型,如果是,则每天又吸多少支烟(或者其他可量化的量度)。在一些示例中,值“5”可指示用户是吸烟者,并且每天吸五支烟,而值“0”则可指示用户是非吸烟者。这里,该数据值指示用户是吸烟者,并且表格500指示该应用程序已请求访问授权。然而,用户已否认对该数据类型的授权请求(例如,可因为这个人健康信息不是用户想要与第三方应用程序共享的内容)。这样,尽管在数据存储库内存在数据结果,但是被提供至请求应用程序的结果还是可与不存在任何值时相同。即,在否认了授权时,结果可为空。以这种方式,可通过向请求应用程序发出的响应的类型来掩盖授权请求的否认和批准。
图6和图7示出了例示根据至少若干个实施方案的用于管理来自外部来源的个人信息的进程500和600的示例性流程图。这些进程以及本文描述的任何其他进程被图解为逻辑流程图,其中的每个操作表示可通过硬件、计算机指令或它们的组合实施的操作的序列。在计算机指令的上下文中,操作可表示被存储在一个或多个非暂态计算机可读存储介质上的计算机可执行指令,该计算机可执行指令当由一个或多个处理器执行时执行所阐述的操作。一般来讲,计算机可执行指令包括执行特定功能或者实施特定数据类型的例程、程序、对象、部件、数据结构等。操作的描述顺序并非意在被解释为构成限制,并且可以任何顺序和/或并行地对所描述的操作进行组合,以实施该进程。
此外,可在利用特定可执行指令进行配置的一个或多个计算机系统的控制下执行本文描述的一些、任何或者所有进程,并且可将所述进程实施为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序、或者一个或多个应用程序),或者可由硬件来实施该进程,或者利用它们的组合。如上文所指出的,可将代码以(例如)包含可由一个或多个处理器执行的多条指令的计算机程序的形式存储在非暂态计算机可读存储介质上。
在一些示例中,用户设备102(例如,至少利用在图3所示的授权模块334)可执行图6的进程600。进程600可开始于602处,其包括接收与多个不同数据类型的子集相关联的用户健康信息。在一些示例中,这可包括接收健康数据的与单个数据类型对应的单个数据条目,或者健康数据的各自与单个数据类型对应的一组数据条目。此外,在一些情况下,健康信息可从用户设备102的一个或多个应用程序(例如,第三方应用程序或第一方应用程序)接收,并且最初可由数据收集设备收集。在604处,进程600可包括将用户的健康信息存储在安全存储设备中。例如,健康信息可被存储在数据库中,该数据库被配置为至少部分地基于可配置设置、请求应用程序和/或所请求的数据类型来限制对特定应用程序的数据的访问。在一些情况下,进程600可包括在606处从第一应用程序接收对访问数据类型的授权请求。进程600还可包括在608处向第一应用程序提供该授权请求被提供至用户的指示。
在610处,进程600可包括接收对与数据类型对应的健康信息的请求。该请求可从第一应用程序接收。在612处,进程600还可包括在用户尚未对访问进行授权时向第一应用程序提供空结果。以这种方式,在事实是用户否认该授权请求的情况下,使第一应用程序意识不到这一点。换句话讲,第一应用程序将无从知道该授权请求是否被否认或者在该数据类型的数据存储库中是否不存在数据值。此外,在一些示例中,进程600可包括在614处接收对访问数据类型的另一授权请求。该请求可从第二应用程序接收。在616处,进程600可包括接收针对第二应用程序的用于访问同一数据类型的授权许可。在一些方面中,进程600可在618处结束,其中可向第二应用程序提供与向第一应用程序给出的指示相同的指示。即,在未提供过该数据类型的信息(例如,值)时向第一应用程序提供的结果(例如,空结果)可与在提供数据值但是未许可授权时向第二应用程序提供的结果相同。
图7示出了根据至少若干个实施方案的用于管理来自外部来源的个人信息的另一进程700。在一些示例中,用户设备102(例如,至少利用在图3所示的授权模块334)可执行图7的进程700。进程700可开始于702处,其包括将与用户相关联的信息存储在数据存储库中。在一些示例中,该信息可以是从数据收集装置(例如,WiFi温度计、标度、心率监测器等)收集的健康信息、健身信息、活动信息和/或医疗信息。在704处,进程700可包括接收对访问该信息的第一请求。该第一请求可从由用户设备102执行的应用程序接收。第一请求也可以是访问授权请求(例如,请求对信息的访问)。在一些示例中,进程700还可包括在706处从应用程序接收第二请求。该第二请求可以是访问请求,对其的响应可取决于用户许可还是否认了第一请求。进程700可包括在708处在用户批准第一请求时向应用程序提供信息。即,如果用户已批准访问授权请求,则在应用程序请求改信息时,进程700可提供该信息。然而,在其他示例中,进程700可结束于710处,其中可至少响应于第二请求(例如,访问请求)来掩盖对第一请求(例如,授权请求)的否认。
图8示出了用于实施来自外部来源的个人信息的管理的附加特征的另一示例性架构800,其描绘了图1的用户设备102、第一方应用程序框架104和第一方进程106。如上所述,在一些示例中,一个或多个第三方应用程序(例如,第三方源应用程序802和/或第三方应用程序804)可与第一方应用程序框架104和/或第一方进程106进行通信,以用于提供由数据收集设备806收集的用户信息。在一些示例中,数据收集设备806可以是被配置为收集有关用户的活动信息、健康信息、医疗信息和/或健身信息的任何可佩戴设备或移动设备。然后可经由一个或多个网络808来将该信息提供至第三方应用程序中的一个第三方应用程序(例如,在该示例中为第三方源应用程序802)。一旦第三方源应用程序802接收到该信息,便可将其提供至第一方进程106,以用于存储在数据库109中。
在至少一个非限制性示例中,第三方应用程序804可被配置为订阅被存储在数据库109内的一种或多种数据类型的用户信息。第三方应用程序804还可包括与每次订阅对应的频率。在一些示例中,每次订阅可与不同数据类型相关联,并且具有其自身的相关联的频率。例如,第三方应用程序804可以“每天”频率来订阅“体重”数据类型,并且还可以“即时”频率来订阅“血糖水平”数据类型。这样,在一些示例中,在发生至少部分地基于订阅的某些操作时,第一方进程106可在后台中启动第三方应用程序804,并且可在启动第三方应用程序804的同时向其提供数据。例如,每当第三方源应用程序802提供新的血糖读数(假设数据收集设备806收集并提供此类数据),第一方进程106便可自动启动第三方应用程序804,使其能够请求新读数,并且然后至少部分地基于该请求来向第三方应用程序804提供数据。在这种情形中,在新血糖读数被接收到之后,第三方应用程序804几乎立即被启动(例如,大约在1秒钟内),因为订阅频率被设定为“即时”,因此几乎立即提供该数据(例如,新的血糖读数)。作为另外一种选择,如果新读数为体重,则在一天结束之前可不启动第三方应用程序804(并且不提供该数据),直到一天的结束至少部分地基于订阅而被设定为“每天”。
在一些情况下,第三方应用程序804可接收新的读数(例如,上文指出的血糖读数),并开始处理数据810。尽管处理810对于第一方进程106可为不可知的(例如,第一方进程106可不知道正在对该数据读数进行哪些处理810),但是第一方进程106可被配置为查询或以其他方式轮询事务完成确认812。在一些示例中,如果在特定的时间段内未接收到该事务完成确认812,则第一方进程106可重新启动第三方应用程序804,直到接收到确认812。在其他示例中,第一方进程106还可被配置为在正运行于后台中的第三方应用程序804崩溃的情况下重新启动第三方应用程序804。换句话讲,第一方进程106可被配置为在后台中反复重新启动第三方应用程序804,直到接收到确认810,从而确保第三方应用程序804能够完成其处理810。以这种方式,可至少部分地基于订阅来将虚拟服务水平协议(SLA)提供至第三方应用程序。
在一些情况下,可至少部分地基于数据的类型和/或与数据相关联的历史频率来自动确定频率。例如,体重数据一般不会在一天内改变太多,因而可将频率自动设定为每天。作为另外一种选择,血糖水平可能在几分钟内发生急剧变化,并且可能造成生命威胁。因而,可将对血糖水平的订阅频率自动设为“即时”或者“每分钟”。此外,在一些示例中,在每次重新启动之间可改变第一方进程106在后台中对第三方应用程序804进行重新启动之前等待的时间量。例如,第一方进程106可基于初始的新血糖读数来在后台中启动第三方应用程序804(例如,使用上文的示例),并等待2分钟使第三方应用程序804提供确认812。如果在两分钟的周期内没有接收到确认812,则第一方进程106可重新启动第三方应用程序804并等待第二时间段。在一些情况下,第一方进程106等待的时间段可随着每次重新启动而增加。可使用指数补偿函数来确定每次重新启动之间的等待周期。例如,如果第一等待周期为两分钟,则第二等待周期可为四分钟,之后是八分钟,依次类推。如果一天(或者24小时的周期)结束而未接收到确认812,则第一方进程106可通过每周期等待两分钟而开始循环或者其可切换为等待更加一致的时间段(例如,每天对第三方应用程序804重新启动一次)。一旦接收到确认,第一方进程106便可停止对第三方应用程序804的重新启动。然而,如果从未接收到确认,则第一方进程106可继续重新启动并等待确认812,直到最终接收到对所请求的数据的处理810完成的确认812。对于某些第三方应用程序而言,该持续的重新启动可能挽救用户的生命。
在一些情况下,第一方进程106可被配置为在用户设备102被锁定时不向第三方应用程序804提供活动数据和/或健康数据(例如,如果该数据被存储在A类数据存储库110中)。该配置可至少部分地基于私密性和/或安全限制。因此,如果设备102被锁定,则订阅某些数据类型的一些第三方应用程序804可无法接收到数据(通常因为大部分健康数据和/或活动数据被存储在A类数据存储库110中)。即使第三方应用程序804能够被重新启动,第一方进程106也可能无法发送数据。然而,在一些情况下,当第三方应用程序订阅数据类型时,可转而将对应的数据存储在C类数据存储库114中,这样即使用户设备102被锁定也可提供该数据。一旦接收到对已完成的事务812的确认,第一方进程106便可从C类数据存储库114去除或删除对应的数据,和/或将对应的数据移到A类数据存储库110。另选地或除此之外,如果对应的数据被存储在A类数据存储库110中并且用户设备102被锁定,则可在锁定屏幕上提供通知或提示,以指示该数据正在等待被发送至第三方应用程序802,但是不能发送该数据,直到设备102被解锁。一旦被解锁,设备102便可提供来自A类数据存储库110的对应数据。
图9和图10示出了例示根据至少若干个实施方案的用于管理来自外部来源的个人信息的进程900和1000的示例性流程图。在一些示例中,用户设备102(例如,至少利用图3所示的后台模块336)可执行图9的进程900。进程900可开始于902处,其包括保持被配置为存储与多个数据类型对应的健康数据的安全存储设备。在一些示例中,安全数据存储库可被配置为与上文参考图1描述的数据库109类似(例如包括A类、B类、C类和/或D类数据类型)。在904处,进程900可包括从第三方应用程序接收对数据类型的订阅、以及订阅频率。进程900还可包括在906处接收与该数据类型对应的健康数据的一部分。例如,图1的第一方进程106可接收用户的体重数据、心率信息等。在908处,进程900可包括至少部分地基于与订阅相关联的频率来在后台中启动第三方应用程序。此外,在一些示例中,进程900可包括在910处设置在一定时间段内在后台中对第三方应用程序进行重新启动的触发器。如所指出的,时间段是可配置的(例如,可由第一方进程106、第三方应用程序和/或用户进行配置),和/或可使用指数补偿算法或者其他系统地改变重新启动之间的时间段的方法来实施。在一些示例中,触发器可对应于时间段和/或事件(例如,对上文描述的确认的接收)。此外,设置触发器可包括识别触发事件(例如,对确认的接收或者对时间段的轮询)。在912处,进程900可包括确定是否接收到对第三方应用程序处理的确认。如果接收到该确认,则进程900可在914处结束,其中进程900可取消该触发器(例如,使用于搜索要结束的时间段或者所要接收的确认的轮询环闭合)。作为另外一种选择,在未接收到确认的情况下,进程900可在916处结束,其中进程900可在后台中重新启动第三方应用程序并继续等待确认。
图10示出了根据至少若干个实施方案的用于管理来自外部来源的个人信息的另一进程1000。在一些示例中,用户设备102(例如,至少利用图3所示的后台模块336)可执行图10的进程1000。进程1000可开始于1002处,其包括存储用户的多个数据类型的第一数据。在1004处,进程1000可包括从第一应用接收对多个数据类型中的一个数据类型的订阅。进程1000还可包括在1006处从第二应用程序接收多个数据类型的第二数据。此外,在一些示例中,在1008处,进程1000可包括当订阅与第二数据匹配时在第一时间段之后在后台中启动第一应用程序。在1010处,当在第二时间段期间未从第一应用程序接收到任何处理确认时,进程1000可通过在第二时间段之后在后台中重新启动第一应用程度而结束。
图11示出了用于实施来自外部来源的个人信息的管理的附加特征的另一示例性架构1100,其描绘了图1的用户设备102、第一方应用程序框架104和第一方进程106。在一些示例中,如上文所指出的,一个或多个服务提供方计算机304可与第一方应用程序框架104和/或第一方进程106进行通信,以用于提供用于扩展第一方应用程序框架104的功能的一项或多项资产下载1102。换句话讲,将扩展框架构建到第一方应用程序框架104中,以扩展最初包含第一方应用程序框架104的数据类型的列表,以在需要时包括新数据类型。例如,如果市面上发布了新的产品(例如,新的数据收集设备),而第一方应用程序框架104不包括用于管理由该新设备收集的数据的数据类型(例如,快步走分钟数),则扩展框架将能够使该新数据类型能够在软件版本之间(例如,在用户设备102的软件代码更新之间)被添加到第一方应用程序框架104。以这种方式,可在不等待用户设备102的下一O/S版本的情况下添加、管理和/或利用新数据类型。
在一些示例中,第三方应用程序可使用包括标识符的API方法来请求样本类型。该标识符可以是可被预定义到和/或融入到针对现有数据类型的代码中的字符串。然而,在一些示例中,一旦通过资产下载1102得以实施并进行公布,便可利用新的字符串来对新数据类型进行读取和/或写入。此外,一旦得以实施,任何应用程序(例如,第三方应用程序和/或第一方应用程序)便可利用新数据类型。资产下载1102还可包括有关新数据类型的附加信息,但不限于它是什么类型(例如,累积或离散)、应当使用什么字符串、标识符、有关显示的元数据、描述等。
此外,在一些情况下,第一方进程106可具有加载插件的能力。第一方进程106可在一个或多个特定目录中寻找插件,并且插件可被配置为能够实现第一方进程106的行为的改变。例如,插件可至少部分地基于安装插件的设备来实现不同的行为改变。在一些情况下,插件可被用于建立行为的差异(例如,使第一方进程106的行为与最初的编程的行为不同)。例如,插件可被用于使得第一方进程106能够注册通知和/或获取不同的数据。此外,在一些情况下,插件可被用于注册新数据类型,如上所述。
如上所指出的,第三方应用程序可通过实施API调用以及传送标识符和/或“种类”来请求某数据类型。该“种类”可包括该数据类型的特定类型(例如,累积、离散、或类别)。在一些情况下,可将标识符表示为经由API传送的字符串,并且可将数据类型返回至请求应用程序。如所指出的,插件可注册附有不同标识符的新数据类型,因而它们可将其自身的数据自动存储在数据库中。这样,第一方进程106可不必管理新数据类型的数据或者向数据库1104提供该新数据类型的数据。相反,插件可向被更新的数据库1106提供包含新数据类型和/或原始数据类型和新数据类型两者的数据。
在一些示例中,资产下载1102可以是可被下载至设备以提供用于扩展数据类型的适当信息的数据文件(例如,不是可执行代码),如上所述。在一些示例中,资产下载1102可包括数据类型定义更新。以这种方式,用户设备102可下载资产下载1102并使该信息在设备上可被用于供第三方应用程序访问/使用。因此,一旦被下载并被第一方进程106用于配置新数据类型,第三方应用程序便可向其写入新数据类型,并且从其读回该新数据类型。在一些示例中,用于读取和写入新数据类型的API可以是可扩展的,使得用户设备102的可执行代码不必改变,但第一方进程106可仍然支持该新数据类型。
资产下载1102可以是由服务提供方计算机304提供的,并且如上文所指出的,资产下载1102可包括新数据类型的所有信息。以这种方式,第一方进程106可利用资产下载1102中的信息来替代使用上文描述的插件(或者此外使用上文描述的插件)来注册在资产下载1102中所识别的新数据类型。服务提供方计算机304还可通过专有网络或公开网络(例如,互联网)来向网络资源公布在资产下载1102中列出的标识符。在一些情况下,如果标识符是在实施资产下载1102并且应用程序请求未向第一方进程106注册的数据类型之前公布的,则第一方进程106可返回错误(例如,“拒绝”或零结果)。
从具体实施的角度来看,利用插件来改变第一方进程106的行为与利用资产下载1102来改变第一方进程106的行为之间的一个差异在于插件是可执行代码,该可执行代码包括用于作出功能改变的合适的信息,而资产下载1102仅为数据。这样,可通过执行第一方进程106内的代码来解释资产下载1102的数据,并将其转换成实际的数据类型。甚至可在以后针对用户设备102进行软件发布之前将任何数量和/或类型的新数据类型添加至第一方应用程序框架104和/或被第一方进程106利用。在一些情况下,数据类型还可包括对数据值的分析(例如,特定数据类型的数据值对于特定用户是好的还是坏的)。该分析信息还可被包括在资产下载1102中和/或将其公布给网络资源以用于使其可被开发者和/或第三方应用程序使用。数据库1104可表示在实施资产下载1102之前该数据类型的状态(例如,具有原始数据类型),而数据库1106可表示在实施资产下载1102之后该数据类型的状态(例如,包含新数据类型)。
图12和图13示出了例示根据至少若干个实施方案的用于管理来自外部来源的个人信息的进程1200和1300的示例性流程图。在一些示例中,服务提供方计算机304(例如,至少利用在图3中所示的资产上载模块354)可执行图12的进程1200。进程1200可开始于1202处,其包括保持多个数据类型。如所指出的,数据类型可识别健康信息的类别或属性,其包括但不限于体重、葡萄糖水平、每分钟的步数、心率、行进的公里数等。在1204处,进程1200可包括使得多个数据类型的子集的第一健康信息被存储在用户设备102上。换句话讲,用户设备102可接收与单个数据类型对应的健康信息,甚至可存在多个数据类型或者多个数据类型是可能的。
在1206处,进程1200可包括识别针对与用户设备102的第三方应用程序的使用情况所请求的新数据类型。在一些示例中,这些新数据类型可被从该框架的开发者或其他用户接收的请求服务提供方计算机302所识别。在1208处,进程122可包括向用户设备102提供用于识别有关新数据类型的信息的数据(例如,移动资产)。在一些方面中,进程1200还可包括在1210处向可被公众或者至少可被第三方应用程序的开发者所访问的网络资源(例如,网页或者其他可通过网络访问的资源)公布该信息(例如,标识符、描述等)。在1212处,进程1200可包括使得用户设备102的后台进程(例如,第一方进程106)对该数据加以解释,以实施新数据类型。在1214处,进程1200可包括使得用户设备的后台进程能够管理第二健康信息(例如,与新数据类型相关联)。在一些示例中,进程1200可结束于1216处,其中服务提供方计算机可利用新数据类型来更新所保持的数据类型。换句话讲,服务提供方计算机304可对其自身的表格或数据库进行更新,以使其包括新数据类型。
图13示出了根据至少若干个实施方案的用于管理来自外部来源的个人信息的另一进程1300。在一些示例中,用户设备102(例如,至少利用在图3中所示的扩展模块334)可执行图30的进程1300。进程1300可开始于1302处,其包括接收用于实施管理第一组数据类型的后台进程的指令。在一些情况下,该第一组数据类型可至少部分地基于用户设备102和/或第一方进程106的原始图像中的数据类型。在1304处,进程1300可包括接收包括有关新数据类型的信息的数据下载。在1306处,进程1300可包括从应用程序(例如,第三方应用程序)接收对访问新数据类型的数据的请求。即,一旦实施该新数据类型,第三方应用程序便可实现包括作为参数的新数据类型的API方法调用。在一些示例中,进程1300可结束于1308处,其中第一方进程106可向请求应用程序提供与新数据类型对应的数据条目。
图14示出了用于实施来自外部来源的个人信息的管理的附加特征的另一示例性架构1400,其描绘了图1的用户设备102、第一方应用程序框架104、和第一方进程106。在一些示例中,类似于图3,一个或多个第三方应用程序(例如,第三方应用程序A 1402、和/或第三方应用程序B 1404)可与第一方应用程序框架104和/或第一方进程106进行通信,以用于分别提供由一个或多个数据收集设备(例如,数据收集设备A 1406、和/或数据收集设备B1408)收集的用户信息。在一些示例中,数据收集设备1406、1408可以是被配置为收集有关用户的活动信息、健康信息、医疗信息和/或健身信息的任何可佩戴设备或移动设备。然后,可经由一个或多个网络1410或1412来将该信息提供至第三方应用程序中的一个第三方应用程序(第三方应用程序A 1402可从数据收集设备A 1406和/或数据收集设备B 1408接收数据)。一旦第三方应用程序A 1402接收到该信息,便可将其提供至第一方进程106,以用于存储在数据库或其他存储系统中。
尽管将数据收集设备A 1406示出为经由网络1412与第三方应用程序A 1402进行通信,并且将数据收集设备B 1408示出为经由网络1412与第三方应用程序B 1404进行通信,但是应当理解,应用程序与一个或多个设备的配对的任何组合都是可能的,并且此类配对可由任何数量的不同网络连接或相同网络连接来促进。并且,当第一方进程106正在对来自多个不同应用程序和/或多个不同设备的输入数据进行管理时,第一方进程106可从用户设备102的用户请求该优先权信息。以这种方式,在多个设备1406,1408提供同一数据类型和/或同一时段的数据时,用户可提供与用户优选跟踪的数据收集设备1406,1408中的一个数据收集设备相关联的优先权信息。
例如,对于同一时段而言,第一方进程106可从数据收集设备A 1406和数据收集设备B 1408两者接收数据条目。该数据可对应于特定数据类型(例如,心率),但是各数据条目可能略有差别(例如,两个收集设备1406,1408可能没有得到相同的校准,或者一个比另一个更加灵敏)。代替跟踪两个数据条目,第一方进程106可确定跟踪该组数据条目中的仅一个数据条目。类似地,第一方进程106可确定在第一组时间内跟踪第一组数据,并且在第二组时间内跟踪另一组数据。对跟踪哪些数据条目的确定可至少部分地基于由用户设定的优先权、数据类型的类型或种类(例如,其为累积的还是离散的)、定时信息(例如,该数据是什么时候接收到的)、和/或有关该数据条目的其他信息。
此外,可跟踪来自多个来源的所有数据;然而,可仅将其中的一些数据聚合到可经由用户设备102提供或呈现给用户的数据记录中。例如,第一方应用程序框架104可被配置为实施用于呈现所收集的数据(例如,来自单个或多个数据收集设备1406,1408)和/或所聚合的数据(例如,数据记录)的UI 1414。在一些示例中,还可将数据记录提供至一个或多个请求实体(例如,第三方应用程序1402、1404中的任一个或两个第三方应用程序或者其他第三方应用程序)。该UI 1414可被配置为将所聚合的数据记录或者该数据记录的子集呈现给用户。
对于离散数据而言,该UI针对累积数据可呈现对数据的不同外观表示。这样,第一方进程106可首先识别将要提供至UI 1414的数据是离散的还是累积的。第一方进程106还可识别是否具有由用户提供的优先权信息。如果没有,则第一方进程106可至少部分地基于用户的先前配置、来自设备102的其他用户或其他设备的用户的历史信息和/或使用信息(例如,用户在特定时间使用数据收集设备1406的概率)、和/或有关各收集设备1406、1408的精确度的信息来确定优先权信息。如果存在优先权信息,则第一方进程106可使用该优先权信息来确定对于每个时间段或者对于时间段的每个时间段(例如,所收集的数据的5分钟窗口中的每一秒等)而言单个数据类型的哪个所收集的数据应当被包括在数据记录中。可经由UI 1414来对优先权信息进行配置,使得用户可对资源(例如,数据收集设备1406,1408)进行滑动、拖动或者以其他方式以虚拟形式移动,以识别优选的优先权。如所期望的,优先权信息和所接收到的数据条目可对应于任何数量的数据收集设备和/或应用程序。
可针对每个时间段来对所收集到的数据进行分段,使得以有意义的方式来对数据进行表示。例如,如果一个人每微秒所走的步数绝不会超过一,则使用微秒作为步伐的分段将很可能不会提供有意义的结果。然而,如果针对步伐的下限为半秒(例如,在某人正在跑步时)和2秒(例如,当某人正在慢走时),则对于特定的时间窗口(例如,一整天或者至少是用户清醒度过的几小时)而言针对步伐的分段应当处于0.5秒和2秒之间的某处。这样,可收集并分析每个数据类型的历史信息和/或使用信息,以自动识别合适的分段界限。在一些情况下,例如在多个数据来源提供同一分段的相同数据条目时,这样做可避免重复计数。在其他示例中,可将预定义分段用于从其他来源、设备、应用程序等收集到的每个数据类型和/或有关用户的信息。
第一方进程106和/或第一方应用程序框架104可提供API方法,以用于第三方(例如,第三方应用程序1402)检索所聚合的数据记录。以这种方式,第三方应用程序1402可能够定制对特定时间段内的和/或特定数据类型的聚合数据的请求。如所期望的,第一方进程106可通过提供包含从除请求者之外(例如,除第三方1402之外)的来源收集到的数据的聚合数据记录来对API方法调用作出响应。这可使得一个应用程序能够接收到不仅仅基于由该应用程序提供的数据的聚合的数据记录。此外,该UI 1414可被配置为将多个数据来源的累积和/或离散数据提供至用户或其他应用程序。
图15示出了图14的UI 1414内的若干个示例性UI绘图。例如,对于离散数据类型呈现1502而言,该UI 1414可被配置为将每个数据条目表示为时间曲线图上的数据点。如图所示,对于离散数据类型呈现1502而言,对于总时间段的每一段而言可具有多个数据条目。例如,用户可具有在每天、每周、每月等进程中收集用户体重的三个不同的设备。在每一段上,离散数据类型呈现1502可包括由第一方进程106从三个不同来源接收到的每个数据条目。由于体重不是在一定时间内累加的数据类型(例如,其为离散的),因此针对每一段呈现每一不同数据点将是适当的。在一些示例中,可通过突出显示来自优先化来源的数据点的线或者其他界面对象/元素来对优先化来源进行识别。这里,连接呈现1502上的方形点的线是表示优先权或者优选的数据源的方式的一个示例。
在一些示例中,在数据为累积性数据时,可对整个时间段内的数据求和或者相加。如累积数据类型呈现1504中所示的,在多个数据源提供相同时间段的数据时,可能导致双重计数的问题。例如,在时间段的前三分之一中,第一方进程106可仅从第一来源接收数据(例如,A步数)。对于累积数据类型(例如,所走的步数)而言,可将每一段处的数据条目加到一起得到总和。类似地,在时间段的后三分之一中,第一方进程106也可仅从第一来源接收数据(例如,C步数)。然而,如果在时间段的中间三分之一期间有两个来源提供步数数据,则将将B步数和α步数两者加起来将不会提供准确的总步伐计数,因为该时间段期间的步数被重复计数或者至少对来自两个不同来源的步数进行了重复计数。因而,使用从用户收集到的优先权信息,UI 1414可能够呈现逐次表示,诸如优先化累积数据类型呈现1506。在该呈现1506中,可将α步数识别为该时间段的该子集的用户的优先化数据源。因而,在该时间段的该子集内仅示出了α步数(例如,来自一个来源),同时还示出了A步数和C步数(例如,来自不同的来源)。在该呈现1506中,在该时间段内累计的总步数可以是A+α+C,这与来自累积数据类型呈现1504的A+B+α+C形成对比。
图16和图17示出了例示根据至少若干个实施方案的用于管理来自外部来源的个人信息的进程1600和1700的示例性流程图。在一些示例中,用户设备102(例如,至少利用图3所示的聚合模块340)可执行图16的进程1600。进程1600可开始于1602处,其包括对多个数据类型中的特定数据类型的识别。对特定数据类型的识别可包括识别数据类型本身(例如,步数、体重、心率等),或者识别数据类型的类型或种类(例如,累积的或者离散的)。在1604处,进程1600可包括从至少第一数据源和第二数据源接收与特定数据条目对应的健康数据。该数据源可以是第三方应用程序、其他(例如,第一方)应用程序、和/或数据收集设备。在1606处,进程1600可包括接收用于识别第一来源和第二来源的优先权的优先权信息。可经由其中用户可对图标或者其他源标识符进行虚拟上下移动以指示位置的UI来接收该优先权信息,或者可以代码或使用其他技术来完成该操作,其他技术诸如但不限于复选框、单选按钮、下拉列表、文本输入(例如,1,2,3等)等。
在1608处,进程1600可包括识别用于对健康数据进行划分的时间间隔。这些划分(又称为分段)可至少部分地基于用户信息、数据类型信息、历史、和/或使用数据等。在1610处,进程1600可包括在每一时间间隔或分段期间识别与具有最高优先权的源对应的数据条目。在一些示例中,其仅针对该段存在数据条目时适用。在1612处,进程1600可包括在聚合时间量(例如,一天、一小时等)内识别的每个数据记录。在一些情况下,进程1600可结束于1614处,其中进程1600可包括(例如,向用户)提供聚合数据记录以用于呈现。
图17示出了根据至少若干个实施方案的用于管理来自外部来源的个人信息的另一进程1700。在一些示例中,用户设备102(例如,至少利用图3所示的聚合模块340)可执行图17的进程1700。进程1700可开始于1702处,其包括从第一来源和第二来源接收特定数据类型的数据。在1704处,1700可包括识别与第一来源和第二来源相关联的优先权信息。例如,该优先权信息可指示在第一来源和第二来源两者均提供相同数据类型的数据时用户优选查看来自哪个来源的数据。在1706处,进程1700可包括在时间段内聚合所接收的数据,以形成数据记录。所聚合的数据记录可至少部分地基于优先权信息和/或用户相对于来源中的一个来源来优选(和/或使用)另一来源的概率。在1708处,进程1700可包括向第三方应用程序提供用于请求聚合数据记录的API。进程1700可结束于1710处,其中进程1700可包括向应用程序提供数据记录以用于呈现。可提供用于表示聚合数据记录的UI,诸如但不限于优先化累积数据类型呈现1506、或与其类似的对象。
上文描述了用于管理用户设备连接的示例性方法和系统。这些系统和方法中的一些或全部可至少部分地通过架构诸如上文至少在图1-图17中所示的那些架构来实施,但未必一定如此。尽管上文中的许多实施方案是相对于个人和/或健康相关信息来描述的,但是应当理解,可使用这些技术来管理任何时间的用户信息或非用户信息(例如,任何类型的数据)。此外,在上文的说明中描述了各种非限制性示例。为了解释的目的,阐述了许多具体配置和细节,以便提供对示例的彻底理解。然而,对于本领域的普通技术人员将显而易见的是,该示例可能在没有这些具体细节的情况下被实施。此外,有时省略或简化了熟知的特征,以避免模糊正被描述的示例。
还可在很宽范围的操作环境中实施各种实施方案,在一些情况下,该操作环境可包括一个或多个用户计算机、计算设备或者处理设备,它们可被用于操作多个应用程序中的任何应用程序。用户设备(例如,客户端设备)可包括任何类型的通用个人计算机,诸如但不限于运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件并且能够支持一定数量的联网和消息传输协议的蜂窝设备、无线设备、和/或手持设备。这些设备还可包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统、或者能够经由网络进行通信的其他设备。
大多数实施方案利用本领域技术人员熟悉的至少一个网络以用于支持通信,该通信可使用各种市面可得的协议中的任何协议,诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk。例如,网络可以是局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络、以及它们的任何组合。
环境可包括如上所述的各种数据存储库、以及其他存储器和存储介质。这些可驻留在各种位置中,诸如驻留在相对于计算机中的一个或多个计算机处于本地的存储介质上(和/或驻留在计算机中的一个或多个计算机中)。作为另外一种选择,存储器可跨越网络相对于任何或者所有计算机而处于远程位置。在特定一组实施方案中,该信息可存在于本领域技术人员熟悉的存储区域网络(SAN)中。类似地,可根据需要对用于执行隶属于计算机、服务器或者其他网络设备的功能的任何必要文件进行本地和/或远程存储。
该系统以及各种设备还可包括一个或多个软件应用程序、模块、服务或者位于至少一个工作存储器设备中的其他元件,包括操作系统和应用程序,诸如客户端应用程序或浏览器。应当理解,另选的实施方案可具有由上文描述的实施方案作出的许多变型。例如,还可使用定制的硬件,和/或可通过硬件、软件(包括便携式软件,诸如小应用程序)或两者来实施特定元件。此外,还可采用至其他计算设备诸如网络输入/输出设备的连接。
因此,说明书和附图应被视为是示例性的而非限制性的。然而,显而易见的是,可在不脱离权利要求中所述的本公开的更广泛的实质和范围的情况下对实施方案作出各种修改和改变。
其他变型也被包含在本公开的实质内。因此,所公开的技术易于产生各种修改以及备选构造,在附图中示出了所述技术的某些例示的实施方案,并且在上文中对其进行了详尽描述。然而,应当理解,此处的目的并非旨在将本公开限制于特定形式或本发明所公开的形式,相反,其目的在于覆盖落在由所附权利要求所限定的本公开的实质和范围内的所有修改形式、替代形式和等同形式。
在描述所公开的实施方案的上下文中(尤其是在下述权利要求的上下文中),将“一个”(“a”和“an”)、“该”与类似指称对象结合使用应当被解释为涵盖单数和复数楼主,除非在本文另行指明或者明显与上下文存在冲突。应当将术语“包括”、“具有”、“含有”、“包含”解释为开放性词语(即意思是“包括但不限于”),除非另行指明。应当将术语“被连接”解释为部分地或者完全地被包含在内、附接至或接合到一起,即使存在中间体时也是如此。本文对数值范围的引述仅旨在充当对落在该范围内的每个单独值逐个进行提及的一种便捷的方法,除非本文中另外指明,并且每个单独值均被结合到说明书中,就像本文对其逐个进行了引述一样。可以任何适当的顺序执行本文描述的所有方法,除非本文另外指明或者与上下文明显冲突。对任何示例以及所有示例的使用或者本文提供的示例性措辞(例如,“诸如”)仅旨在对本公开的实施方案更好地举例说明,其不对本公开的范围构成限制,除非另外指明。不应将说明书中的任何措辞解释为指明任何不受权利要求保护的元素对于本公开的实践而言是不可或缺的。
析取措辞诸如短语“X、Y或Z的至少一者”在一般采用的上下文中旨在意在表明项目、条款等或者可以是X、Y或Z,或者可以是它们的组合(例如,X、Y和/或Z),除非另外特别说明。因此,此类析取措辞一般并非旨在暗示并且不应暗示某些实施方案要求X中的至少一者、Y中的至少一者或者Z中的至少一者各自存在。
可利用计算机系统来完全或部分地执行本文所述的任何方法,该计算机系统包括可被配置为执行步骤的一个或多个处理器。因此,实施方案可涉及被配置为执行本文所述任何方法的步骤的计算机系统,潜在地具有执行相应步骤或相应一组步骤的不同部件。尽管给出有序步骤,但本文的方法步骤可同时或以不同次序执行。另外,这些步骤的部分可与来自其他方法的其他步骤的部分一起使用。另外,步骤的全部或部分可为可选的。另外,任何方法的任何步骤可利用模块、电路或用于执行这些步骤的其他装置来执行。
特定实施方案的具体细节可在不脱离本公开的实施方案的实质和范围的情况下以任何合适的方式相结合。然而,本公开的其他实施方案可涉及与每个单独方面相关联的具体实施方案或这些单独方面的具体组合的具体实施方案。
出于例示和描述目的提供了本公开的示例性实施方案的上述描述。其并非旨在为穷尽或将本公开限制为所描述的精确形式,并且根据上述教导内容,许多修改形式和变型形式是可能的。该实施方案被选择和描述,以便充分说明本公开的原理及其实际应用,由此使得本领域的其他技术人员能够在各种实施方案中并且利用对适合于所设想的特定用途的各种修改来充分利用本公开。
本文引用的包括出版物、专利申请和专利的所有参考文献据此以引用方式并入本文,对所述参考文献的引用程度就像每个参考文献均被独立且具体地进行指示从而以引用方式并入本文并且全文得到了阐述一样。
授权掩盖
条款1.一种计算机实现的方法,包括:
由计算设备来接收与多个不同数据类型的至少子集相关联的用户的健康信息;
将用户的所述健康信息存储在计算设备的安全存储设备中;
从第三方应用程序接收对访问用户的所多个不同数据类型中的至少一个数据类型的授权请求;
向第三方应用程序提供授权请求被提供至用户的指示;
从第三方应用程序接收对与至少一个数据类型对应的健康信息的请求;以及
在用户尚未授权对至少一个数据类型的访问时,由计算设备来向第三方应用程序提供空结果。
条款2.根据条款1所述的计算机实现的方法,其中向第三方应用程序提供授权请求被提供至用户的指示,而无需指示用户是否否认对至少一个数据类型的访问。
条款3.根据条款1所述的计算机实现的方法,其中用户已提供与至少一个数据类型对应的健康信息。
条款4.根据条款3所述的计算机实现的方法,其中向第三方应用程序提供空结果,而无需指示用户已提供与至少一个数据类型对应的健康信息。
条款5.根据条款1所述的计算机实现的方法,其中在用户利用计算设备而被验证时,该安全存储设备的数据能够被第三方应用程序访问。
条款6.根据条款1所述的计算机实现的方法,还包括:
从第二个第三方应用程序接收对访问用户的多个不同数据类型中的至少一个数据类型的第二授权请求;
从用户接收对第二个第三方应用程序访问至少一个数据类型的授权许可;以及
向第二个第三方应用程序提供指示,向第二个第三方应用程序提供的指示与向第三方应用程序提供的指示相同。
条款7.根据条款6所述的计算机实现的方法,其中在用户尚未提供与至少一个数据类型对应的健康信息时,向第二个第三方提供相同的指示。
条款8.一种系统,包括:
存储器,该存储器被配置为存储计算机可执行指令;和
处理器,该处理器与存储器进行通信,该处理器被配置为执行所述计算机可执行指令,以至少:
将存储器配置为存储用户的数据;
向用户的界面提供对用户向设备的应用程序授权对数据的至少一部分的访问的请求;
从用户的界面接收对请求的响应;以及
向设备的应用程序提供请求被提供至用户的指示,而无需指示用户是否否认请求。
条款9.根据条款8所述的系统,其中设备的应用程序包括由处理器执行的第三方应用程序。
条款10.根据条款8所述的系统,其中使得用户能够授权对第一数据类型的第一健康数据的访问,并否认对第二数据类型的第二健康数据的访问。
条款11.根据条款10所述的系统,其中存储器被配置为存储第二健康数据并且不存储第一健康数据。
条款12.根据条款11所述的系统,其中处理器被进一步配置为执行计算机可执行指令,以至少从应用程序接收对第一健康数据的第一数据请求和对第二健康数据的第二数据请求。
条款13.根据条款12所述的系统,其中处理器被进一步配置为执行计算机可执行指令,以至少响应于第一数据请求和第二数据请求两者来向应用程序提供空结果。
条款14.根据条款8所述的系统,其中处理器被进一步配置为执行计算机可执行指令,以至少向用户提供对用户授权应用程序读取被存储在存储器中的数据的读取请求。
条款15.根据条款14所述的系统,其中处理器被进一步配置为执行计算机可执行指令,以在用户否认读取请求时至少向应用程序仅提供由应用程序提供至存储器的信息。
条款16.一种存储计算机可执行指令的计算机可读存储介质,该计算机可执行指令当由处理器执行时,将处理器配置为执行操作,该操作包括:
将与用户相关联的信息存储在数据存储库中;
从应用程序接收对授权访问信息的第一请求;
从应用程序接收对信息的第二请求;
在与信息相关联的用户批准对授权的第一请求时,将信息提供至应用程序;以及
在与信息相关联的用户否认对授权的第一请求时,响应于第二请求来掩盖对授权的第一请求的否认。
条款17.根据条款16所述的一种或多种计算机可读介质,其中应用程序是被配置为能够向数据存储库进行对信息的至少一部分的读取或写入中的至少一者的第三方应用程序,并且其中至少一个第一方应用程序被配置为能够向数据存储库进行对信息的至少一部分的读取或写入中的至少一者。
条款18.根据条款17所述的计算机可读介质,其中使得用户能够对针对多个数据类型中的每个数据类型的对授权的第一请求作出响应。
条款19.根据条款16所述的计算机可读介质,其中通过向应用程序提供对不指示用户否认对授权的第一请求的响应而掩盖对授权的第一请求的否认。
条款20.根据条款19所述的计算机可读介质,其中通过以下操作,对应用程序的响应不指示用户否认对授权的第一请求:
在所请求的数据未被存储在数据存储库中时,响应于第二请求来向应用程序提供空结果;以及
在用户否认对授权的第一请求时,响应于第二请求来向应用程序提供空结果。
后台处理
条款1.一种计算机实现的方法,包括:
由计算机系统来保持被配置为存储与多个数据类型对应的健康数据的安全存储装置;
从第三方应用程序接收对多个数据类型中的至少一种数据类型的订阅以及与该订阅相关联的频率;
接收与至少一种数据类型对应的健康数据的一部分;
至少部分地基于与订阅相关联的频率来将第三方应用程序作为后台进程来启动;
设置在一定时间段内重新启动作为后台进程的第三方应用程序的触发器;以及
以下操作中的至少一者:
当在该时间段内接收到第三方应用程序已处理所述健康数据的一部分的确认时,取消重新启动第三方应用程序的触发器;或者
当在该时间段内未从第三方应用程序接收到确认时,将第三方应用程序作为后台进程来重新启动。
条款2.根据条款1所述的计算机实现的方法,其中从与数据收集设备相关联的应用程序接收与至少一种数据类型对应的健康数据的一部分。
条款3.根据条款1所述的计算机实现的方法,其中由第三方应用程序来对频率进行配置。
条款4.根据条款1所述的计算机实现的方法,其中该频率识别对健康数据的一部分的接收与第三方应用程序作为后台进程进行启动之间的时间量。
条款5.根据条款1所述的计算机实现的方法,其中对第三方应用程序进行启动,而无需来自数据收集设备或第三方应用程序的请求。
条款6.根据条款1所述的计算机实现的方法,其中该时间段被配置为随着第三方应用程序的每次重新启动而递增。
条款7.根据条款6所述的计算机实现的方法,其中该递增相对于阈值时间量呈现指数趋势。
条款8.一种系统,包括:
存储器,该存储器被配置为存储计算机可执行指令;和
处理器,该处理器与存储器进行通信,该处理器被配置为执行所述计算机可执行指令,以至少:
从应用程序接收用于识别与用户的信息相关联的数据类型的订阅信息;
至少响应于对信息的与数据类型对应的一部分的接收来将应用程序作为后台进程进行启动;以及
将应用程序至少作为后台进程进行重新启动,直到接收到应用程序已处理该信息的一部分的确认。
条款9.根据条款8所述的系统,其中使得应用程序能够在作为后台进程运行时请求信息的所接收的一部分。
条款10.根据条款9所述的系统,其中使得应用陈旭能够在作为后台进程运行时对信息的所接收的部分进行处理,并返回应用程序已处理该信息的该一部分的确认。
条款11.根据条款8所述的系统,其中订阅信息识别与订阅相关联的数据类型和频率。
条款12.根据条款11所述的系统,其中频率识别对信息的一部分的接收与应用程序作为后台进程进行启动之间的时间量。
条款13.根据条款8所述的系统,其中处理器被进一步配置为执行计算机可执行指令,以在未在一定时间间隔内接收到确认时至少部分地基于时间间隔来至少将应用程序作为后台进程进行重新启动。
条款14.根据条款13所述的系统,其中在每次将应用程序作为后台进程进行重新启动之后没,使该时间间隔递增。
条款15.一种存储计算机可执行指令的计算机可读存储介质,该计算机可执行指令当由处理器执行时,将处理器配置为执行操作,该操作包括:
存储针对用户的多个数据类型的第一数据;
从第一应用程序接收对多个数据类型中的至少一个数据类型的订阅;
从第二应用程序接收多个数据类型的第二数据;
在订阅对应于第二数据时,在第一时间段之后将第一应用程序作为后台进程进行启动;以及
当未接收到第一应用程序已在第二时间段内处理第二数据的确认时,在第二时间段之后将第一应用程序作为后台进程进行重新启动。
条款16.根据条款15所述的一种或多种计算机可读介质,其中该第一应用程序是被配置为处理与多个健康数据类型相关联的健康信息的第三方应用程序。
条款17.根据条款15所述的计算机可读介质,其中第二应用程序被配置为从被配置为收集用户的健康信息的数据收集设备接收第二数据。
条款18.根据条款17所述的计算机可读介质,其中对第一应用程序执行将其作为后台进程进行启动或重新启动的操作中的至少一个操作,而无需冲破美国数据收集设备或第一应用程序接收到启动或重新启动第一应用的指令。
条款19.根据条款15所述的计算机可读介质,其中该第一应用程序被配置为在作为后台进程进行启动或重新启动时请求第二数据。
条款20.根据条款15所述的计算机可读介质,其中第一时间段可由第一应用程序配置,并且其中该第二时间段在第一应用程序每次作为后台进程进行重新启动之后改变可配置的量。
数据类型扩展
条款1.一种计算机实现的方法,包括:
由计算机系统来保持多个数据类型;
使得与多个数据类型的至少子集相关联的第一健康信息能够被存储在用户设备上;
识别由用户设备的第三方应用程序请求使用的新数据类型;
向所用户设备提供用于识别有关新数据类型的信息的数据;
公布有关新数据类型的信息;
使得用户设备的后台进程解释用于将用户设备配置为实施新数据类型的数据;以及
使得用户设备的后台进程能够至少响应于来自第三方应用程序的包括有关新数据类型的信息的请求来管理与新数据类型对应的第二健康信息。
条款2.根据条款1所述的计算机实现的方法,其中将有关新数据类型的信息公布给与计算机系统相关联的开发者的网络资源。
条款3.根据条款1所述的计算机实现的方法,还包括对多个所保持的数据类型进行更新,以包括新数据类型。
条款4.根据条款1所述的计算机实现的方法,其中有关新数据类型的信息包括标识符、名称、类型或描述中的至少一者。
条款5.根据条款4所述的计算机实现的方法,其中该类型至少包括累积类型或离散类型。
条款6.根据条款1所述的计算机实现的方法,其中来自第三方应用程序的请求包括应用编程接口方法调用。
条款7.一种系统,包括:
存储器,该存储器被配置为存储计算机可执行指令;和
处理器,该处理器与存储器进行通信,该处理器被配置为执行所述计算机可执行指令,以至少:
将第一组数据类型提供至用户设备;
识别不被包括在第一组数据类型中的新数据类型;
提供供用户设备下载的数据,该数据包括有关新数据类型的信息;
向应用程序提供用于管理与新数据类型对应的健康数据的格式;以及
使得用户设备至少部分地基于使用来自应用程序的格式的请求来实施新数据类型。
条款8.根据条款7所述的系统,其中该处理器被进一步配置为执行计算机可执行指令,以至少向网络资源公布有关新数据类型的信息。
条款9.根据条款8所述的系统,其中在提供供用户设备下载的数据之后,将有关新数据类型的信息公布给网络资源。
条款10.根据条款9所述的系统,其中该处理器被进一步配置为执行计算机可执行指令以至少使得在用户设备下载数据之前接收到使用格式的请求时,该设备返回错误消息。
条款11.根据条款7所述的系统,其中将第一组数据类型作为针对用户设备的新软件版本的一部分提供至用户设备。
条款12.根据条款7所述的系统,其中管理健康数据包括以下各项中的至少一者:从用户设备读取与新数据类型对应的健康数据,或者向用户设备写入与新数据类型对应的健康数据。
条款13.根据条款7所述的系统,其中使得用户实施新数据类型至少包括使得用户设备的后台进程能够解释用于向后台进程注册新数据类型的述数据。
条款14.一种存储计算机可执行指令的计算机可读存储介质,该计算机可执行指令当由处理器执行时,将处理器配置为执行操作,该操作包括:
从服务提供方接收用于实施被配置为管理第一组数据类型的后台进程的指令;
从服务提供方接收包括有关新数据类型的信息的数据下载;
从应用程序接收对访问与新数据类型对应的数据的请求;以及
至少部分地基于对接收的数据下载的解释来向应用程序提供与新数据类型对应的数据。
条款15.根据条款14所述的一种或多种计算机可读介质,其中该操作进一步包括在接收到对访问与新数据类型对应的数据的请求之前向后台进程注册新数据类型。
条款16.根据条款14所述的一种或多种计算机可读介质,其中新数据类型不被包括在在利用用于实施后台进程的指令提供的第一组数据类型中。
条款17.根据条款14所述的计算机可读介质,其中该操作进一步包括使得服务提供方能够从由开发者更新的网络资源识别新数据类型。
条款18.根据条款14所述的计算机可读介质,其中该操作进一步包括使得服务提供方能够公布有关新数据类型的信息。
条款19.根据条款18所述的计算机可读介质,其中有关新数据类型的信息包括标识符、名称、类型或描述中的至少一者。
条款20.根据条款14所述的计算机可读介质,其中对访问与新数据类型对应的数据的请求包括从应用程序接收的应用编程接口方法调用。
源优先化
条款1.一种计算机实现的方法,包括:
由计算机系统来识别要管理的多个数据类型中的特定数据类型;
至少从多个数据来源中的第一来源和第二来源接收与特定数据类型对应的健康数据;
接收用于识别第一来源和第二来源的优先权的优先权信息;
识别由多个数据来源对健康数据进行划分的时间间隔;
在一定时间量内的每个所识别的时间间隔期间,当被配置为保持与特定数据类型对应的所接收的健康数据的数据存储库中存在数据条目时,识别针对特定数据类型的具有最高的所识别的优先权的数据条目;以及
聚合每个所识别的数据条目,以形成该时间量内的特定数据类型的聚合记录。
条款2.根据条款1所述的计算机实现的方法,还包括将聚合记录提供至用户设备,以用于在用户界面内呈现给用户。
条款3.根据条款1所述的计算机实现的方法,还包括从第一来源接收针对至少包括来自第二来源的所接收的健康数据的聚合记录的请求。
条款4.根据条款1所述的计算机实现的方法,还包括至少部分地基于与所接收的健康数据相关联的元数据来识别特定数据类型的类型。
条款5.根据条款4所述的计算机实现的方法,其中在所识别的类型为累积型时,该聚合记录仅包括与最高的所识别的优先权对应的每个所识别的数据条目。
条款6.根据条款4所述的计算机实现的方法,其中在所识别的类型为离散型时,该聚合记录包括与最高的所识别的优先权对应的每个所识别的数据条目和针对所识别的时间段的其他所识别的数据条目。
条款7.一种系统,包括:
存储器,该存储器被配置为存储计算机可执行指令;和
处理器,该处理器与存储器进行通信,该处理器被配置为执行所述计算机可执行指令,以至少:
从多个数据来源接收特定数据类型的数据,该数据至少包括相应时间戳;
至少部分地基于相应时间戳来聚合所接收到的数据,以形成某一时间段的数据记录;以及
将所述数据记录提供至被配置为呈现用于表示多个来源的聚合数据的用户界面的至少一个应用程序。
条款8.根据条款7所述的系统,其中至少一个应用程序是多个来源中的特定一个来源,并且其中该数据记录包括并非从多个来源中的特定一个来源接收的至少一个数据点。
条款9.根据条款7所述的系统,其中该多个来源中的一个来源包括第三方应用程序或第一方应用程序。
条款10.根据条款9所述的系统,其中所接收到的数据至少部分地基于与第三方应用程序或第一方应用程序中的至少一者相关联的数据收集设备收集的量度。
条款11.根据条款7所述的系统,其中该处理器被进一步配置为执行计算机可执行指令,以至少识别多个来源的至少子集的优先权信息以及该时间段的时间间隔。
条款12.根据条款11所述的系统,其中该处理器被进一步配置为执行计算机可读指令,以至少识别每个时间间隔的具有最高的所识别的优先权的特定数据类型的数据条目。
条款13.根据条款12所述的系统,其中在特定数据类型为累积型时,所提供的数据记录仅包括与最高的所识别的优先权对应的每个所识别的数据条目。
条款14.根据条款7所述的系统,其中所提供的数据记录包括时间段的各个时间间隔的来自多个来源的与特定数据类型对应的数据条目,其中该各个时间间隔中的至少一个时间间隔包括多个不同的数据条目,并且其中该多个数据条目中的至少一个数据条目来自多个来源中的不同来源。
条款15.一种存储计算机可执行指令的计算机可读存储介质,该计算机可执行指令当由处理器执行时,将处理器配置为执行操作,该操作包括:
至少从第一来源和第二来源接收的特定数据类型的数据;
识别与第一数据来源和第二数据来源相关联的优先权信息;
至少部分地基于该优先权信息来聚合该时间段内的所接收的数据,以形成数据记录;以及
将数据记录提供至被配置为呈现用于表示第一数据来源和第二数据来源的聚合数据的用户界面的至少一个应用程序。
条款16.根据条款15所述的一种或多种计算机可读介质,其中该数据记录表示时间段期间的多个时间间隔中的每个时间间隔的特定数据类型的相应数据条目。
条款17.根据条款16所述的计算机可读介质,其中至少部分地基于特定数据类型、与特定数据类型相关联的活动或者与至少一个应用程序的用户相关联的历史信息中的至少一者来确定多个时间间隔的长度。
条款18.根据条款15所述的计算机可读介质,其中至少部分地基于用户的偏好、用户的历史行为或者与第一数据来源或第二数据来源相关联的活动行为中的至少一者来确定所识别的优先权信息。
条款19.根据条款15所述的计算机可读介质,其中至少一个应用程序包括第三方应用程序,该第三方应用程序被配置为向第三方应用程序的用户提供与数据记录对应的用户界面。
条款20.根据条款19所述的计算机可读介质,其中该操作进一步包括向第三方应用程序提供用于请求数据记录的应用编程接口方法,该数据记录包括并非由第三方应用程序提供的用户的至少一些健康信息。

Claims (20)

1.一种计算机实现的方法,包括:
由计算设备来接收与多个不同数据类型的至少子集相关联的用户的健康信息;
将所述用户的所述健康信息存储在所述计算设备的安全存储设备中;
从第三方应用程序接收对访问所述用户的所述多个不同数据类型中的至少一个数据类型的授权请求;
向所述第三方应用程序提供所述授权请求被提供至所述用户的指示;
从所述第三方应用程序接收对与所述至少一个数据类型对应的所述健康信息的请求;以及
在所述用户尚未授权对所述至少一个数据类型的访问时,由所述计算设备来向所述第三方应用程序提供空结果。
2.根据权利要求1所述的计算机实现的方法,其中向所述第三方应用程序提供所述授权请求被提供至所述用户的所述指示,而无需指示所述用户是否否认对所述至少一个数据类型的访问。
3.根据权利要求1所述的计算机实现的方法,其中所述用户已提供与所述至少一个数据类型对应的所述健康信息。
4.根据权利要求3所述的计算机实现的方法,其中向所述第三方应用程序提供所述空结果,而无需指示所述用户已提供与所述至少一个数据类型对应的所述健康信息。
5.根据权利要求1所述的计算机实现的方法,其中在所述用户利用所述计算设备而被验证时,所述安全存储设备的数据能够被所述第三方应用程序访问。
6.根据权利要求1所述的计算机实现的方法,还包括:
从第二个第三方应用程序接收对访问所述用户的所述多个不同数据类型中的所述至少一个数据类型的第二授权请求;
从所述用户接收对所述第二个第三方应用程序访问所述至少一个数据类型的授权许可;以及
向所述第二个第三方应用程序提供指示,向所述第二个第三方应用程序提供的所述指示与向所述第三方应用程序提供的指示相同。
7.根据权利要求6所述的计算机实现的方法,其中在所述用户尚未提供与所述至少一个数据类型对应的所述健康信息时,向所述第二个第三方提供所述相同的指示。
8.一种系统,包括:
存储器,所述存储器被配置为存储计算机可执行指令;和
与所述存储器进行通信的处理器,所述处理器被配置为执行所述计算机可执行指令,以至少:
将所述存储器配置为存储用户的数据;
向所述用户的界面提供对所述用户向设备的应用程序授权对所述数据的至少一部分的访问的请求;
从所述用户的所述界面接收对所述请求的响应;以及
向所述设备的所述应用程序提供所述请求被提供至所述用户的指示,而无需指示所述用户是否否认所述请求。
9.根据权利要求8所述的系统,其中所述设备的所述应用程序包括由所述处理器执行的第三方应用程序。
10.根据权利要求8所述的系统,其中使得所述用户能够授权对第一数据类型的第一健康数据的访问,并否认对第二数据类型的第二健康数据的访问。
11.根据权利要求10所述的系统,其中所述存储器被配置为存储所述第二健康数据并且不存储所述第一健康数据。
12.根据权利要求11所述的系统,其中所述处理器被进一步配置为执行所述计算机可执行指令,以至少从所述应用程序接收对所述第一健康数据的第一数据请求和对所述第二健康数据的第二数据请求。
13.根据权利要求12所述的系统,其中所述处理器被进一步配置为执行所述计算机可执行指令,以至少响应于所述第一数据请求和所述第二数据请求两者来向所述应用程序提供空结果。
14.根据权利要求8所述的系统,其中所述处理器被进一步配置为执行所述计算机可执行指令,以至少向所述用户提供对所述用户授权所述应用程序读取被存储在所述存储器中的所述数据的读取请求。
15.根据权利要求14所述的系统,其中所述处理器被进一步配置为执行所述计算机可执行指令,以至少在所述用户否认所述读取请求时向所述应用程序仅提供由所述应用程序提供至所述存储器的信息。
16.一种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令当由处理器执行时,将所述处理器配置为执行操作,所述操作包括:
将与用户相关联的信息存储在数据存储库中;
从应用程序接收对授权访问所述信息的第一请求;
从所述应用程序接收对所述信息的第二请求;
在与所述信息相关联的所述用户批准对授权的所述第一请求时,将所述信息提供至所述应用程序;以及
在与所述信息相关联的所述用户否认对授权的所述第一请求时,响应于所述第二请求来掩盖对授权的所述第一请求的否认。
17.根据权利要求16所述的一种或多种计算机可读介质,其中所述应用程序是被配置为能够向所述数据存储库进行对所述信息的至少一部分的读取或写入中的至少一者的第三方应用程序,并且其中至少一个第一方应用程序被配置为能够向所述数据存储库进行对所述信息的至少所述一部分的读取或写入中的至少一者。
18.根据权利要求17所述的计算机可读介质,其中使得所述用户能够对针对多个数据类型中的每个数据类型的对授权的所述第一请求作出响应。
19.根据权利要求16所述的计算机可读介质,其中通过向所述应用程序提供对不指示所述用户否认对授权的所述第一请求的响应而掩盖对授权的所述第一请求的所述否认。
20.根据权利要求19所述的计算机可读介质,其中通过以下操作,对所述应用程序的所述响应不指示所述用户否认对授权的所述第一请求:
在所请求的数据未被存储在所述数据存储库中时,响应于所述第二请求来向所述应用程序提供空结果;以及
在所述用户否认对授权的所述第一请求时,响应于所述第二请求来向所述应用程序提供所述空结果。
CN201580028726.9A 2014-05-30 2015-05-06 管理用户信息 Active CN106462616B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110651635.8A CN113284574A (zh) 2014-05-30 2015-05-06 管理用户信息
CN201910301496.9A CN110400612B (zh) 2014-05-30 2015-05-06 管理用户信息

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201462006031P 2014-05-30 2014-05-30
US62/006,031 2014-05-30
US14/499,519 2014-09-29
US14/499,449 2014-09-29
US14/499,461 US9582642B2 (en) 2014-05-30 2014-09-29 Managing user information—background processing
US14/499,461 2014-09-29
US14/499,449 US10236079B2 (en) 2014-05-30 2014-09-29 Managing user information—authorization masking
US14/499,519 US9582643B2 (en) 2014-05-30 2014-09-29 Managing user information—source prioritization
US14/499,512 2014-09-29
US14/499,512 US11404146B2 (en) 2014-05-30 2014-09-29 Managing user information—data type extension
PCT/US2015/029494 WO2015183495A1 (en) 2014-05-30 2015-05-06 Managing user information

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202110651635.8A Division CN113284574A (zh) 2014-05-30 2015-05-06 管理用户信息
CN201910301496.9A Division CN110400612B (zh) 2014-05-30 2015-05-06 管理用户信息

Publications (2)

Publication Number Publication Date
CN106462616A true CN106462616A (zh) 2017-02-22
CN106462616B CN106462616B (zh) 2019-07-26

Family

ID=54702004

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201580028726.9A Active CN106462616B (zh) 2014-05-30 2015-05-06 管理用户信息
CN202110651635.8A Pending CN113284574A (zh) 2014-05-30 2015-05-06 管理用户信息
CN201910301496.9A Active CN110400612B (zh) 2014-05-30 2015-05-06 管理用户信息

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202110651635.8A Pending CN113284574A (zh) 2014-05-30 2015-05-06 管理用户信息
CN201910301496.9A Active CN110400612B (zh) 2014-05-30 2015-05-06 管理用户信息

Country Status (3)

Country Link
US (5) US10236079B2 (zh)
EP (3) EP4235682A1 (zh)
CN (3) CN106462616B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201228A (zh) * 2020-09-02 2022-03-18 通用电气航空系统有限责任公司 用于受管制系统的灵活读写访问的系统和方法
US11404146B2 (en) 2014-05-30 2022-08-02 Apple Inc. Managing user information—data type extension

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11508467B2 (en) * 2014-04-22 2022-11-22 Cerner Innovation, Inc. Aggregation, partitioning, and management of healthcare data for efficient storage and processing
US10319469B2 (en) 2014-04-22 2019-06-11 Cerner Innovation, Inc. Rule-based low-latency delivery of healthcare data
US11107578B2 (en) 2014-05-30 2021-08-31 Apple Inc. Systems and methods for facilitating health research
US10733266B2 (en) 2014-05-30 2020-08-04 Apple Inc. Systems and methods of providing patient apps
US9996678B2 (en) 2014-05-30 2018-06-12 Apple, Inc. Systems and methods for facilitating health research using a personal wearable device with research mode
WO2016022318A1 (en) * 2014-08-04 2016-02-11 Hafeman Carolyn W Communication apparatus, system and method
DE202015006066U1 (de) 2014-09-02 2015-12-14 Apple Inc. Kleinere Schnittstellen zur Handhabung von Benachrichtigungen
US11728030B2 (en) 2014-09-29 2023-08-15 Apple Inc. Methods of treatment and diagnosis using enhanced patient-physician communication
KR20170091395A (ko) * 2016-02-01 2017-08-09 삼성전자주식회사 데이터를 처리 및 제공하는 전자 장치 및 그의 동작 방법
US11797706B2 (en) 2016-02-09 2023-10-24 Health2047, Inc. Mobile device network traffic modification and user based restrictions on data access
US9858063B2 (en) * 2016-02-10 2018-01-02 Vignet Incorporated Publishing customized application modules
US11294939B2 (en) * 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
CA3037973C (en) * 2016-09-24 2023-03-28 Huawei Technologies Co., Ltd. Method for managing application program use time offline, and terminal device
CN106570312A (zh) * 2016-10-18 2017-04-19 捷开通讯(深圳)有限公司 一种移动医疗数据交互的方法、系统及服务器、移动终端
WO2018108423A1 (en) * 2016-12-15 2018-06-21 Abb Schweiz Ag System and method for user authorization
US10874313B2 (en) 2017-06-04 2020-12-29 Apple Inc. Heartrate tracking techniques
US20180349269A1 (en) * 2017-06-06 2018-12-06 Microsoft Technology Licensing, Llc Event triggered data retention
US10674285B2 (en) 2017-08-25 2020-06-02 Starkey Laboratories, Inc. Cognitive benefit measure related to hearing-assistance device use
US10938950B2 (en) * 2017-11-14 2021-03-02 General Electric Company Hierarchical data exchange management system
DK201870599A1 (en) 2018-03-12 2019-10-16 Apple Inc. USER INTERFACES FOR HEALTH MONITORING
US11317833B2 (en) 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
US10949564B2 (en) * 2018-05-07 2021-03-16 Apple Inc. Contact discovery service with privacy aspect
US11176021B2 (en) * 2018-06-03 2021-11-16 Apple Inc. Messaging systems with improved reliability
US11380434B2 (en) * 2018-12-16 2022-07-05 Visual Telecommunication Network Telehealth platform
WO2020172580A1 (en) * 2019-02-22 2020-08-27 Starkey Laboratories, Inc. Sharing of health-related data based on data exported by ear-wearable device
US11386791B2 (en) * 2019-03-29 2022-07-12 GM Cruise Holdings, LLC Autonomous vehicle fleet management system
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
US11152100B2 (en) 2019-06-01 2021-10-19 Apple Inc. Health application user interfaces
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11270531B2 (en) 2019-06-28 2022-03-08 GM Cruise Holdings, LLC Autonomous vehicle data management platform
DK181037B1 (en) 2020-06-02 2022-10-10 Apple Inc User interfaces for health applications
US11393021B1 (en) * 2020-06-12 2022-07-19 Wells Fargo Bank, N.A. Apparatuses and methods for responsive financial transactions
US11698710B2 (en) 2020-08-31 2023-07-11 Apple Inc. User interfaces for logging user activities

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1395214A (zh) * 2001-06-29 2003-02-05 Ge医疗系统信息技术公司 从多个生理数据源中选择生理数据的系统和方法
US20060248593A1 (en) * 2005-04-27 2006-11-02 Dennis Gary M System and method for enhanced protection and control over the use of identity
CN101286169A (zh) * 2007-04-13 2008-10-15 奥多比公司 协调内容的下载顺序的客户端管理
CN101393520A (zh) * 2007-09-20 2009-03-25 英特尔公司 用于聚合、分析和使用上下文信息的上下文平台框架
CN101667224A (zh) * 2008-09-05 2010-03-10 深圳易拓科技有限公司 便携式健康数据存储装置、检测装置及健康数据存储平台
US20100306827A1 (en) * 2009-06-02 2010-12-02 Microsoft Corporation Opaque Quarantine and Device Discovery
CN103182175A (zh) * 2007-02-14 2013-07-03 耐克国际有限公司 运动信息的收集和显示
CN103278192A (zh) * 2013-05-02 2013-09-04 南京龙渊微电子科技有限公司 一种基于zigbee技术的建筑室内温湿度检测系统及方法
WO2013152189A2 (en) * 2012-04-04 2013-10-10 Cardiocom, Llc Health-monitoring system with multiple health monitoring devices, interactive voice recognition, and mobile interfaces for data collection and transmission
US20140059695A1 (en) * 2012-08-24 2014-02-27 Environmental Systems Research Institute (ESRI) Systems and methods for managing location data and providing a privacy framework

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297153A (ja) * 2000-04-14 2001-10-26 Nec Corp 個人医療情報の共有化方法及び個人医療情報のデータベース端末
US7478157B2 (en) 2001-11-07 2009-01-13 International Business Machines Corporation System, method, and business methods for enforcing privacy preferences on personal-data exchanges across a network
US7277913B2 (en) * 2002-05-09 2007-10-02 Sun Microsystems, Inc. Persistent queuing for distributed file systems
US7240119B2 (en) * 2002-11-04 2007-07-03 Ge Fanuc Automation North America, Inc. Method for configuring a programmable logic controller using an extensible markup language schema
KR100616157B1 (ko) 2005-01-11 2006-08-28 와이더댄 주식회사 애플리케이션 연동 방법 및 그 시스템
US20060248592A1 (en) 2005-04-28 2006-11-02 International Business Machines Corporation System and method for limiting disclosure in hippocratic databases
US8533746B2 (en) * 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US20080133639A1 (en) 2006-11-30 2008-06-05 Anatoliy Panasyuk Client Statement of Health
US8157730B2 (en) 2006-12-19 2012-04-17 Valencell, Inc. Physiological and environmental monitoring systems and methods
US7953613B2 (en) 2007-01-03 2011-05-31 Gizewski Theodore M Health maintenance system
US20090320096A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Managing access to a health-record
JP5250827B2 (ja) * 2008-09-19 2013-07-31 株式会社日立製作所 行動履歴の生成方法及び行動履歴の生成システム
BRPI1016159A2 (pt) * 2009-04-26 2018-08-07 Nike Int Ltd "dispositivo para monitorar o desempenho atlético de um usuário, e, dispositivo portátil de monitoramento de atividade atlética."
IT1394439B1 (it) 2009-05-26 2012-06-15 Lentini Metodo di controllo per la gestione e la diffusione controllata di informazioni riservate digitali contenute in supporti elettronici portatili.
WO2011011540A2 (en) * 2009-07-21 2011-01-27 Carexgen, Inc Cloud-based healthcare information exchange
MX2012008922A (es) 2010-02-01 2012-10-05 Proteus Digital Health Inc Sistema de recoleccion de datos.
FR2958101A1 (fr) 2010-03-26 2011-09-30 Ntx Res Infrastructure de gestion de bi-cles de securite de personnes physiques (igcp/pki)
US8805646B2 (en) * 2010-09-30 2014-08-12 Fitbit, Inc. Methods, systems and devices for linking user devices to activity tracking devices
US8446275B2 (en) 2011-06-10 2013-05-21 Aliphcom General health and wellness management method and apparatus for a wellness application using data from a data-capable band
US8818823B2 (en) 2011-07-26 2014-08-26 Cerner Innovation, Inc. Online patient and health care provider communication
US20130030836A1 (en) 2011-07-26 2013-01-31 Cerner Innovation, Inc. Third-party site connections for online health care communication
US8930221B2 (en) 2011-07-26 2015-01-06 Cerner Innovation, Inc. Health care biometric surveillance and online provider communication
US9352207B2 (en) * 2012-01-19 2016-05-31 Nike, Inc. Action detection and activity classification
US8943194B2 (en) * 2012-04-05 2015-01-27 Blackberry Limited Apparatus, and associated method, for resubscribing communication device to a push notification service
US8832847B2 (en) 2012-07-10 2014-09-09 International Business Machines Corporation Coordinating data sharing among applications in mobile devices
WO2014091311A2 (en) 2012-11-13 2014-06-19 Dacadoo Ag Health band
FR2999757A1 (fr) 2012-12-13 2014-06-20 Patrick Coudert Procede d'acces securise a des donnees medicales confidentielles, et support de stockage pour ledit procede
EP2784714B1 (en) 2013-03-28 2021-04-28 Alcatel Lucent Method of preventing access to sensitive data of a computing device
US20140297320A1 (en) * 2013-03-29 2014-10-02 Mckesson Specialty Care Distribution Corporation Systems and methods for operating a personal healthcare management portal
US20140324469A1 (en) 2013-04-30 2014-10-30 Bruce Reiner Customizable context and user-specific patient referenceable medical database
US9367610B2 (en) * 2014-01-16 2016-06-14 Massachusetts Institute Of Technology Knowledge registry systems and methods
US10236079B2 (en) 2014-05-30 2019-03-19 Apple Inc. Managing user information—authorization masking
WO2015183495A1 (en) 2014-05-30 2015-12-03 Apple Inc. Managing user information

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1395214A (zh) * 2001-06-29 2003-02-05 Ge医疗系统信息技术公司 从多个生理数据源中选择生理数据的系统和方法
US20060248593A1 (en) * 2005-04-27 2006-11-02 Dennis Gary M System and method for enhanced protection and control over the use of identity
CN103182175A (zh) * 2007-02-14 2013-07-03 耐克国际有限公司 运动信息的收集和显示
CN101286169A (zh) * 2007-04-13 2008-10-15 奥多比公司 协调内容的下载顺序的客户端管理
CN101393520A (zh) * 2007-09-20 2009-03-25 英特尔公司 用于聚合、分析和使用上下文信息的上下文平台框架
CN101667224A (zh) * 2008-09-05 2010-03-10 深圳易拓科技有限公司 便携式健康数据存储装置、检测装置及健康数据存储平台
US20100306827A1 (en) * 2009-06-02 2010-12-02 Microsoft Corporation Opaque Quarantine and Device Discovery
WO2013152189A2 (en) * 2012-04-04 2013-10-10 Cardiocom, Llc Health-monitoring system with multiple health monitoring devices, interactive voice recognition, and mobile interfaces for data collection and transmission
US20140059695A1 (en) * 2012-08-24 2014-02-27 Environmental Systems Research Institute (ESRI) Systems and methods for managing location data and providing a privacy framework
CN103278192A (zh) * 2013-05-02 2013-09-04 南京龙渊微电子科技有限公司 一种基于zigbee技术的建筑室内温湿度检测系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11404146B2 (en) 2014-05-30 2022-08-02 Apple Inc. Managing user information—data type extension
CN114201228A (zh) * 2020-09-02 2022-03-18 通用电气航空系统有限责任公司 用于受管制系统的灵活读写访问的系统和方法
US11868233B2 (en) 2020-09-02 2024-01-09 Ge Aviation Systems Llc Systems and method for flexible write- and read-access of a regulated system

Also Published As

Publication number Publication date
US20150347499A1 (en) 2015-12-03
US9582642B2 (en) 2017-02-28
CN110400612B (zh) 2021-06-22
CN113284574A (zh) 2021-08-20
US9582643B2 (en) 2017-02-28
US20150347690A1 (en) 2015-12-03
US10290367B2 (en) 2019-05-14
CN106462616B (zh) 2019-07-26
CN110400612A (zh) 2019-11-01
US20150347684A1 (en) 2015-12-03
US20150347784A1 (en) 2015-12-03
EP3149634B1 (en) 2019-10-30
US11404146B2 (en) 2022-08-02
EP3675135A1 (en) 2020-07-01
EP4235682A1 (en) 2023-08-30
US20170147757A1 (en) 2017-05-25
EP3149634A1 (en) 2017-04-05
US10236079B2 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
CN106462616B (zh) 管理用户信息
US9338148B2 (en) Secure distributed information and password management
US10069703B2 (en) Methods and systems for monitoring and/or managing device data
CA3047627A1 (en) Mobile device based identity verification
CN116114025A (zh) 敏感信息的安全存储和检索
WO2015183495A1 (en) Managing user information
JP2022509488A (ja) グループ・ベースの携帯装置管理
US9747463B2 (en) Securing access to business information
Mun et al. PDVLoc: A personal data vault for controlled location data sharing
US11888950B2 (en) Systems and methods for securely using cloud services on on-premises data
US20230418913A1 (en) Using neural network to classify relationship for secure lending of digital content
US20160028718A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20220392633A1 (en) Personalized data graphs including user domain concepts
EP4062303B1 (en) Privacy-preserving virtual email system
Kim et al. Privacy care architecture in wireless sensor networks
WO2017191582A1 (en) System and method for controlling usage of a computing device
US11704423B2 (en) Network-shared data managing system and method
US20220311775A1 (en) Behavior-based access control management for application software of computing devices
Systaliuk Achieving Location Privacy in iOS Platform Using Location Privacy Framework
WO2023199222A1 (en) Mobile badge for access authorization at multi-session events

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant