一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于在运行时将移动应用程序分解为微服务(MS)以进行分布式执行的方法、装置和系统与流程

2022-06-22 20:40:29 来源:中国专利 TAG:

用于在运行时将移动应用程序分解为微服务(ms)以进行分布式执行的方法、装置和系统
1.相关申请的交叉引用
2.本技术要求2019年10月15日提交的美国临时申请号62/915,288的优先权,该临时申请的内容以引用方式并入本文。
技术领域
3.本文所公开的实施方案通常涉及无线通信,并且例如涉及用于在运行时(例如为了分布式执行的目的)将移动应用程序分解为ms的方法、装置和系统。


背景技术:

4.通常,应用程序已被分解以启用微服务。


技术实现要素:

5.公开了方法、装置和系统。在一个实施方案中,由终端用户设备实现的在运行时分解应用程序的方法包括:收集关于终端用户设备上的应用程序的本地执行的配置文件信息,以及由终端用户设备使用所收集的配置文件信息来确定一个或多个微服务模式,以在运行时将应用程序的全部或部分分解为一个或多个微服务模式。该方法还包括在运行时由终端用户设备将应用程序分割为:(1)要由终端用户设备执行的应用程序的本地执行部分,以及(2)要由终端用户设备本地执行或由与终端用户设备通信的外部实体远程执行的所确定的微服务模式。
附图说明
6.从下面的详细描述中可以得到更详细的理解,该描述结合其附图以举例的方式给出。本说明书中的附图是示例。因此,附图和具体实施方式不应被认为是限制性的,并且其他同样有效的示例是可能的和预期的。另外,附图中类似的附图标号指示类似的元件,并且其中:
7.图1a是示出在其中一个或多个所公开的实施方案可得以实现的示例性通信系统的系统图;
8.图1b是示出根据一个实施方案可在图1a所示的通信系统内使用的示例性无线发射/接收单元(wtru)的系统图;
9.图1c是示出根据一个实施方案可在图1a所示的通信系统内使用的示例性无线电接入网络(ran)和示例性核心网络(cn)的系统图;
10.图1d是示出根据一个实施方案可在图1a所示的通信系统内使用的另外一个示例性ran和另外一个示例性cn的系统图;
11.图2是示出代表性分解器组件的图;
12.图3是示出在跨两个设备的应用程序中的分解的ms的示例的图;
13.图4是示出将分析器信息转换为有向无环图(dag)的示例的图(例如,从配置文件信息生成dag);
14.图5是示出将微小服务(ps)集群为ms的代表性集群程序的图;
15.图6是示出例如创建为dag的代表性ps模式的图;
16.图7是示出本体的代表性类型层次的图;并且
17.图8是示出作为ms集群引擎(mce)的输出的代表性集群ms模式的图。
18.图9是示出分解应用程序(例如,在运行时)的代表性方法的流程图;
19.图10是示出由分析器实现的代表性方法的流程图;
20.图11是示出由集中式数据库或网络实体实现的代表性方法的流程图;并且
21.图12是示出由微小服务模式生成器(pspg)实现的代表性方法的流程图。
具体实施方式
22.用于实现实施方案的示例性网络
23.图1a是示出在其中一个或多个所公开的实施方案可得以实现的示例性通信系统100的示意图。通信系统100可为向多个无线用户提供诸如语音、数据、视频、消息、广播等内容的多址接入系统。通信系统100可使多个无线用户能够通过系统资源(包括无线带宽)的共享来访问此类内容。例如,通信系统100可采用一个或多个信道接入方法,诸如码分多址接入(cdma)、时分多址接入(tdma)、频分多址接入(fdma)、正交fdma(ofdma)、单载波fdma(sc-fdma)、零尾唯一字dft扩展ofdm(zt uw dts-sofdm)、唯一字ofdm(uw-ofdm)、资源块滤波ofdm、滤波器组多载波(fbmc)等。
24.如图1a所示,通信系统100可包括无线发射/接收单元(wtru)102a、102b、102c、102d、ran 104/113、cn 106/115、公共交换电话网(pstn)108、互联网110和其他网络112,但应当理解,所公开的实施方案设想了任何数量的wtru、基站、网络和/或网络元件。wtru 102a、102b、102c、102d中的每一者可以是被配置为在无线环境中操作和/或通信的任何类型的设备。作为示例,wtru 102a、102b、102c、102d(其中任何一个均可被称为“站”和/或“sta”)可被配置为传输和/或接收无线信号,并且可包括用户设备(ue)、终端用户设备、移动站、固定或移动用户单元、基于订阅的单元、寻呼机、蜂窝电话、个人数字助理(pda)、智能电话、膝上型电脑、上网本、个人计算机、无线传感器、热点或mi-fi设备、物联网(iot)设备、手表或其他可穿戴设备、头戴式显示器(hmd)、车辆、无人机、医疗设备和应用(例如,远程手术)、工业设备和应用(例如,在工业和/或自动处理链环境中操作的机器人和/或其他无线设备)、消费电子设备、在商业和/或工业无线网络上操作的设备等。wtru 102a、102b、102c和102d中的任一者可互换地称为ue。
25.通信系统100还可包括基站114a和/或基站114b。基站114a、114b中的每一者可为任何类型的设备,其被配置为与wtru 102a、102b、102c、102d中的至少一者无线对接以促进对一个或多个通信网络(诸如cn 106/115、互联网110和/或其他网络112)的访问。作为示例,基站114a、114b可为基站收发台(bts)、节点b、演进节点b(enb)、家庭节点b(hnb)、家庭演进节点b(henb)、gnb、nr节点b、站点控制器、接入点(ap)、无线路由器等。虽然基站114a、114b各自被描绘为单个元件,但应当理解,基站114a、114b可包括任何数量的互连基站和/或网络元件。
26.基站114a可以是ran 104/113的一部分,该ran还可包括其他基站和/或网络元件(未示出),诸如基站控制器(bsc)、无线电网络控制器(rnc)、中继节点等。基站114a和/或基站114b可被配置为在一个或多个载波频率(其可被称为小区(未示出))上传输和/或接收无线信号。这些频率可在许可频谱、未许可频谱或许可和未许可频谱的组合中。小区可向特定地理区域提供无线服务的覆盖,该特定地理区域可为相对固定的或可随时间改变。小区可进一步被划分为小区扇区。例如,与基站114a相关联的小区可被划分为三个扇区。因此,在一个实施方案中,基站114a可包括三个收发器,即,小区的每个扇区一个收发器。在一个实施方案中,基站114a可采用多输入多输出(mimo)技术并且可针对小区的每个扇区利用多个收发器。例如,可使用波束成形在所需的空间方向上传输和/或接收信号。
27.基站114a、114b可通过空中接口116与wtru 102a、102b、102c、102d中的一者或多者通信,该空中接口可为任何合适的无线通信链路(例如,射频(rf)、微波、厘米波、微米波、红外(ir)、紫外(uv)、可见光等)。可使用任何合适的无线电接入技术(rat)来建立空中接口116。
28.更具体地讲,如上所指出,通信系统100可为多址接入系统,并且可采用一个或多个信道接入方案,诸如cdma、tdma、fdma、ofdma、sc-fdma等。例如,ran 104/113中的基站114a和wtru 102a、102b、102c可实现诸如通用移动电信系统(umts)陆地无线电接入(utra)之类的无线电技术,其可使用宽带cdma(wcdma)来建立空中接口115/116/117。wcdma可包括诸如高速分组接入(hspa)和/或演进的hspa(hspa )之类的通信协议。hspa可包括高速下行链路(dl)分组接入(hsdpa)和/或高速ul分组接入(hsupa)。
29.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现诸如演进的umts陆地无线电接入(e-utra)之类的无线电技术,其可使用长期演进(lte)和/高级lte(lte-a)和/或高级lte pro(lte-a pro)来建立空中接口116。
30.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现诸如nr无线电接入之类的无线电技术,其可使用新无线电(nr)来建立空中接口116。
31.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现多种无线电接入技术。例如,基站114a和wtru 102a、102b、102c可例如使用双连接(dc)原理一起实现lte无线电接入和nr无线电接入。因此,wtru 102a、102b、102c所利用的空中接口可由多种类型的无线电接入技术和/或向/从多种类型的基站(例如,enb和gnb)发送的传输来表征。
32.在其他实施方案中,基站114a和wtru 102a、102b、102c可实现诸如ieee 802.11(即,无线保真(wifi))、ieee 802.16(即,全球微波接入互操作性(wimax))、cdma2000、cdma2000 1x、cdma2000 ev-do、暂行标准2000(is-2000)、暂行标准95(is-95)、暂行标准856(is-856)、全球移动通信系统(gsm)、gsm增强数据率演进(edge)、gsm edge(geran)等无线电技术。
33.图1a中的基站114b可为例如无线路由器、家庭节点b、家庭演进节点b或接入点,并且可利用任何合适的rat来促进诸如商业场所、家庭、车辆、校园、工业设施、空中走廊(例如,供无人机使用)、道路等局部区域中的无线连接。在一个实施方案中,基站114b和wtru 102c、102d可实现诸如ieee 802.11之类的无线电技术以建立无线局域网(wlan)。在一个实施方案中,基站114b和wtru 102c、102d可实现诸如ieee 802.15之类的无线电技术以建立无线个域网(wpan)。在又一个实施方案中,基站114b和wtru 102c、102d可利用基于蜂窝的
rat(例如,wcdma、cdma2000、gsm、lte、lte-a、lte-a pro、nr等)来建立微微小区或毫微微小区。如图1a所示,基站114b可具有与互联网110的直接连接。因此,基站114b可不需要经由cn 106/115访问互联网110。
34.ran 104/113可与cn 106/115通信,该cn可以是被配置为向wtru 102a、102b、102c、102d中的一者或多者提供语音、数据、应用和/或互联网协议语音技术(voip)服务的任何类型的网络。数据可具有不同的服务质量(qos)要求,诸如不同的吞吐量要求、延迟要求、误差容限要求、可靠性要求、数据吞吐量要求、移动性要求等。cn 106/115可提供呼叫控制、账单服务、基于移动位置的服务、预付费呼叫、互联网连接、视频分发等,和/或执行高级安全功能,诸如用户认证。尽管未在图1a中示出,但是应当理解,ran 104/113和/或cn 106/115可与采用与ran 104/113相同的rat或不同rat的其他ran进行直接或间接通信。例如,除了连接到可利用nr无线电技术的ran 104/113之外,cn 106/115还可与采用gsm、umts、cdma 2000、wimax、e-utra或wifi无线电技术的另一ran(未示出)通信。
35.cn 106/115也可充当wtru 102a、102b、102c、102d的网关,以访问pstn 108、互联网110和/或其他网络112。pstn 108可包括提供普通老式电话服务(pots)的电路交换电话网络。互联网110可包括使用常见通信协议(诸如传输控制协议(tcp)、用户数据报协议(udp)和/或tcp/ip互联网协议组中的互联网协议(ip))的互连计算机网络和设备的全球系统。网络112可包括由其他服务提供商拥有和/或操作的有线和/或无线通信网络。例如,网络112可包括连接到一个或多个ran的另一个cn,其可采用与ran 104/113相同的rat或不同的rat。
36.通信系统100中的一些或所有wtru 102a、102b、102c、102d可包括多模式能力(例如,wtru 102a、102b、102c、102d可包括用于通过不同无线链路与不同无线网络通信的多个收发器)。例如,图1a所示的wtru 102c可被配置为与可采用基于蜂窝的无线电技术的基站114a通信,并且与可采用ieee 802无线电技术的基站114b通信。
37.图1b是示出示例性wtru 102的系统图。如图1b所示,wtru 102可包括处理器118、收发器120、发射/接收元件122、扬声器/麦克风124、小键盘126、显示器/触摸板128、不可移动存储器130、可移动存储器132、电源134、全球定位系统(gps)芯片组136和/或其他外围设备138等。应当理解,在与实施方案保持一致的同时,wtru 102可包括前述元件的任何子组合。
38.处理器118可以是通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)、状态机等。处理器118可执行信号编码、数据处理、功率控制、输入/输出处理和/或任何其他功能,这些其他功能使wtru 102能够在无线环境中工作。处理器118可耦合到收发器120,该收发器可耦合到发射/接收元件122。虽然图1b将处理器118和收发器120描绘为单独的部件,但是应当理解,处理器118和收发器120可在电子封装或芯片中集成在一起。
39.发射/接收元件122可被配置为通过空中接口116向基站(例如,基站114a)传输信号或从基站接收信号。例如,在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收rf信号的天线。在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收例如ir、uv或可见光信号的发射器/检测器。在又一个实施方案中,发射/接收元件
122可被配置为传输和/或接收rf和光信号。应当理解,发射/接收元件122可被配置为传输和/或接收无线信号的任何组合。
40.尽管发射/接收元件122在图1b中被描绘为单个元件,但是wtru 102可包括任何数量的发射/接收元件122。更具体地讲,wtru 102可采用mimo技术。因此,在一个实施方案中,wtru 102可包括用于通过空中接口116传输和接收无线信号的两个或更多个发射/接收元件122(例如,多个天线)。
41.收发器120可被配置为调制将由发射/接收元件122传输的信号并且解调由发射/接收元件122接收的信号。如上所指出,wtru 102可具有多模式能力。因此,收发器120可包括多个收发器,以便使wtru 102能够经由多种rat(诸如nr和ieee 802.11)进行通信。
42.wtru 102的处理器118可耦合到扬声器/麦克风124、小键盘126和/或显示器/触摸板128(例如,液晶显示器(lcd)显示单元或有机发光二极管(oled)显示单元)并且可从其接收用户输入数据。处理器118还可将用户数据输出到扬声器/麦克风124、小键盘126和/或显示器/触摸板128。此外,处理器118可从任何类型的合适存储器(诸如不可移动存储器130和/或可移动存储器132)访问信息,并且将数据存储在任何类型的合适存储器中。不可移动存储器130可包括随机存取存储器(ram)、只读存储器(rom)、硬盘或任何其他类型的存储器存储设备。可移动存储器132可包括用户身份模块(sim)卡、记忆棒、安全数字(sd)存储卡等。在其他实施方案中,处理器118可从未物理上定位在wtru 102上(诸如,服务器或家用计算机(未示出)上)的存储器访问信息,并且将数据存储在该存储器中。
43.处理器118可从电源134接收电力,并且可被配置为向wtru 102中的其他部件分配和/或控制电力。电源134可以是用于为wtru 102供电的任何合适的设备。例如,电源134可包括一个或多个干电池组(例如,镍镉(nicd)、镍锌(nizn)、镍金属氢化物(nimh)、锂离子(li-ion)等)、太阳能电池、燃料电池等。
44.处理器118还可耦合到gps芯片组136,该gps芯片组可被配置为提供关于wtru 102的当前位置的位置信息(例如,经度和纬度)。除了来自gps芯片组136的信息之外或代替该信息,wtru 102可通过空中接口116从基站(例如,基站114a、114b)接收位置信息和/或基于从两个或更多个附近基站接收到信号的定时来确定其位置。应当理解,在与实施方案保持一致的同时,该wtru 102可通过任何合适的位置确定方法来获取位置信息。
45.处理器118还可耦合到其他外围设备138,该其他外围设备可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件模块和/或硬件模块。例如,外围设备138可包括加速度计、电子指南针、卫星收发器、数字相机(用于照片和/或视频)、通用串行总线(usb)端口、振动设备、电视收发器、免提耳麦、模块、调频(fm)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器、虚拟现实和/或增强现实(vr/ar)设备、活动跟踪器等。外围设备138可包括一个或多个传感器,该传感器可为以下一者或多者:陀螺仪、加速度计、霍尔效应传感器、磁力计、方位传感器、接近传感器、温度传感器、时间传感器;地理位置传感器;测高计、光传感器、触摸传感器、磁力计、气压计、手势传感器、生物识别传感器和/或湿度传感器。
46.wtru 102的处理器118可与各种外围设备138可操作地通信以实现本文所公开的代表性实施方案,该外围设备包括例如以下中的任一者:一个或多个加速度计、一个或多个陀螺仪、usb端口、其他通信接口/端口、显示器和/或其他视觉/音频指示器。
47.wtru 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的发射和接收(例如,与用于ul(例如,用于发射)和下行链路(例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。全双工无线电台可包括干扰管理单元,该干扰管理单元用于经由硬件(例如,扼流圈)或经由处理器(例如,单独的处理器(未示出)或经由处理器118)进行的信号处理来减少和/或基本上消除自干扰。在一个实施方案中,wtru 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的发射和接收(例如,与用于ul(例如,用于发射)和下行链路(例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。
48.图1c是示出根据一个实施方案的ran 104和cn 106的系统图。如上所述,ran 104可采用e-utra无线电技术通过空中接口116与wtru 102a、102b、102c通信。ran 104还可与cn 106通信。
49.ran 104可包括演进节点b 160a、160b、160c,但是应当理解,在与实施方案保持一致的同时,ran 104可包括任何数量的演进节点b。演进节点b 160a、160b、160c各自可包括一个或多个收发器以便通过空中接口116与wtru 102a、102b、102c通信。在一个实施方案中,演进节点b 160a、160b、160c可实现mimo技术。因此,演进节点b 160a例如可使用多个天线来向wtru 102a传输无线信号和/或从该wtru接收无线信号。
50.演进节点b 160a、160b、160c中的每一者可与特定小区(未示出)相关联,并且可被配置为处理无线电资源管理决策、切换决策、ul和/或dl中的用户的调度等。如图1c所示,演进节点b 160a、160b、160c可通过x2接口彼此通信。
51.图1c所示的cn 106可包括移动性管理实体(mme)162、服务网关(sgw)164和分组数据网络(pdn)网关(或pgw)166。虽然前述元件中的每一者被描绘为cn 106的一部分,但是应当理解,这些元件中的任一者可由除cn运营商之外的实体拥有和/或操作。
52.mme 162可经由s1接口连接到ran 104中的演进节点b 160a、160b、160c中的每一者,并且可用作控制节点。例如,mme 162可负责认证wtru 102a、102b、102c的用户、承载激活/去激活、在wtru 102a、102b、102c的初始附加期间选择特定服务网关等。mme 162可提供用于在ran 104和采用其他无线电技术(诸如gsm和/或wcdma)的其他ran(未示出)之间进行切换的控制平面功能。
53.sgw 164可经由s1接口连接到ran 104中的演进节点b 160a、160b、160c中的每一者。sgw 164通常可向/从wtru 102a、102b、102c路由和转发用户数据分组。sgw 164可执行其他功能,诸如在演进节点b间切换期间锚定用户平面、当dl数据可用于wtru 102a、102b、102c时触发寻呼、管理和存储wtru 102a、102b、102c的上下文等。
54.sgw 164可连接到pgw 166,该pgw可向wtru 102a、102b、102c提供对分组交换网络(诸如互联网110)的访问,以促进wtru 102a、102b、102c和启用ip的设备之间的通信。
55.cn 106可有利于与其他网络的通信。例如,cn 106可为wtru 102a、102b、102c提供对电路交换网络(诸如,pstn 108)的访问,以有利于wtru 102a、102b、102c与传统传统陆线通信设备之间的通信。例如,cn 106可包括用作cn 106与pstn 108之间的接口的ip网关(例如,ip多媒体子系统(ims)服务器)或者可与该ip网关通信。另外,cn 106可向wtru 102a、102b、102c提供对其他网络112的访问,该其他网络可包括由其他服务提供商拥有和/或运营的其他有线和/或无线网络。
56.尽管wtru在图1a至图1d中被描述为无线终端,但是可以设想到,在某些代表性实
施方案中,这种终端可(例如,临时或永久)使用与通信网络的有线通信接口。
57.在代表性实施方案中,其他网络112可为wlan。
58.处于基础结构基本服务集(bss)模式的wlan可具有用于bss的接入点(ap)以及与ap相关联的一个或多个站点(sta)。ap可具有至分配系统(ds)或将流量携带至和/或携带流量离开bss的另一种类型的有线/无线网络的接入或接口。源自bss外部并通向sta的流量可通过ap到达并且可被传递到sta。源自sta并通向bss外部的目的地的流量可被发送到ap以被传递到相应目的地。bss内的sta之间的流量可通过ap发送,例如,其中源sta可向ap发送流量,并且ap可将流量传递到目的地sta。bss内的sta之间的流量可被视为和/或称为点对点流量。可利用直接链路建立(dls)在源和目的地sta之间(例如,直接在它们之间)发送点对点流量。在某些代表性实施方案中,dls可使用802.11e dls或802.11z隧道dls(tdls)。使用独立bss(ibss)模式的wlan可不具有ap,并且ibss内或使用ibss的sta(例如,所有sta)可彼此直接通信。ibss通信模式在本文中有时可称为“ad-hoc”通信模式。
59.当使用802.11ac基础结构操作模式或相似操作模式时,ap可在固定信道(诸如主信道)上传输信标。主信道可为固定宽度(例如,20mhz宽带宽)或经由信令动态设置的宽度。主信道可为bss的操作信道,并且可由sta用来建立与ap的连接。在某些代表性实施方案中,可例如在802.11系统中实现载波侦听多路访问/冲突避免(csma/ca)。对于csma/ca,sta(例如,每个sta)(包括ap)可侦听主信道。如果主信道被特定sta侦听/检测和/或确定为繁忙,则特定sta可退避。一个sta(例如,仅一个站)可在给定bss中在任何给定时间传输。
60.高吞吐量(ht)sta可使用40mhz宽的信道进行通信,例如,经由主20mhz信道与相邻或不相邻的20mhz信道的组合以形成40mhz宽的信道。
61.极高吞吐量(vht)sta可支持20mhz、40mhz、80mhz和/或160mhz宽的信道。40mhz和/或80mhz信道可通过组合连续的20mhz信道来形成。可通过组合8个连续的20mhz信道,或通过组合两个非连续的80mhz信道(这可被称为80 80配置)来形成160mhz信道。对于80 80配置,在信道编码之后,数据可通过可将数据分成两个流的段解析器。可单独地对每个流进行快速傅里叶逆变换(ifft)处理和时间域处理。可将这些流映射到两个80mhz信道,并且可通过发射sta来传输数据。在接收sta的接收器处,可颠倒上述用于80 80配置的操作,并且可将组合的数据发送到介质访问控制(mac)。
62.802.11af和802.11ah支持低于1ghz的操作模式。相对于802.11n和802.11ac中使用的那些,802.11af和802.11ah中减少了信道操作带宽和载波。802.11af支持电视白空间(tvws)频谱中的5mhz、10mhz和20mhz带宽,并且802.11ah支持使用非tvws频谱的1mhz、2mhz、4mhz、8mhz和16mhz带宽。根据代表性实施方案,802.11ah可支持仪表类型控制/机器类型通信,诸如宏覆盖区域中的mtc设备。mtc设备可具有某些能力,例如有限的能力,包括支持(例如,仅支持)某些带宽和/或有限的带宽。mtc设备可包括电池寿命高于阈值(例如,以保持非常长的电池寿命)的电池。
63.可支持多个信道的wlan系统以及诸如802.11n、802.11ac、802.11af和802.11ah之类的信道带宽包括可被指定为主信道的信道。主信道可具有等于由bss中的所有sta支持的最大公共操作带宽的带宽。主信道的带宽可由来自在bss中操作的所有sta的sta(其支持最小带宽操作模式)设置和/或限制。在802.11ah的示例中,对于支持(例如,仅支持)1mhz模式的sta(例如,mtc型设备),主信道可为1mhz宽,即使ap和bss中的其他sta支持2mhz、4mhz、
8mhz、16mhz和/或其他信道带宽操作模式。载波侦听和/或网络分配向量(nav)设置可取决于主信道的状态。如果主信道繁忙,例如,由于sta(仅支持1mhz操作模式)正在向ap传输,即使大多数频段保持空闲并且可能可用,整个可用频段也可被视为繁忙。
64.在美国,可供802.11ah使用的可用频段为902mhz至928mhz。在韩国,可用频段为917.5mhz至923.5mhz。在日本,可用频段为916.5mhz至927.5mhz。802.11ah可用的总带宽为6mhz至26mhz,具体取决于国家代码。
65.图1d是示出根据一个实施方案的ran 113和cn 115的系统图。如上所指出,ran 113可采用nr无线电技术通过空中接口116与wtru 102a、102b、102c通信。ran 113还可与cn 115通信。
66.ran 113可包括gnb 180a、180b、180c,但是应当理解,在与实施方案保持一致的同时,ran 113可包括任何数量的gnb。gnb 180a、180b、180c各自可包括一个或多个收发器以便通过空中接口116与wtru 102a、102b、102c通信。在一个实施方案中,gnb 180a、180b、180c可实现mimo技术。例如,gnb 180a、180b可利用波束成形来向gnb 180a、180b、180c传输信号和/或从gnb 180a、180b、180c接收信号。因此,gnb 180a例如可使用多个天线来向wtru 102a传输无线信号和/或从wtru 102a接收无线信号。在一个实施方案中,gnb 180a、180b、180c可实现载波聚合技术。例如,gnb 180a可向wtru 102a(未示出)传输多个分量载波。这些分量载波的子集可在免许可频谱上,而其余分量载波可在许可频谱上。在一个实施方案中,gnb 180a、180b、180c可实现协作多点(comp)技术。例如,wtru 102a可从gnb 180a和gnb 180b(和/或gnb 180c)接收协作传输。
67.wtru 102a、102b、102c可使用与可扩展参数集相关联的传输来与gnb 180a、180b、180c通信。例如,ofdm符号间隔和/或ofdm子载波间隔可因不同传输、不同小区和/或无线传输频谱的不同部分而变化。wtru 102a、102b、102c可使用各种或可扩展长度的子帧或传输时间间隔(tti)(例如,包含不同数量的ofdm符号和/或持续变化的绝对时间长度)来与gnb 180a、180b、180c通信。
68.gnb 180a、180b、180c可被配置为以独立配置和/或非独立配置与wtru 102a、102b、102c通信。在独立配置中,wtru 102a、102b、102c可与gnb 180a、180b、180c通信,同时也不访问其他ran(例如,诸如演进节点b 160a、160b、160c)。在独立配置中,wtru 102a、102b、102c可将gnb180a、180b、180c中的一者或多者用作移动性锚定点。在独立配置中,wtru 102a、102b、102c可在未许可频带中使用信号与gnb 180a、180b、180c通信。在非独立配置中,wtru 102a、102b、102c可与gnb 180a、180b、180c通信或连接,同时也与另一个ran(诸如,演进节点b 160a、160b、160c)通信或连接。例如,wtru 102a、102b、102c可实现dc原理以基本上同时与一个或多个gnb 180a、180b、180c和一个或多个演进节点b 160a、160b、160c通信。在非独立配置中,演进节点b 160a、160b、160c可用作wtru 102a、102b、102c的移动性锚点,并且gnb 180a、180b、180c可提供用于服务wtru 102a、102b、102c的附加覆盖和/或吞吐量。
69.gnb 180a、180b、180c中的每一者可与特定小区(未示出)相关联,并且可被配置为处理无线电资源管理决策、切换决策、ul和/或dl中的用户的调度、网络切片的支持、双连接、nr和e-utra之间的互通、用户平面数据朝向用户平面功能(upf)184a、184b的路由、控制平面信息朝向接入和移动性管理功能(amf)182a、182b的路由等。如图1d所示,gnb 180a、
180b、180c可通过xn接口彼此通信。
70.图1d所示的cn 115可包括至少一个amf 182a、182b、至少一个upf 184a、184b、至少一个会话管理功能(smf)183a、183b以及可能的数据网络(dn)185a、185b。虽然前述元件中的每一者被描绘为cn 115的一部分,但是应当理解,这些元件中的任一者可由除cn运营商之外的实体拥有和/或操作。
71.amf 182a、182b可在ran 113中经由n2接口连接到gnbs 180a、180b、180c中的一者或多者,并且可用作控制节点。例如,amf 182a、182b可负责认证wtru 102a、102b、102c的用户、网络切片的支持(例如,具有不同要求的不同协议数据单元(pdu)会话的处理)、选择特定smf 183a、183b、注册区域的管理、非接入层(nas)信令的终止、移动性管理等。amf 182a、182b可使用网络切片,以便基于wtru 102a、102b、102c所使用的服务的类型来为wtru 102a、102b、102c定制cn支持。例如,可针对不同的用例(诸如,依赖超高可靠低延迟通信(urllc)接入的服务、依赖增强型移动(例如,大规模移动)宽带(embb)接入的服务、用于机器类型通信(mtc)接入的服务等)建立不同的网络切片。amf 162可提供用于在ran 113和采用其他无线电技术(诸如lte、lte-a、lte-a pro和/或非3gpp接入技术,诸如wifi)的其他ran(未示出)之间进行切换的控制平面功能。
72.smf 183a、183b可经由n11接口连接到cn 115中的amf 182a、182b。smf 183a、183b还可经由n4接口连接到cn 115中的upf 184a、184b。smf 183a、183b可选择并控制upf 184a、184b,并且配置通过upf 184a、184b进行的流量路由。smf 183a、183b可执行其他功能,诸如管理和分配ue ip地址、管理pdu会话、控制策略实施和qos、提供下行链路数据通知等。pdu会话类型可以是基于ip的、非基于ip的、基于以太网的等。
73.upf 184a、184b可经由n3接口连接到ran 113中的gnb 180a、180b、180c中的一者或多者,这些gnb可向wtru 102a、102b、102c提供对分组交换网络(诸如互联网110)的访问,以促进wtru 102a、102b、102c和启用ip的设备之间的通信。upf 184、184b可执行其他功能,诸如路由和转发分组、实施用户平面策略、支持多宿主pdu会话、处理用户平面qos、缓冲下行链路分组、提供移动性锚定等。
74.cn 115可有利于与其他网络的通信。例如,cn 115可包括用作cn 115与pstn 108之间的接口的ip网关(例如,ip多媒体子系统(ims)服务器)或者可与该ip网关通信。另外,cn 115可向wtru 102a、102b、102c提供对其他网络112的访问,该其他网络可包括由其他服务提供商拥有和/或运营的其他有线和/或无线网络。在一个实施方案中,wtru 102a、102b、102c可通过upf 184a、184b经由至upf 184a、184b的n3接口以及upf 184a、184b与本地数据网络(dn)185a、185b之间的n6接口连接到dn 185a、185b。
75.鉴于图1a至图1d以及图1a至图1d的对应描述,本文参照以下中的一者或多者描述的功能中的一个或多个功能或全部功能可由一个或多个仿真设备(未示出)执行:wtru 102a-102d、基站114a-114b、演进节点b 160a-160c、mme 162、sgw 164、pgw 166、gnb 180a-180c、amf 182a-182b、upf 184a-184b、smf 183a-183b、dn 185a-185b和/或本文所述的任何其他设备。仿真设备可以是被配置为模仿本文所述的一个或多个或所有功能的一个或多个设备。例如,仿真设备可用于测试其他设备和/或模拟网络和/或wtru功能。
76.仿真设备可被设计为在实验室环境和/或运营商网络环境中实现其他设备的一个或多个测试。例如,该一个或多个仿真设备可执行一个或多个或所有功能,同时被完全或部
分地实现和/或部署为有线和/或无线通信网络的一部分,以便测试通信网络内的其他设备。该一个或多个仿真设备可执行一个或多个功能或所有功能,同时临时被实现/部署为有线和/或无线通信网络的一部分。仿真设备可直接耦合到另一个设备以用于测试目的和/或可使用空中无线通信来执行测试。
77.该一个或多个仿真设备可执行一个或多个(包括所有)功能,同时不被实现/部署为有线和/或无线通信网络的一部分。例如,仿真设备可在测试实验室和/或非部署(例如,测试)有线和/或无线通信网络中的测试场景中使用,以便实现一个或多个部件的测试。该一个或多个仿真设备可为测试设备。经由rf电路(例如,其可包括一个或多个天线)进行的直接rf耦合和/或无线通信可由仿真设备用于传输和/或接收数据。
78.在某些代表性实施方案中,可以实现方法、程序、操作、系统和/或装置,以将应用程序(例如,现有应用程序和/或服务)分解为可分布超出应用程序和/或服务的初始运行时范围的一组ms。
79.在某些代表性实施方案中,可实现ms集群引擎(mce)230,其可以:(i)从ps模式生成器(pspg)220接收ps集群的信息;(ii)通过(ii)根据给定的本体将ps集群成ms来创建ms;(iii)选择最合适的ms模式(例如,并且可通过为每个ms模式(例如,每个模式)分配有用值,并通过选择最强(例如,最佳)的一个或多个(例如,最佳候选ms模式)来实现,以及/或者(iv)向分割器240呈现最合适的ms模式(例如,用于将单片应用程序分割为分割的部分,例如在不同设备上分布式运行),等等。
80.在某些代表性实施方案中,可实现方法、程序、操作、系统和/或装置,用于在运行时将单片封装的应用程序模块化/分割为ms,例如通过(i)分析应用程序(例如,单片应用程序)的执行,以(ii)围绕或根据所检测的单片应用程序的执行边界定义ms模式,(iii)通过在ms模式中识别的一个或多个ms周围添加合适的包装类别来改变应用程序,(iii)在多个设备(例如,本地设备或远程设备)上(例如,经由一个或多个其他设备)管理一个或多个ms的执行。
81.在某些代表性实施方案中,可实现分析器电路/组件/模块/功能,其可以:(i)监测和/或收集(例如,持续监测和收集)本地应用程序执行的信息,(ii)将所收集的信息上传到存储库/存储单元(例如,远程存储库),(iii)从存储库/存储单元下载配置文件信息;以及/或者(iii)提供组合的配置文件信息,以沿着从本地获得的和/或远程下载的配置文件信息识别的识别执行边界生成ms模式。
82.在某些代表性实施方案中,可实现ps模式生成器组件/电路/模块/功能,其可以:(i)接收与特定应用程序有关的配置文件信息;(ii)沿着用于应用程序的所识别的执行边界生成ps模式420以及/或者(iii)提供此类ps模式420以用于集群,例如优化应用程序的执行或用于生成合适的ps执行端点。
83.用户可将应用程序体验的消费与特定设备相关联,例如,“我可以在我的移动设备上玩游戏”。这种体验可作为特定设备上的“应用程序”来实现。为了在设备上安装应用程序(例如,并提供/消费实现的体验),用户确定(例如,必须始终解析)安装应用程序的设备,例如,“我需要使用移动设备玩游戏,因为我的平板电脑上没有安装应用程序”。例如,应用程序(和/或体验)受限于安装该应用程序的设备上本地的硬件能力,而不管用户可用和/或可访问的更好的能力,例如,可用的家用uhdtv可提供更好的游戏观看体验并且/或者家用pc
可提供更快的渲染和/或可节省移动设备上的电池寿命。安装在用户移动设备上的应用程序可不利用除安装应用程序的能力以外的能力。应用程序可将整个具体实施封装为单个格式,该单个格式用于在安装时将组成应用程序的可执行代码安装在特定设备上。
84.例如,用户可能想要在多个设备上消费应用程序体验。在多个设备上提供应用体验,可使用或可需要附加的资源(例如,额外的程序/操作/步骤),并且可使用和/或需要用户干预。例如,额外的程序/操作可包括以下任一项:(1)在所有可用设备上安装相同的应用程序,(2)决定最适合某个实例的设备,和/或(3)手动启动(有时切换)应用程序以在所选设备上获得体验(例如,单独/不同的体验和/或中断的体验),例如,“我在安卓手机上安装了游戏应用程序,以便在通勤时玩,但当我在家时,我可以通过安装应用程序并登录同步游戏数据,切换到家用uhd tv上玩(以获得更好的体验)”。例如,应用程序仍然受到应用程序在其上运行的设备(例如,唯一设备)的限制(例如,“当游戏以高分辨率在tv上开始时,帧速率已经降低,但我不能利用带有强大gpu的家用pc来更快地渲染”)。尽管在多于一个设备上安装了应用程序,但体验仍然局限于在任何时间点执行应用程序的设备,例如,应用程序安装在其上的可能的其他设备在该时间点没有使用,因此仍然将体验局限于当时执行的单个设备。
85.在某些代表性实施方案中,可以实现方法、操作、程序和装置,以例如通过用ms替换一个或多个应用程序(例如,单片应用程序)实现多设备体验。ms可封装整体体验的特定实现和/或部分实现。例如,一个ms可接收视频流,并且第二ms可处理该流的解码图像。在传送到第三ms之后,第三ms可在合适的显示器/表面(诸如tv)上显示该流。在某些代表性实施方案中,ms可以是分布式的(例如,在不同的贡献设备上执行,例如,在通过体验交互定义的语义范围内彼此通信时)。ms之间的通信可利用基于http的通信协议,诸如rest和/或web服务。在某些代表性实施方案中,可实现ms“包装类别”和/或修改的本地http请求处理,使得能够将现有应用程序划分为ms。此类方法可在应用程序的设计时或执行时应用。对于设计时的方法,ms划分、包装类别以及ms封装哪些功能的设计决策是整个设计过程的一部分,从而形成应用程序包,其中ms是该包的一部分。
86.没有这种ms设计时的方法的应用程序(可能是当今绝大多数可用的应用程序)是单片封装的,通常作为可执行代码的模块,但不使用ms。这些单片应用程序包内的代码可针对运行单片应用程序包时可使用的一组特定设备组件进行编译。因此,如本文所述,用最合适的设备的分布式(例如,真正分布式)执行可限于单片应用程序在其上运行的那些设备。
87.在某些代表性实施方案中,可实现程序、方法、操作、装置和/或组件,以在执行和/或运行时(例如,在移动终端上的应用程序的设计、封装和安装之后)将非ms设计的应用程序分解为ms。结果可为启用ms(例如,在运行时建立和/或动态建立以满足最佳实践和/或运行时要求),尽管最初安装为非启用ms的应用程序包。
88.在某些代表性实施方案中,可实现方法、操作、程序、装置和/或组件,以使应用程序能够在执行中或执行期间具有灵活性。例如,基于执行时间/运行时考虑,应用程序可在任意数量的设备上运行。当今的应用程序缺乏灵活性可能是由于(例如,主要是由于)它们的整体性(以及无法将应用程序模块化为部分)以及由于缺乏在多于一个设备上执行应用程序的方法和/或程序。在某些代表性实施方案中,可通过识别应用程序并将其划分为子任务来利用多于一个设备,该子任务可以封装为ms。所封装的ms可使用多设备环境共同执行。
例如,应用程序可被分解为子任务,这些子任务可允许应用程序以在一个或多个其他设备(例如,远程设备)上执行合适的ms的形式将特定任务(例如,仅特定任务)卸载到其他设备(例如,而不是卸载整个应用程序)。一旦在所选设备上执行这些应用程序任务,就可以组合结果以提供用户体验(例如,终端用户体验)。
89.分解可以在设计时进行,也可以在运行时进行。应用程序开发者可根据基于设计时知识推导的一组预定义需求来分解应用程序,例如,在设计时将视频流应用程序分解为d(显示)-p(处理)-r(接收)功能。设想了在设计时的知识和做出的分解决策可在运行时变得不完整和/或过时(例如,由于(1)不同的硬件/软件配置;(2)改变连接和/或(3)各种对等设备的可用性等)。例如,启用ms的应用程序的特定组合可在某些硬件/软件配置上、某些连接布置上和/或使用某些可用对等设备能力更有效或更好地运行,从而使得设计时分解可能效率低下。
90.在某些代表性实施方案中,可实现程序、方法、操作、装置和/或组件,以更新应用程序的即时知识,并在运行时相应地分解非基于ms的应用程序。这种方法不仅允许支持未用ms设计的现有应用程序,还可以消除未来应用程序这样做的任何负担,在运行时,将分解任务留给分解器方法、程序、操作和/或装置(例如,完全由分解器完成)。这种方法可以基于实际运行系统中所观察的约束优化分解。
91.将应用程序的各种识别部分(例如,在前一示例中,游戏应用程序中的渲染部分和/或显示部分)解释为ms模式可实现灵活(例如,高度灵活)的合成和分解程序/操作/方法。当用本文所公开的程序进行分解时,曾经独立的应用程序可变成ms的集合,取而代之,可在比最初安装和启动应用程序的设备更合适的设备上执行。例如,在一个示例中,可分别在家用个人计算机(pc)和超高清晰度电视(uhdtv)上执行“渲染”和“显示”ms。体验的整体质量可提高(例如,在该示例中,游戏显示分辨率可提高,同时渲染速度更快,以实现无延迟/流畅的游戏体验)。
92.图2是示出代表性分解器200(例如,包括分解器组件)的图,分解器组件包括以下中的任一者:(1)分析器210,(2)微小服务模式生成器pspg 220,(3)微服务集群引擎(mce)230,(4)分割器240,(5)本地ms管理器(lmm)250,(6)通信模块(cm)260,和/或(7)对等ms(pms)270。
93.参考图2,分解器200可执行用于运行时分解的程序/操作,例如包括:(1)分析器210执行应用程序分析,以在运行时获取应用程序知识;(2)psps 220和/或mce 230将应用程序划分为ms,并且(3)分割器240分割为启用网络的ms(例如,划分可包括多个子操作,例如ps模式生成和/或ms集群。应用程序可经历这些操作,其结果包括可合成在一起的多个ms的集合,以提供应用程序体验,从而有可能在分布式环境中利用这些ms的分布式实例。分发可分别由(1)lmm 250和/或(2)cm组件260启用,用于分布式ms生命周期和通信管理。lmm 250和cm 260(例如,cm组件)可允许ms实例作为pms 270执行(例如,在与安装(和启动)应用程序的设备不同的设备上)。
94.例如,分析器210可生成/获得关于与一个或多个应用程序相关联的功能和执行路径的信息。pspg可生成一个或多个ps链。mce 230可执行将ps子链集群成ms。在某些实施方案中,可确定、预定和/或配置支持的最大集群数量。
95.本文所描述的模块化是基于从本地分解器获得的信息来完成的。由于本地分解器
可收集本地ms(例如,仅本地ms)的信息,因此本地分解器的分解可考虑(例如,仅考虑)设备上执行的特定方面。如果在其他设备中使用应用程序的合适信息,例如关于所识别的ms模式及其重要性/优先级,则可扩展本地信息。远程信息的使用旨在提高本地分解的效率(例如,如果另一个设备具有给定应用程序的已识别ms模式,这可用于用其ms边界信息分解本地应用程序)。在某些示例中,如果对等设备已具有“渲染”ms,则本地应用程序可使用本地应用程序的配置文件信息,以识别“渲染”应用程序任务边界并相应地进行分解。
96.一旦本地应用程序分解为ms,或者在本地应用程序分解为ms之后,这些本地ms可卸载到对应的pms。
97.图3是示出用于在跨两个设备的应用程序中的ms 350的分解的示例性架构300的图。参考图3,每个设备310和320可包括一个或多个应用程序330-1和330-2以及操作系统(os)340-1和340-2。在示例性场景中,应用程序330已跨第一设备310和第二设备320分解为多个ms 350-1和350-2。在多个设备310和320(例如,两个设备)上识别ms 350-1和350-2,其中两个ms 350-1和350-2在第一设备310上实例化,并且一个ms 350-2(例如,对等ms(pms)在对等设备320上实例化。图3示出ipc(进程间通信)360可用于设备内ms 350-1与350-2之间的通信,并且/或者http 370可用于设备间通信。在某些代表性实施方案中,第一设备310和对等设备320可与网络实体/集中式数据库380通信,该网络实体/集中式数据库可收集网络上的设备310/320/102的配置文件信息,并且可向设备310/320/102提供远程配置文件信息(例如,根据请求)。
98.尽管图3示出了用于在第一设备310(例如,本地设备)中执行/正在执行的两个ms以及用于在第二设备320(例如,远程/对等设备)中执行/正在执行的一个ms(例如,一个pms),但该应用程序可包括任何数量的此类ms/pms 350。此外,第二设备320的pms 350中的任何一个或多个pms可对应于第一设备310的ms 350中的任何一个或多个ms,以使对应的ms/pms 350能够在第一设备310或者第二设备320上执行。
99.尽管图3示出了第一设备310和第二设备320,但是任何数量的此类设备都是可能的,其中运行时动态地设置任何数量的ms/pms 350,以在此类设备上执行/正在执行。
100.分解器的代表性程序/组件
101.分析器的代表性程序
102.分析器210是可使用各种动态程序分析技术(例如,基于事件的分析程序/操作、统计分析程序/操作和/或仪器化分析程序/操作)来分析应用程序的运行时参数(例如,复杂性、资源利用率、指令的使用,函数调用者以及函数被调用者等)的组件(例如,软件和/或硬件组件)。传统上,分析技术通常用于应用程序测试和维护。
103.分解器200的上下文中的应用程序分析可用于识别感兴趣执行点/路径(例如,具有高cpu消耗的函数/类别,或使用指令的感兴趣执行点/路径,例如用于“显示”帧),以便在执行时/运行时进一步优化应用程序。分解器200可保持不同的存储(例如,多个级别,例如3个级别的存储)。分解器200可将所分析的信息存储在存储器中(例如,级别1(l1)-瞬时和最多访问的信息),并且一些信息在持久存储装置中(例如,级别2(l2)-样本中的长期历史数据)。
104.级别3(l3)分析器存储可以是设备(例如,所有设备)可用的分布式存储,其中所有分析器210上传其本地分析器信息。l3分析器存储可实现为集中管理的数据库380(例如,网
络实体集中数据库和/或云/分布式存储)。设备310和320可使用web api(例如,rest)或使用任何其他数据传输协议(例如,文件传输协议(ftp)和/或安全外壳ftp(sftp)等)上传和/或下载信息。一旦上传,设备310和320(例如,所有设备)可周期性地下载其他感兴趣对等设备的配置文件信息。在一个示例中,由设备310和320二者的本地分析器210收集的信息可上传到已知的分布式存储装置,并且分布式存储装置中的现有ms分析器信息可以由两个设备下载。
105.分析器210可运行(例如,可在后台连续运行),并且可向pspg 220提供信息,以将执行点及其路径表示为有向无环图(dag)。传递到pspg220的信息可包括程序执行跟踪、调用的系统指令、消耗的数据、产生的数据以及/或者每个执行点处的资源利用率。
106.因此,除了可执行(或对象)代码之外,分析器210可提供结构信息,例如通过一个或多个代码注释(例如,诸如包和/或函数名)(尽管信息可能被混淆)。分析器210的输出可包括执行依赖性(例如,fct x调用fct y)以及联合状态信息(例如,fct x和fct y访问资源或变量z)。
107.现有的分析器(诸如安卓程序分析器、java虚拟机工具接口和/或python热点)可用于分析应用程序任务。这些分析器可被扩展以包括本文所公开的输出信息(例如,本地和/或远程/非本地配置文件信息),以防此类信息不构成现有分析器输出的一部分。
108.pspg的代表性程序
109.pspg 220(例如,pspg组件)的目标可包括准备和/或存储从分析器210接收的信息,以便在以后的程序/操作中使用。在某些代表性实施方案中,pspg 220可生成和/或将执行信息转换为执行图。所生成的执行图将分析器210的输出信息(例如,功能执行信息和/或联合资源/数据使用信息)转换为沿构成良好的执行路径执行的服务序列。对于单个功能级别,由于其粒度很小/很细,服务可被表示为“微小服务”(“ps”)。通过集群多个ps,可生成ms/pms 350-1和350-2。例如,多个ps可集群在一起以形成单个ms 350-1或350-2(例如,其可增加所提供/分布式服务的大小/复杂性)。
110.(分析的)程序的执行结构可表示为dag(有向无环图)(例如,包含或包括类别层次或表示函数调用的执行路径的树)。例如,在循环的情况下,可通过诸如循环移除和/或序列化等众所周知的技术来实施此类dag。dag表示从本地分析获得的知识中识别的ps模式,其中节点表示程序的识别的功能,并且节点之间的边表示节点/功能之间的调用。
111.图4是示出将分析器信息转换为dag的代表性程序400的图。参考图4,在410处,在与应用程序330相关联的功能和执行路径上获得配置文件信息。在420处,创建(例如,生成)ps链。例如,图4示出了如何将配置文件信息410(顶部)转换为ps模式420-1、420-2、

420-n(底部),其进而可呈现给(例如,由其使用)mce 230以优化本文所公开的服务模式。代替将ps模式420呈现给mce 230,所生成的ps模式420可直接呈现给分割器240,以创建细粒度但可能未优化的分解。在许多应用程序中,这种应用程序功能的直接分配(例如,有效地分配每个功能)可导致(例如,可能太)细粒度的许多ps模式420,导致存储问题(例如,将配置文件信息保持/维持在分析设备上的合适存储装置中)。例如,ps表示分析器信息410中指示的各种对象。可例如使用对象访问信息来提取对象之间的数据流和数据流方向。对象访问信息可被包括(例如,可通常/经常被包括)在分析器信息410中,并且例如可以是函数调用者/被调用者信息。在dag中,对象可变成/表示顶点,并且其数据流可表示连接顶点的边缘。
112.在图4中,配置文件信息410可包括与单片应用程序或单片应用程序的一部分相关联的识别功能、以及与单片应用程序或单片应用程序的一部分相关联的执行路径。ps模式420可识别、生成和/或创建ps链。
113.如图4所示,可通过将分析器信息410作为输入来构造dag,将类别/功能表示为节点,并且将类别(以及包括的功能)之间的信息流表示为节点之间的有向边缘。例如,安卓应用程序分析器可以提供应用程序跟踪,包括调用者和被调用者信息。java.util.list数据结构可用于创建图,其中安卓跟踪中的类别存储为节点(具有其相关的分析器信息,诸如cpu利用率),并且调用者/被调用者关系表示为边缘,将它们存储为对相邻节点的引用。
114.ms集群引擎(mce)的代表性程序
115.由pspg 220创建的dag可包含或可包括代码级信息(例如与ps相关联的)。当分析器210识别功能级信息时,对于可能存在许多此类功能的复杂应用程序,ps模式420可以是颗粒的(例如,非常细小的颗粒),这可能带来管理许多(太多)ps模式420的挑战,可能导致执行设备上的存储器和存储问题。在ps生成之后,设想可选地将一个或多个ps集群成ms350,例如以减少应用程序可分解成的可能的ms的总数。
116.mce 230可通过例如基于其新兴模式(诸如执行集中在一组特定的ps或使用专用硬件资源的特定ps中)将应用程序内的各种功能识别和优化为执行的“热点”,将ps模式420(例如,细粒度ps模式)转换为更粗粒度的ms模式。如果存在对特定状态(例如,存储器中的状态,诸如共享存储器中的状态或持久存储装置中的状态,诸如文件)的依赖性,则ps可以集群。将这些ps集群在一起可能是有益的(例如,为了避免需要或使用昂贵的状态管理和/或并发处理)。
117.模式中的ms 350可以不仅在本地执行,还可以服务于网络中的其他设备320(将ms 350转换为pms 350-2)。对于每个ms,可以做出ms装载决定(例如,ms是否可以服务于一个或多个其他设备320或任何其他网络连接设备),该决定可用ms模式本身上传到中央数据库380。
118.ms集群的代表性程序
119.图5是示出将ps分组到ms中的代表性程序的图。
120.参考图5,代表性程序500可包括在510处创建(例如,生成)一个或多个ps链。在520处,可将ps子链集群成较大的ms。代表性程序500通过将两个或更多个ps 530-1和530-2旋转为可能的ms来示出。将ps 530-1和530-2集群成ms(例如,ms 350-1或ms/pms 350-2)可基于捕获集群标准的一组概念(例如本体)来执行。这些概念可被指定和/或呈现给mce 230,作为ms执行特征的知识库,使用现有本体语言(例如,web服务建模本体或其他本体模型等)来指定。ps 530-1和530-2可根据提供的本体进行分组,与通过分析收集的ps 530-1和530-2的运行时知识相匹配。本文公开了将本体实体与应用程序/程序代码匹配的进一步细节。
121.选择要实现的ms模式的代表性程序
122.集群的ms表示应用程序330中具有特定执行路径的各种热点(例如,其属性可取决于所使用的本体的特征),这些执行路径以由先前操作/步骤产生的ms模式表示。由于由设备的资源施加的约束,有可能实现ms模式(例如,所有ms模式)的子集(例如,仅子集)。例如,由于存储器限制,大量ms模式可能无法实现和/或管理。例如,存储器约束可限制可以实现的ms模式的数量,例如,因为每个ms模式可使用(例如,保持在)存储器,或者至少存储在持
久存储器上。为了选择ms模式(例如,最合适的ms模式),ms模式(例如,每个ms模式)可基于计算排名(例如,排名值)进行排名,该计算排名可基于本地和远程排名的组合计算。总排名值高达特定阈值c
l
的ms模式可被选择由分割器240实现。本文公开了选择ms模式的进一步细节。
123.分割器的代表性程序
124.在分割器240处,所选择的ms模式(例如,每个所选择的ms模式)中的ms 350可被译成相关类别(使用存储在ms模式信息中的类别信息)。可将实现通信程序(例如,http)的包装类别放置在特定ms(节点)边界周围,以实现ms 350(例如,每个ms)的“开始”和“结束”点以及应用程序330中ms 350之间的连接性。
125.应当理解,术语“pms”和“ms”可互换,但可例如使用不同的(例如,本地和/或远程)设备来执行。
126.当在节点周围添加包装类别时,例如通过使用java工具api将更改(例如,包装类别和/或其他接口)加载到应用程序330中,应用程序330的代码可在运行时更新。在基于java的运行时系统(诸如,安卓)的某些实施方案中,java工具api(例如类文件转换器)或类加载器类别可以用卸载程序替换(例如,用网络化程序替换用于本地执行的函数中的内容)。包装类别可用于分割和实现ms间通信的程序。根据所使用的应用程序运行时,分割可发生在源代码、目标代码或可执行代码级别。在安卓的示例中,目标代码可用于应用程序的安装,而即时(jit)编译器可用于在应用程序启动时创建更有效的可执行代码。使用java工具类别,可将目标代码包装到包装类别中,为启用ms的应用程序(例如,当前(例如现在)启用ms的应用程序)发出更新的jit编译请求。
127.在现在重新执行现在启用ms的代码期间,模块化的ms(及其包装类别)可添加到lmm 250(例如,通过传递对创建的ms包装类别的引用)。
128.可以设想,对于代码覆盖:由于分析器210通过积极利用的代码组件返回(例如,仅返回)信息,因此如本文所公开的,有源组件(例如,仅那些有源组件)可生成(例如,可转换成)ms模式,并且可被分割。应用程序330的“剩余”部分可以构成执行的组成部分(例如,如果需要,剩余部分能够并且可以被调用),其限制是剩余部分不能卸载任何执行,除非剩余部分被分析并转换为ps 510并且最终ms模式。这突出了本文所公开的分解的动态性质。由于执行行为可随时间改变,例如通过改变用户行为,所分析的功能和生成的ps(并且最终ms)模式可随时间演变,提供了卸载在后期“生成的”ms(例如,pms 350-2)的机会,这些ms的功能先前保留在原始设备的本地。例如,对于多媒体播放器,能够播放视频和/或音乐。如果用户最初使用视频播放能力,则可以如上所公开地生成ms结构,即,可生成关于接收视频流、处理视频流和显示视频流的一个或多个ms 350。由于未使用音乐播放功能(例如,可能永远不使用),可能应用程序的大部分仍然是

单片的’,有效地导致例如一个或多个ms/pms 350和应用程序330的一部分仅在本地执行。分析的后续运行可提供(例如,最终提供)关于终端用户对音乐播放功能的使用的信息,其可用特定于音乐播放的ms生成应用程序330(其已经部分分解为基于ms的应用程序330)的剩余单片部分的进一步(例如,现在进一步)分解。应用程序330的其他部分即使在演变成进一步的ms/pms 350之后也可保持单片。例如,应用程序330可提供用户不使用的媒体管理功能(例如,对视频和/或音乐进行排序等),这些功能可不被分析,并且可保持单片(例如,其示出本文所公开的分解程序可以是演变过
程,导致结构随时间而演变)。
129.lmm的代表性程序
130.lmm 250可管理ms 350(例如,每个ms)的位置,例如,是否在本地执行ms 350-1和350-2,或者是否向在网络中执行的pms 350-2发送请求(例如,获取/使用dag中添加的权重参数)。lmm 250可采用由分割器240提供的ms 350,并且可管理其生命周期,例如通过在存储器中保持可用(例如,所有可用)ms 350的列表,例如通过在表(例如,哈希表或参考表等)中存储对ms对象/包装类别的引用。关于ms 350的位置的决定可传递给cm 260。例如,对于与ms位置相关的决定,可实现实体(例如,设备封装实体(dpe))。dpe可从分布式系统中的参与设备收集合适的上下文信息;可将上下文信息与给定终端用户体验的基于动态编程(dp)的规范中规定的约束相匹配。dp实体还可选择与dp模型内的约束最佳匹配的一组资源,并可指示这些资源建立基于名称的关系,该关系适合于交换与能够实现dp模型和定义的用户体验的合适的ms功能链的执行有关的信息。
131.cm的代表性程序
132.从lmm 250接收关于ms请求是通过网络370发送到本地ms 350-2还是发送到pms 350-2的指令。
133.cm 260可处理ms 350-1/350-2以及/或者ms 350-1和pms 350-2之间的请求和响应。当ms 350没有卸载(例如,ms 350-1和350-2在本地设备上运行)时,cm 260可使用设备间通信程序360(例如,ipc)将ms请求间接发送到本地ms实例(例如,在同一设备上执行的两个ms 350-1和350-2可通过ipc 360进行通信(如图3所示,与ipc接口有关))。如果ms 350-1和350-2中的任一者被卸载,则可使用网络请求(如图3所示,与http接口有关)将请求发送到对应的pms(例如,对应于ms 350-2的pms 350-2),其中一个ms 350-2可卸载到另一个设备,将ms请求转换为http(通过ip)并通过互联网370发送。在美国专利公布号us2018/0007116中描述了发送http服务请求的程序,其内容以引用方式并入本文。http服务请求可通过icn或传统的apache http组件发送,或者可使用android volley http类别,而设备本地请求经由ipc 360发送。
134.pms的代表性程序
135.pms 350-2可以是能够执行卸载的ms 350-2并产生预期结果的ms 350-2。pms 350-2可接收卸载请求,并可用所接收的输入数据执行。当这样做时,pms 350-2可使用可用的应用程序代码/数据(例如,使用java反射api)解析和使用其他应用程序依赖项(例如,所有其他应用程序依赖项)(例如,所需类别)。一旦应用程序330的请求部分被执行,pms 350-2可将结果封装在响应(例如,http响应)中,并且可回复初始请求(例如,http请求)(例如在图3中,卸载的pms 350-2可通过互联网370接收一个或多个请求(使用http),可执行请求,并且可通过互联网370(和/或任何其他通信网络)回复(例如,一个或多个初始请求))。在某些代表性实施方案中,ms 350-2可本地存在于同一设备上(如图3所示),并且在这种情况下,cm 260可确保通过本地ipc 360向ms 350-2传送数据。
136.使用本体将ps集群成ms的代表性程序
137.将ps集群成ms/pms 350的程序可将许多(通常对于有用的分布式执行来说太多)ps转换/生成为较小数量的ms 350,并且可使这些较小数量的ms/pms 350更好地管理。
138.当将ps集群成ms/pms 350时,可使用基于本体的技术/架构来捕获ms类型、子类型
及其关系,作为一组相互关联的概念,而不是使用类别的固定集(例如,简单的固定集)(描述每个ms的特征)。在用于捕获此类本体的某些实施方案中,诸如okbc-krs的语言可用于描述、呈现和/或实现应用程序分类本体。
139.子类型化可允许识别具有类似/相关特征的ms/pms 350,例如,具有两个构成子类型的“接收”类型、“用解码进行的视频段接收”和“用解码进行的视频流接收”。本体本身的特征可决定产生的ms/pms 350的集群的特征,例如,供应商可决定使用专有(高级)本体来对特定硬件(例如,设备的硬件)优化的ms进行集群。而动作类型(例如,接收动作或过程动作等)可以是集群本体的一种类型。资源的类型可以是所使用的本体中的另一种类型(例如,将访问视频捕获资源的ps与访问音频资源的其他ps区分开)。子类型可更特定于资源类型(例如,前相机子类型或后相机子类型)。另一种类型可以是状态访问类型(例如,将没有ps外部状态依赖性的ps与访问外部状态的ps区分开)。子类型可基于状态信息(例如,通过由分析器210提供的全局变量名称来表示)动态生成,子类型名称就是这些变量名称。访问联合状态的ps可集群化,避免了显式状态管理的需要和/或使用,并且例如,对于ps(可转换为(例如,变成)ms/pms 350)可以在分布式位置执行的情况。
140.本体实体可表示诸如本文概述的那些ms类型,并且特定ms特征可存储为与每种类型相关联的属性的值。例如,对于动作类型,所识别的“接收”ps可接收属性“编解码”,以指示值为“android.media.mediacodec”(例如,如所利用的系统api,在这种情况下是针对安卓系统)的“接收”动作(而不是播放动作)。这些属性值可与从ps(例如,每个ps)的分析器210接收的信息相匹配(例如,ms/pms 350的配置文件信息可包括对“android.media.mediacodec”安卓系统api的调用的应用程序跟踪)。给定属性对ms类型的重要性/优先级可通过相关权重来指示(例如,多个ms/pms 350可共享一些特定特征(同一属性可包括在多于一个类型中))。某些特征对某些ms/pms 350可比其他特征更重要,这可增加定义本体实体之间(例如,以及产生的ms/pms 350之间)细微差异的灵活性。
141.一个ps(主要是ms边界中的ps)可被分类为多个ms类型(例如,与属于不同ms类型的多于一个ms属性值相匹配),诸如一个ps具有属于两个ms类型的特征(例如,一个ps使用的指令可以是多于一个ms类型的属性值)。在某些代表性实施方案中,使用本体实体可识别每个ps的最合适的ms类型(因为ps可在多于一个ms类型下匹配)。为了找到最佳匹配的ms类型,可以基于匹配的属性为ps的每种类型分配“匹配值”m,如以下等式1所示。
[0142][0143]
其中pi表示ms类型的每个属性的相关权重,n是与给定ms类型匹配的属性的数量。设想pi可被分配给每个属性i,并且可被本体开发者包括在本体中。一旦计算出ps的所有可能ms类型匹配的m值,具有最高“匹配值”m的类型可分配给ps。同样,可分配每个ps的ms类型。在某些实施方案中,具有相同类型的ps可集群在一起。在各种实施方案中,集群可基于子类型,例如,对于动作类型,虽然类型信息相同,但子动作明显不同。在以上的“接收”类型示例中,“流”与“段”解码可导致集群,其中流处理(例如,使用和/或要求元数据解析能力)可由一个ms处理,并且段解码(使用和/或要求视频解码能力,包括可能使用gpu)可由另一个ms/pms 350处理。
[0144]
在集群完成之后,可生成/创建重构版本的dag,其中节点(例如,现在的节点)表示ms/pms 350(而不是ps),并且边缘表示节点之间的信息流。
[0145]
如上所述,产生的ms模式和单个ms的特征可依赖于(例如,高度依赖于)所提供的本体。这些本体(可在设计时(例如,由本体开发者)定义)可通过进一步“演变”本体(例如,通过使用本文所描述的所有存储类型中的相关合成训练数据和/或收集的真实数据)来使用人工智能(ai)/机器学习(ml)技术进行优化,以提高其集群效率,(例如,学习更有效地对应用程序功能/ms/pms 350进行分类)。
[0146]
ms模式选择的代表性程序
[0147]
为了减小将由分割器210实现并保持在执行设备上的ms模式的大小,可基于ms模式在应用程序330上的重要性/优先级来选择ms模式。该重要性级别在下文中称为“有用性”。
[0148]
限制所实现的模式数量的代表性程序
[0149]
ms模式可以选择通过阈值(例如,阈值c
l
)定义的截止来实现。阈值可取决于排名标准的定义和/或设备的设置。例如,可根据(例如,直接依赖于)存储器需求来设置阈值,并且可设置阈值以限制分解功能。在某些实施方案中,可根据用户界面(ui)的实现来设置(例如,一个或多个ui设置)分解限制。例如,可将分解限制选择为和/或基于例如可为该功能(例如,用于ui)提供的存储器大小。该所选择的存储器大小可被译成可用所定义的存储器大小实现的ms模式的最大数量。在某些代表性实施方案中,ui可允许直接设置可实现(例如,提供)的ms模式的最大数量。这样的设置可以是系统范围的(例如,整个设备可支持的ms模式的最大数量),或者可以是应用程序范围的(例如,应用程序330可支持(例如,被分解成)的ms模式的最大数量)。在某些实施方案中,阈值可由操作系统定义,这可类似于限制系统范围内单个应用程序的存储器堆大小。在某些代表性实施方案中,阈值可表示为设备属性。
[0150]
ms极限值可使用学习技术(例如,经由ml)通过学习所选择的极限对效率(例如,体验质量)的影响和/或通过随时间优化来相应地动态确定。
[0151]
利用本地和远程信息的代表性程序
[0152]
在某些代表性实施方案中,可实现使用以下信息(例如,配置文件信息)的程序:(1)仅设备本地分解操作;或(2)设备本地分解操作(例如,来自本地设备)和远程信息。因为分解程序可(可能)在运行已安装应用程序330的每个设备中执行,所以初始分析操作和ms集群可产生依赖于(例如,高度依赖于)在执行分解操作的设备310上观察到的使用模式的结果。例如,仅使用多媒体播放器的视频功能的用户可能不会或将不会创建必要的配置文件信息来分解应用程序330的可能的音乐播放部分。另一设备320上的用户可仅使用音乐播放功能,产生包括面向音乐的使用信息的配置文件信息。对于这两个不同的设备310和320,即使使用重叠或类似(例如,两个用户都使用视频播放能力),配置文件信息也可以不同(例如,因为用于缩放视频的附加处理仅由其中一个用户使用)。
[0153]
当考虑(例如,仅考虑)此类本地知识时,ms分解可产生仅对本地用户“有用”的模式。尽管在足够大的终端用户群中,行为可能会强烈一致,这可以在这些用户之间创建/生成相同的ms模式,但可实现程序,刺激将其他用户的信息包括在ms选择中,导致重点强调对本地用户可以是最高优先级并且仍然被识别为对远程用户有用的ms模式。
[0154]
本地用户可变成有吸引力的目标,以利用其资源来执行远程用户的ms模式,反过来远程用户也可以这样做,从而最终在分布式环境中为所提供的ms/pms 350提供增加的多样性。
[0155]
为此,正在其上执行分解的特定本地设备上的ms模式的“有用性”(表示设备上本地ms模式的重要性)可用远程信息来补充(例如,ms模式在系统中的其他设备中的重要性/优先级,以构成ms模式的“总有用性”)。这种组合可通过ms模式的总有用性u

来实现,其如以下示出的等式2计算:
[0156]u总
=u
本地
*α u
远程
*(1-α)
[0157]
其中u
本地
是ms模式的设备本地有用性,并且u
远程
是ms模式在其他设备中的有用性。可分配权重值α,指示本地和远程有用性本身对ms 350的总有用性的重要性/优先级。与阈值(例如,阈值)类似,设想权重α可通过系统设置来定义,可能通过ui的系统范围或应用程序范围的设置向终端用户公开。
[0158]
在某些实施方案中,u
远程
可以是相同ms模式的所有u
本地
值的平均和,由系统中的其他设备计算,并使用远程配置文件信息的存储装置(例如,分布式存储装置)提供。通过检索上传到分布式存储装置的所有u
本地
值,可通过每个设备310和320本地计算u
远程
值。u
远程
值可如以下等式3所示进行计算:
[0159][0160]
其中ui是由设备i上传到分布式存储装置的u
本地
,并且n是从分布式存储装置检索到的值的数量。模式的唯一标识符可本地计算,并用于从分布式存储装置查询u
本地
值。每个ms模式可具有相关联的u
本地
值。ms模式可根据其u

值进行排序,并且可基于阈值选定(例如,选择)一个或多个ms模式(例如,具有高于阈值c的相关联的u

值的一个或多个ms模式)。
[0161]
每个ms/pms 350可由唯一ms标识符来标识,该标识符可被创建,例如,通过计算包括的(例如,所有包括的)类别名称字符串上的散列值,首先根据类别层次排序,然后按字母顺序排序(对于层次中相同级别的名称),例如md5(名称1 名称2

名称n)。例如,具有相同类别/包结构的ms/pms 350可获得相同的标识符。ms名称和装载决定(如本文所描述计算的)可作为名称-值对存储在分布式存储装置中。类似地,由于ms模式可以是多于一个ms/pms 350的特定组合(例如,ms/pms的群集),因此可通过以对应顺序将最初创建的ms/pms 350的标识符附加到模式中来创建唯一模式标识符(例如,以确切顺序包含相同ms的ms模式获得相同的标识符)。可将另一名称-值对、模式标识符及其u
本地
上传到分布式存储装置,使关于单个ms/pms 350以及其各种组成的信息在分布式存储装置中可用,其可随后用于进一步优化(例如,通过ai学习算法)整个分布式系统中的模式。
[0162]
设想分布式存储可通过集中式数据库来实现,例如,由网络运营商提供,或者通过投票机制在本地用户/设备310或320中选择,并且诸如账本之类的分布式方案可用于数据库的分布式实现。
[0163]
基于有用性的ms模式选择的代表性程序
[0164]
ms模式(例如,具有超过阈值的u
本地
值)表示可分割应用程序330(或应用程序330的一部分)的方式的数量。在每次迭代中,可选择所有ms中的一些ms,以便随后由分割器240实
现(例如,mce 230可创建/生成多个ms模式(例如,5个ms模式),但是由于管理5个ms的高成本,可仅选择子集(例如,两个ms模式)。c
l
的最大值可设置为正整数(例如,在该示例中,c
l
的最大值可设置为2)。
[0165]
为了选择特定的ms模式(例如,第一ms模式而不是第二ms模式),可实现可基于单个ms“有用性”的分级标准。在该上下文中,ms的“有用性”可基于所选择的设备优化目标来定义,诸如增加每个ms的“卸载机会”,但同样增加“被卸载到的机会”。在某些代表性实施方案中,两个机会都可表示为线性正数。“有用性”可以是最初分解的目标来看的,例如,能够或者卸载到另一设备,或者满足整个分布式系统中其他模式的ms。
[0166]
为增加ms的“有用性”而进行的ms模式选择可进一步满足各种特定要求/条件,诸如下面列出的要求/条件,这些要求/条件可在初始化时通过设备配置文件进行配置。例如,可选择具有某些特征的ms模式,诸如:
[0167]
(1)该模式中的所有ms 350-1和350-2可卸载或可卸载到
[0168]
(例如,设备供应商可能倾向于所有分割的ms可卸载的模式,使得在主终端设备上执行最少的操作。当出现卸载机会时(例如,当连接到网络时,所有ms 350可以卸载,并且例如,所有ms 350-1和350-2可在脱机时本地执行)。因此,只有所有包括ms 350-1和350-2的ms模式都是可卸载的,才可以是有用的)。
[0169]
(2)该模式中的至少一个ms 350-2是可卸载的或可卸载到
[0170]
(例如,该配置强制设备始终卸载至少一个ms 350-2。在卸载所有ms 350-1和350-2,或不卸载所有ms 350-1和350-2可导致高成本(例如,卸载所有ms可产生高网络成本(例如,由于需要传输的数据的量),并且本地执行所有ms 350-1和350-2可产生高能耗成本的情况下,这种策略可以是有用的。
[0171]
(3)除了在本地保留至少一个ms 350-1外,所有ms 350-2是可卸载的
[0172]
(例如,该配置强制ms模式具有至少一个(或仅一个)本地执行的ms 350-1。在设备供应商可能更愿意在一个时间点本地执行仅一个ms 350-1的情况下,此类配置是有用的。在应用程序中,可存在不应卸载或不可卸载的应用程序部分。例如,由于安全原因,应用程序330的部分不可卸载或不应卸载,可能存在某些ms 350-1,其具有应用程序开发者希望总是在本地执行的功能(例如,诸如视频显示能力),或者考虑到设备310/320的硬件能力,设备310或320可分别以所需的效率水平仅能够承载一个ms 350-1或350-2)。
[0173]
(4)最小节点数
[0174]
(例如,尽管ms模式中的节点(ms)的数量可增加在分布式环境中分布ms 350的机会,并增加原始应用程序的方面的并行执行,但它也可以增加通信成本和管理开销。通过该配置,在某些代表性实施方案中,具有较低数量ms 350的ms模式可优于具有较高数量ms 350的ms模式。通过该配置,在某些代表性实施方案中,具有较高数量ms 350的ms模式可优于具有较低数量ms 350的ms模式,例如,以使用并行处理更快地处理任务。可能存在这样的情况,即密切相关的ms 350可组合成较大的ms 350,而不是具有特定的较小的ms。例如,在视频流应用程序中,可优选选择一种ms模式,该ms模式将写入设备“帧缓冲区”的ms 350与调整帧以使显示屏设置适合一个较大ms 350的另一ms 350组合在一起,而不是选择具有两个分离的较小ms 350的模式)。
[0175]
卸载的机会取决于网络中能够承载pms 350的其他设备的可用性。ms 350的卸载
机会可随着网络中对应pms 350的其他设备装载(或承载)的增加而增加(如本文所公开的,如在u
远程
中所反映的)。同样,为了使ms 350在本地是“有用的”,并且为了具有足够的“强度”来允许装载,ms 350(以及ms模式)可以或必须具有某些特征,这些特征反过来可反映在ms模式的本地有用性值u
本地
中。在上传到分布式存储装置之前,所有设备310和320可本地计算有用性值,作为模式中ms 350的所有强度/有用性值的总和(例如,并且装载决定可使用这些本地有用性值),如以下在等式4中所示:
[0176][0177]
其中有用性(x)返回模式s中单个msx的本地有用性值。
[0178]
在某些实施方案中,ms 350的本地有用性可被定义为其装载能力,例如,ms的在本地有效地执行ms 350的能力(不仅对本地执行有用,而且对服务其他模式也有用)和有效地利用设备资源的能力。
[0179]
可使用从分析器210接收的信息(例如,所使用的指令)和ms内使用的api来识别有效利用设备资源的ms 350。例如,如果ms 350通过系统/本地接口调用“直接”访问任何资源,则可以认为它是有用的。设想如果ms 350直接使用与以下设备资源类别相关的指令,则其可以是有用的:
[0180]
(1)用户交互
[0181]
a.用户输出(例如,显示、触觉反馈)
[0182]
b.用户输入(例如,键盘、触觉传感器)
[0183]
(2)处理
[0184]
a.除中央处理单元(cpu)(例如图形处理单元(gpu)、神经处理单元(npu)和/或量子处理单元(qpu)等)之外的任何特定专用硬件。
[0185]
考虑到仅使用通用cpu指令的ms 350由于其通用性而在本地实现的重要性较小(模块化可导致进一步的性能低效,但可能会受益于通过硬件加速卸载到设备上),cpu已从上述列表中删除。本地使用更多专用硬件的ms 350可被认为是更优化的,并且可能专用硬件可以在装载时提高ms模式的性能。如果存在仅在本地执行cpu指令的ms 350(产生低有用性值),并且存在可远程装载相同ms 350的设备,这些设备可更高效地执行(例如,硬件加速产生更高的远程有用性值),那么卸载能够有可能提高整个ms模式的性能。当ms模式的远程有用性比本地有用性(例如具有较低α值)更重要(例如,建立为更高的优先级)时,可以实现这一点。手动设置α时的考虑包括“如果其他设备可以装载它们,在应用程序中卸载ms 350是否更好”(通过将α设置(例如,手动设置)为低值)或“在本地执行应用程序是否是优选的”(通过将α设置(例如,手动设置)为高值)。
[0186]
如上所述,通过权重α进行调整的模式的本地和远程有用性就是这种意义。权重α可在运行时使用ai/ml学习技术进一步动态优化,利用应用程序分解和卸载中的各种权衡(例如,模块化(惩罚)与(通过)卸载(获得性能增益)之间的权衡)。
[0187]
可通过在运行时检测可用设备资源(例如,通过在类似于unix的os上迭代设备文件),或通过供应商分发的静态配置文件,搜索属于上述类别的可用资源,并将其添加到列表中。如果存在这样的列表d,其具有l个已发现资源,以及包含msx的所有分析器信息和api调用(n个)信息(源代码)的i(i(x))(集群dag中的节点),则有用性(x)分配x的有用性值,如
下所示。以下具有代表性的伪代码示出了这种搜索:
[0188]
算法1的代表性伪代码
[0189]
1.初始化useful=0,i=1,2,

,n,j=1,2,

,l
[0190]
2.通过检测和配置文件获得d
[0191]
3.通过集群获得i
[0192]
4.对于i中的每个yi,
[0193]
5.对于d中的每个tj[0194]
6.如果yi的类型tj[0195]
7.useful=1
[0196]
8.end if
[0197]
9.end for
[0198]
10.end for
[0199]
11.返回useful
[0200]
在某些实施方案中,如果装载,每个350的决定值(“useful”)表示为“1”,否则表示为“0”。在其它实施方案中,ai/ml技术可用于使用除指令使用之外的其他参数来分配本地有用性值,例如,为已知/证明性能比其他ms模式更好的ms模式分配更高的值,并探索性能更好的新ms模式。ms模式的有用性可受到各种约束,例如如下所述:
[0201]
有用性(x)》0-特征1)
[0202]
有用性(x)》0-特征2)
[0203]
有用性(x)=0-特征3)
[0204]
|s|=min(|s1|,...,|sk|}
‑‑
特征4)
[0205]
其中k是由mce 230提供的ms模式的总数。
[0206]
根据所使用的设备优化/卸载策略,最后一个约束(例如,约束4(例如,选择具有最小节点数的ms模式)可与上述任何其他约束组合)。例如,可实现选择卸载至少一个ms的最小ms模式(基于约束2和约束4)。
[0207]
作为一个示例,以下操作说明了如何实施这些程序。
[0208]
1.初始化i=1,2,

,k
[0209]
2.通过从通过分析收集的信息生成的ps模式获得dag列表y。
[0210]
3.通过集群更新y
[0211]
4.从配置文件获得ci[0212]
5.对于y中的每个si,
[0213]
6.根据等式4和算法1计算u
本地
[0214]
7.根据等式3计算u
远程
[0215]
8.根据等式2计算u

[0216]
9.end for
[0217]
10.通过根据模式的u

值对模式进行排序,从而更新y。
[0218]
11.更新y,使所有ms满足约束2。
[0219]
12.通过选择满足u
本地
》ci的模式来更新y
[0220]
13.为y中的所有模式中的每个ms生成ms标识符,并且如果利用远程存储装置,则
将其与由算法1在操作6中通过有用性()计算的其对应值作为名称-值对上传到分布式存储装置。
[0221]
14.为y中的每个模式生成ms模式标识符,并且如果利用远程存储装置,则将其与在操作6中计算的其对应的u
本地
值作为名称-值对上传到分布式存储装置。
[0222]
15.向分割器240(例如,分割器模块)提供y作为输入,以实现所选择的ms模式集。
[0223]
代表性使用案例
[0224]
用户可安装预先打包的视频观看应用程序,该应用程序将视频源作为url,并在用户显示器上显示流式远程内容。应用程序330可涉及多个应用程序任务,具体地说是“请求”视频块、“解码”和“提取”视频帧。所提取的帧可被“写入”到“帧缓冲区”中,然后屏幕可被“刷新”。由于应用程序被打包为单个单片应用程序,这些任务的执行可被限制到已安装应用程序并在任何时间点执行的设备。
[0225]
代表性使用案例示出了应用程序如何随时间分解为ms 350-1和350-2,并有可能在其他设备320上执行这些ms 350-2,同时随时间发生相同的分解。为此,如本文所公开的,可实现分解器组件以在安装和执行应用程序的设备上运行。
[0226]
如本文所公开的,作为分解器组件执行的结果,视频应用程序随时间被分解为可分布的ms 350-1和350-2,例如,从所接收的视频接收提取的帧并在本地屏幕上显示的应用程序任务,在分解为ms 350之后,可例如卸载到更好的附近显示器。在接收视频流并在本地屏幕上显示的应用程序组件中,可能存在对视频帧执行各种处理任务的其他帧处理组件(例如,在帧上“调整大小”和“应用效果”等)。用户可使用一个预先打包的文件(例如apk)作为一个可执行文件下载并可安装应用程序,所有上述组件在一个单片应用程序中。
[0227]
图6是示出代表性dag的图。
[0228]
参考图6,分析器210可获取应用程序运行时信息并生成dag 600,该dag包括例如与以下任一项相关联的函数调用:请求函数调用610、解码函数调用620、提取函数调用630、调整大小函数调用640、应用程序过滤器函数调用650、写入函数调用660、帧缓冲区函数调用670和/或刷新函数调用680。
[0229]
图7是示出本体的代表性类型层次的图。
[0230]
参考图7,ms集群引擎(mce)230可利用本体700,该本体具有层次(多级层次),该层次具有任何数量的较低级别节点。例如,本体层次的最高级别可包括“类型”节点710。第二级别节点(例如,在下面的下一级)可包括“动作”节点720、“资源”节点730和/或“状态访问”节点740。与“动作”节点720相关联的第三级别节点(最低级别节点)可包括“接收”节点750、“处理”节点760和/或“显示”节点770。与“资源”节点730相关联的第三级别节点(最低级别节点)可包括“网络”节点780、“图形”节点790和/或“呈现”节点795。
[0231]
尽管图7示出了三级本体,但是任何数量的级别都是可能的。尽管图7示出了每个较高级别节点的三个对应的较低级别节点,但是任何数量的对应的较低级别节点都是可能的。
[0232]
图8是示出作为mce的输出的代表性集群ms模式的图。
[0233]
参考图8,对于集群ms模式800,mce 230可将图6的ps集群成ms350。例如。ms 350可包括接收ms模式810、处理ms模式820和/或显示ms模式830。接收ms模式810可包括例如请求ms 840、解码ms 850和/或提取ms 860。处理ms模式820可包括调整大小ms 870和/或应用程
序过滤器ms 875。显示ms模式830可包括写入ms 880、帧缓冲区ms 885和/或刷新ms 890。其他ms模式和ms可能启用各种函数调用。
[0234]
下面描述如何利用关于图2的操作1、2a、2b、3、4和6导致分解结果的操作。
[0235]
操作1
[0236]
分析器210可获取应用程序运行时信息。应用程序运行时信息可包括函数调用、系统指令使用、资源使用和/或应用程序的结构信息(例如,内部类别和打包结构)。
[0237]
操作2a
[0238]
ps生成器可从分析器210接收具有收集的应用程序信息的可执行代码。基于高亮显示的函数调用者、被调用者以及它们之间的信息流,可用以下形式生成dag(如图6所示),例如,与以下任一形式相关联的函数调用:请求函数调用610、解码函数调用620、提取函数调用630、调整大小函数调用640、应用程序过滤器函数调用650、写入函数调用660、帧缓冲区函数调用670和/或刷新函数调用680。在这种情况下,仅创建一个ps模式,但是其他ps模式也是可能的。
[0239]
操作2b:
[0240]
ms集群引擎(mce)230可利用具有以下类型层次(如图7所示)的本体将ps集群成更大的ms。可对所接收的ps模式执行与本文所公开的mce 230相关联的操作,从而获得图8所示的ms模式。每个较大圆圈的标题可表示产生的应用程序函数作为ms。在该示例中,分解器可识别一个ms模式,其中接收、处理和显示ms分别执行网络任务(基于图7中本体的动作类型)、帧处理任务和帧显示任务。此外,“写入”、“刷新”和“帧缓冲区”组件可由于其高度的状态依赖性而集群在一起,如本体的状态访问类型所反映的。所示的结果受这两种类型、它们的属性以及附加到它们的值的影响。
[0241]
分割器240可根据从mce 230接收的ms模式来实现ms。为此,在操作1中从分析器210获得的可执行代码可根据图8中的ms定义的执行边界进行组合,并作为单独的ms通过javaloader类别动态加载。
[0242]
操作3
[0243]
操作3可确定哪些ms正在本地执行(以及哪些ms正在远程ms执行(例如,未在本地执行)。为此,程序可使用本文所公开的dp实体。在mwc演示中,决定是通过专用用户动作实现的,其中本地ms实例通过作为应用程序一部分的显式用户界面元素终止(或重新启动)。
[0244]
操作4
[0245]
操作4可通过ipc(进程间通信)或http管理ms实例的链接,而美国专利公布号us2018/0007116中所公开的程序可用于经由以信息为中心的网络(icn)发送这些基于http的链接请求,由于分布式环境中ms的可用性快速变化,导致服务请求的间接寻址时间非常快。在某些代表性实施方案中,使用ms的本地信息(例如,从lmm 250接收的),发送到本地执行设备的ms的请求可通过ipc间接发送到对应的ms。如果所请求的ms未在设备上本地执行,则可在分布式环境中通过http将请求发送到对等ms。
[0246]
操作5
[0247]
操作5能够在发现相同ms模式的对应的对等设备上执行ms(例如,在主设备上执行本地ms时)。
[0248]
在某些代表性实施方案中,230(例如,mce组件)可作为单独的系统组件来实现。
[0249]
在某些代表性实施方案中,ms模式可与应用程序进程信息一起存储。
[0250]
在某些代表性实施方案中,可实现与远程存储装置的通信,以共享分析和有用性信息。
[0251]
在某些代表性实施方案中,可实现该程序,以根据先前单片应用程序的运行时行为,基于配置文件信息启用专用ipc或http调用。
[0252]
图9是示出由终端用户设备(eud)310(例如wtru 102)实现的用于分解应用程序(例如在运行时)的代表性方法的流程图。
[0253]
参考图9,代表性方法900可包括:在框910处,eud/wtru 310/102或用于执行应用程序的任何其他设备收集与eud/wtru 310/102上的应用程序的一个或多个本地执行相关联的本地配置文件信息。在框920处,eud/wtru 310/102可从远程实体380接收与多个外部实体320/102对应用程序的远程执行相关联的远程配置文件信息。在框930处,eud/wtru 310/102可使用所收集的和所接收的配置文件信息来确定一个或多个微服务模式,以在运行时将应用程序的全部或部分分解为一个或多个微服务模式。在框940处,eud/wtru 310/102可在运行时将应用程序分割为:(1)要由eud/wtru 310/102执行的应用程序的本地执行部分和(2)所确定的微服务模式。例如,所确定的微服务模式中的每一者可由eud/wtru 310/102本地执行,或者由多个外部实体320/102中的一个外部实体远程执行。例如,外部实体320/102可以是另一设备和/或网络实体/功能等。
[0254]
在某些代表性实施方案中,分割可包括:将应用程序代码的一部分改变为与所确定的微服务模式相关联的微服务改变的应用程序代码,以使得能够由外部实体320/102中的至少一个外部实体执行。
[0255]
在某些代表性实施方案中,eud/wtru 310/102可执行:(1)应用程序的本地执行部分以及(2)与要本地执行的所确定的微服务模式中的每一者相关联的微服务改变的应用程序代码,并且/或者可发送与要远程执行的所确定的微服务模式中的每一者相关联的微服务改变的应用程序代码(例如,发送到微服务提供商和/或外部实体310/102)。
[0256]
在某些代表性实施方案中,eud/wtru 310/102可使用内部接口360(例如,pci或其他接口)发送与要由本地实例本地执行的所确定的微服务模式中的每一者相关联的微服务改变的应用程序代码。
[0257]
在某些代表性实施方案中,eud/wtru 310/102可经由外部接口370发送与要远程执行的所确定的微服务模式中的每一者相关联的微服务改变的应用程序代码。
[0258]
在某些代表性实施方案中,远程配置文件信息可包括分割信息,该分割信息指示由多个外部实体320/102中的一个或多个外部实体使用的分割应用程序的执行边界。
[0259]
在某些代表性实施方案中,确定一个或多个微服务模式以在运行时将应用程序分解为一个或多个微服务模式可包括至少基于本地配置文件信息和分割信息选择用于分解的一个或多个微服务模式。
[0260]
在某些代表性实施方案中,对于每个相应的确定的微服务模式,eud/wtru 310/102可选择:eud/wtru 102和多个外部实体320/102中的任一外部实体,以基于所收集的和所接收的配置文件信息执行与相应的确定的微服务模式相关联的微服务改变的应用程序代码。例如,在选择由eud/wtru 310/102执行的第一微服务改变的应用程序代码的条件下,eud/wtru 310/102可在eud/wtru 310/102上管理第一微服务改变的应用程序代码的执行。
作为另一示例,在选择由第一外部实体执行的第一微服务改变的应用程序代码的条件下,eud/wtru 310/102可管理与第一外部实体的接口,以在第一外部实体上执行第一微服务改变的应用程序代码。
[0261]
在某些代表性实施方案中,远程配置文件信息可包括以下信息中的任一者:(1)与执行与微服务模式相关联的微服务改变的应用程序代码的装载能力相关联的信息;或(2)与相应的微服务模式的重要性和/或优先级相关联的每个相应的微服务模式的总有用性值。
[0262]
在某些代表性实施方案中,一个或多个微服务模式的确定可包括根据所收集的配置文件信息和所接收的远程配置文件信息检测应用程序的一个或多个执行边界。
[0263]
在某些代表性实施方案中,eud/wtru 310/102可根据本体将第一组微小服务集群成第一微服务模式,并将第二组微小服务集群成第二微服务模式。
[0264]
在某些代表性实施方案中,应用程序的分割可包括在运行时使用一个或多个包装类别分割第一微服务模式和第二微服务模式。
[0265]
在某些代表性实施方案中,eud/wtru 310/102可向另一实体320/102发送所收集的关于eud/wtru 310/102上的应用程序的本地执行的配置文件信息。
[0266]
在某些代表性实施方案中,eud/wtru 310/102可使用包装类别和http协议,在分割的应用程序的本地执行部分和与在第一外部实体320/102上执行的第一微服务模式相关联的相应微服务之间与第一外部实体320/102通信。
[0267]
在某些代表性实施方案中,将第一组微小服务集群成第一微服务模式可包括:(1)例如通过mce 230接收与第一组微小服务相关联的信息;和/或(2)根据基于层次的本体将第一组微小服务集群成第一微服务模式和第二微服务模式。
[0268]
在某些代表性实施方案中,eud/wtru 310/102可为第一微服务模式和第二微服务模式中的每一者确定有用性值,eud/wtru 310/102可基于第一微服务模式的所确定的有用性值选择至少第一微服务模式,并且/或者eud/wtru 310/102可呈现所选择的微服务模式用于分割。
[0269]
在某些代表性实施方案中,第一微服务模式的选择可包括在第一微服务模式的所确定的有用性值高于阈值的条件下选择第一微服务模式。
[0270]
在某些代表性实施方案中,eud/wtru 310/102可检测应用程序的执行边界。eud/wtru 310/102可围绕或根据所检测的执行边界定义一个或多个微服务模式。
[0271]
在某些代表性实施方案中,eud/wtru 310/102可通过在一个或多个微服务模式中识别的一个或多个微服务(例如,具有所识别的执行边界的应用程序代码)周围添加包装类别来改变应用程序,并且/或者可在多个外部实体320/102的子集上管理所识别的一个或多个微服务的执行。
[0272]
在某些代表性实施方案中,eud/wtru 310/102可从配置文件信息生成一个或多个有向无环图,并且可使用一个或多个有向无环图来确定一个或多个微服务模式。
[0273]
在某些代表性实施方案中,应用程序的分割可包括:基于所收集的和所接收的配置文件信息和卸载规则,选择与一个或多个微服务模式相关联的执行/分割边界。
[0274]
在某些代表性实施方案中,eud/wtru 310/102可从eud 310/102、用于执行的第一外部实体320/102或第二外部实体320/102中选择,作为所确定的第一微服务模式的所选择
的实体。eud/wtru 310/102可从eud 310/102、用于执行的第一外部实体320/102或第二外部实体320/102中选择,作为所确定的第二微服务模式的所选择的实体。例如,eud/wtru 310/102可管理与所确定的第一微服务模式相关联的微服务改变的应用程序代码在所确定的第一微服务模式的所选择的实体上的执行;并且可管理与所确定的第二微服务模式相关联的微服务改变的应用程序代码在所确定的第二微服务模式的所选择的实体上的执行。
[0275]
图10是示出由分析器210实现的代表性方法的流程图。
[0276]
参考图10,代表性方法1000可包括:在框1010处,分析器210收集应用程序330的本地执行的本地配置文件信息。在框1020处,分析器210可将所收集的信息发送到远程存储实体(任何远程eud、远程wtru或网络实体)。在框1030处,分析器210可从远程存储实体接收与微服务模式的远程执行相关联的远程配置文件信息,该微服务模式与应用程序330相关联。在框1040处,分析器210可在运行时为应用程序330确定组合的本地和远程配置文件信息,包括所识别的应用程序的执行边界。在框1050处,分析器210可向分割器240提供用于在运行时对应用程序330进行分割的组合的配置文件信息。例如,组合的本地和远程配置文件信息的确定可包括基于以下任一项来确定组合本地和远程配置文件信息:(1)本地配置文件信息的有用性;(2)远程配置文件信息的有用性;或(3)远程配置文件信息的优先级或相对优先级。
[0277]
图11是示出由集中式数据库或网络实体实现的代表性方法的流程图。
[0278]
参考图11,代表性方法1100可包括:在框1110处,集中式数据库/网络实体(cd/ne)380从多个eud 310/320/102接收与和应用程序相关联的微服务模式的远程执行相关联的配置文件信息,并且包括(1)每个相应eud 310/320/102的标识符,以及指示每个相应eud 310/320/102的装载能力的装载能力信息。在1120处,cn/ne 360可从请求eud 310/320/102接收对与应用程序330相关联的一个或多个微服务的请求。在1130处,cn/ne 360可从该请求确定与一个或多个微服务相关联的配置文件信息。在1140处,cn/ne 360可向请求eud 310/320/102发送响应,该响应包括与一个或多个微服务相关联的所确定的配置文件信息。在某些示例中,远程配置文件信息可包括信息,该信息包括与用于远程执行的微服务模式相关联的微服务的一个或多个标识符。
[0279]
图12是示出由pspg 220实现的代表性方法的流程图。
[0280]
参考图12,代表性方法1200可包括:在框1210处,接收与要在识别执行/分割边界的eud 310/320/102上执行的应用程序330有关的配置文件信息。在框1220处,pspg可在运行时沿着应用程序330的所识别的执行/分割边界为应用程序生成微小服务模式。在框1230处,pspg可提供所生成的微小服务模式,用于集群成微服务模式。
[0281]
根据代表性实施方案的用于处理数据的系统和方法可由执行包含在存储器设备中的指令序列的一个或多个处理器执行。此类指令可从其他计算机可读介质诸如辅助数据存储设备读取到存储器设备中。包含在存储器设备中的指令序列的执行致使处理器例如如上所述进行操作。在另选实施方案中,可使用硬接线电路来代替软件指令或硬接线电路可与软件指令组合以实现本发明。此类软件可远程地在容纳在机器人辅助/装置(raa)和/或另一个移动设备内的处理器上运行。在后一种情况下,数据可以通过有线或无线方式在包含传感器的raa或其他移动设备与包含运行软件的处理器的远程设备之间传输,该软件执行如上所述的比例估计和补偿。根据其他代表性实施方案,上述关于定位的一些处理可以
在包含传感器/相机的设备中执行,而处理的剩余部分可以在从包含传感器/相机的设备接收到部分处理的数据之后在第二设备中执行。
[0282]
尽管上文以特定组合描述了特征和元件,但是本领域的普通技术人员将理解,每个特征或元件可单独使用或以与其他特征和元件的任何组合来使用。另外,本文所述的方法可在结合于计算机可读介质中以供计算机或处理器执行的计算机程序、软件或固件中实现。非暂态计算机可读存储介质的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、寄存器、高速缓存存储器、半导体存储器设备、磁介质(诸如内置硬盘和可移动磁盘)、磁光介质和光介质(诸如cd-rom磁盘和数字通用光盘(dvd))。与软件相关联的处理器可用于实现用于wtru、ue、终端、基站、rnc或任何主计算机的射频收发器。
[0283]
此外,在上述实施方案中,指出了处理平台、计算系统、控制器和包含处理器的其他设备。这些设备可包含至少一个中央处理单元(“cpu”)和存储器。根据计算机编程领域的技术人员的实践,对动作和操作或指令的符号表示的引用可由各种cpu和存储器执行。此类动作和操作或指令可被认为是正在“执行的”、“计算机执行的”或“cpu执行的”。
[0284]
本领域的普通技术人员将会知道,动作和符号表示的操作或指令包括cpu对电信号的操纵。电系统表示数据位,这些数据位可导致电信号的最终变换或电信号的减少以及对在存储器系统中的存储器位置处的数据位的保持,从而重新配置或以其他方式改变cpu的操作以及进行信号的其他处理。保持数据位的存储器位置是具有与数据位对应或表示数据位的特定电属性、磁属性、光学属性或有机属性的物理位置。应当理解,代表性实施方案不限于上述平台或cpu,并且其他平台和cpu也可支持所提供的方法。
[0285]
数据位还可保持在计算机可读介质上,该计算机可读介质包括磁盘、光盘和cpu可读的任何其他易失性(例如,随机存取存储器(“ram”))或非易失性(例如,只读存储器(“rom”))海量存储系统。计算机可读介质可包括协作或互连的计算机可读介质,该协作或互连的计算机可读介质唯一地存在于处理系统上或者分布在多个互连的处理系统中,该多个互连的处理系统相对于该处理系统可以是本地的或远程的。应当理解,代表性实施方案不限于上述存储器,并且其他平台和存储器也可支持所述的方法。应当理解,代表性实施方案不限于上述平台或cpu,并且其他平台和cpu也可支持所提供的方法。
[0286]
在例示性实施方案中,本文所述的操作、过程等中的任一者可实现为存储在计算机可读介质上的计算机可读指令。计算机可读指令可由移动单元、网络元件和/或任何其他计算设备的处理器执行。
[0287]
在系统的各方面的硬件具体实施和软件具体实施之间几乎没有区别。硬件或软件的使用通常是(但不总是,因为在某些上下文中,硬件和软件之间的选择可能会变得很重要)表示在成本与效率之间权衡的设计选择。可存在可实现本文所述的过程和/或系统和/或其他技术的各种媒介(例如,硬件、软件和/或固件),并且优选的媒介可随部署过程和/或系统和/或其他技术的上下文而变化。例如,如果实施者确定速度和准确度最重要,则实施者可选择主要为硬件和/或固件的媒介。如果灵活性最重要,则实施者可选择主要为软件的具体实施。另选地,实施者可选择硬件、软件和/或固件的一些组合。
[0288]
上述详细描述已经通过使用框图、流程图和/或示例列出了设备和/或过程的各种实施方案。在此类框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域的技术人员应当理解,此类框图、流程图或示例内的每个功能和/或操作可单独地和/或共
同地由广泛范围的硬件、软件、固件或几乎它们的任何组合来实现。合适的处理器包括(以举例的方式示出)通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、专用标准产品(assp)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)和/或状态机。
[0289]
本公开并不限于就本专利申请中所述的具体实施方案而言,这些具体实施方案旨在作为各个方面的例证。在不脱离本发明的实质和范围的前提下可进行许多修改和变型,因其对于本领域的技术人员而言将是显而易见的。除非明确如此提供,否则本技术说明书中使用的任何元件、动作或说明均不应理解为对本发明至关重要或必要。根据前面的描述,除了本文列举的那些之外,在本公开的范围内的功能上等同的方法和装置对于本领域的技术人员而言将是显而易见的。此类修改和变型旨在落入所附权利要求书的范围内。本公开仅受限于所附权利要求的条款以及此类享有权利的权利要求的等同形式的全部范围。应当理解,本公开不限于特定的方法或系统。
[0290]
还应当理解,本文所用的术语仅用于描述具体实施方案的目的,并非旨在进行限制。如本文所用,当在本文中提及时,术语“站”及其缩写“sta”、“用户装备”及其缩写“ue”可意指:(i)无线发射和/或接收单元(wtru),诸如下文所述;(ii)wtru的若干实施方案中的任一个实施方案,诸如下文所述;(iii)具有无线功能和/或具有有线功能(例如,可拴系)的设备配置有(特别是)wtru的一些或全部结构和功能,诸如下文所述;(iii)具有无线功能和/或具有有线功能的设备配置有少于wtru的全部结构和功能的结构和功能,诸如下文所述;或(iv)等。下文相对于图1a至图1d提供了可表示本文所述的任何ue的示例性wtru的细节。
[0291]
在某些代表性实施方案中,本文所述主题的若干部分可经由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)和/或其他集成格式来实现。然而,本领域的技术人员将认识到,本文所公开的实施方案的一些方面整体或部分地可等效地在集成电路中实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,在一个或多个微处理器上运行的一个或多个程序)、固件或几乎它们的任何组合,并且根据本公开,设计电路和/或写入软件和/或固件的代码将完全在本领域技术人员的技术范围内。另外,本领域的技术人员将会知道,本文所述主题的机制可以多种形式作为程序产品分布,并且本文所述主题的例示性实施方案适用,而不管用于实际执行该分布的信号承载介质的具体类型如何。信号承载介质的示例包括但不限于以下各项:可记录类型介质(诸如软盘、硬盘驱动器、cd、dvd、数字磁带、计算机存储器等);和传输类型介质(诸如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等))。
[0292]
本文所述的主题有时示出了包含在不同的其他部件内或与不同的其他部件连接的不同的部件。应当理解,此类描绘的架构仅仅是示例,并且事实上可实现达成相同功能的许多其他架构。在概念意义上,达成相同功能的部件的任何布置是有效“相关联的”,使得可实现期望的功能。因此,本文组合以达成特定功能的任何两个部件可被视为彼此“相关联”,使得实现期望的功能,而与架构或中间部件无关。同样,如此相关联的任何两个部件也可被视为彼此“可操作地连接”或“可操作地耦合”以实现期望的功能,并且能够如此相关联的任何两个部件也可被视为“可操作地可耦合”于彼此以实现期望的功能。可操作地可耦合的具
体示例包括但不限于可物理配合和/或物理交互的部件和/或可无线交互和/或无线交互的部件和/或逻辑交互和/或可逻辑交互的部件。
[0293]
关于本文使用的基本上任何复数和/或单数术语,本领域的技术人员可根据上下文和/或应用适当地从复数转换成单数和/或从单数转换成复数。为清楚起见,本文可明确地列出了各种单数/复数排列。
[0294]
本领域的技术人员应当理解,一般来讲,本文尤其是所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放式”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“具有至少”,术语“包含”应解释为“包含但不限于”等)。本领域的技术人员还应当理解,如果意图说明特定数量的引入的权利要求叙述对象,则此类意图将在权利要求中明确叙述,并且在不存在此类叙述对象的情况下,不存在此类意图。例如,在预期仅一个项目的情况下,可使用术语“单个”或类似的语言。为了有助于理解,以下所附权利要求和/或本文的描述可包含使用引导短语“至少一个”和“一个或多个”来引入权利要求叙述对象。然而,此类短语的使用不应理解为暗示通过不定冠词“一个”或“一种”将包含此类引入的权利要求叙述对象的任何特定权利要求限制为包含仅一个此类叙述对象的实施方案来引入权利要求叙述对象。即使当同一权利要求包括引导短语“一个或多个”或“至少一个”和不定冠词诸如“一个”或“一种”(例如,“一个”和/或“一种”应解释为意指“至少一个”或“一个或多个”)时,也是如此。这同样适用于使用用于引入权利要求叙述对象的定冠词。另外,即使明确叙述了特定数量的引入的权利要求叙述对象,本领域的技术人员也将认识到,此类叙述应解释为意指至少所述的数量(例如,在没有其他修饰语的情况下,对“两个叙述对象”的裸叙述意指至少两个叙述对象、或者两个或更多个叙述对象)。另外,在使用类似于“a、b和c等中的至少一者”的惯例的那些实例中,一般来讲,此类构造的含义是本领域的技术人员将理解该惯例(例如,“具有a、b和c中的至少一者的系统”将包括但不限于单独具有a、单独具有b、单独具有c、同时具有a和b、同时具有a和c、同时具有b和c和/或同时具有a、b和c等的系统)。在使用类似于“a、b或c等中的至少一者”的惯例的那些实例中,一般来讲,此类构造的含义是本领域的技术人员将理解该惯例(例如,“具有a、b或c中的至少一者的系统”将包括但不限于单独具有a、单独具有b、单独具有c、同时具有a和b、同时具有a和c、同时具有b和c和/或同时具有a、b和c等的系统)。本领域的技术人员还应当理解,事实上,无论在说明书、权利要求书还是附图中,呈现两个或更多个另选术语的任何分离的词语和/或短语都应当理解为设想包括术语中的一个术语、术语中的任一个术语或这两个术语的可能性。例如,短语“a或b”将被理解为包括“a”或“b”或“a和b”的可能性。另外,如本文所用,后面跟着列出多个项目和/或多个项目类别的术语
“…
中的任一个”旨在包括单独的或与其他项目和/或其他项目类别结合的项目和/或项目类别“中的任一个”、“的任何组合”、“的任何倍数”和/或“的倍数的任何组合”。此外,如本文所用,术语“组”或“群组”旨在包括任何数量的项目,包括零。另外,如本文所用,术语“数量”旨在包括任何数量,包括零。
[0295]
另外,在根据马库什群组描述本公开的特征或方面的情况下,由此本领域的技术人员将认识到,也根据马库什群组的任何单独的成员或成员的子群组来描述本公开。
[0296]
如本领域的技术人员将理解的,出于任何和所有目的(诸如就提供书面描述而言),本文所公开的所有范围还涵盖任何和所有可能的子范围以及它们的子范围的组合。任何列出的范围均可容易地被识别为充分地描述并且使得相同的范围能够被划分成至少相
等的两半、三分之一、四分之一、五分之一、十分之一等。作为非限制性示例,本文所讨论的每个范围可容易地被划分成下三分之一、中三分之一和上三分之一等。如本领域的技术人员还将理解的,诸如“最多至”、“至少”、“大于”、“小于”等的所有语言包括所引用的数字并且是指随后可被划分为如上所述的子范围的范围。最后,如本领域的技术人员将理解的,范围包括每个单独的数字。因此,例如具有1至3个单元的群组是指具有1、2或3个单元的群组。类似地,具有1至5个单元的群组是指具有1、2、3、4或5个单元的群组等。
[0297]
此外,除非另有说明,否则权利要求书不应被理解为受限于所提供的顺序或元件。另外,在任何权利要求中使用术语“用于

的装置”旨在调用35 u.s.c.
§
112,6或装置加功能的权利要求格式,并且没有术语“用于

的装置”的任何权利要求并非意在如此。
[0298]
与软件相关联的处理器可用于实现射频收发器在无线发射接收单元(wtru)、用户设备(ue)、终端、基站、移动性管理实体(mme)或演进分组核心(epc)或任何主机中的使用。wtru可与模块结合使用,可在包括以下部件的硬件和/或软件中实现:软件无线电(sdr)和其他部件,诸如相机、视频相机模块、可视电话、扬声电话、振动设备、扬声器、麦克风、电视收发器、免提头戴式耳机、键盘、模块、调频(fm)无线电单元、近场通信(nfc)模块、液晶显示器(lcd)显示单元、有机发光二极管(oled)显示单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器和/或任何无线局域网(wlan)或超宽带(uwb)模块。
[0299]
在整个公开内容中,技术人员应当理解,某些代表性实施方案可以替代形式使用或与其他代表性实施方案组合使用。
[0300]
另外,本文所述的方法可在并入计算机可读存储介质中的计算机程序、软件或固件中实现,作为计算机或处理器执行上述动作的指令。非暂态计算机可读存储介质的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、寄存器、高速缓存存储器、半导体存储器设备、磁介质(诸如内置硬盘和可移动磁盘)、磁光介质和光介质(诸如cd-rom磁盘和数字通用光盘(dvd))。与软件相关联的处理器可用于实现用于wtru、ue、终端、基站、rnc或任何主计算机的射频收发器。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献