CN111868688B - 用于进行通信的***、存储介质、方法和服务器 - Google Patents
用于进行通信的***、存储介质、方法和服务器 Download PDFInfo
- Publication number
- CN111868688B CN111868688B CN201980019489.8A CN201980019489A CN111868688B CN 111868688 B CN111868688 B CN 111868688B CN 201980019489 A CN201980019489 A CN 201980019489A CN 111868688 B CN111868688 B CN 111868688B
- Authority
- CN
- China
- Prior art keywords
- message
- token
- server
- portable terminal
- terminal 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims description 48
- 239000011159 matrix material Substances 0.000 claims description 49
- 239000000284 extract Substances 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000010365 information processing Effects 0.000 description 14
- 244000035744 Hura crepitans Species 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/02—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
提供使得可以更简单地在多个同时活动的应用之间进行通信的***。本发明是用于在便携式终端装置上运行的多个应用之间进行通信的***,其中便携式终端装置包括:令牌生成单元,用于生成令牌;发布单元,用于将包括令牌和有效载荷的发布消息发送至服务器,发布消息是要从便携式终端装置上运行的一个App发送至另一App的消息;以及订阅单元,用于将包括令牌的订阅消息发送至服务器,订阅消息表示另一App能够接收从发布单元发送来的数据,其中服务器:存储订阅消息中所包括的令牌;以及在接收到发布消息的情况下,将发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将有效载荷发送至另一App。
Description
技术领域
本发明涉及用于进行通信的***等。特别地,本发明涉及用于在便携式终端装置上运行的多个应用之间进行通信的***、程序、方法和服务器。
背景技术
近来,配备有触摸屏的智能装置(特别是智能电话)正被广泛且普遍地使用。随着移动CPU所用的多核技术的引入和显示器的大小的不断增大,近来的智能电话OS支持用于同时运行多个应用的多任务特征。通常,在智能电话上安装有多个App(应用程序),并且存在许多同时使用多个App的用户。
另一方面,考虑到安全,还对同时活动的App之间的链接施加了一定限制。例如,专利文献1公开了与在iOS上执行的App的保护有关的技术。与本示例一样,在诸如iOS等的通用OS中,所有的App都包含在沙箱(sandbox)中,以禁止其它App对所保存的文件进行访问等的操作。
现有技术文献
专利文献
专利文献1:日本特开2017-4528
发明内容
发明要解决的问题
由于上述情形,因此迄今为止很难自动链接App或者在App之间进行通信。另一方面,存在引入在App之间中继数据的中继服务器、并且经由该中继服务器实现App间通信的方法。然而,中继服务器必须适当地识别并认证各个App以链接App,并且各App要求用户进行明确的认证操作等,这对用户来说是费力的操作。
本发明是为了解决上述问题而做出的,并且其主要目的是提供使得可以更简单地在多个同时活动的应用之间进行通信的***等。
用于解决问题的方案
为了实现上述目的,根据本发明的方面的***是一种用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信的***,所述***的特征在于,所述便携式终端装置包括:令牌生成单元,用于生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;发布单元,用于将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及订阅单元,用于将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收从所述发布单元发送来的数据,所述服务器:存储所述订阅消息中所包括的令牌;以及在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
此外,在本发明中,优选地,所述令牌是令牌矩阵,在所述令牌矩阵中,单个行包括表示所述时刻信息中的单个时刻的信息、以及表示所述传感器值信息中的与该时刻相关联的一个或多个传感器值的信息。
此外,在本发明中,优选地,所述传感器装置包括GPS传感器、陀螺仪传感器和加速度传感器至少之一。
此外,在本发明中,优选地,所述发布单元从所述发布消息提取所述令牌的一部分并对所述有效载荷进行加密,并且掩蔽或删除所述发布消息中的所提取的部分,以及所述订阅单元将所述发布消息中所包括的令牌与所述令牌生成单元所生成的令牌进行比较以识别被所述发布单元用于加密的所述部分,并且通过使用所识别的部分来对所述有效载荷进行解密。
此外,在本发明中,优选地,所述预定条件是所比较的令牌之间的一致率大于或等于阈值。
此外,在本发明中,优选地,所述订阅消息包括被所述另一应用用于接收所述有效载荷的端口编号,以及在接收到所述发布消息的情况下,所述服务器将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足所述预定条件的情况下,将所述有效载荷发送至所述便携式终端装置的所述端口编号。
此外,在本发明中,优选地,所述订阅单元将所述订阅消息周期性地发送至所述服务器。
此外,在本发明中,优选地,所述令牌包括所述便携式终端装置的IP地址,所述服务器由负载分配装置和多个服务器装置构成,以及所述负载分配装置使得从同一IP地址发送来的所述发布消息和所述订阅消息由同一服务器装置进行处理。
此外,为了实现上述目的,根据本发明的方面的程序组是一组程序,用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信,所述一组程序的特征在于,所述一组程序使得所述便携式终端装置执行以下步骤:生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收所述发布消息中所包括的数据,以及所述一组程序使得所述服务器执行以下步骤:存储所述订阅消息中所包括的令牌;以及在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
此外,为了实现上述目的,根据本发明的方面的方法是一种用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信的方法,所述方法的特征在于包括以下步骤:在所述便携式终端装置处生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;将包括所述令牌和有效载荷的发布消息从所述便携式终端装置发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;将包括所述令牌的订阅消息从所述便携式终端装置发送至所述服务器,所述订阅消息表示所述另一应用能够接收所述发布消息中所包括的数据;将所述订阅消息中所包括的令牌存储在所述服务器中;以及在所述服务器中,在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷从所述服务器发送至所述另一应用。
此外,为了实现上述目的,根据本发明的方面的服务器是一种服务器,其在用于在经由网络连接至所述服务器的便携式终端装置上运行的多个应用之间进行通信的***中,所述服务器的特征在于,所述便携式终端装置包括:令牌生成单元,用于生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;发布单元,用于将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及订阅单元,用于将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收从所述发布单元发送来的数据,其中,所述服务器:存储所述订阅消息中所包括的令牌;以及在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
发明的效果
本发明使得可以更简单地在多个同时活动的应用之间进行通信。
附图说明
图1是根据本发明实施例的***的总体结构图。
图2是示出根据本发明实施例的便携式终端装置的硬件结构的框图。
图3是示出根据本发明实施例的服务器的硬件结构的框图。
图4是根据本发明实施例的***的功能框图。
图5是示出令牌矩阵的数据结构的示例的图。
图6示出根据本发明实施例的利用在便携式终端装置上运行的发送侧App的信息处理的流程图。
图7示出根据本发明实施例的利用在便携式终端装置上运行的接收侧App的信息处理的流程图。
图8示出根据本发明实施例的利用服务器的信息处理的流程图。
图9是示出利用发布单元的有效载荷加密的示例的图。
图10是示出利用订阅单元对如图9那样加密后的有效载荷进行解密的示例的图。
图11是用于说明本实施例的示例使用的说明。
具体实施方式
现在将参考附图来说明根据本发明实施例的***。在本说明书中,术语App主要指安装在智能电话或平板电脑上的App,但可以指一般的应用。此外,当简称为App时,App包括Web App和本地App。
图1是根据本发明实施例的***1的总体结构图。如图1所示,***1包括便携式终端装置3和服务器4。便携式终端装置3和服务器4连接至诸如因特网等的网络2,以允许相互通信。
图2是示出根据本发明实施例的便携式终端装置3的硬件结构的框图。在本发明中,便携式终端装置4是智能电话。便携式终端装置4包括处理器11、显示装置12、输入装置13、存储装置14和通信装置15。这些组件装置经由总线16连接。根据需要在总线16和各个组件装置之间***接口。可选地,便携式终端装置3可以是具有上述结构的台式个人计算机、膝上型个人计算机或平板电脑等。
处理器11控制便携式终端装置3的整体操作,并且例如,处理器11是CPU。可选地,可以使用诸如MPU等的电子电路作为处理器11。处理器11通过加载存储装置14中所存储的程序和数据并执行这些程序来执行各种处理。在一个示例中,处理器11由多个处理器构成。
显示装置(显示器)12在处理器11的控制下向便携式终端装置4的用户显示应用画面等。显示装置12优选是液晶显示器,但可以是利用有机EL的显示器、或者等离子体显示器等。
输入装置13具有如触摸屏、触摸板或输入按钮那样的用于接受来自用户的输入的功能。在本实施例中,由于便携式终端装置3是智能电话,因此便携式终端装置3包括触摸屏作为输入装置13,并且触摸屏还用作显示装置12,使得显示装置12和输入装置13具有一体结构。可选地,显示装置12和输入装置13可以以单独形式设置在不同的位置处。
存储装置14是包括作为易失性存储器的RAM和作为非易失性存储器的ROM的、普通智能电话中所包括的存储装置。存储装置14还可以包括外部存储器。
在一个示例中,存储装置14包括主存储装置和辅助存储装置。主存储装置是允许信息的高速读取和写入的易失性存储介质,并且用作处理器11处理信息时的存储区域和工作区域。辅助存储装置存储处理器11在执行各个程序时使用的各种程序和数据。辅助存储装置例如是硬盘装置;然而,辅助存储装置可以是能够存储信息的任何类型的非易失性存储装置或非易失性存储器,并且也可以是可移除类型。辅助存储装置例如存储操作***(OS)、中间件、应用程序、在执行这些程序时可以参考的各种数据等。
通信装置15经由网络2相对于诸如服务器4等的其它计算机发送数据和接收数据。例如,通信装置15进行诸如移动通信或无线LAN通信等的无线通信,以连接至网络2。在一个示例中,利用通信装置15从服务器4下载程序,并将这些程序存储在存储装置14中。可选地,通信装置15可以通过使用以太网(Ethernet,注册商标)线缆等进行有线通信。
图3是示出根据本发明实施例的服务器4的硬件结构的框图。服务器4包括处理器21、显示装置22、输入装置23、存储装置24和通信装置25。这些组件装置经由总线26连接。根据需要在总线26和各个组件装置之间***接口。服务器4可以由单个服务器装置或多个服务器装置构成。
处理器21控制服务器4的整体操作,并且例如,处理器21是CPU。可选地,可以使用诸如MPU等的电子电路作为处理器21。处理器21通过加载存储装置24中所存储的程序和数据并执行这些程序来执行各种处理。在一个示例中,处理器21由多个处理器构成。
显示装置(显示器)22在处理器21的控制下向服务器4的用户显示应用画面等。输入装置23接受来自用户的对服务器4的输入,并且输入装置23例如是触摸屏、触摸板、键盘或鼠标。
存储装置24包括主存储装置和辅助存储装置。主存储装置是诸如RAM等的半导体存储器。RAM是允许信息的高速读取和写入的易失性存储介质,并且用作处理器21处理信息时的存储区域和工作区域。主存储装置可以包括作为只读非易失性存储介质的ROM。在这种情况下,ROM存储诸如固件等的程序。辅助存储装置存储处理器21在执行各个程序时使用的各种程序和数据。辅助存储装置例如是硬盘装置;然而,辅助存储装置可以是能够存储信息的任何类型的非易失性存储装置或非易失性存储器,并且也可以是可移除型。辅助存储装置例如存储操作***(OS)、中间件、应用程序、在执行这些程序时可以参考的各种数据等。
在一个优选示例中,存储装置24存储各种数据库所用的数据(例如,表)和程序。各种数据库是通过处理器21的操作等来实现的。服务器4可以配备有数据库服务器的功能,并且可以包括一个或多个数据库服务器或者其它种类的服务器。
通信装置25经由网络2相对于诸如便携式终端装置4等的其它计算机发送数据和接收数据。例如,通信装置25通过使用以太网(Ethernet,注册商标)线缆等进行有线通信,或者进行诸如移动通信或无线LAN通信等的无线通信,以连接至网络4。
图4示出根据本发明实施例的***1的示例功能框图。这些功能通过利用便携式终端装置3的处理器11和服务器4的处理器21执行程序来实现。在本实施例中,由于各种功能均通过加载程序来实现,因此一个部件(功能)的一部分可以在另一部件中提供。可选地,这些功能可以通过配置用于实现这些功能的一部分或全部的电子电路等、利用硬件来实现。
便携式终端装置3在内部安装有OS,并且在内部还安装有在OS上运行的多个App。为了便于说明,假定便携式终端装置3设置有iOS(注册商标)作为OS;然而,在不限于此的情况下,OS可以是Windows(注册商标)或Android(注册商标)等。在安装App时,便携式终端装置3针对各个App分配特定存储区域。这些存储区域是存储装置14的一部分,并且通常被称为沙箱。
图4示出将单个沙箱31分配至各单个App 32的方式。如图4所示,App 32被配置成在分配至该App 32的沙箱31中运行,并且不被允许与分配至其它App 32的沙箱31进行App间通信。由于如上所述***1在作为受保护区域的沙箱31中运行App 32,因此禁止该关联的沙箱31外的其它App 32对该App 32中所保存的文件进行访问等的操作。因此,例如,通过针对各个App 32分配沙箱,保护了用户数据。然而,注意,允许App 32使用OS所提供的API。
各App 32包括App功能单元33、令牌生成单元34、发布单元35和订阅单元36。
App功能单元33具有在便携式终端装置3上活动的App 32的功能,并且利用App 32提供服务。在App 32是Web App的情况下,服务器4包括App功能单元33的一部分或全部,并且App 32相对于服务器4发送数据和接收数据。
令牌生成单元34生成令牌,该令牌包括时刻信息以及从便携式终端装置3中所包括的传感器装置获取到的传感器值信息。在一个示例中,令牌生成单元34是作为在便携式终端装置3上运行的App 32内部的模块而实现的软件模块。
便携式终端装置3包括传感器装置,这些传感器装置包括GPS传感器、陀螺仪传感器和加速度传感器至少之一。令牌生成单元34访问传感器装置以在预定义的时间段期间获取传感器值。预定义的时间段例如是约数百毫秒到1秒的时间段。在一个示例中,令牌生成单元34访问包括内置在通用智能电话中的GPS传感器和六轴传感器的传感器装置,以在数百毫秒的时间段期间获取传感器值。例如,六轴传感器由三轴加速度传感器和三轴陀螺仪传感器构成。
令牌生成单元34生成令牌,该令牌用于识别在某个特定时间在特定便携式终端装置3上正运行(活动)的App。在一个优选示例中,在从多个传感器获取到传感器值的情况下,令牌生成单元34生成表示这些传感器值的时间序列变化的矩阵作为令牌,其中在该矩阵中,多个传感器值中的各传感器值对应于列,并且预定单位时间对应于行。在本实施例中,假定如上所述令牌是以矩阵的形式生成的,该矩阵将被称为令牌矩阵(token matrix)。例如,在预定义的时间段为数百毫秒的情况下,预定单位时间为约十毫秒。
图5示出令牌矩阵的数据结构的示例。如以下的公式1那样定义令牌矩阵中的单个行ri。
ri:={timestampi,IP,sensor1,sensor2,…sensorn} (公式1)
在公式1中,timestampi是表示从传感器装置获取到传感器值的时间的值,IP是正运行App的便携式终端装置3的IP地址,并且sensorn是从各个传感器获取到的n个种类的传感器值。在一个示例中,timestampi是可以从OS获得的被称为UNIX(注册商标)时间的整数值、或者如“2017/07/14 15:48:43”那样的字符串。在一个示例中,由sensorn表示的传感器值包括从GPS传感器输出的纬度(GPS(Lat))和经度(GPS(Lng))、以及从六轴传感器输出的六个值(x,y,z,r,p,y)。
在一个优选示例中,尽管值更新频率在各个传感器装置之间有所不同,但令牌生成单元34从各个传感器装置获取值的定时是相同的。令牌生成单元34在各传感器值获取周期中生成令牌矩阵中的单个行ri。例如,令牌生成单元34按50至100Hz的采样频率从各个传感器装置获取传感器值。关于诸如GPS传感器等的更新频率低的传感器装置,令牌生成单元34在不更新GPS传感器的传感器值时获取与GPS传感器的传感器值相同的值,并且将相同的值存储在令牌矩阵的相应列中。
注意,令牌矩阵无需包括IP地址。然而,在移动环境中,由于IP地址因用户的移动、与WiFi的连接等而频繁地改变,因此沿着时间轴的IP地址的变化的历史对于识别在某个特定时间在特定智能电话上活动的App是有益的。因此,令牌矩阵优选包括IP地址。
如上所述,令牌是令牌矩阵,其中在该令牌矩阵中,单个行包括表示时刻信息中的单个时刻的信息,并且还包括表示传感器值信息中的与该时刻相关联的一个或多个传感器值的信息。然而,令牌矩阵可以具有不同于令牌矩阵的数据结构,只要该数据结构使得可以识别出App在某个特定时间在特定便携式终端装置3上正在运行即可。
发布单元35和订阅单元36分别对应于一般的发布-订阅模型中的发布方和订阅方。服务器4包括服务器侧的消息总线41,该消息总线41具有用于将从在便携式终端装置3上运行(活动)的一个App 32发送来的消息传递至在同一便携式终端装置3上运行(活动)的另一App 32的功能。在根据本实施例的***1中,在App 32之间不直接进行通信,并且App32经由服务器4(具体地,经由服务器4中所包括的消息总线41)间接地连接。在本说明书中,为了便于说明,除非具体说明,否则发送发布消息的App 32将被称为发送侧App 32(一个App 32),并且发送订阅消息的App 32将被称为接收侧App 32(另一App 32)。在App 32之间的双向通信的情况下,这两个App 32既可以是发送侧App 32,也可以是接收侧App 32。
发布单元35将包括令牌和有效载荷的发布消息发送至服务器4,该发布消息是要从在便携式终端装置3上运行的发送侧App 32向在便携式终端装置3上运行的接收侧App32发送的消息。在一个示例中,发布单元35是进行动态通信的App 32提供用于将数据实际发送至接收侧App 32的功能的模块。
在一个示例中,发布消息是包括令牌矩阵作为报头、并且包括要发送的数据作为有效载荷的消息。发布单元35将发布消息发送至服务器4中所包括的消息总线41。具体地,如以下的公式2那样定义发布消息。
publish(token_matrix,payload) (公式2)
在公式2中,token_matrix是图5所示的时间序列数据,并且payload是表示要发送的内容的任意数据。
在一个示例中,在发布单元35通过使用UDP来发送发布消息的情况下,发布单元35将发布消息以分割成多个区段的形式发送至消息总线41。
订阅单元36将包括令牌的订阅消息发送至服务器4,该订阅消息表示接收侧App32可以接收从发布单元35发送来的数据。在一个示例中,订阅单元36是允许App 32接收来自发送侧App 32的消息的模块。因此,订阅消息是用于向消息总线41通知App 32可以接收从发布单元35发送来的数据的消息,该消息是在接收侧App 32进行所谓的订阅处理时所需的。
在一个示例中,订阅消息包括令牌矩阵和便携式终端装置3的端点信息。例如,端点信息是IP地址和端口编号。具体地,如以下的公式3那样定义订阅消息。
subscribe(token_matrix,IP:port) (公式3)
在公式3中,token_matrix是图5所示的时序数据,IP是便携式终端装置3的IP地址,并且port是接收侧App 32用来接收的端口编号。服务器4将从发布单元35接收到的发布消息或发布消息中的至少包括有效载荷的数据发送至便携式终端装置3的端口编号,并且接收侧App 32通过使用端口编号来接收从服务器4发送来的数据。
订阅单元36将订阅消息周期性地(例如,每秒一次)发送至服务器4中所包括的消息总线41。在根据本实施例的***1中,由于如后面将说明的、消息总线41通过使用令牌矩阵来判断是许可还是拒绝消息传递,因此接收侧App32必须继续发送包括令牌矩阵的订阅消息,以由此更新信息。另一方面,在接收侧App 32取消订阅时,订阅单元36停止发送订阅消息就足够了。因此,订阅单元36无需进行取消订阅的处理。
注意,由于本实施例中的发布单元35和订阅单元36在向服务器发送各个消息时无需维持连接,因此代替依赖于TCP,可以使用UDP。
服务器4包括消息总线41和历史数据库42。历史数据库42是如下的数据库,其中在该数据库中,在一定时间段期间(例如,在10秒期间)保存订阅单元36周期性地发送的订阅消息中所包括的令牌矩阵的历史。可选地,考虑到历史数据库42的存储区域,历史数据库42可被配置成在更长的时间段期间存储令牌矩阵的更多数量的行。
消息总线41接收从发布单元35发送来的发布消息和从订阅单元36发送来的订阅消息。当接收到订阅消息时,消息总线41将订阅消息中所包括的令牌矩阵在一定时间段期间(例如,在10秒期间)存储在历史数据库42中。当接收到发布消息时,消息总线41将发布消息中所包括的令牌矩阵与历史数据库42内所存储的订阅消息中所包括的令牌矩阵进行比较。由于历史数据库42在一定时间段期间存储令牌矩阵,因此将理解,将具有与发布消息中所包括的令牌矩阵相比更多数量的行的令牌矩阵存储在历史数据库42中。
在比较的结果满足预定条件的情况下,消息总线41将从发送侧App 32的发布单元35接收到的发布消息发送至接收侧App 32。在一个优选示例中,预定条件是所比较的令牌矩阵之间的一致率大于或等于阈值。考虑到在使用不涉及诸如UDP等的传输控制的协议时发生的丢包,不使用令牌矩阵之间的完全一致作为预定条件。具体地,如以下的公式4那样定义一致率的计算。
在公式4中,Q是从发布单元35发送来的令牌矩阵,并且Qi是令牌矩阵的第i(i=0~n-1)行上的数据。M是从历史数据库42内所存储的并且从与Q相同的IP地址发送来的令牌矩阵中提取具有与Q相同的开始时刻(timestamp)的矩阵的结果。n是令牌矩阵Q中的行数。在公式4中,计算矩阵之间的行的一致率。当例如为了加密的目的而对Qi进行掩蔽时,Qi是undefined(未定义)。当match(M,Q)大于或等于预设阈值时,消息总线41判断为M和Q彼此一致,并且将消息传递至包括发送订阅消息的订阅单元36的接收侧App 32。
可选地,在比较的结果满足预定条件的情况下,消息总线41可以将从发送侧App32的发布单元35接收到的发布消息中的至少包括有效载荷的数据发送至接收侧App 32。
在另一示例中,服务器4由负载分配装置和多个服务器装置构成。在这种情况下,令牌矩阵包括IP地址,并且负载分配装置使得从同一IP地址发送来的发布消息和订阅消息由同一服务器装置处理。利用进行负载分配以使得从同一IP地址发送来的消息将由同一服务器装置处理的该结构,服务器4可以高速进行路由。
例如,负载分配装置根据所接收到的发布消息或订阅消息中所包括的IP地址来生成一致性哈希,并且根据哈希值来确定负责路由的服务器装置。因此,由于相同的IP地址产生相同的哈希值,因此消息始终被传递到相同的服务器装置,这使得***1可以高速进行处理。
接着,将参考图6至图8所示的流程图来说明根据本发明实施例的利用***1的信息处理。图6至图8所示的信息处理是通过使得便携式终端装置3执行程序并且使得服务器4执行程序来实现的。
图6示出根据本发明实施例的利用在便携式终端装置3上运行的发送侧App 32的信息处理的流程图。
在步骤601中,发送侧App 32生成令牌(令牌矩阵),其中该令牌(令牌矩阵)包括时刻信息以及从便携式终端装置3中所包括的传感器装置获取到的传感器值信息。在步骤602中,发送侧App 32判断是否存在要发送至接收侧App 32的任何数据。在存在这样的数据的情况下,处理进入步骤603,并且在不存在这样的数据的情况下,处理终止。在步骤603中,发送侧App 32将包括步骤601中所生成的令牌和要发送的数据的主体的有效载荷的发布消息发送至服务器4。
优选地,发送侧App 32开始该处理,使得只要App是活动的,就将在该处理终止之后周期性地执行步骤601。在一个示例中,步骤601未包括在该处理中,并且作为代替,发送侧App 32被配置为只要App是活动的,就在与该处理不同的处理中继续按每预定单位时间生成令牌。在一个示例中,发送侧App 32被配置为只要发送侧App 32活动,就在步骤602中始终判断为存在数据。
图7示出根据本发明实施例的利用在便携式终端装置3上运行的接收侧App 32的信息处理的流程图。
在步骤701中,接收侧App 32生成令牌(令牌矩阵),该令牌(令牌矩阵)包括时刻信息以及从便携式终端装置3中所包括的传感器装置获取到的传感器值信息。在步骤702中,接收侧App 32判断是否订阅从发送侧App 32发送来的消息。在订阅的情况下,流程进入步骤703,并且在未订阅的情况下,流程终止。在步骤703中,接收侧App 32将包括步骤701中所生成的令牌的订阅消息发送至服务器4。订阅消息表示接收侧App 32可以接收从发布单元35发送来的数据。
优选地,接收侧App 32开始该处理,使得只要App是活动的,就将在该处理终止之后周期性地执行步骤701。在一个示例中,步骤701未包括在该处理中,并且作为代替,接收侧App 32被配置为只要App是活动的,就继续按每预定单位时间生成令牌。在一个示例中,接收侧App 32可被配置为只要接收侧App 32活动,就在步骤702中始终选择订阅。
图8示出根据本发明实施例的利用服务器4的信息处理的流程图。
在步骤801中,服务器4判断是否接收到订阅消息。在接收到订阅消息的情况下,流程进入802,并且在未接收到订阅消息的情况下,流程进入步骤803。在步骤802中,服务器4将所接收到的订阅消息中所包括的令牌存储在历史数据库42中,并且处理进入步骤803。
在步骤803中,服务器4判断是否接收到发布消息。在接收到发布消息的情况下,处理进入步骤804,并且在未接收到发布消息的情况下,处理终止。在步骤804中,服务器4将所接收到的发布消息中所包括的令牌与历史数据库42内存储的订阅消息中所包括的令牌进行比较,以判断比较的结果是否满足预定条件。在比较的结果满足预定条件的情况下,处理进入步骤805,并且在比较的结果不满足预定条件的情况下,处理终止。在该示例中,预定条件是所比较的令牌之间的一致率大于或等于阈值。
在步骤805中,服务器4将从发送侧App 32的发布单元35接收到的发布消息发送至接收侧App 32。
优选地,服务器4开始该处理,使得只要App是活动的,就将在该处理终止之后周期性地执行步骤801。尽管步骤801至802中的处理可被布置成在步骤803至805的处理之后执行,但优选地,服务器4执行如图8所示的信息处理。
接着,将说明根据本发明实施例的***1的主要操作效果。在本实施例中,便携式终端装置4上所安装的用于进行App间通信的发送侧App 32和接收侧App 32这两者都包括令牌生成单元34、发布单元35和订阅单元36。令牌生成单元34生成令牌,该令牌包括时刻信息以及从便携式终端装置3中包括的传感器装置获得的传感器值信息。这里,由于在同一时刻访问便携式终端装置3中所包括的传感器装置时可以获取到相同的传感器值信息,因此由运行在同一便携式终端装置3上的App在同一时刻获取到的传感器值是相同的。因而,在本实施例中,为了识别出App 32在某个特定时间在特定便携式终端装置3上活动,使用包括从传感器装置获取到的传感器值信息的令牌。
发布单元35将包括令牌和有效载荷的发布消息发送至服务器4,并且订阅单元36将包括令牌的订阅消息发送至服务器4。另一方面,服务器4将订阅消息中所包括的令牌存储在历史数据库42中,并且当接收到发布消息时,将发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较。在比较的结果满足预定条件的情况下,服务器4将发布消息(或包括有效载荷的数据)发送至接收侧App 32。
如上所述,在根据本实施例的***1中,通过将发布订阅模型与如下的令牌组合来进行通信,该令牌使得能够识别出App 32在某个特定时间在特定的便携式终端装置3上活动。这使得可以在不需要明确的用户登记或者应用链接所用的认证操作的情况下自动链接不同类型的App,由此实现例如实时消息通信。现有的通用云App需要预先登录到云***或账户链接,因此不能在处于初始状态的App之间立即进行通信。根据本实施例的***1克服了该问题。例如,可以显示在浏览网站的同时呈现该网站特有的特殊用户界面的自定义键盘App,或者可以实现当两个游戏App同时运行时各个游戏中的角色相互问候的链接效果。
此外,由于本实施例可以通过使用可被作为App中的标准功能来提供的传感器数据获取功能和网络通信功能来实现,因而本实施例可以在几乎所有的现有智能电话上实现。
此外,在本实施例中,令牌包括IP地址,服务器4由负载分配装置和多个服务器装置构成,并且负载分配装置使得从同一IP地址发送来的发布消息和订阅消息由同一服务器装置处理。利用该结构,服务器4无需搜索消息目的地。这使得可以基本上以计算复杂度O(1)进行路由,从而使得能够进行高速处理。
除非具体说明,否则上述操作效果也适用于其它实施例和其它示例。
本发明在其另一实施例中,本发明可以是用于实现上述本发明实施例中的功能或在流程图中示出的信息处理的程序、或者存储有该程序的计算机可读存储介质。本发明在其另一实施例中,可以是自身实现上述本发明实施例中的功能或在流程图中示出的信息处理的电子装置。本发明在其另一实施例中,可以是实现上述本发明实施例中的功能或在流程图中示出的信息处理的方法。本发明在其另一实施例中,可以是能够向计算机提供用于实现上述本发明实施例中的功能或在流程图中示出的信息处理的程序的服务器。本发明在其另一实施例中,可以是实现上述本发明实施例中的功能或在流程图中示出的信息处理的虚拟机。
以下说明本发明实施例的变形例。以下所述的实施例可以适当组合,并且可以应用于本发明的任意实施例,只要没有产生不一致即可。
在一个变形例中,***1在完全保护有效载荷的内容的同时在App 32之间进行通信。发布单元35从发布消息提取令牌矩阵的一部分并对有效载荷进行加密。此时,发布单元35掩蔽或删除从发布消息中所提取的令牌矩阵的一部分。订阅单元36将发布消息中所包括的令牌矩阵与令牌生成单元34所生成的令牌矩阵进行比较,以识别被发布单元35用于加密的部分,并且通过使用所识别的部分来对有效载荷进行解密。
图9是示出利用发布单元35的有效载荷加密的示例的图。发布消息包括作为报头的令牌矩阵51以及有效载荷52。如图9所示,发布单元35提取令牌矩阵51的一部分作为加密密钥53,并且通过使用加密密钥53对有效载荷52进行加密。加密密钥53是从令牌矩阵51提取的一个或多个行。例如,发布单元35提取令牌矩阵51的行中的与三的倍数相对应的行。
图10是示出利用订阅单元36对如图9那样加密后的有效载荷进行解密的示例的图。如图10所示,订阅单元36在作为从消息总线41接收到的消息的报头的令牌矩阵51与接收侧App 32的令牌生成单元34所生成的令牌矩阵之间进行XOR比较。这里,由于发送侧App32和接收侧App 32正在同一便携式终端装置3上运行,因此各个App 32的令牌生成单元34所生成的令牌矩阵在同一时刻变为相同。这使得订阅单元36可以通过进行XOR比较来检测用作加密密钥53的部分。订阅单元36通过使用所检测到的加密密钥53对有效载荷52进行解密。
如前面所述,在一个优选示例中,在所比较的令牌矩阵之间的一致率大于或等于阈值的情况下,消息总线41将从发送侧App 32接收到的发布消息发送至接收侧App 32。例如,在通过使用公式4来进行比较的情况下,执行处理,以将令牌矩阵51的被掩蔽的行处理为undefined,使得这些行不会影响基于阈值的判断。
如上所述,在本实施例中,通过利用接收侧App 32和发送侧App 32在同一便携式终端装置3上运行、因而必须获取相同的传感器值并生成相同的令牌这一事实,以极高的安全性实现了作为在加密中要解决的问题的密钥交换。这使得可以在不会向特别是服务器侧模块公开任何信息的情况下,在完全保护有效载荷的内容的同时进行消息通信。
在一个变形例中,令牌生成单元34生成包括时刻信息以及以下的值的令牌:诸如便携式终端装置3中所安装的一次性密码等的从软件获得的值、或者从便携式终端装置3中所安装的硬件随机数发生器获得的值。在这种情况下,代替传感器值,令牌包括诸如一次性密码等的从软件获得的值以及从硬件随机数生成器获得的值至少之一。如上所述,令牌使得能够识别出App在某个特定时间在特定便携式终端装置上正运行就足够了。
以下说明本发明实施例的示例使用。由于根据本实施例的***1在多个同时活动的App 32之间进行链接,因此可以将本实施例应用于通过利用多任务特征来在App 32之间进行链接。几乎所有的现有智能电话都允许安装第三方IME(自定义键盘),并且IME可以与网络进行通信。因而,在进行App间通信的App 32是IME App和游戏App的情况下,通过在IMEApp和游戏App之间进行链接,可以基本上通过单击来进行“与游戏账户链接的文本的输入”或“与游戏运动链接的特殊长URL的输入”。
图11是用于说明本实施例的示例使用的图,其中游戏App 32a和键盘App32b链接,这是多任务处理的典型情况。图11的上部所示的游戏App 32a和图11的下部所示的键盘App32b这两者都对应于本实施例中的App 32,并且图11示出同时执行两个App 32a和32b的状态。游戏App 32a作为独立于键盘App 32b的进程而运行,并且键盘App 32b作为独立于包括游戏App 32a的其它App的进程而运行。这里,如前面所述,根据本实施例的***1使得可以通过经由服务器4在游戏App 32a和键盘App 32b之间建立信息传输路径来在App 32之间来进行双向通信。在这种情况下,例如,用作发送侧App 32的键盘App 32b被配置为能够将经由键盘App 32b输入的内容(“键盘和App可以实时地彼此进行通信”)发送至用作接收侧App32的游戏App 32a,并且游戏App 32a被配置为能够实时地接收经由键盘App 32b输入的内容。这使得安全地进行进程间通信。假定键盘App 32b是可以独自访问因特网上的服务器的、并且可以从任意App被调用以输入文本的App。
在上述的处理或操作中,可以自由地修改处理或操作,只要在处理或操作中没有产生矛盾(诸如某个步骤利用在该步骤中尚不可用的数据的矛盾等)即可。此外,上述示例是用于解释本发明的示例,并且本发明不限于这些示例。本发明可以以各种形式来体现,只要没有背离本发明的主旨即可。
附图标记说明
1 ***
2 网络
3 便携式终端装置
4 服务器
11 处理器
12 显示装置
13 输入装置
14 存储装置
15 通信装置
16 总线
12 处理器
22 显示装置
23 输入装置
24 存储装置
25 通信装置
26 总线
31 沙箱
32 App(应用)
33 App功能单元
34 令牌生成单元
35 发布单元
36 订阅单元
41 消息总线
42 历史数据库
50 发布消息
51 报头(令牌矩阵)
52 有效载荷
53 加密密钥
60 令牌矩阵
Claims (11)
1.一种用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信的***,
其中,所述便携式终端装置包括:
令牌生成单元,用于生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;
发布单元,用于将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及
订阅单元,用于将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收从所述发布单元发送来的数据,
其中,所述服务器:
存储所述订阅消息中所包括的令牌;以及
在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
2.根据权利要求1所述的***,其中,所述令牌是令牌矩阵,在所述令牌矩阵中,单个行包括表示所述时刻信息中的单个时刻的信息、以及表示所述传感器值信息中的与该时刻相关联的一个或多个传感器值的信息。
3.根据权利要求1或2所述的***,其中,所述传感器装置包括GPS传感器、陀螺仪传感器和加速度传感器至少之一。
4.根据权利要求1或2所述的***,
其中,所述发布单元从所述发布消息提取所述令牌的一部分并对所述有效载荷进行加密,并且掩蔽或删除所述发布消息中的所提取的部分,以及
其中,所述订阅单元将所述发布消息中所包括的令牌与所述令牌生成单元所生成的令牌进行比较以识别被所述发布单元用于加密的所述部分,并且通过使用所识别的部分来对所述有效载荷进行解密。
5.根据权利要求1或2所述的***,其中,所述预定条件是所比较的令牌之间的一致率大于或等于阈值。
6.根据权利要求1或2所述的***,
其中,所述订阅消息包括被所述另一应用用于接收所述有效载荷的端口编号,以及
其中,在接收到所述发布消息的情况下,所述服务器将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足所述预定条件的情况下,将所述有效载荷发送至所述便携式终端装置的所述端口编号。
7.根据权利要求1或2所述的***,其中,所述订阅单元将所述订阅消息周期性地发送至所述服务器。
8.根据权利要求1或2所述的***,
其中,所述令牌包括所述便携式终端装置的IP地址,
其中,所述服务器由负载分配装置和多个服务器装置构成,以及
其中,所述负载分配装置使得从同一IP地址发送来的所述发布消息和所述订阅消息由同一服务器装置进行处理。
9.一种存储介质,其存储一组程序,所述一组程序用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信,
其中,所述一组程序使得所述便携式终端装置执行以下步骤:
生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;
将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及
将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收所述发布消息中所包括的数据,以及
其中,所述一组程序使得所述服务器执行以下步骤:
存储所述订阅消息中所包括的令牌;以及
在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
10.一种用于在经由网络连接至服务器的便携式终端装置上运行的多个应用之间进行通信的方法,所述方法包括以下步骤:
在所述便携式终端装置处生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;
将包括所述令牌和有效载荷的发布消息从所述便携式终端装置发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;
将包括所述令牌的订阅消息从所述便携式终端装置发送至所述服务器,所述订阅消息表示所述另一应用能够接收所述发布消息中所包括的数据;
将所述订阅消息中所包括的令牌存储在所述服务器中;以及
在所述服务器中,在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷从所述服务器发送至所述另一应用。
11.一种服务器,其在用于在经由网络连接至所述服务器的便携式终端装置上运行的多个应用之间进行通信的***中,
其中,所述便携式终端装置包括:
令牌生成单元,用于生成令牌,所述令牌包括时刻信息、以及从所述便携式终端装置中所包括的传感器装置获取到的传感器值信息;
发布单元,用于将包括所述令牌和有效载荷的发布消息发送至所述服务器,所述发布消息是要从所述便携式终端装置上运行的一个应用发送至所述便携式终端装置上运行的另一应用的消息;以及
订阅单元,用于将包括所述令牌的订阅消息发送至所述服务器,所述订阅消息表示所述另一应用能够接收从所述发布单元发送来的数据,
其中,所述服务器:
存储所述订阅消息中所包括的令牌;以及
在接收到所述发布消息的情况下,将所述发布消息中所包括的令牌与所存储的订阅消息中所包括的令牌进行比较,并且在该比较的结果满足预定条件的情况下,将所述有效载荷发送至所述另一应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-005616 | 2018-01-17 | ||
JP2018005616A JP6381837B1 (ja) | 2018-01-17 | 2018-01-17 | 通信を行うためのシステム、プログラム、方法及びサーバ |
PCT/JP2019/001012 WO2019142801A1 (ja) | 2018-01-17 | 2019-01-16 | 通信を行うためのシステム、プログラム、方法及びサーバ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111868688A CN111868688A (zh) | 2020-10-30 |
CN111868688B true CN111868688B (zh) | 2024-04-23 |
Family
ID=63354742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980019489.8A Active CN111868688B (zh) | 2018-01-17 | 2019-01-16 | 用于进行通信的***、存储介质、方法和服务器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10908978B2 (zh) |
JP (1) | JP6381837B1 (zh) |
KR (1) | KR102374887B1 (zh) |
CN (1) | CN111868688B (zh) |
WO (1) | WO2019142801A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615463B2 (en) * | 2018-08-01 | 2023-03-28 | Appfolio, Inc. | Artificial intelligence based digital leasing assistant |
JP7058687B2 (ja) * | 2020-04-27 | 2022-04-22 | ソフトバンク株式会社 | システム、通信デバイス、プログラム、及び通信方法 |
US11558370B2 (en) | 2021-06-14 | 2023-01-17 | Bank Of America Corporation | Electronic system for generation of authentication tokens using digital footprint |
CN114338801B (zh) * | 2022-02-23 | 2024-03-15 | 国网湖南省电力有限公司 | 一种适用于智能量测设备的轻量级发布订阅方法及***、设备、存储介质 |
CN116723235B (zh) * | 2023-08-08 | 2023-11-07 | 北京智芯微电子科技有限公司 | 智慧开关控制单元、硬件架构、功能实现方法及智慧开关 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169935A (zh) * | 2012-03-28 | 2014-11-26 | 索尼公司 | 信息处理装置、信息处理***、信息处理方法及程序 |
CN104364762A (zh) * | 2012-04-10 | 2015-02-18 | 斯波帝范公司 | 通过网页控制本地应用程序的***和方法 |
WO2015122194A1 (ja) * | 2014-02-14 | 2015-08-20 | Necソリューションイノベータ株式会社 | リアルタイム通信システム、リアルタイム通信装置、リアルタイム通信方法および記録媒体 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2371125A (en) * | 2001-01-13 | 2002-07-17 | Secr Defence | Computer protection system |
WO2005001618A2 (en) * | 2003-06-04 | 2005-01-06 | Mastercard International Incorporated | Customer authentication in e-commerce transactions |
KR101109549B1 (ko) * | 2008-11-25 | 2012-02-09 | 성종우 | 메타데이터에 기반한 센서노드 관리장치 및 방법 |
JP2011027917A (ja) * | 2009-07-23 | 2011-02-10 | Lemuria Holdings Ltd | デジタル貸金庫システム及びサーバ |
JP2011141849A (ja) * | 2010-01-09 | 2011-07-21 | Girunetto Kk | 携帯端末を用いたプリペイド及びポストペイド決済システム,小額振替方法、ポイントサービスシステム、エスクローサービスシステム。 |
KR101243323B1 (ko) * | 2011-12-13 | 2013-03-13 | 강릉원주대학교산학협력단 | 수중음향센서 네트워크에서의 패킷 검사방법 및 장치 |
US9003556B2 (en) * | 2013-02-28 | 2015-04-07 | Facebook, Inc. | Techniques for in-app user data authorization |
EP3104291A1 (en) | 2015-06-09 | 2016-12-14 | Thomson Licensing | Device and method for protection of ios software modules |
GB201604362D0 (en) * | 2016-03-15 | 2016-04-27 | Tangentix Ltd | Computer system and method for sandboxed applications |
US20180285172A1 (en) * | 2017-03-28 | 2018-10-04 | Vmware, Inc. | Data exchange between applications |
KR101806070B1 (ko) * | 2017-05-02 | 2017-12-07 | 건양대학교산학협력단 | 사물인터넷을 위한 인증 시스템 |
-
2018
- 2018-01-17 JP JP2018005616A patent/JP6381837B1/ja active Active
-
2019
- 2019-01-16 WO PCT/JP2019/001012 patent/WO2019142801A1/ja active Application Filing
- 2019-01-16 KR KR1020207022801A patent/KR102374887B1/ko active IP Right Grant
- 2019-01-16 CN CN201980019489.8A patent/CN111868688B/zh active Active
-
2020
- 2020-07-16 US US16/930,403 patent/US10908978B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169935A (zh) * | 2012-03-28 | 2014-11-26 | 索尼公司 | 信息处理装置、信息处理***、信息处理方法及程序 |
CN104364762A (zh) * | 2012-04-10 | 2015-02-18 | 斯波帝范公司 | 通过网页控制本地应用程序的***和方法 |
WO2015122194A1 (ja) * | 2014-02-14 | 2015-08-20 | Necソリューションイノベータ株式会社 | リアルタイム通信システム、リアルタイム通信装置、リアルタイム通信方法および記録媒体 |
Non-Patent Citations (1)
Title |
---|
ATM网络信息安全技术在载人航天通信中的应用研究;张凤仙;吕文彪;;载人航天;20030630(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111868688A (zh) | 2020-10-30 |
WO2019142801A1 (ja) | 2019-07-25 |
KR102374887B1 (ko) | 2022-03-16 |
KR20200105706A (ko) | 2020-09-08 |
US20200348992A1 (en) | 2020-11-05 |
US10908978B2 (en) | 2021-02-02 |
JP2019125179A (ja) | 2019-07-25 |
JP6381837B1 (ja) | 2018-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111868688B (zh) | 用于进行通信的***、存储介质、方法和服务器 | |
US20200364368A1 (en) | Method and system of preserving privacy for usage of lightweight blockchain clients | |
CN111143890B (zh) | 一种基于区块链的计算处理方法、装置、设备和介质 | |
EP3869366B1 (en) | Method and apparatus for updating password of electronic device, device and storage medium | |
US9571280B2 (en) | Application integrity protection via secure interaction and processing | |
US11750396B2 (en) | Private data processing method, device and medium | |
EP3353987B1 (en) | Enabling communication while limiting access to user information | |
CN107690793A (zh) | 用于移动平台的微vpn隧穿 | |
CN101316424A (zh) | 一种信息传输方法、***及装置 | |
EP3007061A1 (en) | Application execution program, application execution method, and information processing terminal device in which application is executed | |
US20170374044A1 (en) | Messenger application systems and methods | |
CN111274611A (zh) | 数据脱敏方法、装置及计算机可读存储介质 | |
CN108073823A (zh) | 数据处理方法、装置及*** | |
CN111259363A (zh) | 业务访问信息处理方法、***、装置、设备和存储介质 | |
US11062046B1 (en) | Self-referencing data encryption | |
US11163537B1 (en) | Tiered application pattern | |
JP2019125334A (ja) | 通信を行うためのシステム、プログラム、方法及びサーバ | |
CN111209544A (zh) | Web应用安全保护方法、装置、电子设备及存储介质 | |
US11095447B2 (en) | Method for using cryptography and authentication methods and systems for carrying out said method | |
EP3279800B1 (en) | Network communication method and network communication system | |
CN114519184B (zh) | 基于Agent进程的账号改密方法、装置、设备及介质 | |
US11425129B1 (en) | System and method of secured communication | |
CN110806740B (zh) | 分布式***的安全检测方法及***、电子设备、存储介质 | |
EP4307607A1 (en) | System and method of secured interface to a blockchain based network | |
JP6214445B2 (ja) | Vpn通信端末、vpn通信制御方法及びプログラム |
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: 40029722 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |