CN110875927B - 组织之间受信任的协作通信 - Google Patents
组织之间受信任的协作通信 Download PDFInfo
- Publication number
- CN110875927B CN110875927B CN201910811230.9A CN201910811230A CN110875927B CN 110875927 B CN110875927 B CN 110875927B CN 201910811230 A CN201910811230 A CN 201910811230A CN 110875927 B CN110875927 B CN 110875927B
- Authority
- CN
- China
- Prior art keywords
- organization
- application
- connection
- server
- org
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- 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/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
-
- 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/26—Special purpose or proprietary protocols or architectures
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
系统、方法和软件可以用于建立协作通信。在某些方面,服务器从第一组织的应用接收联系人搜索请求,联系人搜索请求包括联系人信息。服务器确定第二组织,其中第二组织连接到第一组织以使第一组织的用户能够搜索第二组织的用户目录。服务器确定第二组织的用户目录的可以由第一组织的用户搜索的子集。服务器向第二组织的应用发送联系人信息和所确定的第二组织的用户目录的子集的信息。服务器从第二组织的应用接收联系人搜索结果。服务器将接收到的联系人搜索结果发送给第一组织的应用。
Description
相关申请的交叉引用
本申请要求于2018年8月29日递交的美国专利申请No.16/116,445的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及组织之间的协作通信。
背景技术
私营组织和政府部门组织之间的协作和资源共享是一种日益增长的需求。现有的协作和资源共享解决方案更易于在内部(例如,在一个组织内部)建立和使用,但是将协作和资源共享扩展到外部具有挑战性,因为它需要组织相互信任。现今没有标准的、受控的且安全的方式在希望协作和/或共享资源的组织之间建立信任。
附图说明
图1是根据一些实现的示例组织连接(OC)系统。
图2示出根据一些实现的第二示例OC系统。
图3示出根据一些实现的示例协作模板。
图4示出根据一些实现的请求组织(Org-R)与目标组织(Org-T)之间的连接协议。
图5是示出根据一些实现的两个组织之间的连接建立的流程图。
图6示出根据一些实现的用于请求连接的网页。
图7示出根据一些实现的两个已连接组织之间的多个连接协议。
图8是示出根据一些实现的外部用户查找服务的流程图。
图9示出根据一些实现的用于设备共享的示例OC系统。
图10示出根据一些实现的状态图,该状态图示出OC服务器中的组织状态。
图11示出根据一些实现的状态图,该状态图示出OC服务器中的应用状态。
图12示出根据一些实现的状态图,该状态图示出OC服务器中的连接状态。
图13是示出根据本公开的一些实现的用于提供与所描述的算法、方法、功能、处理、流程和过程相关联的计算功能的计算机实现的系统的示例的框图。
各附图中相似的附图标记和标号指示相似的要素。
具体实施方式
本公开涉及组织之间受信任的协作通信。该公开描述了使应用的供应商能够定义特定于其应用的协议模板,并且使得使用这种应用的组织能够容易地就它们之间的协作和设备共享范围达成一致的方法。
在一些情况下,期望组织之间的安全通信或资源共享。例如,企业消息传递应用(例如,用于商业的SKYPE)通常允许用户搜索其自己的组织的用户目录,但不搜索另一组织的目录。在一些情况下,对于一个组织的用户来说,能够搜索其他组织的目录并将其他组织中的某人添加为联系人是有用的。这样,该用户不仅可以与他或她自己的组织内的联系人通信,还可以与来自其他组织的联系人通信。在一些情况下,协作通信还可以实现组织之间的安全资源共享或信息共享,诸如共享来自不同组织的各种设备(例如,物联网(IoT)设备)的数据。例如,对于警察局来说,访问不同组织的监控摄像机来进行犯罪调查是有用的。
在一些情况下,组织连接(OC)系统可用于实现组织之间的安全协作通信。OC系统包括注册到OC系统的组织的目录。注册到OC系统的组织被称为OC组织。OC系统还存储这些OC组织之间的受信任关系,以便每个OC组织可以通过与其信任的组织建立OC连接来建立自己的受信任网络。为了注册到OC系统,组织可以提交包括组织的信息在内的注册请求,并且OC系统可以验证组织的标识(例如,OC系统验证声称为白宫的组织确实是白宫)。在组织注册到OC系统之后,组织可以决定它可以信任哪些其他OC组织以进行协作通信。例如,已验证组织的目录包括数千个已注册的组织。白宫可能只信任某些政府机构,并且允许这些政府机构连接到白宫以进行协作通信。这种受信任关系也存储在OC系统(例如,OC服务器)中。
使用由OC系统提供的API或利用已验证OC组织之间的受信任关系的应用被称为OC应用(或者基于OC信任的应用),例如,黑莓信使(BLACKBERRY MESSENGER)企业版(BBME)。OC应用被注册到OC系统。OC应用的用户与其他人可以在他们的组织的受信任网络中进行协作通信。每个OC应用可以包括一个或多个OC服务。OC服务可以使用OC系统提供的OC API来利用已验证OC组织之间的受信任关系。例如,BBME应用可以包括用户查找(第一OC服务),以便组织(Org)A的用户可以查找Org-B的用户,例如,通过人名来查找。BBME应用还可以包括协作室(第二OC服务),以便Org-A和Org-B的用户都可以加入由BBME提供的同一个在线会议室。
OC组织可以与另一个OC组织建立连接。连接可以跨受信任的组织来提供协作通信或信息共享。例如,连接可以在已连接组织之间提供受控且安全的联系人目录共享。连接还可以在已连接组织之间提供受控且安全的设备共享(例如,诸如安全摄像机和火灾传感器/警报的IoT设备)。例如,请求组织(Org-R)的信息技术(IT)管理员可以向OC系统发送连接请求以与目标组织(Org-T)连接。在一些情况下,一个连接使用一个OC应用(例如,Org-T和Org-R都使用相同的应用BBME)。可以在两个组织之间建立多个连接。例如,Org-R可以与Org-T建立用于BBME的第一连接,以便Org-R的用户可以搜索Org-T的联系人目录(搜索可以是一个方向的或相互的),并且将Org-T的用户添加为BBME中的联系人。Org-R还可以与Org-T建立用于OUTLOOK的第二连接,以便Org-R的用户可以搜索Org-T的电子邮件目录,并且通过搜索该Org-T用户的姓名自动获得Org-T用户在OUTLOOK中的电子邮件地址(搜索可以是一个方向的或相互的)。在一些其他情况下,一个连接可以使用多个OC应用。例如,Org-R使用BBME,而Org-T使用不同的聊天应用,仍然可以建立连接,以便Org-R和Org-T的用户可以相互聊天。此外,如稍后将讨论的,在一些情况下,可以在一个Org-R和多个Org-T之间建立连接,以便在Org-R和多个Org-T之间实现信息共享。
每个连接与连接协议相关联。连接协议定义了已连接组织之间的协作范围或连接的能力。协议可以指定由与连接相关联的OC应用提供的每个服务的协作范围。连接协议可以包括用户的数量、用户的类型、资源的数量或资源的类型。例如,当Org-R的管理员(管理员R)向OC系统发送连接请求,请求为BBME应用建立与Org-T的连接时,管理员R和Org-T的管理员(管理员T)可以协商以达成连接协议。例如,协议可以指定:对于用户查找服务,Org-T仅可以搜索Org-R的某些部门(例如,仅销售部门的用户对Org-T可见)。协议还可以指定:对于协作室服务,有限数量的Org-T用户可以加入协作室(例如,最多4个Org-T用户可以加入协作室)。如稍后将讨论的,协议可以存储在OC系统(例如,OC服务器)或OC应用(例如,后端OC应用)中。当Org-R或Org-T的用户请求OC应用的服务时,执行连接协议以确定是否允许用户执行所请求的服务。例如,当Org-R用户请求加入协作室时,确定协作室中的Org-R用户的数量是否已达到协议中指定的阈值。如稍后将讨论的,协议可以由OC系统(例如,OC服务器)或OC应用(例如,后端OC应用)强制执行。
图1是根据一些实现的示例OC系统100。在一个实现中,服务器从第一组织的应用接收联系人搜索请求,联系人搜索请求包括联系人信息。服务器确定第二组织,其中第二组织连接到第一组织以使第一组织的用户能够搜索第二组织的用户目录。服务器确定第二组织的用户目录的可以由第一组织的用户搜索的子集。服务器向第二组织的应用发送联系人信息和所确定的第二组织的用户目录的子集的信息。服务器从第二组织的应用接收联系人搜索结果。服务器将接收到的联系人搜索结果发送给第一组织的应用。
所描述的OC系统可以提供已验证组织(即,OC组织)的目录和它们之间的受信任连接。应用开发者可以经由应用编程接口(API)来利用OC系统开发基于OC信任的应用。OC组织的不管理员可以通过以下方式建立受信任网络:请求与其信任的OC组织连接,或者接受来自其信任的OC组织的连接请求。OC组织的最终用户可以使用基于OC信任的应用来以受控方式在其组织的受信任网络中安全地进行通信和协作,以便组织授权人员(例如,IT管理员)可以设置组织之间的协作范围。例如,组织授权人员可以选择哪些其他组织可以查看其组织。在一个示例中,对于外部查找操作,授权人员可以选择隐藏其用户中的一些,使得其他组织的用户将无法找到这些用户。在另一示例中,对于企业对企业(B2B)设备共享或资源共享操作,授权人员可以选择哪些设备/资源可用于与其受信任的伙伴中的每一个进行协作。OC系统提供了一个平台来连接多个组织并在这些组织之间实现安全通信。例如,一个组织的用户可以从外部已连接组织搜索联系人,这是当前系统无法实现的。通过OC系统,可以共享由不同组织的设备(例如,IoT设备)收集的数据,从而可以部署更少的设备。
示例OC系统100包括:OC服务器102、OC客户端120和122、后端OC应用104、112和116以及对应的前端OC应用108、110、114和118。OC服务器与OC客户端和后端OC应用相连接。OC客户端可以是可由组织管理员访问的客户端软件、硬件或软件和硬件的组合(或部署在管理员的计算设备上)。例如,OC客户端可以是组织管理员用于与OC服务器102交互的前端用户界面(例如,基于web的用户界面)。每个组织具有其自己的OC客户端。例如,Org-1具有OC客户端120,Org-2具有OC客户端122。Or g-1的管理员可以使用OC客户端120来提交向OC服务器102注册Org-1的注册请求。已注册的OC组织的目录可以存储在OC服务器102中。注册之后,Org-1的管理员还可以使用OC客户端120来建立其受信任网络。例如,OC客户端120可以显示被设置为对Org-1可见的已注册的OC组织的目录。Org-1管理员可以选择Org-1信任与其进行协作通信的组织,且向OC服务器102发送对应的连接请求。这种受信任关系可以存储在OC服务器102中。Org-1还可以使用OC客户端120来协商与连接相关联的协议。
OC应用可以包括与前端客户端组件连接的后端服务器组件。后端OC应用可以部署在服务器处或部署在云计算环境中。前端OC应用部署在最终用户的计算设备(例如,移动电话、台式机或膝上型计算机)处。前端0C应用可以为最终用户提供用户界面以使用OC应用。后端OC应用可以包括一个或多个OC服务,例如,图1中所示的OC服务106-1和106-2。OC服务可以使用OC API来访问OC后端服务。OC应用可以直接或经由OC服务来使用OC API。
在一些情况下,同一后端OC应用可以支持多个组织,但是不同的组织具有其自己的前端OC应用。例如,Org-1和Org-2都使用后端OC应用104(例如,BBME应用)来提供协作信使服务。后端BBME应用104连接到Org-1的前端BBME应用108和Org-2的前端BBME应用110二者。在一些其他情况下,对于同一OC应用,不同的组织具有其自己的后端OC应用。例如,对于OUTLOOK应用,Org-1具有其自己的与Org-1的前端OUT LOOK应用114连接的后端OUTLOOK应用112,Org-2具有其自己的与Org-2的前端OUTLOOK应用118连接的后端OUTLOOK应用116。在图1中,可以在Org-1和Org-2之间建立两个连接,第一连接与用于协作信使服务的BBME相关联,第二连接与用于协作电子邮件服务的OUTLOOK相关联。
如前所述,在一些其他情况下,连接可以使用不同的应用。例如,Org-1使用OUTLOOK且Org-2使用另一种电子邮件应用(例如,EmailX)来提供协作通信。在这种情况下,Org-1具有其自己的后端OUTLOOK应用,Org-2具有其自己的后端EmailX应用,其中,当Org-1的后端OUTL OOK应用和Org-2的后端EmailX应用正在使用OrgConnect API(换言之,实体116可以是后端EmailX应用而不是后端OUTLOOK应用)时,OC服务器实现Org-1的用户和Org-2的用户之间的协作。
图2示出根据一些实现的第二示例OC系统200。如上所述,OC系统200包括与各种OC应用204连接的OC服务器202,其支持跨多个受信任组织(例如,组织O。206)的协作。
OC连接可以包括定义两个或多个已连接组织之间的协作的连接信息。与连接相关联的连接信息可以包括:
(1)组织连接性:与连接相关联的已连接组织的列表,例如,在一对一协作的情况下的两个组织(一个Org-R和一个Org-T),或者在一对多协作的情况下的多个组织(Org-R和多个Org-T)。
(2)连接协议:定义了实际的协作。如下所述,连接协议基于协作模板(或协议模板)。该模板是该连接所涉及的应用的能力的共同特性。
(3)连接历史:可以包括但不限于:何时由谁做出的连接请求/接受/取消、由Org-R和Org-T的管理员提供的原因、更新协议(包括经协商的协议版本)。
连接请求可以由Org-R向一个或多个Org-T发起,并且基于协作模板。协作模板定义了可用于两个或更多个OC组织之间的协作的OC应用的协作能力。协作模板被划分为几个部分,每个部分与一个OC服务相对应。在一些情况下,如果连接位于使用相同OC应用的组织之间,则该应用的开发者可以设置模板并且将该模板作为OC应用的一部分注册到OC服务器。如果连接位于使用多个OC应用的组织之间,则相应应用的开发者可以就协作模板达成一致。协作模板可以存储在OC服务器处。协作模板也可以由相关联的OC应用签名(例如,使用OC应用的加密密钥)。
图3示出根据一些实现的示例协作模板。协作模板306提供用于指定BBME应用的协作能力的模板。BBME应用302的开发者可以向OC服务器304注册协作模板306。协作模板306包括用于用户查找服务的第一部分和用于协作室服务的第二部分。
当连接Org-1和Org-2以使用BBME在两个组织之间进行联系人查找时,用于用户查找服务的部分可以指定查找能力。例如,该部分可以指定:
(1)相互查找或一个方向的查找:例如,在一些情况下,Org-1可以看到Org-2的用户目录,且Org-2也可以看到Org-1的用户目录。在一些情况下,Org-1允许Org-2看到Org-1的用户目录,但是Org-2不允许Org-1看到Org-2的目录。
(2)对其他组织可见或不可见的白名单/黑名单用户(或组):例如,在一些情况下,Org-1允许Org-2仅搜索Org-1的用户目录的一部分(例如,Org-2仅能看到Org-1在销售部门中的用户)。在一些情况下,Org-1不允许Org-2搜索Org-1的用户目录的某个部分(例如,Org-2无法看到Org-1中VP级别以上的用户)。
(3)联系人字段的过滤,即,指定哪种用户的信息对其他组织可见。例如,Org-1允许Org-2搜索Org-1用户的手机和电子邮件信息,但是Org-1可能仅允许Org-3搜索Org-1用户的电子邮件信息并隐藏手机信息。
用于协作室服务的部分可以指定允许其他组织的用户访问协作室的规则。例如,组织允许来自已连接组织的最多4个参与者加入协作室,参与者之一必须具有产品经理的头衔,并且参与者必须属于某个组(如果他们不再在该组中,则他们无法再访问协作室)。
如果OC应用提供安全摄像机之间的图像/视频共享(或IoT设备之间的数据共享),则该OC应用的协作模板可以包括指定能力信息的部分,例如:
(1)对其他组织可见或不可见的白名单/黑名单摄像机
(2)相互共享还是一个方向共享(例如,在一些情况下,Org-1可以看到Org-2的摄像机,且Org-2也可以搜索Org-1的摄像机。在一些情况下,Org-1可以看到Org-2的摄像机,但是Org-2无法看到Org-1的摄像机。)
(3)馈送(Feed)共享或基于图像识别的共享(例如,基于汽车或面部图像)
协作模板可以包含:所有已连接组织需要达成一致的条款,以及每个组织可以在无需其他已连接组织批准的情况下改变的条款。例如,对于用户查找服务,其中任何组织可以在无需批准的情况下(或甚至无需通知其他组织的情况下)改变其用户中的一些对任何其他已连接组织的可见性。
OC系统可以连接数千个组织,并且可以涉及数百万个实时计算。根据应用的处理能力,可以在OC服务器和应用之间共享计算负荷。为了分配计算负荷,应用3O2可以在应用注册期间向OC服务器304发送其处理能力。表308指示了三种可能的应用处理能力:完全能力、部分能力或无能力。
在应用具有完全OC处理能力的情况下,应用存储包括组织连接性和连接协议的连接信息。当最终用户发送使用应用来进行协作通信的请求时,应用基于所存储的组织连接性和连接协议来决定是否可以处理该请求。例如,连接Org-1和Org-2以使BBME用户能够进行外部联系人查找。当Org-1的BBME用户键入人名并且请求在Org-2中进行外部搜索时,BBME后端应用基于所存储的组织连接性验证Org-1和Org-2被连接,并执行连接协议(例如,基于连接协议中的白名单确定用户目录的可搜索子集)。换言之,应用使用所存储的组织连接性和连接协议来启用遵守连接属性的外部协作。
在应用具有部分OC处理能力的情况下,OC服务器存储连接信息,且应用执行连接协议。例如,应用可以查询OC服务器以验证Org-1和Org-2是否连接。如果连接,则应用从OC服务器取回连接协议,并且应用启用遵守取回的连接协议的外部协作。
在应用不具有OC处理能力的情况下,OC服务器存储连接信息并且执行连接协议。应用向OC服务器提供信息,该信息可以包括:应用用户标识、进行请求的用户所属的组织(例如,Org-1)、目标组织是哪个(Org-2)以及目标用户。OC服务器验证Org-1和Org-2是否连接,并验证这种连接是否正在使用基于应用协作模板的连接协议。验证成功之后,OC服务器使用连接信息启用遵守连接协议的外部协作。
图4示出根据一些实现的在Org-R 402和Org-T 404之间发送的示例连接信息410。连接信息410包括连接协议406。连接协议406基于协作模板指定实际协作。例如,协作模板可以包括针对每个服务的各种协作选项,并且连接协议指定针对该连接选择的选项。连接协议406可以包括针对所有服务的公共部分和针对每个服务的单独部分。每个部分由Org-R、Org-T和OC系统(或OC服务器)分别签名。如前所述,连接信息410还包括组织连接信息412和连接历史信息414。
图10示出根据一些实现的状态图1000,该状态图示出OC服务器中的组织状态。组织可以使用OC客户端向OC服务器发送注册请求。注册请求可以包括组织注册信息。例如,组织注册信息可以包括以下一项或多项:组织名称、地址、网站、行业部门、数据通用编号系统(DUNS)编号(如果可用)、可见性设置(例如,指定它信任与其建立连接的组织)、联系人信息和组织所有者。
在1002处,在接收到注册请求之后,OC服务器存储组织信息并将组织标记为“待定”状态。然后,OC服务器验证组织注册信息。该验证可以使用可用系统/数据库(如DUNS或其他可访问的数据库)的API自动完成和/或通过手动验证完成,其中,凭借手动验证,OC操作人员例如通过联系组织、检查组织和组织联系人的背景来手动验证组织信息。在1006处,如果组织被成功验证,则OC服务器将组织状态更新为“批准”。在1004处,如果组织未被成功验证,则OC服务器将状态更新为“拒绝”并且向组织通知拒绝的原因。
在组织注册到OC服务器之后,OC服务器允许组织经由OC客户端安全使用以下OC能力,包括但不限于:连接管理(例如,请求连接,取消连接请求,或接受来自其他组织的连接,以及删除到其他OC组织的连接)、管理员角色分配、组织简档编辑、对审核日志的访问以及对OC收件箱/发件箱的访问。
OC服务器可以建立组织特定密钥对。例如,组织可以携带其自己的密钥和相关联的公共证书,并且将证书提供给OC服务器(或OC系统)。备选地,OC客户端可以生成密钥对,获取使用周知的证书机构(CA)准备的证书,并将该公共证书提供给OC服务器。另一种可能性是OC服务器可以生成密钥对并将私钥提供给组织。
注意,图10可以包括附加状态。例如,可以要求移除已批准的组织(“通过组织请求移除”状态),或者可以因滥用而被移除(“因滥用而被移除”状态)。
图11示出根据一些实现的状态图1100,该状态图示出OC服务器中的应用状态。OC客户端可以部署在OC应用/服务开发者的设备上。开发者可以使用OC客户端的用户界面向OC服务器发送注册请求,并且向OC服务器注册应用/服务。例如,注册请求可以包括应用信息,应用信息包括以下一项或多项:开发者组织名称、联系人信息、DUNS信息(如果可用)、应用名称、应用描述、已签名的协作模板(例如,由应用签名)、用于从OC服务器接收OC通知的API信息、应用证书和应用处理能力。
在1102处,在接收到注册请求之后,OC服务器存储请求中的信息,并将该应用标记为“待定”状态。与组织注册类似,OC服务器在可能的情况下以编程方式验证开发者的信息(例如,基于DUNS信息)和/或通过OC操作人员手动验证。在1106处,如果应用被成功验证,则OC服务器将应用状态更新为“可用”(即,可供OC组织使用)。在1104处,如果应用未被成功验证,则OC服务器将状态更新为“拒绝”并且向开发者通知拒绝的原因。在一些情况下,OC服务器可以经由OC客户端向应用/服务开发者发送信息。OC服务器可以发送信息,包括但不限于:应用标识符、用于测试和生产的API端点信息以及OC应用批准状态。
在应用成功注册到OC服务器之后,OC服务器将该应用添加到对OC组织可用的应用列表。当在一些OC组织之间建立连接时,可以选择这样的应用以用于在已连接组织之间进行通信、协作、工作流和/或设备共享。
在一些情况下,每当使用该应用建立新连接时,OC服务器使用由开发者提供的API(例如,在应用注册请求中提供的API信息)来向应用提供通知。根据应用处理能力,通知可以包括如前所述的连接信息。注意,图11可以包括附加状态,例如,暂停、因开发者请求而被移除、或因滥用而被移除。
图5是示出根据一些实现的两个组织之间的连接建立的流程图500。在步骤1,管理员R 502使用Org-R的OC客户端(OC客户端-R)506来发起连接建立。OC客户端-R 506向OC服务器510发送发起请求。OC服务器510向OC客户端-R 506发送对Org-R可见的OC组织的列表(每个组织可以向所选择的组织隐藏自己)。OC服务器510还可以向OC客户端-R 506发送OC应用的列表。OC客户端-R 506可以显示可见OC组织的列表和应用列表,以便管理员R 502可以选择连接的目标组织(Org-T)和与该连接相关联的应用。在管理员R 502选择应用之后,OC服务器510向OC客户端-R 506发送与所选择的应用相关联的协作模板。使用OC客户端-R506,管理员R 502基于协作模板(例如,填写协作模板或检查协作模板中的一个或多个框)来建立初始连接协议。
例如,图6示出根据一些实现的用于请求连接的网页600。OC客户端-R可以显示供管理员R填写的网页600。管理员R可以指定连接的Org-T和与该连接相关联的OC应用(例如,BBME)。
在步骤2,OC客户端-R 506向OC服务器510发送连接请求。连接请求包括Org-T和Org-R的列表以及连接协议。连接请求可以由Org-R的私钥签名。协作模板由应用签名。在接收到连接请求之后,OC服务器510将新连接存储在OC服务器510处,并且将该连接标记为“待定”状态(如图12所示)。
在步骤3,基于连接请求,OC服务器510向管理员T 504发送连接请求通知。可以通过任何常规方法(例如,电子邮件、OC收件箱、电话、SMS或警报通知)来传递通知。通知可以包括连接请求的信息。管理员T 504可以使用Org-R签名来验证连接请求。协作模板(或来自Org-R的初始连接协议)可以由应用签名来验证(在多个应用使用各个应用的签名的情况下)。
在步骤4,Org-T的管理员(管理员T)504可以使用OC客户端-T 508来接受或拒绝连接请求。
在步骤5,OC服务器510从Org-T接收该接受和/或拒绝。如果至少一个Org-T接受连接请求,则建立连接。例如,如果Org-T接受来自Org-R的连接协议,则它可以接受连接请求。Org-T还可以与Org-R协商连接协议。OC服务器510可以更新与连接相关联的连接信息(例如,组织连接性和连接协议)。对于任何谢绝/拒绝连接的管理员T,将从组织连接性中移除其组织。OC服务器510将接受连接请求的组织的信息添加到与该连接相关联的连接信息(组织连接性)。当Org-T接受连接时,连接信息由Org-T的私钥签名。OC客户端-T 508可以向OC服务器510发送由应用Org-T和Org-R签名的连接协议。OC服务器510可以存储连接信息(组织连接性和连接协议)。OC服务器510还将连接状态标记为“连接”(如图12所示)。如果没有管理员T接受连接请求,则不连接建立。
在步骤6,OC服务器510经由OC客户端-R 506或其他常规通信手段(例如,聊天或电子邮件)向管理员R 502通知来自Org-T的接受和拒绝。
在步骤7,OC服务器510向后端OC应用512发送连接信息。OC服务器510用OC服务器的私钥对连接信息进行签名。换言之,在步骤7中发送的连接信息包括Org-R签名、Org-T签名和OC服务器签名。步骤7中的连接协议还包括具有应用签名的协作模板。
在步骤8,后端应用512向后端OC服务514发送连接协议。如前所述,连接协议包括用于不同OC服务的单独部分,并且应用512将连接协议的对应部分发送给每个OC服务。例如,如果连接使用用户查找服务,则应用512向用户查找服务发送用户查找的协议部分(例如,406中的用户查找服务部分)。OC服务514可以验证连接信息上的Org-R、Org-T和OC服务器签名。如前所述,根据OC应用的处理能力(例如,图3中的完全能力、部分能力或无能力),OC应用512可以存储连接信息,或者可以在跨组织协作期间从OC服务器510取回连接信息(例如,通过查询OC服务器510)。
在一些情况下,当Org-R向Org-T发送连接请求时,在OC服务器中创建所提议的连接。当Org-T接受连接请求时,在Org-R和Org-T之间建立连接。当更多的Org-Ts接受连接请求时,这些组织被添加到连接信息中(例如,将它们添加到组织连接性中)。如果任何组织提议改变连接请求(例如,改变连接协议),则创建单独的连接。当任何Org-T取消连接时,从连接信息中移除该Org-T(例如,从组织连接性中移除)。
图7示出根据一些实现的两个已连接组织之间的多个连接协议。图7示出每个连接与应用相关联并且具有其自己的连接协议。对于每个连接,相关联的应用可以提供多个服务,并且每个服务在连接协议中都有自已的协议部分。连接也可以与多于一个应用相关联,例如,当Orgi使用Appi且Orgj使用Appj时,在这种情况下,连接协议将基于在Appi和Appj的供应商之间达成一致的协议模板。
图12示出根据一些实现的状态图1200,该状态图示出OC服务器中的连接状态。如前所述,在任何Org-T接受连接请求之前,连接具有“待定”状态1202,并且在至少一个Org-T接受连接请求之后,连接具有“连接”状态1204。在OC服务器接收到断开消息之后,状态从“连接”1204转换到“未连接”1206。在OC服务器接收到取消或谢绝消息之后,状态从“待定”1202转换到“未连接”1206。
图8是示出根据一些实现的外部用户查找服务的流程图800。例如,Org-1使用OC系统与Org-2和Org-3连接,并且允许Org-1用户在聊天应用(例如,BBME)中跨三个组织搜索用户。当Org-1用户通过聊天应用的用户界面选择人(例如,通过键入人的姓名、选择表示人的图标、或者使用其他用户界面机制)以用于联系人搜索时,聊天应用可以在Org-1中显示具有该姓名的联系人以及指示外部联系人搜索可用的图标。当Org-1用户点击图标时,聊天应用可以显示Org-2和Org-3中的具有该姓名的联系人。在图8中,OC应用808支持Org-1和Org-2二者。换言之,OC应用808可以是图1的OC应用104。
在步骤1,Org-1用户802使用前端OC应用(例如,BBME)请求外部联系人搜索(例如,通过点击指示外部联系人搜索可用的图标)。前端OC应用向后端OC应用808发送外部搜索请求,其中应用808可以支持多种服务(例如,用户查找服务810和诸如协作室服务之类的一些其他服务)。联系人搜索请求可以包括用于搜索的联系人姓名。备选地,联系人搜索请求还可以是针对Org-1用户802已根据协议访问的联系人的列表的全面(blanket)请求。
如果后端OC应用808具有完全OC处理能力(即,后端应用808存储连接信息并且可以执行连接协议),则基于所存储的连接信息,后端应用808可以确定连接到Org-1的用于外部用户查找的组织(例如,Org-2)。后端OC应用808还可以执行与用户查找服务相对应的协议部分。例如,后端应用808可以确定对Org-1可见的Org-2用户目录的子集(例如,按照协议,Org-1仅能搜索Org-2用户目录的子集,并且还仅显示所允许的联系人字段)。
如果后端OC应用808具有部分OC处理能力(即,OC服务器806存储连接信息且后端应用808执行连接协议),则后端应用808可以向OC服务器806查询连接到Org一1的用于外部用户查找的组织(例如,Org-2)。然后,后端应用808从OC服务器806取回连接协议,并且确定对Org-1可见的Org-2用户目录的子集。
如果后端OC应用808不具有OC处理能力(即,OC服务器806存储连接信息并执行连接协议),则后端应用808可以向OC服务器806发送用户查找请求(例如,包括进行请求的用户802的应用用户标识和进行请求的用户802所属的组织)。OC服务器806可以确定连接到Org-1的用于外部用户查找的组织(例如,Org-2)和对Org-1可见的Org-2用户目录的子集。OC服务器806可以向后端应用808发送所确定的Org-2用户目录的子集。
在步骤2,后端OC应用808向查找服务810发送搜索请求。搜索请求可以包括:已连接组织的信息、协议执行的结果(例如,用于搜索的Org-2用户目录的子集)和用于搜索的联系人姓名。
在步骤3,基于步骤2的搜索请求,查找服务810在已连接组织中执行用户查找。例如,查找服务810可以在云计算环境中搜索用户目录,如步骤4所示。
在步骤5,查找服务810向后端应用808发送搜索结果。
在步骤6,后端应用808向前端应用发送搜索结果,并且前端应用将搜索结果显示给最终用户802。
在一些其他实现中,Org-1用户可以使用前端OC应用(例如,BBME)请求外部联系人搜索。BBME前端应用可以向Org-1的BBME后端应用发送请求,并且Org-1的BBME后端应用将请求转发给OC服务器。该请求可以包括用于搜索的联系人姓名。基于所存储的连接信息,OC服务器可以使用BBME应用找到连接到Org-1的组织。对于每个这样的已连接组织,OC服务器确定对Org-1可见的用户目录的子集。OC服务器可以指示已连接组织的BBME后端应用从识别出的用户目录的子集中提供联系人搜索结果。例如,OC服务器可以向每个已连接组织的BBME后端应用发送识别出的用户目录的子集和联系人姓名的信息。每个已连接组织的BBME后端应用在识别出的用户目录的子集内执行联系人姓名搜索,并且将搜索结果发送回OC服务器。OC服务器从所有已连接组织收集搜索结果,并且将它们发送给Org-1的BBME后端应用,该BBME后端应用将结果进一步转发给进行请求的Org-1用户的前端BBME应用。Org-1及其已连接组织可以共享相同的BBME后端应用,或者每个组织可以具有其自己的BBME后端应用。
图9示出根据一些实现的用于设备共享的示例OC系统900。OC系统900包括与视频监控应用904连接的OC服务器902,其支持跨多个组织(例如,组织Oi至Op)的摄像机共享。例如,组织Oo可以访问由组织Op拥有的摄像机(例如,摄像机906-1和906-2)的视频。例如,警察局可以访问来自各种位置(例如百货商店和医院)的视频以搜索罪犯。
以下是使用OC应用(例如,视频管理系统(VMS)应用)来访问来自外部组织的视频的两个示例。在第一示例中,摄像机共享基于请求地理区域。例如,Org-1用户使用VMS前端应用向所有连接到Org-1的组织请求地理区域(或馈送区域)的监控视频。VMS前端应用向Org-1的VMS后端应用发送请求,并且Org-1的VMS后端应用将请求转发给OC服务器。基于所存储的连接信息,OC服务器可以使用VMS应用找到连接到Org-1的组织。对于每个这样的连接组织,OC服务器确定哪些摄像机对Org-1可见(组织可以仅允许其他组织访问其摄像机中的一些)。OC服务器可以确定覆盖所请求区域的对Org-1可见的摄像机的子集。OC服务器可以指示已连接组织的VMS后端应用提供来自识别出的摄像机的子集的视频/图像。在一些情况下,可以提供摄像机的列表,以便用户可以选择一个或多个摄像机以获得视频/图像。在一些情况下,可以在列表中提供与这些摄像机相关联的信息(例如,位置、分辨率、类型),以帮助用户进行选择。OC服务器可以将所提供的视频/图像转发给Org-1的VMS后端应用,Org-1的VMS后端应用将视频/图像进一步转发给进行请求的Org-1用户处的前端VMS应用。Org-1及其已连接组织可以共享相同的VMS后端应用,或者每个组织具有其自己的VMS后端应用。
在第二示例中,摄像机共享基于图像识别。例如,Org-1用户使用VMS前端应用输入图像(例如,嫌疑人的面部、汽车或枪)并且定义所请求的监控区域(例如,用于搜索区域中的嫌疑人)。VMS前端应用向Org-1的VMS后端应用发送图像和所请求的区域,并且Org-1的VMS后端应用将信息转发给OC服务器。基于所存储的连接信息,OC服务器使用具有图像识别能力的VMS应用找到连接到Org-1的组织(一些组织可能不具有图像识别能力)。对于每个这样的已连接组织,OC服务器确定哪些摄像机对Org-1可见。OC服务器还确定覆盖所请求区域的对Org-1可见的摄像机的子集。然后,一旦VMS应用从识别出的摄像机的子集中识别出图像,OC服务器就指示已连接组织的VMS应用提供馈送。OC服务器可以将所提供的馈送转发给Org-1的VMS后端应用,Org-1的VMS后端应用将馈送进一步转发给进行请求的Org-1用户处的前端VMS应用。Org-1及其已连接组织可以共享相同的VMS后端应用,或者每个组织具有其自己的VMS后端应用。在该通信中,OrgConnect可能无法看到真实的图片或馈送,因为可能在应用后端之间应用加密。
图13是示出根据本公开的实施方式的用于提供与所描述的算法、方法、功能、处理、流程和过程相关联的计算功能的计算机实现的系统1300的示例的框图。在所示的实现中,系统1300包括计算机1302和网络1330。例如,OC服务器102可以由计算机402实现。
示出的计算机1302旨在包括任意计算设备,例如服务器、台式计算机、膝上型/笔记本计算机、无线数据端口、智能电话、个人数字助理(PDA)、平板计算机、这些设备内的一个或多个处理器、另一计算设备、或计算设备的组合(包括计算设备的物理和/或虚拟实例(或计算设备的物理和/或虚拟实例的组合))。附加地,计算机1302可以包括可以接受用户信息的输入设备(例如键区、键盘、触摸屏、另一输入设备或输入设备的组合)、以及输出设备(该输出设备在图形型用户界面(UI)(或GUI)或其他UI上传送与计算机1302的操作相关联的信息,包括数字数据、视觉、音频、其他类型的信息或这些类型的信息的组合)。
计算机1302可以用作用于执行本公开中描述的主题的客户端、网络组件、服务器、数据库或其他持久性存储器的分布式计算系统、或其他组件、或它们的组合。示出的计算机1302可通信地与网络1330耦接。在一些实现中,计算机1302的一个或多个组件可以被配置为在包括基于云计算、本地、全局、或其他环境在内的环境(或者环境的组合)中操作。
从高层面来看,计算机1302是可操作用于接收、发送、处理、存储或管理与所描述的主题相关联的数据和信息的电子计算设备。根据一些实现,计算机1302还可以包括或可通信地耦接到服务器,包括应用服务器、电子邮件服务器、web服务器、缓存服务器、流传输数据服务器或其他服务器、或服务器的组合。
计算机1302可以通过网络1330(例如,从在另一台计算机1302上执行的客户端软件应用)接收请求,并且通过使用软件应用或软件应用的组合处理接收到的请求来响应接收到的请求。另外,还可以从内部用户(例如,从命令控制台或通过其他内部访问方法)、外部或第三方、或其他实体、个人、系统或计算机向计算机1302发送请求。
计算机1302的每个组件可以使用系统总线1303进行通信。在一些实现中,计算机1302的任意或所有组件(包括硬件、软件或硬件和软件的组合)可以使用API 1312、服务层1313、或API 1312和服务层1313的组合,通过系统总线1303进行接口交互。API 1312可以包括针对例程、数据结构和对象类的规范。API 1312可以是独立于或依赖于计算机语言,并且指的是完整的接口、单个功能或甚至是一组API。服务层1313向计算机1302或可通信地耦接到计算机1302的其他组件(无论是否被示出)提供软件服务。计算机1302的功能可以对于使用该服务层1313的所有服务消费者是可访问的。软件服务(例如由服务层1313提供的软件服务)通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是以JAVA、C++、另一计算语言编写的软件、或者可以是以可扩展标记语言(XML)格式、另一格式或格式组合提供数据的计算语言的组合编写的软件。虽然被示为计算机1302的集成组件,但是备选实现可以将API 1312和/或服务层1313示为作为相对于计算机1302的其他组件或可通信地耦接到计算机1302的其他组件(无论是否被示出)独立的组件。此外,在不脱离本公开的范围的情况下,API 1312和/或服务层1313的任意或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或副模块。
计算机1302包括接口1304。虽然被示为单个接口1304,但是可以根据计算机1302的特定需要、期望或特定实现而使用两个或更多个接口1304。计算机1302使用接口1304与在分布式环境中通信地链接到网络1330的另一计算系统(无论是否示出)通信。一般地,接口1304可操作为与网络1330通信并且包括以软件、硬件或软件和硬件的组合编码的逻辑。更具体地,接口1304可以包括支持与通信相关联的一个或多个通信协议的软件,使得网络1330或接口1304的硬件可操作为在所示出的计算机1302内部和外部传送物理信号。
计算机1302包括处理器1305。虽然被示为单个处理器1305,但是可以根据计算机1302的特定需要、期望或特定实现而使用两个或更多个处理器1305。一般地,处理器1305执行指令并操纵数据以执行计算机1302的操作以及如本公开中所描述的任何算法、方法、功能、处理、流程和过程。
计算机1302还包括数据库1306(该数据库1106可以保存计算机1302的数据)、通信地链接到网络1330的另一个组件(无论是否示出)、或者计算机1302和另一个组件的组合。例如,数据库1306可以是存储与本公开一致的数据的内部存储器、常规或其他类型的数据库。在一些实现中,根据计算机1302的特定需要、期望或特定实现和所描述的功能,数据库1306可以是两个或更多个不同数据库类型(例如,混合的内部存储器和常规数据库)的组合。尽管被示出为单个数据库1306,根据计算机1302的特定需要、期望或特定实现和所描述的功能,可以使用相似或不同类型的两个或更多个数据库。虽然数据库1306被示出为计算机1302的集成组件,但是在备选实施方式中,数据库1306可以在计算机1302的外部。
计算机1302还包括存储器1307(该存储器1107可以保存计算机1302的数据)、通信地链接到网络1330的另一个组件或多个组件(无论是否示出)、或者计算机1302和另一个组件的组合。存储器1307可以存储与本公开一致的任意数据。在一些实现中,根据计算机1302的特定需要、期望或特定实现和所描述的功能,存储器1307可以是两个或更多个不同类型的存储器的组合(例如,半导体和磁存储器的组合)。尽管被示出为单个存储器1307,根据计算机1302的特定需要、期望或特定实现和所描述的功能,可以使用相似或不同类型的两个或更多个存储器1307。尽管存储器1307被示为计算机1302的集成组件,但是在备选实施方式中,存储器1307可以在计算机1302的外部。
应用1308是根据计算机1302的特定需要、期望或特定实现提供功能(尤其是关于本公开中描述的功能)的算法软件引擎。例如,应用1308可以用作一个或多个组件、模块、应用等。此外,尽管被示为单个应用1308,但是应用1308可以被实现为计算机1302上的多个应用1308。此外,尽管被示出为与计算机1302集成在一起,但是在备选实施方式中,应用1308可以在计算机1302的外部。
计算机1302还可以包括电源1314。电源1314可以包括可以被配置为用户或非用户可更换的可再充电或不可再充电电池。在一些实现中,电源1314可以包括电力转换或管理电路(包括再充电、备用或其他电力管理功能)。在一些实现中,电源1314可以包括电源插头,以允许计算机1302插入墙上插座或另一电源以例如为计算机1302供电或为可再充电电池充电。
可以存在与包含计算机1302的计算机系统相关联或在其外部的任意数量的计算机1302,每个计算机1302通过网络1330进行通信。此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”或其他适当的术语可以适当地互换使用。此外,本公开包含许多用户可以使用一个计算机1302,或者一个用户可以使用多个计算机1302。
尽管在附图中以特定顺序绘出了操作,这不应被理解为:为了实现期望的结果,要求按所示的特定次序或按顺序次序来执行这些操作,或者要求执行所有示出的操作。在某些环境中,可以采用多任务处理和并行处理。此外,上述实现中的各种系统组件的分离不应被理解为在所有实现中需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或被封装成多个软件产品。
此外,在各种实现中描述和示出为离散或分离的技术、系统、子系统和方法可以与其他系统、模块、技术或方法合并或集成。被示出或讨论为彼此耦接或直接耦接或通信的其它项目可以通过某种接口、设备或中间组件而间接耦接或通信,而不论是以电的方式、以机械的方式还是以其它方式。改变、替换和变更的其他示例可以由本领域技术人员确定并可以作出。
尽管以上具体实施方式已经示出、描述并指出应用于各种实现的本公开的基本新颖特征,但是将理解的是:本领域技术人员可以在所示系统的形式和细节方面作出各种省略、替换和改变。此外,方法步骤的顺序不受到它们出现在权利要求中的顺序的暗示。
Claims (21)
1.一种方法,包括:
在服务器处从第一组织的应用接收联系人搜索请求,所述联系人搜索请求包括联系人信息;
确定第二组织,其中所述第二组织连接到所述第一组织以使所述第一组织的用户能够搜索所述第二组织的用户目录;
确定所述第二组织的用户目录的能够由所述第一组织的用户搜索的子集;
向所述第二组织的应用发送所述联系人信息和所确定的所述第二组织的用户目录的所述子集的信息;
从所述第二组织的应用接收联系人搜索结果;以及
将接收到的联系人搜索结果发送给所述第一组织的应用。
2.根据权利要求1所述的方法,其中,所述第一组织和所述第二组织被注册到所述服务器,并且所述服务器包括已注册的组织的目录。
3.根据权利要求1所述的方法,其中,所述应用被注册到所述服务器。
4.根据权利要求1所述的方法,其中,所述应用是设备共享应用或资源共享应用。
5.根据权利要求1所述的方法,其中,所述应用支持包括联系人搜索服务在内的一个或多个服务。
6.根据权利要求5所述的方法,还包括:
从所述第一组织的客户端设备接收在所述第一组织和所述第二组织之间建立连接的请求,所述请求包括所述应用;
向所述第一组织的客户端设备发送与所述应用相关联的协作模板;
从所述第一组织的客户端设备接收基于所述协作模板的连接协议,所述连接协议包括针对所述一个或多个服务中的每一个服务的单独部分;
将所述连接协议发送给所述第二组织的客户端设备;
从所述第二组织的客户端设备接收对所述第二组织接受所述连接协议的指示;以及
将针对所述第一组织和所述第二组织之间的连接的连接信息存储在所述服务器处,所述连接信息包括:所述连接协议,以及所述第一组织和所述第二组织的信息。
7.根据权利要求6所述的方法,其中,所述服务器基于所述连接协议中与所述联系人搜索服务相对应的部分确定所述第二组织的用户目录的所述子集。
8.根据权利要求6所述的方法,其中,所述协作模板由所述应用签名,并且所述连接协议由所述第一组织、所述第二组织和所述服务器签名。
9.根据权利要求6所述的方法,其中,包括在所述连接信息中的所述第一组织和所述第二组织的信息包括组织连接性信息或连接历史信息中的至少一个。
10.根据权利要求6所述的方法,其中,所述连接协议包括用户的数量、用户的类型、资源的数量或资源的类型。
11.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时使计算设备执行包括以下各项的操作:
在服务器处从第一组织的应用接收联系人搜索请求,所述联系人搜索请求包括联系人信息;
确定第二组织,其中所述第二组织连接到所述第一组织以使所述第一组织的用户能够搜索所述第二组织的用户目录;
确定所述第二组织的用户目录的能够由所述第一组织的用户搜索的子集;
向所述第二组织的应用发送所述联系人信息和所确定的所述第二组织的用户目录的所述子集的信息;
从所述第二组织的应用接收联系人搜索结果;以及
将接收到的联系人搜索结果发送给所述第一组织的应用。
12.根据权利要求11所述的非暂时性计算机可读介质,其中,所述第一组织和所述第二组织被注册到所述服务器,并且所述服务器包括已注册的组织的目录。
13.根据权利要求11所述的非暂时性计算机可读介质,其中,所述应用被注册到所述服务器。
14.根据权利要求11所述的非暂时性计算机可读介质,其中,所述应用是设备共享应用或资源共享应用。
15.根据权利要求11所述的非暂时性计算机可读介质,其中,所述应用支持包括联系人搜索服务在内的一个或多个服务。
16.根据权利要求15所述的非暂时性计算机可读介质,所述操作还包括:
从所述第一组织的客户端设备接收在所述第一组织和所述第二组织之间建立连接的请求,所述请求包括所述应用;
向所述第一组织的客户端设备发送与所述应用相关联的协作模板;
从所述第一组织的客户端设备接收基于所述协作模板的连接协议,所述连接协议包括针对所述一个或多个服务中的每一个服务的单独部分;
将所述连接协议发送给所述第二组织的客户端设备;
从所述第二组织的客户端设备接收对所述第二组织接受所述连接协议的指示;以及
将针对所述第一组织和所述第二组织之间的连接的连接信息存储在所述服务器处,所述连接信息包括:所述连接协议,以及所述第一组织和所述第二组织的信息。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述服务器基于所述连接协议中与所述联系人搜索服务相对应的部分确定所述第二组织的用户目录的所述子集。
18.根据权利要求16所述的非暂时性计算机可读介质,其中,所述协作模板由所述应用签名,并且所述连接协议由所述第一组织、所述第二组织和所述服务器签名。
19.根据权利要求16所述的非暂时性计算机可读介质,其中,包括在所述连接信息中的所述第一组织和所述第二组织的信息包括组织连接性信息或连接历史信息中的至少一个。
20.根据权利要求16所述的非暂时性计算机可读介质,其中,所述连接协议包括用户的数量、用户的类型、资源的数量或资源的类型。
21.一种设备,包括:
至少一个硬件处理器;以及
非暂时性计算机可读存储介质,耦接到所述至少一个硬件处理器并存储用于由所述至少一个硬件处理器执行的编程指令,其中所述编程指令在被执行时,使所述至少一个硬件处理器执行包括以下各项的操作:
在服务器处从第一组织的应用接收联系人搜索请求,所述联系人搜索请求包括联系人信息;
确定第二组织,其中所述第二组织连接到所述第一组织以使所述第一组织的用户能够搜索所述第二组织的用户目录;
确定所述第二组织的用户目录的能够由所述第一组织的用户搜索的子集;
向所述第二组织的应用发送所述联系人信息和所确定的所述第二组织的用户目录的所述子集的信息;
从所述第二组织的应用接收联系人搜索结果;以及
将接收到的联系人搜索结果发送给所述第一组织的应用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/116,445 | 2018-08-29 | ||
US16/116,445 US11004021B2 (en) | 2018-08-29 | 2018-08-29 | Trusted collaborative communications between organizations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110875927A CN110875927A (zh) | 2020-03-10 |
CN110875927B true CN110875927B (zh) | 2023-03-24 |
Family
ID=67840908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910811230.9A Active CN110875927B (zh) | 2018-08-29 | 2019-08-29 | 组织之间受信任的协作通信 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11004021B2 (zh) |
EP (1) | EP3617972A1 (zh) |
CN (1) | CN110875927B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065354A1 (zh) * | 2021-10-22 | 2023-04-27 | Oppo广东移动通信有限公司 | 信息上报方法、装置、设备及存储介质 |
CN115099777A (zh) * | 2022-06-23 | 2022-09-23 | 北京字跳网络技术有限公司 | 一种信息处理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310285A (zh) * | 2005-11-17 | 2008-11-19 | 皇家飞利浦电子股份有限公司 | 用于管理访问控制的系统 |
CN107003886A (zh) * | 2014-09-29 | 2017-08-01 | 亚马逊技术有限公司 | 托管目录服务对目录的应用访问的管理 |
CN108369685A (zh) * | 2015-07-31 | 2018-08-03 | 微软技术许可有限责任公司 | 利用本地和网络搜索的组织目录 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543237B2 (en) * | 2003-03-19 | 2009-06-02 | Accenture Global Servicecs Gmbh | Dynamic collaboration assistant |
US7991764B2 (en) * | 2005-07-22 | 2011-08-02 | Yogesh Chunilal Rathod | Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed |
US20070033142A1 (en) * | 2005-08-05 | 2007-02-08 | Microsoft Corporation | Informal trust relationship to facilitate data sharing |
US20080040428A1 (en) * | 2006-04-26 | 2008-02-14 | Xu Wei | Method for establishing a social network system based on motif, social status and social attitude |
US20090100052A1 (en) * | 2007-10-16 | 2009-04-16 | Stern Edith H | Enabling collaborative networks |
US20090171979A1 (en) * | 2007-12-28 | 2009-07-02 | Humanbook, Inc. | System and method for a web-based address book |
US8407205B2 (en) * | 2008-09-11 | 2013-03-26 | Salesforce.Com, Inc. | Automating sharing data between users of a multi-tenant database service |
US20100262550A1 (en) * | 2009-04-08 | 2010-10-14 | Avaya Inc. | Inter-corporate collaboration overlay solution for professional social networks |
US20120191693A1 (en) * | 2009-08-25 | 2012-07-26 | Vizibility Inc. | Systems and methods of identifying and handling abusive requesters |
US9082091B2 (en) * | 2009-12-10 | 2015-07-14 | Equinix, Inc. | Unified user login for co-location facilities |
US20120095931A1 (en) * | 2010-10-19 | 2012-04-19 | CareerBuilder, LLC | Contact Referral System and Method |
US9253176B2 (en) * | 2012-04-27 | 2016-02-02 | Intralinks, Inc. | Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment |
US20150127628A1 (en) * | 2012-04-16 | 2015-05-07 | Onepatont Software Limited | Method and System for Display Dynamic & Accessible Actions with Unique Identifiers and Activities |
US20140019880A1 (en) * | 2012-07-11 | 2014-01-16 | Salesforce.Com, Inc. | Community switching |
US10356098B2 (en) * | 2013-02-19 | 2019-07-16 | Barry Gold | Systematic enhancement of contact information |
US20140298207A1 (en) * | 2013-03-29 | 2014-10-02 | Intertrust Technologies Corporation | Systems and Methods for Managing Documents and Other Electronic Content |
US10430418B2 (en) * | 2013-05-29 | 2019-10-01 | Microsoft Technology Licensing, Llc | Context-based actions from a source application |
US9922124B2 (en) * | 2016-01-29 | 2018-03-20 | Yogesh Rathod | Enable user to establish request data specific connections with other users of network(s) for communication, participation and collaboration |
US20160255139A1 (en) * | 2016-03-12 | 2016-09-01 | Yogesh Chunilal Rathod | Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s) |
US20150370905A1 (en) * | 2014-06-20 | 2015-12-24 | Atlis Labs Ltd | Method and system for consumer rating and address book maintenance |
US10097557B2 (en) * | 2015-10-01 | 2018-10-09 | Lam Research Corporation | Virtual collaboration systems and methods |
-
2018
- 2018-08-29 US US16/116,445 patent/US11004021B2/en active Active
-
2019
- 2019-08-28 EP EP19194154.1A patent/EP3617972A1/en not_active Ceased
- 2019-08-29 CN CN201910811230.9A patent/CN110875927B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310285A (zh) * | 2005-11-17 | 2008-11-19 | 皇家飞利浦电子股份有限公司 | 用于管理访问控制的系统 |
CN107003886A (zh) * | 2014-09-29 | 2017-08-01 | 亚马逊技术有限公司 | 托管目录服务对目录的应用访问的管理 |
CN108369685A (zh) * | 2015-07-31 | 2018-08-03 | 微软技术许可有限责任公司 | 利用本地和网络搜索的组织目录 |
Also Published As
Publication number | Publication date |
---|---|
US11004021B2 (en) | 2021-05-11 |
CN110875927A (zh) | 2020-03-10 |
US20200074362A1 (en) | 2020-03-05 |
EP3617972A1 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11075917B2 (en) | Tenant lockbox | |
US10104181B1 (en) | Secure context-based group collaboration and communication | |
CN101356773B (zh) | 基于上下文信息的自组织(ad hoc)组创建 | |
US9882725B2 (en) | Policy-based signature authentication system and method | |
US8873735B1 (en) | Selective contact between customers and customer service agents | |
US20080148368A1 (en) | Secure extranet access to collaborative activities in a collaborative computing environment | |
US9311681B2 (en) | Claiming conversations between users and non-users of a social networking system | |
US20200404029A1 (en) | Electronic Signature Collection within an Online Conference | |
EP2301209B1 (en) | System and method for message filtering | |
US11870782B2 (en) | Management of hosted channel membership in a communication platform | |
US11546172B2 (en) | Transmission, via determinative logic, of electronic documents for sharing and signing (“TESS”) | |
CN110875927B (zh) | 组织之间受信任的协作通信 | |
CN111064749A (zh) | 网络连接方法、设备及存储介质 | |
CN111052685A (zh) | 用于多代理消息传送的技术 | |
US20170124518A1 (en) | Facilitating meetings | |
US20230092069A1 (en) | Server apparatus | |
CN114827060B (zh) | 交互方法、装置和电子设备 | |
US20220245122A1 (en) | Document package modifications based on organization policies in a document management platform | |
US20220245201A1 (en) | Document package modifications based on assigned permissions in a document management platform | |
US20220245592A1 (en) | Document package modifications based on entity unavailability in a document management platform | |
CN113139786A (zh) | 组织架构互联方法、装置、电子设备及存储介质 | |
CN112632603A (zh) | 管理检测信息的方法和装置 | |
CN110647767A (zh) | 数据查看方法、电子设备和计算机可读存储介质 | |
US9959416B1 (en) | Systems and methods for joining online meetings | |
JP7491967B2 (ja) | グループベースコミュニケーションシステムにおいて外部許可提供及び外部メッセージングコミュニケーションリクエストを管理する装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |