CN109154995B - 利用可扫描码的复制和粘贴 - Google Patents

利用可扫描码的复制和粘贴 Download PDF

Info

Publication number
CN109154995B
CN109154995B CN201680070822.4A CN201680070822A CN109154995B CN 109154995 B CN109154995 B CN 109154995B CN 201680070822 A CN201680070822 A CN 201680070822A CN 109154995 B CN109154995 B CN 109154995B
Authority
CN
China
Prior art keywords
data
computing system
source computing
data source
content
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.)
Active
Application number
CN201680070822.4A
Other languages
English (en)
Other versions
CN109154995A (zh
Inventor
李武军
张洪瑞
张毅
S·穆德纳尔
吴飞
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109154995A publication Critical patent/CN109154995A/zh
Application granted granted Critical
Publication of CN109154995B publication Critical patent/CN109154995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

将一种可扫描码用于促进对内容的复制和粘贴,其中,该内容连同上下文信息被直接串行化和编码到可扫描码中。当对可扫描码进行解码时,该内容以与内容信息一致的方式被粘贴到期望的位置。

Description

利用可扫描码的复制和粘贴
背景技术
计算机和计算系统影响现代生活的几乎每个方面。例如,计算机通常参与工作、休闲、健康护理、交通、娱乐、家庭管理等等。
计算机系统功能常常通过经由网络连接对计算机系统进行互连来增强。这些网络连接允许计算机系统访问来自远程计算系统的服务和数据并在那些系统之间快速和高效地发送数据。
计算机配置包括各种形状因子,包括台式机、膝上型设备、输入板设备、平板设备、移动电话、PDA等等。计算机还被配置有硬件和软件接口以促进直接用户交互。例如,计算机可以包括键盘、鼠标、触摸板、相机、陀螺仪、以及用于接收输入的其它硬件,同时使用显示器、扬声器、触觉反馈设备以及其它硬件来呈现输出。
软件接口(包括图形用户接口)用于接收输入和呈现输出二者。一些编码软件接口可操作用于生成包含经编码链接的可扫描码。例如QR码(快速响应码)可以利用URL或其它链接来编码。对应的光学传感器和解码接口可操作用于对这些码进行扫描、对链接进行解码、并且从而访问在特定的远程位置或者更通常地在‘云’内保持的对应数据。
‘云’包括可以按需提供和释放的可配置计算资源(例如,网络、服务器、存储、应用、服务等等)的共享池。云可以被配置有各种服务模型(例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)、基础设施即服务(“IaaS”))和部署模型(例如,私有云、社区云、公共云、混合云等等)。
本文所要求保护的主题内容不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。相反,提供该背景仅仅是为了说明可以实践本文所描述的一些实施例的一个示例性技术领域。
发明内容
提供本发明内容以便用简化形式介绍一系列概念,这些概念将在以下具体实施方式中进一步描述。本发明内容并非旨在标识所要求保护的主题内容的关键特征或必要特征,也不旨在用作为确定所要求保护的主题内容的范围的辅助。
本公开内容的实施例包括用于促进对可扫描码的使用以在设备之间共享内容并且在一些实施例中用于利用可扫描码来促进复制和粘贴功能的系统、方法和存储设备。
在一些实施例中,一种数据源计算系统被配置用于通过利用包括经复制数据的可扫描码来促进复制和粘贴功能,该经复制数据连同对应于格式的上下文信息以及被复制并直接编码到可扫描码中的数据的应用上下文被编码。
在一些实施例中,一种目的计算系统被配置为:对来自可扫描码的内容和对应上下文信息进行解码,并利用相同的对应上下文将经复制内容粘贴到目的设备上的应用实例中。
提供一些实施例以便利用可扫描码来促进直接对等数据传输而无需利用互联网、云、其它中间计算设备和/或其它网络信道来发送数据。
提供另外的其它实施例以便利用可扫描码来促进对内容的编写、加密压缩和/或替换以及对可扫描码解码以访问经编写、经加密、经压缩和/或经替换的内容。
另外的特征和优点将在以下描述中阐述,并且部分地通过描述将显而易见,或者可以通过本文的教导的实践来学习。可通过特别在所附权利要求中指出的装置和组合来实现和获得本发明的特征和优点。本发明的特征通过以下描述和所附权利要求将变得更加充分地显而易见,或者可以通过如后文阐述的本发明的实践来学习。
附图说明
为了描述能够获得上面记载的以及其它优点和特征的方式,将通过参考附图中所示出的特定实施例来呈现对上面简要描述的主题内容的更具体描述。要理解,这些附图仅描绘典型实施例并且因此不应被视为对范围的限制,将通过使用附图利用另外的特性和细节来描述和解释实施例,其中:
图1示出了具有可以由用于利用可扫描码来促进复制和粘贴功能的源计算系统来实现的各种动作的流程图;
图2示出了具有可以由用于利用可扫描码来促进复制和粘贴功能的目的计算系统来实现的各种动作的流程图;
图3示出了具有可以由用于利用可扫描码而不利用中间计算设备来促进对等内容传输的源计算系统来实现的各种动作的流程图;
图4示出了具有可以由用于利用可扫描码而不利用中间计算设备来促进对等内容传输的目的计算系统来实现的各种动作的流程图;
图5示出了具有可以由用于促进对可扫描码的使用以利用可扫描码来加密、编写和/或替换内容的计算系统来实现的各种动作的流程图;
图6A-图6B示出了包括由可扫描码(图6B中)替换的敏感信息(图6A中)的内容的示例;
图7示出了一种源设备,该源设备显示具有所选择内容的应用接口以及包括可选择对象的交互式复制工具,该可选择对象在被选择时使得所选择内容与对应的上下文信息一起被编码到可扫描码中;
图8示出了一种源设备和一种目的设备,其中该源设备显示被编码有经复制内容和对应上下文信息的可扫描码,并且目的设备显示具有交互式粘贴工具的接口的所选择位置,该交互式粘贴工具包括可选择对象,该可选择对象在被选择时使得对可扫描码进行扫描和解码并将对应内容粘贴利用基于上下文信息的格式粘贴到所选择位置中;以及
图9示出了在将经解码的内容利用基于对应的经解码上下文信息的格式粘贴到所选择位置中之后图8的目的设备。
具体实施方式
以下讨论现在参考可以执行的多个方法和方法动作。尽管方法动作可以按某种顺序来讨论或者在流程图中示出为按特定顺序发生,但除非特别声明,否则不需要特定的排序,或者由于一动作取决于另一动作在执行该动作之前完成而需要特定的排序。
如上面指示的,本公开内容的实施例包括用于促进对可扫描码的使用并且在一些实施例中用于利用可扫描码来促进复制和粘贴功能的系统、方法和存储设备。
例如,在一种实现方式中,数据源计算系统从源应用实例复制数据集合,并将该数据编码到可扫描码中,该可扫描码还包括与格式相对应的经编码上下文信息以及被复制的数据的应用上下文。
在相关实例中,目的计算系统对来自可扫描码的经复制数据和对应上下文信息进行扫描和解码,并且此后利用存在于源应用实例处的相同对应上下文,将经复制内容粘贴到目的设备处的应用实例中。
在一些实例中,两个设备使用可扫描码来执行直接对等数据传输,而无需利用互联网、云、中间计算设备和/或其它网络信道。
在另外的其它实例中,由一个或多个可扫描码在文档内对数据选择性地编写、加密、压缩和/或替换。在稍后的时间对这些可扫描码选择性地解码以访问经编写、经加密、经压缩和/或经替换的内容。随后,在一些实例中,可扫描码随后由文档内的所访问内容来替换。
现在将参考描述和示出所公开的用于利用可扫描码的实施例的不同方面的各种流程图和图示,例如利用可扫描码来实现复制和粘贴功能(图1-图2和图7-图9),利用可扫描码的对等内容传输(图3-图4和图8),以及利用可扫描码来加密、编写和/或替换内容(图5、图6A和图6B)。
图1的流程图100反映了一种用于利用可扫描码来实现复制和粘贴功能的方法。该流程图100包括由包含要被复制的数据内容的计算系统来执行的多个动作。该计算系统在本文中被称为数据源计算系统。数据源计算系统的示例包括图7-图9的移动设备700。
该数据源计算系统包括被配置为执行计算机可执行指令的至少一个硬件处理器702、显示屏710以及具有所存储的计算机可执行指令的一个或多个硬件存储设备712,这些计算机可执行指令可由该至少一个硬件处理器702执行以使得数据源计算系统实现至少流程图100中所示出的动作。
例如,数据源计算系统或移动设备700执行所存储的指令以标识所选择的数据(动作102),所选择的数据可以是从应用中选择的任何数据。所选择的数据的示例包括在源应用接口720的所选择部分714中呈现的数据,该源应用接口720目前在移动设备700的显示屏710上显示。
将意识到,所选择的数据可以包括任何数据类型并且不限于字符或文本数据。例如,所选择的数据还可以包括图像数据(例如,图表、示图、照片、绘图、显示对象等等)以及字符和图像数据的组合。在一些实例中,所选择的数据或内容与特定的数据上下文信息集合相关联,该数据上下文信息集合也被标识以便与所选择的数据一起包括在可扫描码中(动作104)。
该数据上下文信息包括应用专用上下文信息和内容格式专用上下文信息的任意组合。例如,数据上下文信息包括以下各项的任意组合:一个或多个应用类型、应用版本、数据类型、与所选择的数据在源应用中的相对定位相对应的定位信息、显示属性(例如,透明度、字体类型、阴影、着色、高亮和/或其它显示属性)、作者信息、公式信息和/或与所选择的数据和/或源应用相对应的编辑版本信息。在一些实例中,源设备的设备特性和/或用户凭证以及授权信息也包括在数据上下文信息内。
在图7的实施例中,来自应用接口720的内容/数据的所选择部分714包括一列电子表格的一部分,包括四个单独的单元,这些单元包含抽象地被表示为‘A’、‘B’、‘C’和‘D’的数据。然而,将意识到,该数据(A、B、C和D)实际上可以表示其它形式的数据内容,包括文本、数字、公式、图像和/或其它类型的数据的任意组合,如上面建议的。可以表示的不同数据类型的一些其它示例包括例如字符串、整数、字符、不同类型的货币、不同的语言类型、日期、时间、符号等等,这些数据类型可以是或者可以不是唯一的或者包括与具体应用相对应的特定格式。
对数据上下文信息的标识可以包括解析数据字段并检查与所选择的数据或者包含数据的容器(例如,列、行、字段和其它容器)相关联的元数据以标识数据类型和数据格式,以及对应的容器信息、应用信息、设备信息、用户信息或使用限制信息的任意组合。
如上面指示的,对数据上下文信息的标识还可以包括:标识所选择的数据相对于其它应用接口组件的位置。对数据上下文信息的标识还可以包括:标识应用于所选择的数据以及由所选择的数据引用但未利用用户所选择的图形边界显式地包括的其它数据的可执行程序和公式。所有这些相关信息可以包括在所标识的数据上下文信息中(动作104)。
在标识所选择的内容(动作102)和对应的数据上下文信息(动作104)之后,数据源计算系统标识要被串行化并编码到可扫描码中的所选择的内容的部分和数据上下文信息(动作106)。
在一些实施例中,这通过首先标识要利用的码类型和针对该码的存储约束、以及要编码到其中的所选择内容和数据上下文信息的经估计大小(动作108)来完成。例如,存在不同类型的可扫描码,包括但不限于条形码、QR码(模型1、模型2、MicroCode、iQR、SQRC、帧QR等等)以及其它码,这些码可以是单色或者色谱码,并且所有码具有与在码内可以表示的不同数据类型(例如,数字、字母数字、汉字等等)相对应的不同存储容量和约束。
如果内容和数据上下文信息(一旦串行化/编码)的总量将超过所选择的QR码或要使用的其它所选择可扫描码的可接受存储约束,则最终将仅标识所选择的内容和/或数据上下文信息的有限集合或部分以用于实际串行化/编码到可扫描码中。因此,在一些实例中,数据源计算系统将禁止对所有所选择的数据进行串行化和编码,因为没有用于所有所选择数据的空间。
在一些实施例中,所选择的用于串行化/编码的数据的有限集合或部分将包括至少一些或全部上下文信息,这些上下文信息足以确定来自源应用实例的数据的位置、大小和/或相位位置参数,以使得接收设备可以分配充足的显示/存储资源以便将内容粘贴到对应的应用实例中。
未被选择用于串行化/编码的任何内容可以存储在源设备上的一个或多个位置或者远离源设备的另一位置处。针对任何此类存储位置的一个或多个链接也包括在另外的数据上下文信息中,该另外的数据上下文信息将连同所标识/选择的内容的部分和上下文信息被串行化/编码到可扫描码中。
对于做出可扫描码内不存在充足的容量用于所有所选择的数据和上下文信息的确定的实例,源设备、用户和/或目的设备可以指示可以改变/减小所选择的数据和/或上下文信息的保真度以降低用于存储所选择的数据和上下文信息的要求(动作110)。
举例而言,如果用于存储经串行化/经编码内容的要求是2MB并且超过预先确定的可扫描码的容量(例如,1.5MB),则可以通过压缩图像数据、调整图像数据的大小、截短数值数据、截短字符串、消除字体定义和其它格式定义、执行其它压缩过程等等来降低内容的保真度,直至用于存储经调整大小的经串行化/经编码内容的要求小于或等于1.5MB。
通过消除内容、调整内容的大小和/或压缩内容来降低保真度的过程(动作110)可以顺序地或者迭代地执行,直至存储要求符合基于任何策略和优先级层级(例如,用于在消除字体定义之前调整内容的大小的策略、用于在压缩数据之前截短无效数字的策略、用于在裁剪图像之前改变图像的分辨率的策略等等)所确定的可扫描码的约束。
在一些实施例中,其中做出可扫描码内不存在充足的容量用于所有所选择的数据和上下文信息,源设备将动态地选择使用具有较大存储容量的不同类型的可扫描码(例如,相比于具有1,167字符容量的模型1QR码,选择具有40,000字符容量的iQR码)。
可以基于应用、设备或用户设置以及动态检测的条件来自动地做出对不同可扫描码和保真度设置的选择。对选择和/或切换可扫描码或保真度设置的触发还可以基于响应于提示而直接提供的用户输入,该提示是响应于检测到保证选择不同的可扫描码或保真度设置的条件而提供给用户的。
随后对所标识的所选择数据的部分和数据上下文信息进行串行化(动作112)(例如,利用XML或任何其它串行化)并编码成(动作112)预先确定的/选择的可扫描码的格式。当所标识的所选择数据的部分仅仅是所选择数据的子集时,该经串行化的数据可以包括一个或多个链接,如上面指示的。替代地,当所有所选择的数据装入可扫描码时,则经串行化的内容可以省略任何链接。
随后在数据源计算设备处呈现该可扫描码(动作116)以便由目的设备扫描或者以其它方式发送给目的设备(动作118),例如通过电子邮件、消息或其它传输。
特别针对图7-图9的实施例,在移动设备对包含在应用接口720的所选择部分714内的数据(A、B、C和D)连同定义格式、数据类型的对应数据上下文以及针对该数据的其它应用专用数据上下文信息进行串行化和编码之后,在移动设备700的屏幕上呈现QR码750。在该实施例中,经编码的数据和数据上下文包括所有所选择的数据或者仅所选择数据的有限部分,如上面描述的,基于所选择的数据的大小、所检测到的可扫描码的约束和/或指定的设置,这些数据具有应用中所呈现的相同或降低的保真度。
可以响应于检测到对内容的选择而自动地执行对所选择数据进行串行化和编码的过程。替代地,可以响应于进一步的输入或条件来触发该过程,例如检测到的在交互式复制工具740处输入的用户输入,该交互式复制工具740是响应于在应用接口720处的复制命令和/或检测到的对内容的选择而自动生成和呈现的。交互式复制工具740包括一个或多个所显示的交互式对象(例如,分享图标、复制图标、QR图标、一个或多个其它可扫描码图标等等),这些交互式对象在被选择时将触发上面描述的用于生成QR码或对应于所选择内容的其它可扫描码的过程。
一旦显示可扫描码750,目的计算系统(例如,目的设备800)就可以利用合适的相机(由虚线圆810反映)或另一光学传感器来扫描或以其它方式获得码750。目的计算系统还可以从发送给该目的计算系统的电子文件中(例如电子邮件或者其它电子消息中)获得可扫描码750。
目的设备800随后可以对来自可扫描码750的内容进行解码并根据经解码的数据上下文信息来格式化经解码的内容,并将重新格式化的数据插入到目的设备的接口(例如,显示在移动设备800的显示器810上的应用接口820)上的应用实例中的期望/所选择位置814。
例如,图7示出了从源设备的选择714中的第一应用实例中选择的数据,该数据与格式化上下文信息一起被编码到QR码750中。对该码进行扫描和解码以访问经复制数据,该经复制数据(在进行格式化/定位/修改之后)根据经解码的被编码在QR码内的数据上下文信息来插入到目的设备处的应用的第二实例内的粘贴部分816中。经粘贴的数据在图9中被示出在粘贴部分816内。
在一些实例中,对可扫描码的扫描和解码是响应于对显示在交互式粘贴工具840上的交互式对象(例如,粘贴图标、QR图标等等)的用户选择而触发的。在一些实例中,响应于粘贴命令、响应于对接口上的元素或位置的用户选择、响应于对菜单选项的选择和/或响应于设备800检测到可扫描码等等而动态地显示交互式粘贴工具840。
用于利用QR码来执行粘贴的方法由图2的流程图200反映并且可以由任何目的计算系统(例如,移动设备800)来执行。目的计算系统包括被配置为执行计算机可执行指令的至少一个硬件处理器802、显示屏810以及具有所存储的计算机可执行指令的一个或多个硬件存储设备812,这些计算机可执行指令可由该至少一个硬件处理器执行以使得该目的计算系统实现至少流程图200中所反映的动作。
如图2中所示,所示出的方法包括:目的计算系统通过对图像的扫描和/或通过从接收到的电子消息中提取码来访问可扫描码(动作202)。
用于访问可扫描码的过程以及针对该过程的触发可以包括:接收与粘贴或插入功能相关联的用户输入(动作204)。该用户输入可以包括与插入或粘贴命令相对应的显式键组合或者菜单选项。
用于触发该过程的用户输入还可以包括对应用接口上的对象或位置(如所选择的位置814)的用户选择,其中内容将被粘贴到该位置处,并且这可以动态地促使对交互式粘贴工具840的生成/显示。随后,可以在交互式粘贴工具840处选择交互式对象(例如,QR图标、复制图标、粘贴图标或其它图标)以进一步触发对可扫描码的搜索或扫描。
访问可扫描码还可以包括:在设备上呈现扫描器接口(未示出)(动作206),该扫描器接口被配置为:接收用户输入以发起扫描和/或利用目的设备的对应相机和/或光学扫描器来自动地发起对码的扫描(动作208)。
一旦扫描,目的设备就对码的经编码的经串行化内容进行解码(动作210),从暴露经串行化内容(其包括经复制数据以及数据上下文信息)可能存在的针对与经复制数据相关的数据(例如,未被装入码和/或公式和/或其它上下文相关信息中的数据)的任何链接。
随后将经串行化内容解串行化和/或以其它方式转换成具有由数据上下文信息定义的特定格式的数据(动作212)。这可以包括:确定应用类型、应用版本、数据类型、数据的格式、数据在应用实例中的位置和/或对数据做出的修改(在将数据插入到应用实例中之前或之后),并且随后视情况做出那些修改。随后以特定的格式插入数据(动作214)。再次,这可以包括:访问相关数据和链接型数据(动作216)以及基于该相关/链接型数据并基于例如通过应用公式和/或并入引用的数据从可扫描码中获得的任何应用上下文信息来修改数据(动作218)。
图9示出了粘贴到接口820中的内容,该内容包括在电子表格应用实例的一列中的顺序单元中的数据元素A、B、C和D。该数据和格式直接对应于从源设备处的电子表格应用实例中选择的经复制数据(例如,图7的所选择内容714)的数据和格式。要注意,针对该粘贴的数据内容的特定格式由连同经编码数据内容自身被嵌入在可扫描码750内的数据上下文信息来定义。还要注意,该格式信息区别于用于QR码的标准格式信息(在边角框旁边找到),该标准格式信息用于指定经编码的内容在码内如何放置或格式化。
在一些实施例中,设备无法将经串行化内容转换成具有应用特定格式的数据和/或将数据插入到应用实例中,因为设备不具有以下各项:所安装的适当应用、所安装的适当版本的应用、应用的适当许可、用于使用该应用的适当凭证等等。在这些实例中,设备可以提示用户安装、访问和/或授权对必要应用的使用。这可以有助于与对应于经编码数据的产品的激励销售。替代地,目的设备自动地获得/安装必要应用。可以使用从可扫描码中解码的上下文信息中显式包括的应用类型和/或版本信息来向目的设备提示和/或由目的设备获得应用。
在一些实例中,设备解码并利用来自可扫描码的证书、令牌、安全密钥、加密密钥或其它使用信息,这些信息可以与其它经编码的内容和上下文信息一起被编码,一旦这些信息从可扫描码中解码,其就可以操作用于进一步促进对任何经编码数据的访问、处理和/或使用。
现在关注图3,图3示出了可以由源计算系统实现的用于利用可扫描码来促进对等内容传输而不利用中间计算设备的方法的流程图300。
如所示出的,该方法包括:源设备标识要从该源设备发送给目的设备的内容(动作302)。随后,(可选地)在一些实例中,针对存储在设备处的内容生成链接(动作304)。接着,源设备标识用于源设备与目的设备之间的直接通信的通信信道和协议(动作306)。这可以包括可以在配对过程期间获得的任何配对信息。
随后通过对与源设备进行通信必要的通信和协议信息进行编码来生成可扫描码(例如QR码)(动作308)。假如生成至内容的链接,则这些链接也可以被编码到可扫描码中。有时,内容自身连同格式信息被编码到码中,如上所述。
随后通过对码的显示(例如,在源设备的显示屏上)或者通过传输(例如,蓝牙或其它对等传输)将可扫描码提供给目的设备(动作310)。
随后,目的设备直接从该码中提取内容(如上所述),和/或基于码中的一个或多个链接来发送针对一些或全部内容的请求。例如,这可以通过目的设备对可扫描码进行解码并对经解码的信息进行解串行化(在必要时)以揭示在可扫描码内发送的通信信道、协议信息、数据以及一个或多个链路来执行。随后,目的设备通过通信信道并使用在经编码信息中指定的协议来发送针对链接型内容的显式请求。源设备在接收到该请求(动作312)时访问链接型内容并通过指定的通信信道或另一通信信道将链接型内容提供给目的/请求设备(动作314)。
在一些实施例中,通过直接对等通信信道来发送针对链接型内容的请求以及对链接型内容的后续回复,而无需任何中间设备或网络连接(例如,无需使用互联网、云、代理服务器、路由器等等)。相反,源设备直接操作为针对目的设备的服务器,该目的设备操作为针对源‘服务器’的客户端并具有设备的对等配对。
该过程还在图4中示出,图4包括从目的设备的角度记载的对应动作的流程图。具体而言,所示出的过程/方法包括:目的设备例如通过扫描QR码或另一码的图像来从数据源获得可扫描码(动作402)。该动作可以由例如图8的图像来表示。
目的设备对可扫描码进行解码以识别至数据的链接以及通信信道和协议信息(动作404)。这可以包括:对来自可扫描码的任何经编码内容进行解串行化和格式化。随后,基于经解码/经解串行化的链接来生成针对链接型内容的请求(动作406)。链接可以采取任何形式并且可以包括任何信息来标识源设备上的信息的存储位置和/或版本。在一些实例中,经编码的链接包括以下各项中的一项或多项:文件名、时间戳、版本、文件类型、文件夹、目录、容器、应用和/或其它信息。
该请求(其可以显式地包括一个或多个链接)通过通信信道并利用所指定的协议(如果利用可扫描码来指定/包括协议的话)发送给源设备(动作408)。随后,目的设备通过相同的通信信道或不同的通信信道来接收所请求的数据(动作410)。在一些实例中,通过另一可扫描码来接收数据,该另一可扫描码在源设备处响应于接收到请求而生成并将所请求的数据编码到新的可扫描码中。
图5示出了用于利用可扫描码的又一过程。在该实施例中,可扫描码用于加密、编写、视觉地压缩内容和/或利用可扫描码替换内容。所示出的流程图500包括以下动作:标识要被编码的所选择数据(动作502)。这是专门被选择、高亮或以其它方式被标识用于编码的任何数据。例如,用户可以高亮在用户接口上显示的文本区段或其它数据,并且随后提供用于对所选择的内容区段进行编码的命令。然而,不是生成单独的接口以用于呈现所选择/经编码内容的可扫描码,而是在先前呈现所选择数据的相同的大体位置中呈现可扫描码,从而压缩、编写、模糊内容或者利用可扫描码替换内容。
在一些实施例中,在进行编码之前还对内容加密(动作506)。可以利用与一个或多个对应的公钥/私钥(其组合在受信任设备之间安全地共享)相关联的公钥/私钥来执行该加密。
随后利用所选择的内容(其可以是加密的)来对可扫描码(例如QR码或其它可扫描码)进行编码(动作508)。与内容相关联的对应到期参数、解密信息、证书信息、令牌和/或访问权限也可以被编码到可扫描码中,这些信息指定用于访问、解密和/或使用经编码信息的策略/过程。
随后在所选择/经编码内容的位置显示该可扫描码(动作510)。在一些实例中,这减小了所选择内容的大小简档,因为所显示的码可以占用比对应内容小的空间。在一些实例中,根据呈现可扫描码的对应文档的显示参数来调整可扫描码的大小和/或修改可扫描码(例如,通过改变码的大小、颜色、阴影等等)。
还可以选择用于对内容进行编码的码类型(例如,QR、条形码等等)以适应与不同应用和/或内容类型相关联的不同需求和偏好以及设置。
当稍后由显示可扫描码的应用(响应于显示经编码数据的用户请求)和或者响应于扫描该码的单独设备对该码进行扫描时,当不满足授权、到期和/或其它策略时(如由与内容和/或至内容的链接一起被包括在可扫描码中的经编码策略和信息所定义的),目的设备/应用可以禁止对包括在可扫描码内的底层内容进行解码/显示。
扫描/目的系统在解码过程期间检测加密信息、凭证要求信息以及被编码在可扫描码内的其它安全性信息。随后,目的系统针对必需的授权信息提示用户和/或自动地从系统获得该授权信息(当该授权信息存在时)。当与码包括在一起的对应到期参数(如果有的话)还未到期时,该授权信息用于解密和/或访问并显示剩余的经解码信息。
在一些实例中,第三方从目的设备接收第一组经解码信息(目的设备从可扫描码中解码该信息)并向目的设备提供另外的信息(密钥/授权),目的设备使用该另外的信息对来自可扫描码的第二组经解码信息进行解密/解码。有时第一组经解码信息包括到期和/或授权要求,并且仅当到期和/或授权要求满足预先确定的策略时(例如,到期时段还未收费、目的设备具有保证对第二组经解码信息的访问的订制或授权等级),第三方才向目的设备提供该另外的信息。
图6A示出了文档600A的示例,该文档600A具有包括被嵌入在第一段内的敏感信息610A和完全敏感的第三段620A的所选择部分。
在该示例中,基于偏好和/或预先确定的标准,用户选择和/或应用自动地标识该敏感信息(610A,620A)(例如,通过标识术语、元组和/或由用户标识和/或在敏感性索引中编有索引的内容)。在一些实例中,该过程自动地触发或者替代地响应于例如在将敏感信息输入到指定的输入字段中之后的后续用户请求(例如,对交互式接口对象的选择)而触发。
系统随后将所选择的敏感信息(610A,620A)转换成对应的可扫描码(分别为610B和620B),如所示出的。在一些实例中,针对到敏感信息的所选择集合或全集的链接来创建可扫描码(610B,620B),在该情况下,敏感信息的所选择集合/全集被移动并存储在用于存储文档(600A,600B)的剩余部分的单独文件中。
随后(可选地)对经编码的敏感信息和/或链接进行加密和编码,其中对应的访问信息也被编码。如上所述,该访问信息可以包括任何访问或使用信息,包括到期策略信息、授权信息、解密信息和/或其它策略信息。
当在稍后的时间(例如,当文档由相同或不同的设备加载时)对可扫描码进行解码并使用适当的授权和/或解密来访问经编码内容时,敏感信息呈现回到文档中,替换可扫描码。替代地,辅助设备独立地扫描和显示敏感信息/而不扫描和显示文档的剩余内容。
如上面反映的,可以由包括一个或多个硬件处理器和计算机可读介质(例如计算机存储器)的计算机系统和计算机设备来实践本公开内容的实施例。具体而言,计算机存储器可以存储计算机可执行指令,这些计算机可执行指令在由一个或多个处理器执行时使得执行各种功能,例如实施例中所记载的动作。
尽管本文已经针对源计算系统和目的计算系统描述了一些特定的实现方式,但将要意识到,这些系统还可以包括未被特别标识的另外组件来进一步促进所公开的实施例。例如,源计算系统还包括硬件发射机,该硬件发射机被配置为:通过本文所描述的一个或多个网络信道来发送包括经编码的经串行化内容和其它所请求内容的通信。类似地,目的计算系统还包括硬件接收机和发射机,该接收机和发射机被配置为:分别接收和发送包括可扫描码、链接以及所请求和/或链接到的对应内容的通信。
所公开的计算系统和设备还包括或利用包含计算机硬件的专用或通用计算机,如下文更详细讨论的。在本发明的范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这种计算机可读介质可以是能够由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,举例而言而非限制,本发明的实施例可以包括至少两种截然不同种类的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。
物理计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储(例如CD、DVD等等)、磁盘存储或其它磁存储设备,或者可以用于存储具有计算机可执行指令或数据结构形式并且能够由通用或专用计算机访问的期望程序代码单元的任何其它介质。
“网络”被定义为实现在计算机系统和/或模块和/或其它电子设备之间的电子数据传输的一个或多个数据链路。当通过网络或另一通信连接(硬接线、无线、或硬接线或无线的组合)将信息传送或提供给计算机时,该计算机恰当地将该连接视为传输介质。传输介质可以包括可以用于携带具有计算机可执行指令或数据结构形式并且能够由通用或专用计算机访问的期望程序代码单元的网络和/或数据链路。上述各项的组合也包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,具有计算机可执行指令或数据结构形式的程序代码单元可以从传输计算机可读介质自动地传送给物理计算机可读存储介质(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且随后最终传送给计算机系统RAM和/或传输到计算机系统处的不太易失性的计算机可读物理存储介质。因此,计算机可读物理存储介质可以包括在也(或者甚至主要)利用传输介质的计算机系统组件中。
例如,计算机可执行指令包括使得通用计算机、专用计算机或专用处理设备执行某种功能或功能组的指令和数据。例如,计算机可执行指令可以是二进制、中间格式指令,例如汇编语言、或者甚至源代码。尽管用特定于结构特征和/或方法动作的语言描述了主题内容,但要理解,所附权利要求中限定的主题内容不必受限于所描述的特征或上述动作。相反,所描述的特征和动作是作为实现权利要求的示例性形式来公开的。本公开内容的范围包括所记载动作的任何组合和排序。
本领域技术人员将意识到,可以在具有许多类型的计算机系统配置的网络计算环境中实践本发明,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、迷你计算机、大型计算机、平板设备、输入板设备、移动电话、PDA、寻呼机、路由器、交换机等等。还可以在分布式系统环境中实践本发明,其中通过网络来链接(由硬接线数据链路、无线数据链路,或者由硬接线和无线数据链路的组合)的本地和远程计算机系统二者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
替代地或另外地,可以至少部分地由一个或多个硬件逻辑组件来执行本文所描述的功能。举例而言而非限制,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等等。
还可以用其它特定的形式来体现本发明而不会偏离本发明的精神或特征。所描述的实施例在所有方面中应当仅被视为说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是由前述描述来指示。在权利要求的含义和等效范围内的所有改变应当被包含在权利要求的范围内。

Claims (15)

1.一种被配置用于利用可扫描码来促进复制功能的数据源计算系统,所述可扫描码包括经编码数据以及对应的经编码上下文信息,其中,所述可扫描码被提供给目的计算系统,所述数据源计算系统包括:
被配置为执行计算机可执行指令的至少一个硬件处理器;
显示屏;
具有所存储的计算机可执行指令的一个或多个硬件存储设备,所述计算机可执行指令能够由所述至少一个硬件处理器执行以使得所述数据源计算系统实现以下操作:
标识选择的数据,所选择的数据是从应用中选择的;
标识针对所选择的数据的数据上下文信息;
标识所选择的数据的要串行化的一个或多个部分;
将所选择的数据的所述一个或多个部分以及所述数据上下文信息串行化成经串行化内容;
将所述经串行化内容编码成经编码的经串行化内容,所述经编码的经串行化内容包括可扫描码;
呈现所述可扫描码或者将所述可扫描码发送给所述目的计算系统。
2.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:通过确定所选择的数据的要串行化的所述一个或多个部分是否能够被串行化并编码至预先确定的大小约束,来标识所述一个或多个部分。
3.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:禁止对所选择的数据中的全部数据进行串行化和编码。
4.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:对连至所选择的数据中的、未被标识在所选择的数据的要串行化的所述一个或多个部分中的任何数据的链接进行串行化和编码。
5.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:基于存储约束或用户定义的偏好中的至少一者,在对所述经串行化内容进行编码之前降低所选择的数据中的所述一个或多个部分的保真度。
6.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:在对所述经串行化内容进行编码之前加密所选择的数据的所标识部分。
7.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:将所述可扫描码呈现为所述数据源计算系统的显示屏上的图像。
8.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:响应于接收到包括对复制或生成可扫描码的请求的用户输入,标识要串行化和编码的所选择的数据的部分和数据上下文信息。
9.根据权利要求1所述的数据源计算系统,其中,所述可扫描码是QR码。
10.根据权利要求1所述的数据源计算系统,其中,所述数据上下文信息包括与所选择的数据相对应的应用类型或数据类型。
11.根据权利要求1所述的数据源计算系统,其中,所述数据上下文信息包括与所选择的数据在应用接口中的相对定位相对应的定位信息。
12.根据权利要求1所述的数据源计算系统,其中,所述数据上下文信息包括显示属性,其包括以下各项中的一项或多项:透明度、字体类型、阴影、着色、高亮或其它显示属性。
13.根据权利要求1所述的数据源计算系统,其中,所述数据上下文信息包括与所选择的数据相对应的元数据属性信息,所述元数据属性信息包括以下各项中的至少一项:作者信息、公式信息或者版本信息。
14.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以使得所述数据源计算系统进行以下操作:通过一个或多个网络信道将所述可扫描码发送给所述目的计算系统,并且其中,所述数据源计算系统还包括硬件发射机,所述硬件发射机被配置为:通过所述一个或多个网络信道发送包括所述经编码的经串行化内容的通信。
15.根据权利要求1所述的数据源计算系统,其中,所存储的计算机可执行指令还能够由所述至少一个硬件处理器执行以进行以下操作:响应于接收到针对将要执行粘贴功能的用户请求而访问所述可扫描码,所述用户请求是在插入数据的所述应用的应用接口内接收的。
CN201680070822.4A 2015-12-02 2016-11-18 利用可扫描码的复制和粘贴 Active CN109154995B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/957,555 US9710742B2 (en) 2015-12-02 2015-12-02 Copy and paste with scannable code
US14/957,555 2015-12-02
PCT/US2016/062634 WO2017095646A1 (en) 2015-12-02 2016-11-18 Copy and paste with scannable code

Publications (2)

Publication Number Publication Date
CN109154995A CN109154995A (zh) 2019-01-04
CN109154995B true CN109154995B (zh) 2021-08-06

Family

ID=57482529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680070822.4A Active CN109154995B (zh) 2015-12-02 2016-11-18 利用可扫描码的复制和粘贴

Country Status (4)

Country Link
US (2) US9710742B2 (zh)
EP (1) EP3384431B1 (zh)
CN (1) CN109154995B (zh)
WO (1) WO2017095646A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710742B2 (en) * 2015-12-02 2017-07-18 Microsoft Technology Licensing, Llc Copy and paste with scannable code
US10204237B2 (en) * 2016-07-01 2019-02-12 Workday, Inc. Sensitive data service access
DE16774544T1 (de) * 2016-07-29 2019-12-24 Permanent Privacy Ltd. Anwendungen in zusammenhang mit sicheren verschlüsselung
US20190005255A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Protecting restricted information when importing and exporting resources
US10791077B2 (en) * 2017-08-08 2020-09-29 Snap Inc. Application-independent messaging system
US10452944B2 (en) 2017-11-13 2019-10-22 Kabushiki Kaisha Toshiba Multifunction peripheral assisted optical mark recognition using dynamic model and template identification
US11134036B2 (en) 2019-07-05 2021-09-28 Snap Inc. Event planning in a content sharing platform
US11620405B2 (en) * 2019-11-08 2023-04-04 Jpmorgan Chase Bank, N.A. Automated detection, elimination, and prevention of toxic combinations for personal information data
US11411900B2 (en) 2020-03-30 2022-08-09 Snap Inc. Off-platform messaging system
US11895105B2 (en) 2020-06-19 2024-02-06 Apple, Inc. Authenticated interface element interactions
CN113238686B (zh) * 2021-04-20 2023-11-03 维沃移动通信(杭州)有限公司 文档处理方法、装置和电子设备
US11973730B2 (en) 2022-06-02 2024-04-30 Snap Inc. External messaging function for an interaction system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811712A (zh) * 2005-01-27 2006-08-02 微软公司 通过运行时类型推断的有效数据访问

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243983B2 (en) 2009-08-14 2012-08-14 Microsoft Corporation Graphically encoded data copy and paste
KR20120064213A (ko) 2010-12-09 2012-06-19 정태길 클라우드 컴퓨팅 기반의 모바일 오피스를 위한 정보 출력 단말 장치
US20120191817A1 (en) 2011-01-20 2012-07-26 Eugene Sayan Product tracking based on scanned indicia
US8418920B2 (en) 2011-02-18 2013-04-16 Intuit Inc. Systems methods and computer program products for encoding and decoding transaction data
US9405844B2 (en) * 2011-03-03 2016-08-02 Life In Mobile Innovations, Inc. Method and apparatus for dynamically presenting content in response to user inputs
WO2012142061A1 (en) * 2011-04-13 2012-10-18 Verisign, Inc. Authentic barcodes using digital signatures
CA2845498C (en) 2011-10-19 2015-02-03 Knova Web Technologies Inc. Method for automatically tagging documents with matrix barcodes and providing access to a plurality of said document versions
US8616439B1 (en) 2012-08-16 2013-12-31 Qualcomm Incorporated System and method for the secure transfer of information to a web session
US9038897B2 (en) * 2012-09-04 2015-05-26 Honeywell International Inc. System and approach to convey data with a handheld device via a multi-dimensional code
US9286295B2 (en) 2012-10-09 2016-03-15 Robert Beadles Apparatus and method for cloud based storage using a multi-layer scannable tag
US8533075B1 (en) * 2013-02-13 2013-09-10 AgileQR, Inc. Systems and methods for biomedical track and trace
US10878516B2 (en) 2013-02-28 2020-12-29 Intuit Inc. Tax document imaging and processing
EP3025256A2 (en) 2013-07-23 2016-06-01 Yougetitback Limited Systems and methods for device data transfer
US8985437B2 (en) * 2013-08-07 2015-03-24 International Business Machines Corporation Creation and management of dynamic quick response (QR) codes
US9710742B2 (en) * 2015-12-02 2017-07-18 Microsoft Technology Licensing, Llc Copy and paste with scannable code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811712A (zh) * 2005-01-27 2006-08-02 微软公司 通过运行时类型推断的有效数据访问

Also Published As

Publication number Publication date
EP3384431B1 (en) 2022-10-19
US9953254B2 (en) 2018-04-24
US20170308780A1 (en) 2017-10-26
WO2017095646A1 (en) 2017-06-08
US9710742B2 (en) 2017-07-18
US20170161599A1 (en) 2017-06-08
EP3384431A1 (en) 2018-10-10
CN109154995A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109154995B (zh) 利用可扫描码的复制和粘贴
US12108310B2 (en) Message extension app store
US9519526B2 (en) File management system and collaboration service and integration capabilities with third party applications
US10534533B2 (en) Messaging sticker applications
US10505872B2 (en) Messaging application interacting with one or more extension applications
US10552238B2 (en) Secure inter-process communications for mobile devices
US9229936B2 (en) Local storage of information pedigrees
DK2972827T3 (en) COLLABORATIVE EDITING
US11882154B2 (en) Template representation of security resources
CN111818175A (zh) 企业服务总线配置文件生成方法、装置、设备和存储介质
JP2015518612A (ja) リモートメソッド呼出しによる複数かつ異種のウェブページのスタイリング及び装飾を可能にするコンピュータシステム、非一時的コンピュータ可読記憶媒体及び方法
KR20200032379A (ko) 연결문서 생성 및 열람 방법, 장치, 및 이에 대한 컴퓨터프로그램

Legal Events

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