CN113169999A - 基于位置与用户装置安全地共享文件 - Google Patents

基于位置与用户装置安全地共享文件 Download PDF

Info

Publication number
CN113169999A
CN113169999A CN201980080458.3A CN201980080458A CN113169999A CN 113169999 A CN113169999 A CN 113169999A CN 201980080458 A CN201980080458 A CN 201980080458A CN 113169999 A CN113169999 A CN 113169999A
Authority
CN
China
Prior art keywords
user device
user
identification information
server
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980080458.3A
Other languages
English (en)
Inventor
P·R·丹那巴南
萨乌拉博·潘特
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems 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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN113169999A publication Critical patent/CN113169999A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于基于位置与用户装置安全地共享文件的方法和系统。计算装置可以从用户装置接收共享文件的请求。计算装置可以确定在希望共享文件的用户装置的位置处的其他用户装置。可以生成唯一令牌和/或唯一会话标识符以促进文件的安全共享,并且每个令牌和/或会话标识符可以对应于不同的用户装置。计算装置可以向每个不同的用户装置发送该装置的对应令牌和/或会话标识符。计算装置还可以向希望共享文件的用户装置发送其他用户装置的令牌和/或会话标识符。用户装置可以使用令牌和/或会话标识符将文件安全地发送到其他用户装置中的一个或多个。

Description

基于位置与用户装置安全地共享文件
相关申请的交叉引用
本申请要求于2018年10月30日提交的美国非临时专利申请号16/174,499的优先权,其内容以引用的方式整体明确并入本文。
技术领域
本文描述的方面总体涉及计算机联网和确定用户装置的位置。更具体地,本文描述的方面涉及基于用户装置的位置生成唯一令牌和/或会话标识符,以供用户装置与其他用户装置安全地共享文件。
背景技术
在会议期间,与会者可能希望与其他与会者共享文件。例如,与会者可能想要讨论演示文稿或文档。为了共享文件,与会者可能必须为每个与会者添加许可,这可能要求与会者知道或找出其他与会者的电子邮件地址。在某些情况下,这种开销可能导致演示者根本不共享文件。如果演示者决定添加与会者许可,诸如通过输入与会者的电子邮件地址,则可能浪费大量的会议时间。例如,在短短的15分钟会议中,花费5分钟共享文件可能会浪费时间。
发明内容
以下呈现了本文描述的各个方面的简化概述。该概述不是宽泛性综述,并且不意图标识必需的或重要的元素或描绘权利要求的范围。以下概述仅以简化形式呈现一些概念以作为下面提供的更详细描述的介绍性序言。
为了克服上述现有技术中的限制,并克服在阅读和理解本说明书后将明显的其他限制,本文所述的方面旨在与用户装置安全地共享文件。在一些示例中,系统可以包括服务器,该服务器从第一用户装置接收共享文件的请求。服务器可以确定在包括第一用户装置的区域内的多个用户装置。基于接收到共享文件的请求,可以生成多个标识信息。每个标识信息可以对应于多个用户装置中的不同用户装置。服务器可以向多个用户装置中的每个用户装置发送与该用户装置相对应的标识信息。服务器还可以向第一用户装置发送多个标识信息,以使第一用户装置能够安全地向多个用户装置中的一个或多个发送文件。
在一些示例中,确定在包括第一用户装置的区域内的多个用户装置可以包括:确定在与第一用户装置的阈值距离内的多个用户装置。本文描述的方法可以包括接收多个用户装置的位置信息,并且确定在包括第一用户装置的区域内的多个用户装置可以包括:确定第一用户装置的地理位置,以及基于位置信息与第一用户装置的地理位置的比较,确定与第一用户装置位于相同地理位置的多个用户装置。
在一些示例中,标识信息可以包括多个唯一令牌和多个唯一会话标识符。生成多个标识信息可以包括生成多个唯一令牌,并且每个唯一令牌可以对应于多个用户装置中的不同用户装置。生成多个标识信息还可以包括生成多个唯一会话标识符,并且每个唯一会话标识符可以对应于多个用户装置中的不同用户装置。发送标识信息可以包括向多个用户装置中的每个用户装置发送与该用户装置相对应的唯一令牌和唯一会话标识符。发送多个标识信息可以包括向第一用户装置发送多个唯一令牌和多个唯一会话标识符。
在一些示例中,服务器可以从第一用户装置接收要共享的文件。服务器可以存储要共享的文件。服务器可以将存储的文件发送到远离包括第一用户装置的区域的位置处的用户装置。
在一些示例中,服务器可以从与包括第一用户装置的区域不同的地理位置处的用户装置接收对文件的请求。服务器可以向与包括第一用户装置的区域不同的地理位置处的用户装置发送文件。
在一些示例中,在将标识信息发送到多个用户装置中的每个用户装置之前,服务器可以认证多个用户装置。基于认证,本文描述的方法可以包括为多个用户装置中的每个用户装置生成服务器和用户装置之间的安全信道。向第一用户装置发送多个标识信息可以包括向第一用户装置且经由服务器和第一用户装置之间的安全信道发送多个标识信息。
在一些示例中,第一用户装置可以向服务器发送共享文件的请求。基于发送共享文件的请求,第一用户装置可以从服务器接收多个标识信息,并且每个标识信息可以对应于多个用户装置中的不同用户装置。第一用户装置可以向第一用户装置附近的多个用户装置发送标识信息请求。基于发送标识信息请求,第一用户装置可以从第一用户装置附近的一个或多个用户装置接收一个或多个标识信息。基于接收到一个或多个标识信息,第一用户装置可以向第一用户装置附近的一个或多个用户装置发送文件。
在一些示例中,第一用户装置可以将一个或多个标识信息与从服务器接收的多个标识信息进行比较。基于比较,第一用户装置可以验证第一用户装置附近的一个或多个用户装置。发送文件可以基于该验证。
在一些示例中,发送标识信息请求可以包括经由第一用户装置与第一用户装置附近的多个用户装置之间的直接连接来发送标识信息请求。所述直接连接可以包括蓝牙连接或Wi-Fi直连连接中的一个或多个。
在一些示例中,发送标识信息请求可以包括经由一个或多个短距离网络广播标识信息请求。附加地或替代地,接收一个或多个标识信息可以包括经由一个或多个短距离网络接收一个或多个标识信息。
在一些示例中,标识信息可以包括多个唯一令牌和多个唯一会话标识符。接收多个标识信息可以包括由第一用户装置从服务器并且经由服务器和第一用户装置之间的安全信道接收多个唯一令牌和多个唯一会话标识符。每个唯一令牌可以对应于多个用户装置中的不同用户装置,并且每个唯一会话标识符可以对应于多个用户装置中的不同用户装置。本文描述的方法可以包括:针对第一用户装置附近的一个或多个用户装置中的每个用户装置,用与该用户装置相对应的唯一会话标识符来加密文件。发送文件可以包括:针对第一用户装置附近的一个或多个用户装置中的每个用户装置,发送用与该用户装置相对应的唯一会话标识符加密的文件。
在一些示例中,基于与一个或多个远程用户装置共享文件的确定,第一用户装置可以向服务器发送文件。
这些和附加方面将由于下面进一步详细讨论的公开内容的益处而得到理解。
附图说明
通过结合附图参考以下描述,可以获得对本文所述各方面及其优点的更完整的理解,其中相同的附图标记表示相同的特征,并且其中:
图1描绘了可以根据本文描述的一个或多个说明性方面使用的说明性计算机系统架构。
图2描绘了可以根据本文描述的一个或多个说明性方面使用的说明性远程访问系统架构。
图3描绘了可以根据本文描述的一个或多个说明性方面使用的说明性虚拟化(管理程序)系统架构。
图4描绘了可以根据本文描述的一个或多个说明性方面使用的说明性基于云的系统架构。
图5A-图5D示出了根据本文所述的一个或多个说明性方面的用于与其他用户装置共享文件的示例方法。
具体实施方式
在各种实施方案的以下描述中,参照了上述并构成其一部分的附图,并且在附图中通过说明其中可能实践本文所述的各方面的各种实施方案的方式示出。应当理解,在不脱离本文描述的范围的情况下,可以利用其他实施方案,并且可以进行结构和功能上的修改。各个方面能够存在其它实施方案并且能以各种不同方式实践或进行。
作为下面更详细描述的主题的一般介绍,本文描述的方面旨在基于位置与用户装置安全地共享文件。例如,计算装置可以从用户装置接收共享文件的请求。计算装置可以确定在用户装置的位置处的多个其他用户装置。计算装置可以生成多个唯一令牌和/或多个唯一会话标识符,并且每个唯一令牌和/或唯一会话标识符可以对应于不同的用户装置。计算装置可以向每个用户装置发送其对应的唯一令牌和/或会话标识符。计算装置还可以向希望共享文件的用户装置发送其他用户装置的唯一令牌和/或会话标识符。用户装置可以将文件安全地发送到其他用户装置中的一个或多个。
应当理解,本文使用的用语和术语是为了描述的目的且不应被视为限制性的。相反地,本文所使用的短语和术语将被给予其最广泛的解释和含义。“包括(including)”和“包括(comprising)”及其变化的使用意指涵盖其后列出的项目和其等同物以及附加项目和其等同物。术语“安装”、“连接”、“联接”、“定位”、“接合”和类似术语的使用意在包括直接和间接安装、连接、联接、定位和接合。
计算架构
可以在各种不同的系统环境中利用计算机软件、硬件和网络,该不同的系统环境包括独立的、联网的、远程访问的(也称为远程桌面)、虚拟化的和/或基于云的环境等。图1示出了可用于在独立和/或联网环境中实现本文描述的一个或多个说明性方面的系统架构和数据处理装置的一个示例。各种网络节点103、105、107和109可以经由广域网(WAN)101诸如互联网互连。也可以使用或替代地使用其他网络,包括专用内联网、公司网络、局域网(LAN)、城域网(MAN)、无线网络、个人网络(PAN)等。网络101是出于说明目的,并且可以用更少或附加的计算机网络代替。局域网133可以具有任何已知LAN拓扑中的一个或多个,并且可以使用各种不同协议中的一个或多个,诸如以太网。装置103、105、107和109以及其他装置(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其他通信介质连接到网络中的一个或多个。
如本文所用和附图中所描绘的术语“网络”不仅指其中远程存储装置经由一个或多个通信路径联接在一起的系统,而且还指可能不时联接到具有存储能力的此类系统的独立装置。因此,术语“网络”不仅包括“物理网络”,还包括“内容网络”,其由驻留在所有物理网络中的数据(归因于单个实体的)组成。
部件可以包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供用于执行本文描述的一个或多个说明性方面的数据库和控制软件的整体访问、控制和管理。数据服务器103可以连接到web服务器105,用户通过该web服务器与数据交互并根据请求获得数据。替代地,数据服务器103可以充当web服务器本身并且直接连接到互联网。数据服务器103可以通过局域网133、广域网101(例如,互联网),经由直接或间接连接,或经由某一其他网络连接到web服务器105。用户可以使用远程计算机107、109例如使用web浏览器经由通过web服务器105托管的一个或多个对外公开的网站连接到数据服务器103来与数据服务器103进行交互。客户端计算机107、109可以与数据服务器103协同使用以访问存储在其中的数据,或者可以用于其他目的。例如,用户可以使用如本领域中已知的互联网浏览器,或者通过执行通过计算机网络(诸如互联网)与web服务器105和/或数据服务器103进行通信的软件应用来从客户端装置107访问web服务器105。
服务器和应用可以组合在相同的物理机器上,并且保留单独的虚拟或逻辑地址,或者可以驻留在单独的物理机器上。图1仅示出了可以使用的网络架构的一个示例,并且本领域技术人员将理解,所使用的特定网络架构和数据处理装置可以变化,并且辅助它们所提供的功能,如本文进一步所述。例如,可以在单个服务器上组合由web服务器105和数据服务器103提供的服务。
每个部件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理装置。数据服务器103例如可以包括控制数据服务器103的整体操作的处理器111。数据服务器103还可以包括随机存取存储器(RAM)113、只读存储器(ROM)115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等)以及存储器121。输入/输出(I/O)119可以包括用于读取、写入、显示和/或打印数据或文件的各种接口单元和驱动器。存储器121可以进一步存储用于控制数据处理装置103的整体操作的操作系统软件123、用于指示数据服务器103执行本文所述方面的控制逻辑125以及提供辅助、支持和/或可以结合或可以不结合本文描述的方面使用的其他功能的其他应用软件127。控制逻辑125在本文中也可以被称为数据服务器软件125。数据服务器软件125的功能可以指基于编码到控制逻辑125中的规则自动做出的操作或决策、由用户将输入提供到系统中而手动做出的操作或决策和/或基于用户输入(例如,查询、数据更新等)的自动处理的组合。
存储器121还可存储用于执行本文所述一个或多个方面的数据,包括第一数据库129和第二数据库131。在一些实施方案中,第一数据库129可以包括第二数据库131(例如,作为单独的表、报告等)。也就是说,信息可以存储在单个数据库中,或分成不同的逻辑、虚拟或物理数据库,这取决于系统设计。装置105、107和109可以具有与关于装置103所描述的类似或不同的架构。本领域技术人员将理解,如本文所述的数据处理装置103(或装置105、107或109)的功能可以跨多个数据处理装置,例如,以将处理负载分布在多个计算机上,以基于地理位置、用户访问级别、服务质量(QoS)等隔离事务。
一个或多个方面可以体现在由本文所述的一个或多个计算机或其他装置执行的计算机可用或可读数据和/或计算机可执行指令中,诸如在一个或多个程序模块中。一般来说,程序模块包括在由计算机或其他装置中的处理器执行时执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、部件、数据结构等。可以用源代码编程语言编写模块,然后对语言进行编译以供执行,或者可以用脚本语言编写模块,诸如(但不限于)超文本标记语言(HTML)或可扩展标记语言(XML)。可以将计算机可执行指令存储在诸如非易失性存储装置的计算机可读介质上。可以利用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光学存储装置、磁存储装置和/或它们的任何组合。另外,表示本文所述的数据或事件的各种传输(非存储)介质可以以电磁波的形式在源和目的地之间传输,电磁波通过信号传导介质(诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间))行进。本文描述的各个方面可以体现为一种方法、一种数据处理系统或一种计算机程序产品。因此,各种功能可以全部或部分地体现在软件、固件和/或硬件或硬件等同物中,诸如集成电路、现场可编程门阵列(FPGA)等。特定的数据结构可以用于更有效地实现本文描述的一个或多个方面,并且此类数据结构被预期在本文描述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可以在远程访问环境中实现本文描述的一个或多个方面。图2描绘了示例性系统架构,该示例性系统架构包括可根据本文所述的一个或多个说明性方面使用的说明性计算环境200中的计算装置201。计算装置201可以用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a并且可以被配置为向客户端访问装置提供虚拟机。计算装置201可以具有处理器203,其用于控制装置201及其相关联的部件(包括RAM 205、ROM 207、输入/输出(I/O)模块209和存储器215)的整体操作。
I/O模块209可以包括计算装置201的用户可以通过其提供输入的鼠标、小键盘、触摸屏、扫描仪、光学阅读器和/或触针(或其他输入装置),并且还可以包括用于提供音频输出的扬声器中的一个或多个以及用于提供文本、视听和/或图形输出的视频显示装置中的一个或多个。可以将软件存储在存储器215和/或其他存储装置内,以向处理器203提供指令,以将计算装置201配置为专用计算装置,以便执行本文所述的各种功能。例如,存储器215可以存储由计算装置201使用的软件,诸如操作系统217、应用程序219和相关联的数据库221。
计算装置201可以在支持至一个或多个远程计算机(诸如终端240(也称为客户端装置))的连接的联网环境中操作。终端240可以是包括以上关于计算装置103或201描述的许多或所有元件的个人计算机、移动装置、膝上型计算机、平板电脑或服务器。图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,但是也可以包括其他网络。当在LAN联网环境中使用时,计算装置201可以通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算装置201可以包括调制解调器或其他广域网接口227,用于通过WAN 229(诸如计算机网络230(例如,互联网))建立通信。将理解,所示的网络连接是说明性的,并且可使用在计算机之间建立通信链接的其它手段。计算装置201和/或终端240还可以是包括各种其他部件(诸如电池、扬声器和天线(未示出))的移动终端(例如,移动电话、智能电话、个人数字助理(PDA)、笔记本电脑等)。
本文描述的各方面也可以与许多其他通用或专用计算系统环境或配置一起操作。可以适合于与本文描述的各方面一起使用的其他计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人计算机(PC)、小型计算机、大型计算机、包括上述系统或装置中的任一个的分布式计算环境等。
如图2所示,一个或多个客户端装置240可以与一个或多个服务器206a-206n(在本文中统称为“服务器206”)通信。在一个实施方案中,计算环境200可以包括安装在服务器206和客户端机器240之间的网络装置。网络装置可以管理客户端/服务器连接,并且在一些情况下可以在多个后端服务器206之间实现负载平衡客户端连接。
在一些实施方案中,客户端机器240可以被称为单个客户端机器240或单个客户端机器组240,而服务器206可以被称为单个服务器206或单个服务器组206。在一个实施方案中,单个客户端机器240与一个以上的服务器206通信,而在另一实施方案中,单个服务器206与一个以上的客户端机器240通信。在又一个实施方案中,单个客户端机器240与单个服务器206通信。
在一些实施方案中,客户端机器240可以由以下非穷举性术语中的任一个来引用:客户端机器;客户端;客户端计算机;客户端装置;客户端计算装置;本地机器;远程机器;客户端节点;端点;或端点节点。在一些实施方案中,服务器206可以由以下非穷举性术语中的任一个来引用:服务器;本地机器;远程机器;服务器场;或主机计算装置。
在一个实施方案中,客户端机器240可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施方案中,虚拟机可以是由类型1或类型2管理程序(例如,由Citrix Systems、IBM、VMware开发的管理程序或任何其他管理程序)管理的任何虚拟机。在一些方面,虚拟机可以由管理程序管理,而在其他方面,虚拟机可以由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。
一些实施方案包括客户端装置240,其显示由在服务器206或其他远程定位的机器上远程执行的应用生成的应用输出。在这些实施方案中,客户端装置240可以执行虚拟机接收器程序或应用以在应用窗口、浏览器或其他输出窗口中显示输出。在一个示例中,应用是桌面,而在其他示例中,该应用是生成或呈现桌面的应用。桌面可以包括图形化shell,该图形化shell为可以在其中集成本地和/或远程应用的操作系统的实例提供用户界面。如本文所使用的,应用是在已经加载了操作系统(以及任选地,还有桌面)的实例之后执行的程序。
在一些实施方案中,服务器206使用远程呈现协议或其他程序将数据发送到在客户端上执行的瘦客户端或远程显示应用,以呈现由在服务器206上执行的应用生成的显示输出。瘦客户端或远程显示协议可以是以下协议的非穷举列表中的任何一个:由佛罗里达劳德代尔堡的思杰系统公司开发的独立计算结构(ICA)协议;或由华盛顿州雷德蒙德市的微软公司制造的远程桌面协议(RDP)。
远程计算环境可以包括一个以上的服务器206a-206n,使得例如在云计算环境中,将服务器206a-206n一起逻辑分组到服务器场206中。服务器场206可以包括在逻辑上分组在一起时在地理上分散的服务器206,或者在逻辑上分组在一起时彼此靠近放置的服务器206。服务器场206内地理上分散的服务器206a-206n在一些实施方案中可以使用WAN(广域网)、MAN(城域网)或LAN(局域网)进行通信,其中不同地理区域可以表征为:不同大陆;大陆的不同区域;不同的国家;不同的州;不同的市;不同的校园;不同的房间;或前述地理位置的任何组合。在一些实施方案中,服务器场206可以作为单个实体进行管理,而在其他实施方案中,服务器场206可以包括多个服务器场。
在一些实施方案中,服务器场可以包括执行基本上类似类型的操作系统平台(例如WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其他实施方案中,服务器场206可以包括执行第一类型的操作系统平台的第一组的一个或多个服务器,以及执行第二类型的操作系统平台的第二组的一个或多个服务器。
服务器206可以根据需要配置为任何类型的服务器,例如文件服务器、应用服务器、web服务器、代理服务器、装置、网络装置、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、安全套接字层(SSL)VPN服务器、防火墙、web服务器、应用服务器或为主应用服务器、执行活动目录的服务器或执行应用加速程序的服务器,应用加速程序提供防火墙功能、应用功能或负载平衡功能。也可以使用其他服务器类型。
一些实施方案包括第一服务器206a,其从客户端机器240接收请求、将请求转发到第二服务器206b(未示出)并且用来自第二服务器206b(未示出)的响应来响应由客户端机器240生成的请求。第一服务器206a可以获取客户端机器240可用的应用的枚举,以及与托管应用的枚举中标识的应用的应用服务器206相关联的地址信息。然后,第一服务器206a可以使用web界面来呈现对客户端的请求的响应,并且直接与客户端240进行通信以向客户端240提供对所标识的应用的访问。一个或多个客户端240和/或一个或多个服务器206可以通过网络230(例如,网络101)传输数据。
图3示出了说明性桌面虚拟化系统的高级架构。如图所示,桌面虚拟化系统可以是单服务器或多服务器系统或云系统,其包括被配置为将虚拟桌面和/或虚拟应用提供给一个或多个客户端访问装置240的至少一个虚拟化服务器301。如本文所使用的,桌面是指其中可以托管和/或执行一个或多个应用的图形环境或空间。桌面可以包括图形化shell,该图形化shell为可以在其中集成本地和/或远程应用的操作系统的实例提供用户界面。应用可以包括在已经加载了操作系统(以及任选地,还有桌面)的实例之后执行的程序。操作系统的每个实例可以是物理的(例如,每个装置一个操作系统)或虚拟的(例如,在单个装置上运行的OS的许多实例)。每个应用可以在本地装置上执行,或在远程定位的(例如,远程的)装置上执行。
计算机装置301可以被配置为虚拟化环境(例如,单服务器、多服务器或云计算环境)中的虚拟化服务器。图3所示的虚拟化服务器301可以被部署为图2中所示的服务器206或其他已知的计算装置的一个或多个实施方案和/或由图2中所示的服务器206或其他已知的计算装置的一个或多个实施方案实现。虚拟化服务器301中包括硬件层,该硬件层可以包括一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308以及一个或多个物理存储器316。在一些实施方案中,固件312可以存储在物理存储器316中的存储器元件内,并且可以由物理处理器308中的一个或多个执行。虚拟化服务器301还可以包括操作系统314,所述操作系统314可以存储在物理存储器316中的存储器元件中并且由物理处理器308中的一个或多个执行。再进一步,管理程序302可以存储在物理存储器316中的存储器元件中并且可以由物理处理器308中的一个或多个执行。
在物理处理器308中的一个或多个上可以执行一个或多个虚拟机332A-332C(统称为332)。每个虚拟机332可以具有虚拟磁盘326A-326C和虚拟处理器328A-328C。在一些实施方案中,第一虚拟机332A可以使用虚拟处理器328A执行包括工具堆栈324的控制程序320。控制程序320可以被称为控制虚拟机Dom0、Domain 0或用于系统管理和/或控制的其他虚拟机。在一些实施方案中,一个或多个虚拟机332B-332C可以使用虚拟处理器328B-328C执行访客操作系统330A-330B。
虚拟化服务器301可以包括硬件层310,其具有与虚拟化服务器301通信的一件或多件硬件。在一些实施方案中,硬件层310可以包括一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308以及一个或多个物理存储器316。物理部件304、306、308和316可以包括例如上述部件中的任一个。物理装置306可以包括例如网络接口卡、视频卡、键盘、鼠标、输入装置、监测器、显示装置、扬声器、光学驱动器、存储装置、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等)或者连接到虚拟化服务器301或与其通信的任何装置。硬件层310中的物理存储器316可以包括任何类型的存储器。物理存储器316可以存储数据,并且在一些实施方案中可以存储一个或多个程序或一组可执行指令。图3示出了其中固件312存储在虚拟化服务器301的物理存储器316内的实施方案。存储在物理存储器316中的程序或可执行指令可以由虚拟化服务器301的一个或多个处理器308执行。
虚拟化服务器301还可以包括管理程序302。在一些实施方案中,管理程序302可以是由虚拟化服务器301上的处理器308执行以创建和管理任何数量的虚拟机332的程序。管理程序302可以被称为虚拟机监测器或平台虚拟化软件。在一些实施方案中,管理程序302可以是可执行指令和监测在计算机器上执行的虚拟机的硬件的任意组合。管理程序302可以是类型2管理程序,其中管理程序在于虚拟化服务器301上执行的操作系统314内执行。然后,虚拟机可以在高于管理程序302的级别下执行。在一些实施方案中,类型2管理程序可以在用户的操作系统的上下文内执行,使得类型2管理程序与用户的操作系统交互。在其他实施方案中,虚拟化环境中的一个或多个虚拟化服务器301可以替代地包括类型1管理程序(未示出)。类型1管理程序可以通过直接访问硬件层310内的硬件和资源而在虚拟化服务器301上执行。也就是说,虽然类型2管理程序302通过主机操作系统314访问系统资源(如图所示),但是类型1管理程序可以在没有主机操作系统314的情况下直接访问所有系统资源。类型1管理程序可以直接在虚拟化服务器301的一个或多个物理处理器308上执行,并且可以包括存储在物理存储器316中的程序数据。
在一些实施方案中,管理程序302可以以模拟可直接访问系统资源的操作系统330或控制程序320的任何方式向在虚拟机332上执行的操作系统330或控制程序320提供虚拟资源。系统资源可以包括但不限于物理装置306、物理磁盘304、物理处理器308、物理存储器316和虚拟化服务器301的硬件层310中包括的任何其他部件。管理程序302可以用于仿真虚拟硬件、对物理硬件进行分区、将物理硬件虚拟化、和/或执行提供对计算环境的访问的虚拟机。在其他实施方案中,管理程序302可以控制针对在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。管理程序302可以包括由加利福尼亚州帕洛阿尔托的VMWare公司制造的那些管理程序、XENPROJECT管理程序(这是开源产品,其开发由开源XenProject.org社区监督)、由微软提供的HyperV、VirtualServer或虚拟PC管理程序、或其他管理程序。在一些实施方案中,虚拟化服务器301可以执行管理程序302,其创建可以在其上执行访客操作系统的虚拟机平台。在这些实施方案中,虚拟化服务器301可以被称为主机服务器。这种虚拟化服务器的示例是由佛罗里达州劳德代尔堡市的思杰系统公司提供的XENSERVER。
管理程序302可以创建在其中执行访客操作系统330的一个或多个虚拟机332B-332C(统称为332)。在一些实施方案中,管理程序302可以加载虚拟机图像以创建虚拟机332。在其他实施方案中,管理程序302可以在虚拟机332内执行访客操作系统330。在其他实施方案中,虚拟机332可以执行访客操作系统330。
除了创建虚拟机332之外,管理程序302可以控制至少一个虚拟机332的执行。在其他实施方案中,管理程序302可以向至少一个虚拟机332呈现由虚拟化服务器301提供的至少一个硬件资源(例如,硬件层310内可用的任何硬件资源)的抽象。在其他实施方案中,管理程序302可以控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可以包括确定虚拟机332是否应当有权访问处理器308,以及如何向虚拟机332呈现物理处理器能力。
如图3所示,虚拟化服务器301可以托管或执行一个或多个虚拟机332。虚拟机332是一组可执行指令,当由处理器308执行时,一组可执行指令可以模仿物理计算机的操作,使得虚拟机332可以很像物理计算装置那样执行程序和过程。虽然图3示出了其中虚拟化服务器301托管三个虚拟机332的实施方案,但是在其他实施方案中,虚拟化服务器301可以托管任意数量的虚拟机332。在一些实施方案中,管理程序302可以向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的唯一虚拟视图。在一些实施方案中,唯一虚拟视图可以基于以下项中的一者或多者:虚拟机许可、将策略引擎应用于一个或多个虚拟机标识符、访问虚拟机的用户、在虚拟机上执行的应用、虚拟机访问的网络、或任何其他所需标准。例如,管理程序302可以创建一个或多个不安全虚拟机332和一个或多个安全虚拟机332。可以防止不安全虚拟机332访问安全虚拟机332可以被允许访问的资源、硬件、存储器位置以及程序。在其他实施方案中,管理程序302可以向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的基本相似的虚拟视图。
每个虚拟机332可以包括虚拟磁盘326A-326C(统称为326)和虚拟处理器328A-328C(统称为328)。在一些实施方案中,虚拟磁盘326是虚拟化服务器301的一个或多个物理磁盘304的虚拟化视图,或虚拟化服务器301的一个或多个物理磁盘304的一部分。物理磁盘304的虚拟化视图可以由管理程序302生成、提供和管理。在一些实施方案中,管理程序302为每个虚拟机332提供物理磁盘304的唯一视图。因此,在这些实施方案中,当与其他虚拟磁盘326相比时,每个虚拟机332中包括的特定虚拟磁盘326可以是唯一的。
虚拟处理器328可以是虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施方案中,物理处理器308的虚拟化视图可以由管理程序302生成、提供和管理。在一些实施方案中,虚拟处理器328具有至少一个物理处理器308的基本上所有的相同特性。在其他实施方案中,虚拟处理器308提供物理处理器308的修改视图,以使得虚拟处理器328的至少某些特性不同于对应的物理处理器308的特性。
进一步参考图4,可以在基于云的环境中实现本文描述的一些方面。图4示出了云计算环境(或云系统)400的示例。如图4所见,客户端计算机411-414可以与云管理服务器410通信以访问云系统的计算资源(例如,主机服务器403a-403b(在本文中统称为“主机服务器403”)、存储资源404a-404b(在本文中统称为“存储资源404”)和网络元件405a-405b(在本文中统称为“网络资源405”))。
管理服务器410可以在一个或多个物理服务器上实现。管理服务器410可以例如运行CLOUDPLATFORM(佛罗里达的劳德代尔堡的思杰系统公司)、或OPENSTACK等。管理服务器410可以管理各种计算资源,包括云硬件和软件资源,例如,主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可以包括专用和/或公共部件。例如,云可以被配置为待由一个或多个特定客户或客户端计算机411-414和/或通过专用网络使用的专用云。在其他实施方案中,公共云或混合的公共-专用云可以由其他客户通过开放网络或混合网络使用。
管理服务器410可以被配置为提供用户界面,云操作员和云客户可以通过所述用户界面与云系统400交互。例如,管理服务器410可以为一组应用编程接口(API)和/或一个或多个云操作员控制台应用(例如,基于web的或独立的应用)提供用户界面,以允许云操作员管理云资源、配置虚拟化层、管理客户帐户并执行其他云管理任务。管理服务器410还可以包括具有用户界面的一组API和/或一个或多个客户控制台应用,这些用户界面被配置为经由客户端计算机411-414从终端用户接收云计算请求,例如,用于创建、修改或销毁云内的虚拟机的请求。客户端计算机411-414可以经由互联网或某种其他通信网络连接到管理服务器410,并且可以请求对由管理服务器410管理的计算资源中的一个或多个的访问。响应于客户端请求,管理服务器410可以包括资源管理器,其被配置为基于客户端请求在云系统的硬件层中选择和供应物理资源。例如,云系统的管理服务器410和附加部件可以被配置为通过网络(例如,互联网)为在客户端计算机411-414处的客户提供、创建和管理虚拟机及其操作环境(例如,管理程序、存储资源、网络元件提供的服务等),从而为客户提供计算资源、数据存储服务、联网能力以及计算机平台和应用支持。云系统还可以被配置为提供各种特定服务,包括安全系统、开发环境、用户界面等。
某些客户端411-414可能是与例如代表相同终端用户或者隶属于相同公司或组织的不同用户创建虚拟机的不同客户端计算机相关的。在其他示例中,某些客户端411-414可能是不相关的,诸如隶属于不同公司或组织的用户。对于不相关的客户端,关于任何一个用户的虚拟机或存储装置的信息可能对其他用户隐藏。
现在参考云计算环境的物理硬件层,可用性区401-402(或区)可以指物理计算资源的并置集合。区可以在地理上与整个计算资源云中的其他区分开。例如,区401可以是位于加利福尼亚的第一云数据中心,并且区402可以是位于佛罗里达的第二云数据中心。管理服务器410可以位于可用性区中的一个处或位于单独的位置处。每个区可以包括内部网络,该内部网络通过网关与该区外部的装置(诸如管理服务器410)介接。云的终端用户(例如,客户端411-414)可能会或可能不会意识到区之间的区别。例如,终端用户可以请求创建具有指定数量的存储器、处理能力和网络能力的虚拟机。管理服务器410可以响应用户的请求,并且可以分配资源来创建虚拟机,而无需用户知晓虚拟机是使用来自区401还是区402的资源创建的。在其他示例中,云系统可以允许终端用户请求在特定区中或区内的特定资源403-405上分配虚拟机(或其他云资源)。
在此示例中,每个区401-402可以包括各种物理硬件部件(或计算资源)403-405的布置,例如,物理托管资源(或处理资源)、物理网络资源、物理存储资源、交换机和可用于向客户提供云计算服务的附加硬件资源。云区401-402中的物理托管资源可以包括一个或多个计算机服务器403,诸如上述的虚拟化服务器301,其可以被配置为创建和托管虚拟机实例。云区401或402中的物理网络资源可以包括一个或多个网络元件405(例如,网络服务提供商),其包括被配置为向云客户提供网络服务的硬件和/或软件,诸如防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等。云区401-402中的存储资源可以包括存储磁盘(例如,固态驱动器(SSD)、磁硬盘等)和其他存储装置。
图4中所示的示例云计算环境还可以包括虚拟化层(例如,如图1-图3所示),其具有被配置为使用云中的物理资源对客户创建和管理虚拟机以及提供其他服务的附加硬件和/或软件资源。虚拟化层可以包括管理程序(如上面在图3中所描述的)以及提供网络虚拟化、存储虚拟化等的其他部件。虚拟化层可以是与物理资源层分开的层,或者可以与物理资源层共享相同的硬件和/或软件资源的部分或全部。例如,虚拟化层可以包括安装在具有物理计算资源的虚拟化服务器403中的每一个中的管理程序。可以替代地使用已知的云系统,例如,WINDOWS AZURE(华盛顿州雷德蒙德市的微软公司)、AMAZON EC2(华盛顿州西雅图市的亚马逊公司)、IBM BLUE CLOUD(纽约州阿蒙克市的IBM公司)等。
基于位置与用户装置安全地共享文件
本文所述的方面允许与多个用户装置快速且安全地共享内容,诸如用于即时本地会议。例如,可以基于地理位置和/或短距离自组织网络(例如,蓝牙、Wi-Fi直连等)中的一者或多者与用户装置共享内容。如将在下面进一步详细描述的,计算装置可以经由集中式云服务向用户装置发送标识信息(例如,安全令牌和/或会话标识符)。发送安全令牌和/或会话标识符可以基于例如一小组用户的标识出的地理位置。接收令牌和/或会话标识符的用户装置可能先前已经通过计算装置进行了认证,这可以为与那些装置中的一个或多个共享的文件提供额外的安全层。此外,通过将令牌和/或会话标识符发送到较小地理区域内的一组用户装置,可以使用更少的计算机和网络资源来生成令牌和/或会话标识符以及将文件发送到用户装置。希望共享内容的装置可以接收其他用户装置的令牌和/或会话标识符的副本。发送装置可以安全地验证其他用户装置的令牌,诸如通过短距离网络广播对令牌的请求。在验证之后,发送装置可以通过例如使用接收内容的各个装置的会话标识符对内容进行加密来安全地传输内容。在某些示例中,发送装置可能正在使用企业解决方案进行安全的文件同步和共享。
图5A-图5D示出了根据本文所述的一个或多个说明性方面的用于与其他用户装置共享文件的示例方法。多个用户及其各自的装置可能位于同一地理位置,诸如会议室、相邻会议室、同一建筑物等。在会议期间,第一装置(例如发送装置)可能希望与可能也在会议上的一个或多个其他装置共享文件。如上所述,第一装置和/或其他装置可以包括例如台式计算机、移动电话、膝上型计算机、平板计算机等。在步骤502中,第一装置可以向计算装置发送文件和/或共享文件的请求。计算装置可以是服务器,诸如上述的服务器206和/或数据服务器103。计算装置可以用于认证用户装置,生成用户装置的令牌和/或会话标识符,和/或存储要与用户装置共享的文件,这将在下面进一步详述。在某些情况下,第一装置可以将文件发送到计算装置,使得可以与在远离第一装置的位置的位置处的用户装置共享文件(例如,对于会议的远程与会者)。在某些情况下,第一装置可能不会将文件发送到计算装置,诸如,如果没有远程与会者,或者第一装置不打算将文件发送给远程与会者。可以经由第一装置或与用户相关联的另一装置向用户显示对要共享的文件的指示。用户可以诸如通过选择对要共享的文件的指示旁边或以其他方式与之相关联的按钮(例如,虚拟或物理按钮)来发起文件共享请求。例如,这可以允许用户在会议室中为本地组共享文件。
在步骤504中,计算装置可以从第一装置接收文件和/或共享文件的请求。在一些示例中,计算装置可以作为云服务在云网络上运行。云网络可以包括或促进多个服务器之间的通信,并且允许用户装置访问计算资源,诸如用于生成唯一令牌和/或会话标识符的存储资源和/或处理资源。云服务可以在服务器之一或多个服务器上运行。云服务可以包括可信的全球实体,并且云服务可以促进不同用户之间文件的安全共享。例如,用户可以通过云服务查看和/或修改相同的文件。可信的全球实体可以提供用于连接用户装置的企业级安全性,并且可以被可以位于相同位置或不同位置的那些用户装置信任。在其他装置可以从计算装置和/或直接从第一装置访问文件之前,其他装置可能已经登录到了计算装置或其他云服务上或以其他方式通过其进行了认证。例如,用户装置的用户可能已经提供了用户名和密码、生物特征和/或其他凭证以通过计算装置进行认证。基于认证,用户装置可以与特定的安全域相关联,并且与相同的安全域相关联的装置可能能够彼此共享文件。
在步骤506中,计算装置可以存储要共享的文件。如前所解释,如果文件将可用于远程位置的装置,诸如会议的远程与会者使用的装置,则第一装置可以发送要共享的文件。可以并行执行接收实际要共享的文件和接收本地共享文件的请求,使得在第一装置附近的装置和远离第一装置的装置可能能够访问同一文件。
在步骤508中,计算装置可以确定第一装置的位置。在一些示例中,第一装置可以基于位置服务、全球定位系统(GPS)信号、蓝牙信标、其他无线信号、第一装置的IP地址等来检测其位置。第一装置可以将其位置发送给计算装置。附加地或替代地,计算装置本身可以确定第一装置的位置。例如,用户可能已经安排了会议或接受了会议邀请,并且会议的位置信息可能已存储在与用户相关联的电子日历上。计算装置可以访问电子日历以确定与用户相关联的第一装置的位置,诸如特定的会议室、建筑物中的特定区域等。
在步骤510中,计算装置可以基于第一装置的位置来确定一个或多个其他装置。如前所解释,其他装置可能已通过计算装置进行了认证,并与特定的安全域(诸如,第一装置为其一部分的安全域)相关联。计算装置可以标识与第一装置处于相同地理位置(诸如在第一装置的50米之内、在同一会议室内、在建筑物中的同一区域内、在一组相邻的会议室内等)的其他装置。如前所解释,其他装置的位置可以基于位置服务、GPS信号等。在一些示例中,计算装置可以从其他装置请求其位置。附加地或替代地,其他装置可以有规律地、连续地或零星地将其位置发送给计算装置,从而可以保持该装置的位置为最新。通过确定第一装置附近的其他装置,计算装置可以标识可能潜在地与第一装置处于同一本地会议中的用户装置的较小子集。例如,计算装置可以快速标识本地组以共享文件,而不必事先确定其他装置的信息(例如,电子邮件地址、用户ID等)。
在步骤512中,计算装置可以为在步骤510中确定的其他装置生成一个或多个唯一令牌。计算装置可以为每个装置生成令牌,并且令牌可以彼此不同。唯一令牌可以包括例如随机或伪随机数、字母和/或其他字符。在步骤514中,计算装置可以为在步骤510中确定的其他装置生成一个或多个唯一会话标识符。计算装置可以为每个其他装置生成会话标识符,并且会话标识符可以彼此不同。唯一会话标识符可以包括例如随机或伪随机数、字母和/或其他字符。计算装置可以将装置的令牌与装置的会话标识符相关联。例如,以下可以包括在步骤510中确定的装置中的一个装置(例如,接收装置R1)的令牌和会话标识符:
令牌 会话
saa#@%@#asdfs12d !s3sdf#%s!12s$sf
作为另一示例,以下可以包括在步骤510中确定的装置中的另一个装置(例如,接收装置R2)的令牌和会话标识符:
令牌 会话
Asdf2323@#$!@#%$ 12A@#!@AW!@q
计算装置可以类似地为在步骤510中确定的其他装置生成唯一令牌和/或会话标识符。如上所示,计算装置可以通过将每个接收装置映射到其对应的令牌和/或会话标识符来生成映射。参考图5B,在步骤516中,计算装置可以认证其他装置。可以随时执行对其他装置的认证。例如,并且如前所解释,当其他装置登录或以其他方式尝试通过计算装置进行认证以加入与第一装置相关联的安全域时,可以对其他装置进行认证。在将任何令牌和/或会话标识符发送到其他装置之前,可以对那些其他装置进行认证。
在步骤518中,计算装置可以生成与其他装置的一个或多个安全信道。安全信道可以包括其他装置和计算装置之间的认证会话,并且安全信道可以在装置已经通过计算装置认证之后生成。
在步骤520中,计算装置可以向其他装置发送它们相对应的唯一令牌和/或会话标识符。例如,装置的唯一令牌和/或会话标识符可以经由装置和计算装置之间的安全信道与装置安全地共享。在步骤522中,其他装置可以从计算装置接收它们各自的唯一令牌和/或会话标识符。在以上示例中,接收装置R1可以从计算装置接收以下令牌和会话标识符:
令牌 会话
saa#@%@#asdfs12d !s3sdf#%s!12s$sf
类似地,接收装置R2可以从计算装置接收以下令牌和会话标识符:
令牌 会话
Asdf2323@#$!@#%$ 12A@#!@AW!@q
尽管以上示例描述了接收不同令牌的不同装置,但是计算装置可以将相同令牌发送到多个装置。例如,令牌saa#@%@#asdfs12d可以用于接收装置R1和接收装置R2两者。在步骤524中,计算装置可以生成与第一装置(例如,希望与其他装置共享文件的装置)的安全信道。安全信道可以包括第一装置和计算装置之间的认证会话,并且安全信道可以在第一装置已经通过计算装置认证之后生成。
在步骤526中,计算装置可以向第一装置发送其他装置的唯一令牌和/或会话标识符。在一些示例中,计算装置可以向第一装置发送计算装置发送给每个相应的接收装置的相同的令牌和会话ID。在上面的示例中,假设有两个潜在的接收装置R1和R2,计算装置可以将以下信息发送给第一装置:
接收装置 令牌 会话
R1 saa#@%@#asdfs12d !s3sdf#%s!12s$sf
R2 Asdf2323@#$!@#%$ 12A@#!@AW!@q
如果计算装置标识出其他潜在的接收装置(例如,在步骤510中),则计算装置可以类似地将它们相应的令牌和会话标识符发送给第一装置。在步骤528中,第一装置可以从计算装置接收其他装置的唯一令牌和/或会话标识符。例如,其他装置的唯一令牌和/或会话标识符可以经由第一装置和计算装置之间的经认证的安全信道与第一装置安全地共享。
参考图5C,在步骤530中,第一装置可以向其他装置发送对其他装置的唯一令牌的请求。第一装置可以向距第一装置特定距离(例如50米、30米、10米等)内的其他装置广播令牌请求。例如,第一装置可以使用Wi-Fi直连、蓝牙或其他短距离或中距离无线技术发送令牌请求。第一装置可以自动广播令牌请求,这可能不需要用户输入。接收第一装置的令牌请求的装置可能与计算装置在步骤510中标识的装置不同。例如,在第一装置的范围内或附近的任何装置可以接收广播消息。附加地或替代地,与第一装置连接到相同网络的装置可以接收令牌请求。
在步骤532中,其他装置可以从第一装置接收对装置的唯一令牌的请求。例如,接收装置R1可以从第一装置接收令牌请求。类似地,接收装置R2可以从第一装置接收令牌请求。在一些示例中,接收装置R1或R2中的一者或多者可能未接收令牌请求,诸如如果装置R1或R2不在第一装置的广播范围内和/或未与第一装置连接到相同网络。
在步骤534中,其他装置可以将其相应的令牌发送到第一装置。例如,假设接收装置R1接收到来自第一装置的令牌请求,则R1可以将其先前从计算装置接收的令牌(例如,saa#@%@#asdfs12d)发送到第一装置。类似地,假设接收装置R2接收到来自第一装置的令牌请求,则R2可以将其先前从计算装置接收的令牌(例如,Asdf2323@#$!@#%$)发送到第一装置。其他装置可以类似地通过发送其相应的令牌来响应第一装置。如果接收到来自第一装置的令牌请求的装置没有从计算装置接收到令牌(例如,在步骤522中),则该装置可以忽略来自第一装置的令牌请求。在一些示例中,其他装置可以自动发送它们相应的令牌(例如,无需用户输入)。在其他示例中,装置可以显示弹出消息或其他消息,请求用户确认用户想要接收特定文件。用户可以确认经由该装置接收该文件,并且该装置可以响应于该确认而在步骤534中发送其令牌。
在步骤536中,第一装置可以从其他装置接收唯一令牌。第一装置可以经由与广播令牌请求所使用的相同的网络来接收令牌,诸如Wi-Fi直连连接、蓝牙连接或其他短距离或中距离无线连接。
在步骤538中,第一装置可以向第一装置的用户显示要为其共享文件的潜在装置的列表。装置列表可以包括第一装置从其接收令牌的装置。例如,装置列表可以包括接收装置R1、接收装置R2和/或在第一装置附近的其他装置。第一装置可以诸如经由弹出窗口或其他窗口显示装置列表,以及例如每个装置的复选框。
在步骤540中,第一装置可以从用户接收对要针对其共享文件的装置中的一个或多个装置的选择或取消选择。用户可以选择或取消选择要接收文件的装置。这可以允许用户移除在令牌请求过程中添加的任何误报和/或以其他方式移除用户不希望与之共享文件的任何装置。例如,用户可能希望与同一会议室中的其他装置共享文件。但是,相邻会议室中的装置可能已将其唯一令牌发送给了第一装置,并且用户可以从将提供文件至的装置的列表中移除该装置。一旦用户完成选择和/或取消选择装置,第一装置的用户就可以选择在第一装置上显示的共享选项。在一些示例中,用户可能不需要手动选择或取消选择装置,并且该过程可以是自动化的。例如,第一装置可以自动选择与第一装置在同一会议室内和/或在第一装置的阈值距离之内(例如,在第一装置的10英尺之内)的装置。
在步骤542中,第一装置可以将从每个其他装置接收的令牌(例如,在步骤536中)与从计算装置接收的令牌(例如,在步骤528中)进行比较。例如,第一装置可以确定令牌是否彼此匹配或以其他方式相对应。在步骤544中,第一装置可以基于比较来验证其他装置。换句话说,第一装置可能能够验证从附近装置接收到的令牌。如果从特定装置(例如,接收装置R1)接收的令牌与从计算装置接收的对应令牌(例如,R1的令牌saa#@%@#asdfs12d)匹配,则第一装置可以验证该令牌。第一装置可以类似地验证从其他装置接收的令牌。如果第一装置接收到来自另一装置的令牌,但是没有接收到来自计算装置的对应令牌,则第一装置可能不验证该装置。第一装置可以基于令牌和从计算装置接收的映射来反向映射其他用户装置(例如,R1)。如前所解释,令牌和/或会话标识符可以被映射到用户装置。第一装置可以使用所接收的令牌来在用户装置与令牌和/或会话标识符之间的映射中标识对应的用户装置。
参考图5D,在步骤546中,第一装置可以加密要与其他装置共享的文件,诸如使用其他装置的唯一会话标识符。例如,第一装置可以使用装置R1的会话标识符(例如,会话ID!s3sdf#%s!12s$sf)来加密将被发送到装置R1的文件。作为另一示例,第一装置可以使用装置R2的会话标识符(例如,会话ID 12A@#!@AW!@q)来加密要发送到装置R2的文件。可以使用任何加密方法来加密文件,诸如对称密钥算法或非对称密钥算法。如前所解释,计算装置可能已经向每个其他装置提供了其会话标识符,该其他装置可以使用该会话标识符来解密它从第一装置接收的加密文件。通过使用唯一会话标识符在短距离自组织网络中安全地传输文件,可以避免通过装置之间的不安全介质进行密钥交换的复杂性。而且,会话标识符可能已经经由安全的通信信道被提供给其他装置。因此,可以基于本文描述的技术来改善数据安全性。
在步骤548中,第一装置可以向其他装置发送文件。可以使用其他装置的唯一会话标识符对文件进行加密。可以替代地通过其他技术对文件进行加密,或可以不对文件进行加密。第一装置可以经由用于与其他装置通信的短距离网络来发送文件,诸如蓝牙网络或Wi-Fi直连网络。如前所解释,第一装置还可以将文件上传到计算装置(例如,与将文件发送到其他装置并行),这可以允许远程装置访问文件和/或使计算装置保留共享文件的副本。
在步骤550中,其他装置可以从第一装置接收文件。该文件可能已加密。在步骤552中,该其他装置可以解密所接收的文件。例如,该文件可能已使用装置的唯一会话标识符进行了加密。装置可以使用其先前可能已经从计算装置接收到的其唯一会话标识符来解密文件。
在步骤554中,其他装置可以向第一装置发送指示该其他装置接收到文件的确认。在步骤556中,第一装置可以从该其他装置接收该确认。在某些情况下,第一装置可以向第一装置的用户显示对成功接收到该文件的装置的指示。
基于上述一个或多个方面,可以在地理位置的帮助下使用企业解决方案来安全地本地共享文件,诸如使用自组织网络。这可以减少用户例如从会议邀请中手动复制和粘贴每个收件人的标识符(例如,电子邮件地址)的工作量。而且,在会议邀请是口头的(例如,不是通过电子邮件)的情况下,发件人询问或获取各个用户的电子邮件地址的需求可以消除。
尽管已经用专用于结构特征和/或方法论行为的语言对主题进行了描述,但应当理解,所附权利要求中定义的主题不一定限制于上文所描述的特定特征或行为。相反,上文所描述的特定特征和行为是作为以下权利要求的示例性实现方式进行描述的。

Claims (20)

1.一种方法,其包括:
由服务器且从第一用户装置接收共享文件的请求;
由所述服务器确定在包括所述第一用户装置的区域内的多个用户装置;
基于接收到共享所述文件的所述请求,生成多个标识信息,每个标识信息对应于所述多个用户装置中的不同用户装置;
由所述服务器且向所述多个用户装置中的每个用户装置发送对应于所述用户装置的所述标识信息;以及
由所述服务器且向所述第一用户装置发送所述多个标识信息,以使所述第一用户装置能够安全地向所述多个用户装置中的一个或多个发送文件。
2.根据权利要求1所述的方法,其中确定在包括所述第一用户装置的区域内的多个用户装置包括确定在与所述第一用户装置的阈值距离内的多个用户装置。
3.根据权利要求1所述的方法,其还包括:
接收所述多个用户装置的位置信息,其中确定在包括所述第一用户装置的区域内的多个用户装置包括:
确定所述第一用户装置的地理位置;以及
基于所述位置信息与所述第一用户装置的所述地理位置的比较,确定与所述第一用户装置位于相同地理位置的所述多个用户装置。
4.根据权利要求1所述的方法,其中:
所述标识信息包括多个唯一令牌和多个唯一会话标识符;
生成所述多个标识信息包括:
生成多个唯一令牌,每个唯一令牌对应于所述多个用户装置中的不同用户装置,以及
生成多个唯一会话标识符,每个唯一会话标识符对应于所述多个用户装置中的不同用户装置,
发送所述标识信息包括向所述多个用户装置中的每个用户装置发送与所述用户装置相对应的所述唯一令牌和所述唯一会话标识符,并且
发送所述多个标识信息包括向所述第一用户装置发送所述多个唯一令牌和所述多个唯一会话标识符。
5.根据权利要求1所述的方法,其还包括:
由所述服务器且从所述第一用户装置接收要共享的所述文件;
由所述服务器存储要共享的所述文件;以及
由所述服务器且向远离包括所述第一用户装置的所述区域的位置处的用户装置发送所存储的文件。
6.根据权利要求1所述的方法,其还包括:
由所述服务器且从位于与包括所述第一用户装置的所述区域不同的地理位置处的用户装置接收对所述文件的请求;以及
由所述服务器且向位于与包括所述第一用户装置的所述区域不同的所述地理位置处的所述用户装置发送所述文件。
7.根据权利要求1所述的方法,其还包括:
在将所述标识信息发送到所述多个用户装置中的每个用户装置之前,由所述服务器认证所述多个用户装置;以及
基于所述认证,为所述多个用户装置中的每个用户装置生成所述服务器与所述用户装置之间的安全信道,其中将所述多个标识信息发送到所述第一用户装置包括向所述第一用户装置且经由所述服务器与所述第一用户装置之间的安全信道发送所述多个标识信息。
8.一种方法,其包括:
由第一用户装置且向服务器发送共享文件的请求;
基于发送共享所述文件的所述请求,由所述第一用户装置且从所述服务器接收多个标识信息,每个标识信息对应于多个用户装置中的不同用户装置;
由所述第一用户装置且向所述第一用户装置附近的多个用户装置发送标识信息请求;
基于发送所述标识信息请求,由所述第一用户装置且从所述第一用户装置附近的一个或多个用户装置接收一个或多个标识信息;以及
基于接收到所述一个或多个标识信息,由所述第一用户装置且向所述第一用户装置附近的所述一个或多个用户装置发送所述文件。
9.根据权利要求8所述的方法,其还包括:
由所述第一用户装置将所述一个或多个标识信息与从所述服务器接收的所述多个标识信息进行比较;以及
基于所述比较,由所述第一用户装置验证所述第一用户装置附近的所述一个或多个用户装置,
其中发送所述文件是基于所述验证。
10.根据权利要求8所述的方法,其中发送所述标识信息请求包括经由所述第一用户装置与所述第一用户装置附近的所述多个用户装置之间的直接连接来发送所述标识信息请求。
11.根据权利要求10所述的方法,其中所述直接连接包括蓝牙连接或Wi-Fi直连连接中的一者或多者。
12.根据权利要求8所述的方法,其中发送所述标识信息请求包括经由一个或多个短距离网络来广播所述标识信息请求。
13.根据权利要求8所述的方法,其中接收所述一个或多个标识信息包括经由一个或多个短距离网络来接收所述一个或多个标识信息。
14.根据权利要求8所述的方法,其中所述标识信息包括多个唯一令牌和多个唯一会话标识符,并且其中接收所述多个标识信息包括由所述第一用户装置从所述服务器且经由所述服务器与所述第一用户装置之间的安全信道接收所述多个唯一令牌和所述多个唯一会话标识符,每个唯一令牌对应于所述多个用户装置中的不同用户装置并且每个唯一会话标识符对应于所述多个用户装置中的不同用户装置。
15.根据权利要求14所述的方法,其还包括:
针对所述第一用户装置附近的所述一个或多个用户装置中的每个用户装置,用与所述用户装置相对应的唯一会话标识符来加密所述文件,
其中发送所述文件包括针对所述第一用户装置附近的所述一个或多个用户装置中的每个用户装置,发送用与所述用户装置相对应的所述唯一会话标识符加密的所述文件。
16.根据权利要求8所述的方法,其还包括:
基于与一个或多个远程用户装置共享所述文件的确定,由所述第一用户装置且向所述服务器发送所述文件。
17.一种设备,其包括:
处理器;和
存储计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使所述设备:
从第一用户装置接收共享文件的请求;
确定在包括所述第一用户装置的区域内的多个用户装置;
基于接收到共享所述文件的所述请求,生成多个标识信息,每个标识信息对应于所述多个用户装置中的不同用户装置;
向所述多个用户装置中的每个用户装置发送对应于所述用户装置的所述标识信息;以及
向所述第一用户装置发送所述多个标识信息,以使所述第一用户装置能够安全地向所述多个用户装置中的一个或多个发送文件。
18.根据权利要求17所述的设备,其中所述存储器存储计算机可执行指令,所述计算机可执行指令在由所述处理器执行时,使所述设备:
接收所述多个用户装置的位置信息,其中确定在包括所述第一用户装置的区域内的多个用户装置包括:
确定所述第一用户装置的地理位置;以及
基于所述位置信息与所述第一用户装置的所述地理位置的比较,确定与所述第一用户装置位于相同地理位置的所述多个用户装置。
19.根据权利要求17所述的设备,其中:
所述标识信息包括多个唯一令牌和多个唯一会话标识符;
生成所述多个标识信息包括:
生成多个唯一令牌,每个唯一令牌对应于所述多个用户装置中的不同用户装置,
生成多个唯一会话标识符,每个唯一会话标识符对应于所述多个用户装置中的不同用户装置,
发送所述标识信息包括向所述多个用户装置中的每个用户装置发送与所述用户装置相对应的所述唯一令牌和所述唯一会话标识符,并且
发送所述多个标识信息包括向所述第一用户装置发送所述多个唯一令牌和所述多个唯一会话标识符。
20.根据权利要求17所述的设备,其中所述存储器存储计算机可执行指令,所述计算机可执行指令在由所述处理器执行时,使所述设备:
从所述第一用户装置接收要共享的所述文件;
存储要共享的所述文件;以及
向远离包括所述第一用户装置的所述区域的位置处的用户装置发送所存储的文件。
CN201980080458.3A 2018-10-30 2019-10-14 基于位置与用户装置安全地共享文件 Pending CN113169999A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/174,499 US10915650B2 (en) 2018-10-30 2018-10-30 Securely sharing files with user devices based on location
US16/174,499 2018-10-30
PCT/US2019/056072 WO2020091980A1 (en) 2018-10-30 2019-10-14 Securely sharing files with user devices based on location

Publications (1)

Publication Number Publication Date
CN113169999A true CN113169999A (zh) 2021-07-23

Family

ID=68393103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980080458.3A Pending CN113169999A (zh) 2018-10-30 2019-10-14 基于位置与用户装置安全地共享文件

Country Status (6)

Country Link
US (2) US10915650B2 (zh)
EP (1) EP3874435A1 (zh)
CN (1) CN113169999A (zh)
AU (1) AU2019371364B2 (zh)
CA (1) CA3118271A1 (zh)
WO (1) WO2020091980A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291758B (zh) * 2020-10-29 2023-12-05 维沃移动通信有限公司 文件共享方法、文件共享装置和电子设备
US11729274B2 (en) 2022-01-11 2023-08-15 Microsoft Technology Licensing, Llc Customized user session at shared device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009108841A2 (en) * 2008-02-27 2009-09-03 Qualcomm Incorporated Intelligent multiple device file sharing in a wireless communications system
CN106411687A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 网络接入设备与绑定用户间交互的方法和装置
CN107948926A (zh) * 2017-11-02 2018-04-20 北京小米移动软件有限公司 智能设备分享的方法和装置
US20180205715A1 (en) * 2017-01-16 2018-07-19 Citrix Systems, Inc. Secure Device Notifications From Remote Applications

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546299B2 (en) * 2004-05-12 2009-06-09 Alcatel-Lucent Usa Inc. Network supported network file sharing among mobile subscribers
US8656161B2 (en) * 2004-11-30 2014-02-18 Nec Corporation Information sharing system, information sharing method, group management program and compartment management program
US7874015B2 (en) * 2006-05-12 2011-01-18 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for controlling distribution of digital content in a file sharing system using license-based verification, encoded tagging, and time-limited fragment validity
JP2008305073A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd ファイル共有システム及びファイル共有装置の起動方法
US20100005138A1 (en) * 2008-04-21 2010-01-07 Topia Technology Electronic file sharing
US8972496B2 (en) * 2008-12-10 2015-03-03 Amazon Technologies, Inc. Content sharing
US8898742B2 (en) * 2011-10-11 2014-11-25 Paramount Pictures Corporation Systems and methods for controlling access to content distributed over a network
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US8930475B1 (en) * 2012-03-30 2015-01-06 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US20130346494A1 (en) * 2012-06-22 2013-12-26 Motorola Mobility, Inc. Cloud-based system and method for sharing media among closely located devices
US8869306B2 (en) * 2013-01-24 2014-10-21 Bank Of America Corporation Application usage in device identification program
US9565175B1 (en) * 2014-01-16 2017-02-07 Microstrategy Incorporated Sharing document information
KR101573197B1 (ko) * 2014-02-24 2015-12-02 에스케이텔레콤 주식회사 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치
US9973543B2 (en) * 2014-10-13 2018-05-15 Getgo, Inc. Seamless switching between computing devices during an online meeting
EP3283964B1 (en) * 2015-04-15 2021-03-17 BlackBerry Limited Method of operating a computing device, computing device and computer program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009108841A2 (en) * 2008-02-27 2009-09-03 Qualcomm Incorporated Intelligent multiple device file sharing in a wireless communications system
EP2294851A2 (en) * 2008-02-27 2011-03-16 QUALCOMM Incorporated Intelligent multiple device file sharing in a wireless communications system
CN106411687A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 网络接入设备与绑定用户间交互的方法和装置
US20180205715A1 (en) * 2017-01-16 2018-07-19 Citrix Systems, Inc. Secure Device Notifications From Remote Applications
CN107948926A (zh) * 2017-11-02 2018-04-20 北京小米移动软件有限公司 智能设备分享的方法和装置

Also Published As

Publication number Publication date
US11783066B2 (en) 2023-10-10
EP3874435A1 (en) 2021-09-08
US20210133342A1 (en) 2021-05-06
US20200134219A1 (en) 2020-04-30
US10915650B2 (en) 2021-02-09
WO2020091980A1 (en) 2020-05-07
AU2019371364A1 (en) 2021-06-17
AU2019371364B2 (en) 2022-11-24
CA3118271A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
US11206253B2 (en) Domain pass-through authentication in a hybrid cloud environment
US10558407B2 (en) Availability of devices based on location
US10133525B2 (en) Autonomous secure printing
US11057358B2 (en) Concealment of customer sensitive data in virtual computing arrangements
US11783066B2 (en) Securely sharing files with user devices based on location
US11366883B2 (en) Reflection based endpoint security test framework
US11062049B2 (en) Concealment of customer sensitive data in virtual computing arrangements
US20220021532A1 (en) Tracking Tainted Connection Agents
US20220035933A1 (en) Enhanced Security Mechanism for File Access
CN113366811A (zh) 安全云计算

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