CN103329503B - Ad hoc文件共享 - Google Patents
Ad hoc文件共享 Download PDFInfo
- Publication number
- CN103329503B CN103329503B CN201280005177.XA CN201280005177A CN103329503B CN 103329503 B CN103329503 B CN 103329503B CN 201280005177 A CN201280005177 A CN 201280005177A CN 103329503 B CN103329503 B CN 103329503B
- Authority
- CN
- China
- Prior art keywords
- file
- equipment
- hoc
- sharing service
- sharing
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种设备使用AD HOC文件共享服务来传输文件和执行文件浏览的方法和装置。在示例性方法中,所述设备将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个。所发送的宣告均包括与第一设备相关联的用户的用户身份。此外,对AD HOC文件共享服务的访问权限以每个用户为基础进行授予。所述设备建立与所述其他设备中的每个的连接,并且与所述多个其他设备中的每个传输文件。
Description
技术领域
本发明总体上涉及文件共享和浏览,更特别地,涉及基于AD HOC的文件共享和浏览。
背景技术
文件共享是分发和/或提供对储存在计算机或其他设备上的文件的访问权限的使用。文件共享可通过客户端计算机访问中央服务器上的文件,通过第三方服务建立计算机之间的对等文件共享,把将被共享的文件放置在可移除介质上并在计算机之间移动该介质等等来实现。文件共享的一个特定使用是基于AD HOC的共享文件,这是出于特定目的或任务共享文件。例如,它对于在会议中的参与者之间设立临时文件共享可以是有用的。
然而,尽管文件共享在两个计算机之间是有用的,但是一般用户可能难以在他们的计算机上适当地设立AD HOC文件共享。例如,AD HOC文件共享可能要求参与的计算机在同一Wi-Fi网络上,个人可能需要启用文件共享,设立文件许可等等。设立AD HOC文件共享所需的步骤越多,计算机用户将越不可能利用这种类型的文件共享。
发明内容
描述了设备使用AD HOC文件共享服务来传输文件和执行文件浏览的方法和装置。在示例性方法中,第一设备将AD HOC文件共享服务的宣告(advertisement)发送给一个或多个其他设备中的每个。所发送的宣告均包括与第一设备相关联的用户的用户身份。此外,对AD HOC文件共享服务的访问权限以每个用户为基础进行授予。第一设备可建立与所述多个其他设备中的每个的连接,并且可与所述多个 其他设备中的每个传输文件。
在另一实施例中,设备将AD HOC文件共享服务的宣告发送给多个其他设备中的每个,其中宣告包括与第一设备相关联的用户的用户身份。此外,设备将对AD HOC文件共享服务的访问权限许可给所述多个其他设备中的每个,其中对AD HOC文件共享服务的访问权限以每个用户为基础进行授予。另外,在与所述多个其他设备中的每个对应的用户在第一设备上不具有文件共享账户的情况下实现访问。
在一实施例中,可以在第一设备上响应于用户选择或打开被指定或配置为用于AD HOC文件共享的文件夹或图标来发起AD HOC文件共享过程。选择或打开所述文件夹或图标的动作自动地启动AD HOC文件共享过程,该过程可包括将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个。宣告可包括与第一设备相关联的用户的用户身份、或者第一设备的设备身份、或者用户身份和设备身份二者。每个设备上的访问权限可以以每个用户为基础进行授予,并且可在无需另一设备的用户在接收宣告之前设立文件共享的情况下实现访问。
还描述了其他方法和装置。
附图说明
在附图中以举例而非限制的方式示出了本发明,在附图中,相似的附图标记指示类似的元件。
图1是参与AD HOC文件共享的多个设备的一个实施例的框图。
图2是执行AD HOC文件共享的过程的一个实施例的流程图。
图3A是启用和宣告AD HOC文件共享服务的过程的一个实施例的流程图。
图3B是从AD HOC文件共享服务接收宣告的过程的一个实施例的流程图。
图4A和4B是使用AD HOC文件共享服务来传输文件的过程的一个实施例的流程图。
图5A和图5B是使用AD HOC文件共享服务来浏览文件的过程的一个实施例的流程图。
图6是示出通过AD HOC文件共享服务进行文件共享和浏览的文件共享用户界面的框图。
图7是执行AD HOC文件共享的AD HOC文件共享模块的框图。
图8A是启用和宣告AD HOC文件共享服务的AD HOC文件共享启用模块的框图。
图8B是接收针对AD HOC文件共享服务的宣告的宣告接收模块的框图。
图9A、9B和9C是使用AD HOC文件共享服务来传输文件的文件传输模块的框图。
图10A、10B和10C是使用AD HOC文件共享服务来浏览文件的文件浏览模块的框图。
图11示出可与本文描述的实施例结合使用的典型计算机***的一个例子。
图12示出可与本发明一实施例一起使用的数据处理***的例子。
具体实施方式
描述了设备使用AD HOC文件共享服务来传输文件和执行文件浏览的方法和装置。在以下描述中,阐述了许多特定细节以提供对本发明的实施例的透彻解释。然而,对于本领域技术人员将显而易见的是,在没有这些特定细节的情况下也可以实施本发明的实施例。在其他实例中,为了不模糊对本说明书的理解,没有对公知的组件、结构和技术进行详细描述。
本说明书中对于“一实施例”或“实施例”的提及意指结合该实施例描述的特定特征、结构或特性可包括在本发明的至少一个实施例中。短语“在一实施例中”在本说明书中各个地方的出现不一定全都指的是同一实施例。
在以下说明和权利要求中,可使用术语“耦合”和“连接”及其 派生词。应该理解,这些术语并非意图对于彼此是同义词。“耦合”用于指示可以彼此直接物理接触或电接触或者可以彼此不直接物理接触或电接触的两个或更多个元件彼此共同操作或交互。“连接”用于指示彼此耦合的两个或更多个元件之间的通信的建立。
附图中描绘的过程由包括硬件(例如,电路***、专用逻辑器等)、软件(比如在通用计算机***或专用机器上运行)或二者的组合的处理逻辑器执行。尽管以下就一些顺序操作描述这些过程,但是应该意识到,所描述的操作中的一些可按不同顺序执行。而且,一些操作可并行地而不是顺序地执行。
术语“服务器”、“客户端”和“设备”意在泛指数据处理***,而不是具体地指代服务器、客户端和/或装置的特定形式因子。
描述了设备使用AD HOC文件共享服务来传输文件和执行文件浏览的方法和装置。在示例性方法中,设备将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个。所发送的宣告均包括与第一设备相关联的用户的用户身份。此外,对AD HOC文件共享服务的访问权限以每个用户为基础进行授予。设备建立与所述其他设备中的每个的连接,并与所述多个其他设备中的每个进行文件传输。
图1是参与AD HOC文件共享的多个设备的一实施例的框图。在图1中,设备102A-C经由网络连接104A-C而耦合。在一实施例中,设备102A经由网络连接104A与设备102B耦合,设备102B经由网络连接104B与设备102C耦合。类似地,设备102C经由网络连接104C与设备102A耦合。尽管在一实施例中,这三个设备被示为经由网络连接而耦合在一起,但是在替代实施例中,更多的或更少的设备可经由全网状点对点网络连接和/或比全网状少的网络连接的网络拓扑中的网络连接而耦合在一起。例如,在一实施例中,网络连接环可用于一组四个或更多个设备。
在一实施例中,设备可以是个人计算机、膝上型计算机、笔记本计算机、平板计算机、智能电话、蜂窝电话、游戏设备、媒体播放器等和/或任何其他类型的可具有网络连接并且可储存和/或传输文件的 设备。在一实施例中,网络连接可以是可耦合两个不同设备的任何类型的网络连接:无线连接(Wi-Fi、蜂窝、蓝牙、红外等)、有线连接(以太网等)和/或它们的组合。在一实施例中,每个设备102A-C可使用AD HOC文件共享服务来传输文件和/或浏览其他设备的文件***中的文件。在一实施例中,每个设备102A-C将其他设备102A-C经由AD HOC文件共享服务可获得的文件储存在特殊文件夹中,这可缓解对于用户手动地设置文件可用于共享和/或不可用于共享的许可或者挂载(mount)特殊文件***的需要。在这种情况下,用户可将文件(或者文件的别名或快捷方式)放置在特殊文件夹中,并通过将该文件放置到该特殊文件夹中而自动地允许该文件的文件共享。该特殊文件夹可被指定或配置为接收用户想通过本文描述的AD HOC文件共享的实施例来共享的文件。选择或打开该文件夹或者将文件与该文件夹相关联或者将文件放置到该文件夹中的动作可自动地对该文件和被放置到该文件夹中或与该文件夹相关联的任何其他文件启用AD HOC文件共享。文件或者文件的别名或快捷方式可被放置到该文件夹中或者与该文件夹相关联,以便对该文件启用AD HOC文件共享。该特殊文件夹可用于限制共享的文件的范围,因为在一实施例中,仅使被放置到该特殊文件夹中或者与该特殊文件夹相关联的那些文件可用于AD HOC文件共享。
在一实施例中,AD HOC文件共享服务是可针对特定任务、项目和/或其他需要而设立的点对点文件共享服务。在一实施例中,AD HOC文件共享服务通过将宣告发送给可参与该设备的AD HOC文件共享服务的其他设备来工作。在该实施例中,所发送的宣告向其他设备表示AD HOC文件共享服务在这些设备之一中可用。通过具有点对点服务,第一设备的第一用户可将访问权限允许给第二设备的第二用户,而不需要使第二用户在第一设备上具有用于文件共享服务的账户,或者不需要托管在第三设备上的第三方服务器和/或服务(例如,对等文件共享等)。此外,在一实施例中,以每个用户为基础授予对AD HOC文件共享服务的访问权限。因此,在该实施例中,AD HOC文件共享 服务允许对AD HOC文件共享服务不具有账户特定的访问权限的用户,对AD HOC文件共享服务的账户特定的访问权限可能未被授予给其他用户。这与可具有访客账户访问权限的不同类型的文件共享服务形成对比,所述访客账户访问权限将文件共享访问权限授予给任何和所有远程用户。另外,可在不使用对远程设备授予对AD HOC文件共享服务的访问权限的认证服务的情况下实现对AD HOC文件共享的访问。
在一实施例中,AD HOC文件共享服务通过一个设备经由设备104A-C中的每个都参与的联网连接将宣告发送给其他设备以宣告该设备上存在文件共享服务来运行。例如,在一实施例中,设备102A通过其网络连接104A-C发送宣告。在一实施例中,一个或多个设备102A-C在该设备参与的网络连接上发送AD HOC文件共享服务的宣告(例如,在公司局域网(LAN)、家庭网络LAN等上广播(例如,将宣告广播到网络连接104A-C上的所有其他设备))。在另一实施例中,设备102A-C仅将宣告发送给与设备102A-C紧邻的其他设备。在该实施例中,设备102A-C将把宣告发送给与该发送设备紧邻的其他设备。例如,在一实施例中,设备102A将宣告发送给如基于设备102A-C的Wi-Fi、蓝牙和/或蜂窝信号强度、路由跳数、物理位置(全球定位***位置、蜂窝电话位置等)等和/或其中的组合而测量的紧邻的其他设备102B-C。例如,在一实施例中,蓝牙信号的信号强度可用于限制Wi-Fi发现的设备的数量。
在一实施例中,设备102A-C中的AD HOC文件共享服务通过文件共享连接来浏览文件和传输文件。在一个实施例中,文件共享连接意指一个设备可浏览远程设备的文件并且与该远程设备来回传输文件,而不需要授予对在所述一个设备上运行的AD HOC文件共享服务的进一步访问权限。在该实施例中,这意味着文件共享储存库中的一个或多个文件和/或目录通过AD HOC文件共享服务对于远程设备是可见的。在一实施例中,当远程设备一开始试图对托管AD HOC文件共享服务的设备浏览和/或传输文件时,该AD HOC文件共享服务就 将访问权限授予该远程设备。以下在图4A和5A中进一步描述访问权限的授予。
在一个实施例中,受AD HOC文件服务器控制的设备102A-C中的AD HOC文件共享服务察看共享服务模块106A-C。在该实施例中,AD HOC文件搜索共享服务模块106A-C控制该文件共享服务的启用,调动支持该AD HOC文件共享服务的相关网络服务和连接(例如,调动Wi-Fi、蓝牙等),并控制该AD HOC文件共享服务可访问的文件的传输和/或浏览。以下在图2中进一步描述AD HOC文件共享服务模块的操作。
此外,每个设备102A-C包括AD HOC文件储存库108A-C。在一个实施例中,用于AD HOC文件共享服务的文件储存库108A-C是目录、单独的文件***、可拆卸的储存器、内部存储器等和/或设备的可用于储存文件的任何组件。应指出,本发明无需具有支持AD HOC文件共享服务的单独文件***。在一个实施例中,AD HOC文件共享服务将标题为会议室的文件夹指定为将用于AD HOC文件共享服务的文件的临时储存器。
图2是执行AD HOC文件共享的过程的一个实施例的流程图。在图2中,过程200始于在块202启用AD HOC文件共享服务并宣告该服务的存在。在一个实施例中,过程200通过调动控制AD HOC文件共享服务的处理来启用AD HOC文件共享服务。在该实施例中,通过启用AD HOC文件共享服务。例如,在一实施例中,设备的用户可开启AD HOC文件共享服务,并且可使用该服务来与另一设备发送和/或接收文件,并且还可浏览远程设备并使远程设备浏览该设备。在该例子中,设备的用户可根据需要开启和断开服务。例如,在一个实施例中,如果在会议中用户想与其他人共享文件,则用户可开启服务。当会议结束时,用户可断开该服务,从而禁止通过AD HOC文件共享服务共享文件。在另一实施例中,过程200可在一时间段(例如,不超过一个小时或者某另一时间段)内启用AD HOC文件共享服务。在该实施例中,过程200将在该时间段到期时断开AD HOC文件共享服 务。在另一实施例中,过程200启用AD HOC文件共享服务。在一个实施例中,当用户点击UI中表示AD HOC文件共享服务的图标时,过程200启用该服务。例如,在一个实施例中,通过点击如以下图6中描述的文件浏览用户界面中的会议室图标,可启用AD HOC文件共享服务。此外,过程200向其他设备宣告AD HOC文件共享服务的存在。以下在图3A-B中进一步描述启用AD HOC文件共享服务的宣告。
在块204,过程200在运行过程200的设备与其他远程设备之间传输文件。例如,在一个实施例中,过程200可使用协议比如安全超文本传输协议(HTTPS)来传输和接收文件。在替代实施例中,过程200可使用本领域中已知的其他文件传输协议来传输文件(例如,文件传输协议(FTP)、超文本传输协议(HTTP)、服务器消息块(SMB)、苹果文件协议(AFP)等)。以下在图4A-B中进一步描述文件的传输。
在块206,过程200浏览可用于在运行过程200的设备与其他远程设备之间浏览的文件。例如,在一个实施例中,过程200可通过使用HTTPS协议来请求列出文件和/或目录并且接收类似这样的请求。在替代实施例中,过程200可使用本领域中已知的其他协议来发送和接收文件浏览请求(例如,FTP、HTTP、SMB、AFP等)。以下在图5A-B中进一步描述文件浏览。
图3A是启用和宣告AD HOC文件共享服务的过程300的一个实施例的流程图。在图3A中,过程300始于在块302处启用AD HOC文件共享服务。在一实施例中,过程300启动控制AD HOC文件共享服务的处理。一旦被启动,运行过程300的设备就将能够发送、接收和履行文件传输和文件浏览请求。在一个实施例中,过程300启用AD HOC文件共享服务。在一个实施例中,过程300通过点击用户界面中表示该服务的图标(比如,以下在图6中描述的会议室图标)来启用该服务。
如果需要,在块304,过程300调动相关联网服务。在一个实施例中,过程300可调动Wi-Fi、蓝牙、蜂窝数据、红外、有线联网(以 太网等)和/或其中的组合。尽管在一个实施例中,过程300在块304调动所有可能的联网服务,但是在替代实施例中,过程300调动网络服务中的一个或一些(例如,过程300调动Wi-Fi或Wi-Fi和蓝牙)。在该替代实施例中,过程300调动哪些联网服务由配置文件和/或参数进行控制。在另一实施例中,过程300调动过程300检测到紧邻的联网服务。例如,在一个实施例中,过程300检测到来自LAN的Wi-Fi网络(例如,宣告该LAN可用的Wi-Fi接入点),并且调动该设备上的Wi-Fi联网服务,以使得该设备可自动地与该LAN连接。可替换地,过程300可检测到宣告具有可能的点对点联网服务(Wi-Fi点对点或AD HOC Wi-Fi、蓝牙、红外等)的另一设备,并且调动相关的联网服务,以使得该设备可自动地与该另一设备连接以创建点对点联网连接。例如,在一个实施例中,过程300检测到宣告Wi-Fi服务的另一设备,并且过程300调动执行过程300的设备上的Wi-Fi服务。
在块304,过程300宣告AD HOC文件共享服务的存在。在一个实施例中,过程300在设备已配置的网络连接上发送宣告包。在一个实施例中,AD HOC文件共享服务使用Bonjour服务发现协议来通过可用的网络连接向其他设备宣告AD HOC文件共享服务。例如,在一个实施例中,设备102A使用Bonjour服务发现协议来分别向使用网络连接104A和104C的设备102B-C宣告AD HOC文件共享服务。本领域中已知的其他类型的宣告可用于宣告AD HOC文件共享服务的存在(单播、广播、多播宣告等)。
在一个实施例中,宣告包(advertisement packet)包括与正被宣告的AD HOC文件共享服务相关联的用户的标识。例如,在一个实施例中,过程300包括用户的标识(比如,电子邮件地址、AppleID、MobileMe ID、社交网络标识、这样的标识符的散列(例如,安全散列算法(SHA)-1或本领域已知的其他散列算法等))、用作密钥的数字、可读姓名(例如,名字、姓氏和/或其中的组合等)、通用唯一标识符(UUID)(例如,用作全局唯一的密钥的数字)、证书“指纹”(例如,与X509证书相关联的数字散列)、电话号码等。此外,用 户标识可以是该用户已知的标识符的列表(例如,相同和/或不同类型的多个标识符等)。在一个实施例中,如果使用标识的散列,则接收宣告的设备将对一组已知标识(例如,已知电子邮件地址、社交网络标识等)使用类似的散列来匹配储存在该宣告中的标识数据。该实施例允许在没有用明码发送电子邮件地址或其他标识的情况下发送宣告。在另一实施例中,证书“指纹”是用作密钥的数字的变型,具有与用户的证书唯一地相关联的附加语义,其另外可用于对安全文件传输进行加密。
图3B是接收AD HOC文件共享服务宣告的过程350的实施例的流程图。在图3B中,过程350始于在块352处接收AD HOC文件共享服务宣告。在一个实施例中,AD HOC文件共享宣告是来自发送该宣告的设备的AD HOC文件共享服务的可用性的指示。此外,在一个实施例中,宣告包包括如上所述的与正被宣告的AD HOC文件共享服务相关联的用户的标识。
在块354,过程350确定发送宣告的设备对于执行过程350的设备是否是已知的。在一个实施例中,过程350维护已知具有可用的AD HOC文件共享服务的设备的列表。如果AD HOC文件共享服务是未知的,则在块356,过程350将该设备添加到已知具有可用AD HOC文件共享服务的设备的列表。在一个实施例中,具有可用AD HOC文件共享服务的远程设备的存在不一定意味着文件共享连接已被建立。在该实施例中,可通过尝试使用远程设备的AD HOC文件共享服务传输和/或浏览文件来建立文件共享连接。以下在图4A和5A中进一步描述文件共享连接的建立。过程350的执行进入块358。
如果发送宣告的设备对于执行过程350的装置是已知的,则在块358,过程350更新AD HOC文件共享服务的可用性的显示。在一个实施例中,过程350在如以下在图6中描述的UI中显示远程AD HOC文件共享服务的可用性。
如上所述,AD HOC文件共享服务用于在不同设备之间传输文件。图4A和4B是使用AD HOC文件共享服务来传输文件的过程的实施 例的流程图。具体地讲,图4A是使用AD HOC文件共享服务来接收文件的过程400的一个实施例的流程图。图4A始于过程400在块402接收从AD HOC文件***接收文件的请求。在一个实施例中,过程400接收将文件发送给正在执行过程400的设备的HTTPS请求。可替换地,过程400可接收本领域中已知的另一类型的文件传输请求(FTP、HTTP等)。例如,在一个实施例中,过程400接收确定文件和希望传输该文件的发送设备的标识的HTTPS请求。如上所述,标识可以是电子邮件地址、社交网络标识、外部服务标识(例如,Twitter标识、Apple ID、MobileMe ID或一些其他已知服务标识等)和/或这样的标识的散列、等等。
在块404,过程400确定是否存在与请求发送文件的设备建立的文件共享连接。在一个实施例中,文件共享连接是已建立的连接,其中第一设备的用户允许另一用户访问AD HOC文件共享服务。通过在两个设备之间建立该文件共享连接,文件共享的点对点性质被建立。在该实施例中,一旦初始用户已将访问第一设备的AD HOC文件共享服务的许可给予另一用户,则该另一用户可查看、检索文件和/或将文件发送给第一设备。尽管在一个实施例中,单向地授予对AD HOC文件共享的访问权限,但是在替代实施例中,一旦访问权限被授予一个方向,访问权限就可自动地被授予反方向(例如,一旦用户A将对用户A的设备检索和/或发送文件的许可授予用户B,对用户B的设备检索和/或发送文件的访问权限就被授予给用户A)。在一个实施例中,过程400查看与AD HOC文件共享服务相关联的标识来确定与该标识相关联的设备是否建立了文件共享连接。标识可以是电子邮件地址、社交网络标识、外部服务标识(例如,Twitter标识、Apple ID、MobileMe ID或一些其他已知服务标识等)等。此外,在一个实施例中,标识可以是以上列出的标识的散列(例如,安全散列算法(SHA)-1等)。
如果过程400已确定没有与请求发送文件的设备建立文件共享连接,则在块410,过程400将接收文件的请求呈现给执行过程400的 设备的用户。在一个实施例中,过程400将指示另一设备希望经由AD HOC文件共享服务发送文件的用户界面(UI)对话框呈现给执行过程400的设备的用户。另外,在该实施例中,通过接受文件传输请求,在两个设备之间建立文件共享连接。例如,在一个实施例中,过程400呈现UI用户界面对话框,该UI用户界面对话框指示文件的名称和与希望将文件发送给接收设备的设备相关联的用户。
在块412,过程400确定该请求是否被接受或者该请求是否未被接受。如果该请求未被接受,则在块414,过程400拒绝该请求。在一个实施例中,过程400将文件传输请求已被拒绝的消息、返回代码或其他类型的指示符发送给希望发送文件的设备。如果在块412,该请求被接受,则在块406,过程400接收该文件。过程400的执行进入以下描述的块408。
如果在块404,过程400确定与请求发送文件的设备建立了文件共享连接,则在块406,过程400接收文件。在块408,过程400将该文件储存在用于AD HOC文件共享服务的文件储存库中。例如,在一个实施例中,过程400将接收的文件储存在如以上在图1中描述的AD HOC文件储存库108A-C中。
图4B是使用AD HOC文件共享服务来发送文件的过程450的一个实施例的流程图。在图4B中,过程450始于在块452处发送经由AD HOC文件共享服务将文件发送给另一设备的请求。在一个实施例中,过程450使用HTTPS请求来发送该请求,所述HTTPS请求包括文件的名称和希望发送文件的用户的标识。在一个实施例中,标识可以是电子邮件地址、社交网络标识、外部服务标识(例如,Twitter标识、Apple ID、MobileMe ID或一些其他已知服务标识等)等。此外,在一个实施例中,标识可以是以上列出的标识的散列(例如,安全散列算法(SHA)-1等)。
在块454,过程450确定所述发送是否已被接受。例如,在一个实施例中,过程450基于来自所述另一设备的响应(例如,返回代码、响应消息等)来确定所述传输请求是否被接受。如果该请求未被接受, 则在块458,过程450不传输文件。如果在块454,该请求被接受,则在块456,过程450传输文件。
如上所述,AD HOC文件共享服务允许用户传输经由AD HOC文件共享服务可见的远程设备上的文件以及浏览这些文件。图5A和5B是使用AD HOC文件共享服务来浏览文件的过程500的一个实施例的流程图。图5A是允许使用AD HOC文件共享服务浏览文件的过程500的一个实施例的流程图。图5A始于过程500在块502处从AD HOC文件共享服务接收文件浏览请求。在一个实施例中,过程500接收对正在执行过程500的设备浏览文件的HTTPS请求。可替换地,过程500可接收另一类型的请求(FTP、HTTP等)。例如,在一个实施例中,过程500接收HTTPS请求,该HTTPS请求包括将被浏览的文件目录的标识、(可选地)应该应用于文件列表的任何过滤器、和/或希望浏览文件的发送设备的标识。如上所述,标识可以是电子邮件地址、社交网络标识、外部服务标识(例如,Twitter标识、Apple ID、MobileMe ID或一些其他已知服务标识等)和/或这样的标识的散列等。在一个实施例中,文件浏览请求中包括的文件过滤器是使返回的文件和/或目录的结果限于与该过滤器匹配的文件和/或目录的列表的过滤器。例如,在一个实施例中,过滤器可以是使文件和/或目录的列表限于与过滤器“*.exe”匹配的文件和/或目录的列表的过滤器。可替换地,在浏览文件请求中可不存在文件过滤器。
在块504,过程500确定是否存在与请求浏览文件的设备建立的文件共享连接。如上所述,当第一设备的用户允许另一设备的另一用户发送或浏览文件时,针对第一设备的文件共享连接被建立。通过在两个设备之间建立该文件共享连接,文件共享的点对点性质被建立。在该实施例中,一旦初始用户已将访问第一设备的AD HOC文件共享服务的许可给予另一用户,则该另一用户可对第一设备查看、检索和/或发送文件。在一个实施例中,过程500查找如以上在图4A的块404中所述的与AD HOC文件共享服务相关联的标识。
如果过程500确定没有与请求发送文件的设备建立文件共享连 接,则在块510,过程500将接收文件浏览请求的请求呈现给执行过程500的设备的用户。在一个实施例中,过程500将指示另一设备希望经由AD HOC文件共享服务浏览用户的AD HOC文件共享储存库的用户界面(UI)对话框呈现给执行过程500的设备的用户。另外,在该实施例中,通过接受文件浏览请求,在两个设备之间建立文件共享连接。例如,在一个实施例中,过程500呈现UI用户界面对话框,该UI用户界面对话框指示与希望浏览接收设备的文件共享储存库的设备相关联的用户。
在块512,过程500确定该请求是否被接受或者该请求是否未被接受。如果该请求未被接受,则在块514,过程500拒接该请求。在一个实施例中,过程500将文件浏览请求已被拒接的消息、返回代码或其他类型的指示符发送给希望浏览文件共享储存库的设备。如果在块512,该请求被接受,则在块506,过程500履行文件浏览请求。在一个实施例中,过程500通过汇编满足文件浏览请求中存在的文件过滤器(如果有的话)中的标准的文件和/或目录的列表来履行文件浏览请求,并将该列表发送给最初发出文件浏览请求的设备。
如果在块504,过程500确定与请求发送文件的设备建立了文件共享连接,则在块506,过程500如上所述那样履行文件浏览请求。
图5B是使用AD HOC文件共享服务来发送文件浏览请求的过程550的一个实施例的流程图。在图5B中,过程550始于在块552处经由AD HOC文件共享服务将文件浏览请求发送给另一设备。在一个实施例中,该过程使用HTTPS请求来发送该请求,所述HTTPS请求包括文件的名称、希望发送文件的用户的标识、以及可选的文件过滤器。在一个实施例中,标识可以是电子邮件地址、社交网络标识、外部服务标识(例如,Twitter标识、Apple ID、MobileMe ID或一些其他已知服务标识等)等。此外,在一个实施例中,标识可以是以上列出的标识的散列(例如,安全散列算法(SHA)-1等)。
在块554,过程550确定文件浏览是否已被接受。例如,在一个实施例中,过程550基于来自所述另一设备的响应(例如,返回代码、 响应消息等)来确定文件浏览请求是否被接受。如果该请求未被接受,则在块560,过程500用信号通知失败(例如,呈现用户界面对话框等)。如果在块554,该请求被接受,则过程500在块556接受如参照图5A描述的文件浏览请求的结果。
在块558,过程500呈现文件***浏览的结果。在一个实施例中,过程500更新示出另一设备的AD HOC文件共享储存库的内容的UI。例如,在一个实施例中,过程550更新如以下在图6中描述的UI的文件显示部分。
图6是文件共享UI600的框图,示出利用AD HOC文件共享服务进行的文件共享和浏览。在图6中,文件共享UI600包括UI的显示不同实体的三个单独部分,即,用户可配置显示602、文件显示604和会议室显示606。用户可配置部分602包括表示设备608A、共享608B、地方608C和会议室608D的各个UI图标。在一个实施例中,用于设备608A的一个或多个图标可包括用于附连到显示该UI的设备的一个或多个设备(例如,硬盘、可移动储存器、打印机等和/或本领域中已知的其他可附连设备)的列表的UI图标。此外,在一个实施例中,共享显示608B可包括表示用于显示所述UI的设备的不同共享设备(例如,其他计算机、网络附连外设等和/或本领域中已知的其他网络可用设备)的一个或多个图标。在一个实施例中,地方显示608C表示显示所述UI的设备的用户常用的目录(例如,桌面、应用程序、文档、电影、照片、音乐、图片等和/或其他用户可配置目录)。
在一个实施例中,会议室608D是表示正在呈现UI600的设备的AD HOC文件共享服务的一个或多个图标的组。在一个实施例中,当会议室608D中的图标之一被点击时,AD HOC文件共享储存库中的文件和/或目录在文件显示604中被列出。文件和/或目录可以以本领域中已知的任何方式列出,例如,按字母顺序、按日期排序、按大小排序、用不同图标表示、被过滤以显示这些文件和/或目录中的一些等、和/或其中的组合。
此外,在图6中,会议室显示606包括可用于正在呈现UI显示 600的设备的不同会议室612A-C。在一个实施例中,每个会议室612A-C表示一个或多个设备上的AD HOC文件共享服务。在一个实施例中,在一个设备上可存在多个并发的AD HOC文件共享服务。例如,在一个实施例中,例如,可存在两个图形用户会话(例如,通过使用可用于该设备的快速用户切换),并且每个用户可以在每个会话中的会议室中。在这种情况下,每次一个用户可使用控制台,所以仅一个人可与另一用户交互并且接受/拒绝/发送文件。具有多个用户的另一实施例可通过虚拟屏幕使用屏幕共享。在该实施例中,在设备上可存在会议室的两个并发实例。
例如,在一个实施例中,本地会议室612是表示正在呈现UI600的设备上的AD HOC文件共享服务的图标。此外,在该例子中,远程会议室612B-C是表示与呈现UI600的设备耦合的远程设备上的AD HOC文件共享服务的图标。例如,在一个实施例中,如果设备102A正在呈现UI600,则本地会议室612A表示设备102A上的AD HOC文件共享服务,远程会议室612B-C分别表示设备612B-C上的AD HOC文件共享服务。
在一个实施例中,用户可通过将文件拖放到文件显示604和/或用于本地会议室612A的图标上来将文件和/或目录添加到AD HOC文件共享服务。此外,在一个实施例中,可通过将一个或多个文件和/或目录拖放到期望的远程会议室图标(例如,会议室612B-C)上来将所述一个或多个文件和/或目录传输到远程AD HOC文件***。在一个实施例中,为了浏览远程AD HOC文件共享储存库中的文件,用户可点击表示感兴趣的远程AD HOC文件共享服务的图标(例如,会议室612B或612C)。在该实施例中,通过点击会议室612B或612C,对应的AD HOC文件储存库108B或108C中的文件和/或目录的列表显示在文件显示604中。例如,在一个实施例中,通过点击与设备102B对应的会议室612B,AD HOC文件储存库中的文件和/或目录的列表被显示。尽管在一个实施例中,该AD HOC文件共享储存库中的所有文件和/或目录被列出,但是在替代实施例中,列出这些文件和/或目 录中的一些(例如,使用本领域中已知的文件过滤器过滤了的、被显示为按目录组织的、以本领域中已知的各种方式归类的、等等)。
在一个实施例中,设备的用户可通过将所需文件从远程AD HOC文件共享服务拖放到本地设备来使一个或多个文件和/或目录从远程设备到达本地设备。例如,在一个实施例中,用户可从正在显示远程设备的AD HOC文件共享服务上的远程可用文件的文件显示604拖放一个或多个文件,并将这些所选文件放到用户的本地设备的桌面上。这具有将这些所选文件从远程设备的AD HOC文件共享储存库传输到用户设备的桌面的效果。
图7是执行AD HOC文件共享的AD HOC文件共享模块106的框图。在一个实施例中,AD HOC文件共享模块106A-C使用AD HOC文件共享模块106。在图7中,AD HOC文件共享模块106包括AD HOC文件共享服务启用模块702、文件共享模块704和文件浏览模块706。在一个实施例中,AD HOC文件共享服务启用模块702如以上图2块202中所述的那样启用AD HOC文件共享服务。文件共享模块704如以上图2块204中所述的那样使用AD HOC文件共享服务来传输文件。文件浏览模块706如以上图2块202中所述的那样使用AD HOC文件共享服务来浏览文件和/或目录。
图8A是启用和宣告AD HOC文件共享服务的AD HOC文件共享启用模块702的框图。在图8A中,AD HOC文件共享启用模块702包括AD HOC文件共享服务启用模块802、联网信道模块804、宣告模块806和文件储存库启用模块808。AD HOC文件共享服务启用模块802如以上图3A块302中所述的那样启用AD HOC文件共享服务。联网信道模块804如以上图3A块304中所述的那样根据需要调动联网信道。宣告模块806如以上图3A块306中所述的那样宣告AD HOC文件共享服务的可用性。文件储存库启用模块808如以上图3A块302中所述的那样启用AD HOC文件共享储存库。
图8B是接收关于AD HOC文件共享服务的宣告的宣告接收模块850的框图。在图8B中,宣告接收模块850包括宣告接收模块852、 设备添加模块854和更新显示856。宣告接收模块852如以上图3B块352中所述的那样接收AD HOC文件共享宣告。设备添加模块854如以上图3B块354中所述的那样将设备添加到已知可用的AD HOC文件共享服务的列表。更新显示856如以上图3B块358中所述的那样更新AD HOC文件共享服务的可用性的显示。
图9A、9B和9C是使用AD HOC文件共享服务来传输文件的文件传输模块的框图。图9A是传输文件的文件传输模块704的框图。在图9A中,文件传输模块704包括文件接收模块902和文件传输模块904。文件接收模块902如以上图5A中所述的那样接收文件。文件传输模块904如以上图5B中所述的那样传输文件。
图9B是接收文件的文件接收模块902的框图。在图9B中,文件接收模块902包括接收文件请求模块910、文件共享连接建立模块912、文件接收模块914、储存文件模块916、呈现请求模块918和错误模块920。接收文件请求模块910如以上图4A块402中所述的那样接收文件传输请求。文件共享连接建立模块912如以上图4A块416中所述的那样建立文件共享连接。文件接收模块914如以上图4A块406中所述的那样接收文件。储存文件模块916如以上图4A中块408所述的那样将文件储存在AD HOC文件储存库中。呈现请求模块918如以上图4A块410中所述的那样呈现接收文件的请求。错误模块920如以上图4A块414中所述的那样拒绝文件传输请求。
图9C是发送文件的文件传输模块904的框图。在图9B中,文件传输模块902包括传输文件请求模块930、文件传输模块932和错误模块934。传输文件请求模块930如以上图4A块452中所述的那样传输文件传输请求。文件传输模块932如以上图4A块456中所述的那样发送文件。错误模块934如以上图4A块468中所述的那样拒绝文件传输请求。
图10A、10B和10C是使用AD HOC文件共享服务来浏览文件的文件浏览模块的框图。图10A是使用AD HOC文件共享服务来浏览文件的文件浏览模块706的框图。在图10A中,文件浏览模块706包 括接收文件浏览模块1002和得到文件浏览模块1004。接收文件浏览模块1002如以上图5A中所述的那样对远程浏览请求做出响应。得到文件浏览模块1004如以上图5B中所述的那样浏览远程计算机。
图10B是使用AD HOC文件共享服务对远程浏览请求做出响应的接收文件浏览模块1002的框图。在图10B中,接收文件浏览模块1002包括接收文件浏览请求模块1010、文件共享连接建立模块1012、履行文件浏览模块1014、呈现文件浏览模块1016和拒绝请求1018。接收文件浏览请求模块1010如以上图5A块502中所述的那样接收文件浏览请求。文件共享连接建立模块1012如以上图5A块508中所述的那样建立文件共享连接。履行文件浏览模块1014如以上图5A块506中所述的那样履行文件共享浏览文件储存库。呈现文件浏览模块1016如以上图5A块510中所述的那样呈现文件浏览请求。拒绝请求1018如以上图5A块514中所述的那样拒绝文件浏览请求。
图10C是使用AD HOC文件共享服务浏览远程计算机的得到文件浏览模块1004的框图。在图10C中,得到文件浏览模块1004包括发送文件浏览请求模块1030、接收浏览结果模块1032、呈现文件浏览模块1034和错误模块1036。发送文件浏览请求模块1030如以上图5B块552中所述的那样发送文件浏览请求。接收浏览结果模块1032如以上图5B块556中所述的那样发送文件浏览请求。呈现文件浏览模块1034如以上图5B块558中所述的那样呈现文件浏览结果。错误模块1036如以上图5A块560中所述的那样拒绝文件浏览请求。
图11显示了可与本发明的一实施例一起使用的数据处理***1100的一个例子。例如,***1100可被实现为包括如图1中所述的主机。应指出,尽管图11示出了计算机***的各个组件,但是并非意图表示互连这些组件的任何特定架构或方式,因为这样的细节与本发明无密切关系。还将意识到,具有更少的组件或者可能更多的组件的网络计算机和其他数据处理***或其他消费者电子装置也可与本发明一起使用。
如图11所示,数据处理***形式的计算机***1100包括总线 1103,总线1103与一个或多个微处理器1105以及ROM(只读存储器)1107、易失性RAM1109和非易失性存储器1111耦合。微处理器1105可从存储器1107、1109、1111检索指令,并执行实施上述操作的指令。总线1103将这些各种组件互连在一起,并且还将这些组件1105、1107、1109和1111与显示控制器和显示设备1113以及***设备(比如,输入/输出(I/O)设备,这些I/O设备可以是鼠标、键盘、调制解调器、网络接口、打印机和本领域中公知的其他设备)互连。通常,输入/输出设备1115通过输入/输出控制器1117与***耦合。易失性RAM(随机存取存储器)1109通常被实现为动态RAM(DRAM),这些动态RAM连续地需要电源以便刷新或保持存储器中的数据。
大容量储存器1111通常是磁硬盘驱动器、或者磁光驱动器、或者光学驱动器、或者DVD RAM、或者闪存、或者即使在电源从***移除之后也保持数据(例如,大量数据)的其他类型的存储器***。通常,大容量储存器1111还将是随机存取存储器,但是这不是必需的。尽管图11显示了大容量储存器1111是与数据处理***中的其余组件直接耦合的本地设备,但是将意识到,本发明可利用远离所述***的非易失性存储器,比如,通过网络接口(比如,调制解调器、以太网接口或无线网络)与数据处理***耦合的网络储存设备。总线1103可包括彼此通过本领域中公知的各种桥接器、控制器和/或适配器连接的一个或多个总线。
图12显示了可与本发明的一个实施例一起使用的另一数据处理***1200的例子。例如,***1200可被实现为如图1所示的便携式储存设备。图12中所示的数据处理***1200包括处理***1211,处理***1211可以是一个或多个微处理器,或者可以是芯片集成电路上的***,并且该***还包括用于储存供处理***执行的数据和程序的存储器1201。***1200还包括音频输入/输出子***1205,音频输入/输出子***1205可包括麦克风和扬声器,该麦克风和扬声器用于例如通过该扬声器和麦克风播放音乐或者提供电话功能。
显示控制器和显示设备1209为用户提供虚拟用户界面;该数字界面可包括与Macintosh计算机运行OS X操作***软件时或Apple iPhone运行iOS操作***时显示的图形用户界面等类似的图形用户界面。***1200还包括与另一数据处理***(比如,图12的***1200)通信的一个或多个无线收发器1203。无线收发器可以是WLAN收发器、红外收发器、蓝牙收发器和/或无线蜂窝电话收发器。将意识到,未显示的附加组件在某些实施例中也可以是***1200的一部分,并且在某些实施例中,比图12中显示的组件更少的组件也可以用在数据处理***中。***1200还包括与另一数据处理***(比如,图15的***1500)通信的一个或多个通信端口1217。通信端口可以是USB端口、火线端口、蓝牙接口等。
数据处理***1200还包括被提供以允许用户提供***输入的一个或多个输入设备1213。这些输入设备可以是小键盘、或者键盘、或者触摸面板、或者多点触摸面板。数据处理***1200还包括可选的输入/输出设备1215,输入/输出设备1215可以是用于坞站的连接器。将意识到,未显示的一个或多个总线可用于互连本领域中公知的各种组件。图12中所示的数据处理***可以是手持计算机或个人数字助理(PDA)、或者具有类似PDA功能的蜂窝电话、或者包括蜂窝电话的手持计算机、或者媒体播放器(比如,iPod)、或者组合这些设备的方面或功能的设备(比如,与PDA和蜂窝电话一起组合在一个设备中的媒体播放器、或者嵌入式设备、或者其他消费者电子设备)。在其他实施例中,数据处理***1200可以是网络计算机或另一设备内的嵌入式处理设备、或者具有比图12中所示的组件少的组件或者可能多的组件的其他类型的数据处理***。
本发明的至少某些实施例可以是数字媒体播放器(比如,便携式音乐和/或视频媒体播放器)的一部分,所述数字媒体播放器可包括呈现媒体的媒体处理***、储存媒体的储存设备,并且还可包括与天线***和媒体处理***耦合的射频(RF)收发器(例如,用于蜂窝电话的RF收发器)。在某些实施例中,储存在远程储存设备上的媒体可 通过RF收发器被发送给媒体播放器。媒体可以是例如音乐或其他音频、静态图片或运动图片中的一个或多个。
便携式媒体播放器可包括媒体选择设备,比如,Cupertino,CA的Apple,Inc.的或iPod 媒体播放器上的触控轮输入设备、触摸屏输入设备、按钮设备、可移动定点输入设备或其他输入设备。媒体选择设备可用于选择储存在储存设备和/或远程储存设备上的媒体。便携式媒体播放器在至少某些实施例中可包括显示设备,该显示设备与媒体处理***耦合以显示下述媒体的标题或其他指示符,该媒体通过输入设备被选择,并且通过扬声器或耳机被呈现,或者在显示设备上呈现,或者在显示设备和扬声器或耳机上都呈现。公布的美国专利号7,345,671和美国公布专利号2004/0224638中描述了便携式媒体播放器的例子,这两篇专利都通过引用被并入本文。
以上描述的部分可用逻辑电路***(比如,专用逻辑电路)来实现,或者可用微控制器或执行程序代码指令的其他形式的处理核来实现。因此,以上讨论教导的处理可用使执行这些指令的机器执行某些功能的程序代码(比如,机器可执行指令)来执行。在这个背景下,“机器”可以是将中间形式(或“抽象”)的指令转换为处理器特定指令(例如,抽象执行环境,比如,“虚拟机”(例如,Java虚拟机)、解释器、公共语言运行时、高级语言虚拟机等)的机器和/或设置在半导体芯片上的、被指定为执行指令的电子电路(例如,用晶体管实现的“逻辑电路***”)(比如,通用处理器和/或专用处理器)。以上的论述所教导的过程(在机器的替代方案中或者与机器组合的替代方案中)还可以由被设计为执行这些过程(或者其一部分)而不执行程序代码的电子电路***来执行。
本发明还涉及一种用于执行本文描述的操作的装置。该装置可为了所需目的而专门构造,或者它可包括被计算机中储存的计算机程序选择性地激活或重构的通用计算机。这样的计算机程序可被储存在计算机可读储存介质(比如,但不限于,任何类型的盘,包括软盘、光学盘、CD-ROM和磁光盘、只读存储器(ROM)、RAM、EPROM、 EEPROM、磁卡或光学卡、或者适合于储存电子指令的任何类型的介质)中,并且每个计算机可读储存介质与计算机***总线耦合。
机器可读介质包括用于储存或发送机器(例如,计算机)可读形式信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘储存介质;光学储存介质;闪存装置;等等。
制品可用于储存程序代码。储存程序代码的制品可被实施为,但不限于,一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态的、动态的或其他的))、光学盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁卡或光学卡、或者适合于储存电子指令的其他类型的机器可读介质。程序代码还可通过传播介质中包含的数据信号被从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)(例如,经由通信链路(例如,网络连接))。
前面的详细描述就对计算机存储器内的数据比特的操作的算法和符号表示进行了呈现。这些算法描述和表示是数据处理领域的技术人员用于最有效地将他们的工作的实质传达给本领域的其他技术人员的工具。算法在这里并且通常被设想为是导致所需结果的前后一致的操作序列。所述操作是需要物理量的物理操纵的那些操作。通常,尽管不一定,这些量采取能够被储存、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。已证明主要出于常用的原因有时方便将这些信号指代为比特、值、元素、符号、字符、术语、数字等。
然而,应该记住,所有这些术语和类似术语与合适的物理量相关联,并且仅仅是应用于这些量的方便标记。除非与从以上讨论显而易见的内容不同地特别说明,否则将意识到,在整个描述中,利用比如“计算”、“选择”、“呈现”、“确定”、“关联”、“发送”、“储存”、“接收”、“建立”、“传输”等术语的讨论是指计算机***或类似的电子计算装置的动作或处理,这些动作或处理操纵该计算机***的寄存器和存储器内的被表示为物理(电子)量的数据,并将该数据变换为该计算机***存储器或寄存器、或者其他这样的信息 储存、发送或显示装置内的被类似地表示为物理量的其他数据。
本文呈现的处理和显示与任何特定计算机或其他设备没有内在关联。各种通用***可与根据本文的教导的程序一起使用,或者它可证明便于构造执行所描述的操作的更专用的设备。各种这些***的所需结构从以下描述将是明显的。另外,不参照任何特定编程语言来描述本发明。将意识到,各种编程语言可用于实现如本文描述的本发明的教导。
前面的讨论仅仅描述了本发明的一些示例性实施例。本领域技术人员从这样的讨论、附图和权利要求将容易认识到,在不脱离本发明的精神和范围的情况下,可进行各种修改。
Claims (21)
1.一种数据处理***,包括:
用于将一个或多个文件放置在与第一设备上的AD HOC文件共享服务相关联的一个或多个特殊用途文件夹中的装置,其中所述ADHOC文件共享服务被配置为自动使得放置在所述特殊用途文件夹中的文件可用于使用该AD HOC文件共享服务而共享;
用于用第一设备将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个的装置,其中所述宣告包括与所述第一设备相关联的用户的用户身份,并且对所述AD HOC文件共享服务的访问权限以每个用户为基础进行授予;
用于建立与所述其他设备中的每个的连接的装置;
用于与所述其他设备中的每个传输文件的装置,其中所述传输包括使得已经放置在所述一个或多个特殊用途文件夹中的文件可用于传输。
2.根据权利要求1所述的数据处理***,其中,建立的连接是文件共享连接。
3.根据权利要求1所述的数据处理***,其中,用于建立与所述其他设备中的每个的连接的装置包括:
用于将与所述其他设备对应的用户的用户标识呈现给所述第一设备的用户的装置;以及
用于将对所述AD HOC文件共享服务的访问权限许可给与所述其他设备对应的所述用户的装置。
4.根据权利要求3所述的数据处理***,其中,在与所述其他设备对应的用户在所述第一设备上不具有文件共享账户的情况下实现对所述AD HOC文件共享服务的访问。
5.根据权利要求3所述的数据处理***,其中,在另一设备上在不使用认证服务的情况下实现对所述AD HOC文件共享服务的访问,所述另一设备不是所述第一设备也不是所述其他设备之一。
6.根据权利要求3所述的数据处理***,其中,在与所述其他设备对应的用户无须登录到所述AD HOC文件共享服务的情况下实现对所述AD HOC文件共享服务的访问。
7.根据权利要求1所述的数据处理***,还包括:
用于建立用于所述AD HOC文件共享服务的文件储存库的装置。
8.根据权利要求7所述的数据处理***,其中,所述文件储存库是目录。
9.根据权利要求1所述的数据处理***,还包括:
用于履行来自所述其他设备之一的文件浏览请求的装置。
10.一种数据处理***,包括:
用于将一个或多个文件放置在与第一设备上的AD HOC文件共享服务相关联的一个或多个特殊用途文件夹中的装置,其中所述ADHOC文件共享服务被配置为自动使得放置在所述特殊用途文件夹中的文件可用于使用该AD HOC文件共享服务而共享;
用于用第一设备将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个的装置,其中,所述宣告包括与所述第一设备相关联的用户的用户身份;以及
用于将对所述AD HOC文件共享服务的访问权限许可给所述其他设备中的每个的装置,其中对所述AD HOC文件共享服务的访问权限以每个用户为基础进行授予,并且在与所述多个其他设备中的每个对应的用户在所述第一设备上不具有文件共享账户的情况下实现访问,并且其中,许可对所述AD HOC文件共享服务的访问权限包括允许访问已经放置在所述一个或多个特殊用途文件夹中的文件。
11.根据权利要求10所述的数据处理***,其中,在与所述其他设备对应的用户不具有文件共享账户的情况下实现对所述AD HOC文件共享服务的访问。
12.根据权利要求10所述的数据处理***,其中,使用不是所述第一设备也不是所述其他设备之一的另一设备,在没有认证服务的情况下实现对所述AD HOC文件共享服务的访问。
13.根据权利要求10所述的数据处理***,其中,在与所述其他设备对应的用户无须登录到所述AD HOC文件共享服务的情况下实现对所述AD HOC文件共享服务的访问。
14.根据权利要求10所述的数据处理***,还包括:
用于建立用于所述AD HOC文件共享服务的文件储存库的装置。
15.根据权利要求14所述的数据处理***,其中,所述文件储存库是目录。
16.根据权利要求10所述的数据处理***,还包括:
用于履行来自所述其他设备之一的文件浏览请求的装置。
17.一种数据处理方法,包括:
将一个或多个文件放置在与第一设备上的AD HOC文件共享服务相关联的一个或多个特殊用途文件夹中,其中所述AD HOC文件共享服务被配置为自动使得放置在所述特殊用途文件夹中的文件可用于使用该AD HOC文件共享服务而共享;
将AD HOC文件共享服务的宣告发送给一个或多个其他设备中的每个,其中所述宣告包括与第一设备相关联的用户的用户身份,并且对所述AD HOC文件共享服务的访问权限以每个用户为基础进行授予;
建立与所述其他设备中的每个的连接;
与所述其他设备中的每个传输文件,其中所述传输包括使得已经放置在所述一个或多个特殊用途文件夹中的文件可用于传输。
18.根据权利要求17所述的数据处理方法,其中,所述连接是文件共享连接。
19.根据权利要求17所述的数据处理方法,其中,建立与所述其他设备中的每个的连接的步骤包括:
将与所述其他设备对应的用户的用户标识呈现给所述第一设备的用户;以及
将对所述AD HOC文件共享服务的访问权限许可给与所述其他设备对应的用户。
20.根据权利要求19所述的数据处理方法,其中,在与所述其他设备对应的用户在所述第一设备上不具有文件共享账户的情况下实现对所述AD HOC文件共享服务的访问。
21.一种数据处理***,包括:
用于将一个或多个文件放置在与第一设备上的AD HOC文件共享服务相关联的文件夹中的装置,其中所述AD HOC文件共享服务被配置为自动使得放置在所述文件夹中的文件可用于使用该AD HOC文件共享服务而共享;
用于响应于用户选择配置为用于AD HOC文件共享过程的所述文件夹执行以下步骤的装置:
在所述第一设备处发起所述AD HOC文件共享过程,并且
通过将所述AD HOC文件共享服务的宣告发送给所述一个或多个其他设备中的每个来启用所述AD HOC文件共享过程,其中,所述宣告包括与所述第一设备相关联的用户的用户身份,对所述ADHOC文件共享服务的访问权限以每个用户为基础进行授予,并且在与所述其他设备中的每个对应的用户在所述第一设备上不具有文件共享账户的情况下实现访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/006,378 US8990273B2 (en) | 2011-01-13 | 2011-01-13 | Ad hoc file sharing |
US13/006,378 | 2011-01-13 | ||
PCT/US2012/021073 WO2012097147A1 (en) | 2011-01-13 | 2012-01-12 | Ad hoc file sharing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103329503A CN103329503A (zh) | 2013-09-25 |
CN103329503B true CN103329503B (zh) | 2016-09-07 |
Family
ID=45615043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280005177.XA Active CN103329503B (zh) | 2011-01-13 | 2012-01-12 | Ad hoc文件共享 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8990273B2 (zh) |
EP (1) | EP2664125B1 (zh) |
JP (1) | JP5947314B2 (zh) |
KR (1) | KR101491396B1 (zh) |
CN (1) | CN103329503B (zh) |
WO (1) | WO2012097147A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8942213B2 (en) * | 2011-03-18 | 2015-01-27 | Verizon Patent And Licensing Inc. | Method and system for accessing storage devices |
JP2013077227A (ja) * | 2011-09-30 | 2013-04-25 | Fujitsu Ltd | 制御プログラム、情報処理装置および方法 |
CN102832975B (zh) | 2012-08-14 | 2015-03-11 | 华为终端有限公司 | 数据传输方法、装置以及具有触摸显示屏的终端 |
KR101979380B1 (ko) * | 2012-08-24 | 2019-05-17 | 삼성전자주식회사 | 전자 기기의 콘텐트 공유 방법 및 그 전자 기기 |
US20140214940A1 (en) * | 2013-01-31 | 2014-07-31 | Sony Corporation | Networked devices matching capabilities with tasks |
US10243786B2 (en) | 2013-05-20 | 2019-03-26 | Citrix Systems, Inc. | Proximity and context aware mobile workspaces in enterprise systems |
US9986044B2 (en) * | 2013-10-21 | 2018-05-29 | Huawei Technologies Co., Ltd. | Multi-screen interaction method, devices, and system |
EP2866415A1 (en) * | 2013-10-24 | 2015-04-29 | NEC Corporation | Instant sharing of contents broadcasted over a local network |
CN103595789B (zh) * | 2013-11-14 | 2016-09-21 | 国家电网公司 | 一种基于wifi的无线安全电力文件共享设备 |
US9585177B2 (en) | 2013-12-11 | 2017-02-28 | At&T Intellectual Property I, L.P. | Cellular connection sharing |
CN103780682B (zh) * | 2014-01-07 | 2017-03-08 | 中国船舶重工集团公司第七0九研究所 | 一种面向Ad Hoc网络的信息共享*** |
CN103729152A (zh) * | 2014-01-24 | 2014-04-16 | 福州瑞芯微电子有限公司 | 一种安卓共享磁盘的方法及设备 |
US10237711B2 (en) | 2014-05-30 | 2019-03-19 | Apple Inc. | Dynamic types for activity continuation between electronic devices |
US10055567B2 (en) | 2014-05-30 | 2018-08-21 | Apple Inc. | Proximity unlock and lock operations for electronic devices |
US9451438B2 (en) | 2014-05-30 | 2016-09-20 | Apple Inc. | Predefined wireless pairing |
US9549375B2 (en) * | 2014-05-30 | 2017-01-17 | Apple Inc. | Operating-mode transitions based on advertising information |
US10193987B2 (en) | 2014-05-30 | 2019-01-29 | Apple Inc. | Activity continuation between electronic devices |
US10187770B2 (en) | 2014-05-30 | 2019-01-22 | Apple Inc. | Forwarding activity-related information from source electronic devices to companion electronic devices |
US9544714B2 (en) * | 2014-05-30 | 2017-01-10 | Apple Inc. | Companion application for activity cooperation |
US10447659B2 (en) * | 2016-03-02 | 2019-10-15 | Google Llc | Sharing protected user content between devices |
KR101752781B1 (ko) | 2016-08-26 | 2017-07-11 | 이호동 | 지리정보시스템을 이용한 공동 프로젝트 운영방법 |
EP3968672B1 (en) * | 2016-09-09 | 2023-11-08 | Huawei Technologies Co., Ltd. | File sending method and terminal |
CN108322522A (zh) * | 2018-01-18 | 2018-07-24 | 努比亚技术有限公司 | 基于移动终端的文件共享方法、移动终端及存储介质 |
CN109168152A (zh) * | 2018-08-27 | 2019-01-08 | 优视科技新加坡有限公司 | 一种文件传输的方法及其装置、设备/终端/服务器 |
US11782881B2 (en) * | 2018-12-05 | 2023-10-10 | Vmware, Inc. | Recommending remotely executed applications for opening files |
CN115087137A (zh) * | 2021-03-16 | 2022-09-20 | 华为技术有限公司 | 一种设备连接方法、终端设备和分布式*** |
US20230056790A1 (en) * | 2021-08-19 | 2023-02-23 | Flyshot, Inc. | Unique identifiers for digital advertisement, branded and influencer content |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466324A (zh) * | 2002-09-06 | 2004-01-07 | 联想(北京)有限公司 | 家庭主干网中实现设备间动态组网与资源共享的方法 |
CN101401081A (zh) * | 2006-02-16 | 2009-04-01 | 戴尔产品有限公司 | 用于内容共享的本地传输 |
US7549047B2 (en) * | 2002-11-21 | 2009-06-16 | Xerox Corporation | Method and system for securely sharing files |
US7836016B2 (en) * | 2006-01-13 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for disseminating new content notifications in peer-to-peer networks |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
JP2002244906A (ja) * | 2001-02-13 | 2002-08-30 | Information & Mathematical Science Laboratory Inc | ネットワークシステム及びその情報共有方法 |
JP2002345039A (ja) * | 2001-05-21 | 2002-11-29 | Sony Corp | データ端末機器及びファイル共有方法 |
US6842460B1 (en) * | 2001-06-27 | 2005-01-11 | Nokia Corporation | Ad hoc network discovery menu |
US7203753B2 (en) * | 2001-07-31 | 2007-04-10 | Sun Microsystems, Inc. | Propagating and updating trust relationships in distributed peer-to-peer networks |
US20030236890A1 (en) | 2002-06-25 | 2003-12-25 | Intel Corporation | Wireless communication device and method for sharing device resources |
US7613772B2 (en) | 2002-07-25 | 2009-11-03 | Colligo Networks, Inc. | Method for context based discovery and filtering of portable collaborative networks |
US20040203381A1 (en) * | 2002-12-31 | 2004-10-14 | Cahn Janet E. | Method and apparatus for data transfer |
JP2004259161A (ja) * | 2003-02-27 | 2004-09-16 | Canon Inc | 会議支援システム |
US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
US7567987B2 (en) * | 2003-10-24 | 2009-07-28 | Microsoft Corporation | File sharing in P2P group shared spaces |
JP2005229522A (ja) * | 2004-02-16 | 2005-08-25 | Sony Corp | コンテンツ共有システム |
US7860923B2 (en) | 2004-08-18 | 2010-12-28 | Time Warner Inc. | Method and device for the wireless exchange of media content between mobile devices based on user information |
US20060094456A1 (en) * | 2004-10-29 | 2006-05-04 | Rittle Loren J | Device and method for service discovery in adhoc networks using beacon signalling |
FI20041638A0 (fi) * | 2004-12-21 | 2004-12-21 | Nokia Corp | Sisällön yhteiskäyttö kommunikaatiojärjestelmässä |
JP2007005921A (ja) * | 2005-06-21 | 2007-01-11 | Matsushita Electric Ind Co Ltd | ファイルを共有する携帯端末装置とファイル共有方法 |
EP1843550B1 (en) * | 2006-04-05 | 2011-12-21 | Motorola Mobility, Inc. | Transport medium selection to optimize device operation |
US8090366B2 (en) * | 2006-10-19 | 2012-01-03 | At&T Mobility Ii Llc | Systems and methods for file sharing through mobile devices |
US20090017799A1 (en) * | 2007-07-13 | 2009-01-15 | Sony Ericsson Mobile Communications Ab | System, device and method for transmitting a file by use of a throwing gesture to a mobile terminal |
US20090215398A1 (en) | 2008-02-25 | 2009-08-27 | Adler Mitchell D | Methods and Systems for Establishing Communications Between Devices |
US20090215477A1 (en) * | 2008-02-27 | 2009-08-27 | Qualcomm, Incorporated | Intelligent multiple device file sharing in a wireless communications system |
US8260883B2 (en) * | 2009-04-01 | 2012-09-04 | Wimm Labs, Inc. | File sharing between devices |
US8457651B2 (en) * | 2009-10-02 | 2013-06-04 | Qualcomm Incorporated | Device movement user interface gestures for file sharing functionality |
-
2011
- 2011-01-13 US US13/006,378 patent/US8990273B2/en active Active
-
2012
- 2012-01-12 WO PCT/US2012/021073 patent/WO2012097147A1/en active Application Filing
- 2012-01-12 EP EP12704452.7A patent/EP2664125B1/en active Active
- 2012-01-12 JP JP2013549541A patent/JP5947314B2/ja active Active
- 2012-01-12 KR KR1020137021225A patent/KR101491396B1/ko active IP Right Grant
- 2012-01-12 CN CN201280005177.XA patent/CN103329503B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466324A (zh) * | 2002-09-06 | 2004-01-07 | 联想(北京)有限公司 | 家庭主干网中实现设备间动态组网与资源共享的方法 |
US7549047B2 (en) * | 2002-11-21 | 2009-06-16 | Xerox Corporation | Method and system for securely sharing files |
US7836016B2 (en) * | 2006-01-13 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for disseminating new content notifications in peer-to-peer networks |
CN101401081A (zh) * | 2006-02-16 | 2009-04-01 | 戴尔产品有限公司 | 用于内容共享的本地传输 |
Also Published As
Publication number | Publication date |
---|---|
KR20130124363A (ko) | 2013-11-13 |
WO2012097147A1 (en) | 2012-07-19 |
EP2664125A1 (en) | 2013-11-20 |
EP2664125B1 (en) | 2021-03-24 |
US20120185520A1 (en) | 2012-07-19 |
US8990273B2 (en) | 2015-03-24 |
JP2014508347A (ja) | 2014-04-03 |
CN103329503A (zh) | 2013-09-25 |
JP5947314B2 (ja) | 2016-07-06 |
KR101491396B1 (ko) | 2015-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103329503B (zh) | Ad hoc文件共享 | |
US11159626B2 (en) | Session transfer between resources | |
US10069899B2 (en) | System and method of secure file sharing using P2P | |
JP6463463B2 (ja) | サービス処理方法、装置、及びサーバ | |
US20180137298A1 (en) | Remote data access techniques for portable devices | |
US7860525B2 (en) | System, method, and computer program product for service and application configuration in a network device | |
US20140082506A1 (en) | Systems and methods for widget rendering and sharing on a personal electronic device | |
CN107491296A (zh) | 与一个或多个扩展应用程序对接的消息应用程序 | |
US20120265803A1 (en) | Personal cloud | |
US20130290449A1 (en) | Privacy-based social content broadcast systems and methods | |
CA2873103C (en) | System and method for managing data using tree structures | |
US20120304257A1 (en) | Access rights used for resource discovery in peer-to-peer networks | |
JP2018514025A (ja) | メッセージングシステムを介してメディアを共有およびリミックスする技術 | |
US20160100035A1 (en) | Personal handheld web server and storage device | |
US20080005238A1 (en) | Roaming consistent user representation information across devices and applications | |
WO2010103177A1 (en) | Methods, apparatuses, and computer program products for facilitating synchronization of setting configurations | |
US9503410B2 (en) | Sharing of activity metadata via messaging systems | |
US20140359014A1 (en) | Systems and methods for content management | |
EP2401670A2 (en) | Systems and methods for widget rendering and sharing on a personal electronic device | |
US20230013744A1 (en) | Connection of network members | |
US8671195B2 (en) | Digital media communication protocol | |
KR101618293B1 (ko) | 데이터 공유 방법 | |
EP2706765A1 (en) | Method to create and manage a group of devices by a management center | |
JP2011138193A (ja) | 情報処理装置、データ授受方法、および情報処理システム | |
KR20150049745A (ko) | 휴대 단말의 잠금 화면에 컨텐츠를 제공하는 어플리케이션 실행 장치 및 그 방법 |
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: 1188347 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1188347 Country of ref document: HK |