CN106664584B - 通信端点之间的合成事务 - Google Patents

通信端点之间的合成事务 Download PDF

Info

Publication number
CN106664584B
CN106664584B CN201580039953.1A CN201580039953A CN106664584B CN 106664584 B CN106664584 B CN 106664584B CN 201580039953 A CN201580039953 A CN 201580039953A CN 106664584 B CN106664584 B CN 106664584B
Authority
CN
China
Prior art keywords
communication
transaction
synthetic transaction
client
client device
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
Application number
CN201580039953.1A
Other languages
English (en)
Other versions
CN106664584A (zh
Inventor
G·利布
P·F·梅内泽斯
J·R·莫罗
W·N·汉龙
J·H·齐布拉
A·A·哈桑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106664584A publication Critical patent/CN106664584A/zh
Application granted granted Critical
Publication of CN106664584B publication Critical patent/CN106664584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

描述了一种针对通信端点之间的合成事务的技术。根据各种实施例,合成事务表示对不同通信端点之间的通信会话的模拟。在至少一些实施例中,可以在合成事务的各个阶段期间记录合成事务的性能属性。基于所述性能属性,可以采取各种动作来缓解错误并且优化通信会话性能。

Description

通信端点之间的合成事务
技术领域
本发明涉及针对通信端点之间的合成事务的技术。
背景技术
现代通信系统具有一系列能力,包括各种通信模态(modality)与不同的服务的集成。例如,即时消息传送、语音/视频通信、数据/应用共享、白板、以及可以与订阅者的存在和可用性信息相结合的其它形式的通信。这样的系统可以给订阅者提供经增强的能力,例如,针对各种状态分类、备用联系人、日历信息、以及可比较特征而向呼叫者提供指令。此外,使用户能够在创建和修改各种类型的文档和内容时进行共享和协作的协作系统可以与提供不同种类的通信和协作能力的多模态通信系统集成。这样的经集成的系统有时被称为统一通信(UC)系统。
尽管UC系统在通信中提供了增加的灵活性,但是其同样呈现了多个实现挑战。例如,UC系统通常使用多个互连网络来路由各种通信。由于不同的网络可以由不同的实体来管理,因此在维持在独立管理的网络之间路由的通信的通信质量方面出现挑战。此外,UC通常经由可以加载在移动设备(例如,平板计算机、智能手机、膝上型计算机等)上的软件来实现。因此,用于管理UC&C通信流量的技术通常必须是流动的和动态的以适应变化的连接场景。
发明内容
提供了该发明内容以用简化的形式介绍进一步在下文的具体实施方式中所描述的概念的选集。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。
描述了针对通信端点之间的合成事务的技术。根据各种实施例,合成事务表示对不同通信端点之间的通信会话的模拟。在至少一些实施例中,可以在合成事务的各个阶段期间记录合成事务的性能属性。基于所述性能属性,可以采取各种动作来缓解错误并且优化通信会话性能。
附图说明
参考附图描述了具体实施方式。在图中,附图标记的最左边的数字标识了该附图标记第一次出现所在的图。在说明书和附图中的不同的实例中使用的相同的附图标记可以指代相似或相同的项。
图1是可操作以采用在本文中所讨论的技术的示例实现中的环境的图示。
图2示出了根据一个或多个实施例的用于执行合成事务的示例实现场景。
图3示出了根据一个或多个实施例的用于实现多个不同的设备之间的合成事务的示例实现场景。
图4示出了根据一个或多个实施例的用于报告作为合成事务的一部分来观察的行为和性能属性的示例实现场景。
图5是根据一个或多个实施例的描述了用于发起合成事务的方法中的步骤的流程图。
图6是根据一个或多个实施例的描述了用于执行合成事务的方法中的步骤的流程图。
图7是根据一个或多个实施例的描述了用于记录合成事务的属性的方法中的步骤的流程图。
图8是根据一个或多个实施例的描述了用于触发合成事务的发起的方法中的步骤的流程图。
图9是根据一个或多个实施例的描述了用于生成模拟场景的方法中的步骤的流程图。
图10示出了如参考图1所描述的示例系统和计算设备,所述示例系统和计算设备被配置为实现在本文中所描述的技术的实施例。
具体实施方式
概述
描述了针对通信端点之间的合成事务的技术。根据各种实施例,合成事务表示对不同通信端点之间的通信会话的模拟。通常而言,“通信端点”是指可以经由通信媒体(例如,语音数据、视频数据、内容共享、及其组合)的交换来进行通信的各种设备。
通信会话是指在通信端点之间的通信媒体的交换,例如,不同的通信端点的用户之间的实时通信会话的一部分。通信会话的示例包括互联网协议语音电话(VoIP)呼叫、视频呼叫、文本消息传送、文件传输、和/或其组合。在至少一些实施例中,通信会话表示统一通信(UC)会话。因此,合成事务模拟实际的通信会话的条件,而不需要用户在场来输入通信媒体。
根据各种实现,生成模拟场景,其包括针对合成事务的各种事务参数。这样的事务参数的示例包括作为合成事务的一部分而待被应用和/或模拟的针对通信端点、媒体类型、设备设置等的标识符。通常而言,模拟场景可以模拟不同的通信会话类型和/或条件,例如,个人对个人通话、会议通话、多播通话等。可以在不同的通信端点之间并且可以基于事务参数来执行合成事务。
根据各种实现,可以响应于各种触发事件而执行合成事务。例如,可以响应于用于发起合成事务的用户输入而执行合成事务,例如用以确定不同通信端点之间的通信质量。
在另一个示例中,可以响应于检测到即将到来的经调度的通信会话(例如,即将到来的日历事件的一部分)而触发合成事务。例如,日历应用可以包括指定特定的通信端点之间的通话的日历事件的条目。因此,可以采用在本文中所讨论的技术来生成对所调度的通信会话的各种参数进行模拟的模拟场景。可以采用模拟场景来在所调度的通信会话之前执行合成事务,例如用以确保在即将到来的通信会话期间可能体验的预期的通话质量。如果在合成事务期间检测到会话问题,则可以采取校正措施来改进即将到来的通信会话的质量。
在另一个示例中,可以调度周期性的合成事务来周期性地测试在不同的通信端点之间和/或不同的通信路径上的通信质量。
根据各种实现,可以在合成事务的各个阶段期间记录合成事务的性能属性。例如,性能属性可以指示通话质量和/或在合成事务期间发生的错误。基于性能属性,可以采取各种动作来缓解错误并且优化通信会话性能。例如,可以将性能属性传送至在合成事务中所涉及的不同的实体,例如,网络管理器、通信服务、最终用户设备等。各个实体可以基于性能属性来实现各种校正和优化过程。
在以下的讨论中,首先描述可用于采用在本文中所描述的技术的示例环境。接着,标题为“合成事务参数和观察”的章节讨论了用于传送合成事务的参数和观察的一些示例方式。此后,标题为“示例实现场景”的章节描述了根据一个或多个实施例的一些示例实现场景。接着,标题为“示例过程”的章节描述了根据一个或多个实施例的一些示例过程。最后,标题为“示例系统和设备”的章节描述了根据一个或多个实施例的可用于采用在本文中所讨论的技术的示例系统和设备。
在呈现了根据一个或多个实施例的对示例实现的概述之后,现在考虑其中可以采用示例实现的示例环境。
示例环境
图1是示例实现中的环境100的图示,该示例实现可操作以采用针对在本文中所描述的通信端点之间的合成事务的技术。通常而言,环境100包括使能经由多种不同模态的通信的各种设备、服务、和网络。例如,环境100包括连接至网络104的客户端设备102。客户端设备102可以用多种方式被配置,例如,传统计算机(例如,台式个人计算机、膝上型计算机等)、移动站、娱乐家电、智能手机、上网本、游戏控制器、手持式设备(例如,平板计算机)等。
网络104代表各种类型和组合的有线的和无线的网络,例如,广域网(WAN)、局域网(LAN)、互联网等。网络104可以经由多种不同的连通性技术而给客户端102提供连通性,所述连通性技术例如,宽带电缆、数字用户线(DSL)、蜂窝网络、无线数据连通性(例如,WiFiTM)、T-载波(例如,T1)、以太网等。
网络104是由网络管理器106提供和/或管理的,所述网络管理器106代表提供网络104的基础设施和监管的不同的实体。网络管理器106例如提供并维护网络组件108,所述网络组件108代表用于实现网络104的硬件和逻辑。网络组件108的示例包括网关、交换机、路由器、集线器、无线接入点、网络元件等。
客户端设备102包括通信客户端110,其代表用于支持客户端设备102与通信端点112之间的通信的功能。通常而言,通信客户端110代表使能经由客户端设备102的不同形式的通信的功能。通信客户端110的示例包括语音通信应用(例如,VoIP客户端)、UC客户端、视频通信应用、消息传送应用、内容共享应用、及其组合。通信客户端110例如使得不同的通信模态能够被组合以提供多种通信场景。在至少一个些实施例中,通信客户端110表示被安装在客户端设备102上的应用。额外地或可替代地,通信客户端110可以被实现为远程应用的入口,例如经由web浏览器、web应用等被访问。
环境100还包括通信服务114,其代表用于执行对客户端设备102与通信端点112之间的通信的管理的各种任务的服务。通信服务114可以例如管理客户端点112之间的通信会话的发起、节制、和终止。通信服务114的示例包括VoIP服务、在线会议服务、UC服务等。在至少一些实施例中,通信服务114可以被实现为或者被连接至与公共交换电话网络(“PSTN”)进行通信的专用分组交换机(PBX),以支持客户端设备102与通信端点112之间的语音通信。
在至少一些实现中,通信客户端110是由通信服务114管理和/或托管的。例如,通信客户端110表示到由通信服务114所提供的通信服务的接口。
环境100还包括模拟控制器116,其代表用于执行在本文中所讨论的针对通信端点之间的合成事务的技术的各个方面的功能。模拟控制器116例如可以实现模拟客户端设备102与其他通信端点(例如,通信端点112)之间的各种通信场景的合成通信事务(“合成事务”)。在至少一些实现中,模拟控制器116由通信服务114实现,以管理不同的通信端点之间的通信质量的各种方面。
模拟控制器116包括端点数据库(DB)118和模拟场景数据库(DB)120。端点DB118存储关于不同的通信端点(例如,客户端设备102、通信端点112等)的信息。例如,端点DB 118将不同的端点的标识符与涉及端点的所模拟的事务的结果进行关联。模拟场景DB 120存储可以用于生成不同的合成事务的模拟参数和属性。在下文中讨论了关于端点DB 118和模拟场景DB 120的进一步的细节。
根据一个或多个实现,模拟控制器116与客户端设备102上的模拟器模块122接合,以使能够实现不同的合成事务。例如,基于来自模拟场景DB 120的模拟场景,模拟控制器116将事务参数传送至模拟器模块122。接着,模拟器模块122可以使用事务参数来实现合成事务,例如,模拟客户端设备102与通信端点112中的一个通信端点之间的通信会话。
客户端设备102还包括日历模块124,其代表用于管理客户端设备102的事件调度任务的功能。例如,客户端设备102的用户可以利用日历模块124来创建和/或管理不同的事件,例如,会议、预约、个人事件等。在至少一些实现中,可以将日历模块124实现为使得用户能够创建事件、接收来自其他用户的针对事件的邀请、接收关于即将到来的事件的提醒等软件应用和/或服务的一部分。如在下文中进一步详述的,模拟器模块122和/或模拟控制器116可以与日历模块124接合,以检测即将到来的经调度的通信会话。接着,合成事务可以被实现为模拟经调度的通信会话的各种参数,例如,以检测通信事件的潜在的质量属性。
环境100还包括所模拟的端点126,其代表用于模拟通信端点的功能。例如,所模拟的端点126可以被实现为利用其可以执行合成事务的最终用户设备的逻辑代表。模拟控制器116例如可以实现客户端设备102与所模拟的端点126之间的合成事务,以模拟可以作为通信会话的一部分而发生的不同的条件。在至少一些实现中,所模拟的端点126被配置为参与与对所模拟的端点126的用户输入无关的与客户端设备102和/或其他通信端点的合成事务。
通信端点112代表客户端设备102可以与其进行通信的设备和/或功能。通信端点112包括相应的通信客户端128和模拟器模块130。根据各种实现,模拟控制器116可以将各种指令和/或模拟参数传送至客户端设备102的模拟器模块122,并且传送至特定的通信端点112的模拟器模块130。基于所述指令和参数,可以在客户端设备102与通信端点112之间实现合成事务。可以记录合成事务的性能属性以确保客户端设备102与通信端点112之间的通信质量。
根据一个或多个实施例,模拟控制器116包括访问针对客户端设备102与通信端点112之间的通信的路由信息的连通性以及逻辑。例如,模拟控制器116可以访问针对网络104(例如,针对网络组件108)的内部网关协议(IGP)和/或生成树切换拓扑。这使得模拟控制器116能够识别在路由合成事务数据时所涉及的不同的网络组件108,并且能够识别可以引起被检测为合成事务的一部分的各种有关性能现象的特定的网络组件108。根据各种实现,模拟控制器116可以将不同的网络104和/或网络组件108的性能属性作为网络数据库(DB)132的一部分来存储。
网络DB 132例如指示个体的网络104和/或网络组件108的性能数据,例如,指示跨个体网络和/或组件的数据流质量。例如,网络104和/或网络组件108的个体可以基于历史质量度量(例如,被检测为涉及特定的网络104的合成事务的一部分)而被表征在网络DB132中。在至少一些实现中,模拟控制器116经由网络DB 132并且基于被检测为合成事务的一部分的不同的网络104和/或网络组件108的会话质量属性来维持网络104的活动状态认知。在至少一些实施例中,可以将来自网络DB 132的数据提供至网络管理器106,以使得特定的网络组件108能够被重新配置、修复、或替代,以增加跨网络104的各种通信路径的通信质量。
根据各种实现,网络管理器106维持观察模块134,其代表用于观察和记录在网络104内发生的行为的功能。例如,个体网络管理器106可以维持观察模块134,其观察并记录跨相应的网络104发生的合成事务的数据流的性能属性。观察模块134可以将相应的网络104和/或网络组件108的行为信息传播至模拟控制器116以由网络DB 132存储。在至少一些实现中,可以由模拟控制器116在其相应的网络104中部署和/或托管观察模块134。
可以以软件、硬件、固件、和/或其组合来实现在环境100中所讨论的各种实体和功能。在下文中讨论了环境100的各种实体的进一步的细节和实现。
在已经描述了在其中可以操作在本文中所描述的技术的示例环境之后,现在考虑根据一个或多个实施例的对在通信系统中传播通信会话的各种属性的示例方式的讨论。
合成事务参数和观察
根据各种实现,可以采用技术来生成具有宽泛的多种不同的参数的针对合成事务的模拟场景。例如,可以生成指定各种事务参数的通知事件以作为合成事务的一部分来应用。根据在本文中所讨论的通信端点之间的合成事务的技术,可以将通知事件传递至不同的实体以用于实现合成事务。
在至少一些实施例中,可以使用模拟应用程序接口(API)来配置通知事件,模拟应用程序接口可以被利用来配置并传送合成事务的参数至各种实体(例如,传送至客户端设备102的模拟器模块122)。例如,考虑可以经由通知事件传递的以下的参数:
(1)媒体类型:该参数可以用于指定作为合成事务的一部分而待被传输和/或模拟的媒体类型和/或多个类型。媒体类型的示例包括语音数据(例如,音频)、视频、内容、及其组合。
(2)发起方地址:该参数可以用于指定待发起合成事务的端点的地址。地址的示例包括媒体访问控制(MAC)地址、互联网协议(IP)地址、用户名、电话号码等。
(3)接收方地址:该参数可以用于指定作为合成事务的一部分而待被“呼叫”的端点的地址。在至少一些实现中,可以指示多个接收方地址,例如,针对会议通话、多播通信事件等。
(4)编码解码器:该参数可以用于指定用于实现合成事务的编码解码器/多个编码解码器。
(5)通信客户端设置:该参数可以用于指定作为合成事务的一部分而待被应用和/或模拟的各种通信客户端设置。
(6)服务质量:该参数可以用于指定作为合成事务的一部分而待被应用于通信介质的服务质量(QoS)。该属性例如可以指定待被应用至通信媒体的QoS标记。QoS标记的示例包括:尽力而为(BE)、加速转发(EF)、确保转发(AF)等。
(7)事务路由:该参数可以用于指定作为合成事务的一部分而待被使用的具体的路径。例如,可以根据网络组件的具体的实例(例如,具体的网关、服务器(例如,UC服务器)、UC网络等)来指定路径。
(8)事务类型:该参数可以用于指定不同的事务类型,例如,两个设备之间的通话、会议通话、多分支通话、多播通话等。
(9)事务行为:该参数可以用于指定可以在事务期间和/或可以作为事务的一部分发生的不同的行为,例如,用户发起行为、通信服务行为、设备行为等。事务行为的示例包括选择不同的通信选项,例如,将通话挂起、调整通话音量、选择通话录音选项、将通话转移至不同的用户和/或设备等。
(10)事务时序:该参数可以用于指定合成事务的各种时间参数,例如,什么日期和/或什么时间发起合成事务、合成事务的持续时间、在合成事务期间发生的特定的事件的时序等。
仅仅出于示例的目的而呈现了这些事务参数,并且应当理解的是,可以额外地或可替代地采用根据所要求保护的实现的在本文中没有明确地提及的宽泛的多种不同的参数。
在至少一些实施例中,可以生成识别作为合成事务的一部分来观察的行为的通知事件。例如,可以使用用于将所观察的合成事务行为传送至各种实体的观察API来配置通知事件。例如,观察API可以识别针对其可以识别出合成事务的属性的对话事件和会话事件。例如观察API可以表示对在上文中详述的模拟API的扩展或替代。例如,考虑可以经由通知事件传递的以下的事件和属性:
对话事件——这些事件应用至合成事务的各个部分,例如,合成事务的开始、更新、和结束。对话事件可以包括以下示例属性中的一个或多个属性。
(1)时间戳:该属性可以用于指定针对合成事务的开始、在合成事务期间发生的更新、以及合成事务的结束(例如,终止)的事件戳。
(2)源IP地址:该属性可以用于指定在合成事务期间作为媒体的源的端点(例如,发起合成事务的设备)的IP地址。
(3)目的地IP地址:该属性可以用于指定作为合成事务的一部分的用于接收媒体的端点的IP地址。
(4)传输类型:该属性可以用于指定合成事务的传输类型或多个传输类型的组合。传输类型的示例包括:传输控制协议(TCP)、用户数据报协议(UDP)等。
(5)源端口:该属性可以用于指定在源端点(例如,由在上文中所提及的源IP地址所标识的源设备)处的端口的标识符。
(6)目的地端口:该属性可以用于指定在目的地端点处(例如,由在上文中所提及的目的地IP地址所标识的目的地设备)的端口的标识符。
(7)媒体类型:该属性可以用于指定作为合成事务的一部分而待被传输或正在被传输的媒体类型和/或多个类型。如在本文中的其他地方所讨论的,合成事务可以涉及多个不同类型的媒体。因此,可以采用媒体类型属性来标识作为合成事务的一部分来交换的媒体类型。
(8)带宽估计:该属性可以用于指定作为合成事务的一部分来分配的所估计的带宽。
(9)至(To):该属性可以用于标识合成事务中的媒体所发送至的用户。
(10)从(From):该属性可以用于标识从其发送合成事务中的媒体的用户。
(11)错误代码:该属性可以用于指定针对可以作为合成事务的一部分发生的错误的各种错误代码。例如,错误可以包括在合成事务的发起期间发生的错误、在合成事务期间发生的错误、当合成事务终止时发生的错误等。
事务性能事件——该事件可以被生成并且被应用以指定作为合成事务的一部分来观察的各种行为和性能参数。事务性能事件可以包括在上文中参考对话事件所讨论的属性中的一个或多个属性,并且还可以包括以下属性中的一个或多个属性。
(1)均值意见分数(MOS)降低:该属性用于指定合成事务的MOS。该属性例如可以用于指示合成事务的整体质量度量。
(2)抖动到达时间:该属性可以用于指定合成事务的抖动值。
(3)分组丢失率:该属性可以用于指定合成事务的分组丢失率。
(4)往返延迟(RTD):该属性可以用于指定合成事务中的分组的RTD值。
(5)隐藏比率:该属性可以用于指示针对合成事务所观察的、隐藏时间(concealment time)相对于话音时间的观察累积比率。
因此在本文中所讨论的各种通知可以包括在上文中所讨论的属性中的一个或多个属性,并且可以用于将所述属性传播至各种实体。属性的该列表不是穷举的,并且应当理解的是,可以传送根据所要求保护的实施例的宽泛的多种其他属性。
在描述了传播合成事务的参数和所观察的行为的示例方式之后,现在考虑根据一个或多个实施例的针对通信端点之间的合成事务的示例实现场景。
示例实现场景
以下的章节描述了根据一个或多个实施例的针对通信端点之间的合成事务的示例实现场景。所述示例实现场景可以在上文中所讨论的环境100和/或任何其他合适的环境中实现。
图2示出了根据一个或多个实现的用于执行合成事务的示例实现场景200。在场景200中,模拟控制器116检测指示将要生成并执行合成事务的发起事件202。发起事件202可以对应于各种现象,例如,对模拟控制器116的用户输入、自动生成的事件、定时的事件、对即将到来的所调度的通信会话的指示等。通常而言,发起事件202对应于对模拟控制器116的用于生成模拟场景的提示。
响应于发起事件202,模拟控制器116生成指示作为合成事务的一部分而待被应用和/或模拟的各种参数的模拟场景204。在上文中讨论了不同的参数的示例。可以以各种方式来生成模拟场景204,例如,基于对模拟控制器116的用户输入、响应于发起事件202而自动生成等。在至少一些实现中,模拟场景204可以对应于来自模拟场景DB 132的预先配置的场景。可替代地或额外地,可以动态地生成模拟场景204,例如,基于所检测的事件或条件。
继续场景200,模拟控制器116将模拟场景202传送至客户端设备102。模拟器模块122解析模拟场景204以识别在模拟场景204中所指定的各种事务参数。例如,模拟场景204识别通信端点112的具体的实例或多个实例,通信客户端110藉此来发起合成事务。
根据各种实现,模拟控制器116还将事务通知206传送至特定的网络管理器106,其合成事务的一部分被模拟控制器106确定为可能在对数据进行路由时涉及的。事务通知206例如针对相应的网络104而通知观察模块134:合成事务正在被发起并且观察模块134将要观察并记录跨相应的网络组件108的合成事务的数据流行为。事务通知206包括使得观察模块134能够将合成事务的数据与其他数据流进行区分的各种信息,例如,客户端设备102和通信端点112的标识符、标识合成事务的数据的流标识符(例如,分组标识符)等。
关于场景200,模拟控制器116将端点场景208传送至通信端点112的模拟器模块122,其被利用来发起合成事务。端点场景208例如通知模拟器模块130:正在客户端设备102与通信端点112之间发起合成事务。例如,端点场景208识别客户端设备102并且指示通信端点112将从客户端设备102接收通信,例如,发起通信会话的请求。
端点场景208可以是模拟场景204的复制。例如,模拟场景204可以指定作为合成事务的一部分而待被应用的、针对客户端设备102的事务参数以及针对通信端点112的事务参数。可替代地,端点场景208可以不同于模拟场景204,并且可以专门针对通信端点112而生成。
关于场景200,模拟器模块122与通信客户端110进行交互,以在通信客户端110与通信端点112的通信客户端128之间发起合成事务210。模拟器模块122例如对到通信客户端110的用户输入进行模拟,以发起合成事务210。在至少一个实现中,通信客户端110可能察觉不到合成事务210是“合成的”,这是因为从模拟器模块122中所接收的输入模拟了到客户端设备102的实际的用户输入。
通常而言,合成事务210表示客户端设备102与通信端点112之间的通信媒体的交换。合成事务210例如是通信媒体的实时交换,其模拟通信端点的用户之间的实时通信会话。通信媒体可以作为模拟场景204和/或端点场景208的一部分被包括。可替代地或额外地,通信媒体可以是由客户端设备102和/或通信端点112生成。由模拟场景204和端点场景208所指定的其他参数和行为是作为合成事务210的一部分来应用的,在上文中详述了其示例。
根据各种实现,可以采用场景200来在客户端设备102与所模拟的端点设备126(例如,作为对通信端点112的补充或替代)之间发起合成事务。例如,模拟场景204可以例如经由所模拟的端点126的网络地址和/或其他标识符来识别所模拟的端点126。因此,客户端设备102可以以类似于针对利用通信端点112而发起合成事务210的方式,利用所模拟的端点126来发起合成事务210。在至少一些实现中,模拟控制器116可以控制所模拟的端点126来模拟各种端点行为。可替代地或额外地,所模拟的端点126可以包括集成的逻辑,其使得所模拟的端点126能够控制其自身来模拟与实际的通信端点的交互。因此客户端设备102可以与所模拟的端点126进行通信,正如与实际的用户控制的通信端点112进行通信那样。
围绕着合成事务210的各种行为数据是由在合成事务210中所涉及的实体来收集的,如在下文中关于实现场景400所详述的那样。
尽管场景200是关于两个端点之间的合成事务来讨论的,应当理解的是,可以采用在本文中所讨论的技术来在许多不同的设备之间发起并执行合成事务。例如,考虑以下的示例场景。
图3示出了用于在多个不同的设备之间实现合成事务的示例实现场景300。在场景300中,模拟控制器116检测指示将要在客户端设备102与多个通信端点之间生成并执行合成事务的发起事件302。在上文中讨论了各种类型的发起事件。
响应于发起事件302,模拟控制器116生成指示针对合成事务的各种参数的模拟场景304。以上讨论了不同参数的示例。模拟场景304指定:将在客户端设备102与通信端点306a、通信端点306b、以及通信端点306n之间实现合成事务。通信端点306a-306n每个表示在上文中所讨论的通信端点112的实现。因此,尽管没有明确地在这里示出,通信端点306a-306n中的每个包括通信客户端128和模拟器模块130的相应的实例。
可以以各种方式来生成模拟场景304,例如,基于至模拟控制器116的用户输入、响应于发起事件302而自动地生成等。在至少一些实现中,模拟场景304可以对应于来自模拟场景DB 120的预先配置的场景。可替代地或额外地,可以动态地生成模拟场景304,例如基于所检测的事件或条件。
继续场景300,模拟控制器116将模拟场景304传送至客户端设备102。模拟器模块122解析模拟场景304以识别在模拟场景304中所指定的各种事务参数。模拟场景304例如识别通信端点306a-306n。
根据各种实现,模拟控制器116还将事务通知308传送至特定的网络管理器106,其作为合成事务的一部分被模拟控制器116确定可能在对数据进行路由时涉及。事务通知308例如针对相应的网络104而通知观察模块134:合成事务正在被发起,并且观察模块134将要观察并记录跨相应的网络组件108的合成事务的数据流行为。事务通知308包括使得观察模块134能够对合成事务的数据与其他数据流进行区分的各种信息,例如,客户端设备102和通信端点306a-306n的标识符、标识合成事务的数据的流标识符(例如,分组标识符)等。
模拟控制器116还将端点场景310传送至相应的通信端点306a-306n的模拟器模块。通常而言,端点场景310指定待由通信端点306a-306n作为合成事务的一部分来应用的各种参数。端点场景310例如可以包括作为合成事务的一部分而待被交换的媒体。根据各种实现,端点场景310可以是复制(duplicates),例如,可以每个包括相同的信息和属性。可替代地,端点场景310中的至少一些场景可以包括与其他端点场景310不同的信息和/或属性。因此,相应的通信端点306a-306n的模拟器模块解析端点场景310以确定合成事务的各种参数。
关于场景300,模拟器模块122与通信客户端110进行交互以在通信客户端110与相应的通信端点306a-306n的通信客户端之间发起合成事务312a、312b、312n。模拟器模块122例如模拟至通信客户端110的用户输入以发起合成事务312a-312n。在至少一些实现中,通信客户端110可能察觉不到合成事务312a-312n是“合成的”,这是因为从模拟器模块122中所接收的输入模拟了至客户端设备102的实际的用户输入。概括而言,合成事务312a-312n可以表示并发的和/或同时的合成事务。
合成事务312a-312n表示客户端设备102与相应的通信端点306a-306n之间的通信媒体的交换,例如,根据由模拟场景304和相应的端点场景310所指定的媒体和属性。
尽管关于四个通信端点(例如,客户端设备102和通信端点306a-306n)之间的合成事务示出了场景300,但应当理解的是,可以采用技术来发起与许多(例如,数百个、数千个等)通信端点的并发的合成事务。例如,可以将场景300实现为对会议通话和/或多播通信事件的模拟的一部分,例如,对多方间的企业会议的模拟。在至少一些实现中,场景300可以被实现为包括客户端设备102与所模拟的端点126(例如,除了通信端点306a-306n之外)之间的合成事务。
图4示出了根据一个或多个实现的用于报告作为合成事务的一部分来观察的行为和性能属性的示例实现场景400。在至少一些实现中,场景400表示在上文中所讨论的场景200和/或300的继续。
在场景400中,客户端设备102将事务报告402传送至模拟控制器116。通常而言,事务报告402包括作为合成事务的一部分来观察的各种行为和性能属性。在事务报告402中所指定的行为和属性的示例包括队列处理、客户端设备102配置、数据路由、故障处理属性、抖动属性、分组延迟、分组丢失等。例如可以至少部分地基于在上文中所讨论的通知事件和/或观察API而用属性和值来填充事务报告。
根据各种实现,可以以各种方式生成和传送事务报告402。例如,模拟器模块122可以在合成事务的发起、执行、和结束期间用不同的属性和值来填充事务报告402。例如,客户端设备102可以在合成事务结束之后将事务报告传送至模拟控制器116。
可替代地或额外地,可以动态地并且在合成事务的不同阶段期间(例如,在合成事务的发起、执行、和/或结束期间)将事务报告402传送至模拟控制器116。例如,可以在合成事务的不同的点处(例如,周期性地)将事务报告402的不同的实例传送至模拟控制器116,同时基于合成事务的最近观察到的行为和属性来对个体的事务报告402进行更新。
关于场景400,通信端点112将端点报告404传送至模拟控制器116。根据各种实现,端点报告404包括作为合成事务的一部分在通信端点112处来观察的各种属性和行为。端点报告404例如可以类似于事务报告402那样,但却是用在通信端点112处所观察到的值和属性来填充和/或传送的。
继续场景400,网络管理器106将网络报告406传送至模拟控制器116。根据各种实现,网络报告406包括作为合成事务的一部分由网络管理器106来观察的各种属性和行为。网络报告406例如可以类似于事务报告402那样,但是用由网络管理器106所观察到的值和属性来填充和/或传送。在其中在合成事务中涉及多个网络的实现中,所涉及的网络的个体的网络管理器106可以传送个体的相应的网络报告406,其是用在相应的网络104处所观察到的属性和行为来填充的。
根据各种实现,模拟控制器116接收不同的报告并且以各种方式对报告进行处理。例如,可以将来自事务报告402和端点报告404的信息传播至端点DB 118。可以用来自事务报告402的信息来填充针对客户端设备102的端点DB 118中的条目。此外,可以用来自端点报告404的信息来填充针对通信端点112的端点DB 118中的条目。因此,模拟控制器116可以追踪作为合成事务的一部分而在不同的设备和/或端点处所观察的属性和行为。此外,端点DB 118可以用于追踪不同的设备和端点的在多个不同的合成事务上并且在一段时间上的历史性能。
模拟控制器116还将来自网络报告406的信息传播至网络DB 132。针对在合成事务中所涉及的特定的网络104的网络DB 132中的条目可以用来自网络报告406的信息来填充。因此,模拟控制器116可以追踪作为合成事务的一部分而在不同的网络104处被观察的属性和行为。当在合成事务中涉及多个网络104时,模拟控制器116可以用来自从不同的网络接收的网络报告406的信息填充至针对相应的网络104的网络DB 132的条目。在至少一些实现中,网络DB 132可以用于追踪不同的网络的在多个不同的合成事务上并且在一段时间上的历史性能。
根据一个或多个实现,作为场景400的一部分而生成根据在上文中关于图2所讨论的单个合成事务、合成事务210的不同的报告。因此,可以对来自不同的报告进行聚合以呈现合成事务的全面的、端对端的视角。
在其中同时执行多个合成事务的实现(例如,如参考图3所讨论的)中,可以链接基于不同的合成事务所生成的报告,例如,基于链接不同的有关的合成事务的事务标识符。因此,可以对来自经链接的不同的报告的信息进行聚合,以呈现有关的合成事务的整体视角。
关于场景400,可以将来自不同的报告的信息传播至不同的实体。例如,模拟控制器116可以向不同的网络管理器106通知关于在利用针对合成事务的相应网络104的不同的设备和/或端点处所观察到的行为和性能。此外,可以向客户端设备102通知关于网络和/或端点的行为和属性。还可以向通信端点112通知关于在相应的网络104和客户端设备102处所观察到的行为和属性。因此,可以将由在本文中所讨论的技术所支持的合成事务的端对端认知的行为和属性传播至在合成事务中涉及的实体。这样的认知使得个体的实体能够修复和/或优化组件、设置、和/或处理,从而在其相应的责任的范围中缓解性能问题并且增加性能质量。
在已经讨论了一些示例实现场景之后,现在考虑根据一个或多个实施例的对一些示例过程的讨论。
示例过程
以下的讨论描述了根据一个或多个实施例的针对通信端点之间的合成事务的一些示例过程。可以在图1的环境100、图10的系统1000、和/或任何其他合适的环境中采用示例过程。所述过程例如表示用于实现在上文中所讨论的示例实现场景的过程。在至少一些实施例中,可以自动地并且与用户交互无关地实现所描述的针对各种过程的步骤。
图5是根据一个或多个实施例的描述了方法中的步骤的流程图。所述方法描述了根据一个或多个实施例的用于发起合成事务的示例过程。
步骤500接收在客户端设备的通信客户端与通信端点的通信客户端之间发起合成事务的指示。根据各种实现,可以基于各种事件和这些事件发生的条件来接收指示。所述指示例如可以包括检测将涉及通信会话的即将到来的日历事件。在另一个示例中,用户可以提供输入以发起合成事务。在至少一些实现中,可以调度合成事务以在周期性基础上自动地执行,例如,用于测试通信线路的行为和属性。
步骤502生成针对合成事务的模拟场景,所述模拟场景识别客户端设备和通信端点,并且包括待被应用至合成事务的参数。通常而言,模拟场景指定将在合成事务中涉及的各种通信端点和设备。模拟场景还指定针对合成事务的各种参数,例如,待被应用的设置(例如,设备和/或通信客户端设置)、待交换的通信媒体的类型、待模拟的行为(例如,用户行为)、针对合成事务的定时参数等。在至少一些实现中,模拟场景包括作为合成事务的一部分而待被交换的通信媒体,例如,语音数据、视频数据、内容等。在上文中讨论了针对模拟场景和合成事务的示例参数。
步骤504指导客户端设备在客户端设备的通信客户端与通信端点的通信客户端之间并且根据模拟场景来发起合成事务。例如将模拟场景的参数传送至客户端设备。在至少一些实现中,模拟控制器将通知传送至客户端设备以根据模拟场景来实现合成事务。
步骤506向接收方通信端点通知合成事务。例如,将包括合成事务的各种属性的通知传送至一个或多个与其发起合成事务的通信端点。在至少一些实现中,将指定各种特定于端点的行为和事务属性的端点场景传送至通信端点。所述端点场景例如可以包括作为合成事务的一部分而待由接收方通信端点传送至发起设备的通信媒体。
图6是根据一个或多个实施例的描述了方法中的步骤的流程图。所述方法描述了根据一个或多个实施例的用于发起合成事务的示例过程。
步骤600接收根据模拟场景在客户端设备与通信端点之间发起合成事务的指令。所述指令例如指示在客户端设备的通信客户端与通信端点的通信客户端之间发起合成事务的指令。例如,客户端设备从模拟控制器接收指令。可替代地或额外地,所述指令可以是由客户端设备生成的,例如,是由待要发起合成事务的设备生成的。
步骤602从模拟场景确定针对合成事务的参数。客户端设备例如解析模拟场景以识别与其发起合成事务的一个或多个通信端点。客户端设备还可以识别待被针对合成事务利用的各种事务参数。
步骤604在客户端设备与通信端点之间并且根据模拟场景的事务参数执行合成事务。所述合成事务例如是在客户端设备的通信客户端与通信端点的通信客户端之间执行的。例如,客户端设备向通信端点传送发起通信会话的请求。在至少一些实现中,可以将请求实现为标准通话请求,例如,以参与与客户端设备的VoIP通话和/或其他通信会话。客户端设备接着与通信端点交换由模拟场景所指定和/或包括在模拟场景中的通信媒体。还可以实现由模拟场景所指定的各种事务参数,例如,作为合成事务的一部分来执行的行为和事件。在上文中讨论了这样的事务参数的示例。
根据各种实现,可以执行所述方法以发起与多个不同的通信端点的多个并发的合成事务,例如,对从客户端设备到多个不同的通信端点的多播通信会话的模拟的一部分。
图7是根据一个或多个实施例的描述了方法中的步骤的流程图。所述方法描述了根据一个或多个实施例的用于记录合成事务的属性的示例过程。在至少一些实现中,所述方法描述了在下文中参考图6所讨论的方法的示例扩展。所述方法可以是由涉及合成事务和/或与合成事务相关联的各种实体来执行的,所述实体例如通信端点、模拟控制器、网络管理器等。
步骤700检测合成事务的属性。通常而言,所述属性包括在合成事务期间所发生的行为和事件,例如所模拟的用户输入、机器生成的事件等。根据各种实现,所述属性还包括性能属性,例如,在合成事务期间所体验的带宽、分组延迟、抖动、延时等。可以在合成事务的各种点处检测所述属性,例如,在合成事务的开始、执行、和结束处。
在至少一些实现中,所检测的属性可以包括媒体质量属性,这样的属性与作为通信会话的一部分的用户体验相关。媒体质量属性的示例包括声音质量、语音可理解性、视频质量、媒体类型和/或通信端点间的同步质量等。
步骤702记录合成事务的属性。所述属性例如是连同对合成事务与其他合成事务和/或通信会话进行区分的事务标识符一起记录的。还可以给所述属性加上时间戳以指示合成事务期间检测到个体的属性的时刻。可以例如将所述属性标记为是在合成事务的发起、执行、或结束时检测到的。
步骤704传送合成事务的属性。例如可以将所述属性传送至各种实体,例如在合成事务中所涉及的实体。在至少一些实现中,可以经由在上文中所讨论的通知事件和/或观察API来传送所述属性。
在至少一些实现中,可以使用在本文中所讨论的技术来对响应于所检测到的合成事务的属性而进行的改变进行检测。例如,设备和/或网络属性可以被改变以修复和/或优化通信性能,并且是基于在合成事务期间所检测到的性能问题的。在改变了所述属性之后,可以再次执行合成事务以确定所述改变是否对修复和/或优化通信性能有效。
图8是根据一个或多个实施例的描述了方法中的步骤的流程图。所述方法描述了根据一个或多个实施例的用于触发合成事务的发起的示例过程。在至少一些实现中,所述方法描述了参考图5在上文中所讨论的步骤500的示例实现。
步骤800检测包括通信会话的即将到来的日历事件。所述日历事件例如可以包括电话会议、视频会议、UC会话等。可以以各种方式来检测所述日历事件。例如,参考环境100,模拟器模块122可以检测来自日历模块124的日历事件。可以例如基于对标识日历事件的日历模块124的查询或者来自其的通知来检测所述日历事件。
步骤802确定日历事件的参数。所述日历事件的数据例如可以标识在通信会话中所涉及的通信端点、通信会话的日期和时间参数、待在通信会话期间改变的媒体类型等。
步骤804基于日历事件的参数而生成模拟场景。模拟场景例如可以标识在日历事件中所涉及的各种通信端点,例如发起设备、接收设备等。在上文中讨论了事务参数的各种其他示例。
步骤806基于日历事件的模拟场景而发起合成事务。例如可以调度合成事务以在日历事件之前(例如,一小时之前、30分钟之前等)的特定的时间处发起。因此,可以执行合成事务以测试在日历事件中所涉及的实体(例如,通信端点、网络、和网络组件等)的性能属性。
在至少一些实现中,可以将合成事务的属性报告给各种实体,例如在上文中参考图7所描述的。例如,如果在合成事务期间检测到性能问题(例如,错误和/或差的通信性能),则可以在实际的日历事件之前采取各种校正动作来缓解性能问题并且提高相关联的通信会话的质量。
图9是根据一个或多个实施例的方法中的步骤的流程图。所述方法描述了根据一个或多个实施例的用于基于实际的通信会话而生成模拟场景的示例过程。
步骤900记录了通信会话的参数。通常而言,通信会话表示作为不同的用户之间的交互的一部分的、在不同的端点之间的通信媒体的交换。通信会话例如是用户发起的并且不对应于合成事务。
步骤902基于通信会话的参数而生成模拟场景。所述模拟场景例如标识在通信会话中所涉及的端点、在通信会话期间所交换的媒体类型、在通信会话期间所提供的用户输入、在通信会话中所涉及的网络和网络组件、在通信会话期间所发生的设备行为和事件、在通信会话期间生效的设置等。所述模拟场景例如重新创建在通信会话期间发生的事件和行为。
根据各种实现,可以响应于检测到在通信会话期间所发生的问题(例如,会话错误、差的通信性能等)来执行该方法。因此,模拟场景可以用来实现模拟原始通信会话的合成事务。合成事务的性能属性可以被检测并且用于标识在通信会话期间所发生的问题的源。
在讨论了一些示例过程之后,现在考虑根据一个或多个实施例的对示例系统和设备的讨论。
示例系统和设备
图10在1000处一般性地示出了示例系统,其包括代表可以实现在本文中所描述的各种技术的一个或多个计算系统和/或设备的示例计算设备1002。例如,在上文中参考图1所讨论的客户端设备102和/或通信端点112可以被实施为计算设备1002。计算设备1002可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统、和/或任何其它合适的计算设备或计算系统。
如图所示的示例计算设备1002包括彼此通信地耦合的处理系统1004、一个或多个计算机可读介质1006、以及一个或多个输入/输出(I/O)接口1008。尽管未示出,计算设备1002还可以包括将各种组件彼此耦合的系统总线或其它数据和命令传输系统。系统总线可以包括不同的总线结构中的任何一个或组合,所述不同的总线结构例如存储器总线或存储器控制器、外围总线、通用串行总线、和/或使用多种总线架构中的任何一种的处理器或本地总线。还可以构想多种其它示例,例如,控制线和数据线。
处理系统1004代表用于使用硬件来执行一个或多个操作的功能。从而,处理系统1004被示出为包括可以被配置为处理器、功能块等的硬件元件1010。这可以包括以硬件来作为专用集成电路或者使用一个或多个半导体形成的其它逻辑设备的实现。硬件元件1010不受形成其的材料或者其中所采用的处理机制来限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1006被示出为包括存储器/存储设备1012。存储器/存储设备1012表示与一个或多个计算机可读介质相关联的存储器/存储设备容量。存储器/存储设备1012可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/存储设备1012可以包括固定的介质(例如,RAM、ROM、固定的硬盘驱动器等)以及可移动介质(例如,闪速存储器、可移动硬盘驱动器、光盘等)。计算机可读介质1006可以以如在下文中所进一步描述的多种其它的方式来配置。
输入/输出接口1008代表用于允许用户向计算设备1002输入命令和信息,并且还允许利用各种输入/输出设备向用户和/或其它组件或设备呈现该信息的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或话音输入)、扫描仪、触摸功能(例如,被配置以对物理接触进行检测的电容或其它传感器)、相机(例如,可以采用可见或非可见波长(例如,红外频率)来检测不包含作为手势的触摸的运动)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网络卡、触觉响应设备等。因此,计算设备1002可以用如在下文中所进一步描述的多种方式被配置以支持用户交互。
可以在本文中在软件、硬件元件、或程序模块的一般性的上下文中描述各种技术。通常而言,这样的技术包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如在本文中所使用的术语“模块”、“功能”、和“组件”通常表示软件、固件、硬件、或其组合。在本文中所描述的技术的特征是不依赖平台的,意思是可以在具有多种处理器的多种商业计算平台上实现这些技术。
所描述的模块和技术的实现可以存储在一些形式的计算机可读介质上或者跨一些形式的计算机可读介质传输。计算机可读介质可以包括可以由计算设备1002访问的多种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以指的是与仅仅是信号传输、载波、或信号本身形成对照的支持信息的永久存储的介质和/或设备。因此,计算机可读存储介质不包括信号本身。计算机可读存储介质包括以适合于存储信息(例如,计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其它数据)的方法或技术实现的硬件,例如易失性和非易失性、可移动和不可移动介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于,RAM、ROM、EEPROM、闪速存储器、或者其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储、硬盘、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者其它存储设备、有形的介质、或者适合于存储期望的信息并且可以由计算机访问的制品。
“计算机可读信号介质”可以指的是被配置以将指令传输(例如,经由网络)至计算机设备1002的硬件的信号承载介质。信号介质通常可以实施计算机可读指令、数据结构、程序模块、或经调制的数据信号中的其它数据,例如,载波、数据信号、或其它传输机制。信号介质还包括任何信息传递介质。术语“经调制的数据信号”意指将其特征中的一个或多个以将信息编码在信号中的方式来设置或改变的信号。作为示例而非限制,通信媒体包括有线介质(例如,有线网络或直接连接)和无线介质(例如,声学、射频(RF)、红外、和其它无线介质)。
如前所述,硬件元件1010和计算机可读介质1006代表以硬件形式实现的指令、模块、可编程设备逻辑和/或固定的设备逻辑,其可以在一些实施例中被采用以实现在本文中所描述的技术中的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)、以及硅或其它硬件设备中的其它实现。在该上下文中,硬件元件可以运行为执行由指令、模块、和/或逻辑所定义的程序任务的处理设备,所述指令、模块和/或逻辑由被使用以存储指令以用于执行的硬件元件以及硬件设备(例如,之前所描述的计算机可读存储介质)来实施。
也可以采用上述的组合来实现在本文中所描述的各种技术和模块。从而,软件、硬件、或程序模块和其它程序模块可以被实现为在某种形式的计算机可读存储介质上实施和/或由一个或多个硬件元件1010实施的一个或多个指令和/或逻辑。计算设备1002可以被配置以实现对应于软件和/或硬件模块的特定的指令和/或功能。从而,可以由计算设备1002作为软件执行的模块的实现可以至少部分地以硬件(例如,通过对处理系统的计算机可读存储介质和/或硬件元件1010的使用)来完成。指令和/或功能可以由制品(例如,一个或多个计算设备1002和/或处理系统1004)执行/操作以实现在本文中所描述的技术、模块、和示例。
如在图10中进一步示出的,当在个人计算机(PC)、电视设备、和/或移动设备上运行应用时,示例系统1000使能针对无缝的用户体验的普遍的环境。对于当在使用应用程序、玩可视游戏、观看视频等的过程中从一个设备转移到下一个时的普通用户体验而言,服务和应用在所有三种环境中大体相似地运行。
在示例系统1000中,多个设备通过中央计算设备被互连。中央计算设备可以对于多个设备来说是本地的或者可以远程于多个设备。在一个实施例中,中央计算设备可以是通过网络、互联网、或其它数据通信链路连接至多个设备的一个或多个服务器计算机的云。
在一个实施例中,该互连架构使能跨多个设备而被传递以向多个设备的用户提供共同和无缝的体验的功能。多个设备中的每个都可以具有不同的物理要求和能力,并且中央计算设备使用平台以使能够将既针对该设备定制并且还对所有设备共同的体验传递至设备。在一个实施例中,创建了一类目标设备,并且针对一般类型的设备来定制体验。可以由设备的物理特征、使用类型、或者其它共同的特性来定义设备的类。
在各种实现中,计算设备1002可以假设多种不同的配置,例如,以供计算机1014、移动1016、以及电视1018使用。这些配置中的每个都包括可以具有一般不同结构和能力的设备,并且因此计算设备1002可以根据不同的设备类中的一个或多个而被配置。例如,计算设备1002可以被实现为设备的计算机1014类,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备1002还可以被实现为设备的移动类1016,该类包括移动设备,例如,移动电话、便携式音乐播放机、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备1002还可以被实现为设备的电视1018类,其包括具有或连接至随意查看环境中的通常较大的屏幕的设备的。这些设备包括电视、机顶盒、游戏控制器等。
在本文中所描述的技术可以由计算设备1002的这些各种配置支持,并且不限于在本文中所描述的技术的具体的示例。例如,参考通信服务108和/或质量管理器112所讨论的功能可以全部或部分地通过对分布式系统的使用(例如,如在下文中所描述的通过经由平台1022的“云”1020)而被实现。
云1020包括和/或代表资源1024的平台1022。平台1022提取了云1020的硬件(例如,服务器)和软件资源的基础功能。资源1024可以包括当在远程于计算设备1002的服务器上执行计算机处理时可以被使用的应用和/或数据。资源1024还可以包括通过互联网和/或通过订阅者网络(例如,蜂窝或Wi-Fi网络)提供的服务。
平台1022可以提取资源和功能以将计算设备1002与其它计算设备进行连接。平台1022还可以用来提取资源的放缩,以对针对经由平台1022所实现的资源1024的所遇到的需求而提供对应的放缩等级。从而,在经互连的设备实施例中,在本文中所描述的功能的实现可以遍布系统1000而分布。例如,功能可以被部分地在计算设备1002上被实现,以及经由提取云1020的功能的平台1022而被实现。
在本文中所讨论的是可以被实现以执行在本文中所讨论的技术的多个方法。可以以硬件、固件、或者软件或其组合来实现方法的方面。方法被示出为规定了由一个或多个设备所执行的操作的一组步骤,并且非必须限于由相应的方框所示出的用于执行操作的顺序。此外,结合特定的方法所示出的操作可以与根据一个或多个实现的不同的方法的操作相结合和/或相互交换。方法的方面可以经由在上文中参考环境100所讨论的各种实体之间的交互而被实现。
结论
描述了用于通信端点之间的合成事务的技术。尽管用特定于结构特征和/或方法论行为的语言描述了实施例,但应当理解的是,在所附权利要求中所限定的实施例非必须限于所描述的具体的特征或行为。相反,具体的特征和行为是作为实现所要求保护的实施例的示例形式而被公开的。

Claims (14)

1.一种用于优化通信会话的性能的系统,所述系统包括:
至少一个处理器;以及
包括存储在其上的指令的一个或多个计算机可读存储介质,所述指令响应于被所述至少一个处理器执行而使得所述至少一个处理器执行包括下列各项的操作:
接收在客户端设备的通信客户端与通信端点的通信客户端之间并且根据模拟场景发起合成事务的指令;
从所述模拟场景确定所述合成事务的参数,所述参数包括待被利用来执行所述合成事务的一个或多个通信端点的一个或多个标识符以及作为所述合成事务的一部分而待被应用的事务参数;
在所述客户端设备的通信客户端与所述通信端点的通信客户端之间并且根据所述事务参数来执行所述合成事务;以及
传送被观察为所述合成事务的一部分的属性以用于确定所述客户端设备与所述通信端点之间的通信质量,
其中,发起所述合成事务的所述指令是响应于检测到即将到来的日历事件而被接收的,所述即将到来的日历事件涉及与所述客户端设备进行的所述通信会话,并且其中,所述事务参数模拟所述通信会话的一个或多个参数。
2.根据权利要求1所述的系统,其中,所述操作还包括:
接收与在所述客户端设备的通信客户端与所述通信端点的通信客户端之间的所述合成事务同时地、在所述客户端设备的通信客户端与至少一个其他通信端点的通信客户端之间发起进一步的合成事务的进一步的指令;以及
与执行在所述客户端设备的通信客户端与所述至少一个其他通信端点的通信客户端之间的所述进一步的合成事务同时地执行在所述客户端设备的通信客户端与所述通信端点的通信客户端之间的所述合成事务。
3.根据权利要求2所述的系统,其中,所述至少一个其他通信端点包括多个不同的通信端点,并且其中,所述进一步的合成事务包括对由所述客户端设备向所述多个不同的通信端点所发起的多播通信会话的模拟。
4.根据权利要求1所述的系统,其中,所述操作还包括:
检测所述合成事务的属性,所述合成事务的属性包括所述合成事务的性能属性或媒体质量属性中的一个或多个;以及
记录所述合成事务的所述属性。
5.根据权利要求1所述的系统,其中,所述模拟场景包括通信媒体的一个或多个实例,所述通信媒体包括语音媒体或视频媒体中的至少一个,并且其中,执行所述合成事务包括在所述客户端设备的通信客户端与所述通信端点的通信客户端之间交换所述通信媒体的一个或多个实例。
6.根据权利要求1所述的系统,其中,所述通信端点包括作为最终用户设备的逻辑代表的模拟的通信端点。
7.一种用于优化通信会话的性能的计算机实现的方法,所述方法包括:
接收在客户端设备的通信客户端与通信端点的通信客户端之间发起合成事务的指示;
生成针对所述合成事务的模拟场景,所述模拟场景识别所述客户端设备和所述通信端点并且包括待被应用至所述合成事务的参数;
指导所述客户端设备在所述客户端设备的通信客户端与所述通信端点的通信客户端之间并且根据所述模拟场景来发起所述合成事务;以及
基于被观察为所述合成事务的一部分的属性来确定所述客户端设备与所述通信端点之间的通信质量,
其中,发起所述合成事务的所述指示是响应于检测到即将到来的日历事件而被接收的,所述即将到来的日历事件涉及与所述客户端设备进行的所述通信会话,并且其中,所述参数模拟所述通信会话的一个或多个参数。
8.根据权利要求7所述的方法,其中,所述指示被接收进一步用于在所述客户端设备的通信客户端与所述通信端点的通信客户端之间的定期地调度的合成事务的。
9.根据权利要求7所述的方法,其中,接收包括:
检测包括所述通信会话的即将到来的日历事件;以及
确定所述日历事件的参数,
其中,生成包括至少部分地基于所述日历事件的所述参数而生成所述模拟场景。
10.根据权利要求9所述的方法,其中,所述指导包括指导所述客户端设备在所述日历事件之前发起所述合成事务。
11.根据权利要求7所述的方法,其中,生成包括生成所述模拟场景来模拟先前记录的通信会话。
12.根据权利要求7所述的方法,还包括:
接收在所述客户端设备的通信客户端与一个或多个其他通信端点的一个或多个通信客户端之间发起进一步的合成事务的指示;
生成针对所述进一步的合成事务的进一步的模拟场景,所述进一步的模拟场景识别所述客户端设备和所述一个或多个其他通信端点,并且包括待被应用至所述进一步的合成事务的参数;以及
指导所述客户端设备与在所述客户端设备的通信客户端与所述通信端点的通信客户端之间的所述合成事务同时地发起所述进一步的合成事务。
13.根据权利要求12所述的方法,其中,所述合成事务和所述进一步的合成事务表示以下中的至少一个:
对从所述客户端设备至多个通信端点的多播通信会话的模拟;或者
对在所述客户端设备与多个通信端点之间的会议通话的模拟。
14.根据权利要求7所述的方法,还包括:
记录所述合成事务的属性;以及
将所述属性传送至在所述合成事务中所涉及的一个或多个实体。
CN201580039953.1A 2014-07-22 2015-07-16 通信端点之间的合成事务 Active CN106664584B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/337,857 US10021214B2 (en) 2014-07-22 2014-07-22 Synthetic transactions between communication endpoints
US14/337,857 2014-07-22
PCT/US2015/040673 WO2016014323A1 (en) 2014-07-22 2015-07-16 Synthetic transactions between communication endpoints

Publications (2)

Publication Number Publication Date
CN106664584A CN106664584A (zh) 2017-05-10
CN106664584B true CN106664584B (zh) 2020-10-27

Family

ID=53836199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580039953.1A Active CN106664584B (zh) 2014-07-22 2015-07-16 通信端点之间的合成事务

Country Status (18)

Country Link
US (1) US10021214B2 (zh)
EP (1) EP3146755B1 (zh)
JP (1) JP2017523709A (zh)
KR (1) KR20170036735A (zh)
CN (1) CN106664584B (zh)
AU (1) AU2015294437A1 (zh)
BR (1) BR112017000859A2 (zh)
CA (1) CA2955016A1 (zh)
CL (1) CL2017000127A1 (zh)
CO (1) CO2017000373A2 (zh)
IL (1) IL249586A0 (zh)
MX (1) MX2017000894A (zh)
PH (1) PH12016502423A1 (zh)
RU (1) RU2017101818A (zh)
SG (1) SG11201700261YA (zh)
TW (1) TW201611545A (zh)
WO (1) WO2016014323A1 (zh)
ZA (1) ZA201608383B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582399B2 (en) * 2014-03-14 2017-02-28 Ca, Inc. Entropy weighted message matching for opaque service virtualization
CN105335142B (zh) * 2014-07-29 2019-03-15 国际商业机器公司 在事务处理系统中标识事务的性能瓶颈的方法和装置
US9730133B2 (en) 2015-05-15 2017-08-08 Microsoft Technology Licensing, Llc Synthetic transaction for wireless handover
US20170295209A1 (en) * 2016-04-11 2017-10-12 Microsoft Technology Licensing, Llc Subscription for Communication Attributes
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US10313406B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Synthetic transaction to determine centroid for cloud hosting
US10992729B2 (en) 2017-04-18 2021-04-27 Microsoft Technology Licensing, Llc Endpoint configuration for a communication session
US20180316741A1 (en) * 2017-05-01 2018-11-01 Microsoft Technology Licensing, Llc Synthetic Transaction based on Network Condition
US10541940B2 (en) * 2017-05-03 2020-01-21 International Business Machines Corporation Quality of service (QoS) stored procedures
US11070581B1 (en) * 2017-08-24 2021-07-20 Wells Fargo Bank, N.A. Eliminating network security blind spots
EP3600581B1 (en) 2017-10-10 2024-02-21 Google LLC Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content
US11140207B2 (en) * 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
KR102407691B1 (ko) 2018-03-22 2022-06-10 구글 엘엘씨 온라인 인터랙티브 게임 세션들에 대한 콘텐츠를 렌더링 및 인코딩하기 위한 방법들 및 시스템들
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
WO2019194953A1 (en) 2018-04-02 2019-10-10 Google Llc Methods, devices, and systems for interactive cloud gaming
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3701489B1 (en) 2018-04-10 2022-10-26 Google LLC Memory management in gaming rendering
US11068380B2 (en) 2018-08-08 2021-07-20 Servicenow, Inc. Capturing and encoding of network transactions for playback in a simulation environment
US10678676B2 (en) * 2018-08-08 2020-06-09 Servicenow, Inc. Playback of captured network transactions in a simulation environment
WO2020102493A1 (en) 2018-11-16 2020-05-22 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis
US11916775B1 (en) 2023-03-17 2024-02-27 Netskope, Inc. Multi-tenant cloud native control plane system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523818A (zh) * 2003-02-12 2004-08-25 尤比尼蒂克斯有限公司 开发用户活动配置文件
CN101389107A (zh) * 2007-09-10 2009-03-18 中兴通讯股份有限公司 一种大话务模拟测试系统和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387271A1 (en) * 2002-07-29 2004-02-04 Sun Microsystems, Inc. Method and apparatus for generating an operational processing load
US7433925B1 (en) 2003-08-29 2008-10-07 Cisco Technology, Inc. Method and apparatus for measuring health and performance of a messaging system
WO2006099473A2 (en) 2005-03-15 2006-09-21 Mformation Technologies Inc. System and method for monitoring and measuring end-to-end performance using wireless devices
US7996023B2 (en) * 2005-07-13 2011-08-09 Mcgary Faith System and method for providing mobile device services using SMS communications
EP1908196B1 (en) 2005-07-28 2012-11-07 Mformation Technologies, Inc. System and method for service quality management for wireless devices
US8051163B2 (en) * 2006-05-11 2011-11-01 Computer Associates Think, Inc. Synthetic transactions based on system history and load
US20080080536A1 (en) 2006-10-02 2008-04-03 Texas Instruments Incorporated Media access control layer bridging of a real communication device to a simulated network
US8898325B2 (en) * 2007-03-06 2014-11-25 Trion Worlds, Inc. Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
US7890821B2 (en) 2007-10-04 2011-02-15 Veriwave, Inc. Channel impairment emulator systems and methods
US8326971B2 (en) * 2007-11-30 2012-12-04 International Business Machines Corporation Method for using dynamically scheduled synthetic transactions to monitor performance and availability of E-business systems
US8295191B2 (en) * 2008-03-04 2012-10-23 Microsoft Corporation Endpoint report aggregation in unified communication systems
US8659639B2 (en) * 2009-05-29 2014-02-25 Cisco Technology, Inc. System and method for extending communications between participants in a conferencing environment
US20110004926A1 (en) * 2009-07-01 2011-01-06 International Business Machines Coporation Automatically Handling Proxy Server and Web Server Authentication
GB2495877B (en) * 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
EP2523494B1 (en) * 2011-05-11 2014-01-29 Prisma Engineering S.r.l. Mobile terminal simulator for a wireless telecommunications network and method to simulate a mobile terminal
US9106513B2 (en) 2012-03-23 2015-08-11 Microsoft Technology Licensing, Llc Unified communication aware networks
US9413792B2 (en) 2012-11-09 2016-08-09 Microsoft Technology Licensing, Llc Detecting quality of service for unified communication and collaboration (UC and C) on internetworks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523818A (zh) * 2003-02-12 2004-08-25 尤比尼蒂克斯有限公司 开发用户活动配置文件
CN101389107A (zh) * 2007-09-10 2009-03-18 中兴通讯股份有限公司 一种大话务模拟测试系统和方法

Also Published As

Publication number Publication date
MX2017000894A (es) 2017-05-04
CO2017000373A2 (es) 2017-02-09
KR20170036735A (ko) 2017-04-03
AU2015294437A1 (en) 2017-01-12
CA2955016A1 (en) 2016-01-28
JP2017523709A (ja) 2017-08-17
IL249586A0 (en) 2017-02-28
RU2017101818A (ru) 2018-07-23
US20160028854A1 (en) 2016-01-28
PH12016502423A1 (en) 2017-03-06
TW201611545A (zh) 2016-03-16
WO2016014323A1 (en) 2016-01-28
EP3146755B1 (en) 2019-01-16
BR112017000859A2 (pt) 2017-12-05
SG11201700261YA (en) 2017-02-27
US10021214B2 (en) 2018-07-10
EP3146755A1 (en) 2017-03-29
CN106664584A (zh) 2017-05-10
ZA201608383B (en) 2018-05-30
CL2017000127A1 (es) 2017-08-18

Similar Documents

Publication Publication Date Title
CN106664584B (zh) 通信端点之间的合成事务
CN106664249B (zh) 传播针对自主网络的路由感知
CN110537348B (zh) 用于通信会话的端点配置
US9860321B2 (en) Propagating communication awareness over a cellular network
US9730133B2 (en) Synthetic transaction for wireless handover
US20180316741A1 (en) Synthetic Transaction based on Network Condition
US20180287931A1 (en) Provisioning a Network Node for Attribute Sharing
EP3269089A1 (en) Subscription for communication attributes
US9667777B1 (en) Automated bulk provisioning of primary rate interface and SIP trunk telephone numbers
US20170295209A1 (en) Subscription for Communication Attributes
US9609064B2 (en) Propagating communication awareness for communication sessions
BR112017001317B1 (pt) Método implementado por computador e sistema para propagação de consciência de comunicação para sessões de comunicação

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1236715

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1236715

Country of ref document: HK