卡片系统框架的制作方法

文档序号:17318102发布日期:2019-04-05 21:23阅读:198来源:国知局
卡片系统框架的制作方法

从因特网和在企业环境中可得到的信息量持续上升。最终用户对信息的用户体验通常取决于如何组织、呈现以及在用户界面上显示信息,如何存储信息,以及如何与其他人共享信息。

附图说明

以下详细描述参考附图,其中:

图1是描绘其中各种示例可以被实施为卡片系统的示例环境的框图。

图2是描绘示例卡片系统的框图。

图3是描绘包括可由处理器执行用于使用卡片系统框架的指令的示例机器可读存储介质的框图。

图4是描绘包括可由处理器执行用于使用卡片系统框架的指令的示例机器可读存储介质的框图。

图5是描绘用于使用卡片系统框架的示例方法的流程图。

图6是描绘用于使用卡片系统框架的示例方法的流程图。

图7是描绘用于呈现卡片的示例用户界面的图。

图8是描绘用于呈现具有多个内容拼块的卡片的示例用户界面的图。

图9是描绘用于呈现看起来堆叠在彼此之上的多个卡片的示例用户界面的图。

图10是描绘用于呈现看起来堆叠在彼此之上的多个卡片的示例用户界面的图。

具体实施方式

以下详细描述参考附图。只要有可能,在附图和以下描述中使用相同的附图标记来指代相同的或类似的部分。然而,应当清楚地理解,附图仅用于说明和描述的目的。尽管在本文档中描述了若干示例,但修改、适配和其他实施方式是可能的。因此,以下详细描述不限制所公开的示例。相反,所公开示例的适当的范围可以由所附权利要求限定。

从因特网和在企业环境中可得到的信息量持续上升。最终用户对信息的用户体验通常取决于如何组织、呈现以及在用户界面显示信息,如何记录和存储信息,以及如何与其他人共享信息。在一个示例中,希望调查或研究安全警报(例如,关于潜在安全威胁的警报)的安全分析师通常需要回顾和分析与警报有关的大量数据。这可能要求分析师访问多个不同的数据源来找出相关数据。即使可以找到数据,也不会自动记录或存储调查步骤和每个这些的步骤中分析的数据。此外,调查历史不容易被其他分析师回顾或继续调查。此外,在一次调查中检索的数据在另一次调查中不易重复使用,从而为数据检索带来了不必要的计算能力和时间。

本文公开的示例通过使用卡片系统框架(cardsystemframework)来对这些技术挑战提供技术方案。卡片系统框架可以以卡片格式组织相关数据。如本文所使用的,“卡片”指的是表现得像能够支持其中的任何内容的外壳或模板的可重用组件。卡片可以包括卡片标头、内容拼块,和/或其他要素。如本文所使用的,“内容拼块”指的是传递卡片的主要内容的可重用组件。在卡片呈现在用户界面上时,用户可以请求关于内容拼块中的特定内容项的更多细节。用户选择(例如,点击用于特定内容项的链接、将光标悬停在特定内容项之上和/或指示选择的其他方式)将触发另一个卡片显示在用户界面上,其中新的卡片具有包括用于特定内容项的所请求的细节的内容拼块。随着用户继续与呈现在用户界面上的各种卡片交互并且请求关于某些内容项的附加细节,更多卡片将出现在用户界面上。卡片的这种集合将提供用户研究或调查的良好记录历史。还能够将卡片集合与另一个用户或多个用户共享以查看、编辑和/或制作复制的卡片或卡片的复制集合。内容拼块可以是可再用的,意味着特定内容拼块能够在没有卡片的情况下作为独立的组件被重新使用,或者在单个卡片或者多个不同的卡片中被重新使用。因此,使用这种卡片系统框架,可以以更有意义的方式组织和呈现相关数据,可以有效地记录和与其他人共享对相关数据的研究历史(例如,如何进行了研究),并且可以捕捉、存储以及在其他上下文中重新使用在研究期间生成的内容拼块。

本文公开的一些示例实现:经由用户界面,接收关于第一对象来请求第一内容项的指示;响应于关于第一对象来请求第一内容项的指示,将第一卡片呈现在用户界面上,第一卡片包括描述与第一内容项相关联的第二对象的第一内容拼块;经由用户界面,接收关于第二对象来请求第二内容项的指示;以及响应于关于第二对象来请求第二内容项的指示,将第二卡片呈现在用户界面上,第二卡片包括描述与第二内容项相关联的第三对象的第二内容拼块。

本文所使用的术语仅用于描述特定实施例的目的,并且不旨在是限制性的。如本文所使用的,单数形式“一”和“该”也旨在包括复数形式,除非上下文另外明确说明。如本文所使用的,术语“多个”被定义为两个或多于两个。如本文所使用的,术语“另一个”被定义为至少第二个或更多个。如本文所使用的,除非另有说明,否则术语“耦接”被定义为连接,无论是在没有任何中间元件的情况下直接地连接还是通过至少一个中间元件间接地连接。可以将两个元件机械地、电学地耦接,或者可以通过通信信道、路径、网络或系统将其通信地联接。如本文所使用的,术语“和/或”指的是并且包含一个或多个相关联的所列项的任何和所有可能的组合。同样应当理解的是,尽管在本文中可以使用术语第一、第二、第三等来描述各种要素,但这些要素不应当被这些术语所限制,因为这些术语仅用于将一个要素与另一个区分,除非另有说明或上下文另有说明。如在本文使用的,术语“包括”意指包括但不限于,并且术语“包括有”意指包括有但不限于。术语“基于”意指至少部分地基于。

图1是其中各种示例可以被实施为卡片系统110的示例环境100。环境100可以包括各种部件,包括服务器计算设备130和客户端计算设备140(图示为140a、140b、…、140n)。每个客户端计算设备140a、140b、…、140n可以向服务器计算设备130传送请求和/或从服务器计算设备130接收响应。服务器计算设备130可以从客户端计算设备140接收请求和/或对请求进行响应。客户端计算设备140可以是提供用户界面的任何类型的计算设备,用户可以通过用户界面与软件应用交互。例如,客户端计算设备140可以包括膝上型计算设备、台式计算设备、一体式计算设备、瘦客户端、工作站、平板计算设备、移动电话、电子图书阅读器、诸如“智能”电视等网络使能用具和/或适于显示用户界面并且处理与显示的界面的用户交互的其他电子设备。尽管服务器计算设备130被描绘为单个计算设备,但服务器计算设备130可以包括服务于由客户端计算设备140消耗的至少一个软件应用的任何数量的集成或分布式计算设备。

在图1中描绘的各种部件(例如,部件129、130和/或140)可以经由网络50耦接到至少一个其他部件。网络50可以包括实现部件之间的电子通信的任何基础设施或基础设施的组合。例如,网络50可以包括以下中的至少一个:因特网、内联网、pan(个域网)、lan(局域网)、wan(广域网)、san(存储局域网)、man(城域网)、无线网络、蜂窝通信网络、公用交换电话网和/或其他网络。根据各种实施方式,本文描述的卡片系统110和各种部件可以在硬件和/或硬件和配置硬件的编程的组合中实施。此外,在图1和本文描述的其他附图中,可以使用与描绘相比不同数量的部件或实体。

卡片系统110可以包括卡片引擎121、用户界面引擎122、访问引擎123、存储引擎124和/或其他引擎。如本文所使用的,术语“引擎”指的是执行指定功能的硬件和编程的组合。如关于图3至图4图示出的,例如,每个引擎的硬件可以包括处理器和机器可读存储介质中的一个或两者,同时编程是存储在机器可读存储介质上的并且可由处理器执行以执行指定功能的指令或代码。

卡片引擎121可以生成卡片和/或其中的内容拼块。如本文所使用的,“卡片”指的是表现得像能够支持其中的任何内容的外壳或模板的可重用组件,包括任何数量的内容拼块。因此,卡片可以充当封装任何数量的内容拼块的外壳。卡片可以包括卡片标头、内容拼块和/或其他要素。卡片标头可以包括简短地描述卡片和/或其内容拼块的标题以及一个或多个副标题。在一些实施方式中,标头可以包括其他信息,例如与卡片相关联的时间范围(例如,与特定安全警报相关联的时间范围)以及与卡片相关联的标识符(例如,警报标识符、用户标识符等)。标头可以由任何文本(例如,字符串、下拉菜单)、视觉资料(例如,图形图标)和/或音频数据组成。用于卡片标头的显示部分可以与卡片的其余可视地不同(例如,色彩、色度、图案等不同)出现以使得标头相对更明显。如本文所使用的,“安全警报”指的是就潜在安全威胁或网络攻击向相关方进行通知的警报。

如本文所使用的,“内容拼块”指的是传递卡片的主要内容的可重用组件。类似于卡片标头,内容拼块可以由任何文本(例如,串、下拉菜单)、视觉资料(例如,图形图标、图、图表、表格)和/或音频(例如,语音记录)数据组成。内容拼块可以是可再用的,意味着特定内容拼块可以在没有卡片的情况下作为独立的组件被重新使用,或者在单个卡片或者多个不同的卡片中被重新使用。例如,第一卡片中的内容拼块可以从第一卡片分离,使得内容拼块可以被用于与第一卡片不同的第二卡片,或者内容拼块可以在没有与任何卡片相关联的情况下使用(例如,在没有卡片的情况下作为独立的组件重新使用)。

在图7中图示出的示例中,卡片710具有卡片标头711和内容拼块712。尽管在示例中示出了两个要素711和712,但卡片710可以包括多于一个卡片标头、多于一个内容拼块和/或两个要素之外的其他要素。图8提供了卡片810的示例,卡片810包括多于一个内容拼块(例如,内容拼块812a、812b、…、812n)。

内容拼块(例如,图7中的内容拼块712)可以描述与多个内容项相关联的特定对象。如本文所使用的,“对象”指的是卡片(和其内容拼块)描述的并且通过提供内容拼块内的多个内容项来为其提供内容的任何对象,包括警报、用户、源主机、ip地址和/或其他安全或非安全相关的实体或对象。

在卡片呈现在用户界面上时,用户可以请求关于内容拼块中的特定内容项的更多细节。用户选择(例如,点击用于特定内容项的链接、将光标悬停在特定内容项之上,和/或指示用户选择的其他方式)将触发另一个卡片显示在用户界面上,其中新的卡片具有包括关于特定内容项的所请求的细节的内容拼块。如本文所使用的,“用户”指的是可以创建、查看、编辑、制作卡片系统框架中的各种卡片的副本或以另外方式访问该各种卡片的任何用户。在一些实例中,如本文所使用的,“用户”指的是与出现在卡片中的用户标识符相关联的用户。例如,可以将潜在攻击者的用户标识符连同其相关联的安全警报、ip地址、所使用的端口等一起记录。在从第一卡片中点击用户标识符时,可以呈现第二卡片,第二卡片具有描述潜在攻击者与该用户标识符相关联的内容拼块。内容拼块可以包括与用户标识符相关联的安全警报、ip地址、所使用的端口和/或其他跟踪的信息。

在图9中图示出的示例中,第一卡片(例如,卡片910)可以(例如,经由如以下进一步讨论的用户界面引擎122)呈现在用户界面上。第一卡片包括第一卡片标头(例如,卡片标头911)和第一内容拼块(例如,内容拼块912)。第一内容拼块可以描述与第一多个内容项相关联的第一对象。一旦卡片引擎121经由用户界面接收关于第一对象来请求(第一多个内容项中的)第一内容项的指示,卡片引擎121就可以生成第二卡片(例如,卡片920)以呈现在用户界面上。关于第一对象来请求第一内容项的指示可以包括对与第一卡片的第一内容项相关联的图形用户界面(gui)要素的用户选择。例如,第一内容项、源主机标识符可以被超链接以供用户点击。一旦被点击,包括用于源主机标识符的超链接文本字符串的gui要素将使第二卡片出现在用户界面上,其中第二卡片包括描述源主机标识符(例如,第二对象)的第二内容拼块(例如,内容拼块922)。第二内容拼块中的第二多个内容项可以包括关于特定源主机的内容,包括但不限于:多个与源主机标识符相关联的警报、与源主机标识符相关联的警报的描述、与源主机标识符相关联的风险分数以及基于与源主机标识符相关联的历史信息的预测攻击路径。

在一些实施方式中,并非第一多个内容项中的所有内容项可用于用户选择。这意味着:与第一多个内容项中的一些内容项相关联的gui要素可能不可用于用户选择。例如,尽管用于源主机标识符的gui要素是超链接的(因此是可点击的),但是用于严重性级别的gui要素(例如,第一卡片的第二内容项)不是超链接的(因此是不可点击的)。

在一些实施方式中,卡片引擎121可以经由用户界面接收关于第一对象来请求(第一多个内容项中的)第三内容项的指示。响应于该指示,卡片引擎121可以生成第三卡片(例如,图9中的卡片930)以呈现在用户界面上。第三内容项可以是ip地址。第三卡片可以包括描述特定ip地址(例如,第三对象)的第三内容拼块(例如,图9中的内容拼块932)。第三内容拼块中的第三多个内容项可以包括关于特定ip地址的内容,包括但不限于:与ip地址相关联的端口、与ip地址相关联的警报、与ip地址相关联的风险分数以及基于与ip地址相关联的历史信息的预测攻击路径。在其他实施方式中,可以响应于关于第二对象而非第一对象来请求(第二多个内容项中的)内容项的指示来呈现第三卡片(例如,图9中的卡片930)。基于对第二卡片中的内容项之一的用户选择,关于所选择的内容项的第三卡片可以出现在用户界面上作为下一个卡片。在这些实施方式中,所选择的内容项可以是用户标识符。第三卡片然后可以包括描述特定用户标识符(例如,第三对象)的第三内容拼块(例如,图9中的内容拼块932)。第三内容拼块中的第三多个内容项可以包括关于特定用户标识符的内容,包括但不限于:与用户标识符相关联的ip地址、与用户标识符相关联的端口、与用户标识符相关联的警报、与用户标识符相关联的风险分数以及基于与用户标识符相关联的历史信息的预测攻击路径。

响应于关于特定对象来请求特定内容项的指示,卡片引擎121可以在卡片系统框架中生成对象定义,其中对象定义包括目标卡片属性和/或源卡片属性。目标卡片属性和/或源卡片属性可以包括至少一个参数。一个或多个参数可以用于获取用于下一个卡片,或者换句话说用于目标卡片的内容项。一个或多个参数可以包括但不局限于:(i)时间范围,待获取的用于目标卡片的内容项的时间戳应当处于该时间范围内,(ii)对象或用户标识符,(iii)状态以及(iv)类别。

返回到上面的示例,一旦卡片引擎121经由用户界面接收关于第一对象来请求(第一多个内容项中的)第一内容项的指示,卡片引擎121就可以生成第二对象定义。第二对象定义可以包括涉及将被呈现在用户界面上的第二卡片(例如,图9中的卡片920)的目标卡片属性。第二对象定义可以包括涉及第一卡片(例如,图9中的卡片910)的源卡片属性。卡片引擎121可以基于第二对象定义的目标卡片属性来获取用于第二卡片的第二多个内容项。因此,由此产生的第二卡片可以包括第二内容拼块(例如,图9中的内容拼块922),第二内容拼块包括第二多个内容项。类似地,如果卡片引擎121随后经由用户界面接收关于第一对象来请求(第一多个内容项中的)第二内容项的指示,卡片引擎121就可以生成第三对象定义。第三对象定义可以包括涉及将被呈现在用户界面上的第三卡片(例如,图9中的卡片930)的目标卡片属性。第三对象定义可以包括涉及第一卡片(例如,图9中的卡片910)的源卡片属性。

第二对象定义的一个或多个参数可以起源于用于第一卡片的第一对象定义。在为下一个(或第二)卡片生成新的(或第二)对象定义时,新的(或第二)对象定义可以自动地从用于上一个(或第一)卡片的上一个(或第一)对象定义继承一个或多个参数的一个或多个值。换句话说,与第二卡片中的第二多个内容项相关联的时间范围(例如,待获取的用于第二卡片的第二多个内容项的时间戳应处于的时间范围)将是与第一卡片中的第一多个内容项相关联的相同时间范围(例如,第一多个内容项的时间戳曾处于的时间范围)。在一些实施方式中,卡片引擎121可以修改将由第二对象定义继承的参数的值。由第二对象定义从第一对象定义继承的时间范围可以例如基于用户输入被改变为不同的时间范围。

在一些实施方式中,卡片引擎121可以基于第二对象定义(例如,包括在第二对象定义的目标卡片属性中的参数)来获取用于第二卡片的第二多个内容项。卡片引擎121可以将第二多个内容项变换成卡片就绪格式。卡片就绪格式可以是用于特定类型的卡片的预定义模板格式。卡片引擎121可以基于所变换的内容项来生成输出对象。例如,响应于用户从第一卡片(例如,图9中的卡片910)中点击源主机标识符的指示,卡片引擎121可以生成用于该源主机标识符的第二对象定义作为第二对象。卡片引擎121可以基于第二对象定义来获取用于第二卡片(例如,图9中的卡片920)的第二多个内容项。一旦第二多个内容项被变换成为与第二卡片相关联的卡片类型预定义的卡片就绪格式,卡片引擎121就可以使用所变换的内容项来生成输出对象(其是第二对象)。因此,呈现在用户界面上的第二卡片可以包括描述第二对象的第二内容拼块(例如,图9中的内容拼块922)。这样的第二内容拼块包括已经被获取并且被变换成适当的卡片就绪格式的第二多个内容项。

用户界面引擎122可以呈现(例如,如上面讨论的,由卡片引擎121生成的)卡片和/或使卡片显示在用户界面上。

随着用户(包括单个用户、用户群、具有特定用户角色的用户或者执行特定任务或动作时的用户)继续与呈现在用户界面上的各种卡片交互并且请求关于某些内容项的附加细节,更多卡片将出现在用户界面上。卡片集合可以以时间次序(例如,最新的卡片到最老的卡片)、优先级、重要性和/或另一个特定布置次序来布置。在一个示例中,卡片可以从最新的卡片(例如,图9中的卡片930)到最老的卡片(例如,图9中的卡片910)看起来堆叠在彼此之上。以这种方式,卡片集合将提供用户研究或调查的良好记录历史。用户或被准许访问卡片集合的任何其它用户可以上下滚动以回顾研究或调查的历史。

在图10中图示出用于显示卡片集合的示例用户界面。在图10中所图示的示例中,用于特定安全警报的卡片1010可以具有诸如具有相应警报标识符的“自我签署凭证(self-signedcertificate)”等卡片标头,以及具有关于以下的信息的内容拼块:与警报相关联的源主机标识符、与警报相关联的网际协议(ip)地址、警报的严重性级别、警报的置信水平、警报状态、用户标识符(例如,指配给警报的调查任务的用户或安全分析师、与ip地址相关联的用户和/或可能与警报有关的任何用户)、警报类型、攻击阶段、端口(例如,用于进行网络连接的端口的标识、进行端口扫描的指示和/或关于端口或端口使用的其他信息)、协议(例如,传输控制协议(tcp)上的网络业务量)、地理位置(例如,用户或实体在短时间范围中出现在多个位置中(陆地速度违规)、已经被标记为问题区域的特定地理位置和/或关于地理位置的其他信息)、与警报相关联的时间范围、和/或其他信息。

在用户从卡片1010中点击用于源主机标识符“hdc-an-node.niara.com”的超链接gui要素时,用户界面引擎122可以呈现(例如,如上面讨论的,由卡片引擎121生成的)卡片1020和/或使卡片1020显示在用户界面上。用于源主机标识符“hdc-an-node.niara.com”的卡片1020具有包含关于源主机标识符的信息的内容拼块,包括与源主机标识符相关联的警报的数量、与源主机标识符相关联的关键警报的摘要统计信息、与源主机标识符相关联的风险分数以及与源主机标识符相关联的所有打开警报的细分。

在用户随后从卡片1010中点击用于ip地址“10.43.7.58”的另一个超链接gui要素时,用户界面引擎122可以呈现(例如,如上面讨论的,由卡片引擎121生成的)卡片1030和/或使卡片1030显示在用户界面上。用于ip地址“10.43.7.58”的卡片1030具有包含关于ip地址的信息的内容拼块,包括与ip地址相关联的警报的数量、与ip地址相关联的关键警报的摘要统计信息、与ip地址相关联的风险分数以及与ip地址相关联的所有打开警报的细分。

访问引擎123可以确定对于卡片系统110中的各种卡片的适当的访问级。返回到参考卡片引擎121讨论的上面示例,第一卡片、第二卡片和第三卡片(例如,图9中的卡片910、920和930)可以与特定用户账户、特定用户角色或者特定任务相关联。

继续该示例,可以通过相同的用户来执行对第一内容项和第二内容项的选择。在这种情况下,响应于这些用户选择出现的第一卡片以及第二卡片和第三卡片可以与这样的用户的特定用户账户相关联。这可能意味着:在用户登录他的或她的用户账户时,用户可以通过查看堆叠在彼此之上的三个卡片来访问所有三个卡片,使得用户能够回顾他的研究或调查的历史、编辑卡片中的任何一个、制作复制的卡片或复制的卡片集合用于进一步研究或调查,和/或与另一个用户共享任何卡片。在一些实例中,用户账户可以与多个用户相关联。考虑这种场景:存在对特定安全警报进行调查的人员团队。团队的第一用户做出对第一内容项的用户选择,这使第二卡片出现在用户界面上。随后,团队的第二用户做出对第二内容项的用户选择,这使第三卡片出现在用户界面上。尽管不同的用户与卡片交互,团队的每个用户可以通过查看堆叠在彼此之上的三个卡片来访问所有三个卡片,使得团队的每个用户能够回顾团队的集体研究或调查的历史、编辑卡片中的任何一个、制作复制的卡片或复制的卡片集合用于进一步研究或调查、和/或与另一个用户共享任何卡片。如本文所使用的,“共享”指的是准许对指定用户或者一个或多个用户的访问。可以通过系统110自动地确定或者基于用户输入人工地确定应当准许多少访问。例如,可以将卡片与特定用户共享,使得特定用户具有查看卡片的能力,而没有编辑卡片的能力。在另一个示例中,可以将卡片与特定用户共享,使得用户具有查看并且制作卡片的副本的能力,而没有编辑卡片的能力。

在一些实施方式中,可以通过具有相同用户角色的用户来执行对第一内容项和第二内容项的选择。在这种情况下,响应于这些用户选择出现的第一卡片以及第二卡片和第三卡片可以与特定用户角色相关联。考虑这种场景:存在具有第一用户角色(例如,调查管理者角色)的用户的群组,以及具有第二用户角色(例如,分析师角色)的用户的另一个群组。具有第一用户角色的第一用户进行对第一内容项的用户选择,这使第二卡片出现在用户界面上。随后,具有第一用户角色的第二个用户进行对第二内容项的用户选择,这使第三卡片出现在用户界面上。尽管不同的用户与卡片交互,但具有这种第一角色的每个用户可以通过查看堆叠在彼此之上的三个卡片来访问所有三个卡片,使得第一角色的每个用户能够回顾研究或调查的历史、编辑卡片中的任何一个、制作复制的卡片或复制的卡片集合用于进一步研究或调查、和/或与另一个用户共享任何卡片。另一方面,具有第二用户角色的用户将不能够访问三个卡片。

在一些实施方式中,可以执行对第一内容项和第二内容项的选择作为相同任务的部分。在这样的示例中,多个用户可以执行相同的研究或调查任务。类似于上面示例,尽管不同的用户在执行相同任务时与卡片交互,但被指配给这样的任务的每个用户可以通过查看堆叠在彼此之上的三个卡片来访问所有三个卡片,使得每个用户能够回顾研究或调查的历史、编辑卡片中的任何一个、制作复制的卡片或复制的卡片集合用于进一步研究或调查、和/或与另一个用户共享任何卡片。

存储引擎124可以将内容项、对象定义、对象、内容拼块、卡片标头、卡片和/或与卡片系统110有关的其他信息存储在数据储存器(例如,图1中的数据储存器129)中。

在一些实施方式中,存储引擎124可以按在存储或保存时那些卡片的特定次序或序列(例如,那些卡片在存储或保存时当前如何被布置)来存储卡片集合(例如,如上面讨论的,由卡片引擎122生成的调查或研究任务的历史)。换句话说,存储引擎124可以存储在存储或保存时调查或研究进展的当前状态。以这种方式,可以访问这种卡片集合的用户(例如,如上面定义的,最初被指配给调查或研究任务的用户、通过“共享”给予访问的用户)可以保存进展、通过从他或她停止的地方重新开始来再发起调查或研究和/或与另一个用户共享保存版本的卡片以回顾和/或继续进行调查。

在一些实施方式中,(例如,如上面讨论的,由卡片引擎121生成的)卡片和/或卡片集合可以被存储为静态图像文件(例如,jpeg、png等)。尽管这种静态图像文件格式的卡片不能是交互式的(例如,用户不能点击卡片中的任何内容项),但是这种静态图像文件的较小的文件大小允许卡片系统110将该卡片保留更长的时间段。另一方面,由于卡片的较大的文件大小,卡片的使得卡片是交互式的的原始数据可能需要在某个预定义的时间段后(例如,在90天之后)从数据储存器中被删除。

在执行它们的相应功能时,引擎121至引擎124可以访问数据储存器129和/或其它一个或多个适当的数据库。数据储存器129可以表示能够用于存储和获取数据的、卡片系统110可访问的任何存储器。数据储存器129和/或其他数据库可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、高速缓冲存储器、软盘、硬盘、光盘、磁带、固态驱动器、闪存驱动器、便携式光盘和/或用于存储计算机可执行指令和/或数据的其他存储介质。卡片系统110可以经由网络50或其他网络本地地或远程地访问数据储存器129。

数据储存器129可以包括数据库用于组织和存储数据。数据库可以存在于单个或多个物理设备中以及单个或多个物理位置中。数据库可以存储多个类型的数据和/或文件以及关联的数据或文件描述、管理信息或任何其他数据。

图2是描绘示例卡片系统210的框图。卡片系统210可以包括卡片引擎221、用户界面引擎222和/或其他引擎。引擎221至引擎222分别表示引擎121至引擎122。

图3是描绘包括可由处理器执行用于使用卡片系统框架的指令的示例机器可读存储介质310的框图。

在上文讨论中,引擎121至引擎124被描述为硬件和编程的组合。可以以许多方式实施引擎121至引擎124。参考图3,编程可以是存储在机器可读存储介质310上的处理器可执行指令321至指令324,并且硬件可以包括用于执行那些指令的处理器311。因此,可以说机器可读存储介质310存储在由处理器311执行时实施图1的卡片系统110的程序指令或代码。

在图3中,机器可读存储介质310中的可执行程序指令被描绘为卡片指令321、用户界面指令322、访问指令323和存储指令324。指令321至指令324分别表示在被执行时使处理器311实施引擎121至引擎124的程序指令。

图4是描绘包括可由处理器执行用于使用卡片系统框架的指令的示例机器可读存储介质410的框图。

参考图4,编程可以是存储在机器可读存储介质410上的处理器可执行指令421至指令422,并且硬件可以包括用于执行那些指令的处理器411。因此,可以说机器可读存储介质410存储在由处理器411执行时实施图1的卡片系统110的程序指令或代码。

在图4中,机器可读存储介质410中的可执行程序指令被描绘为卡片指令421和用户界面指令422。指令421至指令422分别表示在被执行时使处理器411实施引擎121至引擎122的程序指令。

机器可读存储介质310(或机器可读存储介质410)可以是包含或存储可执行指令的任何电子、磁、光学或其他物理存储设备。在一些实施方式中,机器可读存储介质310(或机器可读存储介质410)可以是非暂时性存储介质,其中术语“非暂时性”不包含暂时传播信号。机器可读存储介质310(或机器可读存储介质410)可以在单个设备中实施或分布在多个设备上。同样地,处理器311(或处理器411)可以表示能够执行由机器可读存储介质310(或机器可读存储介质410)存储的指令的任何数量的处理器。处理器311(或处理器411)可以集成在单个设备中或分布在多个设备上。此外,机器可读存储介质310(或机器可读存储介质410)可以完全地或部分地集成到与处理器311(或处理器411)相同的设备中,或者机器可读存储介质310(或机器可读存储介质410)可以是单独的但是对于该设备和处理器311(或处理器411)而言是可访问的。

在一个示例中,程序指令可以是在被安装时可由处理器311(或处理器411)执行以实施卡片系统110的安装数据包的部分。在这种情况下,机器可读存储介质310(或机器可读存储介质410)可以是诸如软盘、cd、dvd或闪存驱动器等便携式介质,或者由服务器维持的存储器,安装数据包可以从存储器下载和安装。在另一个示例中,程序指令可以是已经安装的一个或多个应用的部分。这里,机器可读存储介质310(或机器可读存储介质410)可以包括硬盘、光盘、磁带、固态驱动器、ram、rom、eeprom等。

处理器311可以是至少一个中央处理单元(cpu)、微处理器和/或适于获取和执行存储在机器可读存储介质310中的指令的其他硬件设备。处理器311可以取出、解码和执行程序指令321至程序指令324和/或其他指令。作为对获取和执行指令的替代或补充,处理器311可以包括至少一个电子电路,该至少一个电子电路包括用于执行指令321至指令324和/或其他指令中的至少一个的功能的许多电子部件。

处理器411可以是至少一个中央处理单元(cpu)、微处理器和/或适于获取和执行存储在机器可读存储介质410中的指令的其他硬件设备。处理器411可以取出、解码和执行程序指令421至程序指令422和/或其他指令。作为对获取和执行指令的替代或补充,处理器411可以包括至少一个电子电路,该至少一个电子电路包括用于执行指令421至指令422和/或其他指令中的至少一个的功能的许多电子部件。

图5是描绘用于使用卡片系统框架的示例方法500的流程图。本文更详细地描述了在图5中(以及在诸如图6的其他制图中)描绘的各种处理框和/或数据流。可以使用上面详细地描述的系统部件中的一些或全部来实现所描述的处理框,并且在一些实施方式中,可以以不同的序列执行各种处理框,并且可以省略各种处理框。附加处理框可以与所描绘的流程图中示出的处理框中的一些或全部一起来执行。可以同时地执行一些处理框。因此,所图示的(并且在下面更详细地描述的)方法500旨在作为示例,并且因此不应被视为是限制性的。可以以存储在诸如存储介质310等机器可读存储介质上的可执行指令的形式和/或电子电路的形式来实施方法500。

返回参考图1,用户界面引擎122可以负责实施框521和522。

图6是描绘用于使用卡片系统框架的示例方法600的流程图。所图示的(并且在下面更详细地描述的)方法600旨在作为示例,并且因此不应被视为是限制性的。可以以存储在诸如存储介质310等机器可读存储介质上的可执行指令的形式和/或电子电路的形式来实施方法600。

返回参考图1,卡片引擎121可以负责实施框622和623。用户界面引擎122可以负责实施框621和624。

图7是描绘用于呈现卡片的示例用户界面700的图。用户界面700(和在本文描述的其他用户界面)可以用于使各种动作由卡片系统110来执行。

图8是描绘用于呈现具有多个内容拼块的卡片的示例用户界面800的图。

图9是描绘用于呈现看起来堆叠在彼此之上的多个卡片的示例用户界面900的图。

图10是描绘用于呈现看起来堆叠在彼此之上的多个卡片的示例用户界面1000的图。

本文关于图1来讨论图7至图10。

以上公开描述了用于使用卡片系统框架的许多示例实施方式。所公开的示例可以包括用于使用卡片系统框架的系统、设备、计算机可读存储介质和方法。为了解释目的,参考图1至图4中图示的部件来描述某些示例。然而,所图示的部件的功能可以重叠,并且可以存在于较少或较大数量的元件和部件中。

此外,所图示的元件的全部或部分功能可以在若干地理上分散的位置之间共存或者分布在其中。而且,所公开的示例可以在各种环境中实施,并且不限于所图示的示例。此外,结合图5至图6描述的操作的序列是示例并且并不旨在是限制性的。在不背离所公开的示例的范围的情况下,可以使用或可以改变附加的或较少的操作或操作的组合。此外,与所公开的示例一致的实施方式不需要以任何特定次序执行操作的序列。因此,本公开仅仅阐述实施方式的可能的示例,并且可以对所描述的示例做出许多变化和修改。所有这些修改和变化旨在包括在本公开的范围内并受所附权利要求的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1