CN1599362A - 元空间:部分连接的移动特定网络的通信中间件 - Google Patents

元空间:部分连接的移动特定网络的通信中间件 Download PDF

Info

Publication number
CN1599362A
CN1599362A CNA2004100903141A CN200410090314A CN1599362A CN 1599362 A CN1599362 A CN 1599362A CN A2004100903141 A CNA2004100903141 A CN A2004100903141A CN 200410090314 A CN200410090314 A CN 200410090314A CN 1599362 A CN1599362 A CN 1599362A
Authority
CN
China
Prior art keywords
message
space
communication space
metadata
middleware
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
Application number
CNA2004100903141A
Other languages
English (en)
Other versions
CN1599362B (zh
Inventor
谭焜
张黔
朱文武
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN1599362A publication Critical patent/CN1599362A/zh
Application granted granted Critical
Publication of CN1599362B publication Critical patent/CN1599362B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/56Provisioning of proxy services
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本系统提供的中间件通信空间,为部分连接的移动特定网络提供异步信息传送服务。本发明的实施例采用移动设备来桥接分离的网络岛,并存储和复制消息。本系统和软件结构支持信息缓冲,传送和路由选择的方法。更确切的说,实施例提供了将通信空间概念扩展到分布式环境,并将其与象SOAP和WS数列协议的标准网络服务技术结合的系统和方法。网络空间提供了网络服务到移动特定网络的扩展,并提供了异步信息缓冲,传送和路由选择。

Description

元空间:部分连接的移动特定网络的通信中间件
技术领域
本发明总体上涉及网络化计算机系统,更具体的说,涉及用于部分连接移动特定计算机网络的通信中间件。
背景技术
分布式应用能提高效率,因此对于计算机网络的未来是很重要的。当前分布式系统或者采用高性能服务器或者高性能网络连接。因为整个特定网络能力受限,所以协调分布式应用对特定无线系统是有问题的。分布式应用对协调诸如手机、个人数字助理(PDA)和便携式电脑之类的小型、所谓“智能设备”是特别有问题的,这些“智能设备”例如可以与传感器、控制器和其他环境对象相互作用。例如,这些设备和对象的连接可以是蓝牙或IEEE80.2.11。能量限制、广播覆盖、合作节点的地理分布经常阻止特定节点的端到端路径。一般来说,特定路由方法采用连接通信节点的端到端路径,并集中于定位现存路径,例如一系列连接合作设备的中间节点。例如需要实时通信的许多应用需要充分连接的路径以及时的方式传递连续的包。其它的应用不需要充分连接的路径,而存在于具有最后信息传送的高度分割的网络中。这些应用包括个人数据/信息管理,新闻信息传播和个人信息传送。这些应用只需要异步信息传送服务。已知方法证明,如果没有路径,通信将会失败。
特定网络协调分布式应用的当前方法会得益于避免使用通信节点的端到端路径。
发明内容
因此,被称为元数据空间(元空间)的用于提供通信中间件的系统设计为为部分连接的移动特定网络提供异步信息传送服务。本发明的实施例采用移动设备来桥接网络中分离的岛。这些移动设备象存储和传播消息的传送器一样工作。
一个实施例提供用于支持信息缓冲、传送和路由选择的方法的系统和软件结构。更确切的说,实施例提供了将通信空间概念扩展到分布式环境并将其与诸如SOAP和网络服务(WS)序列协议之类的标准网络服务技术相结合的方法和系统。被称为元空间的通信空间提供了网络服务到移动特定网络的扩展。另一个实施例提供了用于提供异步消息缓冲、传送和路由选择的方法。
本发明的其它特征和优点将通过下述实施例的详细描述和相应的附图变的更加清楚。
附图说明
虽然所附的权利要求阐述了本发明的特点,但是,本发明的目的和优点将通过以下的详细描述和相应的附图更好理解。
图1是是一个框图,总体示出了本发明的示范性计算机系统。
图2是依据本发明实施例,通信空间中虚拟数据缓冲器的框图。
图3是依据本发明实施例,中间件环境、元空间的框图。
图4是依据本发明实施例,例示关于二进制对象的SOAP消息的框图。
图5是一个流程图,其示出了用于执行本发明移动装置的方法。
图6是依据本发明实施例,确定对等物互相作用的图。
图7是依据本发明实施例,例示对等物互相作用的框图。
图8是例示依据本发明实施例的方法的流程图。
图9是一个框图,示出了根据本发明实施例在部分连接拓扑中互相连接的节点和其中的信息路由。
图10是依据本发明实施例,例示在部分连接网络中确定消息路径估计方法的流程图。
图11是依据本发明实施例,例示用于设备确定有效路径长度的方法的流程图。
具体实施方式
转到附图,其中,相同的标记数字用以指代相同的元素。本发明被例示为在合适的计算环境中实施。虽然不需要,本发明将在计算机可执行指令的一般范围内描述,例如,在被个人计算机执行的程序模块中。一般来说,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。而且,熟知本领域的人士会理解本发明可以在其它计算机系统配置中实现,包括手持式设备、多处理器系统、基于微处理器的或可编程的用户电子设备、网络PC、微型计算机、大型计算机等。本发明也可在分布式计算环境中实施,其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块会位于本地和远程存储设备两者中。
图1例示了在其中执行本发明的合适计算系统环境100的例子。计算系统环境100仅仅是合适的计算环境的一个例子,不应该是本发明的用途或功能范围的限制。计算环境100也不应理解为对示范性操作环境100中示出的组件或组件的组合具有任何依赖或需求。
本发明可在许多其它通用或专用计算系统环境或配置中工作。对本发明的使用合适的已知计算系统、环境和/或配置的实例包括(但不局限于):个人计算机、服务器计算机、手持式或膝上型设备、输入板设备、多处理器设备、基于微处理器的系统,机顶盒、可编程用户电子设备、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境,等等。
本发明在计算机可执行指令的一般范围内描述,例如,被计算机执行的程序模块。一般来说,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可在分布式计算环境中实施,其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块也许会位于包括存储器存储设备的本地和/或远程计算机存储媒介中。
参看图1,执行本发明的示例性系统包括以计算机110的形式出现的通用计算设备。计算机110的组件包括,但不局限于,处理单元120,系统存储器130,连接各种系统组件,包括将系统存储器连接到处理设备120的系统总线121。该系统总线121可以是包括使用任何总线结构的存储器总线或存储控制器,外围总线和局部总线的任何类型的总线结构。作为实例,但不是限定,这种结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,改进的ISA(EISA)总线,视频电子标准协会(VESA)局部总线和也被称为中间总线的外设部件互连(PCI)总线。
计算机110典型包括大量的计算机可读媒介。计算机可读媒介可以是被计算机110访问的任何媒介,既包括易失的和非易失的媒介,也包括可移除和不可移除的媒介。作为实例,但不是限定,计算机可读媒介包括计算机存储媒介和通信媒介。计算机存储媒介包括易失和非易失、可移除和不可移除的媒介,该媒介以任何方法或技术存储如计算机可读指令、数据结构、程序模块或其它数据之类的信息。计算机存储媒介包括,但不局限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化视频光盘(DVD)或其它光学磁盘存储器、磁带盒、磁带机、磁盘存储器或其它磁性存储器设备、或可存储所需信息并可被计算机110访问的任何媒介。通信媒介典型包括计算机可读指令、数据结构、程序模块或如载波或其它传输机制之类的模块化数据信号中的其它数据,并包含任何信息传送媒介。术语“模块化数据信号”指的有一或多个其属性集或在信号中以如此方式改变来编码信号。作为实例,但不是限定,通信媒介包括如有线网络或定向连接之类的有线媒介,以及如声学的、RF、红外线和其它无线媒介之类的无线媒介。任何上述的组合也应该包含在计算机可读媒介的范围内。
系统存储器130包括如只读存储器(ROM)131和随机访问存储器(RAM)132之类的易失和/或非易失存储器。基本输入/输出系统133(BIOS)典型存储在ROM131中,该系统包含如开机之类的帮助在计算机110各元素间传送信息的基本例程。RAM132典型包括可以被处理单元120立即访问和/或正在操作的数据和/或程序模块。作为实例,但不是限定,图1例示了操作系统134、应用135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移除/不可移除、易失/非易失的计算机存储媒介。例如,作为示例,图1示出了从不可移除、非易失磁性媒介上读写的硬盘驱动器141,从可移除、非易失磁盘152上读写的磁盘驱动器151,和从诸如CD ROM或其它光学媒介之类的可移除、非易失光盘156上读写的光盘驱动器155。可在示范性操作环境中使用的其它可移除/不可移除、易失/非易失计算机存储媒介包括,但不局限于,盒式磁带机、闪存卡、数字通用盘、数字视频带、固态RAM、固态ROM以及其它。硬盘驱动器141典型地通过如接口140的不可移除存储器接口连接到系统总线121,并且磁盘驱动器151和光盘驱动器155典型地通过如接口150的可移除存储器接口连接到系统总线121。
上述讨论的和图1中示出的驱动器及其相联系的计算机存储媒介为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,图1中硬盘驱动器141被描述为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在图中给出了不同的数目,至少,他们是不同的副本。用户可以通过输入设备向计算机110中输入命令和信息,这些输入设备例如输入板、数字转换器164、麦克风163、键盘162和经常被称为鼠标、跟踪球或触摸板的指示装置161。其它的输入设备(未示出)包括游戏杆、游戏盘、圆盘式卫星电视天线、扫描仪等等。这些和其它输入设备经常通过和系统总线连接的用户输入接口160连接到处理单元120,并可能通过诸如并行口、游戏口或通用串行总线(USB)之类的其它接口和总线结构连接。监视器191或其它类型的显示设备也通过如视频接口190的接口连接到系统总线121。监视器191也会与触摸屏面板等相结合。注意监视器和/或触摸屏面板可以物理连接到与计算机设备110整合的外壳,例如写字板型个人计算机。此外,像计算设备110的计算机也包括诸如扬声器197或打印机196之类的其它外围输出设备,该设备通过输出外围接口194等连接。
计算机110可在网络化环境中工作,使用逻辑连接到如远程计算机180的一个或多个远程计算机。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,虽然在图1中只标出了存储设备181,但远程计算机180典型包括上述和计算机110相关的多个或所有元素。图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也能包括其它网络。这种网络环境常见于办公室、企业计算机网络、内部网和因特网。例如,在本发明中,计算机系统110包括源机器,从其中数据被迁出(migrate),并且远程计算机180还包括目标机。注意,虽然源机器和目标机不需要通过网络或其它方式连接,但是,数据会从被源机器写入和被目标平台读出的媒介中迁出。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN171。当在WAN网络环境中时,计算机110典型地包括调制解调器172或用于与WAN173建立连接的其他装置,例如因特网。调制解调器172可以是内部或外部的,通过用户输入接口160或其它合适的机制连接到系统总线121。在网络环境中,描绘的和计算机110相关的程序模块,或其一部分,存储在远程存储设备中。作为示例,但不是限定,图1中示出了远程应用程序185存储在存储器设备181中。图中显示的网络连接是示范性的,也可以使用在计算机间建立通信连接的其它方式。
在下述描述中,除非标明的以外,本发明将根据由一台或多台计算机执行的步骤和操作的符号表示进行描述。这些被计算机执行的操作和步骤包括由计算机的处理单元进行操作、以电信号结构化形式表示的数据。这一操作转化数据,或将其保持在计算机的存储器本地中,其以本领域技术人员能理解的方式重新配置或改变计算机的操作。保持数据的数据结构是存储器的物理地址,其中有数据格式定义的特定属性。虽然本发明在上述范围内描述,熟知本领域的人士会理解,下述的各种步骤和操作也能由硬件执行。
本发明的实施例是指覆盖多个平台和不同设备的移动特定网络的协调分布应用。参见图2,框图表示以下称为“元空间”的特定环境的中间件环境。元空间包括虚拟数据缓冲器202,该缓冲器能协调如应用204和206的分布式应用。图中的应用204将元数据208传送到虚拟数据缓冲器202,图中的应用206接收元数据210。元空间200为应用204和206提供虚拟共享通信缓冲器的概况,应用位于各种设备或节点上。元空间200的节点如节点212、214和216所示。
在一个实施例中,元空间200提供两种软件服务。一种服务提供位于不同设备或节点上应用间的异步信息通信服务,并不预先设想不同节点间的网络连接的存在。另一服务允许分布在不同节点的应用间数据共享。
不象已知的基于空间的系统,元空间200不依赖包含整个空间的高性能服务器,也不依赖连接不同节点的高性能基础设施网络。元空间200包含虚拟数据缓冲器202作为分布形式的共享缓冲器。因此,元空间200为数据存储、路由和传送提供了框架。元空间200可以象轻质中间件组件一样工作,该组件被设计为在象便携式PC和智能电话的资源限制性设备上运行。
在一个实施例中,元空间200基于象SOAP等标准XML网络服务技术。有利的是,标准XML网络服务技术促进元空间200的互用性和延长性。例如,通过采用相同的消息格式,应用通过元空间200可以激活因特网的网络服务。
参见图3,描述了元空间200的软件结构。更确切的是,图3描述了不同设备上2个元空间环境306(1-2)间的相互作用,并建立了如蓝牙的双向通信渠道。当包含元空间306(1-2)的设备处于相同环境时,将建立这样的对等通信渠道。在一个实施例中,包含元空间软件的设备在一个设备中有3个组件,包括元数据存储器312(1-2)、元空间代理310(1-2)和DLL代理3-8(1-2)。元数据存储器312被配置成层次结构的XML消息(SOAP)的容器。元空间代理310是元空间200的动态部分。元空间代理310负责通过元空间协议314与其它设备的相互作用。元空间协议314确保消息的最后发送。元空间代理310也可以配置以处理来自应用的操作请求,这些应用使用元空间200来传达和共享数据。请求细节会被应用屏蔽,例如通过DLL代理308(1-2)的应用302(1-2)。DLL代理308是连接库,并经过配置提供到用户应用的简洁应用接口(API)。
元数据存储器312象消息一样存储元数据,其可以配置成包装成简单对象访问协议(SOAP)消息的XML消息。元数据可以包括网络服务路径协议(WS-路径)数据以确定对扩展协议适合的路径消息和数据,该扩展协议用来描述元空间代理310正确处理消息的关键信息。在一个实施例中,扩展协议数据被配置成XML记录。
元空间200中存储的XML消息如表1所示:
                                    表1
<ENV:Envelop xmlns:ENV=”http://schemas.xmlsoap.org/soap/envelop/”ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/><ENV:Header><m:path xmlns:m=”http://schemas.xmlsoap.org/rp/”><m:action>metaspace://mymetaspace/homepc/update</m:action><m:to>metaspace://mymetaspace/homepc/</m:to><m:from>metaspace://mymetaspace/officepc/</m:from><m:rev><m:via/></m:rev><m:id>msid:84b9f31@officepc.mymetaspace</m:id></m:path><ms:msprop xmlns:ms=”http:∥www.metaspace.com/mp”actor=”metaspace://metaspace/agent”><ms:expiratetime>Mon Dec 23 11:49:55 2002</ms:expiratetime><ms:hopLimitation>3</ms:hopLimitation><ms:timestamp>Mon Dec 16 15:12:43 2002</ms:timestamp><ms:namespace>msns://root/common</ms:namespace><ms:adminDomainms:domaintype=”strict”>metaspace://mymetaspace/</ms:adminDomain><ms:priority>normal</ms:priority><ms:relateTo ms:relateship=”replace”>art-education@mymetaspace</ms:relateTo><ms:property ms:name=”author”>Rukiey</ms:property><ms:property ms:name=”version”>1.0</ms:property></ms:msprop></ENV:Header><ENV:Body><!-The message data specific to the application/></ENV:Body></ENV:Envelop>
在一个实施例中,元空间200通过增加新的头目录,在元空间名字空间下用msprop作标记来扩展SOAP格式。用于数据域的数据结构包括:
期满时间:以绝对时间的消息期满时间,数据在该点之后无效。
跳跃限制:可以传送消息的跳跃上限。在每次成功传输后,上限值减1。
时间标志:标志消息产生时间的时钟时间。
名字空间:确定放置消息的子空间。
管理区域:限制消息的区域。这一区域不同于名字空间区域,因为管理区域定义共享相同管理优先权的设备的物理限制,而名字空间是逻辑概念。该值对消息的多点传送和任意点传送特别有用。在这些情况下,消息复制被限制在特定的一组设备中,这样可以防止不必要的消息泄露。
联系:确定消息的相关主题。提供关系属性用以确定当两个消息关于同一个主题时,该如何操作。例如,“取代”意味着较新的消息将废弃较老的消息。
优先权:定义消息的优先权,例如:低、正常或高。
属性:该字段是应用的可延伸的方式以定义和消息相关的应用特定属性。元空间200可以经配置以支持通过属性基于内容的消息搜索。
参见图4,元空间200可以经配置以处理包括二进制数据的元数据。图4中的组合对象400经配置以处理二进制数据。二进制数据可以在将数据编码成ASC格式的XML中,如base64。然而,这一方法是要付出代价的。对象400示出了一种选择,其中,元空间200只存储XML消息中的索引,以及在其它地方以原始格式存储的二进制数据。图4中描述了SOAP消息部分406和二进制对象1 408。消息部分406和二进制对象1 408被分隔符412分割,二进制对象1 408被分隔符414(n)从其它的二进制对象中分割。SOAP消息406通过引用1 402指向二进制对象408,并通过引用n 404指向其它的二进制对象。
图4示出了可以通过在复合对象中使用内部引用和存储所有数据(XML消息和二进制数据)来减轻处理多个对象的负担,该复合对象可以映射到一个文件中。
参见图5,流程图描述了元空间200执行设备探索和邻机维护的方法。在一个实施例,元空间200使用URI来确定设备,并不限制使用任何特定的URI方案。而且,在一个实施例中,为确定接收者,元空间200使用metaspace://domain/device的方案。除此之外的方案被称为因特网主机。流程图500描述了一个设备基于收听/宣布协议发现邻机的方法。步骤510描述了每个设备广播标志信息到已知端口。步骤520描述了,收听到标志后,设备知道存在邻机。每个标志包含标明有效性时间期望值的字段。步骤530描述了,因为邻机信息被认为是软状态,设备在状态期满前更新状态。一个标志的普通结构如表2所示:
                                          表2
<env:Envelop xmlns:ENV=”http://schemas,xmlsoap.org/soap/envelop/”ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/><env:header xmlns:b=”http://www.metaspace.com/beacon”><b:deviceid>metaspace://domain/devicename</b:deviceid><b:ip>192.168.0.12</b:ip><b:port>2000</b:port><b:lease>60</b:lease><!--60s--><env:heaader></env:Envelop>
内部数据结构(散列图)被构造以维持在设备名称和在设备上运行的元空间代理310的通信地址之间的联系。
参见图6,流程图描述了当在元空间200的环境中两台设备互相相遇时,确定消息如何复制的传送协议。例如图3中的设备306,元空间200中的每台设备保持元数据312的存储。当传送消息到对等体时,只传送未知消息。为达到此目的,图6描述了双相传送协议。步骤610描述第一步,对等体交换信息并握手,步骤620描述在交换过程中递送消息。
现在参见图7,描述了传送协议的推模式。更确切的是,设备A 702首先通告输出名字空间Ns(A.exp)706到设备B 704。设备B 704计算设备A 702的输出名字空间和自己兴趣地带的交集,Ns(A.exp)Ns(B.int)708,然后将交集和设备B在相交的名字空间下知道的信息总合回复给设备A。在一个实施例,总和通过bloom过滤器构造。一旦接收到回复,设备A702开始消息传送进程。用总和710测试消息后,只传送设备B 704未知的那些。
象推模式一样,元空间200支持相应的拉模式。拉模式传送协议提供了图7所示模式的相反方面。这样,接收数据的设备从发送自己兴趣地带开始进程。
Bloom过滤器是用于运输流量测算的著名过滤器。在一个实施例中,假设总和矢量长度是m来配置元空间200合适的bloom过滤器。使H=(H1,H2,H3,H4)=MD5_Hash(msg_id)。每个Hi(I=1,2,3,4)是双字节。设置总和矢量中的位Ki=Hi mod m(i=1,2,3,4)。Bloom过滤器有一定假阳性的可能性(FPP)。因为Pfpp(1-e-(4n/m))4,FPP在一些情况下非常小。在元空间200环境中,因为错误的未传送消息会在下一次数据传送进程中传送,因此这种假阳性可能性对元数据的传送的影响并不大。
参见图8,是元空间200环境中消息路由选择的实施例。更确切的说,因为元空间200环境包括动态改变的连接拓扑,图8描述了为动态改变拓扑的消息路由选择方法。至今已提出过一些路由选择方法。例如Vahdat和Becker提出了移动设备中路由选择的方法,该移动设备提供每个节点为另外的节点分配存储器以存储消息.(A.Vahdat和D.Becker,“部分连接特定网络的流行路由选择”,2000;技术报告CS-200006,杜克大学,2000年4月。)当两个分离的节点相遇,执行流行的进程,其中两个节点交换消息,并容纳和传送相同的消息集。该方法使用注水算法,并假设确保最终消息传送的缓冲器大小和时间不受限制。Vahdat和Becker的方法和相似的方法都采用基于注水的算法,产生了占用缓冲存储器的不必要消息,因此,降低了传送率。
在元空间200环境中的发送消息的设备不知道目的地的确切地址。此外,发送消息的设备也不知道通往目的地的途径。根据图8所示的方法,在部分连接网络中的路由选择协议至少要做两个决定。第一,当两台设备相遇,需要决定传送哪些消息,第二,当设备中元数据存储器满时,需要决定删除哪些消息以为新到来消息腾出空间。在一个实施例中,局部作出这些决定。而且,根据本实施例的路由选择方法采用一定的移动特定网络的结构信息。
为确定网络的结构信息,图8中的步骤810记载获得高度分割网络的随机模型。基于模型,步骤820记载了一种度量方法,此后被称为期望路径长度,来评价传送消息的路径。步骤830记载了基于度量方法,获得确定最短期望路径的方法。
参见图9,描述了根据实施例的随机网络模型。在模型中分别显示了节点0-6,900-912。根据该模型,删除了零连接可能性的节点。连接节点5 910和节点6 912的实线代表永久网络连接。网络900可以由配置短程无线广播的节点的网络所代表。如果2个节点在同一区域,可以进行双向通信。假设每个节点有有限的存储器,每个节点可以经配置以传送M条消息。消息是在两个节点间交换的信息集。
假设图表G(V,E)是特定网络900的随机模型。V中的每个顶点代表N中的一个节点。对于E中的每条边ei,j,我们分配一个随机的权Pi,j,0Pi1,其代表两个节点间存在连接的可能性。如果Pi,j是0,节点i就不可能与节点j直接通信。如果Pi,j是1,在两个节点间存在永久连接。
参见图10,流程图记载了确定最短期望路径的方法。更确切的说,考虑一对节点<s,d>,其中,s是源节点,d是目标节点。步骤1010提供节点s在0时刻发送消息和d接收消息的可能性分布,由∏代表。如上所述,∏可以由随机网络模型的拓扑确定。步骤1020提供了用于定义作为d接收消息的期望时间从s到d的期望路径长度,如公式1所示:
E ( T ) = E path = &Sigma; t = 1 &infin; t &CenterDot; &Pi; ( t )
                             公式1
在元空间200,消息的多个拷贝会以多种途径发送。此后,具有最短期望路径长度的路径将被称为主要路径。步骤1030记载设置主要路径的期望路径长度作为Epath的上限。主要路径的期望路径长度将从公式2得出:
E path &ap; E primary = &Sigma; i &Element; P primary 1 p i
                             公式2
pI是主要路径上连接i的连接可能性。步骤1040使用Eprimary作为Epath的估计值。为确定估计值,首先通过确定两个节点间的主要路径,计算节点对<s,d>的期望路径长度。然后,在随机网络模型连接上权值pi被l/pi取代,然后执行已知的Dijkstra算法以计算Eprimary(s,d)Epath(s,d)。在一个实施例中,每个节点必须有随机网络模型的整个拓扑。拓扑的构造和维护类似于连接状态路径,像开放最短路径先服务(OSPF)协议,该协议在有发现从一节点到其它节点的最短路径这一共同目标的网络中的路由器间分布路由信息。
参见图11,流程图记载了确定最短期望路径的方法。该方法以上述的期望路径长度度量为基础。步骤1110记载设备元数据存储器312的每条消息被分配一个有效路径长度EPLm.步骤1120记载,当设备接收到新消息时,重新设置有效路径长度到无限大。步骤1130记载如果消息被传播到另一设备,将EPL更新为从目标设备到消息目的地的期望路径长度。在伪代码中,路径选择方法描述如下:
                               表3
 When device A connects to device BFor each message M that B is interested but unknown to B,doD=destination of MIf Epath(B,D)<min(Epath(A,D),EPLm(A)),thenTransfer M from A to BEPLm(A)=Epath(B,D)End ifEnd forWhen device A receives message M but the storage is fullM’=message in storage with minimum EPL,which is not infiniteIfM’is nil,thenM’=message in storage with maximum expected path lengthEnd ifReplace M’with M
该方法表明,如果将消息传送到目的地的可能性很小,将消息传播到设备是没有用处的;当为新消息清空存储器时,这些具有高概率传送的具有优先权。
元空间200包括代理DLL308中的应用,代理DLL桥接应用和元空间200中间件。在实施例中,有四类主要的功能,参见表4:
                    表4
∥Class 1:Initialization and DeinitializationBOOL Initialize   (DWORD dwReserved=0);BOOL Uninitialize (void);∥Class 2:Read/write on MetaSpaceBOOL Write  (CMetadata & Metadata);BOOL Take   (DWORD dwLocalMsgID,CMetadata & Metadata);BOOL Read   (DWORD dwLocalMsgID,CMetadata & Metadata);BOOL EnumMetadata  (DWORD & id,CMetadata & Metadata);∥Class 3:Event registrationDWORD Register  (HWND hWnd,CString & sAppPort);BOOL Unregister  (DWORD regID);∥Class4:Namespace operationBOOL SetInterests (CString & sInterest);BOOL SetExport    (CString & sInterest);BOOL EnumInterests(DWORD & id,CString & sInterest);BOOL EnumExports  (DWORD & id,CString & sExport);BOOL GetInterest  (DWORD id,CString & sInterest);BOOL GetExport    (DWORD id,CString & sExport);BOOL RemoveInterest  (DWORD id);BOOL RemoveExport    (DWORD id);
应用程序接口(API)进行的元空间基本操作包括写、读、列举和搜索。
写功能提供所有应用调用写(空间id,元数据)以将元数据插入到元空间环境。元数据可以封装成SOAP消息或类似类型的消息。每条消息被指定一个全局单一消息识别符。
读功能为两种形式功能提供应用在元空间中读元数据。第一种形式功能调用是take(msgid,元数据*元数据),其从元空间读出元数据并去除该数据。第二种形式的功能是read(msgid,元数据*元数据),其去除数据而不改变元数据。
列举和搜索功能提供通过调用enum_metadata(空间id,模板)列举存储在元空间的元数据,其返回应用可以使用的enum_info结构以读出所有被列举的元数据。模板提供可选择的标准,该标准定义要列举那些元数据。如果提供空值,函数返回所有当前存储的元数据。
API也涉及元空间事件注册。也就是说,提供API的注册和非注册。
注册功能提供应用可以注册处理机,例如,到达某设备的一定类型的消息被连接。注册系统调用是register(空间id,事件类型,模板,处理机)。模板确定了选择事件发生时间的过滤器。例如,当发生“收到消息”事件时,模板确认当从某人发送消息时,只调用该处理机。该函数调用的reg_id也可在非注册事件中使用。
非注册函数提供应用通过调用unregister(reg_id)系统调用去除注册前事件处理机。
元空间也提供至少3个名字空间操作API。子带产生和去除函数提供应用可在元空间中产生子空间。系统调用create(空间名)在当前元空间产生子空间。空间名用于唯一确定子空间。Remove(空间名)系统调用用于去除子空间。注意,这两个系统调用只提供给具有优先权的应用。
空间输出和输入函数允许应用设置那些子空间将与其它设备共享。应用调用set_interest(空间号)以接收来自子空间其它设备的消息。如果应用传送子空间中的消息到其它设备,应用会调用set_export(空间号)。
列举子空间功能提供元空间中的子空间可以通过调用enum_space(模板)函数来列举元空间中的子空间。模板确定和应用相关子空间列举的选择性标准,例如,在名为“my_family”子空间下的所有子空间,所有输出子空间,所有含有关键字“news”的子空间,等等。
根据本发明应用的许多实施例,这里所述的实施例和附图仅是举例,而不是本发明的限制。熟知本领域的人士会理解软件中的组件也可以由硬件执行,反之亦然。在不背离本发明精神的前提下,对实施例作出修改也属于本发明的范围之内。因此,本发明涵盖所有的改进和变化,只要这些改进和变化落在所附权利要求或其等价的范围之内。

Claims (18)

1.一种中间件通信空间,协调在部分连接的特定无线网络中一个或多个分布式应用,该中间件包括:
代理组件,配置为接收来自一个或多个分布式应用的数据;
连接代理组件的协议代理,该协议代理配置为在部分连接特定网络中管理元数据的传输,并管理消息的传输;
连接到代理组件和协议代理的元数据存储组件,元数据存储组件配置为存储根据一个或多个分布式应用能作为消息传输的元数据,在2个或多个部分连接的网络间提供桥接的中间件通信空间,允许消息的临时存储以在2台或多台设备间透明传送信息的桥路。
2.如权利要求1所述的中间件通信空间,其中消息是一或多条SOAP格式以及WS序列协议的格式。
3.如权利要求1所述的中间件通信空间,其中中间件存储组件有大量扩展标记语言(XML)的消息,消息是层次结构。
4.如权利要求1所述的中间件通信空间,其中元数据包括:定义路由数据的网络服务路由协议(WS路由)数据;对为协议代理提供处理信息的扩展协议合适的数据。
5.如权利要求1所述的中间件通信空间,其中中间件通信空间提供一或多种消息缓冲、转换和路由选择。
6.如权利要求1所述的中间件通信空间,其中消息被组织成大量数据字段,包括以下的至少一个或多个:
期满时间数据字段,以绝对时间确认消息的期限,以至,在确认时间之后,数据无效;
跳跃限制数据字段,提供可以传送消息的跳跃上限。在每次成功传输后,上限值减1;
时间标志数据字段,提供标志消息产生时间的绝对时间;
名字空间数据字段,确定放置消息的子空间;
管理区域数据字段,确认限制消息的区域,管理区域数据字段定义共享相同管理优先权的设备的物理限制;
联系数据字段,确定消息的相关主题,提供关系属性用以确定当两个消息关于同一个主题时,该如何操作;
优先权数据字段,定义消息的优先权;
属性数据字段,为分布式应用提供可扩展组件以定义消息的应用特定消息,元空间200可以经配置以通过属性支持基于内容的消息搜索。
7.如权利要求6所述的中间件通信空间,其中消息被组织为至少3个数据字段。
8.如权利要求6所述的中间件通信空间,其中消息被组织为至少6个数据字段。
9.一种在分布式应用和中间件组件之间的通信方法,该方法包括:
开始具有长度的调用,该调用确认消息标识符和元数据,从中间件组件中去除元数据;
异步接收来自中间件组件的元数据,该接收通过位于一或多台移动设备的虚拟共享通信缓冲器进行,并独立于在移动设备和分布应用之间的网络连接。
10.一种嵌入在一种或多种计算机可读媒介上的层次应用程序接口(API),该应用程序接口包括:
第一组关于中间件通信空间操作的API;
第二组关于事件注册的API;
第三组关于名字空间操作的API,使中间件通信空间的基本操作与环境中操作安全性分离的层次API,该环境允许使用移动设备在不相连网络间消息传送,移动设备独立于同时连接到不相连的网络。
11.如权利要求10所述的层次API,其中第一组API包括:
写功能,为分布式应用提供调用写使元数据插入到中间件通信空间中;
读功能,配置为从中间件通信空间读出元数据并去除数据,去除数据并不改变元数据;
列举和搜索功能,经配置根据所选标准的模板列举元数据。
12.如权利要求10所述的层次API,其中第二组API包括:
API通过注册函数进行注册或不注册,注册函数经配置以按照模板注册一个或多个事件的处理机,其中该模板经配置按照事件类型过滤。
13.如权利要求10所述的层次API,其中第三组API是名字空间操作API,包括:
空间输出和输入功能,以配置与其它设备共享的那个(子)空间;
列举子空间功能,按照模板列举的中间件通信空间中的子空间,该模板确定和分布应用相关的子空间的所选标准
14.一种计算机可读媒介,包括:
响应于来自组件的调用执行功能的可执行代码,该功能包括:
代表组件可能执行的操作的一或多个操作参数,该组件经配置以影响中间件通信空间;
代表事件注册的一或多个事件参数,该事件相关于中间件通信空间;以及
代表中间件通信空间中操作安全性的一或多个名字空间参数;以及
接收操作参数、事件参数和名字空间参数的可执行代码,并提供使移动设备在不相连网络间提供桥接功能的中间件通信空间,该网络对分布式应用是透明的。
15.一种使移动设备在动态改变拓扑中的两个或多个网络之间提供桥接功能的方法,该方法包括:
执行根据接听和宣布协议确定一或多个邻机的探索;
保持包括用于期望路径长度的存储的元数据存储;
为一或多个消息的接收选择邻机,该选择包括:导出动态改变拓扑的随机模型;
使用随机模型,根据期望路径长度评价传送消息的路径;
从被评价的路径使用中确定最短期望路径路由;以及
在网络间发送消息到另一设备以传播消息。
16.如权利要求15所述的方法,其中移动设备是拓扑中的节点,确定随机模型包括分配代表拓扑中两节点间连接可能性的权值。
17.其上包含有计算机可执行代码的计算机可读媒介,以执行步骤使移动设备执行动态改变拓扑中网络间的桥接功能,该步骤包括:
执行根据接听和宣布协议确定一或多个邻机的探索;
保持包括用于期望路径长度的存储的元数据存储;
为一或多个消息的接收选择邻机,该选择包括:导出动态改变拓扑的随机模型;
使用随机模型,根据期望路径长度评价传送消息的路径;
从被评价的路径使用中确定最短期望路径路由;以及
在网络间发送消息到另一设备以传播消息。
18.如权利要求17所述的计算机可读媒介,其中移动设备是拓扑中的节点,确定随机模型包括分配代表拓扑中两节点间连接可能性的权值。
CN2004100903141A 2003-09-17 2004-09-17 元空间:部分连接的移动特定网络的通信中间件 Expired - Fee Related CN1599362B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/664,354 US7523220B2 (en) 2003-09-17 2003-09-17 Metaspace: communication middleware for partially connected mobile ad hoc networks
US10/664,354 2003-09-17

Publications (2)

Publication Number Publication Date
CN1599362A true CN1599362A (zh) 2005-03-23
CN1599362B CN1599362B (zh) 2010-04-28

Family

ID=34194747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100903141A Expired - Fee Related CN1599362B (zh) 2003-09-17 2004-09-17 元空间:部分连接的移动特定网络的通信中间件

Country Status (10)

Country Link
US (3) US7523220B2 (zh)
EP (1) EP1517486B1 (zh)
JP (1) JP4711656B2 (zh)
KR (1) KR101150131B1 (zh)
CN (1) CN1599362B (zh)
AU (1) AU2004205328A1 (zh)
BR (1) BRPI0403818A (zh)
CA (1) CA2480933C (zh)
MX (1) MXPA04008848A (zh)
RU (1) RU2366108C2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304410A (zh) * 2008-06-05 2008-11-12 郭丰亮 分布式web的智能信息平台
CN101288091B (zh) * 2005-09-09 2013-03-20 优质生活联合服务有限公司 面向服务架构中的改进和与面向服务架构有关的改进
CN117812069A (zh) * 2024-03-01 2024-04-02 天津英信科技有限公司 一种基于多源数据的信息共享方法和系统

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286844B1 (en) * 2003-01-31 2007-10-23 Bbn Technologies Corp. Systems and methods for three dimensional antenna selection and power control in an Ad-Hoc wireless network
US7523220B2 (en) * 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks
US8639819B2 (en) * 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US7707498B2 (en) * 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US8145201B2 (en) * 2004-12-17 2012-03-27 Raytheon Bbn Technologies Corp. Methods and apparatus for reduced energy communication in an ad hoc network
US7617234B2 (en) * 2005-01-06 2009-11-10 Microsoft Corporation XML schema for binding data
US7945590B2 (en) * 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
US7730394B2 (en) * 2005-01-06 2010-06-01 Microsoft Corporation Data binding in a word-processing application
US7668873B2 (en) * 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7752224B2 (en) * 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7551618B2 (en) * 2005-06-09 2009-06-23 Digi International Stack bypass application programming interface
US9178721B2 (en) * 2005-06-09 2015-11-03 Hewlett-Packard Development Company, L.P. Inferring causal paths in a distributed computing environment
US7681234B2 (en) * 2005-06-30 2010-03-16 Microsoft Corporation Preventing phishing attacks
US8311543B2 (en) 2005-07-07 2012-11-13 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US8364148B2 (en) * 2005-07-07 2013-01-29 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US7630741B2 (en) * 2005-07-12 2009-12-08 Microsoft Corporation Compact and durable messenger device
US20070015533A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Mono hinge for communication device
US7676242B2 (en) * 2005-07-12 2010-03-09 Microsoft Corporation Compact and durable thin smartphone
US20070015553A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Compact and durable clamshell smartphone
WO2007011167A1 (en) * 2005-07-21 2007-01-25 Kyungpook National University Industry-Academic Cooperation Foundation Virtual storage system and method for searching file based on ad-hoc network
US7953696B2 (en) * 2005-09-09 2011-05-31 Microsoft Corporation Real-time synchronization of XML data between applications
US20070070983A1 (en) * 2005-09-28 2007-03-29 Bbn Technologies Corp. Methods and apparatus for improved efficiency communication
KR100735669B1 (ko) 2005-12-01 2007-07-06 성균관대학교산학협력단 Corba 기반 적응적 브리지 폴 시스템 및 그 방법
KR100734886B1 (ko) * 2005-12-07 2007-07-03 한국전자통신연구원 이종의 soap 전송 프로토콜을 사용하는 노드 간웹서비스 연동 방법
US8640231B2 (en) * 2006-02-23 2014-01-28 Microsoft Corporation Client side attack resistant phishing detection
JP2007235355A (ja) * 2006-02-28 2007-09-13 Ntt Docomo Inc 移動通信端末及び経路選択方法
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US7861229B2 (en) * 2006-03-16 2010-12-28 Microsoft Corporation Complexity metrics for data schemas
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
WO2008027310A2 (en) * 2006-08-25 2008-03-06 Bbn Technologies Corp. Systems and methods for energy-conscious communication in wireless ad-hoc networks
US8149716B2 (en) * 2007-08-20 2012-04-03 Raytheon Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
US8751626B2 (en) * 2007-10-23 2014-06-10 Microsoft Corporation Model-based composite application platform
US8108540B2 (en) 2008-12-12 2012-01-31 Microsoft Corporation Envelope attachment for message context
US8102883B2 (en) * 2009-03-04 2012-01-24 Telefonaktiebolaget L M Ericsson (Publ) LDP IGP synchronization for broadcast networks
US20120078724A1 (en) * 2010-09-23 2012-03-29 Sony Corporation System and method for utilizing a morphing procedure in an information distribution network
US8578049B2 (en) * 2010-10-04 2013-11-05 Futurewei Technologies, Inc. Content router forwarding plane architecture
US8838830B2 (en) 2010-10-12 2014-09-16 Sap Portals Israel Ltd Optimizing distributed computer networks
JPWO2012120929A1 (ja) 2011-03-09 2014-07-17 日本電気株式会社 電極用活物質、及び二次電池
JP5780296B2 (ja) 2011-04-18 2015-09-16 富士通株式会社 スレッド処理方法、およびスレッド処理システム
US20130117218A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Cross-store electronic discovery
US9817898B2 (en) 2011-11-14 2017-11-14 Microsoft Technology Licensing, Llc Locating relevant content items across multiple disparate content sources
US9521044B2 (en) 2013-03-08 2016-12-13 Qualcomm Incorporated Systems and methods for discovering devices in a neighborhood aware network
US8819127B1 (en) 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
US10438183B2 (en) * 2013-07-02 2019-10-08 Boku, Inc. Merchant hosted checkout at a billing server
JP2016063479A (ja) * 2014-09-19 2016-04-25 株式会社東芝 管理装置、通信装置、管理システム、管理方法、およびプログラム
US11829811B2 (en) * 2021-09-17 2023-11-28 International Business Machines Corporation Systems and methods for exchanging electronic data

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE196397T1 (de) 1996-06-25 2000-09-15 Mitsubishi Int Gmbh Verfahren zum herstellen einer funkverbindung
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6160881A (en) * 1996-09-19 2000-12-12 Siemens Information And Communication Networks, Inc. System and method for integrating electronic entry systems with telecommunication systems
FI108327B (fi) 1996-12-23 2001-12-31 Nokia Corp Menetelmä yhteyden muodostamiseksi matkaviestinverkossa
US6098107A (en) * 1997-10-31 2000-08-01 Lucent Technologies Inc. Dynamic algorithms for shortest path tree computation
EP0935192A1 (en) * 1998-02-09 1999-08-11 Sony Europa B.V. Method and system for communication between application programs and a network
JPH11249898A (ja) * 1998-03-04 1999-09-17 Sony Corp データ処理方法、記録媒体及びデータ処理装置
US6130881A (en) * 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks
US7103360B2 (en) 1998-12-30 2006-09-05 Telcordia Technologies, Inc. Switching telephone calls between wireline and cellular telephones
DE69930918T2 (de) * 1999-01-25 2006-11-30 International Business Machines Corp. Dienstankündigungen in drahtlosen lokalen Netzen
US6104712A (en) * 1999-02-22 2000-08-15 Robert; Bruno G. Wireless communication network including plural migratory access nodes
US6496702B1 (en) 1999-08-06 2002-12-17 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network (VPN)
EP1107512A1 (en) 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
EP1384142B1 (en) * 2000-05-09 2006-07-05 Sun Microsystems, Inc. Bridging between a data representation language message-based distributed computing environment and other environments
US6876643B1 (en) * 2000-08-08 2005-04-05 International Business Machines Corporation Clustering in wireless ad hoc networks
US7698463B2 (en) * 2000-09-12 2010-04-13 Sri International System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network
EP1207707B1 (en) 2000-11-17 2008-08-13 Sony Deutschland GmbH Transmission of carry-on objects using a wireless ad-hoc networking environment
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7668958B2 (en) * 2001-10-18 2010-02-23 Intel Corporation Method for discovery and routing using a priori knowledge in the form of application programme within mobile AD-HOC networks
WO2002075573A1 (en) 2001-03-19 2002-09-26 Microsoft Corporation System and method for communications management and data exchange
US6922725B2 (en) * 2001-09-07 2005-07-26 Xerox Corporation Method and apparatus for processing document service requests originating from a mobile computing device
US6937602B2 (en) * 2001-10-23 2005-08-30 Meshnetworks, Inc. System and method for providing a congestion optimized address resolution protocol for wireless ad-hoc networks
JP2003150432A (ja) * 2001-11-09 2003-05-23 Japan Telecom Co Ltd 情報交換方法、情報交換プログラムおよび情報処理装置
US7280545B1 (en) * 2001-12-20 2007-10-09 Nagle Darragh J Complex adaptive routing system and method for a nodal communication network
US20050129000A1 (en) * 2001-12-28 2005-06-16 T.V.L.N Sivakumar Routing method for mobile ad-hoc network
US7117264B2 (en) * 2002-01-10 2006-10-03 International Business Machines Corporation Method and system for peer to peer communication in a network environment
US7760645B2 (en) 2002-02-25 2010-07-20 Olsonet Communications Method for routing ad-hoc signals
KR100461593B1 (ko) * 2002-03-08 2004-12-14 삼성전자주식회사 통신망을 통한 원격제어서비스 제공장치, 시스템 및 방법
US7035207B2 (en) * 2002-06-05 2006-04-25 Eka Systems, Inc System and method for forming, maintaining and dynamic reconfigurable routing in an ad-hoc network
US7200674B2 (en) * 2002-07-19 2007-04-03 Open Invention Network, Llc Electronic commerce community networks and intra/inter community secure routing implementation
US7554988B2 (en) * 2002-09-10 2009-06-30 Hewlett-Packard Development Company, L.P. Creating expressway for overlay routing
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US6909721B2 (en) 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US8108455B2 (en) 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
US7808939B2 (en) 2003-03-28 2010-10-05 Lenovo (Singapore) Pte Ltd. Routing in wireless ad-hoc networks
MXPA04004719A (es) * 2003-05-19 2004-09-06 Eaton Corp Red ad-hoc y metodo de enrutar comunicaciones en una red de comunicaciones.
US7406313B2 (en) * 2003-06-25 2008-07-29 International Business Machines Corporation Systems, methods and computer program products for connecting ad hoc piconets to wide area networks
US7523220B2 (en) * 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks
US7506125B2 (en) 2003-09-29 2009-03-17 Hitachi, Ltd. Information terminals for receiving content with survival time and forwarding content to different information terminal after changing the survival time
EP1542409B1 (en) 2003-12-10 2009-04-15 Sony Deutschland GmbH Protocol for multi-hop ad-hoc networks
US7573866B2 (en) * 2006-08-30 2009-08-11 Mitsubishi Electric Research Laboratories, Inc. Method for finding optimal paths using a stochastic network model
US8135021B2 (en) 2006-09-28 2012-03-13 Nokia Corporation Routing in wireless ad-hoc networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101288091B (zh) * 2005-09-09 2013-03-20 优质生活联合服务有限公司 面向服务架构中的改进和与面向服务架构有关的改进
CN101304410A (zh) * 2008-06-05 2008-11-12 郭丰亮 分布式web的智能信息平台
CN117812069A (zh) * 2024-03-01 2024-04-02 天津英信科技有限公司 一种基于多源数据的信息共享方法和系统
CN117812069B (zh) * 2024-03-01 2024-05-17 天津英信科技有限公司 一种基于多源数据的信息共享方法和系统

Also Published As

Publication number Publication date
BRPI0403818A (pt) 2005-05-24
US8332538B2 (en) 2012-12-11
CA2480933C (en) 2014-02-04
KR101150131B1 (ko) 2012-06-08
EP1517486B1 (en) 2018-04-25
CN1599362B (zh) 2010-04-28
CA2480933A1 (en) 2005-03-17
US8228927B2 (en) 2012-07-24
AU2004205328A1 (en) 2005-04-07
EP1517486A3 (en) 2011-04-06
US7523220B2 (en) 2009-04-21
KR20050028211A (ko) 2005-03-22
US20090046603A1 (en) 2009-02-19
JP2005094776A (ja) 2005-04-07
JP4711656B2 (ja) 2011-06-29
RU2366108C2 (ru) 2009-08-27
EP1517486A2 (en) 2005-03-23
US20050068913A1 (en) 2005-03-31
MXPA04008848A (es) 2005-07-01
RU2004127857A (ru) 2006-02-20
US20090103461A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
CN1599362B (zh) 元空间:部分连接的移动特定网络的通信中间件
Silva et al. A performance analysis of internet of things networking protocols: Evaluating MQTT, CoAP, OPC UA
CN105612768B (zh) 轻量级iot信息模型
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
JP6865593B2 (ja) 不均一ネットワークにまたがるコンテンツ配送
Feng et al. A distance-aware replica adaptive data gathering protocol for delay tolerant mobile sensor networks
CN101803289B (zh) 基于适合度的路由
Tariq et al. EPF—An efficient forwarding mechanism in SDN controller enabled named data IoTs
Tran et al. Named data networking based disaster response support system over edge computing infrastructure
Iglesias-Sanuy et al. An efficient location-based forwarding strategy for named data networking and LEO satellite communications
US11290575B2 (en) Connecting computer processing systems and transmitting data
US11405766B2 (en) Connecting computer processing systems and transmitting data
US11357020B2 (en) Connecting computer processing systems and transmitting data
Perrone et al. The Internet of things: a survey and outlook
Quevedo et al. Selective content retrieval in information-centric networking
Xu et al. Link-state aware hybrid routing in the terrestrial–satellite integrated network
Amah et al. Collecting sensed data with opportunistic networks: The case of contact information overhead
US20130227066A1 (en) Data transfer apparatus and data transfer method
Singh Middleware support for communication in connected vehicles
Gillen et al. Information dissemination in disadvantaged wireless communications using a data dissemination service and content data network
Xing et al. A Method for 5G–ICN Seamless Mobility Support Based on Router Buffered Data
Koukis et al. All about Delay-Tolerant Networking (DTN) Contributions to Future Internet
WO2011099590A1 (ja) アドホックサービス提供システム
Lomotey et al. P2P key-value storage synchronization workflow for agronomic data management
Baker et al. UCX: An Open Source Framework for HPC Network APIs and Beyond

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150508

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100428

Termination date: 20200917