CN105229564A - 信息对象系统的可视化界面 - Google Patents

信息对象系统的可视化界面 Download PDF

Info

Publication number
CN105229564A
CN105229564A CN201480026525.0A CN201480026525A CN105229564A CN 105229564 A CN105229564 A CN 105229564A CN 201480026525 A CN201480026525 A CN 201480026525A CN 105229564 A CN105229564 A CN 105229564A
Authority
CN
China
Prior art keywords
information object
collaboration server
user interface
data
information
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
CN201480026525.0A
Other languages
English (en)
Other versions
CN105229564B (zh
Inventor
杰·W·帕克
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.)
Systemic Man Science Corp
Original Assignee
Systemic Man Science Corp
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 Systemic Man Science Corp filed Critical Systemic Man Science Corp
Publication of CN105229564A publication Critical patent/CN105229564A/zh
Application granted granted Critical
Publication of CN105229564B publication Critical patent/CN105229564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用于显现用于使信息对象可见的界面的各种实施方式。在客户端计算设备上产生用户界面。然后可响应于再现信息对象的请求代表用户向协作服务器查询待在用户界面内再现的信息对象。随后可从接收自协作服务器的信息对象获取形式数据。然后可至少部分地基于信息对象的形式数据在用户界面内再现信息对象。

Description

信息对象系统的可视化界面
联邦资助的研究
本申请部分地起源于代表美国国防部远景研究规划局(“DARPA”)进行的与DARPA主题#SB072-032有关的研究。
优先权要求
本申请要求2013年3月15日提交的并通过引用全部并入本文的美国临时申请序列号61/787,688的优先权和利益。
本申请还要求2014年3月13日提交的并通过引用全部并入本文的美国实用新型申请序列号14/208,346的优先权和利益。
背景
以文件和其它数据格式将信息存储在计算机上。各种应用可使用文件或其它数据格式来以有助于人理解的方式显现信息。应用可进一步以有助于人理解的方式显示在单独条的信息之间的关系。
概述
公开了用于通过在客户端计算设备上执行的客户端应用的用户界面向用户显现信息的各种技术。数据在协作服务器上被存储为一系列信息对象。客户端应用可以用本文公开的方式中的任一个或多个显现存储在该系列信息对象中的信息。
在实施方式中,提供了体现程序的非临时计算机可读介质,该程序包括:在客户端计算设备上产生用户界面的代码;响应于再现信息对象的请求代表用户向协作服务器查询待在用户界面内再现的信息对象的代码;从接收自协作服务器的信息对象获取形式数据的代码;以及至少部分地基于信息对象的形式数据在用户界面内再现信息对象的代码。在任一个或多个实施方式中,程序还可包括从信息对象获取相关信息对象的标识的代码;向协作服务器查询相关信息对象的代码;以及在用户界面内再现相关信息对象的代码。在任一个或多个实施方式中,程序还可包括在用户界面内再现在信息对象和相关信息对象之间的关系的指示的代码。在任一个或多个实施方式中,程序还可包括得到信息对象的修改的代码;将修改发送到协作服务器的代码;响应于从协作服务器接收到修改是有效的第一通知而在用户界面内再现信息对象的已修改版本的代码;以及响应于从协作服务器接收到修改是无效的第二通知而在用户界面内再现错误消息的代码。在任一个或多个实施方式中,程序还可包括响应于从数据源接收到数据而产生新信息对象的代码;创建将信息对象链接到新信息对象的信息对象引用的代码;以及将信息对象、新信息和信息对象引用发送到协作服务器的代码。在任一个或多个实施方式中,数据源包括产生数据并将数据传输到计算设备的电子设备。在任一个或多个实施方式中,信息对象包括唯一标识符、属性、信息对象引用、形式数据和函数。
在实施方式中,提供了包括计算设备和在计算设备上可执行的应用的系统,应用包括:在客户端计算设备上产生用户界面的逻辑;响应于再现信息对象的请求代表用户向协作服务器查询待在用户界面内再现的信息对象的逻辑;从接收自协作服务器的信息对象获取形式数据的逻辑;以及至少部分地基于信息对象的形式数据在用户界面内再现信息对象的逻辑。在任一个或多个实施方式中,应用还可包括从信息对象获取相关信息对象的标识的逻辑;向协作服务器查询相关信息对象的逻辑;以及在用户界面内再现相关信息对象的逻辑。在任一个或多个实施方式中,应用还可包括在用户界面内再现在信息对象和相关信息对象之间的关系的指示的逻辑。在任一个或多个实施方式中,应用还可包括得到信息对象的修改的逻辑;将修改发送到协作服务器的逻辑;响应于从协作服务器接收到修改是有效的第一通知而在用户界面内再现信息对象的已修改版本的逻辑;以及响应于从协作服务器接收到修改是无效的第二通知而在用户界面内再现错误消息的逻辑。在任一个或多个实施方式中,应用还可包括响应于从数据源接收到数据而产生新信息对象的逻辑;创建将信息对象链接到新信息对象的信息对象引用的逻辑;以及将信息对象、新信息和信息对象引用发送到协作服务器的逻辑。在任一个或多个实施方式中,数据源包括产生数据并将数据传输到计算设备的电子设备。在任一个或多个实施方式中,信息对象包括唯一标识符、属性、信息对象引用、形式数据和函数。
在实施方式中,提供了一种方法,其包括:经由计算设备在客户端计算设备上产生用户界面;经由计算设备响应于再现信息对象的请求代表用户向协作服务器查询待在用户界面内再现的信息对象;经由计算设备从接收自协作服务器的信息对象获取形式数据;以及经由计算设备至少部分地基于信息对象的形式数据在用户界面内再现信息对象。在一个或多个实施方式中,该方法还包括:经由计算设备从信息对象获取相关信息对象的标识;经由计算设备向协作服务器查询相关信息对象;以及经由计算设备在用户界面内再现相关信息对象。在一个或多个实施方式中,该方法还包括经由计算设备在用户界面内再现在信息对象和相关信息对象之间的关系的指示。在一个或多个实施方式中,该方法还包括:经由计算设备得到信息对象的修改;经由计算设备将修改发送到协作服务器;经由计算设备响应于从协作服务器接收到修改是有效的第一通知而在用户界面内再现信息对象的已修改版本;以及经由计算设备响应于从协作服务器接收到修改是无效的第二通知而在用户界面内再现错误消息。在一个或多个实施方式中,该方法还包括:经由计算设备响应于从数据源接收到数据而产生新信息对象;经由计算设备创建将信息对象链接到新信息对象的信息对象引用;以及经由计算设备将信息对象、新信息和信息对象引用发送到协作服务器。在一个或多个实施方式中,信息对象包括唯一标识符、属性、信息对象引用、形式数据和函数。
附图的简要说明
参考附图可更好地理解本公开的很多方面。在附图中的部件不一定按比例,相反强调清楚地说明本公开的原理。而且,在附图中,相似的参考数字在全部几个视图中表示相应的部件。
图1是根据本公开的各种实施方式的联网环境的图。
图2是根据本公开的各种实施方式的在图1的联网环境中描绘的信息对象的图。
图3A-G是根据本公开的各种实施方式的由在图1的联网环境中的客户端再现的用户界面的例子的图。
图4是根据本公开的各种实施方式的、示出被实现为在图1的联网环境中执行的客户端应用和协作服务器的部分的功能的一个例子的流程图。
图5是根据本公开的各种实施方式的、示出被实现为在图1的联网环境中执行的客户端应用和协作服务器的部分的功能的一个例子的流程图。
图6是根据本公开的各种实施方式的、示出被实现为在图1的联网环境中执行的客户端应用和协作服务器的部分的功能的一个例子的流程图。
图7是根据本公开的各种实施方式的、示出被实现为在图1的联网环境中执行的客户端应用和协作服务器的部分的功能的一个例子的流程图。
图8是根据本公开的各种实施方式的、示出被实现为在图1的联网环境中执行的客户端应用和协作服务器的部分的功能的一个例子的流程图。
图9是根据本公开的各种实施方式的提供在图1的联网环境中使用的计算环境的一个示例图示的示意性方框图。
详细描述
概念图和思维导图常常便于更好地检查用于更快速地识别误解或需要更深入分析的关系的现有知识结构。基于计算机的使用的概念映射工具可通过复杂概念的知识领域的结构表示的创建来增强更高质量分析。以这种方式,使用概念图和思维导图简报,内容的创建者和消费者都被预期能够更快地评估在手边的信息和分析是否具有分析完整性和价值,并因而确定分析的进一步改进是否是需要的。
在下面的讨论中,提供了系统及其部件的一般描述,后面是其的操作的讨论。
参考图1,示出了根据各种实施方式的联网环境100。联网环境100包括经由网络109彼此进行数据通信的计算环境103和客户端计算设备106。网络109包括例如互联网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网络、无线网络或其它适当的网络等或两个或更多个这样的网络的任何组合。
计算环境103可包括例如服务器计算机或提供计算能力的任何其它系统。可选地,计算环境103可使用可被使用的多个计算设备,其例如布置在一个或多个服务器组或计算机组或其它布置中。这样的计算设备可位于单个装置中或可分布在很多不同的地理位置当中。例如,计算环境103可包括多个计算设备,其一起可包括云计算资源、网格计算资源和/或任何其它分布式计算布置。在一些情况下,计算环境103可相应于弹性计算资源,其中处理、网络、存储或其它计算相关资源的被指派的能力可随着时间的过去而改变。
根据各种实施方式可在计算环境103中执行各种应用和/或其它功能。此外,各种数据可存储在计算环境103可访问的数据存储库111中。数据存储库111可代表如可认识到的多个数据存储库111。存储在数据存储库111中的数据例如与下面描述的各种应用和/或功能实体的操作相关。
在计算环境103上执行的部件例如包括协作服务器113和未在本文详细讨论的其它应用、服务、过程、系统、引擎或功能。协作服务器113被执行以允许一个或多个用户创建并共享一个或多个信息对象116和可能其它数据。
存储在数据存储库111中的数据包括例如一个或多个信息对象116和可能其它数据。
信息对象116是被构造成基于在单独条的信息之间的关系来将数据建模的数据存储对象。因此,信息对象116可包括与其它信息对象116的一组关联以指示数据关系。例如,在两个信息对象116之间的链接可指示数据相依性、结构分级结构或由两个或更多个信息对象116建模的数据的其它关联。信息对象116也可组合和/或从其它信息对象得到以表示这些关系。因此,大部分信息对象116可从其它信息对象116的组合创建或由其它信息对象116的组合表示。
然而,可为不能容易被表示为两个或更多个其它信息对象116的组合的特定类型的数据保留一些类型或类别的信息对象116。例如,重复数据块例如图像、声音、视频、压缩数据和加密数据可能需要起对基本数据的封装器的作用的信息对象116的预留或唯一实例。连续流数据例如来自传感器的数据的流也可能需要信息对象116的唯一或预留实例以表示流数据,因为流数据具有开始部分但不一定具有数据的结尾。
客户端计算设备106代表可耦合到网络109的多个客户端计算设备。客户端计算设备106可包括例如基于处理器的系统,例如计算机系统。这样的计算机系可体现在桌上型计算机、膝上型计算机、个人数字助理、蜂窝电话、智能电话、机顶盒、音乐播放器、web板、平板计算机系统、游戏控制台、电子书阅读器或具有相似的能力的其它设备中。客户端计算设备106可包括显示器119。显示器119可包括例如一个或多个设备,例如液晶显示器(LCD)显示器、基于气体等离子体的平板显示器、有机发光二极管(OLED)显示器、LCD投影仪或其它类型的显示设备等。
客户端计算设备106可配置成执行各种应用,例如客户端应用123和/或其它应用。可在客户端计算设备106中执行客户端应用123以例如访问由计算环境103和/或其它服务器提供的网络内容,从而在显示器119上再现用户界面300。为此目的,客户端应用123可包括例如浏览器、专用应用等,且用户界面300可包括网络页面、应用屏幕等。客户端计算设备106可配置成执行在客户端应用123之外的应用,例如电子邮件应用、社交联网应用、字处理器、电子制表软件和/或其它应用。
此外,一个或多个传感器和其它数据馈源126可与协作服务器113或客户端应用123处于网络通信中。传感器和其它数据馈源可包括能够产生或记录数据并将数据传输到协作服务器113的任何电子设备。传感器和其它数据馈源126的例子包括加速计、温度传感器或自动恒温器、视频或web摄像机、麦克风、噪声传感器、压力传感器、计量器、定时器、流量计、光传感器、应用或程序的输出或结果和其它这样的设备或程序。
虽然图1描绘了代表客户端-服务器模型的网络中心配置,这并不排除其它配置。例如在一些实施方式中,客户端计算设备106可以是位于计算环境103内的计算设备。在各种实施方式中,客户端应用123可连同协作服务器113一起位于计算环境103中,但客户端应用123可在客户端计算设备106的显示器119上传递或再现用户界面300。在其它实施方式中,协作服务器113、数据存储库111和客户端应用123都可位于单个计算设备例如客户端计算设备106或在计算环境103内的单个计算机内。
接着,提供了联网环境100的各种部件的操作的一般描述。首先,客户端应用123产生对一个或多个信息对象116的请求用于在显现、报告或类似的文档中使用。
当接收到所请求的信息对象116时,客户端应用123通过用户界面300向用户显现所请求的信息对象116。用户可随意与信息对象116交互。
例如,用户可选择一个或多个信息对象116作为演示的基础。每个信息对象116可相应于在演示内的幻灯片图像或图表。
可选地,用户可与信息对象116交互以选择子信息对象116或以其他方式“向下挖掘”以察看与信息对象116相关的基本数据。例如,用户可选择被标记为“细菌”的信息对象116。在被标记为细菌的信息对象116内,可提供细菌的列表。每个列表相应于子信息对象。如果用户选择子信息对象116,则与子信息对象116有关的信息可被呈现给用户,其中这样的信息以前对用户是不可见的。
在另一非限制性例子中,用户可选择创建一个或多个信息对象116以表示当前不在系统内的数据或信息。继续细菌例子,用户可选择创建与“细菌”信息对象116相关的、表示最新发现的细菌的新信息对象116。此外,在本公开的一些实施方式中,最新创建的信息对象116可被上传到协作服务器113,以便存储在数据存储库111中用于未来由该用户或其他用户使用。
接着参考图2,其显示信息对象116的数据结构的描绘。每个信息对象116具有至少一个唯一标识符203,其唯一地识别在数据存储库111(图1)内的信息对象116的特定实例。每个信息对象116还包括内容206。包括在信息对象116的内容206中的可以是一个或多个信息对象引用,例如信息对象引用209a到信息对象引用209n。信息对象116的内容206也可包括描述信息对象116的属性213。此外,信息对象116可包括形式数据216和多个函数219。
唯一标识符203可以是唯一的字母数字号码,例如密码散列函数的结果,或可以是当信息对象116被创建时由协作服务器113(图1)产生的唯一号码。例如,协作服务器113可将密码散列函数例如安全散列算法的版本应用于信息对象116以产生唯一标识符203。在另一例子中,协作服务器113可在信息对象116被创建时使计数器递增并接着将唯一标识符203设置为等于计数器的值。在一些实施方式中,这两种方法都可组合以最小化来自密码散列函数的冲突的风险或因整数溢出错误产生的重复计数器值。例如,计数器可递增且值被加在加密散列函数的结果的开始处或附加到加密散列函数的结果结尾以创建唯一标识符203。
内容206相应于由信息对象116表示的数据,信息对象116可包括一个或多个信息对象引用209a…n和/或一个或多个属性213。每个信息对象引用209a…n指向或链接到相关信息对象223。相关信息对象223可相应于作为信息对象116的组成部分的信息或以某种方式与信息对象223有关。例如,表示国家“俄国”的信息对象116可具有将信息对象116链接到相应于城市“莫斯科”的相关信息223的信息对象引用209。表示“俄国”的信息对象116也可包括对表示国家的列表的相关信息对象223的第二信息对象引用209和对表示“共产主义”的相关信息对象223的第三信息对象引用209。
信息对象116的属性213表示存储在信息对象116内的数据,其可以或不直接显现给用户作为主要内容。信息对象116的属性213可包括例如最初创建信息对象116的用户的用户名、修改信息对象116的每个用户的用户名、记录信息对象116的创建和/或信息对象116的修改的时间戳、由信息对象116支持用于用在协作服务器113(图1)或客户端应用123(图1)上的界面标准的版本、语言和/或文化识别和其它这样的数据。在一些实例中,属性213本身可由其它信息对象116表示。例如,信息对象116的创建者的用户名可由表示用户账户的信息对象116表示。
形式数据216相应于在显示器119(图1)上表示或显示信息对象116所必需的数据。例如,形式数据216可以表示在显示器119上的信息对象116的尺寸、在显示器119上的信息对象116的位置、信息对象116的透明度值、是否相对于相关信息对象223中的单独相关信息对象在显示器119上覆盖在信息对象上面或置于信息对象下面以及类似的数据或值。在一些实例中,形式数据216可进一步规定在显示器119上的相关信息对象223相对于信息对象116的默认方式。
函数219相应于程序界面、方法或类似的机制,通过其,客户端应用123(图1)或协作服务器113可与信息对象116交互或以其他方式操纵信息对象116。例如,函数219可包括用于设置在显示器119上可见或不可见的信息对象116的函数、用于编辑或以其他方式修改信息对象的函数、用于创建新信息对象引用209或以其他方式将信息对象116链接到相关信息对象223的函数。
信息对象116或相关信息对象223也可具有相应于由信息对象表示的用户界面元素的单独信息对象引用209,例如导航信息对象226、菜单区域信息对象229和客户端设备信息对象233。例如,导航信息对象226可描述或定义当前选择的信息对象116的结构或当前选择的信息对象116相对于其它信息对象116的关系。在一些实施方式中,菜单区域信息对象229可描述或定义可用于与信息对象116交互例如编辑、拷贝或删除信息116的各种菜单或其它用户界面300(图1)的组成部分。在一些实施方式中,菜单区域信息对象229也可提供创建新信息对象116的功能。此外,在一些实施方式中,客户端设备信息对象233可包含用户和系统级设置,例如声量、显示亮度、网络链接设置和其它设置。
移动到图3A,示出了在客户端计算设备106上执行的客户端应用123(图1)的在本文被表示为300a的示例用户界面300。如所示,信息对象116a可使其它相关信息对象116b、116c和116d覆盖在信息对象116a的顶部上面,允许用户可见到在信息对象116a、116b、116c和116d之间的关系。无论哪个信息对象116当前由用户选择或以其他方式在焦点上,都可具有被显示的相应的导航信息对象226、菜单区域信息对象229和客户端计算设备信息对象233。
接着参考图3B,示出了在客户端计算设备106上执行的客户端应用123(图1)的在本文被表示为300b的示例用户界面300。在右边示出包括多个信息对象116的在本文被表示为导航栏226b的导航信息对象226(图2)。在这个特定的用户界面300b中,信息对象116被选择并显示在屏幕的中间。
现在转到图3C,示出了在客户端计算设备106上执行的客户端应用123(图1)的在本文被表示为300c的示例用户界面300。在右边示出包括多个信息对象116的在本文被表示为226c的导航信息对象226(图2)。在这个特定的用户界面300c中,用户选择另一信息对象116且用户界面300c相应地改变。
继续移动到图3D,示出了在客户端计算设备106上执行的客户端应用123(图1)的在本文被表示为300d的示例用户界面300。这个特定的用户界面300d示出客户端应用123的用户将一个或多个信息对象116(图1)关联在一起的能力。
现在转到图3E,示出了在客户端计算设备106(图1)上执行的客户端应用123(图1)的在本文被表示为300e的示例用户界面300。用户界面300e显示多个信息对象116,其中每个信息对象116包括关于一个或多个主题的信息,每个主题由相应的信息对象116体现。此外,描绘了在信息对象116之间的关系,以便正确地传达信息的关系。
现在转到图3F,示出了在客户端计算设备106(图1)上执行的客户端应用123(图1)的在本文被表示为300f的示例用户界面300。用户界面300f描绘子信息对象116的显现。在这个特定的例子中,用户选择在用户界面300e(图3E)中描绘的大肠菌信息对象,这使客户端应用123将大肠杆菌的信息对象116呈现到用户界面300f的最前部。其它信息对象116移动到背景和/或变得模糊,使任何焦点被移除或以其他方式不再加以强调以便避免使用户的焦点从呈现的信息对象116转移。
现在转到图3G,示出了在客户端计算设备106上执行的客户端应用123(图1)的在本文被表示为300g的示例用户界面300。用户界面300g描绘用户创建一个或多个信息对象116(图1)。这样的信息对象116可被存储用于未来引用,或可用于创建演示、报告或类似文档的目的。
图4示出根据各种实施方式的提供客户端应用123和协作服务器113的一部分的操作的一个例子的流程图。应理解,图4的流程图仅仅提供可用于实现如本文所述的客户端应用123和协作服务器113的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图4的流程图可被视为描绘根据一个或多个实施方式的在联网环境100(图1)中实现的方法的要素的例子。
以框403开始,客户端应用123通过客户端应用123的用户界面300(图1)接收指示用户希望创建新信息对象116(图2)的“创建新的”或类似选项的选择。在一些实施方式中,例如用户可做出选择以通过与菜单区域信息对象229(图2)交互来创建新信息对象116。
随后在框406,客户端应用123在本地创建新信息对象116。在一些实施方式中,在最新创建的信息对象116到协作服务器113的上传期间,新信息对象116可被缓存在本地用于由客户端应用123立即使用。在一些实施方式中,客户端应用123可进一步将唯一标识符203(图2)分配给最新创建的信息对象116并使用默认值填充内容206(图2)和形式数据216(图2)。例如,属性213(图2)可以被自动填充有创建信息对象的用户的用户账户信息,且信息对象引用209(图2)可被自动创建以表示相应于父或兄弟信息对象116的相关信息对象223。
接着继续进行到框409,客户端应用123将最新创建的信息对象116发送到协作服务器113。在一些实施方式中,最新创建的信息对象116可被序列化,例如通过调用信息对象116的函数219(图2)以序列化它,接着将序列化的信息对象116发送到协作服务器113。在各种实施方式中,客户端应用113可替代地将唯一标识符203、内容206和形式数据216的拷贝发送到协作服务器113。
接着参考框413,协作服务器113确定相应于最新创建的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。作为另一例子,协作服务器113可检查以确定最新创建的信息对象116的唯一标识符203是否是已经存在于数据存储库111(图1)中的信息对象116的唯一标识符203的副本,这指示最新创建的信息对象116是重复的或在这两个信息对象116的唯一标识符203之间存在需要被解决的冲突。如果信息是无效的,则执行继续进行到框446。然而,如果信息是有效的,则执行继续进行到框416。
如果执行跳到框446,协作服务器113产生错误消息事件并将错误消息发送到客户端应用123。错误消息可包括识别错误的类型或源、错误描述和错误的原因的错误代码。在一些实施方式中,错误消息本身可以是表示错误并包括可适用的错误信息的信息对象116。在各种实施方式中,协作服务器113也可将错误和任何相关的错误信息记录到数据存储库111或日志文件用于以后分析。
继续移动到框416,协作服务器113使用从客户端应用123接收的信息在数据存储库111中创建信息对象116。如果必要,协作服务器113也创建所需的任何父或子信息对象以及在最新创建的信息对象116和其它现有的信息对象116之间的任何引用或连接。
接着参考框419,协作服务器113将信息对象116已被创建的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113在一些实施方式中可将最新创建的信息对象116标记为当前被修改或对最新创建的信息对象116的修改在进行中。这可在信息对象116正在被修改的同时锁定信息对象116或以其他方式防止信息对象116被其他用户、应用或过程修改。
继续进行到框423,客户端应用123从协作服务器113接收信息对象116已被创建的通知。在一些实施方式中,通知也可包括最新创建的信息对象116被针对编辑或修改而标记的指示。如果最新创建的信息对象被标记供编辑,客户端应用123可实现将对信息对象116的客户端或本地拷贝进行的修改。例如,客户端应用123可将最新创建的信息对象116的字段标记为可编辑的,实现信息对象116的各种菜单功能,或采取类似的行动。
继续移动到框426,客户端应用123得到对最新创建的信息对象116的一个或多个用户修改。在一些实施方式中,客户端应用123可自动保存用户修改。例如,客户端应用123可将每个变化自动发送到协作服务器113,或客户端应用123可在周期性基础上例如每几分钟、每小时或某个其它时间周期成批地将变化发送到协作服务器113。客户端应用123也可在本地在客户端计算设备106(图1)上保存对最新创建的信息对象116的改变或修改。当用户完成修改最新创建的信息对象116时,最后这组变化被发送到协作服务器113。在一些实施方式中,被发送的变化能够以记录在存储在数据存储库111中的信息对象116的拷贝和存储在客户端计算设备106上的信息对象116的拷贝之间的变化的文件格式被发送。在各种实施方式中,变化可替代地作为在本地存储在客户端计算设备106上的信息对象116的拷贝被发送以用于代替存储在数据存储库111中的相应信息对象116的拷贝。在这样的实施方式中,信息对象116的拷贝可被序列化并传输到协作服务器113。
接着参考框429,协作服务器113确定相应于修改的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。如果信息是无效的,则执行继续进行到前面描述的框446。然而如果信息是有效的,则执行继续进行到框433。
接着继续进行到框433,协作服务器113将对信息对象116的修改存储在数据存储库111中。在一些实施方式中,这可通过改写或代替存储在数据存储库111中的信息对象116的以前拷贝来实现。在其它实施方式中,信息对象116的内容可被编辑或更新,而不是用新拷贝或版本改写信息对象116。
继续移动到框436,协作服务器113将对信息对象116的更新完成的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113可将最新创建的信息对象116标记为可编辑的,使得等待对信息对象116进行修改的其他用户或过程可以这么做。
接着参考框439,客户端应用123接收对最新创建的信息对象116的更新或改变完成的通知。在一些实施方式中,客户端应用123可锁定或以其他方式防止用户在接收到该通知时修改最新创建的信息对象116。执行然后继续进行到框443,其中客户端应用123再现最新创建的信息对象116。
图5示出根据各种实施方式的提供客户端应用123和协作服务器113的一部分的操作的一个例子的流程图。应理解,图5的流程图仅仅提供可用于实现如本文所述的客户端应用123和协作服务器113的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图5的流程图可被视为描绘根据一个或多个实施方式的在联网环境100(图1)中实现的方法的要素的例子。
以框503开始,客户端应用123将信息对象116标记为可编辑的。例如,信息对象116(图1)可由另一过程或用户锁定用于由协作服务器113编辑。相应地,直到协作服务器113将信息对象116解锁并向客户端应用123传递信息对象116可自由编辑为止,信息对象116不能够可被客户端应用123的用户编辑。
在将信息对象116标记为可编辑的之后,在客户端应用上的执行移动到框506,其中客户端应用123得到用户对信息对象116的选择以用于编辑。用户可例如使用鼠标点击、触摸手势或其它交互作用来向客户端应用123指示信息对象116将被编辑。
继续进行到框509,客户端应用123获取信息对象116的唯一标识符203(图2)。当获取到时,客户端应用123将唯一标识符203发送到协作服务器113。
接着参考框513,协作服务器113确定唯一标识符203(图2)是否是有效的。例如,协作服务器113可确定在数据存储库111(图1)中是否存在具有唯一标识符203的信息对象116。如果否,则协作服务器113可产生错误。作为另一例子,协作服务器113可进一步确定在数据存储库111中的信息对象116是否是可编辑的信息对象116。如果否,则协作服务器113可产生错误。如果协作服务器113确定唯一标识符203是无效的,则执行继续进行到框543。然而如果信息是有效的,则执行继续进行到框516。
如果执行跳到框543,协作服务器113产生错误消息事件并将错误消息发送到客户端应用123。错误消息可包括识别错误的类型或源、错误描述和错误的原因的错误代码。在一些实施方式中,错误消息本身可以是表示错误并包括可适用的错误信息的信息对象116。在各种实施方式中,协作服务器113也可以将错误和任何相关的错误信息记录到数据存储库111或日志文件用于以后分析。
继续移动到框516,协作服务器113可将选定信息对象116标记为当前被修改或对选定信息对象116的修改在进行中。这可在信息对象116被修改的同时锁定信息对象116或以其他方式防止信息对象116被其他用户、应用或过程修改。在锁定信息对象116之后,协作服务器113然后将信息对象116可被编辑的消息发送到客户端应用123。
接着参考框519,客户端应用123可响应于从协作服务器113接收到消息而使对信息对象116的客户端或本地拷贝的修改能够被做出。例如,客户端应用123可将选定信息对象116的字段标记为可编辑的,实现信息对象116的各种菜单功能或采取类似的行动。
继续进行到框523,客户端应用123得到对选定信息对象116的一个或多个用户修改。在一些实施方式中,客户端应用123可自动保存用户修改。例如,客户端应用123可将每个变化自动发送到协作服务器113,或客户端应用123可在周期性基础上例如每几分钟、每小时或某个其它时间周期成批地将变化发送到协作服务器113。客户端应用123也可在本地在客户端计算设备106(图1)上保存对选定信息对象116的改变或修改。当用户完成修改选定信息对象116时,最后这组变化被发送到协作服务器113。在一些实施方式中,被发送的变化能够以记录在存储在数据存储库111中的信息对象116的拷贝和存储在客户端计算设备106上的信息对象116的拷贝之间的变化的文件格式被发送。在各种实施方式中,变化可替代地作为在本地存储在客户端计算设备106上的信息对象116的拷贝被发送以用于代替存储在数据存储库111中的相应信息对象116的拷贝。在这样的实施方式中,信息对象116的拷贝可被序列化并传输到协作服务器113。
接着参考框526,协作服务器113确定相应于修改的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。如果信息是无效的,则执行继续进行到前面描述的框543。然而如果信息是有效的,则执行继续进行到框529。
继续移动到框529,协作服务器113将对信息对象116的修改存储在数据存储库111中。在一些实施方式中,这可通过改写或代替存储在数据存储库111中的信息对象116的以前拷贝来实现。在其它实施方式中,信息对象116的内容可被编辑或更新,而不是用新拷贝或版本改写信息对象116。
接着参考框533,协作服务器113将对信息对象116的更新完成的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113可将选定信息对象116标记为可编辑的,使得等待对信息对象116进行修改的其他用户或过程可以这么做。
继续移动到框536,客户端应用123接收对选定信息对象116的更新或改变完成的通知。在一些实施方式中,客户端应用123可锁定或以其他方式防止用户在接收到该通知时修改选定信息对象116。执行然后继续进行到框539,其中客户端应用123再现修改的信息对象116。
图6示出根据各种实施方式的提供客户端应用123和协作服务器113的一部分的操作的一个例子的流程图。应理解,图6的流程图仅仅提供可用于实现如本文所述的客户端应用123和协作服务器113的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图6的流程图可被视为描绘根据一个或多个实施方式的在联网环境100(图1)中实现的方法的要素的例子。
以框603开始,客户端应用123接收将被导入到系统中的信息或数据。例如,客户端应用123可接收视频文件、图像文件、便携式文档格式(PDF)文档、文本文档、音频文件或某个其它类型的文件。
随后在框606,客户端应用123分析文件并基于文件在本地创建信息对象116。在一些实施方式中,在最新创建的信息对象116到协作服务器113的上传期间,新信息对象116可以被缓存在本地用于由客户端应用123立即使用。在一些实施方式中,客户端应用123可进一步将唯一标识符203(图2)分配给最新创建的信息对象116并用默认值填充内容206(图2)和形式数据216(图2)。例如,属性213(图2)可以被自动填充有创建信息对象的用户的用户账户信息,且信息对象引用209(图2)可被自动创建以表示相应于父或兄弟信息对象116的相关信息对象223。此外,在一些实施方式中,客户端应用123可基于文件来设置某些属性209的值并可以用至少部分地基于所导入的文件的值填充内容206和形式数据216。
接着继续进行到框609,客户端应用123将最新创建的信息对象116发送到协作服务器113。在一些实施方式中,可例如通过调用信息对象116的函数219(图2)以序列化它并接着将序列化的信息对象116发送到协作服务器113来序列化最新创建的信息对象116。在各种实施方式中,客户端应用113可替代地将唯一标识符203、内容206和形式数据216的拷贝发送到协作服务器113。
接着参考框613,协作服务器113确定相应于最新创建的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。作为另一例子,协作服务器113可检查以确定最新创建的信息对象116的唯一标识符203是否是已经存在于数据存储库111(图1)中的信息对象116的唯一标识符203的副本,这指示最新创建的信息对象116是重复的或在这两个信息对象116的唯一标识符203之间存在需要被解决的冲突。如果信息是无效的,则执行继续进行到框646。然而,如果信息是有效的,则执行继续进行到框616。
如果执行跳到框646,协作服务器113产生错误消息事件并将错误消息发送到客户端应用123。错误消息可包括识别错误的类型或源、错误描述和错误的原因的错误代码。在一些实施方式,错误消息本身可以是表示错误并包括可适用的错误信息的信息对象116。在各种实施方式中,协作服务器113也可将错误和任何相关的错误信息记录到数据存储库111或日志文件用于以后分析。
继续移动到框616,协作服务器113使用从客户端应用123接收的信息在数据存储库111中创建信息对象116。如果必要,协作服务器113也创建所需的任何父或子信息对象以及在最新创建的信息对象116和其它现有的信息对象116之间的任何引用或连接。
接着参考框619,协作服务器113将信息对象116已被创建的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113在一些实施方式中可将最新创建的信息对象116标记为当前被修改或对最新创建的信息对象116的修改在进行中。这可在信息对象116被修改的同时锁定信息对象116或以其他方式防止信息对象116被其他用户、应用或过程修改。
继续进行到框623,客户端应用123从协作服务器113接收信息对象116已被创建的通知。在一些实施方式中,通知也可包括最新创建的信息对象116被标记供编辑或修改的指示。如果最新创建的信息对象被标记供编辑,客户端应用123可使对信息对象116的客户端或本地拷贝的修改能够被做出。例如,客户端应用123可将最新创建的信息对象116的字段标记为可编辑的,实现信息对象116的各种菜单功能,或采取类似的行动。
继续移动到框626,客户端应用123得到对最新创建的信息对象116的一个或多个用户修改。在一些实施方式中,客户端应用123可自动保存用户修改。例如,客户端应用123可将每个变化自动发送到协作服务器113,或客户端应用123可在周期性基础上例如每几分钟、每小时或某个其它时间周期成批地将变化发送到协作服务器113。客户端应用123也可在本地在客户端计算设备106(图1)上保存对最新创建的信息对象116的改变或修改。当用户完成修改最新创建的信息对象116时,最后这组变化被发送到协作服务器113。在一些实施方式中,被发送的变化能够以记录在存储在数据存储库111中的信息对象116的拷贝和存储在客户端计算设备106上的信息对象116的拷贝之间的变化的文件格式被发送。在各种实施方式中,变化可替代地作为在本地存储在客户端计算设备106上的信息对象116的拷贝被发送以用于代替存储在数据存储库111中的相应信息对象116的拷贝。在这样的实施方式中,信息对象116的拷贝可被序列化并传输到协作服务器113。
接着参考框629,协作服务器113确定相应于修改的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。如果信息是无效的,则执行继续进行到前面描述的框646。然而如果信息是有效的,则执行继续进行到框633。
接着继续进行到框633,协作服务器113将对信息对象116的修改存储在数据存储库111中。在一些实施方式中,这可通过改写或代替存储在数据存储库111中的信息对象116的以前拷贝来实现。在其它实施方式中,信息对象116的内容可被编辑或更新,而不是用新拷贝或版本改写信息对象116。
继续移动到框636,协作服务器113将对信息对象116的更新完成的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113可将最新创建的信息对象116标记为可编辑的,使得等待对信息对象116进行修改的其他用户或过程可以这么做。
接着参考框639,客户端应用123接收对最新创建的信息对象116的更新或改变完成的通知。在一些实施方式中,客户端应用123可锁定或以其他方式防止用户在接收到该通知时修改最新创建的信息对象116。执行然后继续进行到框643,其中客户端应用123再现最新创建的信息对象116。
图7示出根据各种实施方式的提供客户端应用123和协作服务器113的一部分的操作的一个例子的流程图。应理解,图7的流程图仅仅提供可用于实现如本文所述的客户端应用123和协作服务器113的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图7的流程图可被视为描绘根据一个或多个实施方式的在联网环境100(图1)中实现的方法的要素的例子。
以框703开始,客户端应用123接收触发事件。触发事件包括指示与触发事件相关的信息对象116应被修改的任何事件。触发事件可包括例如由用户界面300(图1)接收的命令以根据一个或多个预定的规则自动布置或安排所显示的信息对象116的命令。用户界面可然后将触发发送到相应的信息对象116以根据一个或多个预定的规则修改它们的形式数据216。例如,触发事件可指示信息对象116可改变存储在形式数据216中的它们的位置、尺寸或形状值。
继续进行到框706,客户端应用123获取相应于触发事件的信息对象116的唯一标识符203(图2)。当获取到时,客户端应用123将唯一标识符203发送到协作服务器113。
接着参考框709,协作服务器113确定唯一标识符203(图2)是否是有效的。例如,协作服务器113可确定具有唯一标识符203的在数据存储库111(图1)中的信息对象116是否存在。如果否,则协作服务器113可产生错误。作为另一例子,协作服务器113可进一步确定在数据存储库111中的信息对象116是否是可编辑的信息对象116。如果否,则协作服务器113可产生错误。如果协作服务器113确定唯一标识符203是无效的,则执行继续进行到框739。然而如果信息是有效的,则执行继续进行到框713。
如果执行跳到框739,协作服务器113产生错误消息事件并将错误消息发送到客户端应用123。错误消息可包括识别错误的类型或源、错误描述和错误的原因的错误代码。在一些实施方式中,错误消息本身可以是表示错误并包括可适用的错误信息的信息对象116。在各种实施方式中,协作服务器113也可以将错误和任何相关的错误信息记录到数据存储库111或日志文件用于以后分析。
继续移动到框713,协作服务器113可将选定信息对象116标记为当前被修改或对选定信息对象116的修改在进行中。这可在信息对象116被修改的同时锁定信息对象116或以其他方式防止信息对象116被其他用户、应用或过程修改。在锁定信息对象116之后,协作服务器113然后将信息对象116可被编辑的消息发送到客户端应用123。
接着参考框719,客户端应用123响应于触发根据与触发相关的条件来修改信息对象116。在一些实施方式中,在变化被发送到协作服务器113的期间,变化可自动在本地保存在客户端计算设备106(图1)上。
接着参考框723,协作服务器113确定相应于修改的信息对象116的信息是否是有效的。例如,协作服务器113可检查错误作为反序列化过程的部分。协作服务器113可检查以查看数据是否被正确地格式化。如果信息是无效的,则执行继续进行到前面描述的框739。然而如果信息是有效的,则执行继续进行到框526。
继续移动到框726,协作服务器113将对信息对象116的修改存储在数据存储库111中。在一些实施方式中,这可通过改写或代替存储在数据存储库111中的信息对象116的以前拷贝来实现。在其它实施方式中,信息对象116的内容可被编辑或更新,而不是用新拷贝或版本改写信息对象116。
接着参考框729,协作服务器113将对信息对象116的更新完成的通知发送到客户端应用123。该通知可以是以消息、事件通知或其它数据格式的形式。此外,协作服务器113可将选定信息对象116标记为可编辑的,使得等待对信息对象116进行修改的其他用户或过程可以这么做。
继续移动到框733,客户端应用123接收对选定信息对象116的更新或改变完成的通知。在一些实施方式中,客户端应用123可锁定或以其他方式防止用户在接收到该通知时修改选定信息对象116。执行然后继续进行到框736,其中客户端应用123再现修改的信息对象116。
图8示出根据各种实施方式的提供客户端应用123和协作服务器113的一部分的操作的一个例子的流程图。应理解,图8的流程图仅仅提供可用于实现如本文所述的客户端应用123和协作服务器113的部分的操作的很多不同类型的功能布置的例子。作为可选方案,图8的流程图可被视为描绘根据一个或多个实施方式的在联网环境100(图1)中实现的方法的要素的例子。
以框803开始,客户端应用123从数据源接收将被添加到现有的信息对象116(图1)的数据。数据源例如可包括一个或多个传感器和/或其它数据馈源126(图1)。数据可作为信息对象116或一系列信息对象116被接收。例如,温度传感器可记录一系列温度并将它们提供到客户端应用123作为一系列信息对象116或作为表示温度读数的流或系列的单个信息对象116。在一些实施方式中,传感器和/或其它数据馈源可提供数据作为还没有被处理成一个或多个信息对象116的原始数据。也注意,在一些实施方式中,传感器和/或其它数据馈源126可将信息直接提供到协作服务器113。
接着参考框806,客户端应用123确认由一个或多个传感器和/或其它数据馈源126提供的信息生效。确认生效可取决于由一个或多个传感器和/或其它数据馈源126提供的信息的类型。如果数据是以信息对象116的形式接收的,则客户端应用123可确定信息对象是否有效地被格式化和构造。如果数据作为原始数据被接收,则客户端应用123可对所接收的数据执行生效检查。如果所接收的数据是无效的,则执行跳到框843。如果所接收的数据是有效的,则执行继续进行到框809。
如果执行跳到框843,则客户端应用将指示所接收的数据或信息对象116是无效的错误消息发送到传感器和/或其它数据馈源126。在一些实施方式中,客户端应用123也可产生待在用户界面300(图1)内再现的错误消息和/或将错误或错误消息写到日志。过程然后终止。
然而如果执行继续进行到框809,则客户端应用123调用现有的信息对象116的一个或多个函数219(图2)。作为调用过程的部分,客户端应用123可向协作服务器113查询或请求待调用的函数219的最近或最当前版本的拷贝。例如,如果由一个或多个传感器和/或其它数据馈源126提供的数据是温度数据或一系列温度读数,则客户端应用123可调用现有的信息对象116的“AddNewTemperatureReading”函数219以通过将创建在现有的信息对象116之间的关联的信息对象引用209(图2)添加到现有的信息对象116来添加接收的数据。在一些实施方式中,一般“AddNewData”函数219可被调用以在所接收的数据和现有的信息对象116之间创建信息对象引用209。
接着继续进行到框813,协作服务器113确定所提供的数据是否是有效的。例如,协作服务器可确定由客户端应用123关于待调用的函数219提供的变元是否是正确的。使用温度传感器的例证性例子,协作服务器可确定客户端应用123是否将温度读数传递到“AddNewTemperatureReading”函数219或客户端应用123是否试图传递与温度数据无关的变元。作为另一例子,协作服务器113可确定对函数219的最当前版本的请求是否是有效的。作为例子,所请求的函数可以不存在或可以被弃用或从系统的当前实现移除,且因此该函数可不再可用于被调用。在一些实施方式中,函数219的子集可能需要提高的或特殊的许可来执行,且因此协作服务器113必须确定客户端应用213是否有适当的许可来执行函数219。如果协作服务器113确定对函数219的最近版本的请求是无效的,则执行跳到框846。然而,如果协作服务器113确定请求是有效的,则执行继续进行到框816。
向前跳到框846,协作服务器113产生错误消息事件并将错误消息发送到客户端应用123。错误消息可包括识别错误的类型或源、错误描述和错误的原因的错误代码。在一些实施方式中,错误消息本身可以是表示错误并包括可适用的错误信息的信息对象116。在各种实施方式中,协作服务器113也可以将错误和任何相关的错误信息记录到数据存储库111(图1)或日志文件用于以后分析。
接着参考框816,协作服务器113查询数据存储库111以确定客户端应用123被请求执行的函数219的最当前版本。协作服务器113然后将函数219的最当前版本的代码或逻辑发送到客户端应用123。在一些实施方式中,函数219可作为人可读源代码被发送。在其它实施方式中,函数219可被序列化并发送到客户端应用123。
继续移动到框819,客户端应用123从协作服务器113接收函数219的最近版本。如果函数219被提供为人可读源代码,则客户端应用123可将人可读源代码编译或解释成机器可读二进制。如果函数219以序列化形式被发送,则函数219可由客户端应用123反序列化。客户端应用123然后执行函数219。
接着继续进行到框823,在框819中执行的函数219的结果被发送到协作服务器113。在一些实施方式中,结果可作为最新创建的数据对象116或信息对象116的集合被发送。
接着参考框826,协作服务器113确定在框819中调用的函数的结果是否是有效的。例如,协作服务器113可确定因而产生的信息对象116是否被正确地格式化。作为另一例子,协作服务器113可确定在因而产生的一个或多个信息对象116和在数据存储库111中的任何现有的信息对象116之间是否存在冲突。如果结果是无效的,则执行跳到框846,如前所述。如果结果是有效的,则执行替代地继续进行到框829。
继续移动到框829,协作服务器113将初始信息对象116标记为被修改。这锁定或以其他方式防止初始信息对象116被其它客户端应用123或过程修改。协作服务器然后将从在框819中执行的函数219产生的数据或信息对象116保存到数据存储库111,且也保存将初始信息对象116链接到最新创建的信息对象116所必需的任何修改。
接着继续进行到框833,协作服务器113将相应的信息对象116标记为已经被修改,将信息对象116解锁,使得其它客户端应用123或其它过程可读取或修改它们。协作服务器113然后将指示对相应的信息对象116的所有改变完成的消息发送到客户端应用123。接着参考框836,客户端应用123从协作服务器113接收对数据存储库111中的信息对象116的更新已完成的通知。继续移动到框839,在框809中调用并在框819中执行的函数219完成,且函数219结束。
参考图9,示出了根据本公开的实施方式的计算环境103的示意性方框图。计算环境103包括一个或多个计算设备900。每个计算设备900包括例如具有都耦合到本地接口909的处理器903和存储器906的至少一个处理器电路。为此目的,每个计算设备900可包括例如至少一个服务器或类似设备。本地接口909可包括例如具有附随的地址/控制总线或如可被认识到的其它总线结构的数据总线。
存储在存储器906中的是由处理器903可执行的数据和几个部件。特别是,存储在存储器906中并由处理器903可执行的是协作服务器113且可能是其它应用。此外,存储在存储器906中的可以是数据存储库111和其它数据。此外,操作系统911可存储在存储器906中并由处理器903可执行。
应理解,可以有存储在存储器906中并由处理器903可执行的其它应用,如可认识到的。在本文讨论的任何部件可在软件的形式中实现的场合,可使用多种编程语言中的任一个,例如C、C++、C#、ObjectiveC、 Perl、PHP、Visual Ruby、或其它编程语言。
多个软件部件存储在存储器906中并由处理器903可执行。在这个方面中,术语“可执行”意指以可最终由处理器903运行的形式的程序文件。可执行程序的例子可以是编译程序,其例如可被转换成以可被装入存储器906的随机存取部分中并由处理器903运行的格式的机器代码、可以用正确的格式表示的源代码例如能够被装入存储器906的随机存取部分中并由处理器903执行的对象代码或可由另一可执行程序解释以产生在被存储器906的随机存取部分中并由处理器903执行的指令的源代码等。可执行程序可存储在存储器1006的任何部分或部件中,包括例如随机存取存储器(RAM)、只读存储器(RAM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储卡、光学盘例如光盘(CD)或数字通用盘(DVD)、软盘、磁带或其它存储器部件。
存储器906在本文被定义为包括易失性和非易失性存储器和数据存储部件。易失性部件是在失去电力时不保留数据值的那些部件。非易失性部件是在失去电力时保留数据的那些部件。因此,存储器906可包括例如随机存取存储器(RAM)、只读存储器(RAM)、硬盘驱动器、固态驱动器、USB闪存驱动器、经由存储器读卡器访问的存储卡、经由软盘驱动器访问的软盘、经由光学盘驱动器访问的光学盘、经由适当的磁带驱动器访问的磁带和/或其它存储器部件或这些存储器部件中的任意两个或更多个的组合。此外,RAM可包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)和其它这样的设备。ROM可包括例如可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类型的存储器设备。
此外,处理器903可代表多个处理器903和/或多个处理器核心,且存储器906可代表分别在并联处理电路中操作的多个存储器906。在这样的情况下,本地接口909可以是便于在多个处理器903的任两个之间、在任一处理器903和任一存储器906之间或在存储器906中的任两个之间等通信的适当网络。本地接口909可包括设计成协调这个通信——包括例如执行负载平衡——的额外系统。处理器903可具有电气或某个其它可用结构。
虽然协作服务器113和客户端应用123和本文所述的其它各种系统可体现在由如上讨论的通用硬件执行的软件或代码中,作为可选方案,它们也可体现在专用硬件或软件/通用硬件和专用硬件的组合中。如果体现在专用硬件中,则每个可被实现为使用多种技术的任一个或组合的电路或状态机。这些技术可包括但不限于具有用于在应用一个或多个数据信号时实现各种逻辑功能的逻辑门的分立逻辑电路、具有适当的逻辑门的专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它部件等。这样的技术通常是本领域中的技术人员公知的,且因此不在本文被详细描述。
在本公开中可描述协作服务器113或客户端应用123的部分的实现的功能和操作。如果体现在软件中,则所述功能可代表包括实现规定的逻辑功能的程序指令的代码的模块、段或部分。程序指令可体现在包括以编程语言编写的人可读语句的源代码或包括由在计算机系统或其它系统中的适当执行系统例如处理器903可识别的数字指令的机器代码的形式中。机器代码可从源代码等转换。如果体现在硬件中,则每个块可代表电路或多个互连的电路以实现规定的逻辑功能。
虽然可描述应用的特定执行顺序,应理解,执行顺序可不同于所描述的顺序。所述功能可同时或与其它所述功能并行地实现。而且,所述功能可以按与在本公开中描述或描绘的顺序不同的顺序出现。此外,在一些实施方式中,可跳过或省略本文所述的功能。此外,为了增强的实用性、记账、性能测量或提供检修等的目的,任何数量的计数器、状态变量、警告信号灯或消息可被添加到本文所述的逻辑流程。应理解,所有这样的变化都在本公开的范围内。
此外,包括软件或代码的本文所述的任何逻辑或应用——包括协作服务器113和客户端应用123——可体现在任何非临时计算机可读介质中用于由或结合指令执行系统例如在计算机系统或其它系统中的处理器903来使用。在这个意义上,逻辑可包括例如包括可从计算机可读介质中取出并由指令执行系统执行的指令和声明的语句。在本公开的上下文中,“计算机可读介质”可以是可包含、存储或维持本文所述的逻辑或应用用于由或结合指令系统来使用的任何介质。
计算机可读介质可包括很多物理介质中的任一个,例如磁、光或半导体介质。适当的计算机可读介质的更特定的例子将包括但不限于磁带、磁性软盘、磁硬盘驱动器、存储卡、固态驱动器、USB闪存驱动器或光盘。此外,计算机可读介质可以是随机存取存储器(RAM),包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)。此外,计算机可读介质可以是只读存取存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类型的存储器设备。
应强调,本公开的上述实施方式仅仅是为了本公开的原理的清楚理解而产生的实现的可能的例子。可对上述实施方式做出很多变化和修改而实质上不偏离本公开的精神和原理。所有这样的修改和变化被规定为在本文中被包括在本公开的范围内并被下面的权利要求保护。

Claims (20)

1.一种体现程序的非临时计算机可读介质,所述程序包括:
在客户端计算设备上产生用户界面的代码;
响应于再现信息对象的请求,代表用户向协作服务器查询待在所述用户界面内再现的所述信息对象的代码;
从接收自所述协作服务器的所述信息对象获取形式数据的代码;以及
至少部分地基于所述信息对象的所述形式数据在所述用户界面内再现所述信息对象的代码。
2.如权利要求1所述的非临时计算机可读介质,还包括:
从所述信息对象获取相关信息对象的标识的代码;
向所述协作服务器查询所述相关信息对象的代码;以及
在所述用户界面内再现所述相关信息对象的代码。
3.如权利要求2所述的非临时计算机可读介质,还包括在所述用户界面内再现在所述信息对象和所述相关信息对象之间的关系的指示的代码。
4.如权利要求1-3中的任一项所述的非临时计算机可读介质,还包括:
得到所述信息对象的修改的代码;
将所述修改发送到所述协作服务器的代码;
响应于从所述协作服务器接收到所述修改是有效的第一通知而在所述用户界面内再现所述信息对象的已修改版本的代码;以及
响应于从所述协作服务器接收到所述修改是无效的第二通知而在所述用户界面内再现错误消息的代码。
5.如权利要求1-4中的任一项所述的非临时计算机可读介质,还包括:
响应于从数据源接收到数据而产生新信息对象的代码;
创建将所述信息对象链接到所述新信息对象的信息对象引用的代码;以及
将所述信息对象、所述新信息和所述信息对象引用发送到所述协作服务器的代码。
6.如权利要求5所述的非临时计算机可读介质,其中所述数据源包括产生数据并将所述数据传输到所述计算设备的电子设备。
7.如权利要求1-6中的任一项所述的非临时计算机可读介质,其中所述信息对象包括唯一标识符、属性、信息对象引用、形式数据或函数。
8.一种系统,包括:
计算设备;
在所述计算设备上可执行的应用,所述应用包括:
在客户端计算设备上产生用户界面的逻辑;
响应于再现信息对象的请求,代表用户向协作服务器查询待在所述用户界面内再现的所述信息对象的逻辑;
从接收自所述协作服务器的所述信息对象获取形式数据的逻辑;以及
至少部分地基于所述信息对象的所述形式数据在所述用户界面内再现所述信息对象的逻辑。
9.如权利要求8所述的系统,其中,所述应用还包括:
从所述信息对象获取相关信息对象的标识的逻辑;
向所述协作服务器查询所述相关信息对象的逻辑;以及
在所述用户界面内再现所述相关信息对象的逻辑。
10.如权利要求9所述的系统,其中所述应用还包括在所述用户界面内再现在所述信息对象或所述相关信息对象之间的关系的指示的逻辑。
11.如权利要求8-10中的任一项所述的系统,其中,所述应用还包括:
得到所述信息对象的修改的逻辑;
将所述修改发送到所述协作服务器的逻辑;
响应于从所述协作服务器接收到所述修改是有效的第一通知而在所述用户界面内再现所述信息对象的已修改版本的逻辑;以及
响应于从所述协作服务器接收到所述修改是无效的第二通知而在所述用户界面内再现错误消息的逻辑。
12.如权利要求8-11中的任一项所述的系统,其中,所述应用还包括:
响应于从数据源接收到数据而产生新信息对象的逻辑;
创建将所述信息对象链接到所述新信息对象的信息对象引用的逻辑;以及
将所述信息对象、所述新信息和所述信息对象引用发送到所述协作服务器的逻辑。
13.如权利要求12所述的系统,其中所述数据源包括产生数据并将所述数据传输到所述计算设备的电子设备。
14.如权利要求8-13中的任一项所述的系统,其中所述信息对象包括唯一标识符、属性、信息对象引用、形式数据或函数。
15.一种方法,包括:
经由计算设备在客户端计算设备上产生用户界面;
经由所述计算设备响应于再现信息对象的请求代表用户向协作服务器查询待在所述用户界面内再现的所述信息对象;
经由所述计算设备从接收自所述协作服务器的所述信息对象获取形式数据;以及
经由所述计算设备至少部分地基于所述信息对象的所述形式数据在所述用户界面内再现所述信息对象。
16.如权利要求15所述的方法,还包括:
经由所述计算设备从所述信息对象获取相关信息对象的标识;
经由所述计算设备向所述协作服务器查询所述相关信息对象;以及
经由所述计算设备在所述用户界面内再现所述相关信息对象。
17.如权利要求16所述的方法,还包括经由所述计算设备在所述用户界面内再现在所述信息对象和所述相关信息对象之间的关系的指示。
18.如权利要求15-17中的任一项所述的方法,还包括:
经由所述计算设备得到所述信息对象的修改;
经由所述计算设备将所述修改发送到所述协作服务器;
经由所述计算设备响应于从所述协作服务器接收到所述修改是有效的第一通知而在所述用户界面内再现所述信息对象的已修改版本;以及
经由所述计算设备响应于从所述协作服务器接收到所述修改是无效的第二通知而在所述用户界面内再现错误消息。
19.如权利要求15-18中的任一项所述的方法,还包括:
经由所述计算设备响应于从数据源接收到数据而产生新信息对象;
经由所述计算设备创建将所述信息对象链接到所述新信息对象的信息对象引用;以及
经由所述计算设备将所述信息对象、所述新信息和所述信息对象引用发送到所述协作服务器。
20.如权利要求15-19中的任一项所述的方法,其中所述信息对象包括唯一标识符、属性、信息对象引用、形式数据和函数。
CN201480026525.0A 2013-03-15 2014-03-14 信息对象系统的可视化界面 Active CN105229564B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361787688P 2013-03-15 2013-03-15
US61/787,688 2013-03-15
US14/208,346 US9772984B2 (en) 2013-03-15 2014-03-13 Visualization interface for information object system
US14/208,346 2014-03-13
PCT/US2014/027197 WO2014152312A1 (en) 2013-03-15 2014-03-14 Visualization interface for information object system

Publications (2)

Publication Number Publication Date
CN105229564A true CN105229564A (zh) 2016-01-06
CN105229564B CN105229564B (zh) 2018-08-10

Family

ID=51581183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480026525.0A Active CN105229564B (zh) 2013-03-15 2014-03-14 信息对象系统的可视化界面

Country Status (5)

Country Link
US (2) US9772984B2 (zh)
EP (1) EP2972666B1 (zh)
CN (1) CN105229564B (zh)
HK (1) HK1218981A1 (zh)
WO (1) WO2014152312A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036914B2 (en) * 2017-06-29 2021-06-15 Salesforce.Com, Inc. Automatic layout engine
US11683354B2 (en) * 2021-08-25 2023-06-20 Adobe Inc. Systems for resolving conflicts in collaborative digital content editing

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933597A (en) * 1996-04-04 1999-08-03 Vtel Corporation Method and system for sharing objects between local and remote terminals
US20050086608A1 (en) * 2003-10-17 2005-04-21 Andreas Roessler Selective rendering of user interface of computer program
US20060010258A1 (en) * 2004-07-09 2006-01-12 Microsoft Corporation Dynamic object validation
US20070226314A1 (en) * 2006-03-22 2007-09-27 Sss Research Inc. Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
US20090327277A1 (en) * 2006-07-09 2009-12-31 90 Dgree Software Inc. Methods and apparatus for reusing data access and presentation elements
US20100185961A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Flexible visualization for services
CN102279948A (zh) * 2010-06-10 2011-12-14 微软公司 联系人信息的合并与重复解决
CN102355492A (zh) * 2011-09-30 2012-02-15 浙江元亨通信技术有限公司 软交换应急指挥调度系统
US20140063042A1 (en) * 2012-08-31 2014-03-06 Google Inc. Display error indications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324544B1 (en) * 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US20100332998A1 (en) * 2009-06-26 2010-12-30 Xerox Corporation Collaborative document environments in three-dimensional virtual worlds
US9081735B2 (en) 2011-02-12 2015-07-14 International Business Machines Corporation Collaborative information source recovery

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933597A (en) * 1996-04-04 1999-08-03 Vtel Corporation Method and system for sharing objects between local and remote terminals
US20050086608A1 (en) * 2003-10-17 2005-04-21 Andreas Roessler Selective rendering of user interface of computer program
US20060010258A1 (en) * 2004-07-09 2006-01-12 Microsoft Corporation Dynamic object validation
US20070226314A1 (en) * 2006-03-22 2007-09-27 Sss Research Inc. Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
US20090327277A1 (en) * 2006-07-09 2009-12-31 90 Dgree Software Inc. Methods and apparatus for reusing data access and presentation elements
US20100185961A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Flexible visualization for services
CN102279948A (zh) * 2010-06-10 2011-12-14 微软公司 联系人信息的合并与重复解决
CN102355492A (zh) * 2011-09-30 2012-02-15 浙江元亨通信技术有限公司 软交换应急指挥调度系统
US20140063042A1 (en) * 2012-08-31 2014-03-06 Google Inc. Display error indications

Also Published As

Publication number Publication date
HK1218981A1 (zh) 2017-03-17
WO2014152312A1 (en) 2014-09-25
CN105229564B (zh) 2018-08-10
EP2972666A4 (en) 2016-10-19
US9772984B2 (en) 2017-09-26
US20160321223A1 (en) 2016-11-03
EP2972666B1 (en) 2019-07-17
US20170364496A1 (en) 2017-12-21
EP2972666A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
Celik et al. Blockchain supported BIM data provenance for construction projects
US20180342171A1 (en) Managing lifelong learner events on a blockchain
CN101110020B (zh) 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统
DeRoos Hadoop for dummies
Rosenberg et al. The next frontier: Making research more reproducible
CN108351766A (zh) 从移动设备创建和修改应用
Ohri R for cloud computing: An approach for data scientists
CN105229564A (zh) 信息对象系统的可视化界面
US9395955B2 (en) Programming system and method
CN109997144A (zh) 对于固态驱动器的分开加密
JP2016516315A (ja) 処理情報をアセットデータにマッピングする方法および装置
Hill et al. GeoPhylo: an online tool for developing visualizations of phylogenetic trees in geographic space
Xu et al. Interactive web application for traffic simulation data management and visualization
Chaffai et al. E-learning real time analysis using large scale infrastructure
Nebro et al. Design and architecture of the jMetaISP framework
CN107078998A (zh) 信息对象系统
Lauriault et al. The preservation and archiving of geospatial digital data: challenges and opportunities for cartographers
Abell MATLAB and SIMULINK. Modeling dynamic systems
US10229128B2 (en) Method and apparatus for the generation, organization, storage and retrieval of time stamped blocks of data
Lorenzo et al. A framework for helping developers in the integration of external tools into virtual learning environments
Wonderly Improving the Interoperability of the OpenDSA eTextbook System
Judvaitis et al. Poster: IoT-Edge-Cloud Continuum data flow validation tool
Thanki et al. wigExplorer, a BioJS component to visualise wig data
Reese Using MarcEdit to Bridge the Distance between AACR2 and RDA
Berman The current state of geospatial modeling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1218981

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant