CN106464685A - 服务器资源的自适应分配 - Google Patents
服务器资源的自适应分配 Download PDFInfo
- Publication number
- CN106464685A CN106464685A CN201580027988.3A CN201580027988A CN106464685A CN 106464685 A CN106464685 A CN 106464685A CN 201580027988 A CN201580027988 A CN 201580027988A CN 106464685 A CN106464685 A CN 106464685A
- Authority
- CN
- China
- Prior art keywords
- target
- client
- server
- browser
- micro services
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种动态分配媒体资源的方法包括:提供信令服务器中的多个微服务,以及所述微服务之一从能够进行浏览器到浏览器通信的客户端接收呼叫消息。所述呼叫消息包括指定目标的标识符。所述标识符由所述微服务使用一个针对所述目标的能力信息的请求向缓存发送。所述缓存用于通过标识符获取所述目标的所述能力信息。所述微服务从所述缓存接收所述目标的所述能力信息。当所述目标的所述能力信息指示所述目标不能进行浏览器到浏览器通信时,所述微服务向耦合到多个媒体服务器的服务目录服务器发送媒体资源请求,以及当所述目标的所述能力信息指示所述目标能够进行浏览器到浏览器通信时,发起所述客户端与所述目标之间的浏览器到浏览器通信。
Description
相关申请案交叉申请
本申请要求2015年11月4日递交的发明名称为“服务器资源的自适应分配(Adaptive Allocation of Server Resources)”的第14/532,507号美国非临时专利申请案的在先申请优先权和权益,该在先申请的内容以引入的方式并入本文本中。
背景技术
网络浏览器(通常称为浏览器)是一种获取、呈现和遍历万维网上的信息资源的软件应用。一些网络浏览器利用一种称为网页实时通信(web real-time communications,WebRTC)的技术。WebRTC是一种由万维网联盟(Worldwide Web Consortium,W3C)起草的应用编程接口(application programming interface,API),该API支持浏览器到浏览器应用以进行视频呼叫、视频聊天、端对端(peer-to-peer,P2P)文件共享等,无需浏览器中的插件。
许多移动设备(例如智能手机、平板电脑)不包括或不支持WebRTC技术。因此,移动设备不能与正在使用不包括或不支持WebRTC技术的个人计算机等的客户端进行浏览器到浏览器通信。由于浏览器能力不匹配,插件或其它附加软件可能需要加载到移动设备上以支持浏览器到浏览器通信。
另外,在现有WebRTC架构中,使用多个信令服务器(亦称信令主机)和多个媒体服务器(亦称媒体主机)来促进例如客户端与目标(例如移动设备的用户)等之间的通信。在启动时,每个媒体服务器绑定到一个信令服务器。换言之,每个信令服务器被手动配置为仅与一个媒体服务器通信。一个媒体服务器针对每个信令服务器的这种分配是静态的。在媒体服务器发生故障的情况下,对应信令服务可能不会意识到该故障。因此,信令服务器在对应媒体服务器关闭时可继续接受流量,这可能会产生不希望的服务问题。
发明内容
在一项实施例中,本发明包括一种能够动态分配媒体服务器资源的服务发现服务器。所述服务发现服务器包括可操作地耦合到存储器的处理器以及存储在所述存储器中的服务发现模块,所述服务发现模块在由所述处理器执行时用于:从信令服务器中的多个微服务之一接收媒体资源请求,所述媒体资源请求指示目标不能与客户端进行浏览器到浏览器通信;响应于所述媒体资源请求的接收,分配媒体服务器中的多个微服务中的至少一个,使得所述客户端能够与所述目标进行通信。
在另一项实施例中,本发明包括一种动态分配媒体服务器资源的方法。所述方法包括:提供信令服务器中的多个微服务,以及所述微服务中的第一个从能够进行浏览器到浏览器通信的客户端接收呼叫消息。所述呼叫消息包括指定目标的标识符。所述方法包括所述微服务中的所述第一个使用一个针对所述目标的能力信息的请求向缓存发送所述标识符。所述缓存用于使用所述标识符获取所述目标的所述能力信息。所述方法还包括:响应于所述针对所述能力信息的请求,所述微服务中的所述第一个从所述缓存接收所述目标的所述能力信息。所述方法包括:当所述目标的所述能力信息指示所述目标不能进行浏览器到浏览器通信时,所述微服务中的所述第一个向可操作地耦合到多个媒体服务器的服务目录服务器发送媒体资源请求,以及当所述目标的所述能力信息指示所述目标能够进行浏览器到浏览器通信时,所述微服务中的所述第一个发起所述客户端与所述目标之间的浏览器到浏览器通信。
在又一项实施例中,本发明包括一种动态分配媒体服务器资源的方法。所述方法包括:提供信令服务器中的微服务池,以及所述微服务中的第一个从客户端接收呼叫消息。所述呼叫消息包括客户端标识符和目标标识符。所述方法包括:所述微服务中的所述第一个使用一个针对所述客户端标识符对应的客户端的能力信息和针对所述目标标识符对应的目标的能力信息的请求向缓存发送所述客户端标识符和所述目标标识符,以及响应于所述请求,所述微服务中的所述第一个从所述缓存接收所述客户端的所述能力信息和所述目标的所述能力信息。所述方法包括:当所述客户端的所述能力信息指示所述客户端能够进行浏览器到浏览器通信并且所述目标的所述能力信息指示所述目标不能进行浏览器到浏览器通信时,所述微服务中的所述第一个向可操作地耦合到多个媒体服务器的服务目录服务器发送媒体资源请求。
结合附图和权利要求书可以从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1为WebRTC系统的示意图。
图2为WebRTC系统中的通信的示意图。
图3为WebRTC系统的一实施例的示意图。
图4为用于通过图3的WebRTC系统传输和处理数据流量或信息的服务器的一实施例的示意图。
图5为图3的WebRTC系统内的注册过程的一实施例的示意图。
图6为图3的WebRTC系统内的呼叫过程的一实施例的示意图。
图7为图3的WebRTC系统内的动态分配过程的一实施例的示意图。
图8为利用图3的WebRTC系统的动态分配方法的一实施例的流程图。
图9为利用图3的WebRTC系统的注册方法的一实施例的流程图。
图10为利用图3的WebRTC系统的动态分配媒体服务器资源的方法的一实施例的流程图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
本文公开了用于WebRTC环境或架构中的服务器资源自适应分配的各种实施例。如下文将更充分说明的一样,本文公开的服务器资源自适应分配使得基于实际流量有效地使用媒体服务器。自适应分配还使得服务的数量基于WebRTC特定参数快速增加或减少。此外,信令网关和各种媒体服务器仅仅松散地耦合,而不是每个信令网关与对应媒体服务器之间存在一对一关系。换言之,本发明中的信令服务器与媒体资源不存在静态链路。另外,服务发现层管理池中的媒体服务,这简化了大规模服务器部署。由于服务发现层管理媒体服务器,所以信令服务器无需参与归属代理(home agent,HA)过程。
图1为WebRTC系统100的示意图。WebRTC在2013年9月发布的W3C工作草案10文档WebRTC 1.0:浏览器之间的实时通信(Real-time Communication Between Browser)以及2014年7月发布的W3C编辑草案01文档WebRTC 1.0:浏览器之间的实时通信(Real-timeCommunication Between Browser)中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。
如图1所示,WebRTC系统100包括一个或多个计算设备,为方便起见,这些设备在本文中将称为客户端102。在一些实施例中,一个或两个客户端102为个人计算机(personalcomputer,PC)、平板电脑或手机。在一些实施例中,每个客户端102包括一个或多个用于处理网络应用106的W3C API104。例如,网络应用106是一个用于进行视频呼叫的网络应用(例如Microsoft SkypeTM)或者用于促进客户端102之间或客户端102与目标108之间的通信的网络应用。
每个客户端102的网络应用106用于通过控制路径114与服务提供商112的对应网络应用110通信。因此,服务提供商112提供合适的信令以促进客户端102之间的视频呼叫,等等。用于视频呼叫的媒体通过媒体路径116在客户端102之间交换。
每个客户端102还包括浏览器118(例如Mozilla Google Microsoft Internet或Apple )。浏览器使得客户端102的用户与网络应用106交互。在一些情况下,客户端102的浏览器118被配置为支持WebRTC通信。当客户端102的浏览器118支持WebRTC时,客户端102能够进行浏览器到浏览器通信,无需插件。
例如,当一个客户端102想要发起与其它客户端102的视频呼叫时,发起视频呼叫的客户端102的网络应用106联系服务提供商112的网络应用110以请求服务提供商112提供信令来促进呼叫。服务提供商112的网络应用110通过控制路径114提供被请求信令,客户端102通过媒体路径116交换媒体。当一个客户端102的用户想要结束视频呼叫时,客户端102的网络应用106通知服务提供商112的网络应用110想要结束该呼叫,用以促进视频呼叫的信令中止,通过媒体路径116在客户端102之间进行的媒体交换结束。
在一些情况下,目标108是一个通过互联网协议(Internet Protocol,IP)多媒体系统(IP multimedia system,IMS)120、电路交换机(circuit switch,CS)或公共交换电话网络(public switched telephone network,PSTN)来通信且不支持WebRTC的移动设备(例如智能手机、平板电脑等)。由于目标108不支持WebRTC,所以客户端102不能与目标108进行浏览器到浏览器通信。事实上,用于编码和解码目标108的数字数据流或信号的编解码器不同于用于编码和解码客户端102的数字数据流或信号的编解码器。为了使目标108与其中一个客户端102通信,利用了一种WebRTC网关122。WebRTC网关122将IMS订户(例如目标108)等扩展到服务提供商112的网络域并且使这些订户能够享用现有服务,例如融合通信服务(Rich Communication Services,RCS)、会议即服务等等。
WebRTC网关122用于将来自客户端102的数字数据流或信号转换为目标108能够利用的格式,反之亦然。WebRTC网关122还用于提供促进客户端102与目标108之间的通信所需的信令。在一些实施例中,WebRTC网关122包括信令服务器124和媒体服务器126。如本文所使用的信令服务器124可称为信令网关,媒体服务器126可称为媒体网关。如图所示,信令服务器124和媒体服务器126可操作地相互耦合。虽然信令服务器124和媒体服务器126在图1示为相互接近,但是在一些实施例中,信令服务器124和媒体服务器126可相距较远。
信令服务器124用于处理超文本传输协议(Hypertext Transfer Protocol,HTTP)会话和会话发起协议(session initiation protocol,SIP)会话。因此,信令服务器124能够提供信令以通过控制路径128在客户端102与目标108之间进行通信。例如,当其中一个客户端102试图与目标108进行视频呼叫时,信令服务器124使用控制路径128向目标108发送电话呼叫通知。
如图1所示,媒体服务器126通过在WebRTC网关122与客户端102之间以及在WebRTC网关122与目标108之间扩展的媒体路径130向客户端102和目标108提供媒体。因此,来自其中一个客户端102的媒体(例如来自视频呼叫的数据)通过媒体路径130传送给WebRTC网关122中的媒体服务器126,由媒体服务器126转换为符合目标108的格式,然后由媒体服务器126通过媒体路径130传送给目标108。同样地,来自目标108的媒体通过媒体路径130传送给WebRTC网关122中的媒体服务器126,由媒体服务器126转换为符合客户端102的格式,然后由媒体服务器126通过媒体路径130传送给客户端102。通过这种方式,客户端102和目标108能够参与通信,例如视频呼叫、视频聊天、端对端文件共享,等等。
图2为WebRTC系统200中的通信的示意图。如图2所示,WebRTC系统200包括客户端202。在一些实施例中,客户端202被配置为类似于图1所述的客户端102。WebRTC系统200还包括信令主机204和媒体主机206。在一些实施例中,信令主机204和媒体主机206分别被配置为类似于图1所述的信令服务器124和媒体服务器126。每个信令主机204由网络操作员等手动配置为对应其中一个媒体主机206。换言之,一个信令主机204与一个媒体主机206之间存在静态的一对一关系。
如图2所示,当客户端202发起视频呼叫等时,客户端202向负载均衡器服务器(load balancer server,LBS)208发送HTTP消息。LBS 208基于网络流量、保活检测机制、信令主机的流量负担等确定利用哪个信令主机204(例如信令主机1、信令主机2、信令主机3等)进行视频呼叫。所选的信令主机204(例如信令主机1)接收HTTP消息并将该消息转换为SIP格式。然后,信令主机204为分配给信令主机204的媒体主机206(例如媒体主机1)定位媒体服务器IP地址和用户数据报协议(user datagram protocol,UDP)端口并向媒体主机206发送转换后的消息。
一旦媒体主机206已经接收到该转换后的消息,就使用安全实时传输协议(securereal time transport protocol,sRTP)等在客户端202与媒体主机206之间交换媒体流量。由于信令主机204(例如信令主机1)与媒体主机206(例如媒体主机1)之间存在静态的一对一关系,所以,如果媒体主机206发生故障或遇到服务问题,则对应信令主机204继续接受流量。事实上,信令主机204可能不会意识到媒体主机206正在出问题。这可能会在WebRTC系统200中产生不希望的服务问题。
另外,媒体主机206是一个资源高耗设备。通常,生产系统需要预测媒体流量并准备多个媒体主机206以持续运转,为预期流量做准备。因此,即使在媒体流量较少的情况下,也无法有效地利用媒体主机206。媒体主机206的动态分配不可行,因为媒体主机206的启动时间相对较长(例如一分钟或更长)。另外,资源控制粒度太粗。如果需要动态增加资源以进行量产,则媒体主机206不适合,因为启动时间太长而且供应复杂。此外,就量产系统网络而言,信令主机204与媒体主机206之间需要复杂的配置。
另外,很难实施媒体主机206故障方案。如果媒体主机206关闭,同时对应信令主机204仍然运转,则来自客户端202的流量不应再路由至信令服务器204,因为信令服务器/媒体服务器对处于故障状态。为了防止流量在对应媒体服务器206已出现故障时路由至信令服务器204,需要一种能够通知负载均衡器208跳过特定信令服务器204的反馈机制。然而,这种机制带来更多的复杂实施。
为了解决目标108(例如移动设备)不能支持WebRTC的问题以及解决每个信令服务器204到其中一个媒体服务器206的静态一对一关系的问题,提供了一种动态且自适应的服务器资源分配方案。就此而言,图3为解决上述问题的WebRTC系统300的一实施例的示意图。WebRTC系统300用于与客户端302和LBS 304通信。在一些实施例中,客户端302和LBS 304被配置为类似于图1至2所述的客户端102和负载均衡器208。在一实施例中,LBS 304功能称为WebRTC路由器。WebRTC系统300还用于与驻留在缓存服务器308上或在缓存服务器308上操作的分布式缓存服务306通信。
在缓存服务器308上操作的缓存服务306提供一种用于临时存储(缓存)各种数据和信息的机制。在一实施例中,缓存服务306存储一列设备(例如客户端和/或目标)和每个设备的能力,例如支持WebRTC或不支持WebRTC。在一些实施例中,缓存服务306以索引或表格存储该列表,其中每个设备按照电话号码等标识符来存储。因此,当缓存服务器308接收特定设备的电话号码时,缓存服务306能够查找正在使用该电话号码的设备的能力。在缓存服务器308上操作的缓存服务306随后向请求实体报告该设备的设备能力信息。WebRTC系统300还用于与IMS 310和目标312通信。在一些实施例中,IMS 310和目标312被配置为类似于图1所述的IMS 120和目标108。
在一些实施例中,WebRTC系统300包括多个信令服务器314、多个媒体服务器316和一个服务发现服务器318。在一些实施例中,信令服务器314和媒体服务器316被配置为分别类似于图1至图2所述的信令服务器124、204和媒体服务器126、206。然而,如图3所示,图3中的信令服务器314和媒体服务器316都包括微服务320池和服务发现代理322。
在信令服务器314和媒体服务器316中操作的微服务320为独立可部署的服务套件。术语微服务考虑了软件架构设计模式,其中复杂应用由小型、独立的使用语言无关API相互通信的进程组成。微服务320很小并且高度解耦,并且专注于执行小任务。换言之,微服务架构样式是一种将单个应用开发为一套小型服务的方法,每个小型服务运行在其自身进程中并且与轻量机制(例如HTTP资源API)通信。
相对于执行所有或许多相同功能的单片服务,微服务320容易替换。此外,每个微服务320可以在不对其它微服务320产生不利影响的情况下更新。相比之下,更新单片服务的一部分可能非预期地或无意地对单片服务的其它部分产生负面影响。微服务320可根据它们的能力有利地组织。
微服务320的启动时间比集体执行微服务的所有服务的单个应用的启动时间少得多。在一些实施例中,每个微服务320的启动时间相对于单个应用的启动时间大约为1秒或更短,单个应用的启动时间约为1分钟、几分钟或更长。
发现代理322用于,例如向服务发现服务器318发送消息并从其接收消息。在一些实施例中,发现代理322用于将消息从一个格式转换为另一个格式。例如,信令服务器314中的发现代理322用于将从客户端302接收的消息转换为与服务发现服务器318兼容的格式。
如图3所示,服务发现服务器318对服务发现服务或模块324进行操作以实施服务发现服务器318的一些或所有功能。服务发现服务器318放在信令服务器314与媒体服务器316之间。如上所述,服务发现服务器318与信令服务器314和媒体服务器316均交换消息。如下文将更充分说明的,服务发现服务器318能够动态分配媒体服务器316的资源。在一些实施例中,服务发现模块324防止信令服务器314查看媒体服务器316中的微服务320的详细内容。在一些实施例中,服务发现模块324防止信令服务器314查看有关媒体服务器316池的详细内容。服务发现服务器318用于在先前分配的微服务320发生故障时分配其中一个媒体服务器316中的新微服务320。在一些实施例中,新微服务320位于前述同一媒体服务器316中,或者位于尚未访问的新媒体服务器316中。
图4为用于通过图3所示的WebRTC系统300的至少一部分传输和处理数据流量或信息的服务器400的一实施例的示意图。本发明中描述的至少一些特征/方法可在服务器400中实施。例如,本发明的特征/方法可在硬件、固件和/或安装以运行于该硬件上的软件中实施。服务器400为通过网络、系统和/或域传输数据的任意设备。此外,术语服务器、计算机、逻辑设备和/或类似术语可互换地使用以概括性地描述服务器并且没有特定或特殊意义,除非本发明内另有特殊说明和/或要求。
在一项实施例中,服务器400为用于动态且自适应地分配图3中的媒体服务器316的资源。另外,服务器400的组件或功能实施在和/或集成在如图3所述的媒体服务器316、信令服务器314和服务发现服务器318中。
服务器400包括耦合到收发器(transceiver,Tx/Rx)420的一个或多个下游端口410,收发器420可以是发射器、接收器或它们的组合。Tx/Rx 420通过下游端口410传输和/或接收来自其它网络设备(例如服务器等)的消息或信息。类似地,服务器400包括耦合到多个上游端口440的另一Tx/Rx 420,其中Tx/Rx 420通过上游端口440传输和/或接收来自其它网络设备的消息或信息。下游端口410和/或上游端口440包括电和/或光传输和/或接收组件。
处理器430耦合到Tx/Rx 420并且用于处理消息或信息和/或确定向哪些服务器发送(例如传输)消息或信息。在一实施例中,处理器430包括一个或多个多核处理器和/或存储器模块450,一个或多个多核处理器和/或存储器模块450用作数据存储器、缓冲器等。在一些实施例中,处理器430实施为通用处理器或为一个或多个专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)和/或数字信号处理器(digital signal processor,DSP)的一部分。尽管示为单个处理器,但处理器430不限于此并可包括多个处理器。处理器430用于本文所述的媒体资源的自适应且动态的分配。
图4示出了存储器450耦合到处理器430并且是用于存储各种类型的数据的非瞬时性介质。在一些实施例中,存储器450包括存储器设备,存储器设备包括辅助存储器、只读存储器(read-only memory,ROM)和随机存取存储器(random-access memory,RAM)。辅助存储器通常包括一个或多个磁盘驱动器、光驱、固态驱动器(solid-state drives,SSD)和/或磁带驱动器,并且用于数据的非易失性存储,而且如果RAM的容量不足以存储所有工作数据,辅助存储器则用作溢流数据存储设备。辅助存储器可用于当加载到RAM中程序被选择执行时存储这类程序。ROM用于存储指令,可能还存储在程序执行期间读取的数据。ROM是非易失性存储器设备,通常具有相对于辅助存储器的大存储容量来说较小的内存容量。RAM用于存储易失性数据,可能还存储指令。访问ROM和RAM通常都快于访问辅助存储器。
存储器450用于存储用于执行本文所描述的各种示例实施例的指令。在一项示例实施例中,存储器450包括模块460,模块460表示图3所示的服务发现模块324、发现代理322或微服务320。在一些实施例中,存储器450存储能够实施图8的动态分配方法800、图9的注册方法900或图10的动态分配媒体服务器资源方法1000的指令。
应理解,通过将可执行指令编程和/或加载到服务器400上,处理器430、缓存和长期存储器中的至少一个被改变,从而将服务器400的一部分转换成特定机器或装置,例如本发明宣扬的拥有新颖功能的多核转发架构。加载可执行软件至计算机所实现的功能可以通过现有技术中公知的设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。通常,仍然频繁改变的设计可优选在软件中实施,因为重新编写硬件实施方式比重新编写软件设计更为昂贵。通常,稳定及大规模生产的设计更适于在软件中(例如,在ASIC中)实施,因为运行硬件实施的大规模生产比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过现有技术中公知的设计规则转变成ASIC中等同的硬件实施,该ASIC硬线软件指令。由新的ASIC控制的机器是一种特定机器或装置,同样地,编程和/或加载有可执行指令的计算机可视为特定机器或装置。
本发明的任何处理可以通过使处理器(例如,通用多核处理器)执行计算机程序来实施。在这种情况下,可以使用任何类型的非瞬时性计算机可读介质向计算机或网络设备提供计算机程序产品。计算机程序产品可存储在计算机或网络设备中的非瞬时性计算机可读介质中。非瞬时性计算机可读介质包括任何类型的有形存储介质。非瞬时性计算机可读介质的示例包括磁性存储介质(例如,软盘、磁盘、硬盘驱动器等)、光磁存储介质(例如,磁光盘)、只读光盘(compact disc read-only memory,CD-ROM)、可录光碟(compact discrecordable,CD-R)、带读写式光驱(compact disc rewritable,CD-R/W)、数字多功能光盘(digital versatile disc,DVD)、蓝(注册商标)光(Blu-ray disc,BD),以及半导体存储器(例如,掩蔽ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM、快闪ROM,以及RAM)。还可以使用任何类型的瞬时性计算机可读介质向计算机或网络设备提供计算机程序产品。瞬时性计算机可读介质的示例包括电信号、光信号和电磁波。瞬时性计算机可读介质可以经由有线通信线路(例如,电线或光纤)或无线通信线路将程序提供给计算机。
图5为WebRTC系统500内的注册过程的一实施例的示意图。在一些实施例中,客户端502、LBS 504、缓存服务器508、信令服务器514、IMS 510和目标512被配置为类似于结合图3中的WebRTC系统300描述的对应设备。客户端502向LBS 504发送注册命令(例如注册消息)。在一些实施例中,向LBS 504发送的注册命令为SIP REGISTER请求。该REGISTER请求在2002年2月21日发布的互联网工程任务组(Internet Engineering Task Force,IETF)文档—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月发布的请求注解(Request forComment,RFC)文档—RFC 3261中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。在一些实施例中,注册命令包括标识客户端502的标识符和关于客户端502的能力的信息。
LBS 504向信令服务器514中的其中一个微服务520转发注册命令。在接收到注册命令后,微服务520向客户端502发送SIP OK响应以通知客户端502消息成功接收。该OK响应在2002年2月21日发布的互联网工程任务组(Internet Engineering Task Force,IETF)文档—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月发布的请求注解(Request forComment,RFC)文档—RFC3261中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。
接收注册命令的微服务520向IMS 510发送注册命令(或其一部分)。注册命令提示目标512向在缓存服务器508中操作的缓存服务506注册其标识符(例如电话号码)和设备能力。如果在缓存服务器508中没有发现目标512的标识符,则缓存服务506将目标512的标识符和目标512的能力一起存储在索引中。如果在缓存服务器508中发现了标识符,则缓存服务506将目标512的所存储能力与目标512的当前能力进行比较。如果不匹配,则缓存服务506更新目标512的所存储能力以反映目标512的当前能力。
从客户端502接收注册命令的微服务520解析注册命令以获得标识客户端502的标识符以及确定客户端502的能力。在一些实施例中,客户端标识符为一个电话号码。本领域技术人员将认识到,在考虑本发明之后可使用另一标识符或号码。在一些实施例中,客户端502的能力揭示了客户端502是支持WebRTC的设备还是不支持WebRTC的设备。换言之,能力指示客户端502是否能够进行浏览器到浏览器通信(即支持WebRTC)或者客户端502是否不能进行浏览器到浏览器通信(即不支持WebRTC)。
在解析注册命令之后,如果需要,微服务520请求在缓存服务器508上操作的分布式缓存服务器506执行更新。在接收到更新请求后,缓存服务确定客户端502的标识符是否存储在缓存服务的索引中。如果在缓存服务器508中未发现客户端502的标识符,则缓存服务506将客户端502的标识符和客户端502的能力一起存储在索引中。如果在缓存服务器508中发现了标识符,则缓存服务506将客户端502的所存储能力与客户端502的当前能力进行比较。如果不匹配,则缓存服务更新客户端502的所存储能力以反映客户端502的当前能力。微服务520在向IMS 510发送注册命令的同时、之前或之后向缓存服务器508发送更新请求,该更新请求可被转发给目标512。
图6为WebRTC系统600内的呼叫过程的一实施例的示意图。在一些实施例中,客户端602、LBS 604、缓存服务器608、信令服务器614、IMS 610和目标612被配置为类似于结合图5中的WebRTC系统500描述的对应设备。客户端602向LBS 604发送呼叫消息。在一些实施例中,向LBS 604发送的呼叫消息为SIP INVITE请求。该INVITE请求在2002年2月21日发布的互联网工程任务组(Internet Engineering Task Force,IETF)文档—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月发布的请求注解(Request for Comment,RFC)文档—RFC 3261中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。在一些实施例中,呼叫消息包括标识客户端602的标识符和标识目标612的标识符。
LBS 604向信令服务器614中的其中一个微服务620转发呼叫消息。在接收到呼叫消息后,微服务620向客户端602发送SIP OK响应以通知客户端602消息成功接收。该OK响应在2002年2月21日发布的互联网工程任务组(Internet Engineering Task Force,IETF)文档—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月发布的请求注解(Request forComment,RFC)文档—RFC3261中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。
接收呼叫消息的微服务620向IMS 610发送呼叫消息(或其一部分)。向IMS 610发送的呼叫消息请求与目标612关联的运营商网络标识目标612的位置。在一些实施例中,呼叫消息还使振铃音在目标612上激活。换言之,呼叫消息提示目标612响铃以指示来自客户端602的来电(例如视频呼叫)。
接收呼叫消息的微服务620解析呼叫消息以获得标识客户端602的标识符以及获得标识目标612的标识符。在一些实施例中,客户端标识符和目标标识符均为电话号码。本领域技术人员将认识到,在考虑本发明之后可使用其它标识符或号码。
在解析呼叫消息之后,微服务620向缓存服务器608发送客户端标识符和目标标识符。微服务620在向IMS 610发送呼叫消息的同时、之前或之后向缓存服务器608发送客户端和目标标识符。在一些实施例中,微服务620从客户端602接收呼叫消息,该呼叫消息指示微服务620知道客户端602支持WebRTC。因此,微服务620仅向缓存服务器608发送目标标识符。
在缓存服务器608中操作的缓存服务606在缓存服务器608中存储的标识符/能力索引中使用客户端标识符来查找客户端602的能力、使用目标标识符查找目标612的能力。然后,缓存服务606向信令服务器614中的微服务620发送响应消息,该响应消息指示客户端602和目标612是支持WebRTC还是不支持WebRTC。换言之,响应消息指示客户端602和目标612是能够进行浏览器到浏览器通信(即支持WebRTC)还是不能进行浏览器到浏览器通信(即不支持WebRTC)。
通过响应消息中的信息,微服务620确定客户端602和目标612是否能够进行浏览器到浏览器通信。如果客户端602和目标612均能够进行浏览器到浏览器通信,则微服务620发起浏览器到浏览器通信(例如视频呼叫、视频聊天等)。如果客户端602或目标612不能进行浏览器到浏览器通信,则微服务620向服务发现服务器618发送媒体资源请求,以便请求足够的媒体资源来促进客户端602与目标612之间的通信。
当服务发现服务器618接收请求时,服务发现模块624分配任意一个媒体服务器616中的一个或多个微服务620,所以客户端602能够与目标612进行通信(例如浏览器到手机通信)。服务发现模块624用于在客户端602与目标612之间的通信开始之前确定是否需要附加微服务来支持客户端602与目标612之间的通信。在一些实施例中,服务发现模块624确定支持客户端602和与目标612之间的通信所需的微服务620的数量是否小于预定阈值。如果是,则服务发现模块624指示一个或多个媒体服务器616启动它们的一个或多个微服务620。
在一实施例中,被要求提供微服务620的一个或多个媒体服务器616向在服务发现服务器618中操作的服务发现模块624发送消息,该消息指示微服务620可用、操作正常等等。一旦服务发现模块624接收到该消息,服务发现模块624就向信令服务器614中的一个或多个微服务620发送消息,该消息指示使用媒体服务器616中的已分配微服务的通信可在客户端602与目标612之间发起。
在一实施例中,信令服务器614和/或媒体服务器616包括服务发现代理622,服务发现代理622用于将向服务发现模块624发送的消息转换成与服务发现模块624兼容的格式以及将从服务发现模块624接收的消息转换成与信令服务器614或媒体服务器616兼容的格式。
当客户端602或目标612想要终止通信时,客户端602或目标612向信令服务器614中的微服务620发送终止请求消息。在一些实施例中,向信令服务器614发送的终止请求消息为SIP BYE请求。该BYE请求在2002年2月21日发布的互联网工程任务组(InternetEngineering Task Force,IETF)文档—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月发布的请求注解(Request for Comment,RFC)文档—RFC 3261中进行了更详细地描述,这两个文档的全部内容以引入的方式并入本文本中。信令服务器614将终止请求消息转发给服务发现服务器618中的服务发现模块624,服务发现服务器618随后关闭媒体资源。
图7为WebRTC系统700内的动态分配过程的一实施例的示意图。在一些实施例中,客户端702、路由器704、信令服务器714、服务发现服务器718和媒体服务器716被配置为类似于结合图6中的WebRTC系统600描述的对应设备。如图所示,在其中一个媒体服务器716中的微服务720发生故障的情况下,服务发现服务器718的服务发现模块724用于快速转移到媒体服务器716中的另一微服务720(例如另一媒体资源)。在一些实施例中,在其中一个媒体服务器716中的微服务720发生故障的情况下,服务发现模块724用于快速转移到完全不同的媒体服务器716中的另一微服务(例如另一媒体资源)。如图7所示,尽管从一个微服务720转移到另一个,但是信令服务器714中的同一微服务720可继续使用。
图8为利用图3中的WebRTC系统300的动态分配方法800的一实施例的流程图。方法800在例如客户端想要确定目标是否适合用于支持浏览器到浏览器通信时实施。在方框802中,客户端发起呼叫。在一些实施例中,客户端通过向如图6所示的信令服务器中的微服务发送呼叫消息来发起呼叫。在方框804中,信令服务器使用缓存的缓存服务中的索引检查客户端和/或目标的能力。在一些实施例中,客户端的标识符(例如电话号码、IMS号码等)将用来查找客户端标识符对应的客户端能力。同样地,目标的标识符将用来查找目标标识符对应的目标能力。
在方框806中,缓存检查是否在缓存中找到了客户端标识符和/或目标标识符。如果否,则如方框808所示,更新缓存以包括客户端标识符和客户端能力和/或更新缓存以包括目标标识符和目标能力。如果是,则在方框810中,缓存将客户端或目标的当前能力与该设备的所存储能力进行比较。如果当前能力与所存储能力之间存在不匹配,则如方框808所示,更新缓存以反映当前能力。
缓存在方框808中更新之后或者确定客户端和/或目标能力保持不变之后,在方框812中,信令服务器确定目标和/或客户端是否能够进行浏览器到浏览器通信(支持WebRTC)。如果是,则如方框814所示,不添加媒体服务器中的微服务。如果否,则如方框816所示,服务发现服务器确定一个媒体服务器(或多个媒体服务器)中是否有足够的可用微服务来支持客户端与目标之间的通信。如果有足够的当前正在操作的微服务,则如方框818所示,不添加媒体服务器中的微服务。如果没有足够的在媒体服务器中操作的微服务来支持通信,则如方框820所示,服务发现服务器采取步骤来启动媒体服务器中的更多微服务。虽然未在图8中示出,但是在方框814、方框818或方框820完成之后,在客户端与目标之间发起通信(例如视频呼叫)。
图9为利用图3中的WebRTC系统300的注册方法900的一实施例的流程图。方法900在例如客户端想要向缓存服务器注册或更新其服务能力时实施。在方框902中,客户端向信令服务器中的微服务发送注册命令。在一实施例中,注册命令通过IMS转发给目标。在方框904中,信令服务器解析注册命令以从注册命令中提取客户端标识符(例如电话号码、IMS号码等)和关于客户端能力的信息。在方框906中,信令服务器将客户端标识符和能力信息提供给缓存以使用分布式缓存服务进行存储。
图10为利用图3中的WebRTC系统300的动态分配媒体服务器资源的方法1000的一实施例的流程图。方法1000以信令服务器为角度。方法1000在例如能够进行浏览器到浏览器通信的客户端支持信令服务器中的服务与可能支持或可能不支持浏览器到浏览器通信的目标建立通信时实施。在方框1002中,在信令服务器中提供多个微服务。在方框1004中,微服务中的第一个从能够进行浏览器到浏览器通信的客户端接收呼叫消息。该呼叫消息包括指定目标的标识符。
在方框1006中,微服务中的第一个使用一个针对目标的能力信息的请求向缓存发送该标识符。该缓存用于使用标识符获取目标的能力信息。在方框1008中,微服务中的第一个从该缓存接收目标的能力信息以响应对能力信息的请求,并且根据接收到的能力信息确定是否可能进行浏览器到浏览器通信。在方框1010中,当目标的能力信息指示目标不能进行浏览器到浏览器通信时,微服务中的第一个向可操作地耦合到多个媒体服务器的服务目录服务器发送媒体资源请求。在方框1012中,当目标的能力信息指示目标能够进行浏览器到浏览器通信时,微服务中的第一个发起客户端与目标之间的浏览器到浏览器通信。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (20)
1.一种能够动态分配媒体服务器资源的服务发现服务器,其特征在于,包括:
可操作地耦合到存储器的处理器;
存储在所述存储器中的服务发现模块,所述服务发现模块在由所述处理器执行时用于:
从信令服务器中的多个微服务之一接收媒体资源请求,所述媒体资源请求指示目标不能与客户端进行浏览器到浏览器通信;以及
响应于所述媒体资源请求的接收,分配媒体服务器中的多个微服务中的至少一个,使得所述客户端能够与所述目标进行通信。
2.根据权利要求1所述的服务发现服务器,其特征在于,所述处理器用于在所述客户端与所述目标之间的所述通信开始之前确定是否需要附加微服务来支持所述客户端与所述目标之间的所述通信。
3.根据权利要求2所述的服务发现服务器,其特征在于,所述处理器用于:当支持所述客户端与所述目标之间的所述通信所需的所述微服务的数量小于预定阈值时,将所述附加微服务分配给所述客户端和所述目标。
4.根据权利要求1至3任一所述的服务发现服务器,其特征在于,所述处理器用于通过所述信令服务器中的第一发现代理与所述信令服务器通信,以及所述处理器用于通过所述媒体服务器中的第二发现代理与所述媒体服务器通信。
5.根据权利要求1至4任一所述的服务发现服务器,其特征在于,所述处理器用于分配第二媒体服务器中的附加微服务以支持所述客户端与所述目标之间的所述通信。
6.一种动态分配媒体服务器资源的方法,其特征在于,包括:
提供信令服务器中的多个微服务;
所述微服务中的第一个从能够进行浏览器到浏览器通信的客户端接收呼叫消息,其中所述呼叫消息包括指定目标的标识符;
所述微服务中的所述第一个使用一个针对所述目标的能力信息的请求向缓存发送所述标识符,其中所述缓存用于使用所述标识符获取所述目标的所述能力信息;
响应于所述针对所述能力信息的请求,所述微服务中的所述第一个从所述缓存接收所述目标的所述能力信息;
当所述目标的所述能力信息指示所述目标不能进行浏览器到浏览器通信时,所述微服务中的所述第一个向可操作地耦合到多个媒体服务器的服务目录服务器发送媒体资源请求;以及
当所述目标的所述能力信息指示所述目标能够进行浏览器到浏览器通信时,所述微服务中的所述第一个发起所述客户端与所述目标之间的浏览器到浏览器通信。
7.根据权利要求6所述的方法,其特征在于,还包括使用所述信令服务器中的发现代理将所述媒体资源请求转换为与服务发现服务器兼容的格式,以及将对从所述服务发现服务器接收的所述媒体资源请求的响应转换为与所述微服务中的所述第一个兼容的格式。
8.根据权利要求6至7任一所述的方法,其特征在于,还包括向所述目标发送注册消息以提示所述目标在接收所述呼叫消息之前更新所述缓存中的所述目标的所述能力信息。
9.根据权利要求6至8任一所述的方法,其特征在于,还包括使用一个针对所述目标的位置的请求向运营商发送所述标识符。
10.根据权利要求6至9任一所述的方法,其特征在于,还包括,响应于一个针对所述目标的位置的请求,从运营商接收所述客户端的位置。
11.根据权利要求6至10任一所述的方法,其特征在于,所述指定所述目标的标识符是所述目标的电话号码。
12.根据权利要求6至11任一所述的方法,其特征在于,每个所述微服务的启动时间为一秒或更短。
13.根据权利要求6至12任一所述的方法,其特征在于,所述目标为移动设备,所述客户端为个人计算机,以及所述微服务在网页实时通信(Web Real-Time Communication,WebRTC)架构中组织。
14.据权利要求6至13任一所述的方法,其特征在于,所述浏览器到浏览器通信包括视频呼叫、视频聊天和端到端文件共享中的至少一种。
15.据权利要求6至14任一所述的方法,其特征在于,每个所述可操作地耦合到所述服务目录服务器的媒体服务器包括一池所述微服务。
16.一种动态分配媒体服务器资源的方法,其特征在于,包括:
提供信令服务器中的一池微服务;
所述微服务中的第一个从客户端接收呼叫消息,其中所述呼叫消息包括客户端标识符和目标标识符;
所述微服务中的所述第一个使用一个针对所述客户端标识符对应的客户端的能力信息以及针对所述目标标识符对应的目标的能力信息的请求向缓存发送所述客户端标识符和所述目标标识符;
响应于所述请求,所述微服务中的所述第一个从所述缓存接收所述客户端的所述能力信息和所述目标的所述能力信息;以及
当所述客户端的所述能力信息指示所述客户端能够进行浏览器到浏览器通信并且所述目标的所述能力信息指示所述目标不能进行浏览器到浏览器通信时,所述微服务中的所述第一个向可操作地耦合到多个媒体服务器的服务目录服务器发送媒体资源请求。
17.根据权利要求16所述的方法,其特征在于,还包括:当所述客户端的所述能力信息指示所述客户端能够进行浏览器到浏览器通信并且所述目标的所述能力信息指示所述目标也能够进行浏览器到浏览器通信时,所述微服务中的所述第一个发起所述客户端和所述目标之间的浏览器到浏览器通信。
18.根据权利要求16至17任一所述的方法,其特征在于,所述客户端是个人计算机(personal computer,PC),所述目标是移动设备,以及所述客户端和所述目标向所述缓存注册,使得所述客户端的所述能力信息和所述目标的所述能力信息在所述呼叫消息被接收之前存储在所述缓存中。
19.根据权利要求16至18任一所述的方法,其特征在于,每个所述媒体服务器包括微服务池,所述信令服务器中的所述微服务以及所述媒体服务器中的所述微服务都具有一秒或更短的启动时间。
20.根据权利要求16至19任一所述的方法,其特征在于,所述客户端标识符和所述目标标识符各为一个电话号码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/532,507 US9917746B2 (en) | 2014-11-04 | 2014-11-04 | Adaptive allocation of server resources |
US14/532,507 | 2014-11-04 | ||
PCT/CN2015/093799 WO2016070812A1 (en) | 2014-11-04 | 2015-11-04 | Adaptive allocation of server resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106464685A true CN106464685A (zh) | 2017-02-22 |
CN106464685B CN106464685B (zh) | 2019-08-27 |
Family
ID=55853920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580027988.3A Active CN106464685B (zh) | 2014-11-04 | 2015-11-04 | 一种动态分配媒体服务器资源的方法和服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9917746B2 (zh) |
CN (1) | CN106464685B (zh) |
WO (1) | WO2016070812A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200146A (zh) * | 2017-12-29 | 2018-06-22 | 华南理工大学 | 一种轻量级的微服务架构实现方法 |
CN108924221A (zh) * | 2018-06-29 | 2018-11-30 | 华为技术有限公司 | 分配资源的方法和装置 |
CN110049090A (zh) * | 2018-01-14 | 2019-07-23 | 国际商业机器公司 | 用于微服务的自适应断路器链 |
CN111262847A (zh) * | 2020-01-13 | 2020-06-09 | 万庆文 | 一种应用于微服务架构的访问客户端认证系统 |
CN112738644A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法和装置 |
CN115622981B (zh) * | 2022-10-21 | 2023-11-10 | 南京北路智控科技股份有限公司 | 一种WebRTC通信方法、装置、设备和存储介质 |
WO2024074091A1 (zh) * | 2022-10-08 | 2024-04-11 | 中电信数智科技有限公司 | 一种sip动态负载均衡方法、系统、设备和存储介质 |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230571B2 (en) * | 2014-10-30 | 2019-03-12 | Equinix, Inc. | Microservice-based application development framework |
US9648052B2 (en) * | 2015-01-23 | 2017-05-09 | Oracle International Corporation | Real-time communications gateway |
WO2017123044A1 (ko) | 2016-01-14 | 2017-07-20 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
EP3414877B1 (en) * | 2016-02-10 | 2019-07-17 | Telefonaktiebolaget LM Ericsson (publ) | Technique for transport protocol selection and setup of a connection between a client and a server |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US9781122B1 (en) | 2016-05-11 | 2017-10-03 | Oracle International Corporation | Multi-tenant identity and data security management cloud service |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US9838377B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US9838376B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US9716617B1 (en) | 2016-06-14 | 2017-07-25 | ShieldX Networks, Inc. | Dynamic, load-based, auto-scaling network security microservices architecture |
WO2018024325A1 (en) * | 2016-08-03 | 2018-02-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Guest user access in the ip multimedia subsystem ims |
US10530578B2 (en) * | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10516672B2 (en) | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10505941B2 (en) | 2016-08-05 | 2019-12-10 | Oracle International Corporation | Virtual directory system for LDAP to SCIM proxy service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
EP3513542B1 (en) | 2016-09-16 | 2021-05-19 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10382552B2 (en) * | 2016-12-12 | 2019-08-13 | Verizon Patent And Licensing Inc. | User device ad-hoc distributed caching of content |
US20180248772A1 (en) * | 2017-02-24 | 2018-08-30 | Satori Worldwide, Llc | Managing intelligent microservices in a data streaming ecosystem |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
JP6749281B2 (ja) * | 2017-03-23 | 2020-09-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム |
DE102017108017A1 (de) * | 2017-04-13 | 2018-10-18 | Unify Patente Gmbh & Co. Kg | Verfahren zum Führen einer Audio- und/oder Videokonferenz |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
FR3069669B1 (fr) | 2017-07-25 | 2019-10-18 | Worldline | Un systeme de communication et un procede d'acces et de deploiement des microservices ephemeres sur une plateforme heterogene |
CN107770243A (zh) * | 2017-09-06 | 2018-03-06 | 北京奥鹏远程教育中心有限公司 | 自扩展、自适应微服务平台及其应用方法 |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
US11308132B2 (en) | 2017-09-27 | 2022-04-19 | Oracle International Corporation | Reference attributes for related stored objects in a multi-tenant cloud service |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US10791003B2 (en) * | 2017-10-30 | 2020-09-29 | Intel Corporation | Streaming on diverse transports |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
US10783017B2 (en) | 2018-05-16 | 2020-09-22 | ChartIQ, Inc. | System and method for integrating multiple applications |
US10180862B1 (en) * | 2018-05-16 | 2019-01-15 | ChartIQ, Inc. | System and method for integrating multiple applications operating on a shared platform |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US10552440B1 (en) * | 2018-08-22 | 2020-02-04 | Capital One Services, Llc | System for performing data transformations using a set of independent software components |
CN109254859B (zh) * | 2018-09-12 | 2021-10-26 | 中国人民解放军国防科技大学 | 一种多层控制的自适应微服务系统 |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
JP6652267B1 (ja) * | 2018-11-30 | 2020-02-19 | Necプラットフォームズ株式会社 | 遠隔診療支援装置、システム、方法及びプログラム |
CN110035104B (zh) * | 2018-11-30 | 2021-11-23 | 创新先进技术有限公司 | 适配处理方法及装置、服务处理系统 |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
US11792226B2 (en) | 2019-02-25 | 2023-10-17 | Oracle International Corporation | Automatic api document generation from scim metadata |
US11423111B2 (en) | 2019-02-25 | 2022-08-23 | Oracle International Corporation | Client API for rest based endpoints for a multi-tenant identify cloud service |
US11687378B2 (en) | 2019-09-13 | 2023-06-27 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
CN110806930B (zh) * | 2019-10-29 | 2022-08-09 | 浙江大华技术股份有限公司 | 微服务调度方法、装置、设备及存储装置 |
CN110851254A (zh) * | 2019-11-06 | 2020-02-28 | 深圳市伊欧乐科技有限公司 | 基于微服务的设备生产方法、装置、服务器和存储介质 |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
JP7258786B2 (ja) * | 2020-01-16 | 2023-04-17 | Necプラットフォームズ株式会社 | 遠隔診療支援装置、方法及びプログラム |
CN111405061B (zh) * | 2020-03-31 | 2022-10-21 | 中国工商银行股份有限公司 | 一种基于Dubbo框架的微服务停机方法及服务器 |
US20220036433A1 (en) * | 2020-07-31 | 2022-02-03 | Confer With Limited | Shared Virtual Shopping Basket |
CN115348480A (zh) * | 2022-07-15 | 2022-11-15 | 海南视联通信技术有限公司 | 一种媒体业务处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299437A1 (en) * | 2009-05-22 | 2010-11-25 | Comcast Interactive Media, Llc | Web Service System and Method |
US20120174161A1 (en) * | 2010-12-29 | 2012-07-05 | Verizon Patent And Licensing Inc. | Content discovery and delivery with multiple servers |
CN102737450A (zh) * | 2011-03-31 | 2012-10-17 | 李兵 | 自助银行监控系统 |
CN102932156A (zh) * | 2012-11-05 | 2013-02-13 | 汕尾芯灵电子科技有限公司 | 一种微服务器及微服务器集群系统 |
CN103020008A (zh) * | 2012-12-26 | 2013-04-03 | 无锡江南计算技术研究所 | 计算能力增强的可重构微服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529950B1 (en) | 1999-06-17 | 2003-03-04 | International Business Machines Corporation | Policy-based multivariate application-level QoS negotiation for multimedia services |
CN103546442B (zh) | 2012-07-17 | 2018-10-23 | 中兴通讯股份有限公司 | 浏览器的通讯监听方法及装置 |
CN104052826B (zh) | 2013-03-12 | 2017-09-05 | 华为技术有限公司 | 基于dhcp的发现网络媒体服务器的方法和装置 |
CN103929438B (zh) | 2014-05-06 | 2017-02-15 | 中国联合网络通信集团有限公司 | 基于网页浏览器通信的防火墙穿越方法、设备和系统 |
-
2014
- 2014-11-04 US US14/532,507 patent/US9917746B2/en active Active
-
2015
- 2015-11-04 CN CN201580027988.3A patent/CN106464685B/zh active Active
- 2015-11-04 WO PCT/CN2015/093799 patent/WO2016070812A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299437A1 (en) * | 2009-05-22 | 2010-11-25 | Comcast Interactive Media, Llc | Web Service System and Method |
US20120174161A1 (en) * | 2010-12-29 | 2012-07-05 | Verizon Patent And Licensing Inc. | Content discovery and delivery with multiple servers |
CN102737450A (zh) * | 2011-03-31 | 2012-10-17 | 李兵 | 自助银行监控系统 |
CN102932156A (zh) * | 2012-11-05 | 2013-02-13 | 汕尾芯灵电子科技有限公司 | 一种微服务器及微服务器集群系统 |
CN103020008A (zh) * | 2012-12-26 | 2013-04-03 | 无锡江南计算技术研究所 | 计算能力增强的可重构微服务器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200146A (zh) * | 2017-12-29 | 2018-06-22 | 华南理工大学 | 一种轻量级的微服务架构实现方法 |
CN108200146B (zh) * | 2017-12-29 | 2020-10-27 | 华南理工大学 | 一种轻量级的微服务架构实现方法 |
CN110049090A (zh) * | 2018-01-14 | 2019-07-23 | 国际商业机器公司 | 用于微服务的自适应断路器链 |
CN108924221A (zh) * | 2018-06-29 | 2018-11-30 | 华为技术有限公司 | 分配资源的方法和装置 |
CN111262847A (zh) * | 2020-01-13 | 2020-06-09 | 万庆文 | 一种应用于微服务架构的访问客户端认证系统 |
CN112738644A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法和装置 |
WO2024074091A1 (zh) * | 2022-10-08 | 2024-04-11 | 中电信数智科技有限公司 | 一种sip动态负载均衡方法、系统、设备和存储介质 |
CN115622981B (zh) * | 2022-10-21 | 2023-11-10 | 南京北路智控科技股份有限公司 | 一种WebRTC通信方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106464685B (zh) | 2019-08-27 |
WO2016070812A1 (en) | 2016-05-12 |
US20160127199A1 (en) | 2016-05-05 |
US9917746B2 (en) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464685A (zh) | 服务器资源的自适应分配 | |
US11637876B2 (en) | System and method for integrating session initiation protocol communication in a telecommunications platform | |
JP5518185B2 (ja) | デバイス間のメディアおよび/またはメディア移転を実装するためのシステムおよび方法 | |
JP5452821B2 (ja) | デバイス間のメディアおよび/またはメディア移転を実装するためのシステムおよび方法 | |
RU2499359C2 (ru) | Управляемое клиентом динамическое перенаправление вызова | |
BRPI0906843B1 (pt) | servidor para uso com um rede pessoal e método para o mesmo, e equipamento de usuário e método para o mesmo | |
JP2012526416A (ja) | デバイス間のメディアおよび/またはメディア移転を実装するためのシステムおよび方法 | |
CN104704795A (zh) | 通过使用具有webRTC功能的网络浏览器创建虚拟SIP用户代理的方法和系统 | |
US9973544B2 (en) | Method and apparatus for enhancing inter-carrier communications | |
US20090204715A1 (en) | Method and system for acquiring a transmission path of an sip message | |
CN101426261B (zh) | 多媒体子系统业务处理的方法、p-cscf、i-cscf和多媒体子系统 | |
CN102651732A (zh) | 一种ims网络中的业务触发方法和系统 | |
JP6048573B2 (ja) | 情報処理システム | |
US8929209B2 (en) | Quantum and promiscuous user agents | |
KR20120050738A (ko) | 멀티 미디어 세션 이동 제어시스템 및 그의 제어방법 | |
CN101867926A (zh) | 通过用户代理的会话初始协议注册的方法和装置 | |
US9148308B2 (en) | Apparatus for reducing network traffic in a communication system | |
CN103095729A (zh) | 基于SIP协议的Web内容切换系统及其切换方法 | |
US10158681B2 (en) | Method of, a system and device for initializing a communication session in a communications network | |
Petric et al. | Agent-based support for context-aware provisioning of IMS-enabled ubiquitous services | |
JP5384445B2 (ja) | セッション処理システム、sip処理装置、ポリシ管理装置、セッション処理方法、及びプログラム | |
CN106255197A (zh) | 一种分布式软交换系统的用户接入方法 | |
Popovici et al. | SIP-based application level mobility for reconfigurable hybrid wireless systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |