CN1823332A - 用户通知的系统和方法 - Google Patents
用户通知的系统和方法 Download PDFInfo
- Publication number
- CN1823332A CN1823332A CNA2004800200375A CN200480020037A CN1823332A CN 1823332 A CN1823332 A CN 1823332A CN A2004800200375 A CNA2004800200375 A CN A2004800200375A CN 200480020037 A CN200480020037 A CN 200480020037A CN 1823332 A CN1823332 A CN 1823332A
- Authority
- CN
- China
- Prior art keywords
- node
- user
- entity
- message
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1895—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
- H04L67/1055—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- 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
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
- H04L67/107—Discovery involving direct consultation or announcement among potential requesting and potential source peers with limitation or expansion of the discovery scope
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
根据本发明的各个实施例,提供适合于在节点之间传送各种消息的系统和方法。这样的消息可以与各种服务相关。此外根据本发明的各个实施例,提供适合于搜索通过组网可得到的实体,允许节点用户之间的通信,并且进行共享操作的系统和方法。这样的系统和方法可用于提供诸如共享,消息接发和/或聊天之类的服务。
Description
技术领域
本发明涉及用户通知的系统和方法。
背景技术
近年来,诸如移动节点之类的计算机产生和接收的数据的数量已大大增加。例如,对于涉及文本的通信,多个个人已逐渐依赖于聊天和消息接发服务,而不选择传统的邮件。类似地,对于接收内容,比如记录仓库、软件仓库、无线电设备、电视和电影院,多个个人逐渐喜欢文件共享而不喜欢传统的地方。此外,诸如移动节点之类的计算机向个人提供他们自己创建和编辑数字内容项目(例如图像、视频剪辑、音频录音等)的能力。多个情况下,个人会愿意利用文件共享技术与其它个人共享这些数字项目。
因此,对帮助用户跟上数据的增长的技术有兴趣。
发明内容
根据本发明的各个实施例,提供适合于在节点的用户接口处于空闲状态的时候,使该节点向其用户通知一个或多个事件的系统和方法。在各种这样的实施例中,用户可选择为对应的操作挑选她被告知的事件中的一个或多个事件。
用户被告知的事件可包括例如与软件操作对应的事件和/或与网络环境(例如对等环境)对应的事件。
附图说明
图1描述根据本发明的各个实施例的与激活和事件规范相关的例证步骤。
图2描述根据本发明的各个实施例的与事件监视、显示和呈现事件的选择相关的例证步骤。
图3描述根据本发明的各个实施例的与搜索查询消息的发送相关的例证步骤。
图4描述根据本发明的各个实施例的与搜索查询消息接收相关的例证步骤。
图5描述根据本发明的各个实施例的与搜索回答消息接收相关的例证步骤。
图6描述根据本发明的各个实施例的与项目请求消息接收相关的例证步骤。
图7描述根据本发明的各个实施例的与调度消息的发送相关的例证步骤。
图8描述根据本发明的各个实施例的与查找提供关于组的信息的节点相关的例证步骤。
图9描述根据本发明的各个实施例的与搜索相关的例证步骤。
图10描述根据本发明的各个实施例的与使实体可用相关的例证步骤。
图11描述根据本发明的各个实施例的与消息接发相关的例证步骤。
图12表示根据本发明的各个实施例的例证组成员证。
图13描述根据本发明的各个实施例的与鉴权相关的例证步骤。
图14描述根据本发明的各个实施例的与鉴权相关的更多例证步骤。
图15描述根据本发明的各个实施例的与应用层流程相关的例证步骤。
图16表示可用在本发明的各个实施例中的例证通用计算机。
图17表示可用在本发明的各个实施例中的例证节点的功能方框图。
具体实施方式
一般操作
根据本发明的各个实施例,提供适合于在节点的用户接口处于空闲状态的时候,使该节点向其用户通知一个或多个事件的系统和方法。在各个实施例中,节点可通过屏幕保护程序等如此通知其用户。
这样的事件可包括例如与软件操作对应的事件,与网络环境对应的事件等。这样的网络环境可以是例如对等环境,可能是如下更详细讨论的采用鉴权连接的对等环境。
在各个实施例中,节点如此通知其用户的事件可和一种或多种规范相一致。这样的规范可以指示节点应通知其用户的事件的类型,与节点应通知其用户的事件相关的元数据和/或其它参数等。规范可由用户、系统管理员等提供。
此外,在各个实施例中,节点的用户能够采用她的节点为对应的操作选择她被告知的事件中的一个或多个事件。事件的这种选择可导致恰当软件的激活,导致向用户呈现各种对应的信息,允许用户执行各种对应操作等。
下面将更详细地说明本发明的各个方面。
激活和事件规范
如图1中所示,根据本发明的各个实施例,在其节点的用户接口处于空闲状态的时候,希望由其节点告知事件的用户可表示这样做的愿望(步骤101)。这样的表示可经由她的节点的用户接口来实现。
如上提到的,在各个实施例中,用户被告知的事件可与一种或多种规范相一致。在这样的规范将由用户提供的实施例中,节点可向其用户查询这样的规范。这样的查询可经由例如节点的用户接口来实现。
作为查询这种规范中的第一步骤,节点可向所述用户提供一个列表,所述列表包括就其而论,可向节点的用户告知事件的对应于软件的条目,对应于网络环境的条目(例如对等环境)等(步骤103)。
作为一个具体例子,可向用户提供与在其节点上运行的软件对应的条目,就所述软件的操作而论,可如上所述向所述用户告知事件。作为另一具体例子,其中用户是对等环境中的一个或多个对等组的一个成员,可向用户提供组的列表,所述用户是所述组的一个成员,关于所述成员,可如上所述向所述用户告知事件。
在各个实施例中,节点可列举能够在节点或者别的地方(例如作为web服务)运行的软件,借助所述软件能够建立进程间通信。这样的软件可以是借助其,可经由简单对象接入协议(SOAP),远程方法调用(RMI),Java消息接发服务(JMS),公共对象请求代理体系结构(CORBA),Applescript/Apple Events,应用可视Basic(VBA)等建立通信的软件。如下更详细所述,借助这样的进程间通信,节点能够关于在所述软件方面发生的事件,与在该节点和/或别的地方运行的软件通信。注意在这种软件在除所述节点之外的别的地方运行的各个实施例中,在与软件的通信中,可采用对等消息接发等。
在一些这样的实施例中,可向节点提供可对其建立这种通信的软件的指示,节点可鉴于可供运行的软件检查列表,以便确定列表中的哪个软件应被提供给用户。这样的指示可由系统管理员等提供。
作为另一例子,在各个实施例中,节点可以不采用和/或接收这样的指示。改为节点接入可供运行的软件,以便确定进程间通信是否可用。例如,节点可以利用一个或多个进程间通信协议,尝试查询可用软件,并查看是否收到适当的响应。
在向用户提供与一个或多个网络环境对应的实体的实施例中,节点可列举组(例如对等组)、连接等,就所述组、连接等来说,节点知道实体、消息等可被接收、忽视等,如下更详细所述。节点可用多种方法知道这一切。例如,如下更详细所述,节点可通过接收的组信息了解这一切
在各个实施例中,用户可从上面提到的类别的列表中选择某一条目(例如软件或组)。作为响应,节点可向用户提供与该用户被告知的对应事件相关的细节(步骤105)。
节点可用多种方式知道事件。例如,节点可凭借包含在上面讨论的所接收的对其可建立这种通信的软件的指示里的信息,知道所述事件。作为另一例子,节点可凭借接收的组信息知道所述事件。作为另一例子,节点可通过执行的查询,知道所述事件。例如,节点可以关于涉及可发送的命令,可进行的查询等的信息,查询借助其能够建立进程间通信的软件。作为一个具体例子,节点可向软件发送接收软件理解的命令,消息等的字典的请求。
举例来说,在用户从呈现的列表中选择某一软件项目的情况下,节点可向用户提供涉及可对其进行监视的各种事件的信息,并允许用户选择一个或多个事件进行监视(步骤107)。在各个实施例中,节点可允许用户提供和使事件应被用户注意的环境相关的一个或多个规范(步骤109)。这样的规范可包括例如元数据,数值,范围等。
作为一个具体例子,在与所选事件对应的软件工作,从而知道与保持的地址簿中存储的用户对应的节点何时到达附近,并且所选事件是所述存储用户的节点即将到达附近,那么用户可规定只有在存储用户是一个或多个指定的存储用户之一的情况下,在时间落入某一范围之内的情况下,在位置是一个或多个指定位置之一或者落入某一位置范围之内(例如在其圆心位于指定地理坐标的指定圆内)的情况下等,才使该事件被用户注意。
作为另一例子,在用户从提供的列表中选择一个对等组的情况下,节点可按照类似于上面所述的方式向用户提供与可对其进行监视的各种事件相关的信息,允许用户选择一个或多个事件进行监视,和/或允许用户提供和使事件应被用户注意的环境相关的一个或多个规范。
作为一个具体例子,在用户选择特定的对等组的情况下,可向用户提供可监视的事件,例如包括以该节点为目标的消息或实体的接收,用于回避(by-passed)的消息或实体的接收等。在各个实施例中,可向用户提供更具体的可监视事件,例如实体(比如内容实体)的可用性的宣告的接收,邀请(例如组邀请)的接收,聊天或即时消息接发消息的接收,被请求实体的接收,成功完成实体上载的指示的接收等。
例如,在用户表示她希望向其通知供回避的消息或实体的接收的情况下,用户可指定在她的节点收到的是与该用户指定的一个或多个元数据相关的内容项目实体的情况下,她希望被告知。
作为一个具体例子,假定用户表示就她为成员的曲棍球球迷的特定对等组而论,她希望向其通知以其节点为目标的消息的接收和/或供回避的消息的接收。如果该用户关心通过在与该对等组相关的一个或多个聊天板中,由追踪特定的正在进行的比赛的组成员发出的帖子,了解所述比赛中的事件,那么该用户可指定对应的元数据和/或其它信息。
注意在各个实施例中,在用户选择了特定的对等组的情况下,可向用户提供向其呈现关于该组的一般活动级别(activity level)和/或呈现关于该组的最近活动的概要的选项。在各个实施例中,一般活动级别可包括例如在特定时段时可获得的新内容的数量,成员的活动,聊天活动级别等。在各个实施例中,选择向其呈现这样的一般活动级别和/或概要的用户或许按照类似于下面讨论的方式,通过屏幕保护程序等收到这样的级别和/或概要。注意在各个实施例中,可定期地获得这样的级别和/或概要。
可按照多个方式准备一般活动级别和最近活动的概要。例如,在各个实施例中,节点可收集与在恰当的对等组内发生的各种事件相关的信息,列举数据从而创建活动级别和/或总结数据从而产生最近活动的概要。可按照类似于这里讨论的方式进行这样的收集。可根据本领域中已知的各种技术进行所收集事件的列举和总结。在各个实施例中,在活动级别或概要与特定时段相关联的情况下,在准备所述活动级别或概要的过程中,节点可以过滤掉与该时段无关的事件。作为一个具体例子,节点可以过滤掉在特定天数之前的事件。
如上所述,在各个实施例中,节点可以创建活动级别和/或概要。另一方面或另外,在各个实施例中,活动级别和/或概要可由超级对等体创建。超级对等体可以是例如恰当的对等组的组管理员的节点。作为另一例子,超级对等体可以是服务器。在各个实施例中,这样的超级对等体按照类似地上面所述的方式行动。在各个实施例中,超级对等体可以通过推送,使节点可以得到创建的活动级别和/或概要。如上所述,在各个实施例中,超级对等体可定期使这样的活动级别和/或概要可用。
另外注意在各个实施例中,可按照下面关于搜索讨论的方式实现借助其能够如上所述指定元数据的功能。另外注意,如上所述,在各个实施例中,用户被告知的事件另一方面可以与不是该用户提供的一个或多个规范相一致。因此在各个实施例中,节点可从系统管理员等接收这样规范。这样的规范可通过网络接收(例如通过一个或多个对等组中的一个或多个对等连接和/或隶属关系),放置在位于客户服务信息亭等的节点上等等。
事件监视和显示
参见图2,注意如上所述,根据本发明的各个实施例,在其用户接口处于不活动状态期间,用户的节点可以监视事件,并根据一个或多个规范向其用户通知这些事件的出现。如上所述,在各个实施例中,可通过屏幕保护程序等来实现这样的通知。可按照多种方式来实现在节点的用户接口处于不活动状态的时候,节点可以监视事件的功能。
例如,在本发明的各个实施例中,节点可通过如上所述的进程间通信,定期查询与正被监视的事件对应的软件。可按照多种方式进行这种查询。例如,在各个实施例中,节点可在这样的查询中包括与提供的涉及被监视事件的一个或多个规范相关的数据。与提供的规范相关的数据可被包括在所述查询中的程度取决于软件能够答复的查询的类别。
在节点将与提供的涉及对应事件的所有规范相关的数据都包括在该查询中的情况下,接收对所述查询的响应的节点可能不需要进行进一步的处理来了解其用户是否应被告知。例如,节点可能收到对其查询的“是”或“否”答复,在收到“是”的情况下,通知其用户。在各个实施例中,这样的查询响应可包括另外的信息。
作为一个具体例子,假定节点的用户表示在指定的软件开始完成指定图像的再现的情况下,她希望得到通知。当节点的用户接口开始处于空闲状态时,节点可定期查询指定的软件,所述查询包括指定图像的指示,和关于该图像的再现是否已完成的询问。作为响应,节点可能收到“是”或“否”的回答。
在节点将和提供的涉及事件的规范无关的,或者只与一些所述规范相关的数据包括在查询中的情况下,节点需要进行进一步的处理以便知道其用户是否应被告知。例如,响应其查询,节点可能收到涉及事件的发生的一个或多个细节,节点可以检查这些细节,以便确定是否应向其用户报告该事件。
作为与上面所述的用户表示她希望被告知再现完成的情形相关的一个具体例子,节点可关于任何再现是否已完成,询问指定的软件,但是任意指定图像的指示并不包括在该询问中。作为响应,节点可收到其再现已完成的那些图像的指示。节点随后研究询问响应,确定对于指定的图像是否已完成再现,并在认为指定图像的再现已完成的情况下恰当地通知其用户。
在上面描述的例子中,在确定是否应将事件的发生通知其用户的过程中,节点询问恰当的软件。注意在各个实施例中,当发生事件时,节点可改为接收来自恰当软件的通知。
在这样的实施例中,节点可以采取行动,将其接收涉及事件发生的通知的愿望通知恰当的软件,节点可能指示一个或多个对应细节,所述一个或多个细节可能对应于提供的上述类别的规范。细节的指示程度取决于所述恰当软件的能力。
在各个实施例中,为了知道当它从恰当的软件收到通知时,是否应告知其用户,节点所需进行的处理的数量按照与上面所述类似的方式取决于节点提供给软件的细节的数量。在各个实施例中,当收到通知时,节点进行的动作类似于如上所述当收到对查询的响应时进行的那些动作。
如上所述,在各个实施例中,节点将向其用户通知的事件可以与网络环境(例如对等环境)中的事件相关。例如,如上所述,这样的事件可对应于就对等环境中,节点的用户为其成员的组而论,以该节点为目标的消息或实体的接收,用于回避的消息或实体的接收,宣告的接收,邀请的接收,聊天或即时消息接发消息的接收,被请求实体的接收等。注意在各个实施例中,如下更详细所述,对等环境中的这种接收可以相对于节点的用户为其成员的一个或多个对等组,就这种对等组而论到其它节点的连接可以是经鉴权的连接。
随后,节点检查收到的内容,以便确定是否应通知其用户。可按照多种方式实现这种功能。例如,在指定了元数据的情况下,节点可检查与收到的内容相关的元数据,以便确定是否应通知该用户。可按照类似于下面所述的方式进行这种检查。作为另一例子,节点可以对接收的内容进行各种任务,比如文本搜索、图像分析、声音分析、其它数据分析等,以便确定是否应通知其用户。
在确定它应将事件的发生通知其用户之后,在其用户接口处于空闲状态的时候,节点可以采取行动,以便如此通知其用户。可按照多种方式实现节点通知其用户的功能。例如,如上所述,节点可以通过屏幕保护程序等通知其用户。在各个实施例中,当正在出现新的事件时,节点可以激活振动器、点亮灯、发出声音等来通知其用户。
根据各个实施例,可通过屏幕保护程序等显示与事件对应的文本、图形等(步骤203)。显示可以是这样的,以致文本、图形等被滚动。滚动可以是例如二维的,以致滚动仿佛在显示器的平面内。另一方面,滚动可以是三维的,以致滚动仿佛相对于垂直于显示器的平面的轴移动(至少在一定程度上)。因此,这样的滚动仿佛朝着接近或离开屏幕的平面的方向移动(至少在一定程度上)。
根据本发明的各个实施例,可借助文本、图形等传递与事件对应的数量不断变化的信息。例如,传递的可以是事件的类型,和/或涉及事件的一个或多个细节。
作为一个具体例子,在事件对应于媒体项目的接收的情况下,传递的可以是媒体项目的标题,媒体项目的类型,对应于该媒体项目的图像(例如,影集封面、电影海报、或者胶片画面)等。作为另一具体例子,在事件对应于消息(例如与用户为其成员的聊天组对应的消息)的接收的情况下,传递的可以是消息的标题,消息的概要等。作为另一例子,在事件对应于保持的地址簿中存储的用户的节点到达附近的情况下,传递的可以是与该用户对应的各种地址簿信息(例如,姓名、电话号码和/或地址)、该用户的图像等。注意在各种这样的实施例中,这样的图像可存储在地址簿中,和/或当该用户的节点到达附近时,接收自从该用户的节点。
注意在各个实施例中,正被告知事件的发生的用户可被同时告知多个事件的发生。例如,在屏幕保护程序等中可同时滚动与多个事件中的每个事件对应的文本,图形等。作为一个具体例子,可以存在六个滚动行。另一方面或者另外,中呈现对应于一个以上事件的文本、图形等。作为一个具体例子,可以显示表示两个新的聊天消息已被收到的文本。
注意可按照多种方式实现这里描述的可视显示。作为具体例子,可以采用OpenGL,NokiaGL等。另外注意在各个实施例中,用户能够设置涉及可视显示的各种偏爱等。例如,用户能够选择滚动速度、滚动行的数目、颜色、应采用二维滚动还是三维滚动等。
为对应操作选择显示的事件
如上所述,在本发明的各个实施例中,用户能够采用她的节点为对应操作选择她被告知的一个或多个事件。可按照多种方式实现这种功能。
参见图2,注意在本发明的节点如上所述通过屏幕保护程序等将事件通知其用户的实施例中,用户能够向其节点表示为对应操作选择她正被告知的一个或多个事件的愿望(步骤205)。可按照多种方式实现用户表达这种愿望的功能。例如,在各个实施例中,用户可通过按下与其节点相关联的小键盘、键盘等上的一个或多个特定按键,表达这样的愿望。
作为响应,在各个实施例中,节点可提供一个界面,借助所述界面,用户能够为对应操作选择她正被告知的一个或多个事件(步骤207)。可按照多种方式实现这种功能。例如,在各个实施例中,节点可以捕捉提供事件信息的屏幕保护程序等的当前视觉状态,按照允许用户选择与一个或多个事件对应的视觉状态的多个部分,以便为对应操作选择事件的方式显示捕捉的视觉状态。作为另一例子,在各个实施例中,节点可以通过屏幕保护程序等,提供具有用户正被告知的每个事件的相应条目的列表,并且允许用户为对应操作选择一个或多个事件
响应用户对事件的选择,节点可按照多种方式动作,以允许对应的操作(步骤209)。例如,在选择的事件与软件相关的情况下,在各个实施例中,节点可允许用户与该软件和/或其它相关软件交互作用。例如,节点可向用户提供恰当的用户界面。
在各个实施例中,所述恰当的用户界面可以是与该事件相关的用户界面。例如,在选择的事件与完成再现的软件相关的情况下,节点可向用户提供用于查看再现(rendering)的软件的界面。作为另一例子,如果选择的事件涉及地址簿软件存储的用户的节点到达附近,那么正被告知事件的用户可被提供地址簿软件的恰当用户界面。这样的恰当界面可允许用户查看和/或编辑与到达附近的节点的用户对应的地址簿条目。
如上所述,在各个实施例中,事件可以是对应于网络环境的事件。在用户选择这样的呈现事件的情况下,在各个实施例中,她的节点可以动作,以便为对应于该事件的操作创造条件。例如,在选择的事件与网络环境中媒体实体等的接收相关(例如经由如下所述的经鉴权的对等连接)的情况下,节点可以激活适当的软件,以便允许用户使用该媒体实体。例如,在媒体实体为视频的情况下,节点可以激活视频观看软件。
作为另一例子,在选择的事件与网络环境中的聊天消息等的接收相关(例如经由如下所述的经鉴权的对等连接)的情况下,节点可以激活适当的软件,以允许用户与对应的聊天板交互作用。
作为另一例子,在选择的事件与网络环境中的邀请等的接收相关(例如经由如下所述的经鉴权的对等连接)的情况下,节点可以激活适当的软件,以允许用户与所述邀请交互作用。
注意在各个实施例中,响应用户对她被告知的事件的选择,可向该用户显示与该事件相关的其它信息。这样的其它信息可以包括例如未经由上面提及的文本、图形等呈现的事件的细节。
另外注意下面更详细地讨论了可用在本发明的各个实施例中的对等、经鉴权的连接、实体、即时消息接发、聊天、邀请等的各个方面。另外注意如上所述,在各个实施例中,接收的实体或消息可被接收,以便如下更详细所述那样转移。
一般对等操作
如上所述,根据本发明的各个实施例,提供适合于在对等环境中提供各种服务,比如共享、消息接发和聊天的系统和方法。在对等环境中形成组的用户间,所述服务是适用的。对等环境可以是其中每个参与节点具有相同能力和/或职责的网络。这样的对等环境不同于其中一些计算机专用于服务其它计算机的普通客户机/服务器体系结构。
在各个实施例中,对等环境中的节点之间的通信能够通过属于相同对等环境的一个或多个中间节点进行。对等环境可由例如用户的节点和服务提供商的节点组成。注意在各个实施例中,可通过节点之间的应用层路由来实现消息接发。
在各个实施例中,可在例如应用层(开放系统互连等级7)保持节点之间的连接。注意在属于一个或多个公共组的两个节点之间存在直接的单中继段链路的情况下,这可用在各个实施例中。另外注意在各个实施例中,不同的物理介质和不同的低层组网技术可被用于形成节点之间的连接。此外,注意本发明的各个实施例提供采用能够实现例如组协作和/或通信的固件和/或通信应用程序的对等环境。
如上所述,本发明的实施例提供各种服务。具有诸如有线或无线终端之类节点的用户能够获得这样的服务。这样的终端可具有一个或多个网络接口。所述接口例如可以是蓝牙、802.11b、802.11g、GPRS(通用分组无线服务)、EDGE(增强数据速率全球移动通信系统演进),UMTS(通用移动通信服务)、DVB-T(地面数字视频广播)、DVB-X和/或以太网接口。
在本发明的各个实施例中,可在节点之间传送消息,以便提供上面提及的服务。此外,本发明的各个实施例提供适合于供给这种服务的用户接口。
下面将更详细地讨论本发明的各个方面。
消息处理
根据本发明的各个实施例,在节点之间可以传送各种消息。例如,可以传送以选定的节点或者整个一组节点为目标的即时消息,搜索查询消息,搜索答复消息,项目请求消息,和/或调度消息。对于本发明的各个实施例,在应用层(即,开放系统互连(OSI)层7)进行这样的消息传递。另外注意根据本发明的各个实施例,节点可保持一个或多个实体参考表,所述实体参考表与如何达到各种可通过网络到达的实体相关。这样的实体可以是例如节点,组或者可下载项目(例如媒体项目或者程序文件)。在本发明的各个实施例中,可根据通过分析节点传送的消息和/或以节点为目标的消息而接收的信息,填充实体参考表。例如,可存在一组分层的实体参考表,和/或可按照分层的方式更新实体参考表,以避免额外的处理负载。在各个实施例中,最下层的实体参考表可由分析所有对等系统消息的对等软件模块的最下层路由部分更新。当软件模块正在关于内部路由和/或经由一个或多个连接到外部节点的路由,对某一对等节点作出路由决定时,可进行消息分析。
实体参考表更新可包含连接信息以及对等节点和对等组的可达性信息。在另一例证的层级中,可存在关于某一组的特定实体参考表,通过分析涉及消息的组专用信息(例如,对组成员的节点的接入),更新该特定实体参考表。在各个实施例中,可以分析涉及组特有操作(例如文件共享)的消息等。这样的消息等可以包括例如内容查询和答复。在各个实施例中,可关于内容项目和/或对等节点的可达性,对实体参考表进行恰当的更新,即使节点之间的物理连接未知和/或未保持在该组特有的层级中。
就特定的实体来说,实体参考表中列举涉及该实体的元数据和/或其它参数。另一方面或者另外,就特定的实体来说,实体参考表包括关于该节点可能被如何到达和/或接入的指示。例如,在实体是内容项目等,并且所述内容等被存储在与该表对应的节点上的情况下,该表可指示该项目被存储在节点上的什么地方。作为另一例子,在实体是内容项目等的情况下,实体参考表可以指示响应请求,可能提供该内容项目等的远程节点,可直接接入的节点和/或要使用的链路。注意在各个实施例中,这样的远程节点可将该内容项目存储在相关的仓库中和/或通过一个或多个节点的动作接收该内容项目,并响应请求提供该内容项目。作为一个具体例子,响应请求,在从第二远程节点收到实体之后,第一远程节点可提供该实体,而第二远程节点从将该项目存储在相关仓库中的第三远程节点接收该项目。
在实体参考表指示能够响应请求提供项目的远程节点的各个实施例中,实体参考表可以提供为了接收该项目,可能需要多少中继段(例如节点到节点中继段)的指示。因此,就上面的具体例子来说,注意相对于内容项目列举第一节点的实体参考表可指示对于要接收的项目,需要三个中继段。在各个实施例中,这种中继段数目的指示可提供关于中继段的额外信息。例如,它可指出经由特定节点的某一内容项目的接收需要两个蓝牙中继段,两个有线因特网中继段和一个UMTS(通用移动通信服务)中继段。它还可指出UMTS中继段的执行会涉及引起网络使用费。
就节点实体来说,操作类似于上面关于内容项目实体说明的操作。例如,节点可将唯一标识符和对应于特定节点的相关元数据,连同涉及可如何到达该特定节点的信息一起包括在实体参考表中。例如,在对应于该表的节点可以直接到达特定节点的情况下,实体参考表可列举对应于该特定节点的网络地址、唯一标识符等。例如,在对应于该表的节点不能直接到达特定节点的情况下,按照上面关于内容项目等说明的类似方式,实体参考表可以指出可以动作从而提供对特定节点的接入(例如向该特定节点传送消息)的远程节点。按照上面说明的类似方式,在各个实施例中,这种消息可经由具有涉及特定节点的足够信息(例如,恰当的唯一标识符)的一个或多个另外的远程节点,从指出的远程节点被传送给所述特定节点。按照上面说明的类似方式,连同指出的远程节点一起,实体参考表可以列举在经由指出的远程节点将消息传送给特定节点中会涉及多少个中继段的说明,或许还列举关于所述中继段的额外信息。
如上所述,可在节点之间传送的一种消息是搜索查询消息。这种消息可被用于查找实体,比如项目(例如媒体项目)、组描述,涉及组成员用户的信息、与聊天相关的元数据等。在各个实施例中,这种消息可被用于查找对应于指定元数据的实体。如图3中所示,希望查找实体的用户可通过其节点的GUI(图形用户界面)或者其它界面输入适当的数据和/或进行适当的选择,以便指示寻找的实体的类型,以及对应的元数据和/或其它参数(步骤301)。
作为响应,用户的节点可根据用户的指示关于每个实体搜索保持的实体参考表,对于所述每个实体,实体参考表指示能够提供所述实体和/或提供对所述实体的接入的一个或多个节点和/或链路。此外作为响应,用户的节点可根据用户的指示,关于每个实体搜索保持的实体参考表,对于所述每个实体,实体参考表指示用户的节点已超高速缓存该实体和/或可以直接获得该实体(步骤303)。
在各个实施例中,节点可以超高速缓存实体或者实体的一部分,例如在实体是媒体项目等,并且在从一个节点接收该实体,并将其传送给另一节点的过程中,该节点超高速缓存所述实体的情况下。在各个实施例中,节点可超高速缓存将内容实体,组成员等描述成独立的实体项目的元数据。特定的节点可直接接入实体,例如在该实体由在不借助第三节点的情况下,可由所述特定节点通过网络直接接入(例如可通过单一的传输层链路接入)的节点存储的情况下,或者在该实体由所述特定节点存储的情况下。作为另一例子,在可通过网络层连接接入实体,而不存在进行任何特有的对等应用层处理和/或分析来回避消息的中间节点的情况下,实体(例如节点)可被看作是可以直接接入的。
节点可按照多种方式将涉及可直接接入的节点的这种信息包括在保持的参考表中。例如,节点可采用设备发现(例如蓝牙设备发现),在建立的和/或公知的端口上广播,在建立的和/或公知的端口上监听等来发现可直接接入的节点。另一方面或者另外,在各个实施例中,节点可设法利用已知节点的地址,和/或关于节点的当前网络地址查询专用对等寄存器来建立连接。当找到这样的节点时,可关于对应的元数据和/或其它参数询问该节点。在各个实施例中,随后可关于找到的节点建立参考表条目,所述条目包括接收的唯一标识符和元数据和/或其它参数,或许还包括与找到的节点对应的网络地址。
在如上所述通过搜索其参考表,用户的节点找到与用户的指示匹配的实体的情况下,那么节点可通过GUI或者其它界面向其用户呈现与找到的实体对应的数据(步骤305、307)。例如,可向用户提供与每个找到的实体对应的元数据或其一部分。另外还可向用户提供与到达找到的实体所需的中继段的数目和/或类型相关的信息。在找到的实体被超高速缓存的情况下,可向用户提供这样的指示。另一方面,可向用户提供进行进一步搜索的选项。例如,可询问用户搜索是否已产生她所期待的结果。
在通过如上所述搜索其参考表,节点没有找到与用户的指示匹配的任何实体的情况下,和/或如果用户提供应进行进一步搜索的指示,那么节点可创建和发送搜索查询消息(步骤305,309)。这种搜索查询消息可包含多个条目中的一个或多个。
第一个这种条目可指示消息的一个或多个接收者。接收者可由例如网络地址,组的唯一标识符,节点的唯一标识符等指示。在各个实施例中,接收者的指示可指定组播地址等。这样的条目可被标记“去往(to)”。
第二个这种条目可指示创建该消息的节点。节点的指示可通过例如网络地址,唯一标识符和/或元数据来实现。这样的条目可被标记“始发者”。第三个这种条目指示消息从创建它的节点开始经过的中继段的数目。实体可相对于中继段类型(例如蓝牙或UMTS中继段)列举中继段的数目。这样的条目可被标记“中继段”。
第四个这种条目可指示发送该消息的最后节点。这样的条目可被标记“中间节点”。指示可以如同关于始发者条目所述那样。第五个这种条目可指示寻找的条目的类型,和对应的元数据和/或其它搜索参数。这样的条目可被标记“搜索数据”。第六个这种条目可指定与创建查询的节点相关联的元数据和/或其它参数。这样的条目可被标记“始发者数据”。
在创建这种查询消息的过程中,用户的节点可以将第二条目设置成指示它自己,将第三条目设置成列举零中继段,将第四实体设置成指示它自己,将第五实体设置成列举其用户提供的数据,将第六条目设置成指示它自己的元数据。第一实体1可由用户的节点设置,以便指定对一个或多个可直接接入节点的传送。所述一个或多个可直接接入的节点可以是用户的节点通过上面所述的那种设备发现,端口监视和/或端口广播操作找到的节点。另一方面,节点可以是通过建立与已知对等体的网络地址的连接,或者与从对等体寄存器查询得到的网络地址的连接而找到的节点。对等体寄存器可以是例如目前活动的对等体能够登记它们当前的网络地址的分布式或者集中式寄存器。在各个实施例中,如上所述,第一条目可被设置,以便实现组播传送。在创建搜索查询消息之后,用户的节点可将所述消息传送给其接收节点。
现在将说明当收到搜索查询消息时节点进行的操作。这样的节点可从产生搜索查询消息的节点,或者从先前收到所述搜索查询消息的另一节点接收所述搜索查询消息。作为一个具体例子,第一节点可从第二节点接收搜索查询消息,其中第二节点已从第三节点收到所述消息,第三节点已从创建该消息的节点收到所述消息。
参见图4,注意在接收节点收到搜索查询消息之后,接收者首先检查始发者和中间节点字段,了解这两者是否不同(步骤401)。如果这两者不同,那么或许鉴于在消息的始发者字段中列举的数据,接收节点可确定其实体参考表是否包括与始发者节点对应的条目。如果存在这样的条目,那么接收节点可将在中间节点字段中指定的节点可以提供对始发者节点的接入的指示加入该条目中。在消息的中继段字段中列举的数据可以包含在该指示中。接收节点随后可以比较在对应于始发者节点的表中列举的元数据和/或其它参数与在始发者字段中指出的元数据和/或其它参数,并根据需要更新所述表的元数据和/或其它参数。
注意在各个实施例中,当收到消息等时,节点可以防止环回形成。因此,在各个实施例中,消息可以包含源路由信息,比如消息被传送给的节点的列表。这种节点列表可以包含对应于节点的唯一标识符。在各个实施例中,在将接收的消息传送给下一接收节点之前,节点可以检查这种列表,以便确定下一接收节点是否已存在于源路由列表中。如果该节点注意到它将要将消息传送给已存在于源列表中的某一节点,那么在各个实施例中,该节点可重新考虑路由决定,不将该消息发送给所述列举的节点,以便防止环回的形成。在该节点将消息传送给其它节点的情况下,它可以将它自己加入到列表中。
在不存在这种条目的情况下,接收节点可以在其实体参考表中创建一个对应于始发者节点的条目,并按照和上面所述类似的方式,将在中间节点字段中指定的节点提供对始发者节点的接入的指示加入该条目中,或许还将在消息的中继段字段中列举的数据加入该条目中。
作为下一步骤,接收节点可查阅其实体参考表,以确定它是否可以直接接入与在消息的搜索数据字段中指定的内容匹配的一个或多个实体(步骤403)。因此,接收节点可以搜索其实体参考表,查找对应于寻找的实体类型,列举与在消息中指定的相符的元数据和/或其它参数,并且指示对相应实体的直接接入的实体条目。例如,在正被搜索的实体是节点的情况下,直接接入意味着可以建立上面所述的那种不需要任何中间节点的连通性。例如,在正被搜索的实体是内容项目的情况上,直接接入意味着该项目由将存储在该节点上的表格列举,并且可用于共享。在接收节点确定它具有这种直接接入的情况下,它可以创建并发送与找到的实体对应的一个或多个搜索答复消息。
在各个实施例中,唯一标识符可以与实体接入相关联。因此,这种具有直接接入的节点可以了解唯一标识符是否已和直接接入相关联。例如,这种唯一标识符可存在于指示所述直接接入的表条目中。如果这种唯一标识符不存在,那么节点可以自己创建,并使之与直接接入相关联,或许通过将唯一标识符放入适当的表条目中。可按照多种方式创建唯一标识符。例如,在创建中可以采用随机数发生和/或一个或多个等式。新创建的或者已存在的唯一标识符可被包含在每个上面提及的一个或多个搜索答复消息中。
在接收节点确定它没有这种直接接入的情况下,该节点可以查阅其表格,以确定它是否知道一个或多个其它节点,所述一个或多个其它节点可以提供与在消息的搜索数据字段中指定的内容匹配的实体和/或提供对所述实体的接入(步骤407)。因此,接收节点可以搜索其表格,查找对应于寻找的实体类型,列举与在消息中指定的相符的元数据和/或其它参数,并且指示能够提供相应实体和/或提供对相应实体的接入的一个或多个节点的实体条目。在接收节点发现这样的表条目的情况下,它可创建并发送与找到的实体对应的一个或多个搜索答复消息(步骤409)。如上所述,在各个实施例中,发现的表条目可存储与接入相关联的唯一标识符。在发现的表条目包括这种标识符的情况下,所述标识符可以包括在每个所述一个或多个搜索答复消息中。
如果接收节点没有发现这种表条目,那么它可修改接收的搜索查询消息,并将其发送给一个或多个其它节点(步骤411)。作为修改接收的搜索查询消息中的第一步,接收节点或许鉴于接收节点通过其获得所述消息的链路,更新接收消息的包含中继段字段。例如,在该字段指示中继段类型的情况下,接收节点可以更新消息的该字段,以便将与节点通过其接收消息的接口对应的计数加1。作为一个具体例子,在通过蓝牙链路接收消息的情况下,对应于蓝牙中继段的中继段计数可被加1。在消息的中继段字段不指定中继段类型,而是保持单一计数器的实施例中,接收节点可以将所述单一计数器加1。
作为修改接收的搜索查询消息中的下一步,接收节点可以改变中间节点字段以指示它自己。在各个实施例中,另一方面或者另外,节点可以将它自己加入到与上面所述那种环回确定对应的节点列表中。作为修改搜索查询消息中的另一步,接收节点可按照和上面所述类似的方式,设置“去往”字段,以便指定对一个或多个可直接接入的节点的传送。随后,接收节点可将修改后的搜索查询消息传送给其接收节点。当收到修改后的查询消息时,每个接收节点可按照和上面刚刚关于当收到搜索查询消息时节点进行的操作说明的类似方式行动。
如上所述,响应收到搜索查询消息,节点可创建和发送搜索答复消息。下面将更详细地讨论这种操作。创建的搜索答复消息可包含多个条目中的一个或多个条目。
第一个这种条目或许按照和上面关于搜索查询消息所述类似的方式,指示搜索答复消息的一个或多个接收者。这种条目可被标记“去往”。第二个这种条目或许按照和上面关于搜索查询消息所述类似的方式,指示创建搜索答复消息的节点。这种条目可被标记“始发者”。第三个这种条目或许按照和上面关于搜索查询消息所述类似的方式,指示搜索答复消息从创建它的节点开始经过的中继段的数目。这种条目可被标记“中继段”。
第四个这种条目或许按照和上面关于搜索查询消息所述类似的方式,指示发送搜索答复消息的最后节点。这种条目可被标记“中间节点”。第五个这种条目可以指定与一个或多个找到的条目相关的元数据和/或其它参数。这种条目可被标记“找到的实体数据”。注意如上所述,在一些实施例中,可对每个找到的实体创建和发送搜索答复消息,而在其它实施例中,可以创建和发送与一个以上的找到实体对应的单个搜索答复消息。
第六个这种条目或许按照和上面关于搜索查询消息所述类似的方式,指定与创建搜索答复消息的节点相关的元数据和/或其它参数。这种条目可被标记“始发者数据”。第七个这种条目可指示最初发送响应其创建搜索答复消息的搜索查询消息的节点。这种条目可被标记“查询始发者”。
在创建这种搜索答复消息的过程中,节点可以将第二个条目设置成指示它自己,将第三个条目设置成列举零中继段,将第四个条目设置成指示它自己,将第五个条目设置成列举从它的表格中取回的与正在关于其创建搜索答复消息的一个或多个实体对应的元数据和/或其它参数,将第六个条目设置成列举它自己的元数据,将第七个条目设置成列举响应其正在创建搜索答复消息的搜索查询消息的始发者字段的内容。
第一个条目可由节点设置,以便指定对该节点从其收到搜索查询消息的节点的传送,响应所述搜索查询消息,正在创建搜索答复消息。因此,第一个条目可被设置成包含存储在搜索查询消息的中间节点字段中的数据。
如上所述,在各个实施例中,搜索答复消息可以包括与实体接入对应的唯一标识符。这种唯一标识符可被包括为上述类别的另一条目。例如,在各个实施例中,可存在另一条目,该条目包括与适当的接入对应的唯一标识符,该条目可被标记“接入标识符”。在创建搜索答复消息之后,节点可将它传送给一个或多个适当的接收节点。
现在说明当收到搜索答复消息时节点进行的操作。这种节点或许按照和上面关于搜索查询消息所述类似的方式,从发起搜索答复消息的节点,或者从先前收到搜索答复消息的另一节点接收搜索答复消息。
参见图5,注意在某一接收节点收到搜索答复消息之后,该接收节点首先检查始发者字段和中间节点字段,以了解这两者是否不同(步骤501)。如果这两者不同,那么接收节点或许按照和上面关于搜索查询消息所述类似的方式,创建或更新与始发者节点对应的表条目。随后,接收节点可按照和上面所述类似的方式递增接收消息的中继段字段。
作为下一步骤,接收节点或许按照和上面关于对应于节点的表条目所述类似的方式,创建或更新与关于其发送和创建查询答复消息的找到实体对应的表条目(步骤503)。因此,创建或更新的表条目可指示在中间节点字段中指定的节点能够提供关于其发送和创建查询答复消息的实体和/或提供对所述实体的接入。在各个实施例中,另外列举的可以是在消息的更新中继段字段中列举的数目。在对应于实体接入的唯一标识符包含在接收的搜索答复消息中的实施例中,该标识符可以包含在适当的创建或更新表条目中。另外,创建和/或更新的表条目可以包括来自找到实体的数据字段的数据。
作为下一步骤,通过检查查询始发者,接收节点确定是否正是该节点最初发送了响应其创建搜索答复消息的搜索查询消息(步骤505)。因此,接收节点可以比较在查询始发者字段中列举的标识符(例如网络地址或唯一标识符)与它自己的对应标识符。
如果接收节点发现它自己是最初发送搜索查询消息的节点,那么该节点可以按照和上面所述类似的方式向其用户提供与找到的实体对应的数据(步骤507)。如果接收节点发现它自己不是最初发送搜索查询消息的节点,那么该节点可以修改接收的搜索答复消息,并将其发送给一个或多个其它节点(步骤59)。注意在如上所述更新中继段字段的实施例中,发送的消息会包含该字段的更新版本。
作为修改接收的搜索查询消息中的第一步,接收节点可以将中间节点字段设置成指示它自己。在各个实施例中,另一方面或者另外,接收节点可将它自己加入到与上面所述那种环回确定对应的节点列表中。作为修改搜索答复消息中的另一步,接收节点可以设置“去往”字段,以指定到从其收到搜索查询消息的节点的传送,响应所述搜索查询消息创建了所述搜索答复消息。因此,“去往”字段可被设置成包含存储在搜索查询消息的中间节点字段中的数据。随后,该节点可以将更新后的搜索答复消息传送给指示的一个或多个接收节点。
当收到修改后的消息时,每个接收节点可以按照和刚刚关于当收到搜索答复消息时节点执行的操作说明的类似方式行动。
如上所述,用户可向其节点指定查找与某些指定的元数据和/或其它参数相关的某类实体的愿望。如上所述,随后可向这样的用户提供与匹配其准则的实体对应的数据。在各个实施例中,在已向用户呈现可下载实体(例如媒体项目,数据文件和/或程序)的情况下,用户能够请求所呈现实体之一的接收。用户能够通过GUI等产生这样的请求。
注意在各个实施例中,正被呈现与匹配其准则的实体对应的数据的用户可能接收可从一个以上的源得到特定实体的指示。在这种情况下,在各个实施例中,用户被给予向特定节点请求特定实体的接收,和/或指示可根据包含关于某些成本和/或带宽要求的条件的某些指定准则,为她选择所述源的选择权。
如果用户向特定节点请求接收,那么用户的节点可以创建项目请求消息,并将其发送给指示的节点。如果用户不向特定节点请求接收,那么在任何指定准则允许经由节点的高速缓冲存储器的供给的情况下,用户的节点可以首先关于选择的实体检查其表格,以确定该实体是否存在于所述高速缓冲存储器中。如上所述,这种高速缓冲存储器可以存储用户的节点接收的实体,以便传送给另一节点。
因此,用户的节点可在其表格中找到与请求的实体对应的条目,并查看它是否包含通过节点的高速缓冲存储器是否可以得到该实体的指示。如果发现这样的指示,那么该节点可使用户可以得到该实体。例如,该节点可将该实体从高速缓冲存储器复制到用户的数据存储区。在用户的节点确定不能通过高速缓冲存储器得到所请求实体的情况下,和/或指定的准则不允许经由高速缓冲存储器的供给的情况下,节点可以查阅其表格,以便响应请求,选择能够提供该实体的节点。注意在各个实施例中,这种选择服从用户提供的指定准则。注意由于上述操作,在关于某一实体收到了搜索答复消息的情况下,一般预期所述表格指示能够提供该实体的至少一个节点。
当选择能够提供该实体的一个节点时,用户的节点可以创建项目请求消息并将其发送给选择的节点。创建的项目请求消息可以包含多个条目中的一个或多个。第一个这种条目可以按照和上面所述类似的方式指示消息的一个或多个接收者。这种条目可被标记“去往”。第二个这种条目可以按照和上面所述类似的方式指示创建该消息的节点。这种条目可被标记“始发者”。第三个这种条目可以按照和上面所述类似的方式指示该消息从创建它的节点开始经过的中继段的数目。这种条目可被标记“中继段”。
第四个这种条目可以按照和上面所述类似的方式指示发送该消息的最后节点。这种条目可被标记“中间节点”。第五个这种条目可以指定与所请求实体对应的元数据和/或其它参数。这种条目可被标记“所请求实体数据”。注意在各个实施例中,这样提供的元数据和/或其它参数可以是与被请求实体对应的完整一组元数据和/或其它参数,和/或可以是足以满足接收项目请求消息的节点知道所需实体的元数据和/或其它参数。另外注意在各个实施例中,包括在元数据和/或其它参数中的可以是单独地足以满足接收项目请求消息的节点知道所需实体的唯一标识符。
第六个这种条目可以按照和上面关于搜索查询消息所说明的类似方式,指定与创建项目请求消息的节点相关的元数据和/或其它参数。这种条目可被标记“始发者数据”。
在创建这种项目请求消息的过程中,节点可将第二个条目设置成指示它自己,将第三个条目设置成列举零中继段,将第四个条目设置成指示它自己,将第五个条目设置成列举从其表格取回的与被请求实体对应的元数据和/或其它参数,将第六个条目设置成列举它自己的元数据。第一个条目可由该节点设置,以便指定对能够提供所请求实体的选定或指示节点的传送。因此,第一个条目可被设置成包含从适当的表条目取回的数据。注意鉴于上述功能性,选定的或指示的节点应该是可以直接接入的。
如上所述,在本发明的各个实施例中,可以采用对应于实体接入的唯一标识符。对于这样的实施例,包括在项目请求消息中的可以是适当的标识符。这种适当的标识符可以是例如与用户选择的特定搜索结果指示的实体接入对应的标识符。所述适当标识符可以取自适当的表条目。因此,在各个实施例中,存在存储对应于实体接入的适当唯一标识符的另一消息条目,该条目可被标记“接入标识符”。
另外注意在各个实施例中,用户和/或她的节点能够借助项目请求消息指示只想要实体的一部分。这可按照多种方式来指定。例如,在一些实施例中,所述部分可被指定为数据的绝对量,比如指定的字节数。作为另一例子,在一些实施例中,所述部分可被指定为总的实体大小的一部分,比如实体的总体大小的某一分数或者百分数。在各个实施例中,用户和/或她的节点能够指示只想要内容项目的特定组件(例如替代物,缩略图等)。
作为一个具体例子,可指示需要媒体文件的第一指定数目的字节。因此,可以指出只需要媒体文件的前500字节。作为另一具体例子,可以指出想要媒体文件的第二指定数目的字节。因此,可以指出只想要媒体文件的第二个500字节。
作为另一例子,注意在各个实施例中,这种功能可被用于允许恢复实体的部分失败或者中断的接收,而不必重新发送正确接收的和/或已接收的部分。因此,就实体的这种部分失败的接收来说,可发送项目请求消息,所述项目请求消息将未被正确接收的部分指示成实体的所需部分。例如,在只正确接收4兆字节文件的第一兆字节的情况下,可发送项目请求消息,所述项目请求消息指示只需要该实体的后三兆字节。注意在各个实施例中,元数据可包括实体大小的指示。
作为另一例子,注意在各个实施例中,这种功能可被用于允许节点在提供对其的接入的一个或多个节点之间划分特定实体的接收。例如,在三个节点提供对特定实体的接入的情况下,可相对于提供接入的第一节点发送第一个项目请求消息,第一个项目请求消息指示需要该节点的前三分之一,可相对于提供接入的第三个节点发送第二个项目项目请求消息,第二个项目请求消息指示需要该节点的中间三分之一,可相对于提供接入的第二个节点发送第三个项目请求消息,第三个项目请求消息指示需要该节点的后三分之一。因此,在各个实施例中,可存在存储这种指示的另一消息条目,该条目可被标记“部分指示”。
现在说明当收到项目请求消息时节点进行的操作。这样的节点可按照和上面所述类似的方式从发起项目请求消息的节点,或者从先前收到项目请求消息的另一节点接收项目请求消息。
参见图6,注意在接收节点收到项目请求消息之后,接收节点首先检查始发者字段和中间节点字段,以了解这两者是否不同(步骤601)。如果这两者不同,那么接收节点可按照和上面所述类似的方式创建或更新与始发者节点对应的表条目。随后,接收节点可按照和上面所述类似的方式递增接收消息的中继段字段。作为下一步骤,接收节点可查阅其表格,以确定在相关仓库中它是否持有正被请求的实体(步骤603)。
在接收节点发现它持有正被请求的实体的情况下,它可通过一个或多个调度消息发送该实体,所述一个或多个调度消息具有指示最初发送项目请求消息的节点的“去往”字段(步骤605)。因此,一个或多个字段可被设置,以存储由接收的项目请求消息的始发者字段指示的数据。在接收节点发现它并不持有正被请求的实体的情况下,它可查阅其表格,以知道提供对该实体的接入的节点(步骤607)。
如果所述表格指示可以提供被请求实体的节点多于一个,那么接收节点可选择这些节点之一。例如,在接收的项目请求消息包括对应于实体接入的唯一标识符的情况下,该标识符可用在节点选择中。因此,例如,可以选择与指示该唯一标识符的表条目对应的节点。
作为另一例子,接收节点可根据系统管理员等设定的规范选择节点之一。这样的规范可以指示应进行选择,以便选择对应表条目列举最小数目的中继段,其列举的中继段花费最少的通过费用,和/或具有最高的总体可用通过带宽的节点。作为另一例子,接收节点可根据请求实体的用户指示的上述指定准则,选择节点之一。在各个实施例中,这种指定准则可包括在项目请求消息中。
作为下一步骤,接收节点可以修改接收的项目请求消息,并将其发送给能够提供对实体的接入的适当节点(步骤609)。注意在如上所述更新中继段字段的实施例中,发送的消息会包含该字段的更新版本。如上,注意鉴于上述功能性,所述适当的节点应该是可以直接接入的。
作为修改接收的项目请求消息中的第一步,接收节点可以将中间节点字段设置成指示它自己。在各个实施例中,另一方面或者另外,节点可将它自己加入到与如上所述那种环回确定对应的节点列表中。作为修改项目请求消息中的另一步,接收节点可以设置“去往”字段,以便指定到能够提供对实体的接入的适当节点的传送。因此,“去往”字段可被设置成包含来自接收节点的表格的适当数据。
随后,接收节点可将更新后的项目请求消息传送给能够提供对实体的接入的适当节点。当收到修改后的消息时,能够提供对实体的接入的适当节点按照和刚刚关于当收到项目请求消息时节点执行的操作说明的类似方式行动。
如上所述,在本发明的各个实施例中,实体可以借助一个或多个调度消息被发送给接收者。这种调度消息也可被用于其它目的,例如发送即时消息,与聊天相关的消息等。在各个实施例中,希望发送调度消息的用户可通过与其节点相关的GUI或者其它界面表示她的这种愿望。和所述表示一起,用户可以指定一个或多个接收者。注意在各个实施例中,节点可在未从其用户收到明确请求的情况下发送这种消息。例如,在节点的用户正在利用她的节点参与聊天和/或消息板操作的情况下,可能发生这种操作。注意在各个实施例中,在调度消息预定给一个以上的接收者的情况下,节点可以表现成好像存在给每个这些接收者的独立调度消息。但是,在各个实施例中,如果存在单一调度消息可以服务于多个远程和/或可直接接入的接收者的可能性,那么可以采取适当的动作以致单一调度消息可以服务于多个远程和/或可直接接入的接收者。因此,例如,调度消息的单一副本可被传送给中间节点,中间节点可以进一步复制消息和将消息修改成通过连接和/或传输链路的不同分枝去往不同接收者的多个调度消息。注意在各个实施例中,在可通过单一广播通道等到达所有接收者的情况下,可以不发生任何复制。
参见图7,注意在用户的节点要向指定节点发送调度消息的情况下,在各个实施例中,用户的节点首先了解指定节点是否是可接入的(步骤701)。因此,用户的节点可以进行上面所述类型的设备发现,端口监视和/或端口广播操作。另一方面或者另外,用户的节点可以设法连接到指定节点的已知或者很可能的网络地址,和/或在设法连接到指定节点之前,可向对等节点寄存器查询指定节点的当前网络地址。作为另一例子,用户的节点首先关于接入情形检查其条目表。在发现指定节点不可直接接入的情况下,用户的节点可以查阅其表格,以确定它是否知道能够提供对指定节点的接入的某一节点(步骤703)。在找到多个这种节点的情况下,在各个实施例中,用户的节点可按照和上面所述类似的方式行动,根据规范选择这些节点之一。这样的规范可由例如系统管理员和/或节点的用户指示。在发现目标节点可直接接入的情况下,用户的节点可以将调度消息的指定内容调度给目标节点(步骤705)。
如果发现指定节点不可以直接接入,那么用户的节点查阅其表格,以确定它是否知道能够提供对指定节点的接入的节点(步骤705)。如果找到多个这样的节点,那么在各个实施例中,用户的节点可按照和上面所述类似的方式行动,根据规范选择这些节点之一。这样的规范可由例如系统管理员和/或节点的用户指示。
随后,用户的节点创建调度消息。如果用户的节点发现它知道可提供对指定节点的接入的一个或多个节点,那么用户的节点可以将调度消息送往适当的这种节点(步骤507)。如果用户的节点发现它不知道可提供对指定节点的接入的任何节点,那么用户的节点可按照和上面所述类似的方式行动,将调度消息发送给一个或多个可直接接入的节点(步骤709)。这种发送可以采用广播。
创建的调度消息可包含多个条目中的一个或多个。第一个这种条目可按照和上面所述类似的方式指示调度消息的一个或多个接收者。这种条目可被标记“去往”。参考下面说明的第五个字段,注意在“去往”字段中列举的接收者可能不是消息的最终目标。
第二个这种条目可按照和上面所述类似的方式指示创建调度消息的节点。这种条目可被标记“始发者”。第三个这种条目可按照和上面所述类似的方式指示调度消息从创建它的节点开始经过的中继段的数目。这种条目可被标记“中继段”。第四个这种条目可按照和上面所述类似的方式指示发送调度消息的最后节点。这种条目可被标记“中间节点”。
第五个这种条目可以指定与调度消息的预定最终接收者对应的元数据和/或其它参数。这种条目可被标记“目标”。注意在各个实施例中,这样提供的元数据和/或其它参数可以是与预定的最终接收者对应的完整一组元数据和/或其它参数,和/或可以是足以满足接收项目请求消息的节点知道所需的预定最终接收者的元数据和/或其它参数。另外注意在各个实施例中,包含在元数据和/或其它参数中的可以是唯一标识符,所述唯一标识符单独地足以满足接收项目请求消息的节点知道所需实体。
第六个这种条目可按照和上面关于搜索查询消息说明的类似方式,指定与创建调度消息的节点相关联的元数据和/或其它参数。这样的条目可被标记“始发者数据”。第七个条目可以保持调度消息的有效负载。例如,在调度消息被用于传送即时消息接发消息时,有效负载可以保持对应的文本和/或其它数据。
如上所述,在各个实施例中,项目请求消息可以包括借助部分指示字段等指定的实体的所需部分的指示。对于这种实施例,选择的用于包含在高度消息的有效负载中的数据可以遵从所述指示。
在创建这样的调度消息的过程中,节点可以将第二个条目设置成指示它自己,将第三个条目设置成列举零中继段,将第四个实体设置成指示它自己,将第五个实体设置成列举和预定的最终接收者对应的元数据和/或其它参数。可按照多种方式知道这种元数据和/或其它参数。例如,这样的元数据和/或其它参数可由节点的用户提供,和/或取自其表格。此外,节点可将第六个条目设置成列举它自己的元数据,和/或将第七个条目设置成携带适当的有效负载数据。
在用户的节点发现它知道能够提供对预定的最终接收节点的接入的一个或多个节点的情况下,第一个条目可以由用户的节点设置,以便指定对恰当的这种节点的传送。因此,第一个条目可被设置成包含取自适当的表条目的数据。注意鉴于上述功能性,能够提供对预定的最终接收节点的接入的适当节点应该是可以直接接入的。
如上所述,在各个实施例中,适当的表条目可以指示与接入对应的唯一标识符。对于这种实施例,创建的高度消息可以包括所述唯一标识符。在各个实施例中,这种唯一标识符可被包括为上述类型的另一条目。例如,可存在包括与恰当的接入对应的唯一标识符的另一这种条目,该条目可被标记“接入标识符”。
如果用户的节点发现它不知道能够提供对指定节点的接入的任何节点,那么如上所述,第一个条目可被设置成允许对一个或多个可直接接入节点的传送。
现在说明当收到调度消息时节点进行的操作。这样的节点可按照和上面所述类似的方式从产生该调度消息的节点,或者从先前收到调度消息的另一节点接收调度消息。
在某一接收节点收到调度消息之后,接收者首先检查始发者字段和中间节点字段,以查看这两者是否不同。如果这两者不同,那么接收节点可按照和上面所述类似的方式创建或更新对应于始发者节点的表条目。随后,接收节点可按照和上面所述类似的方式递增接收消息的中继段字段。作为下一步骤,接收节点可查阅目标字段,以确定它是否是该消息的预定最终接收者。如果接收节点发现它是预定的最终接收者,那么接收节点可以利用该消息。例如,在消息携带即时消息接发数据的情况下,该数据可被呈现给用户。
在接收节点发现它不是预定的最终接收者的情况下,该节点首先按照和上面所述类似的方式查看预定的最终接收者是否是可以直接接入的。该节点通过查阅其表格和/或借助设备发现,端口监视,端口广播等作出这样的确定。如果发现预定的最终接收者是可以直接接入的,那么接收节点可以修改该消息,并将其转发给最终接收者。注意在各个实施例中,接收节点可改为利用本领域中已知的技术,只将调度消息的有效负载发送给最终接收者。
如果接收节点发现最终接收者不可直接接入,那么接收节点检查其表格,查看它是否知道能够提供对最终接收节点的接入的一个或多个节点。如果发现了一个以上的这种节点,那么在各个实施例中,该接收节点可按照和上面所述类似的方式选择一个节点。例如接收的对应于实体接入的唯一标识符可用在所述选择中。接收节点随后修改该消息,并将其转发给能够提供对最终接收节点的接入的适当节点。如果接收节点发现它不知道能够提供对最终接收节点的接入的任何节点,那么它可修改该消息,并将其发送给一个或多个可直接接入的节点。
在各个实施例中,作为下一步骤,接收节点超高速缓存调度消息携带的有效负载数据。在一些实施例中,只能在一定的情形下发生这种动作。例如,在有效负载对应于共享媒体项目,程序文件等的情况下,可以发生这种动作,但是在有效负载对应于即时消息或聊天数据的情况下,不可以发生这种动作。
就超高速缓存数据来说,接收节点可以创建和/或更新对应于超高速缓存数据的表条目,该条目包括包含在有效负载内的任何元数据和/或其它参数。例如,在有效负载对应于媒体项目的情况下,可以创建和/或更新存储媒体项目数据和相关的元数据和/或其它参数的表条目。
注意在各个实施例中,可以产生类似的功能性,不过是对于更新的和/或包括在调度消息的中间节点字段中指定的节点的指示的表条目,而不是对于有效负载数据。因此,可以创建和更新与媒体项目或者其它实体对应的表条目,包含相关元数据和/或其它参数以及在调度消息的中间节点字段中指定的节点可以提供该实体的指示的条目。
在本发明的各个实施例中,在节点具有足够的存储空间的情况下才可在该节点发生超高速缓存。在一些这样的实施例中,在存在可用于存储要被超高速缓存的数据的足够空间的情况下,节点可被认为具有足够的存储空间。在其它实施例中,可根据一种或多种规范确定节点是否具有足够的存储空间。例如,可以规定在超高速缓存之后,如果至少剩余特定数量的存储空间,那么才应进行超高速缓存。在一些实施例中,特定超高速缓存项目的较低使用频率和/或自从最后一次使用特定超高速缓存项目以来过去的较长时间可允许用新项目重写所述特定项目。这种规范可由软件模块创建者和/或节点制造商(默认),节点的用户,系统管理员和/或其它个体设置。例如,就上面的例子来说,这种规范可以定义和/或提供与“低的使用频率”和/或“已过去的较长时间”对应的值。
在进行了刚刚描述的任何超高速缓存和/或表条目操作之后,接收节点可以修改接收的项目请求消息,并如上所述发送它。注意在如上所述更新中继段字段的实施例中,发送的消息会包含更新后的中继段字段。此外注意,鉴于这里说明的功能性,将向其发送消息的一个或多个节点应该是可以直接接入的。
作为修改接收的项目请求消息中的第一步,接收节点可以设置中间节点字段以指示它自己。在各个实施例中,另一方面或者另外,节点可将它自己加入到与上述那种环回确定对应的节点列表中。作为修改该消息中的另一步骤,接收节点可以设置“去往”字段,以便根据上面所述规定传送。因此,“去往”字段可被设置成包含来自接收节点的表格的适当数据,或者通过设备发现,端口监视,端口广播等获得的数据。随后,节点可将更新的项目请求消息传送给一个或多个适当的节点。当收到修改后的消息时,节点可按照刚刚关于当收到调度消息时,节点进行的操作说明的类似方式行动。
注意在各个实施例中,要借助调度消息发送的实体(例如媒体项目)可以借助一个以上的调度消息来发送。例如,可借助多个调度消息发送媒体项目,每个调度消息包含一部分媒体项目作为其有效负载。另外注意,在借助多个调度消息发送实体的各个实施例中,执行上述类型的超高速缓存和/或表条目操作的节点可对实体部分这样做。
因此在各个实施例中,已对实体部分进行这种超高速缓存和/或表条目操作的节点可以按照和上面所述类似的方式用搜索答复消息响应搜索查询消息,但是指示它只能够提供对特定实体的一个或多个部分的接入。在各个实施例中,所述指示还可指出构成整个实体的部分的数目,和与该节点能够提供对其的接入的所述一个或多个部分对应的部分编号。作为一个具体例子,节点可以发送搜索答复消息,该搜索答复消息指示该节点可以提供对特定实体的五个部分中的第三和第四部分的接入。
响应这样的搜索答复消息,最初发送对应的搜索查询消息的节点发送与不能由发送搜索答复消息的节点提供的每个实体部分对应的搜索查询消息。因此,对上述具体例子来说,最初发送对应的搜索查询消息的节点可以发送与特定实体的第一、第二和第五部分中的每一个对应的搜索查询消息。每个这种搜索查询消息可包含元数据和/或其它参数。
对于各个实施例,按照和上面所述类似的方式,包括在每个这种搜索查询消息中的元数据和/或其它参数可以是与正被请求其各个部分的实体对应的完整一组元数据和/或其它参数,和/或可以是足以使接收项目请求消息的节点知道需要其各个部分的实体的元数据和/或其它参数。注意在各个这样的实施例中,包括在元数据和/或其它参数中的可以是唯一标识符,所述唯一标识符单独地足以使接收项目请求消息的节点知道所需实体。
对于各个实施例,实体可被分割的以便发送的各个部分的数目和/或大小可以依照系统管理员或其它个体设置的规范。例如,可以规定实体应被分成尽可能多的指定大小的部分,这种分割之后剩余的任何数据用填充数据(stuff data)(例如0)填充,以便达到规定的大小。规定的大小可对应于分组有效负载容量,网络链路类型等。作为一个具体例子,在规定大小为500字节,实体的大小为5700字节的情况下,实体可被发送为11个部分,每个部分包含500字节的实体数据,第十二个部分包含200字节的实体数据和300字节的填充数据。在另一例子中,最后一部分可包括为最后部分的指示和/或一些其它附加指示,比如消息长度字段或消息尾字段,而不包括任何填充数据。
如上所述,在各个实施例中,被提供与找到的实体对应的数据的用户可被提供进行进一步搜索的选择权。可按照多种方式来实现这种进一步搜索功能性。例如,用户的节点可以通过发送和对应的初始搜索查询消息类似,但是指示不再考虑已找到的实体的附加搜索查询消息,进行这种进一步搜索。
因此,附加搜索查询消息可以包含与每个已找到实体对应的元数据和/或其它参数。按照和上面所述类似的方式,包括的元数据和/或其它参数可以是与每个这种实体对应的完整一组元数据和/或其它参数,和/或可以是足以使接收项目请求消息的节点知道应被排除在考虑之外的实体的元数据和/或其它参数。如上所述,在各种这样的实施例中,包括在元数据和/或其它参数中的可以是唯一标识符,所述唯一标识符单独地足以使接收项目请求消息的节点知道应被排除在考虑之外的实体。
在各个实施例中,节点可与一个或多个组相关联,和/或可以具有一个以上的网络接口。如果情况如此,那么节点可关于每个这样的组和/或接口保持一个实体参考表和/或实体参考表片段。
应注意,根据本发明的各个实施例,一个或多个节点可以充当“交联”节点,所述交联节点为属于不同网络,LAN等的节点之间的通信创造条件。这样的节点可以具有例如两个网络接口,所述接口可以是不同的类型。这种交联节点可以在第一接口接收消息,并通过其第二接口将该消息发送给一个或多个节点。
作为一个具体例子,这种交联节点可通过蓝牙,802.11b或802.11g接口接收消息,并在进行上所述类型的一个或多个操作之后,将所述消息发送给通过以太网接口可到达的一个或多个节点。作为另一具体例子,这种交联节点可按照类似的方式,通过与第一LAN连接的第一以太网接口接收消息,并通过第二以太网接口将所述消息发送给与第二LAN连接的一个或多个节点。作为又一具体例子,这种交联节点可按照类似的方式,通过蓝牙,802.11b或802.11g接口接收消息,并将所述消息发送给通过UMTS接口可到达的一个或多个节点。
在本发明的各个实施例中,组播传输可被用于调度消息的传送。在节点确定通过组播可达到的多个节点需要接收特定消息的情况下,节点可以进行这样的操作。
另外注意在各个实施例中,在消息未被完整接收,未被正确接收等的情况下,节点可以请求消息的重发。可按照多种方式来实现这种功能。例如,重发请求消息可被发送给为其请求重发的消息的中间节点字段中指定的节点。
对于本发明的各个实施例,一个或多个软件模块可作用于某一节点,以便控制与其它节点的哪些连接被保持打开状态。可根据多个参数做出这种决定。例如,这样的模块可记录各个节点之间的连接模式。这样的模块随后检查连接模式,以便猜想在不远的将来特定的连接是否将被使用。如果猜测在不远的将来特定的连接将被使用,那么它可以保持打开状态。这种功能具有多个优点。例如,减少连接建立和/或拆卸操作的数目可在一个或多个节点导致处理减少和/或节能。在各个实施例中,在恰当的情况下在连接中可以采用多路复用,以致通过与链路相关的单一通信管道等,可在两个节点之间发送多个消息等。
可在使与这样的模块等相关联的节点和其它节点之间的最佳数目的连接保持打开状态的目标下,进行由这样的模块等如此执行的操作。注意在采用这样的软件模块等的实施例中,只有在发现到特定其它节点(例如,属于一个或多个特定组的节点)的现有连接不足的情况下,才寻找和/或建立另外的连接。因此,在这样的实施例中,当进行这里描述的各种网络操作时(例如涉及加入组的操作,与搜索相关的操作,与共享相关的操作,与消息接发相关的操作,与聊天相关的操作),不必进行寻找和/或建立新连接的操作。在各个实施例中,这样的模块进行的操作具有减少用户的等待时间的效果。
如上所述,在各个实施例中,可借助用户节点的与这样的软件模块相关的通信设置,设定各种规范(例如涉及网络接口的使用的规范)。所述通信设置可能已在初始注册期间,作为默认配置文件被给予用户的节点,和/或作为后来的更新被给予用户的节点,所述更新通过网络发送。另一方面或者另外,通信设置可能已由节点的用户通过适当的GUI输入。或者,用户可按特定的操作定义这样的设置或者进行选择。在各个实施例中,借助这种输入,用户能够关于指定的和/或所有网络操作等,和/或按操作指定通信设置。
在各个实施例中,通信设置覆盖网络链路和节点接口的全部使用指南,所述使用指南和通过适当的软件模块,与其它节点的通信相关。另外注意在各个实施例中,可按操作类型将设置分离成特定的设置。因此,可存在涉及搜索请求和/或答复的一种设置,和需求更多带宽的操作,例如实体的上传和下载相关的另一种设置。
注意在各个实施例中,可存在与各种网络操作(例如实体上传,实体下载,和/或消息发送)相关的费用和/或带宽。因此,可借助GUI将执行特定网络操作中,用户会承受的费用和/或用户会享有的带宽通知用户。在多个中继段卷入特定网络操作的情况下,可向用户呈现总的费用和/或最小带宽。另一方面或者另外,可向用户呈现每个中继段的费用和/或带宽。在多个备选方案可用于进行网络操作的情况下(例如,涉及单个UMTS中继段的一条路径,和涉及多个蓝牙中继段的另一条路径),可向用户提供每种备选方案的费用和/或带宽信息,所述提供可以如同刚刚说明的一样。
注意在各个实施例中,在向用户显示上述类型的信息的过程中,所述呈现可以采用可突出显示某些性质的方式。例如,在用户可用采用多种备选方案来进行网络操作的情况下,除了上述类型的呈现之外或者作为上述类型的呈现的替代物,可向用户呈现关于哪种备选方案花费最小的金钱,哪种备选方案会提供最高的带宽等的指示。
在本发明的各个实施例中,用户进行的网络操作可能导致用另一户承受费用,例如网络使用费。在用户请求通过一个或多个用户的节点发送的实体的一些情况下,情况就是如此。因此,在各个实施例中,可提供这样的功能,借助该功能,能够向用户告知在执行特定的网络操作中,她会导致其它用户承受的费用。可按照和刚刚所述类似的方式通知用户。
另外注意在各个实施例中,这样的软件模块可采用引导配置来获得名称和/或注册服务器地址。此外,注意在各个实施例中,这样的模块可保持与它们在之上运行的节点对应的组成员资格的列表,还可保持每个组的状态和/或相对于每个组的可达到的对等体的列表。可达到的对等体的列表可包含节点的唯一标识符,指定与可能的网络地址的直接连接,和/或指定经由其它对等体的可能连接。作为一个具体例子,这样的列表可指示通常总是在线的节点。在各个实施例中,在保持这样的列表的过程中,模块从其它节点,由中央服务器提供的对等体寄存器,实现成分布式寄存器的对等体寄存器等获得更新。
此外,注意在各个实施例中,这样的模块可关于连接的状态的变化,使实体参考表被更新。此外在各个实施例中,这样的模块可支持多个网络环境中的连通性,适合于动态网络条件(例如,借助老化和更新实体参考表条目和/或借助有效连接管理),和/或支持它们在其上运行的节点的移动性(例如通过向不同资源提供基于路由状态的主动获悉和更新的路由选择)。此外在各个实施例中,模块可在带宽、传输成本、可用性等方面优化连通性。此外注意在各个实施例中,模块可以动作以便为将被保持为后台进程,当模块在其上运行的节点的用户激活特定的软件模块(例如与消息接发处理和/或服务提供相关的模块)时易于获得,和/或只有当用户在需要网络连接的组中进行某一活动时才可被激活的组级别连接创造条件。
注意在各个实施例中,一种或多种技术可被用于保持上面提及的实体参考表。例如,节点可定期尝试到达在其实体参考表中被指定为直接可达的节点。在这种尝试发现这样的节点不再可达的情况下,该表可被修改以反映该事实。在各个实施例中,可从表格中除去对应的数据。作为一种备选方案,这样的对应数据可被标记以便可能除去。节点随后可以尝试连接另外的规定次数,只有在另外的连接尝试也证明不成功的情况下才能除去数据。作为另一例子,在自从对应于节点连接的表数据输入表中以来过去了规定的一段时间之后,节点可以除去该表数据。
作为另一例子,节点可对不直接可达的节点进行这样的操作。因此,节点可以尝试发送一个调度消息,所述调度消息的目标字段指定所考虑的节点。在明白要提供对所考虑节点的接入的一个或多个节点返回出错消息等的情况下,可除去对应的表数据。作为另一例子,在调度消息表示最终接收节点报以第二调度消息,但是在特定的一段时间内没有收到所述第二调度消息的情况下,可以除去对应的表数据。按照和上面所述类似的方式,在各个这样的实施例中,数据可被标记以便可能除去,而不是被立即删除。
作为另一例子,在各个实施例中,节点可向其它发送更新,所述更新可被所述其它节点用于更新它们的实体参考表。作为一个具体例子,在特定节点重新关于某一组注册时,可发送这样的更新,收到所述更新的节点可关于所述组更新它们的实体参考表,以便删除与重新注册的节点相关的条目。
注意各个前述例子指出可以采用某些时间周期,时间间隔等。在适当的实施例中,这样的值可由网络管理员等选择。
此外,虽然在这里的各个部分中说明用户可处理各种设置,但是在各个实施例中,用户可能不需要处理这样的设置。例如,注意在各个实施例中,可向用户提供用于她的节点的一组默认设置,所述一组默认设置提供可接受的操作,以致如果用户对处理设置不感兴趣,那么她仍能享有这里描述的由其节点提供的功能。这样的默认设置可在制造时和/或初始注册时提供给她的节点。另外注意在各个实施例中,当用户首次拥有其节点时,用户能够设定设置,随后定期地和/或自愿地更新这些设置。
另外注意在各个实施例中,在利用其节点进行其它操作之前,用户不必等待这里描述的各种网络操作(例如与加入组相关的操作,与搜索相关的操作,与共享相关的操作,与消息接发相关的操作,和与聊天相关的操作)完成。因此,在各个实施例中,在例如以后台进程的形式进行这里描述的一个或多个网络操作的时候,用户能够执行这里描述的其它操作(例如通过转移到提供这种操作的具体应用软件的另一部分),转移到在其节点上运行的另一应用程序,执行另一网络操作等。在各个实施例中,用户可以接收和/或请求作为后台进程的一个或多个这种网络操作的状态和/或结束通知。可按照非干扰方式(例如借助小图标的呈现,所述图标或许与状态栏等相关联)提供这样的状态和/或通知。
组加入操作
根据本发明的各个实施例,希望加入组和/或利用各种可用服务的用户首先进行注册。例如,在各个实施例中,这样的用户可能接入信息亭,客户服务位置等。作为另一例子,在各个实施例中,这样的用户将她的节点指向web入口等。位于信息亭等的客户代表,或者网络入口等可提示用户提供必要的记帐信息,个人信息等。客户代表可以询问与用户的节点相关的一些元数据。例如,客户代表可以口头询问这样的数据,用户可口头答复,客户代表可将数据输入PC等中。作为另一例子,客户代表可让用户回答利用PC等提出的一系列问题。在各个实施例中,一个或多个服务提供商可检查元数据。
注意在各个实施例中,客户代表可鉴权用户和/或她的节点。此外,注意在各个实施例中,可要求用户允诺行为合法,和/或与一个或多个建立的行为策略相符。
作为下一步骤,如果未被预先安装(例如由节点的制造商预先安装),那么恰当的软件模块等可被装入用户的节点。恰当的模块可包括与用户节点的应用程序,初始默认配置,和/或涉及对应于一个或多个对等环境的服务提供商和/或节点的信息对应的模块。初始默认配置可对应于涉及用户节点的初始设置。涉及节点的信息可包括例如涉及公共组和/或提供姓名-地址映射的节点的列表的信息。
可通过凭借网络入口或者凭借客户代表的动作的网络下载,装入软件模块。因此,作为一个具体例子,客户代表可通过OBEX对象推送模式(OPP),或者经由蓝牙,IrDA,802.11b,802.111g,GPRS,EDGE,UMTS等使软件模块被传送给节点。当恰当的软件模块首次被激活时,在各个实施例中,借助本领域中已知的各种技术,可在用户的节点中产生保密密钥和/或公共密钥。
在各个实施例中,除了软件模块之外,一个或多个证书可被传送给节点。例如,可提供“通用接入证书”,和/或该用户可被看作“通用组”的一个成员。通用接入证书可向用户赋予使用在通用组中提供的服务的权利。用户权利可包括例如搜索公共组的元数据信息的权利。作为另一例子,用户权利可包括搜索涉及通用组成员和/或他们的节点的元数据信息的权利。
作为下一步骤,在各个实施例中,元数据可与用户的节点相关联。可按照多种方式实现这种功能。例如,用户的节点可通过GUI(图形用户界面)或者其它接口向用户查询这样的信息。作为响应,用户可通过GUI或者其它接口供给被请求的信息,并将所述信息分派给节点。
作为另一例子,客户代表可要求这样的信息,并将该信息分派给节点。例如,客户代表可口头要求这样的数据,用户可口头答复,客户代表可将该数据输入PC等中。作为另一例子,客户代表可让用户回答利用PC等提出的一系列问题。在任何一种情况下,客户代表随后可使元数据从PC等分派到用户的节点。
作为下一步骤,用户可采用软件模块获悉她可以加入的一个或多个组。在初始下载期间传送给用户的节点的软件模块可包含将在发送涉及用户可能加入的组的信息请求过程中接触的节点的初始信息。因此,用户可使其节点获悉能够提供这种信息的节点。注意在各个实施例中,可存在用于提供关于组的这种信息的专用节点。另一方面或者另外,这样的信息可由还提供其它功能的节点提供。例如,在各个实施例中,这样的信息可由与用户相关联的各个节点提供。
例如,在各个实施例中,用户可以使她的节点利用服务发现来获悉这样的节点。服务发现可以是例如蓝牙服务发现或DNS-SD(域名服务器服务发现)。注意mDNS(组播域名服务器)可被用在例如采用DNS-SD的实施例中。作为另一例子,节点可在建立的和/或公知的端口上广播,和/或在建立的和/或公知的端口上监听。作为另一例子,在各个实施例中,用户可让她的节点发出查询,以便获悉提供这种信息的节点。这种发送的查询可采取上述类型的搜索查询消息的形式。在各个实施例中,这种搜索查询消息可包括元数据和/或其它参数,所述元数据和/或其它参数指示将通过搜索发现的实体是提供关于用户可加入的组的信息的节点。
在各个实施例中,用户能够通过GUI或其它接口向其节点表示查找提供关于组的信息的这种节点的愿望。响应所述请求,用户的节点可以进行这样的设备发现和/或发送一个或多个刚刚提及的那种查询,所述查询包含适当的元数据和/或其它参数。
参见图8,注意通过这样的查询或服务发现,用户的节点可以获悉能够提供所需信息的节点(步骤801)。例如,借助这样的设备发现,用户的节点可以获悉与能够提供所述信息的节点对应的网络地址。作为另一例子,在发送查询的情况下,用户的节点可以接收一个或多个消息,所述消息包含涉及能够提供所需信息的节点的信息。这样的消息可以是上面所述类别的搜索答复消息。在各个实施例中,包括在每个这种消息中的可以是与能够提供所需信息的节点对应的元数据和/或其它参数。在各个实施例中,对应于每个节点的元数据和/或其它参数可包括唯一标识符和/或以其它方式足以识别特定的节点。注意在各个实施例中,唯一的标识符可与例如组、节点、用户、实体等相关联。
响应涉及能够提供组信息的节点的信息的获悉,在各个实施例中,用户的节点通过GUI或者其它界面向其用户呈现这种信息。GUI或其它界面还允许用户从呈现的节点中选择将从其接收组信息的一个或多个节点。注意在各个实施例中,用户可以通过网页进行操作,例如包括组搜索操作。这种网页可由ASP(Active Server Pages),ASP+(Active ServerPages+),JSP(Java Server Pages),PHP(PHP:Hypertext Preprocessor),WebObjects等实现。
用户的节点随后按照刚刚说明的类型的任何用户规范,向一个或多个适当的节点请求关于可用组的信息(步骤803)。在各个实施例中,用户可以通过GUI等采用她的节点表示她只关心接收与匹配所指示元数据的组相关的信息。在用户供给这种元数据的情况下,元数据可被包括在请求中。根据本发明的实施例,可以指定各种各样的元数据。为了提供一些特定的非限制性例子,可指定的元数据可包括组的主题,组的名称,组的创建者等。在各个实施例中,用户能够输入描述组的文本模式关键字。关键字可以包括例如用户认为与查找组相关的文本信息。这种关键字可以是描述组的主题,组的名称等的文本。
可按照多种方式实现请求功能。例如,在各个实施例中,用户的节点可以采用电子邮件,MMS(多媒体消息接发服务)消息接发,SMS(短消息服务)消息接发,OBEX OPP(对象推送模式)等来请求这种信息。这样的动作可以用户的节点通过它的上述动作获得的网络地址,唯一标识符等为目标,以便接收与能够提供关于可用组的信息的节点相关的信息。在一些实施例中,可以采用组播。
作为另一例子,可以发送上所述类型的一个或多个调度消息。例如,调度消息可被发送给每个选择的节点。按照前面所述,包括在每个调度消息的目标字段中的是与适当的选定节点对应的足够的接收元数据和/或其它参数。
响应收到对可用组相关信息的请求,能够提供这种信息的节点可以行动以便遵照该请求。因此,这种节点可向用户的节点返回包含适当信息的消息。就每一组来说,所述适当信息可以包括例如对应于该组的元数据。所述元数据可以包括例如组的名称,组的描述,组成员资格准则的指示,和/或涉及与该组相关的某些个体的联系信息。所述个体可以是例如这些组的管理员和/或能够准许进入需要申请才能进入的组的个人。
在元数据由用户提供的情况下,节点可以提供只与其相关元数据匹配所提供元数据的组相关的信息。注意在各个实施例中,对应于某一组的元数据包括成员资格准则和/或与为了请求组成员资格而待完成的组申请(group application)相关的信息。作为一个具体例子,可存在三种组申请(例如短期,准则和长期),元数据可以告知要采用这三种组申请中的哪一种。下面将更详细地讨论组申请。注意在各个实施例中,在提供只涉及恰当组的信息的过程中,节点可以执行各种操作,所述操作涉及元数据分析,文本分析和/或对照某些元数据字段的关键字的变换。所述某些元数据字段可以是确定为和/或指示为最相关的那些元数据字段。这样的指示可以由系统管理员等完成。
响应对可用组相关信息的请求的消息可按照多种方式来发送。例如,可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等来发送这种信息。这样的动作可以用户节点的网络地址等为目标。这样的网络地址等已通过对组信息的请求被收到。作为另一例子,这样的消息可以是以用户的节点为目标的上述那种调度消息。因此,调度消息的目标字段可被设置成包含在由请求组信息的用户节点创建的接收调度消息的始发者字段中的值。
注意在各个实施例中,在用户的节点不发出对应请求的情况下,用户的节点可以接收这种包含组信息的消息。例如,组的一个成员和/或组的管理员可以在没有明确请求的情况下,使这样的信息被发送。可在增大组成员人数的目的下进行这样的动作。在各个实施例中,这样的消息可包含加入组的邀请,所述邀请或许包括在不要求用户进行任何特定动作的情况下,激活用户节点中的适当软件模块等的软件模块和/或描述。用户的加入组的动作可由用户通过其节点提供的接口,接受发送的邀请补充完整。作为一个具体的非限制性例子,邀请可以是游戏应用程序显示的游戏邀请,用户可通过与游戏应用程序相关的接口接受该邀请。
在各个实施例中,一种类型的组可以是一组用户自己的节点,所述一组节点被用于在这些终端之间实现共享文件,上传文件,搜索文件和/或下载文件。在这种类型的组中,用户的节点可以进行其它用户的节点的组成员资格元数据的比较。根据该比较,可由用户节点中的一些节点属于的,但是其它节点不属于的那些组形成一个列表。该列表可被用于在用户的终端之中使组成员资格同步,为了启动更多的组申请请求,或许要求用户的确认。管理特定用户的节点的组成员资格的另一种方式包括发出申请的用户将管理权委托给一个节点,以致该节点随后可以进一步向该用户的其它节点授予组成员资格。
在收到组信息之后,在各个实施例中,用户的节点可以借助GUI或者其它界面,向其用户呈现组信息(步骤805)。GUI或其它界面允许用户表示加入其信息被呈现的一个或多个组的愿望。响应其用户做出这样的选择,用户的节点可向恰当的目标发送加入请求消息(步骤807)。所述恰当的目标可以同在接收的涉及所选组的联系信息中指定的一样。在各个实施例中,对应于所述用户的一个或多个唯一标识符,和/或对应于一个或多个组的一个或多个唯一标识符可以包括在加入请求消息中。
按照和上面所述类似的方式,加入请求消息可通过电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等被发送,根据对应的接收联系信息被引导。作为另一例子,可借助上述那种调度消息发送加入请求。可根据对应的接收联系信息,填充这种调度消息的目标字段。
当在恰当的节点收到加入请求消息时,在各个实施例中,所述恰当的节点接入相关的元数据目录,仓库等,以便查阅组规则。在各个实施例中,这种组规则可由组管理员等建立。在各个实施例中,服务提供商可以充当一个或多个组的组管理员。在这样的实施例中,操纵与服务提供商相关的一个或多个节点的软件模块允许服务提供商将这些组中的成员局限于它自己的客户。就查阅组规则来说,节点首先了解是否可能肯定地回答该加入请求。作为一个具体例子,可查阅组规则,以了解组中是否存在用于任意更多成员的地方。
加入请求的进一步处理可以通过恰当节点的软件模块自动发生。另一种情况是所述恰当节点通过节点的GUI,将接收的加入请求通知有权批准组成员资格的组管理员。
所述恰当节点或组管理员还可查阅一些外部数据库或寄存器,以便了解对应于加入请求的用户是否可能有资格成为成员等。这样的资格性包括用户与某一地区相关,表示某一兴趣组,俱乐部等中的成员资格的证据,和/或能够分享用作组成员资格准则的公共秘密。在各个实施例中,可根据用户的加入请求和/或后来根据在成员资格申请中收到的用户数据发生这种查阅。
在确定用户不可能被准予成员资格的情况下,可向用户的节点发送拒绝消息。按照和上面所述类似的方式,可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送所述拒绝消息。在发现用户可能被准予成员资格的情况下,可进一步查阅组规则,以了解为了请求成员资格,用户是否必须填写组申请表。
在不需要这种申请表的情况下,用户可被给予成员资格。因此,可发送指示已给予成员资格的消息。按照和上面所述类似的方式,可借助电子邮件、MMS消息接发、SMS消息接发、OBEX OPP、调度消息等发送所述消息。在各个实施例中,与组成员资格对应的证书包括在所述消息中。
如果需要申请表,那么对应于申请表的数据可被发送给寻求成员资格的用户的节点。按照和上面所述类似的方式,例如如同发送的加入请求拒绝消息一样,可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送所述消息。注意在各个实施例中,所述申请表需要记帐信息(例如信用卡信息)。
对应于申请表的数据可采取多种形式。例如,所述数据可采取安全网站的超链接的形式,所述安全网站可以提供所述申请表,并将结果转发给发送消息的节点,所述消息包括与申请表对应的数据。所述安全网站可采用SSL(安全套接字层)或TLS(传输层安全)。作为另一例子,所述数据可以采取Java或.Net应用程序的形式,当在接收者的节点运行时,Java或.Net应用程序可提供所述申请表,并将结果转发给发送消息的节点,所述消息包括与申请表对应的数据。在任何一种情况下,按照和上面所述类似的方式,结果的转发可以采用电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等。作为一种备选方案,可以采用SOAP(简单对象接入协议),RMI(远程方法调用),JMS(Java消息接发服务)等。
当收到转发的结果时,接收节点可以查看所述结果是否与准予组成员资格而需要的那些规则相一致。这种确定可以包括比较所述结果与上面提及的组规则。另一方面或者另外,这种确定可包括与一个或多个服务器等通信,以便确认申请表所要求的记帐数据等。所述一个或多个服务器可以是由银行、信用卡公司等操作的服务器。在确定不可以向用户给予成员资格的情况下,可如上所述那样发送拒绝消息。如果确定可以给予成员资格,那么可以如上所述那样发送指示成员资格已被准予的消息。
注意在各个实施例中,对应于用户的可以是例如由客户代表收集的如上所述类别的元数据,和/或与组中的用户成员资格相关的元数据。在各个实施例中,前一类别的元数据可在所有用户节点之间共享,可能不能被用户修改,而后一类别的元数据只有当用户规定时才可被共享。
搜索操作
参见图9,注意根据本发明的各个实施例,希望搜索涉及组,其它组成员,诸如文件、媒体项目、程序之类可下载实体的信息的节点用户可通过她的节点提供的GUI或其它界面表示这样做的愿望(步骤901)。在各个实施例中,用户另外可指定其节点的一个或多个网络接口可用于搜索和/或下载实体。
此外在各个实施例中,存在设法优化和/或使特定网络接口和/或链路类型的使用最小化的规范。作为一个具体例子,可以规定节点应使诸如GPRS或UMTS链路之类的蜂窝电话链路的使用最小化,并使诸如蓝牙链路之类的短程无线通信链路的使用最大化。在各个实施例中,节点可通过GUI或其它界面向用户询问这样的规范。在各个实施例中,借助用户节点的例如与恰当的软件模块相关的通信设置,完成与网络接口的使用相关的这种规范。
作为响应,节点可向其用户提供该用户为成员之一的组的列表,并要求她指出应对这些组中的哪一个进行搜索。用户可通过GUI或其它界面做出选择(步骤903)。作为下一步骤,在本发明的各个实施例中,用户可选择向其节点指出与应被查找的实体对应的元数据,关键字和/或其它参数(步骤905)。根据本发明的一些实施例,可以指定各种各样的元数据。为了提供一些具体的非限制性例子,注意可指定的元数据可以是与组及诸如聊天之类组服务相关的元数据,与搜索的实体相关的元数据,比如名称、大小、类型、艺术家、像片簿、媒体类型、创建日期、组的有效日期等。在一些实施例中,用户能够规定定期进行搜索。定期搜索的频率可由节点选择和/或可由用户指定。此外,在本发明的一些实施例中,用户可以指定应开始搜索的时间和日期。另外,在各个实施例中,与搜索相关的操作可被规定成在用户未与节点交互作用的时候在该节点上执行。作为另一例子,在各个实施例中,搜索操作可被规定成总是处于活动状态。可以后台进程的形式执行与这种搜索相关的操作,以致恰当的用户接口软件模块不活动,用户不主动进行任何努力。
随后在各个实施例中,用户的节点通过已建立的通信通道,发送一个或多个消息,所述一个或多个消息包含与属于所选组的一个或多个节点对应的可下载实体的信息。
随后,用户的节点关于选择的一个或多个组,以及元数据和/或其它参数的任何规范,确定可供下载的实体。可按照多种方式来实现这种功能。
例如,用户的节点随后可通过已建立的通信通道,发送一个或多个消息,所述一个或多个消息请求涉及属于所选组的一个或多个节点的可下载实体的信息。如果用户的节点注意到不存在足以到达所选组中的足够节点的通信通道,那么节点可采用服务发现,或许是上述那种服务发现来获悉与指定组相关联的节点。因此,通过这样的服务发现,用户的节点可以获悉与这些节点对应的网络地址等。用户的节点随后发送一个或多个消息,所述一个或多个消息向这些节点中的一个或多个节点请求与可以下载的实体相关的信息。包括在所述请求中的可以是元数据和/或其它参数的任何用户规范。按照和上面所述类似的方式,可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等发送每个这样的消息。
作为另一例子,可以发送一个或多个上述那种类别的搜索查询消息。在各个实施例中,这种搜索查询消息的搜索数据字段包括的可以是用户指定的任何元数据和/或其它参数。
作为下一步骤,用户的节点可接收与可以下载的实体相关的信息(步骤907)。在各个实施例中,这样的信息可包括相关的唯一标识符,网络地址等。这样的信息可按照多种方式到达。例如,按照和上面所述类似的方式,这样的信息中借助通过电子邮件、MMS消息接发、SMS消息接发、OBEX OPP等发送的消息到达。作为另一例子,可以接收一个或多个上述那种类别的搜索答复消息。接收的信息中包括的可以是例如与可以下载的实体对应的元数据和/或其它参数。另外还可包括例如与在用户节点的实体接收对应的网络中继段的数目,网络中继段的类型,网络使用费用信息等的指示。
随后,节点可通过GUI或其它界面,向其用户呈现涉及可以下载的实体的全部或一些接收信息(步骤909)。在用户提供了链路和/或接口使用规范的各个实施例中,所述呈现可按照所述规范。作为一个具体例子,在用户或者用户节点中的设置表示使诸如GPRS或UMTS链路之类的蜂窝链路的使用最小化,并使诸如蓝牙链路之类的短程无线通信链路的使用最大化的愿望的情况下,节点可以只提供与依照这些规范能够取回的实体相关的信息。注意如上所述,在各个实施例中,可以请求更多的搜索结果。对于这样的实施例,GUI或其它界面可向用户提供请求这种进一步搜索的选择权。在用户请求这种进一步搜索的情况下,用户的节点可以如上所述那样行动,以便遵照该请求。当收到进一步搜索的结果时,用户的节点可按照和刚刚所述类似的方式,呈现所有或一些接收数据,并且或许再次提供进一步搜索的选择权。第一阶段搜索结果呈现可包含与内容项目相关的替代物,比如图像的缩略图,视频剪辑的样本,文档摘要等。在一些实施例中,搜索结果可能显示找到的实体的元数据和其它描述,持有该实体的节点的身份,以及由于该节点未处于活动状态或者此刻不能到达该节点,项目本身不可获得的附加通知。
在各个实施例中,GUI或其它接口还允许用户从呈现的实体中选择供接收的一个或多个实体(步骤911)。用户的节点可按照多种方式请求所选实体的接收。例如,用户的节点可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等发送一个或多个这种请求。所述请求可以与提供所需实体的节点的唯一标识符,网络地址等为目标。通过关于可用实体检查借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等接收的消息,可以知道所述唯一标识符,网络地址等。
作为另一例子,用户的节点可以发送一个或多个上述那种类别的项目请求消息。在各个实施例中,根据上面所述,用户的节点可以将足以使接收项目请求消息的节点知道所需实体消息的元数据和/或其它参数包括在每个这种项目请求的被请求实体数据字段中。如上所述,在各个实施例中,唯一标识符可被包括在元数据和/或其它参数中。
作为下一步骤,用户的节点可接收请求的实体。可按照多种方式将请求的实体发送给用户的节点。例如,可借助调度消息如上所述发送实体。作为另一例子,实体可由拥有它们的节点通过电子邮件,MMS消息接发,SMS消息接发,OBEX OPP等来发送。在各个实施例中,就选择供下载的实体来说,用户可以表示进行有条件下载的愿望。例如,用户能够规定只有当她的节点能够直接联系持有特定实体的节点(例如通过直接蓝牙通信)时,该实体才可被下载。
用户的节点可以按照多种方式遵从这样的请求。例如,在用户的节点知道持有实体的节点的身份的情况下,用户的节点可以定期进行设备发现,试图查找持有该实体的节点,并且当持有该实体的节点被找到时,使所述实体被接收。作为另一例子,如果搜索结果并不指示通过单一网络中继段即可从节点收到实体,那么用户的节点可以定期重复所述搜索,直到找到这样的结果为止,随后进行操作以便通过找到的单中继段源接收实体。作为一个具体例子,用户的节点可以进行这样的搜索,以便发现涉及单一蓝牙中继段的实体源。在另一备选实施例中,一旦存在从用户节点到提供对持有实体的节点的接入的其它节点的蓝牙连接,那么可以启动实体下载。
根据各个实施例,就选择供下载的实体来说,用户和/或用户的节点可以规定实体的不同部分按照不同的方式接收。例如,在节点向用户指出特定的实体可按照两种方式接收,一种方式只涉及蓝牙中继段,第二种方式只涉及UMTS中继段时,用户可通过GUI或其它界面规定实体的第一部分应通过UMTS中继段来接收,实体的剩余部分应通过蓝牙中继段来接收。在各个实施例中,用户和/或用户的节点还可规定各个部分的大小。因此,用户和/或用户的节点能够规定第一部分是用字节表示的指定大小和/或是整体的指定的几分之一。例如,第一部分可以明显小于剩余部分。在认为蓝牙较慢但是较廉价,UMTS较快但是更昂贵,并且采纳她愿意承受获得第一部分的花费(例如,以致她可以开始使用该实体),但是愿意等待更长的时间来接收剩余部分的观点的情况下,用户和/或用户的节点做出这样的规范。
作为一个具体例子,可以选择各部分大小,以致到用户已利用实体的第一部分时,其它部分理应已到达。注意实体,比如类似于声音,电影等的媒体项目可以提供在不处理整体的情况下,可以检查该实体的一部分的功能。
如上所述,在各个实施例中,未被完全接收(例如起因于网络错误)的实体的重发可以是这样的,以致正确接收的各个实体部分不被再次发送。
在用户的节点而不是用户规定实体的不同部分应按照不同的方式来接收的情况下,这种功能可与操作指南相一致。所述指南可以基于用户(例如借助GUI)设定的优先选择和/或基于默认设置。默认设置可以在初始设置期间被加载到节点上和/或在后来某一时间(例如借助适当数据的网络传送)被放置在节点上。在各个实施例中,默认设置可由服务提供商,系统管理员等提供。
在各个实施例中,节点规定按照不同的方式接收实体的不同部分的功能可由在节点上运行的一个或多个软件模块执行。另外注意在获得高效通信的目的下,这种功能可以是节点实现的全部功能的一部分。另外注意节点可按照容忍连接的中断和/或各种链路的可用性的间断,当连接被重新创建,和/或一个或多个链路类型再次变得可用时,或许能够容易地恢复网络操作的方式行动。
共享操作
参见图10,注意根据本发明的各个实施例,希望使来自其节点的诸如文件,媒体项目,程序,文件夹之类的实体可以被其它节点接收的用户首先借助GUI或者其它用户界面表示这样做的愿望(步骤1001)。作为响应,她的节点可允许用户选择将使之可被其它节点接收的一个或多个实体。可按照多种方式提供这种功能。例如,可允许用户通过GUI或其它界面浏览节点的文件系统,并选择要共享的那些实体(步骤1003)。
随后,对于每个选择的实体,在各个实施例中,节点可以关于应使该实体可供哪个组下载询问用户。例如,节点可以为每个实体提供与该用户为成员之一的允许下载的每个组对应的GUI复选框或类似物(步骤1005)。此外对于每个选择的实体,在各个实施例中,节点可提示用户输入对应的元数据和/或其它参数(步骤1007)。在一些实施例中,在节点确定元数据和/或其它参数已与某一项目相关联的情况下,节点可不进行这样的操作。如上所述,在各个实施例中,与实体相关联的元数据和/或其它参数可包括唯一标识符。因此,节点随后创建与每个选择的实体对应的唯一标识符,并将其附到该实体的元数据上。可按照和上面所述类似的方式创建唯一标识符。
在各个实施例中,节点随后将选择的实体复制到节点上与文件共享相关的一个或多个适当文件夹中。在另一实施例中,代替复制选择的实体本身,可以复制对实体(例如文件)的链接,和/或或许对应的元数据和/或其它信息。例如,节点可对其用户为成员,并且正在使实体可以下载的每个组保持一个这样的文件夹。作为下一步骤,节点可进行使选择的实体可以下载的操作(步骤1009)。可按照多种方式实现这种功能。
例如,在各个实施例中,根据上面所述,节点可以创建和/或更新每个实体的表条目。包括在每个这种创建和/或更新的条目中的可以是对应的元数据和/或其它参数,和/或实体存在于该节点上的指示。在为该用户为其成员之一的每个组保持一个表的实施例,可对每个适当的这种表进行操作。
此外,在各个实施例中,节点可以进行适当的操作,以便根据上面所述,恰当地响应搜索查询消息。在各个实施例中,节点可执行恰当的操作,以允许上面所述那种类别的服务发现操作发现它将要提供用于下载的项目。此外,节点可进行适当的操作,以便按照上面所述,使它自己准备响应请求涉及可以下载的实体的信息的消息。
注意如上所述,在各个实施例中,节点可以接收实体或者实体部分,以便将其传送给另一节点,这样的实体或实体部分可和唯一标识符一起被超高速缓存,并且可以由属于任何对等组的其它节点进一步下载。另外注意如上所述,节点可以根据和可用存储空间相关的规范,确定是否进行这样的超高速缓存。另外注意如上所述,在各个实施例中,可通过组播(如果这种功能适宜的话)提供实体或实体部分。
另外注意在各个实施例中,用户可拒绝到达其节点的搜索请求和/或项目接收请求。用户能够通过其节点提供的GUI界面或其它界面做出这样的规范。可向用户提供各种形式的这种功能。例如,用户能够规定所有搜索和/或项目请求应被拒绝。作为另一例子,用户能够规定与指定参数匹配的所有搜索和/或项目请求被拒绝。作为又一例子,用户能够规定其节点向她通知每个来到的搜索和/或项目请求,并被提供允许或拒绝所述请求的选择权。在各个实施例中,在向她通知来到的请求的过程中,用户的节点可向她提供不同数量和类型的信息。
在各个实施例中,通过用户节点的界面,能够定义一旦某一实体被标记为要被共享,实体共享将如何发生。例如,希望避免与其节点的接入链路的使用相关的额外费用,和/或过度处理器使用,电能使用,带宽使用等的用户可规定应使文件和/或描述这些文件的元数据的上传最小化。可以利用优化技术的不同组合。
作为一个具体例子,在实体被标记成要被共享的情况下,在各个实施例中,实体的元数据和/或实体本身的副本可被传送给属于恰当组的其它节点。这些节点可以是例如其它用户节点或者服务提供商的节点。这种操作的优点是在用户节点和/或适当的软件模块并不总是处于活动状态和/或可达的情况下,提高了共享实体和/或关于共享实体的信息的可用性。作为另一例子,这种操作具有在用户不允许搜索和/或下载请求由她的节点满足的情况下,能够实现共享的优点。在各个实施例中,对其它节点的实体的元数据和/或实体本身的副本的传送还可考虑到与数据的共享相关的费用和带宽问题。可通过经由短程无线链路在节点之间发送数据来考虑到这些问题(例如,其中节点被放置成彼此邻近)。
在另一例子中,一旦节点收到搜索请求,那么在各个实施例中,该节点可以确定它是否拥有所请求的实体和/或对应于所请求的实体,或者与所请求实体密切匹配的任何其它实体。之后在各个实施例中,该节点可以发送搜索答复,并将描述实体的描述性元数据加入到该答复中。在各个实施例中,元数据或其一部分,包括节点的唯一标识符和/或网络地址,和/或实体本身的唯一标识符被复制到将搜索答复传送给请求节点的中间节点的高速缓冲存储器中。传送给请求节点的实际搜索答复可能只包含上传的元数据描述的子集。作为一个具体例子,稍后当另一节点发送类似的对应查询时,一个或多个中间节点能够提供所请求的实体,从而所述查询不必被路由给具有该实体的节点。一些中间节点总是在线和/或拥有大的高速缓冲存储器。但是,如果中间节点的高速缓冲存储器中的元数据陈旧,那么需要重复答复程序。
注意在各个实施例中,只有当某一节点收到涉及特定项目的第一请求时,该节点才向其它节点上传实体。在这样的实施例中,就第一请求来说,实体可被上传,或许被复制到其它节点的高速缓冲存储器中和/或与已上传的元数据链接。注意在这种实施例中,在未曾收到任何上传请求的情况下,实体决不通过接入链路被移动。
消息接发操作
参见图11,注意根据本发明的各个实施例,希望发送即时消息的节点用户借助其节点提供的GUI或其它界面表示搜索对应接收者的愿望(步骤1101)。在各个实施例中,用户可另外将其节点的一个或多个接口指定为可用于搜索即时消息接发接收者和/或发送即时消息。
作为响应,节点可向其用户提供她为成员之一的组的列表,并请求她指出这些组中,她的即时消息的接收者应为其成员之一的一个或多个组。用户可通过GUI或其它界面进行选择(步骤1103)。作为下一步骤,在本发明的各个实施例中,用户可选择向她的节点指出与应查找的潜在接收者对应的元数据和/或其它参数(步骤1105)。随后,用户的节点相对于选择的一个或多个组,以及元数据和/或其它参数的任何规范,确定可能的接收者。可按照多种方式实现这种功能(步骤1107)。
例如,节点可以采用上面所述那种服务发现来获悉与指定组相关的可能接收者。因此,通过这样的服务发现,用户的节点可以获悉与这些可能接收者的节点对应的唯一标识符,网络地址等。在各个实施例中,通过这样的发现,用户的节点可以获悉与可能接收者对应的元数据和/或其它参数,并且只考虑其元数据和/或其它参数与其用户指示的任何元数据和/或其它参数匹配的那些可能接收者。作为另一例子,可以发送一个或多个上述那种类别的搜索查询消息。在各个实施例中,这种搜索查询消息的搜索数据字段可包括用户指定的任何元数据和/或其它参数。响应这样的搜索查询消息,用户的节点接收一个或多个上述那种类别的搜索答复消息。包括在搜索答复消息中的可以是与可能接收者对应的元数据和/或其它参数。随后,通过GUI或其它界面,节点可向其用户提供关于可能接收者的所有或一些接收信息(步骤1109)。
注意如上所述,在各个实施例中,用户可以请求进一步的搜索结果。对于这样的实施例,用户的节点可按照和上面关于搜索诸如内容项目之类的实体所述类似的方式工作。另外注意在各个这样的实施例中,用户的节点可以自动接收进一步的搜索结果,极力要获悉所有相关的可能接收者。
向用户呈现可能接收者的GUI或其它界面还允许用户选择一个或多个可能接收者作为即时消息接收者(步骤1111)。响应这样的选择,节点首先允许用户编写对应的即时消息。例如,节点可向其用户提供GUI窗口等,文本可被输入所述GUI窗口中和/或文件(例如多媒体文件或程序文件)可被拖拉到所述GUI窗口中。
随后,用户的节点发送创建的消息(步骤1113)。可按照多种方式实现这种功能。例如,可按照和上面所述类似的方式,借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送即时消息。
注意在各个实施例中,用户可在不进行上述那种搜索的情况下,指定即时消息接收者。例如,用户的节点可向她提供它已知道的可能接收者的名单。节点可依据可能接收者的唯一标识符,网络地址等知道这样的可能接收者。可通过以前的搜索操作,以前的消息发送操作,相关仓库等获得这样的信息。作为另一例子,用户可向其节点提供足以使消息被发送给特定用户的节点的信息。这样的充分信息可以包括例如网络地址,唯一标识符,与唯一标识符相关的元数据等。
在各个实施例中,希望向对等组的所有当前活动的成员发送消息的用户可以通过适当的公共组标识符这样做,而不需要更精确地指定接收者。在另一例子中,希望向对等组的所有当前活动的成员发送消息的用户可以将该对等组选为接收者,用户的节点可通过将该组的唯一标识符映射到消息上,作出响应。
根据本发明的各个实施例,希望接收即时消息的用户的节点可执行一个或多个预备步骤。例如,该节点可以执行适当的步骤,以允许上述那种服务发现操作发现它和/或其用户是可能的接收者。作为另一例子,根据上面所述,该节点可进行适当的操作,以致上述那种搜索查询消息会导致指示该节点和/或其用户为可能接收者的一个或多个搜索答复消息。
聊天操作
根据本发明的各个实施例,希望搜索可加入的聊天板的用户可通过其节点提供的GUI或其它界面表示这样做的愿望。在各个实施例中,用户另外可以指定其节点的一个或多个接口可用于搜索即时消息接发接收者和/或发送即时消息。作为响应,节点可向其用户提供她为成员之一的组的列表,并请求用户指出她希望对这些组中的哪一个搜索聊天板。用户随后可以遵从节点的请求。
作为下一步骤,在本发明的各个实施例中,用户可以选择向她的节点指示在搜索可加入的聊天板的过程中要考虑的元数据和/或其它参数。
随后,根据上面所述那种类别的任何用户指示,节点可以获悉负责聊天板成员资格的一个或多个节点。可按照多种方式实现这种功能。例如,可以采用服务发现,或者是上述那种服务发现。通过这样的动作,节点可以获悉各种可用的聊天板。
在本发明的另一实施例中,用户不需要搜索可用的聊天板,用户的节点被自动告知该用户为成员之一,并且该用户的节点在线的那些对等组中当前有效的聊天板。
作为下一步骤,节点可向其用户呈现和可用聊天板相关的接收信息。节点可以允许用户表示加入一个或多个可用聊天板的愿望。就用户这样选择的每个聊天板来说,用户的节点可向适当的节点发送和其用户的加入该聊天板的愿望相关的消息。这种发送可按照多种方式来实现。例如,可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等来实现这种发送。所述消息可包括与用户对应的元数据和/或其它参数,所述元数据或许包括对应于用户的唯一标识符。
作为响应,每个接收节点可将一些或者全部元数据和/或其它参数加入到保持的仓库中,所述仓库包含与聊天板的所有成员对应的数据。随后,每个接收节点可向其当前成员的节点发送包括对应于用户的数据的消息,所述数据足以允许每个这样的节点将消息发送给用户的节点。之后,每个接收节点可向用户的节点发送包括与聊天板的所有成员对应的数据的一个或多个消息,所述数据足以允许用户的节点将消息发送给对应于这些成员的节点。接收节点可按照多种方式将消息发送给当前成员的节点和用户的节点。例如,可以采用电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等。
随后,用户可以采用她的节点参与加入的聊天板。因此,该节点可采用GUI或其它界面向其用户呈现加入的聊天板,并允许该用户选择一个或多个聊天板以便参与。对于用户正在参与的加入聊天板,用户的节点允许用户通过GUI或其它界面查看贴到聊天板上的消息等和/或将消息等贴到聊天板上。
在用户希望将消息等贴到聊天板上的情况下,用户可以采用她的节点来编写消息。例如,用户可以将恰当的文本输入到GUI窗口中和/或将恰当的文件(例如多媒体文件)拖拉到GUI窗口中。当完成消息的编写时,用户还可向其节点指示要张贴的消息。可按照多种方式实现进行这种张贴的功能。例如,用户的节点可按照和上面关于即时消息接发所述类似的方式发送消息,不过是根据与聊天板的所有成员的节点对应的接收数据,传送给所述这些节点。
聊天板的希望张贴消息的其它成员的节点可按照类似方式工作。因此,用户的节点可以是这种消息的多个接收者之一,可以通过上面所述的GUI或其它界面向其用户呈现所述消息。
根据本发明的各个实施例,节点的用户可创建与她为成员之一的组对应的新的聊天板。在一些实施例中,系统管理员或者其它个体设定的规则可以决定某一用户是否被允许创建新的聊天板。希望创建新聊天板的用户首先采用GUI或其它界面向其节点表示这样做的愿望。
作为响应,在各个实施例中,节点可向用户询问与要创建的聊天板对应的元数据和/或其它参数。节点还可向用户询问应对其创建聊天板的组的规范。在收到用户的响应之后,必要时,节点按照和上面所述类似的方式进行服务发现,以便获悉负责聊天板成员资格的一个或多个节点。在节点的用户指出应为其创建聊天板的特定组的情况下,用户的节点可在服务发现中动作,从而获悉负责所指示组的聊天板成员资格的一个或多个节点。
随后,用户的节点可向负责聊天板成员资格的适当节点发送表示其用户的创建新聊天板的愿望的消息。该消息中可包括例如对应于用户的元数据和/或其它参数,用户提供的与要创建的聊天板相关的元数据和/或其它参数,和/或将对其创建聊天板的组的指示。在各个实施例中,包括在与用户对应的元数据和/或其它参数中的可以是唯一标识符等。可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送该消息。
当收到该消息时,在各个实施例中,恰当的节点首先查看该用户是否被准许创建新的聊天板。因此,所述恰当节点可以接入相关的仓库,另一节点等,以查阅上述那种类别的任何对应规则。当所述恰当节点发现该用户不被准许创建新的聊天板时,它可向用户的节点发送包含这种指示的消息。可借助电子邮件,MMS消息接发,SMS消息接发,OBEXOPP,调度消息等发送该消息。当所述恰当节点确定该用户被准许创建新的聊天板时,和/或在不进行这种确定的实施例中,所述恰当节点可建立新的聊天板。因此,所述恰当节点可以执行适当的操作,以允许上面所述那种服务发现操作,从而导致知道新创建的聊天板。另一方面或者另外,所述恰当节点可自动将新聊天板的可用性通知其它组成员的在线节点,和/或进行适当的操作,以致它可按照和上面所述类似的方式响应与用户的加入新创建的聊天板的愿望相关的接收消息。
在另一例子中,当用户通过GUI等表示创建新聊天板的愿望时,用户的节点中的软件可根据描述用户的简介的元数据检查该用户是否有权建立新的聊天板。
游戏操作
如上所述,这里描述的各种功能可被应用于例如聊天,共享和消息接发。注意这样的功能同样适用于多个其它用途。现在说明一个例证的这种附加用途。
根据本发明的各个实施例,存在与各种类别的游戏相关的功能。这样的功能为组成员间的多人游戏创造了条件。在各个实施例中,有兴趣玩游戏的所有用户属于对应于游戏的通用组,和/或每个用户可拥有对应的证书。这种的游戏通用组和/或对应证书可按照与上面讨论的通用组和对应证书类似的方式工作。在各个实施例中,属于这样的游戏通用组的用户可以搜索和/或加入与进行中的和/或稍后开始的可加入游戏实例对应的各个组。例如,特定的这种组可对应于其中组成员正在参与虚拟摩托车比赛的游戏。注意在各个实施例,可能不存在游戏通用组。对于这样的实施例,有兴趣玩游戏的用户能够利用上述那种通用组中的成员资格,搜索和/或加入与可加入的游戏对应的组。
因此,希望加入多人游戏的用户可以搜索与进行的适当游戏实例对应的组。可按照和上面所述类似的方式进行对组的这种搜索。从而用户可以通过适当的GUI元件,提供描述她有兴趣参加的那种游戏的元数据和/或其它信息(例如随意写下的基于文本的关键字,其它类型的信息等)。例如,用户可提供她感兴趣的游戏的名称作为标题元数据,还可提供限定数据作为主题字段元数据。另一方面或者另外,用户可借助随意写下的基于文本的关键字,其它类型的信息等提供这样的信息。
作为响应,用户的节点可以处理用户的输入。在各个实施例中,用户的节点可按照和上面所述类似的方式,使随意写下的基于文本的关键字,其它类型的信息等与适当的元数据值,字段等相关联。随后,用户的节点可以执行适当的操作,以便根据用户的输入对组进行搜索。可按照和上面所述类似的方式进行这样的操作。注意在各个实施例中,在进行所述适当操作的过程中,用户的节点可将参数加入到消息等中。这样的参数可能与节点类型,节点标识符和/或用户(例如用户别名)相关。另外注意在执行所述操作的过程中,在各个实施例中,节点可以利用已打开的到其它节点的连接。这样的连接可能参与经过节点形成的网络的消息接发。经过节点形成的网络的消息接发可能经由对等链路,或许通过直接链路(当可用时)。在各个实施例中,所述连接涉及不同类型的传输链路的使用。
随着节点响应其用户的搜索与可加入的游戏对应的组的请求而执行的适当操作,可以收到各种信息。例如,可以收到与组相关的各种元数据和/或其它信息。这些接收的信息可包括描述,邀请,挑战等。可通过适当的GUI元件等,向用户提供这样的信息。对某一组接收的信息可以是针对有兴趣参加正在进行中的虚拟摩托车比赛的游戏者的挑战。作为另一例子,对某一组接收的信息可以是针对有兴趣参加设置成在指定时间开始的虚拟摩托车比赛的游戏者的挑战。
用户随后可以表示加入与可参加的游戏对应的组之一的愿望,她的节点可以遵从其请求。这种功能可按照和上面所述类似的方式工作。在各个实施例中,在用户的节点不具有与要玩的游戏对应的适当程序模块等的情况下,可以进行操作以致节点可以收到所述适当模块等。例如,可通过经过由节点形成的网络的消息接发,传送这样的适当模块等。经过节点形成的网络的消息接发可能经由对等链路,或许通过直接链路(当可用时)。
如上所述,在本发明各个实施例中,在其它用户没有请求组信息的情况下,包含组信息的消息可被发送给所述其它用户。另外如上所述,通过具有特定目的(例如增加组成员人数)的对应组管理员,组成员等的动作,可以发送这样的信息。
根据本发明的各个实施例,注意对于与游戏实例对应的各个组,可以发送相似的消息。因此,通过希望将其它用户吸引到对应的游戏实例的组管理员,组成员等的动作,可对与某一游戏实例对应的特定组发送这样的消息。组管理员,组成员等可通过由可用于进行与该组相关的游戏的一个或多个程序模块提供的界面,使这样的消息被发送。
另外注意这样的组管理员,组成员等可指定与所寻找的用户的类别相关的附加信息。所述附加信息可以包括例如性质(property)、特性(trait)等。作为一个具体例子,这种信息可以规定只寻找在指定的游戏中和/或对于指定的游戏类别已获得至少规定分数的那些用户。
可按照和上面所述类似的方式发送该消息。因此,可以利用电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,经由节点形成的网络发送调度消息等,发送该消息。经由节点形成的网络的消息接发可能经过对等链路,或许经过直接链路(当可用时)。
在各个实施例中,消息可经过节点被路由到属于该组的那些节点。在各个实施例中,在每个这种节点之内,消息可经由一个或多个适当的软件模块被路由。这样的一个或多个适当的软件模块可对应于为该组处理游戏消息的组路由器。所述一个或多个适当的软件模块可将消息路由给节点自己的游戏应用程序和/或路由给该节点知道属于该组的一个或多个其它节点。注意在各个实施例中,根据节点的设置,在节点的这种消息的接收可以激活可用于进行与该组相关的游戏的一个或多个程序模块。在各个实施例中,可用于进行所述游戏的一个或多个模块可以决定是否应将消息通知节点的用户。
组创建操作
根据本发明的各个实施例,用户可请求创建新的组。借助该请求,用户能够要求成为所述新组的组管理员。用户可通过其节点提供的GUI或其它界面发出这样的请求。
响应该请求,在各个实施例中,用户的节点可向用户询问与要创建的组对应的元数据和/或其它参数。所述元数据可以包括组名称和/或组描述。在各个实施例中,节点可创建唯一标识符等,并使之与提供的元数据和/或其它参数相关联。可按照和上面所述类似的方式创建所述唯一标识符等。
随后,在各个实施例中,节点可以关于为了加入所述新组,是否要求填写成员资格申请表,向用户进行询问。在用户表示要求这样的申请表的情况下,节点可以请求用户创建该申请表。因此,节点可以向用户呈现GUI或其它界面,借助所述GUI或其它界面,用户可以指出要向组申请人询问的问题和/或要从组申请人收集的信息。如上所述,这种申请表可以收集的信息可以是记帐数据。在要求预约的组的提供中可以采用这种功能。
作为下一步骤,在各个实施例中,节点可向用户询问与要创建的组对应的组规则。可按照多种方式实现这种功能。在要采用成员资格申请表的情况下,节点寻求的组规则信息可以是对成员资格申请表询问的问题的合格答复和/或成员资格申请表收集的信息。因此,借助GUI或其它界面,用户可以向节点提供规定的恰当答复,恰当答复的范围等。
节点寻求的其它组规则可以是例如组的有效期,成员的最大数目,和/或组是否可通过搜索操作来查找。在各个实施例中,用户能够根据服务提供商,软件等建立的范围,规定这些组规则的优选值。此外寻求的可以是和将向该组提供的服务相关的信息,或许还包括与这些服务的提供对应的细节。例如,用户可以规定就该组来说,应提供共享服务,即时消息接发服务和聊天服务中的哪一个或哪多个。就这样的服务而论,用户可以指出的细节例如包括与可共享实体相关的规则。在各个实施例中,节点可以询问用户哪些用户应成为组的成员。所述询问可以在用户没有表示成为组管理员的愿望的情况下,问用户她是否希望成为组管理员。
随后,节点可以向服务提供商节点等发送一条消息,所述消息包含收集的与要创建的组相关的信息。该消息中还可以包括与用户对应的数据。可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送该消息。在收到该消息之后,服务提供商节点等可确定用户是否有权创建新组。因此,服务提供商节点等查阅一个或多个恰当规则。所述规则可由例如系统管理员等提供。
随后在各个实施例中,服务提供商节点等执行关于用户的请求的任何必要的收费或记帐操作。因此,服务提供商节点等可关于组的创建对用户记帐。记帐可按照一个或多个建立的规则进行,所述规则可由系统管理员等提供。
在服务提供商节点等确定用户无权创建组的情况下,和/或在记帐操作产生令人不满意的结果的情况下,服务提供商节点等可向用户发送消息,将这种情况通知用户。可借助电子邮件,MMS消息接发,SMS消息接发,OBEX OPP,调度消息等发送该消息。
随后,在进行与被允许创建组的用户相关的任何必要检查和任何必要的记帐操作之后,服务提供商节点创建组。在各个实施例中,服务提供商节点创建该组的唯一标识符等,并使之与用户提供的元数据和/或其它参数相关联。可按照和上面所述类似的方式创建所述唯一标识符。
因此,在用户请求成为新组的组管理员的情况下,服务提供商节点等可以承认该用户为组管理员,并进行适当的操作,以致用户的节点可以根据上面所述响应加入所述新组的请求。所述适当操作可以包括向用户的节点提供一个或多个适当的证书。作为一个具体例子,证书可以是组管理证书。此外,服务提供商节点可以执行适当的操作,以致一个或多个节点可以如上所述将所述新组呈现为可加入的组。
另外,在各个实施例中,服务提供商节点等为上述那种成员资格申请表功能创建条件。因此,服务提供商节点等创建上述那种类别的Java应用程序等和/或建立上述那种类别的安全服务器。服务提供商节点可按照多种方式来创建所述应用程序和/或建立所述安全服务器。例如,服务提供商节点等可利用本领域中已知的自动代码产生技术来创建所述Java应用程序等。作为另一例子,服务提供商节点等可与安全服务器等通信,从而实现上述功能。另一方面,服务提供商节点等可以将执行这种任务的需要通知一个或多个个体。
注意在各个实施例中,服务提供商可以控制组创建。例如,服务提供商可以接受或拒绝组规则,和/或将可接受的值和/或默认值的选择预置到用户在定义组规则中采用的界面等中。
注意根据本发明的各个实施例,可以创建各种类别的组。例如,要求填写成员资格申请的组包括家庭创建的组,企业创建的组,或者朋友的组。作为另一例子,需要预约的组可包括服务提供商,内容所有者,软件公司等创建的组。
如上所述,在各个实施例中,可对组设定有效期数据。通过恰当地选择有效期,可以创建可被看作“临时组”的组。这种临时组可被用于多种用途,例如包括集合和特殊场合。
组的其它例子例如包括与俱乐部相关的组、与业余爱好相关的组、企业对企业(B2B)组和企业对消费者(B2C)组。
另外注意在各个实施例中,可以执行便于组的合并的操作。例如,系统管理员,组管理员和/或其它人能够指定一个或多个组被合并,从而创建一个新的组,所述新的组或许被指定成替代所述一个或多个组。在进行合并的过程中,可以进行各种操作。例如,可以进行以致一个或多个组的成员可被认为是所述新组的成员的操作。此外,可根据语义映射等,组合组元数据,合并的组元数据可以被更新到新组的成员的节点。所述映射可以由系统管理员,软件等提供。在各个实施例中,本语境中的组元数据既表示描述组的元数据,又表示列举组的成员等的元数据,和/或与媒体项目和内容相关的组特有元数据。
此外,可以进行以致可供一个或多个组得到的可下载实体等可以为所述新组得到的操作。这样的操作可包含目录级动作。注意在各个实施例中,对于要进行的这种合并,需要从与所述一个或多个组中的每个组相关的管理员获得许可。
其它操作
根据本发明的各个实施例,操作可以是这样的,以致服务,比如实体共享和上面说明的其它服务的使用不是匿名的。例如,如下更详细所述,要求用户提供证书以便利用服务,其中证书包含识别该用户的信息。
另外注意在各个实施例中,一个或多个标识符可以与共享实体相关联。这样的标识符可以用于识别最初使该实体可以共享的用户。作为另一例子,这样的标识符可以用于识别与实体对应的内容的制造者和/或所有者。作为一个具体例子,对于音乐媒体文件实体,这样的标识符可以指示版权持有者。
在各个实施例中,这样的标识符可按照这样的方式与共享实体相关联,以致未经授权的用户不易于改变它。例如,标识符可以被数字签名。另外注意在各个实施例中,共享实体可被数字签名和/或加密。此外,各个实施例可以允许实体的购买。这种功能涉及相关记帐操作的执行,例如通过本领域中已知的一种或多种技术的使用,与信用卡和/或银行系统的连接。
此外,在本发明的各个实施例中,可以保持和用户接收的实体相关的事件日志。事件日志可以阻止非法的实体共享和/或用作追捕进行非法实体共享的用户的工具。注意在各个实施例中,在发生不适当行为,非法活动等的情况下,组和/或用户可被清除。
可按照多种方式实现事件日志功能。例如,每个节点可被配置成保持它接收的实体和它向其它节点提供的实体的日志,并定期将所述日志传送给中央服务器等。中央服务器等可以将收到的日志编辑成一个或多个总日志。
在本发明的各个实施例中,用户可以指定一个节点在执行各种操作的过程中充当其节点的代理。用户可以通过她的节点提供的GUI或其它界面进行这样的规定。例如,根据各个实施例,用户能够关于接收实体,为其节点指定一个代理。因此,如上所述的那种项目接收请求可以包括实体应被传送给所述代理的指示。例如,包含在电子邮件、MMS消息、SMS消息、OBEX OPP传输,项目请求消息等中的可以是足以使所述实体以所述代理节点为目标的网络地址,具有相关元数据的唯一标识符等。
对于一些实施例,用户能够规定所有实体被传送给代理。另一方面或者另外,用户能够指定规则,依据所述规则,它可以决定实体是被传送给用户的节点,还是被传送给对应的代理。作为一个具体例子,通过其节点提供的GUI或其它界面,用户能够规定只有满足某一规定大小和/或类型准则的实体才被传送给所述代理,所有其它实体被传送给她的节点。
按照类似的方式,用户能够关于向其它节点提供实体,为她的节点指定一个代理。因此,如上所述那种涉及可用实体的搜索答复消息或者其它消息可以指示代理会执行必要的操作。如上所述,所述指示可以是对于所述代理,足以发生所述必要操作的网络地址,具有相关元数据的唯一标识符等。在情况适宜的实施例中,为实体提供操作指定的代理节点也可用在相关的搜索操作中。
注意在各个实施例中,按照上面关于接收实体说明的类似方式,用户能够规定与何时应采用代理相关的规则。另外注意在多个情况下,代理功能是适用的。例如,在其节点缺少按照用户满意的方式接收或发送实体的足够处理能力,能量资源,存储空间,网络连接等的情况下,用户可以采用这种功能。
另外,注意在各个实施例中,多个服务提供商能够为漫游用户协商服务互用性。例如,每个服务提供商可以通告彼此的组(例如公共组)。作为另一例子,这种服务提供商允许相关公共密钥的互用性。作为另一例子,这种服务提供商可以分发彼此的公共密钥。作为另一例子,这种服务提供商可以对建立供这里讨论的各种操作之用的端口达成一致意见。此外,在各个实施例中,服务提供商可以将与证书管理相关的状态(例如,通过提供识别行动错误的用户和/或对应于这些用户的节点的证书黑名单)通知彼此的用户。
证书和费用
如上所述,本发明的各个实施例采用证书。例如,如上所述,当用户成为某一组的成员时,可向其给予对应于该组的证书。作为另一例子,如上所述,可向用户给予通用接入证书。作为另一例子,在各个实施例中,为了对特定组发送上述类别的消息,可以要求提供证明在该组中的成员资格的证书。
如上所述,在各个实施例中,可与特定组无关地进行某些消息发送。例如,在一些实施例中,可与特定组无关地进行与参与某一组对应的消息发送。因此,在各个实施例中,对这样的消息发送,可要求出示上面提及的通用接入证书。
至于需要出示证书的方式可以实现各种要求。例如,在一些实施例中,可以要求对每个消息发送出示适当的证书。作为另一例子,可以要求只有当建立连接等时才需要出示适当的证书,通过这样建立的一个连接等可发送多个消息,而不要求对每个消息发送出示证书。节点之间的这种连接还可被用于传送与节点之间公有的各个组相关的消息。从而,这种连接可以提供一个以上公共组之间的连通性,在各个实施例中,如果节点的设置允许,那么它还能够实现这里描述的产生的通信量的旁路,而不局限于公共组。作为一个具体例子,用通用接入证书和/或专用组成员证书核实的两个对等节点之间的连接,以及与节点对应的保密密钥和公共密钥可被用于按照多路复用方式传送特定组的通信量。
与特定组对应的证书可以包括用服务提供商等拥有的保密密钥签署的多个部分,和/或可以包括用与该组相关的组管理员拥有的保密密钥数字签名的多个部分。图12中表示了例证的组成员证书,其中包含组管理员的公共密钥和服务提供商规定的组规则的部分签有服务提供商的保密密钥,而包含被给予证书的用户的公共密钥和组管理员规定的组规则的部分由组管理员的保密密钥签署。
注意证书可以包含与用户的身份对应的信息和/或可用作用户的身份的证明。在各个实施例中,可以采用这种证书,以致在他们的一个或多个动作中,用户不会是匿名的。另外注意可借助本领域中已知的各种技术创建保密密钥和/或公共密钥。另外注意可利用各种认证,证书质询和/或确认技术,实现上面说明的其中出示证书的功能。从而在各个实施例中,证书,保密密钥和公共密钥一起被用于证明身份和组中的成员资格。
图13中表示了可在本发明的各个实施例中采用的例证认证程序,其中第二个对等节点认证第一个对等节点,图14中表示了可在本发明的各个实施例中采用的例证认证程序,其中第一个对等节点认证第二个对等节点。在成功完成如图13中所示的认证程序之后,可以进行如图14中所示的认证程序。
参见图13的例证认证程序,第一个对等体首先启动与第二个对等体的连接(步骤1301)。随后,第二个对等体向第一个对等体发送随机质询RC2(步骤1303)。作为响应,第一个对等体将恰当的组成员证书GC1发送给第二个对等体(步骤1305)。随后,第一个对等体使用其保密密钥Sk1对第二个对等体发送的质询RC2加密(即,第一个对等体计算Sk1(RC2))(步骤1307)。随后,第一个对等体将加密的质询Sk1(RC2)发送给第二个对等体(步骤1309)。之后,第一个对等体将质询RC1发送给第二个对等体(步骤1311)。作为下一步骤,第二个对等体检查从第一个对等体接收的组成员证书GC1(步骤1313)。在所述检查发现GC1不令人满意的情况下,第二个对等体关闭连接(步骤1315)。在所述检查发现GC1令人满意的情况下,确定GC1是否对应于第二个对等体也是其成员之一的组(步骤1317)。从一种观点来看,这可被看作第一个对等体和第二个对等体是否都属于GC1所对应的组的确定。在所述确定产生否定结果的情况下,第二个对等体关闭连接(步骤1315)。如果所述确定产生肯定结果,那么第二个对等体用第一个对等体的公共密钥对加密的质询解密(即,第二个对等体计算Pk1(Sk1(RC2)))(步骤1319)。随后,第二个对等体确定Pk1(Sk1(RC2))的计算是否正确地产生它发送给第一个对等体的质询RC2(步骤1321)。如果所述确定产生否定的结果,那么第二个对等体关闭连接(步骤1315)。如果所述确定产生肯定的结果,那么认为图13的程序已成功完成(步骤1323)。
如上所述,在成功完成如图13中所示的认证程序之后,可以进行如图14中所示的认证程序。现在参见图14,第二个对等体使用其保密密钥Sk2对第一个对等体发送的质询RC1加密(即,第二个对等体计算Sk2(RC1))(步骤1401)。随后,第二个对等体将它的与GC1所对应的相同组对应的组成员证书GC2发送给第一个对等体(步骤1403)。随后,第一个对等体检查从第二个对等体接收的组成员证书GC2(步骤1405)。如果所述检查发现GC2不令人满意,那么第一个对等体关闭连接(步骤1407)。如果所述检查发现GC2令人满意,那么第一个对等体利用第二个对等体的公共密钥对加密的质询解密(即,第一个对等体计算Pk2(Sk2(RC1)))(步骤1409)。随后,第一个对等体确定Pk2(Sk2(RC1))的计算是否正确地产生它发送给第一个对等体的质询RC1(步骤1411)。如果所述确定产生否定的结果,那么第一个对等体关闭连接(步骤1407)。如果所述确定产生肯定的结果,那么认为图14的程序已成功完成(步骤1413)。
在各个实施例中,对于节点来说,执行上述类别的计算能够证明是能量、处理器和/或资源密集的。就图13和14的例证认证程序来说,注意在确定GC1令人满意,并且对应于第二个对等体也是其成员之一的组之前,第二个对等体不进行任何计算(例如,步骤1319的计算)。另外注意如果这些确定不产生肯定的结果,那么第二个对等体可以中断连接。另一方面,第一个对等体必须在早期进行计算(例如,步骤1307的计算)。在第一个对等体是敌对对等体的情况下,这种行为是有益的,因为第二个对等体不必进行计算,而第一个敌对对等体需要进行计算。
进一步就图13和14的例证认证程序来说,注意质询允许每个节点确认另一节点是由提供的证书指示的节点。
注意在各个实施例中,可以进行证书链接。例如,组管理员可向代表组管理员(delegate group managers)等提供链接的组管理证书,所述组管理证书授权那些代表组成员(delegate group members)向其它用户准予组成员证书。在一些实施例中,组的所有成员可拥有这种链接的组管理证书,从而所有成员可以有权准予新的成员证书。在一些实施例中,准予新的成员资格的权利服从一个或多个限制。所述限制可以由提供链接的组管理证书的组管理员设置。
作为一个具体例子,这样的限制规定只有在不可和组管理员取得联系的情况下,拥有链接证书的个体才向其它人准予成员资格。在这样的实施例中,用户可向组管理员和/或服务提供商请求链接证书以便以后使用,例如在组管理员变得不可联系的情况下。另一方面或者另外,这样的链接证书可由组管理员和/或服务提供商提供给用户和/或她的节点以便以后使用,例如如果组管理员变得不可联系。
注意在存在多个服务提供商的实施例中,需要将所有相关服务提供商的公共密钥分发给用户节点。这可通过经由通用组的分发来实现。
根据本发明的各个实施例,可对各个操作收取费用。例如,可对加入组、创建组、加入聊天板、创建聊天板、发送即时消息、接收即时消息、使实体可供接收和/或接收实体之类操作收取费用。另一方面或者另外,可对用户接收上述模块,组证书和/或上述通用接入证书的操作收取费用。
例如,服务提供商可对利用组管理员证书给予组管理员权利收取费用。费用的大小可以取决于在证书中描述的组规则(例如,组中允许的操作(例如共享和/或聊天)、组的可见性(例如公开的或秘密的)、成员的数量等)。在各个实施例中,服务提供商能够设定和/或控制某一用户能够同时成为多少组的成员的限度。注意在一些实施例中,用户的节点上的软件模块需要被升级,以便增大可能组的数目。这可被捆绑到服务提供商服务包,或者可以是独立的事务。在各个实施例中,组管理员软件模块收集诸如加入组和脱离组之类动作的信息,并独立地和/或通过服务提供商(例如通过向服务提供传送收费事件)进行收费。
另外的消息处理操作
如上所述,根据本发明的各个实施例,对于消息处理可以执行多个操作。下面将讨论更多的这种操作。
作为第一个例子,注意在各个实施例中,在连接中可以采用多路复用,对于通过单一的多路复用连接发送的每个消息等可能不包括一个组成员证书。改为可对特定的多路复用连接提供单一的组管理证书,该单一证书可应用于相对于该连接发送的所有消息等。在这样的实施例中,可在与连接建立相关的相互论证和授权程序中,利用包含用于两个节点的一个恰当组证书的“组证书消息”,交换所述单一证书。
注意在各个这样的实施例中,节点可以决定如何处置对于其来说不存在具有对应证书(例如相对于特定的多路复用连接,提供的单一的组管理证书)的任何公共组或者已被交换的接收消息等。例如,这种节点可以选择忽略这样的消息等。作为另一例子,这种节点可以适当地将这样的消息等推送给其它节点。另外注意在各个实施例中,在两个节点并不共享任何公共组成员资格或者消息特定于非公共组的情况下,一个节点可以确定如何处理由另一节点发送的消息等。
作为就消息处理来说可执行的操作的另一例子,可执行这里描述的与唯一标识符相关的各种操作。注意作为一个具体例子,这种唯一标识符可以是利用日期,时间,MAC地址和/或其它手段产生的128位(16字节)整数,以便形成在“DEC/HP Network Computing ArchitectureRemote Procedure Call Runtime Extension Specification Version OSDTX1.0.11”(在此引为参考)中描述的虚拟全球唯一标识符。注意在各个实施例中,这样的唯一标识符被认为对网络通信增加了过多的开销,尤其是在采用低带宽通信的实施例中情况更是如此。根据本发明的各个实施例,可以存在几种唯一标识符类型。这种功能可以提供减少这种开销的优点。
例如,第一种唯一标识符类型可以对应于上面提及的16字节唯一标识符。这种类型的唯一标识符可被称为“class-16”唯一标识符。在可以获得产生这种唯一标识符的功能的情况下(例如在要创建该标识符的节点等处存在适当的软件模块),在开销不是所关心的因素的情况下等等,可以采用这种唯一标识符类型。
唯一标识符类型的另一例子对应于1字节唯一标识符。这种类型的唯一标识符可被称为“class-1”唯一标识符。在不可获得产生class-16唯一标识符的功能的情况下,在开销是所关心的因素的情况下等等,可以采用这种唯一标识符类型。在各个实施例中,这种class-1唯一标识符可用在各种共享操作中。例如,这种class-1唯一标识符可用在其中唯一标识符众所周知的实施例中(例如共享)。另外注意这种唯一标识符可由系统管理员,服务提供商,软件模块开发者等分派。
在本发明的各个实施例中,各种地址,唯一标识符等(例如组标识符,发送者地址,接收者地址等)可作为通信的一部分通过单一连接定期发送。在各个实施例中,作为一个具体例子,在采用上述那种128位整数的情况下,这会导致增大传输开销。进一步就唯一标识符来说,在各个实施例中,可以采用一个或多个字典等。这种功能具有降低这种开销的效果。根据采用这种功能的各个实施例,发送节点可以提供发送的唯一标识符的别名,昵称,标识符等,所述别名,昵称,标识符等的字长度短于其对应的唯一标识符的字长度。
接收节点可以将使所述别名、昵称、标识符等与所述唯一标识符联系起来的条目加入字典等中。在所述唯一标识符将被再次发送的情况下,发送节点可以改为只提供所述别名,昵称,标识符等,接收节点可以通过所述字典获得对应的唯一标识符。注意在各个实施例中,可在套接字数据绑定实现这种功能。另外注意在各个实施例中,可在两个节点同时保持字典相关性。
作为这种字典功能的一个例子,接收节点可将将被用于别名,昵称,标识符等的大小通知发送节点。作为响应,发送节点可以根据规定的大小创建字典。随后,接收节点可以根据规定的大小创建字典。作为下一步骤,发送节点可以发送唯一标识符和对应的别名,昵称,标识符等。发送节点还可将使所述别名,昵称,标识符等与所述唯一标识符联系起来的条目加入其字典中。作为响应,接收节点可将使所述别名,昵称,标识符等与所述唯一标识符联系起来的条目加入其字典中。在所述唯一标识符要被再次发送的情况下,发送节点可以改为只提供所述别名,昵称,标识符等,接收节点可以通过所述字典获得对应的唯一标识符。发送节点通过查阅其字典,可以知道某一唯一标识符先前是否已被发送。
在各个这样的实施例中,在将向其字典加入使别名、昵称、标识符等与唯一标识符联系起来的新条目的节点发现其字典已满的情况下,该节点可用所述新条目替换现有的字典条目。在各个实施例中,在确定要替换哪个条目的过程中,节点可以采用别名,昵称,标识符等的大小,参考计数,条目的最后使用时间的指示,条目使用频率的指示等来做出所述确定。
作为就消息处理来说可进行的操作的另一例子,在本发明的各个实施例中,可以采用应用层流程,从而可通过单一的建立的应用层流程发送多个消息。在希望高效地向一个或多个接收者发送大量数据的情况下可以采用这种功能。例如,在需要经过单一路线等发送多个消息的情况下,可以采用应用层流程。
注意在本发明的各个实施例中,节点必须分析消息的首标的多个字段,以便实现该消息的路由选择(例如将该消息传送给一个或多个其它节点)。但是,在采用应用层流程的情况下,当建立应用层流程时,节点只需要进行第一个首标字段的这种分析。随后可以连同建立的流程一起发送后续的消息。在各个实施例中,后续消息可不必包含所有典型的首标信息。例如,后续消息的首标信息可以只指示流程标识符等。
从而,收到与建立的流程对应的这种后续消息的节点只需要考虑在消息的首标中指示的流程标识符,而不必执行上述那种更深入的首标分析。因此,可以节省处理能力,能量使用等。此外,由于在各个实施例中,后续消息包括较小的首标(例如,只指定流程标识符),因此能够节约带宽。注意在各个实施例中,建立的流程可以是单向的(例如下载流程或上传流程)。
根据各个实施例,在可采用应用层流程的情况下,可通过单一链路,连接等发送多个应用层流程。在各个这样的实施例中,为流程标识符选择的字节的数目可以与可通过单一链路,连接等发送的应用层流程的数目联系起来。作为一个例子,流程标识符可被选择为1字节长。作为另一例子,流程标识符可被选择为2字节长。一字节长的流程标识符可以允许224或256个同时的流程,两字节长的流程标识符可以允许65503或65536个同时的流程。
为流程标识符选择较长的字长度允许通过单一链路,连接等发送更多的应用层流程,但是造成通过这些流程之一发送的消息的首标尺寸更大。因此,在各个实施例中,流程标识符的字长度可被选择成以便实现首标大小和单一链路,连接等上的可能流程的数目之间的平衡。这样的选择可以考虑到链路,连接等的带宽。例如,如果确定一字节的字长度许可的流程的数目不小于低带宽链路可支持的流程的数目,并且使用更长的字长度只会导致更大的消息首标,那么确定对于低带宽链路来说,一字节的字长度就足够了。
参见图15,注意根据采用应用层流程的各个实施例,应用层流程可通过流程开始消息的调度来建立。该消息中指示的可以是对应于该流程的流程标识符,或许还包括将被用于流程标识符的字长度的指示。当收到流程开始消息时(步骤1501),在各个实施例中,节点可以进行各种适当的操作,以便根据指定的流程标识符为应用层流程功能创建条件(步骤1503)。此外在各个实施例中,节点可以采取措施来分配流程语境。
在各个实施例中,这种流程开始消息可被发送给单个对等体或者多个对等体。另外注意在各个实施例中,这种流程开始消息可通过组播来发送。此外注意在各个实施例中,在一个方向上的一个套接字连接中,流程标识符可以是唯一的。此外,通过举例说明,注意在各个实施例中,如果对应于流程的消息从第一节点传送给第二节点,再传送给第三节点,那么可存在第一节点和第二节点之间的通信的一个流程编号,和第二节点和第三节点之间的通信的另一流程编号。
如上所述,除了对应的数据有效负载之外,在应用层流程的建立之后发送的消息可以包括一个首标,所述首标或许只包括与建立的流程对应的流程标识符(步骤1505)。在各个实施例中,为了终止流程,可以发送流程停止消息。流程停止消息中包括的可以是与要停止的流程对应的流程标识符的指示。在各个实施例中,流程停止消息可被发送给收到对应的流程开始消息的所有节点。当收到流程停止消息时(步骤1507),在各个实施例中,节点可以进行各种适当操作,以便相对于指定的流程标识符终止应用层流程功能(步骤1509)。另外注意在各个实施例中,分配的流程语境可以被解除分配。
作为就消息处理来说可以进行的操作的另一例子,注意在本发明的各个实施例中,可以采用涉及数据格式的操作,以便减少带宽使用,处理器使用,能量使用等。这样的实施例可以是其中采用便携式节点的实施例。作为这种数据格式使用的一个具体例子,在各个实施例中,可以采用二进制格式,代替诸如XML(可扩展的置标语言)之类的格式,从而避免进行转换,解析等的需要。另外注意在希望利用诸如XML之类格式而不是二进制格式,但是还希望减少带宽使用,处理器使用,能量使用等的实施例中,可以采用本领域中已知的各种压缩技术。
作为就消息处理来说可以进行的操作的另一例子,注意在本发明的各个实施例中,中间节点(例如从最初的一个或多个节点接收消息等,并将其传送给另外的一个或多个节点的节点)可以进行与优化相关的各种操作。例如,完成这种传送的中间节点可以超高速缓存实体和/或实体片段。作为另一例子,这种节点可以采用多个源来接收消息,实体等。作为另一例子,这种节点能够恢复消息,实体等的接收。作为另一例子,这种节点可以采用多路复用来进行这种传送。
作为就消息处理来说可以进行的操作的另一例子,注意在各个实施例中,发送和/或接收节点可以进行各种过滤操作。这种功能可由在节点上运行的一个或多个软件模块提供。
根据各个这样的实施例,节点可以保持过滤策略。这样的策略可以由例如节点的用户,系统管理员等设定。另一方面或者另外,可在制造时,初始设置时和/或在以后的一个或多个时刻,将这样的策略装到节点上。另一方面或者另外,在节点上运行的软件可以在运行期间形成策略和/或改变现有的策略。举例来说,注意在这样的实施例中,将从第二节点接收的第一节点可将其策略传送给第二节点。第二节点随后可以不传送和该策略一致的各种分组,消息等。此外在各个实施例中,在传送分组,消息等的过程中,第二节点未能遵守所述策略的情况下,第一节点可以终止它与第二节点的连接。另外注意在各个实施例中,第一节点可以丢弃收到的与所述策略一致的分组,消息等。
发送节点根据接收节点的策略进行传送的功能可被看作比准则的防火墙功能更有用,例如在接收节点利用收费的网络链路(例如UMTS链路)的情况下。这样的观点可以成立,因为采用准则防火墙的这种接收节点不得不为它丢弃的分组,消息等付费。相反,借助上述功能,这样的分组,消息等不会被传送给接收节点,从而接收节点不必支付相应的网络使用费。
元数据
这里说明的本发明的各个实施例被论述成采用元数据。现在将讨论元数据的各个方面。
在各个实施例中,可存在可接受的元数据值,字段等的一个或多个定义的集合和/模式(schema)。此外在各个实施例中,用户可出于各种目的(例如搜索)输入元数据。这种输入可以通过适当的GUI元件等来实现。因此,用户能够输入与定义的集合和/或模式对应的元数据(例如主题,标题,格式,创建者,成员姓名等)。
另外注意在各个实施例中,用户能够输入随意编写的基于文本的关键字,其它类型的信息(例如音频)等。这种输入可涉及适当的GUI元件。在各种操作(例如搜索)中,可根据可接受的元数据值,字段等的一个或多个定义的集合和/或模式,考虑这种随意编写的基于文本的关键字,其它类型的信息等。
在各个实施例中,可执行使随意编写的基于文本的关键字,其它类型的信息等与出自所述集合和/或模式的恰当元数据值,字段等联系起来的操作。出自集合和/或模式的这种恰当的元数据值,字段等可以是确定的与随意编写的基于文本的关键字,其它类型的信息等最佳联系的元数据值,字段等。这种联系的确定可以对照最可能的元数据值,字段等,考虑元数据分析,文本分析,关键字的映射。注意在各个实施例中,对于诸如搜索之类的操作,最好和/或建立用户输入与可接受的元数据值,字段等的一个或多个定义的集合和/或模式对应的元数据。
一旦用户提供了作为元数据的准则(例如搜索准则),和/或随意编写的基于文本的关键字,其它类型的信息等,那么用户的节点可以发送适当的消息等(例如查询消息等)。注意在各个实施例中,用户的节点可以向所述查询等中加入描述用户的各种内容格式的处理能力的参数。另外注意在各个实施例中,用户的节点还可以使随意编写的基于文本的关键字,其它类型的信息等与来自所述集合和/或模式的适当元数据值,字段等联系起来。因此,节点可将与所述联系相关的元数据和/或其它数据包括在消息等中。另一方面或者另外,用户的节点可将输入的随意编写的基于文本的关键字,其它类型的信息等包括在适当的消息等中,接收节点可以进行这样的联系。
此外,在各个实施例中,组可具有它自己的定义的惯例(practices)和/或组特有的元数据集合和/或模式。这可由组管理员,成员和/或在组中具有特定角色的成员定义。在一些实施例中,组特有的元数据集合和/或模式可以是所有组可以获得的集合和/或模式的子集,和/或由系统管理员,服务提供商等提供。例如,组可具有与音乐共享相关的集合和/或模式,所述集合和/或模式是所有组等可以获得的文件共享集合和/或模式的子集,音乐共享集合和/或模式只包含适合于音乐共享的元数据值,字段等。
作为另一例子,组特有的元数据集合和/或模式可以是所有组等可以获得的集合和/或模式的扩展。这样的组特有的元数据集合和/或模式可包含增加的与组的细节相关的元数据值,字段等。作为具体例子,对应于音乐的组可增加与音乐流派相关的元数据值,字段等,对应于摄影的组可增加与摄影质量信息和/或照相机设置相关的元数据值,字段等,对应于业余无线电的组可以增加与DX无线电码相关的元数据值,字段等。
在各个实施例中,通过在属于对应组的节点之间交换更新,可以分发,更新和/或保持组特有的元数据集合和/或模式。在各个实施例中,当加入某一组时,节点可以接收最新版本的对应的组特有集合和/或模式。此外,在各个实施例中,与某一组相关的节点通过一个或多个适当软件模块的操作,可以接收对与所加入的组对应的组特有集合和/或模式的更新。这可以定期发生。
硬件和软件
这里描述的一些操作等可由计算机执行和/或在计算机的帮助下被执行。此外,这里描述的节点可以是计算机和/或包含计算机。这里使用的短语“计算机”、“通用计算机”等指的是(但不限于)处理器卡,智能卡、媒体设备、个人计算机、工程工作站、PC、Macintosh、PDA、计算机化手表、节点、有线或无线终端、服务器、网络接入点、网络组播点等,可能运行诸如OS X,Linux、Darwin、Windows CE、WindowsXP、Windows Server 2003、Palm OS、Symbian OS之类的操作系统,可能采用Series 60平台,可能支持Java和/或.Net。
短语“计算机”、“通用计算机”等还指的是(但不限于)可操作地与一个或多个存储器或存储单元连接的一个或多个处理器,其中所述存储器或存储单元可包含数据,算法和/或程序代码,所述一个或多个处理器可执行所述程序代码和/或操作程序代码,数据和/或算法。因此,如图16中所示的例证计算机16000包括系统总线14050,系统总线14050可操作地连接两个处理器16051和16052,随机存取存储器16053,只读存储器16055,输入输出(I/O)接口16057和16058,存储接口16059和显示接口16061。存储接口16059又连接大容量存储器16063。每个I/O接口16057和16058可以是以太网、IEEE 1394、IEEE 1394b、IEEE802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.16a、IEEE 802.20、蓝牙、地面数字视频广播(DVB-T)、卫星数字视频广播(DVB-S)、数字音频广播(DAB)、通用分组无线服务(GPRS)、通用移动通信服务(UMTS)、DVB-X,IrDA(红外数据协会)或者本领域中已知的其它接口。
大容量存储器16063可以是硬盘驱动器,光盘驱动器等。处理器16057和16058均可以是公知的处理器,比如IBM或Motorola PowerPC、AMD Athlon、AMD Opteron、Intel ARM、Intel Xscale、TransmetaCrusoe、Intel Xenon或者Intel Pentium。本例中所示的计算机16000还包括触摸屏16001和键盘16002。在各个实施例中,另一方面或者另外可采用鼠标、小键盘和/或接口。另外,计算机16000可包括或者连接到读卡器、DVD驱动器、软盘驱动器等,从而可以插入包含程序代码的介质,以便将所述代码装入计算机中。
根据本发明,计算机可运行用于执行一个或多个上述操作的一个或多个软件模块。可根据本领域中已知的方法,利用诸如Java、ObjectiveC、C、C#和/或C++之类的语言编制这样的模块。对应的程序代码可被放在诸如DVD、CD-ROM和/或软盘驱动器之类的介质上。注意操作在特定软件模块间的任何所述划分只是用于举例说明,可以采用操作的备选划分。因此,描述成由一个软件模块执行的任何操作可改为由多个软件模块执行。类似地,描述成由多个模块执行的任何操作可改为由单个模块执行。注意公开成由特定计算机执行的操作可改为由多个计算机执行。另外注意,在各个实施例中,可以采用网格计算技术。
图17中表示了可在本发明的各个实施例中采用的例证终端的功能方框图。前面已讨论了图17的终端。下面,对应的附图标记被应用于对应的部分。图17的终端17000可用在这里描述的任何/所有实施例中。终端17000包含处理单元CPU 1703,多载波信号端子部分1705和用户接口(1701,1702)。多载波信号终端部分1705和用户接口(1701,1702)与处理单元CPU 1703耦接。在多载波信号终端部分1705和存储器1704之间存在一个或多个直接存储器存取(DMA)通道。用户接口(1701,1702)包含使用户能够使用终端17000的显示器和键盘。另外,用户接口(1701,1702)包含接收和产生音频信号的麦克风和扬声器。用户接口(1701,1702)还可包括语音识别(未示出)。
处理单元CPU 1703包含微处理器(未示出),存储器1704,可能还包含软件。软件可被存储在存储器1704中。微处理器根据所述软件控制终端17000的操作,比如数据流的接收,数据接收中突发脉冲串噪声的容许,在用户接口中显示输出,和接收自用户接口的输入的读取。所述操作如上所述。硬件包含检测信号的电路,解调电路,检测脉冲的电路,使符号的存在大量脉冲噪声的那些样本消隐的电路,计算估计量的电路,和对计算的数据进行校正的电路。
仍然参见图17,另一方面,可以应用中间件或软件实现。终端17000可以是用户能够方便地携带的手持式设备。有利的是,终端17000可以是包含用于接收组播传输流的多载波信号端子部分1705的蜂窝移动电话机。于是,终端17000可能与服务提供商交互作用。
衍生物和范围
虽然上面的说明包含多个细节,不过提供这些细节只是为了举例说明本发明,不应被理解成本发明的范围的限制。对于本领域的技术人员来说,在不脱离本发明的精神或范围的情况下,显然可在本发明的系统和过程方面做出各种修改和变化。
Claims (44)
1、一种对等环境中的实体接入方法,包括:
保持到一个或多个节点的多个经鉴权的连接,其中所述一个或多个节点属于一个或多个对等组,每个所述组由具有公共特性的多个节点构成;
接收寻求接入某一实体的请求,其中所述请求包含与所述实体对应的元数据;
查阅一个或多个保持的实体参考表,其中通过分析被回避的消息,动态更新所述参考表;
确定是否能够提供对所述实体的直接接入;
确定能够提供对所述实体的接入的节点是否已知;和
关于所述实体的接入,询问可直接接入的节点。
2、按照权利要求1所述的方法,其中通过提供指示所述一个或多个对等组中至少一个对等组中的成员资格的证书而鉴权所述连接。
3、按照权利要求1所述的方法,其中通过并行地利用一种或多种组网技术,保持最佳的多个连接,并且
还包括确定是否需要建立另外的连接。
4、按照权利要求1所述的方法,其中所述参考表包含可如何得到一个或多个实体的信息。
5、按照权利要求4所述的方法,其中唯一标识符与一个或多个实体相关联。
6、按照权利要求1所述的方法,还包括通过考虑最后接入某一实体的时间以及与所述实体通信的频率,保持所述实体参考表。
7、按照权利要求1所述的方法,还包括保持成员资格被保存的组的列表,并且
还包括保持所述组中的一个或多个组的连接状态。
8、按照权利要求1所述的方法,其中能够提供对所述实体的接入的所述节点不能够提供对所述实体的直接接入。
9、按照权利要求1所述的方法,其中所述可直接接入的节点确定能够提供对所述实体的接入的节点是否已知。
10、按照权利要求1所述的方法,其中所述实体是节点。
11、按照权利要求1所述的方法,其中所述实体是可接收的实体,所述可接受的实体是媒体项目。
12、按照权利要求1所述的方法,还包含接收所述实体的一个或多个部分。
13、按照权利要求12所述的方法,其中所述实体的所述一个或多个部分接收自能够接入所述实体的至少一个或多个部分的第一节点,并且
还包括将所述接收的实体的一个或多个部分中的一个或多个发送给请求所述实体的第二节点。
14、按照权利要求13所述的方法,还包括超高速缓存所述接收的实体的一个或多个部分。
15、按照权利要求1所述的方法,其中一个或多个保持的连接是无线短程连接。
16、按照权利要求15所述的方法,其中当提供对所述实体的接入时,无线短程连接优于其它连接。
17、按照权利要求1所述的方法,其中所述保持的连接在所述一个或多个对等组之间被共享。
18、一种对等环境中的实体接入系统,包括:
其中存储有程序代码的存储器;和
可操作地与所述存储器连接,以便根据所述存储的程序代码执行指令的处理器;
其中当被所述处理器执行时,所述程序代码使所述处理器执行:
保持到一个或多个节点的多个经鉴权的连接,其中所述一个或多个节点属于一个或多个对等组,每个所述组由具有公共特性的多个节点构成;
接收寻求接入某一实体的请求,其中所述请求包含与所述实体对应的元数据;
查阅一个或多个保持的实体参考表,其中通过分析被回避的消息,动态更新所述参考表;
确定是否能够提供对所述实体的直接接入;
确定能够提供对所述实体的接入的节点是否已知;和
关于所述实体的接入,询问可直接接入的节点。
19、按照权利要求18所述的系统,其中通过提供指示所述一个或多个对等组中至少一个对等组中的成员资格的证书,鉴权所述连接。
20、按照权利要求18所述的系统,其中通过并行地利用一种或多种组网技术,保持最佳的多个连接,其中所述处理器还确定是否需要建立另外的连接。
21、按照权利要求18所述的系统,其中所述参考表包含可如何得到一个或多个实体的信息。
22、按照权利要求21所述的系统,其中唯一标识符与一个或多个实体相关联。
23、按照权利要求18所述的系统,其中所述处理器还通过考虑最后接入某一实体的时间以及与所述实体通信的频率,保持所述实体参考表。
24、按照权利要求18所述的系统,其中所述处理器还保持成员资格被保存的组的列表,其中所述处理器还保持所述组中的一个或多个组的连接状态。
25、一种无线节点中通知对等环境中的用户的方法,包括:
保持与所述对等环境中的一个或多个节点的多个经鉴权的连接;
通过所述经鉴权的连接中的一个或多个连接,从所述节点之一接收将被回避的一个或多个消息;和
向所述用户显示与一个或多个所述将被回避的消息相对应的一个或多个通知,其中与所述通知相对应的每个将被回避的消息的内容与一个或多个指定准则相匹配,其中每个所述通知描述所述通知对应的一个或多个所述消息,
其中在所述节点的用户界面处于空闲状态的时候,执行所述保持、接收和显示。
26、按照权利要求25所述的方法,其中所述将被回避的一个或多个接收消息对应于一个或多个实体。
27、按照权利要求25所述的方法,其中所述将被回避的一个或多个接收消息对应于聊天。
28、按照权利要求25所述的方法,其中同时向所述用户显示两个或更多的所述通知。
29、按照权利要求25所述的方法,其中所述显示借助于屏幕保护程序。
30、按照权利要求25所述的方法,其中一个或多个所述通知是文本通知。
31、按照权利要求25所述的方法,其中一个或多个所述通知是图形通知。
32、按照权利要求25所述的方法,其中所述准则由所述用户提供。
33、按照权利要求25所述的方法,其中所述准则由系统管理员提供。
34、按照权利要求25所述的方法,其中一个或多个所述准则是元数据。
35、按照权利要求25所述的方法,其中所述通知滚动。
36、按照权利要求35所述的方法,其中滚动是三维的。
37、按照权利要求25所述的方法,还包括:
冻结所述通知的显示;和
使所述用户能够为对应的操作选择一个或多个所述通知。
38、按照权利要求37所述的方法,其中与选择的通知对应的软件被激活。
39、按照权利要求25所述的方法,还包括向所述用户提供触觉指示。
40、一种无线节点,包括:
其中存储有程序代码的存储器;和
可操作地与所述存储器连接,以便根据所述存储的程序代码执行指令的处理器;
其中当被所述处理器执行时,所述程序代码使所述处理器执行:
保持与所述对等环境中的一个或多个节点的多个经鉴权的连接;
通过所述经鉴权的连接中的一个或多个连接,从所述节点之一接收将被回避的一个或多个消息;和
向所述用户显示与一个或多个将被回避的所述消息相对应的一个或多个通知,其中与所述通知相对应的每个将被回避的消息的内容与一个或多个指定准则匹配,其中每个所述通知描述所述通知对应的一个或多个所述消息,
其中在所述节点的用户界面处于空闲状态的时候,执行所述保持、接收和显示。
41、按照权利要求40所述的无线节点,其中所述将被回避的一个或多个接收消息对应于一个或多个实体。
42、按照权利要求40所述的无线节点,其中所述将被回避的一个或多个接收消息对应于聊天。
43、按照权利要求40所述的无线节点,其中同时向所述用户显示两个或更多的所述通知。
44、按照权利要求40所述的无线节点,其中所述显示借助于屏幕保护程序。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/447,115 | 2003-05-27 | ||
US10/447,115 US20040243580A1 (en) | 2003-05-27 | 2003-05-27 | System and method for message handling in a peer-to-peer environment |
US10/607,618 | 2003-06-27 | ||
US10/607,618 US7660864B2 (en) | 2003-05-27 | 2003-06-27 | System and method for user notification |
PCT/US2004/016569 WO2004107125A2 (en) | 2003-05-27 | 2004-05-26 | System and method for user notification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1823332A true CN1823332A (zh) | 2006-08-23 |
CN100483385C CN100483385C (zh) | 2009-04-29 |
Family
ID=33493041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800200375A Expired - Fee Related CN100483385C (zh) | 2003-05-27 | 2004-05-26 | 实体接入方法、系统以及在对等环境中通知用户的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7660864B2 (zh) |
EP (1) | EP1631880A2 (zh) |
KR (1) | KR100758253B1 (zh) |
CN (1) | CN100483385C (zh) |
WO (1) | WO2004107125A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101971599A (zh) * | 2007-06-27 | 2011-02-09 | 卡伦诺尔斯企业私人有限公司 | 通信的方法、系统和产品 |
CN104239130A (zh) * | 2014-08-15 | 2014-12-24 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
CN105427856A (zh) * | 2016-01-12 | 2016-03-23 | 北京光年无限科技有限公司 | 一种面向智能机器人的约请数据处理方法和系统 |
CN103716139B (zh) * | 2013-12-10 | 2017-03-29 | 乐视网信息技术(北京)股份有限公司 | 一种信息推送处理方法和装置 |
WO2017113282A1 (zh) * | 2015-12-31 | 2017-07-06 | 富士通株式会社 | 网络消息通知装置、方法以及通信系统 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3973986B2 (ja) * | 2002-07-12 | 2007-09-12 | 株式会社エヌ・ティ・ティ・ドコモ | ノード探索方法、ノード、通信システム及びノード探索プログラム |
FI20031340A0 (fi) * | 2003-09-18 | 2003-09-18 | Nokia Corp | Menetelmä ja järjestelmä yhteyksien seurantaan ja seurantaprotokolla |
US7200608B2 (en) * | 2003-10-23 | 2007-04-03 | Microsoft Corporation | Application programming interface for centralized storage of principal data |
US7631060B2 (en) * | 2003-10-23 | 2009-12-08 | Microsoft Corporation | Identity system for use in a computing environment |
AU2005215786A1 (en) * | 2004-02-17 | 2005-09-01 | Nielsen Media Research, Inc. Et Al. | Methods and apparatus for monitoring video games |
US8316088B2 (en) | 2004-07-06 | 2012-11-20 | Nokia Corporation | Peer-to-peer engine for object sharing in communication devices |
US9704502B2 (en) * | 2004-07-30 | 2017-07-11 | Invention Science Fund I, Llc | Cue-aware privacy filter for participants in persistent communications |
US8521828B2 (en) * | 2004-07-30 | 2013-08-27 | The Invention Science Fund I, Llc | Themes indicative of participants in persistent communication |
US9779750B2 (en) * | 2004-07-30 | 2017-10-03 | Invention Science Fund I, Llc | Cue-aware privacy filter for participants in persistent communications |
US8977250B2 (en) * | 2004-08-27 | 2015-03-10 | The Invention Science Fund I, Llc | Context-aware filter for participants in persistent communication |
US8060566B2 (en) | 2004-12-01 | 2011-11-15 | Aol Inc. | Automatically enabling the forwarding of instant messages |
US9002949B2 (en) | 2004-12-01 | 2015-04-07 | Google Inc. | Automatically enabling the forwarding of instant messages |
US7730143B1 (en) | 2004-12-01 | 2010-06-01 | Aol Inc. | Prohibiting mobile forwarding |
JP2006189282A (ja) * | 2005-01-05 | 2006-07-20 | Hitachi High-Technologies Corp | 自動分析装置 |
US7509121B2 (en) * | 2005-04-18 | 2009-03-24 | Terax Communication Technologies Inc. | Method of updating firmware using object push profile in the bluetooth object exchange protocol |
US7865765B2 (en) * | 2005-06-09 | 2011-01-04 | International Business Machines Corporation | Grid licensing server and fault tolerant grid system and method of use |
US20070005602A1 (en) * | 2005-06-29 | 2007-01-04 | Nokia Corporation | Method, electronic device and computer program product for identifying entities based upon innate knowledge |
US20070022172A1 (en) * | 2005-07-19 | 2007-01-25 | Anglin Howard N | Controlling presentation of instant messages to a recipient |
TWI274284B (en) * | 2005-09-07 | 2007-02-21 | Micro Star Int Co Ltd | Method for changing parameter values of embedded system by way of object push profile |
US8346789B2 (en) * | 2005-10-03 | 2013-01-01 | Intel Corporation | System and method for generating homogeneous metadata from pre-existing metadata |
KR100735327B1 (ko) * | 2005-11-11 | 2007-07-04 | 삼성전자주식회사 | 디지털 방송 수신 단말기의 배경 화면 디스플레이 방법 |
GB0607294D0 (en) * | 2006-04-11 | 2006-05-24 | Nokia Corp | A node |
US7926065B2 (en) * | 2006-11-07 | 2011-04-12 | International Business Machines Corporation | Method and system for dynamically specifying a format for data provided by a web service invocation |
US8478250B2 (en) | 2007-07-30 | 2013-07-02 | Bindu Rama Rao | Interactive media management server |
US10803474B2 (en) | 2006-11-22 | 2020-10-13 | Qualtrics, Llc | System for creating and distributing interactive advertisements to mobile devices |
US8433299B2 (en) * | 2006-11-22 | 2013-04-30 | Bindu Rama Rao | System for providing interactive media to user of mobile device |
US11256386B2 (en) | 2006-11-22 | 2022-02-22 | Qualtrics, Llc | Media management system supporting a plurality of mobile devices |
US8700014B2 (en) | 2006-11-22 | 2014-04-15 | Bindu Rama Rao | Audio guided system for providing guidance to user of mobile device on multi-step activities |
US20080126113A1 (en) * | 2006-11-29 | 2008-05-29 | Steve Manning | Systems and methods for creating and participating in ad-hoc virtual communities |
US9246687B2 (en) * | 2007-02-28 | 2016-01-26 | Broadcom Corporation | Method for authorizing and authenticating data |
GB2450473A (en) * | 2007-06-04 | 2008-12-31 | Sony Comp Entertainment Europe | A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group |
US8387007B2 (en) * | 2007-06-08 | 2013-02-26 | Apple Inc. | Scripting bridge |
US9084231B2 (en) * | 2008-03-13 | 2015-07-14 | Qualcomm Incorporated | Methods and apparatus for acquiring and using multiple connection identifiers |
US9197738B2 (en) * | 2008-12-04 | 2015-11-24 | Microsoft Technology Licensing, Llc | Providing selected data through a locked display |
US20100146437A1 (en) * | 2008-12-04 | 2010-06-10 | Microsoft Corporation | Glanceable animated notifications on a locked device |
US8218744B2 (en) | 2008-12-12 | 2012-07-10 | At&T Intellectual Property I, L.P. | Method for indicating the context of a call to a called party |
US8165041B2 (en) * | 2008-12-15 | 2012-04-24 | Microsoft Corporation | Peer to multi-peer routing |
US9215575B2 (en) * | 2009-05-20 | 2015-12-15 | Ross George Kouhi | Encoding and distribution of game play through compact message encoding and graphical rendering |
US8434153B2 (en) | 2009-08-24 | 2013-04-30 | Microsoft Corporation | Application display on a locked device |
US8407726B2 (en) | 2009-12-31 | 2013-03-26 | International Business Machines Corporation | Collaboration in low bandwidth applications |
US9118491B2 (en) * | 2010-06-30 | 2015-08-25 | Alcatel Lucent | Return of multiple results in rule generation |
EP2669762B1 (en) | 2011-01-24 | 2018-03-28 | Sony Interactive Entertainment Inc. | Information processing device |
US9331858B2 (en) * | 2011-05-03 | 2016-05-03 | Sony Computer Entertainment Inc. | Persistent party rooms |
US8956232B2 (en) | 2011-05-03 | 2015-02-17 | Sony Computer Entertainment America Llc | Special regional online video game forum based on location |
US20130013731A1 (en) * | 2011-07-08 | 2013-01-10 | Bradley Richard Ree | Devices, systems, and methods for transmitting a message |
JP2013105171A (ja) * | 2011-11-17 | 2013-05-30 | Seiko Epson Corp | プロジェクター及びその制御方法 |
KR101436406B1 (ko) * | 2011-12-29 | 2014-09-02 | 주식회사 안랩 | P2p기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법 |
EP2809031B1 (en) * | 2013-05-31 | 2023-09-27 | Dassault Systèmes | Communication middleware for managing multicast channels |
US9450904B2 (en) | 2013-07-15 | 2016-09-20 | Dropbox, Inc. | Coordinated notifications across multiple channels |
US9462054B2 (en) | 2014-02-27 | 2016-10-04 | Dropbox, Inc. | Systems and methods for providing a user with a set of interactivity features locally on a user device |
US9112936B1 (en) * | 2014-02-27 | 2015-08-18 | Dropbox, Inc. | Systems and methods for ephemeral eventing |
CN104144255B (zh) * | 2014-07-11 | 2017-04-05 | 北京奇虎科技有限公司 | 电子设备中通信标识的显示方法、客户端以及电子设备 |
CN104536659B (zh) * | 2014-12-15 | 2018-06-12 | 小米科技有限责任公司 | 目标物信息处理方法及装置 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926326A (en) * | 1988-08-12 | 1990-05-15 | Mckinley Robert E | Coin-operated message display system |
JPH0694676A (ja) * | 1992-09-10 | 1994-04-08 | Olympus Optical Co Ltd | 自動電気泳動装置 |
US5542115A (en) * | 1994-06-24 | 1996-07-30 | Pioneer Tech Development Limited | Paging method and apparatus |
US5852436A (en) * | 1994-06-30 | 1998-12-22 | Microsoft Corporation | Notes facility for receiving notes while the computer system is in a screen mode |
US5933478A (en) * | 1994-09-28 | 1999-08-03 | Hitachi, Ltd. | Data transfer system and handheld terminal device used therefor |
US5631847A (en) * | 1995-04-27 | 1997-05-20 | Elonex I.P. Holdings, Ltd | System for network file server failure notification |
US5740549A (en) * | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US6396513B1 (en) * | 1996-05-14 | 2002-05-28 | At&T Corp. | Electronic message sorting and notification system |
US6067561A (en) * | 1997-02-07 | 2000-05-23 | Hughes Electronics Corporation | Electronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel |
JP3139408B2 (ja) * | 1997-03-17 | 2001-02-26 | カシオ計算機株式会社 | ホームページ更新通知装置 |
US6094676A (en) * | 1997-05-30 | 2000-07-25 | Hilgraeve Incorporated | Method and apparatus for peer-to-peer communication |
US6278448B1 (en) * | 1998-02-17 | 2001-08-21 | Microsoft Corporation | Composite Web page built from any web content |
JP2951307B1 (ja) * | 1998-03-10 | 1999-09-20 | 株式会社ガーラ | 電子掲示板システム |
US6094681A (en) * | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US6288715B1 (en) * | 1999-05-11 | 2001-09-11 | Qwest Communications Int'l., Inc. | Screensaver messaging system |
US6507866B1 (en) * | 1999-07-19 | 2003-01-14 | At&T Wireless Services, Inc. | E-mail usage pattern detection |
US6400810B1 (en) * | 1999-07-20 | 2002-06-04 | Ameritech Corporation | Method and system for selective notification of E-mail messages |
US6549916B1 (en) * | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
US20030191816A1 (en) * | 2000-01-11 | 2003-10-09 | Spoovy, Llc | System and method for creating and delivering customized multimedia communications |
US7030837B1 (en) * | 2000-04-24 | 2006-04-18 | Microsoft Corporation | Auxiliary display unit for a computer system |
AU5504801A (en) * | 2000-05-09 | 2001-11-20 | Nice Systems Ltd | Method and apparatus for quality assurance in a multimedia communications environment |
US6591310B1 (en) * | 2000-05-11 | 2003-07-08 | Lsi Logic Corporation | Method of responding to I/O request and associated reply descriptor |
JP2001320404A (ja) * | 2000-05-11 | 2001-11-16 | Sony Corp | 着信通知システム、着信監視装置、携帯通信端末、情報処理装置、メール取得指示方法、メール取得方法及びプログラム格納媒体 |
US20020059384A1 (en) * | 2000-07-13 | 2002-05-16 | Koninklijke Philips Electronics N.V. | Substituting URL for attachment in forwarding electronic content |
US6867733B2 (en) * | 2001-04-09 | 2005-03-15 | At Road, Inc. | Method and system for a plurality of mobile units to locate one another |
US20020178087A1 (en) * | 2001-05-25 | 2002-11-28 | Henderson Greg S. | Internet-based instant messaging hybrid peer-to-peer distributed electronic commerce system and method |
US7856660B2 (en) * | 2001-08-21 | 2010-12-21 | Telecommunication Systems, Inc. | System for efficiently handling cryptographic messages containing nonce values |
US20030050834A1 (en) * | 2001-09-07 | 2003-03-13 | Sergio Caplan | System and method for dynamic customizable interactive portal active during select computer time |
US7107316B2 (en) * | 2001-09-20 | 2006-09-12 | International Business Machines Corporation | Controlling throughput of message requests in a messaging system |
US20040068429A1 (en) * | 2001-10-02 | 2004-04-08 | Macdonald Ian D | Strategic organization plan development and information present system and method |
US7068309B2 (en) * | 2001-10-09 | 2006-06-27 | Microsoft Corp. | Image exchange with image annotation |
JP2004005492A (ja) * | 2002-04-26 | 2004-01-08 | Casio Comput Co Ltd | データ通信装置、データ通信システム、動画付き文書表示方法および動画付き文書表示プログラム |
EP2469716B1 (en) * | 2002-06-26 | 2013-12-04 | Yahoo! Inc. | System and method for communicating images between intercommunicating users |
US20040039781A1 (en) * | 2002-08-16 | 2004-02-26 | Lavallee David Anthony | Peer-to-peer content sharing method and system |
US20040041849A1 (en) * | 2002-08-30 | 2004-03-04 | Von Mock | Display screen saver with two way messaging capability and method therefor |
US20040104927A1 (en) * | 2002-09-16 | 2004-06-03 | Husain Syed Mohammad Amir | System and method for automatic software retrieval on a peer-to-peer network |
US20060168006A1 (en) * | 2003-03-24 | 2006-07-27 | Mr. Marvin Shannon | System and method for the classification of electronic communication |
US7496630B2 (en) * | 2003-05-06 | 2009-02-24 | At&T Intellectual Property I, L.P. | Adaptive notification delivery in a multi-device environment |
-
2003
- 2003-06-27 US US10/607,618 patent/US7660864B2/en not_active Expired - Lifetime
-
2004
- 2004-05-26 WO PCT/US2004/016569 patent/WO2004107125A2/en active Application Filing
- 2004-05-26 KR KR1020057022641A patent/KR100758253B1/ko not_active IP Right Cessation
- 2004-05-26 EP EP04753400A patent/EP1631880A2/en not_active Withdrawn
- 2004-05-26 CN CNB2004800200375A patent/CN100483385C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101971599A (zh) * | 2007-06-27 | 2011-02-09 | 卡伦诺尔斯企业私人有限公司 | 通信的方法、系统和产品 |
CN103716139B (zh) * | 2013-12-10 | 2017-03-29 | 乐视网信息技术(北京)股份有限公司 | 一种信息推送处理方法和装置 |
CN104239130A (zh) * | 2014-08-15 | 2014-12-24 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
CN104239130B (zh) * | 2014-08-15 | 2020-09-11 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
WO2017113282A1 (zh) * | 2015-12-31 | 2017-07-06 | 富士通株式会社 | 网络消息通知装置、方法以及通信系统 |
CN108293061A (zh) * | 2015-12-31 | 2018-07-17 | 富士通株式会社 | 网络消息通知装置、方法以及通信系统 |
US10616953B2 (en) | 2015-12-31 | 2020-04-07 | Fujitsu Limited | Network message notification apparatus and method and communication system |
CN108293061B (zh) * | 2015-12-31 | 2021-03-19 | 富士通株式会社 | 网络消息通知装置、方法以及通信系统 |
CN105427856A (zh) * | 2016-01-12 | 2016-03-23 | 北京光年无限科技有限公司 | 一种面向智能机器人的约请数据处理方法和系统 |
CN105427856B (zh) * | 2016-01-12 | 2020-05-19 | 北京光年无限科技有限公司 | 一种面向智能机器人的约请数据处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US7660864B2 (en) | 2010-02-09 |
US20040243682A1 (en) | 2004-12-02 |
EP1631880A2 (en) | 2006-03-08 |
WO2004107125A3 (en) | 2005-09-22 |
CN100483385C (zh) | 2009-04-29 |
KR100758253B1 (ko) | 2007-09-12 |
WO2004107125A2 (en) | 2004-12-09 |
KR20060017820A (ko) | 2006-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1823332A (zh) | 用户通知的系统和方法 | |
CN1231028C (zh) | 在不同网络的匿名用户之间智能建立会话的分布式系统 | |
CN1299222C (zh) | 存在管理的实现 | |
CN1300677C (zh) | 分布式计算服务平台 | |
CN1222902C (zh) | 通信网中的方法和设备 | |
CN1222896C (zh) | 用户简档数据的管理 | |
CN1231016C (zh) | 用于多用户的通信基础结构方案 | |
CN1823492A (zh) | 对等环境中的用户交互作用系统和方法 | |
US20040243672A1 (en) | System and method for user interaction in a peer-to-peer environment | |
CN1665221A (zh) | 多点发送控制装置及方法 | |
CN1694402A (zh) | 信息发送方法、发送系统、信息提供装置和信息检索装置 | |
CN1677979A (zh) | 通过网络在计算机之间共享对象的系统和方法 | |
CN1836235A (zh) | 用于确定网络系统的用户之间的关系的系统和方法 | |
CN1906604A (zh) | 网络中资源信息的路由 | |
CN1842782A (zh) | 网络资源信息路由的服务器结构 | |
CN101044498A (zh) | 工作流服务体系结构 | |
CN1192098A (zh) | 分布式网络计算系统及该系统用的信息交换装置和方法 | |
CN1428033A (zh) | 语义信息网络 | |
CN1276575A (zh) | 数据库存取系统 | |
US20040243665A1 (en) | System and method for services provision in a peer-to-peer environment | |
CN1801727A (zh) | 一种网络服务信息处理系统及方法 | |
CN1692364A (zh) | 相互评价的系统和在同样系统中使用的终端设备和程序 | |
CN1533531A (zh) | 信息图像应用系统、信息图像管理装置、信息图像管理方法、内容信息图像、程序和记录介质 | |
CN1329791A (zh) | 交互式媒体系统 | |
CN101068261A (zh) | 用于推内容传送的插入登记方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090429 Termination date: 20100526 |