CN102272727B - 用于支援多个应用程序间的数据连接的装置和方法 - Google Patents

用于支援多个应用程序间的数据连接的装置和方法 Download PDF

Info

Publication number
CN102272727B
CN102272727B CN201080003886.5A CN201080003886A CN102272727B CN 102272727 B CN102272727 B CN 102272727B CN 201080003886 A CN201080003886 A CN 201080003886A CN 102272727 B CN102272727 B CN 102272727B
Authority
CN
China
Prior art keywords
metamessage
application program
added
mentioned
situation
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.)
Expired - Fee Related
Application number
CN201080003886.5A
Other languages
English (en)
Other versions
CN102272727A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102272727A publication Critical patent/CN102272727A/zh
Application granted granted Critical
Publication of CN102272727B publication Critical patent/CN102272727B/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
    • 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/544Buffers; Shared memory; Pipes
    • 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/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种数据连接支援装置、方法以及计算机程序。在连接目标的应用程序与其他应用程序连接的情况下,判断是否仅对其他应用程序的输出参数和连接目标的应用程序的输入参数中的一方添加了元信息。在判断为仅对一方添加了元信息的情况下,将添加的一方的元信息作为未添加的另一方的元信息来进行添加。在作为另一方的元信息而添加的元信息与添加在连接目标的应用程序的输出参数或添加在连接目标的应用程序的输入参数上的元信息一致的情况下,连接应用程序。根据本发明,能够在不降低应用程序设计自由度的情况下灵活地连接多个应用程序。

Description

用于支援多个应用程序间的数据连接的装置和方法
技术领域
本发明涉及能够在不降低应用程序设计自由度的情况下灵活连接多个应用程序的、用于支援多个应用程序间的数据连接(data linkage)的装置、方法以及计算机程序。 
背景技术
随着因特网技术的迅速发展,通过使在Web上提供的多个服务连接来构建新服务的所谓混搭程式(mashup)正在盛行。在使多个服务连接时,将来自一个服务的输出要素用作成为连接对象的服务的哪一个参数这样的设定,需要混搭程式执行者在理解了各项服务的内容之后手动进行,成为一种烦杂的操作。 
为了尽可能使服务的连接顺利进行,正在开发各种数据连接技术。例如,在专利文献1中公开了一种数据连接装置,为了在应用程序之间实现数据共享而使用粘贴板,通过事先登记能在应用程序之间进行连接的数据格式,仅在对添加有与登记的数据格式一致的数据的数据进行收发的应用程序之间能进行数据连接。据此,能够使添加有与登记的数据格式的至少一个一致的数据的数据进行收发的应用程序彼此连接,能够在不进行明示的操作的情况下自动地使应用程序连接。 
在专利文献2中公开有服务连接信息生成系统,生成用于连接要素服务的连接脚本,根据与输入输出的元数据对应的实体的语意本体来连接要素服务。据此,即使在实体的名称不同的情况下,在与语意本体一致或者类似的情况下,也能够连接要素服务。 
专利文献1:日本特开2006-190008号公报 
专利文献2:日本特开2008-210227号公报 
发明内容
但是,在专利文献1公开的数据连接装置中,若不预先登记能够在成为连接对象的应用程序间进行收发的数据中添加的数据的数据格式,则不能进行数据的连接,为了实际应用而需要事先登记许多数据格式。此外,要添加的数据需要用户有意识地添加,不能自动添加,因此同样难以在不相互意识到其他应用程序的情况下使独立设计的应用程序之间进行连接。 
此外,在专利文献2所公开的服务连接信息生成系统中,能够使用语意实体来判断连接的可能性,但产生以下问题:需要事先生成实体数据库,在服务的数量增加的情况下需要向实体数据库登记大量数据,对每天发生的网络应用程序进行充分应对是较为困难的。 
鉴于上述问题的存在,本发明的目的在于:提供能够在不降低应用程序设计自由度的情况下使多个应用程序灵活连接的、用于支援多个应用程序间的数据连接的装置、方法以及计算机程序。 
为了达到上述目的,第一发明的用于支援数据连接的装置包括:元信息(meta-information)存储机构,在应用程序已建立数据连接的情况下,存储在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息;连接判断机构,判断连接目标的应用程序是否与其他应用程序连接;元信息判断机构,在该连接判断机构中判断为连接着其他应用程序的情况下,判断是否仅对上述其他应用程序的输出参数和上述连接目标的应用程序的输入参数的一方添加了元信息;元信息添加机构,在该元信息判断机构中判断为仅对一方添加的情况下,将所添加的一方的元信息作为未添加的另一方的元信息进行添加;判断机构,判断在该元信息添加机构中作为上述另一方的元信息而添加的元信息和添加在上述连接源的应用程序的输出参数或上述连接目标的应用程序的输入参数上的元信息是否一致;以及连接机构,连接该判断机构中判断为一致的应用程序。 
此外,第二发明的用于支援数据连接的装置是在第一发明中,还包括加权机构,对在上述元信息添加机构中添加的元信息添加加权系数。 
第三发明的用于支援数据连接的装置是在第二发明中,上述加权系数越是对于间接估计并添加的元信息则其值越小。 
第四发明的用于支援数据连接的装置是在第二或第三发明中,具有:优先权设定机构,根据上述加权系数来设定添加元信息的优先权;连接指定接受机构,接受应用程序的连接的指定;候选应用程序显示机构,在该连接指定接受机构接受了连接源的应用程序的指定的情况下,按所设定的优先权从高到低的顺序列表显示能够进行连接的连接目标应用程序。 
第五发明的用于支援数据连接的装置是在第二至第四发明中的任一发明中,上述优先权设定机构使在连接源的应用程序的输出参数上添加的元信息的加权系数与在连接目标的应用程序的输入参数上添加的元信息的加权系数相加,按相加值从大到小的顺序将优先权从高到低来进行设定。 
为了达到上述目的,第六发明的用于支援数据连接的方法包括以下步骤:在应用程序已建立数据连接的情况下,存储在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息;判断连接目标的应用程序是否连接着其他应用程序;在判断为连接着其他应用程序的情况下,判断是否仅对上述其他应用程序的输出参数和上述连接目标的应用程序的输入参数的一方添加元信息;在判断为仅对一方添加的情况下,将所添加的一方的元信息作为未添加的另一方的元信息进行添加;判断作为上述另一方的元信息而添加的元信息和添加在上述连接源的应用程序的输出参数或添加在上述连接目标的应用程序的输入参数上的元信息是否一致;以及连接判断为一致的应用程序。 
接着,为了达到上述目的,第七发明的计算机程序是能够在支援多个应用程序之间的数据连接的计算机中执行的计算机程序,使上述 计算机作为以下机构而发挥作用:元信息存储机构,在应用程序已建立数据连接的情况下,存储在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息;连接判断机构,判断连接目标的应用程序是否连接着其他应用程序;元信息判断机构,在该连接判断机构中判断为连接着其他应用程序的情况下,判断是否仅对上述其他应用程序的输出参数和上述连接目标的应用程序的输入参数的一方添加了元信息;元信息添加机构,在该元信息判断机构中判断为仅对一方添加的情况下,将所添加的一方的元信息作为未添加的另一方的元信息进行添加;判断机构,判断在该元信息添加机构中作为上述另一方的元信息而添加的元信息和添加在上述连接源的应用程序的输出参数或上述连接目标的应用程序的输入参数上的元信息是否一致;以及连接机构,连接在该判断机构中判断为一致的应用程序。 
第八发明的计算机程序是在第七发明中,使上述计算机作为加权机构而发挥作用,所述加权机构对在上述元信息添加机构中添加的元信息添加加权系数。 
第九发明的计算机程序是在第八发明中,上述加权系数越是间接推定并添加的元信息则值越小。 
第十发明的计算机程序是在第八或第九发明中,使上述计算机作为以下机构而发挥作用:优先权设定机构,根据上述加权系数设定添加元信息的优先权;连接指定接受机构,接受应用程序的连接的指定;以及候选应用程序显示机构,在该连接指定接受机构接受了连接源的应用程序的指定的情况下,按设定的优先权从高到低的顺序列表显示能够连接的连接目标应用程序。 
第十一发明的计算机程序是在第八至第十发明中的任一发明中,使上述优先权设定机构作为以下机构而发挥作用:将在连接源的应用程序的输出参数上添加的的元信息的加权系数和在连接目标的应用程序的输入参数上添加的元信息的加权系数相加的机构;和按相加值从大到小的顺序将优先权从高到地设定的机构。 
根据本发明,通过预先收集并存储由用户明确添加的、或者已被连接的应用程序的元信息,即使在未添加元信息的情况下,也能够推定并添加用于连接的元信息,能够可靠进行网络服务等应用程序的连接(混搭)。此外,通过对元信息加权,能够对要连接的应用程序施加优先权,能够按优先权从高到低的顺序选择要连接的应用程序,并且能够预先防止由于自动添加元信息,而向各应用程序意外传播元信息。 
附图说明
图1是表示本发明实施方式1的数据连接系统的结构例的框图,还数据连接系统包括用于支援多个应用程序之间的数据连接的装置。 
图2是本发明实施方式1的混搭程式信息存储部的数据构成的例示图。 
图3是以往的混搭程式操作的说明图。 
图4是使用了本发明实施方式1的数据连接系统的元信息的混搭程式操作的说明图。 
图5是在连接目标应用程序中不具备元信息的情况下的混搭程式操作的例示图。 
图6是本发明实施方式1的数据连接支援装置的功能框图。 
图7是示出本发明实施方式1的数据连接支援装置的CPU进行数据连接支援处理的步骤的流程图。 
图8是本发明实施方式2的混搭程式信息存储部的数据构成的例示图。 
图9是使用了元信息的混搭程式操作的说明图。 
图10是追加有加权系数的情况下的混搭程式操作的说明图。 
图11是作为与现有的应用程序连接相关的信息而示出存储在混搭程式信息存储部中的信息的示意图。 
图12是示出对其他应用程序指定优先权的例子的示意图。 
图13是本发明实施方式2的数据连接支援装置的功能框图。 
图14是示出本发明实施方式2的数据连接支援装置的CPU进行数据连接支援处理的步骤的流程图。 
图15是应用程序列表的例示图。 
图16是提高混搭程式效率的混搭程式工具的操作画面的例示图。 
标号说明
1 数据连接支援装置 
2 网络 
3 计算机 
11 CPU 
12 存储器 
13 存储装置 
14 I/O接口 
15 通信接口 
16 视频接口 
17 移动式磁盘驱动器 
18 内部总线 
23 显示装置 
90 移动式记录介质 
100 计算机程序 
131 混搭程式信息存储部 
具体实施方式
下面根据附图来具体说明本发明实施方式的用于支援多个应用程序之间的数据连接的装置。以下的实施方式不限定权利要求书所记载的发明,当然在实施方式中说明的特征事项的所有组合不一定是解决手段的必要事项。 
此外,本发明能够由多个不同的方式来实施,不应限于实施方式的记载内容而进行的解释。在实施方式中,对相同的要素标以相同的 符号。 
在以下实施方式中,对支援向计算机系统导入了计算机程序的多个应用程序之间的数据连接的装置进行说明,但只要是本领域技术人员即可得知,本发明能够作为能够由计算机执行本发明的一部分的计算机程序来实施。因此,本发明能够采用作为支援多个应用程序之间的数据连接的装置这样的硬件的实施方式,作为软件的实施方式以及软件与硬件的组合的实施方式。计算机程序能够记录在硬盘、DVD、CD、光存储装置、磁性存储装置等任意的能够由计算机读取的记录介质中。 
在本发明的实施方式中,通过预先集中并存储由用户明确添加的、或者已被连接的应用程序的元信息,则即使在不具备元信息的情况下也能够推测并添加用于连接的元信息,能够可靠地进行网络服务等应用程序的连接(混搭)。此外,通过对元信息加权,能够对要连接的应用程序指定优先权,能够按优先权从高到低的顺序选择要连接的应用程序,并且能够将由于自动添加元信息而向各应用程序意外传播元信息的情况防患于未然。 
(实施方式1) 
图1是表示本发明实施方式1的数据连接系统的结构例的框图,该数据连接系统包含用于支援多个应用程序之间的数据连接的装置。本发明实施方式1的数据连接系统的多个计算机3、3、…和数据连接支援装置1能够通过网络2进行数据通信地连接。 
数据连接支援装置1至少包括:CPU(中央运算装置)11、存储器12、存储装置13、I/O接口14、通信接口15、视频接口16、移动式磁盘驱动器17以及将上述硬件连接起来的内部总线18。 
CPU11通过内部总线18与数据连接支援装置1的上述那些硬件各部分连接,对上述硬件各部分的工作进行控制,并且按照存储在存储装置13中的计算机程序100来执行各种软件的功能。存储器12由SRAM、SDRAM等易失性存储器构成,在执行计算机程序100时载入模块被展开,存储在执行计算机程序100时生成的临时数据等。 
存储装置13由内置的固定式存储装置(硬盘)、ROM等构成。存储在存储装置13中的计算机程序100通过移动式磁盘驱动器17从记录有程序和数据等信息的DVD、CD-ROM等移动式记录介质90中下载程序和数据等信息,在执行时从存储装置13向存储器12展开而执行。当然,也可以是通过通信接口15从连接在网络2上的外部计算机中下载的计算机程序。 
此外,存储装置13具有混搭程式信息存储部(元信息存储部)131。在混搭程式信息存储部131中每次混搭时通过网络2接收并存储对利用外部计算机3、3、…进行数据连接的应用程序的输入输出参数添加的元信息。图2是本发明实施方式1的混搭程式信息存储部131的数据构成的例示图。 
如图2所示,在混搭程式信息存储部131中存储有:连接源应用程序ID,其作为用于识别被混搭的连接源应用程序的信息;连接源应用程序的输出参数;对输出参数添加的输出元信息;连接目标应用程序ID,其作为用于识别被混搭的连接目标应用程序的信息;连接目标应用程序的输入参数;以及对输入参数添加的输入元信息。即使在输出参数和输入参数不一致的情况下,也能够在添加于输出参数中的输出元信息和添加于输入参数中的输入元信息一致的情况下进行连接。此外,元信息只要包含在任一方中即可。 
返回到图1,通信接口15与内部总线18连接,并连接在互联网、LAN、WAN等外部网络2上,从而能够与外部计算机3、3、…等进行数据收发。 
I/O接口14与键盘21、鼠标22等数据输入介质连接,接受数据的输入。此外,视频接口16与CRT监视器、LCD等显示装置23连接,显示预定的图像。 
下面,对使用上述结构的数据连接支援装置1的数据连接系统的工作进行说明。图3是现有的混搭程式操作的说明图。图3中,首先,在将执行餐厅的搜寻处理的应用程序31和执行最近车站的搜寻处理的应用程序32连接起来的情况下,应用程序31的输出参数是表示餐厅的地址的“地址”和表示餐厅名的“名称”。另一方面,应用程序32的输入参数是I。这样,应用程序的设计者能够自由设定输入输出参数,因此以连接应用程序为前提而预先设定相同的输入输出参数是较为困难的。所以,在使应用程序31和应用程序32连接的情况下,需要使应用程序32的输入参数I和应用程序31的输出参数“地址”结合,用户需要明确设定成应用程序32的输入参数I与应用程序31的输出参数“地址”一致。 
另一方面,在要连接执行邮编变换处理的应用程序33与应用程序32的情况下,应用程序33的输出参数是表示与邮编对应的地址的adr和假名标记的adr_kana。因此,在使应用程序33和应用程序32连接的情况下,用户也需要明确设定成应用程序32的输入参数I与应用程序33的输出参数“地址”一致。 
但是,在已经连接着应用程序31和应用程序32的情况下,设定成应用程序32的输入参数I与应用程序31的输出参数“地址”一致,因此不能设定成应用程序32的输入参数I与应用程序33的输出参数adr一致。所以,存在不论是否知道为了进行连接而应结合的输入输出参数,均不能连接应用程序33和应用程序32这样的问题。 
因此,在本实施方式1中,对各应用程序的输入输出参数添加元信息。图4是使用了本发明实施方式1的数据连接系统的元信息的混搭程式操作的说明图。 
图4中,首先在将执行餐厅的搜寻处理的应用程序41和执行最近车站的搜寻处理的应用程序42连接起来的情况下,应用程序41的输出参数是表示餐厅的地址的“地址”和表示餐厅名的“名称”。另一方面,应用程序42的输入参数是I,因此在将应用程序41和应用程序42连接起来的情况下,与图3相同,需要使应用程序42的输入参数I和应用程序41的输出参数“地址”结合起来,用户需要明确地设定成应用程序42的输入参数I与应用程序41的输出参数“地址”一致。 
但是,如仅这样,则与图3相同,应用程序42仅能连接应用程 序41,因此对各应用程序的输入输出参数添加元信息。作为要添加的元信息,若为日期、价格、地址、纬度等用户固有的元信息则不特别限定。其他,也可以添加地址、纬度、经度、日期等被标准化的数据类型,也可以添加yyyy/mm/dd等数据格式。 
图4中,对应用程序41的输出参数“地址”添加有元信息“地址”,对应用程序42的输入参数I也添加有元信息“地址”。因此,输出参数“地址”和输入参数I即使在成为连接对象的应用程序41、42之间不同,被添加的元信息“地址”也一致,因此能够使应用程序41的输出参数“地址”和应用程序42的输入参数I结合。 
同样地,对执行邮编变换处理的应用程序43的输出参数adr也添加元信息“地址”,即使输出参数adr和输入参数I在成为连接对象的应用程序43、42之间不同,所添加的元信息“地址”也一致,因此也能够使应用程序43的输出参数adr和应用程序42的输入参数I结合。这样,通过添加元信息,也能够在不降低应用程序设计自由度的情况下,自由进行应用程序之间的连接。 
此外,在设计应用程序时,不限于必须添加元信息。图5是连接目标应用程序不具备元信息的情况下的混搭程式操作的例示图。 
图5中,首先在将执行餐厅的搜寻处理的应用程序41和执行最近车站的搜寻处理的应用程序42连接起来的情况下,应用程序41的输出参数是表示餐厅的地址的“地址”和表示餐厅名的“名称”。另一方面,应用程序42的输入参数是I,因此在将应用程序41和应用程序42连接起来的情况下,与图3相同,需要使应用程序42的输入参数I和应用程序41的输出参数“地址”结合。 
但是,对应用程序41的输出参数“地址”添加元信息“地址”,与此相对,对应用程序42的输入参数I不添加元信息。这种情况下,即使输出参数“地址”和输入参数I在成为连接对象的应用程序41、42之间不同,也能够在所添加的元信息“地址”一致的情况下结合起来,因此在应用程序41和应用程序42被连接的时刻,假定对应用程序42的输入参数I添加有元信息“地址”,并存储到混搭程式信息 存储部131中。 
这样,根据已被结合的事实推定元信息,从而例如在对其他的应用程序43的输出参数adr也添加有元信息“地址”的情况下,即使输出参数adr和输入参数I在成为连接对象的应用程序43、42之间不同,也能够在对应用程序43的输出参数adr所添加的元信息“地址”和被推定且被存储在混搭程式信息存储部131中的元信息“地址”一致的情况下,判断为能够结合。 
图6是本发明实施方式1的数据连接支援装置1的功能框图。首先,在通过网络2数据连接着应用程序的情况下,收集在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息,预先存储到存储装置13的混搭程式信息存储部131中。 
连接源应用程序指定接受部(连接指定接受机构)601接受成为连接源的应用程序的指定。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
连接目标应用程序指定接受部(连接指定接受机构)602接受成为连接目标的应用程序的指定。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
连接判断部603判断接受了指定的连接目标的应用程序是否与其他的应用程序连接。具体而言,查询混搭程式信息存储部131,判断是否存在已经被连接的应用程序。 
在连接判断部603判断为与其他的应用程序连接的情况下,元信息判断部604判断是否仅向连接的其他的应用程序的输出参数和接受了指定的连接目标的应用程序的输入参数的一方添加了元信息。是否添加了元信息能够通过是否存储在混搭程式信息存储部131中来判断。 
在元信息判断部604中判断为仅对一方添加的情况下,元信息添加部605将所添加的一方的元信息作为未添加的另一方的元信息而添 加到各自的参数上。即,在仅对连接着其他应用程序的输出参数添加元信息的情况下,对接受了指定的连接目标的应用程序的输入参数添加该元信息,相反,在对接受了指定的连接目标的应用程序的输入参数添加有元信息的情况下,对连接着其他应用程序的输出参数添加该元信息。 
判断部606判断在元信息添加部605中添加的元信息和对连接源的应用程序的输出参数或连接目标的应用程序的输入参数所添加的元信息是否一致。在判断部606判断为两者的元信息一致的情况下,连接部607将两个应用程序连接起来。 
图7是表示本发明实施方式1的数据连接支援装置1的CPU11进行数据连接支援处理的步骤的流程图。数据连接支援装置1的CPU11接受成为连接源的应用程序和成为连接目标的应用程序的指定(步骤S701)。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
CPU11判断接受了指定的连接目标的应用程序是否与其他应用程序连接(步骤S702)。具体而言,查询混搭程式信息存储部131,判断是否存在已被连接的应用程序。 
在CPU11判断为连接着其他应用程序的情况下(步骤S702:是),CPU11判断是否仅对连接着其他应用程序的输出参数和接受了指定的连接目标的应用程序的输入参数的一方添加了元信息(步骤S703)。是否添加了元信息能够通过是否存储在混搭程式信息存储部131中进行判断。 
在CPU11判断为仅一方添加有元信息的情况下(步骤S703:是),CPU11将对一方的参数添加的元信息添加给未添加的另一方的参数(步骤S704)。例如,在仅对连接的其他应用程序的输出参数添加了元信息的情况下,对接受了指定的连接目标的应用程序的输入参数添加该元信息,相反,在仅对接受了指定的连接目标的应用程序的输入参数添加了元信息的情况下,对连接着其他应用程序的输出参数添加该元信息。 
在CPU11判断为未连接着其他应用程序的情况下(步骤S702:否),在判断为双方添加有元信息的情况下(步骤S703:否),CPU11跳过步骤S704,判断要连接的应用程序的输出参数的元信息和输入参数的元信息是否一致(步骤S705)。在CPU11判断为不一致的情况下(步骤S705:否),CPU11将处理返回步骤S701,以再次进行要连接的应用程序的指定,反复进行上述处理。在CPU11判断为一致的情况下(步骤S705:是),CPU11能够将两个应用程序连接起来(步骤S706),作为一个新的应用程序执行。 
以上那样,根据本实施方式1,收集由用户明确地添加的、或者已连接的应用程序的元信息并预先存储到混搭程式信息存储部131中,从而即使在要连接的应用程序的输入输出参数不具备元信息的情况下,也能够推定并添加用于连接的元信息,能够可靠地进行网络服务等应用程序的连接(混搭)。 
(实施方式2) 
本发明实施方式2的包含有支援多个应用程序之间的数据连接的装置的数据连接系统的结构与实施方式1相同,因此标以相同的符号,省略详细的说明。本实施方式2在对输入输出参数添加的元信息进行加权方面与实施方式1不同。 
因此,对存储在存储装置13的混搭程式信息存储部(元信息存储部)131中的信息追加加权系数。图8是本发明实施方式2的混搭程式信息存储部131的数据构成的例示图。 
如图8所示,在混搭程式信息存储部131中存储有:连接源应用程序ID,其作为用于识别被混搭的连接源应用程序的信息;连接源应用程序的输出参数;对输出参数添加的输出元信息;输出元信息的加权系数;连接目标应用程序ID,其作为用于识别被混搭的连接目标应用程序的信息;连接目标应用程序的输入参数;对输入参数添加的输入元信息;以及输入元信息的加权系数。元信息能够对输入输出参数存储多个,能够按元信息存储加权系数。 
确定加权系数,以使在明确指定了元信息的情况下,例如在直接 接受了元信息的指定的情况下为1/1,在使用对连接对象的应用程序的参数所添加的元信息的情况下为1/2,在根据其他连接信息进行推定并添加有元信息的情况下为1/4。加权系数的确定方法不限于此,只要能够确定作为元信息而使用的优先权则可以为任意的确定方法。 
图9是使用了元信息的混搭程式操作的说明图。图9中,首先在将执行文献的搜索处理的应用程序91和执行作为传记辞典而使用了通用辞典的维基百科的搜索处理的应用程序92连接起来的情况下,应用程序91的输出参数是表示作者名的“作者”和表示文献名的“名称”。对输出参数“作者”添加元信息“人物”。 
另一方面,应用程序92的输入参数是“关键字”,使用通用辞典的维基百科,因此当然不具备元信息。所以,在连接了应用程序91和应用程序92的情况下,对应用程序92的输入参数“关键字”自动添加元信息“人物”。 
在将应用程序91和应用程序92连接的状态下,在想要将执行车站的搜寻处理的应用程序93与应用程序92连接的情况下,需要结合表示应用程序93的车站名的输出参数“车站”和表示应用程序92的输入参数“关键字”。但是,对应用程序92的输入参数“关键字”已经添加了元信息“人物”,导致对表示车站名的输出参数“车站”传播表示人名的元信息“人物”。因此,不论是否为车站名的搜索处理,可能会不断产生作为候选而选择人名搜索辞典的情况,使应用程序的连接产生障碍。 
因此,在本实施方式2中,通过按照元信息被添加的状况进行加权,从而将意外传播防患于未然。图10是追加了加权系数的情况下的混搭程式操作的说明图。 
在图10中,首先在将执行文献的搜索处理的应用程序91和执行作为传记辞典而使用了通用辞典的维基百科的搜索处理的应用程序92连接起来的情况下,应用程序91的输出参数是表示作者名的author和表示文献名的“名称”。对输出参数“作者”添加了元信息“人物”。明确地添加有元信息,因此对添加在输出参数“作者”上的元信息“人 物”追加有加权系数(1/1)。 
另一方面,应用程序92的输入参数是“关键字”,使用通用辞典的维基百科,因此当然不具备元信息。因此,在连接了应用程序91和应用程序92的情况下,对应用程序92的输入参数“关键字”自动添加元信息“人物”。仅对要连接的应用程序的任一方添加元信息,因此,对输入参数“关键字”所添加的元信息“人物”追加加权系数(1/2)。 
在将应用程序91和应用程序92连接起来的状态下,想要将执行车站的搜寻处理的应用程序93与应用程序92连接的情况下,需要结合表示应用程序93的车站名的输出参数“车站”和应用程序92的输入参数“关键字”。但是,对应用程序92的输入参数“关键字”已经添加了元信息“人物”,导致对表示车站名的输出参数“车站”传播表示人名的元信息“人物”。这种情况下,参照连接的其他应用程序而添加有元信息,因此对输出参数“车站”所添加的元信息“人物”追加加权系数(1/4)。 
这样,按输出参数、输入参数追加要添加的元信息的加权系数,因此在存储有多个输出参数和/或输入参数的情况下,选择优先权高的组合,即在加权系数的组合中选择评价为加权最高的组合的元信息,从而能够将意外传播防患于未然。 
说明添加了多个元信息的情况下的具体例。图11是示出作为与现有的应用程序连接相关的信息而存储在混搭程式信息存储部131中的信息的示意图。 
图11中,将执行文献的搜索处理的应用程序111、执行二手车的搜寻处理的应用程序112以及执行温泉的搜寻处理的应用程序113分别与执行使用了通用辞典的维基百科的搜索处理的应用程序114连接。应用程序111对输出参数“作者”添加了元信息“人物”、“关键字”、“产品”,并分别追加了加权系数(1/1)、(1/2)、(1/4)。 
同样地,应用程序112对输出参数“样式”添加了元信息“产品”、“关键字”、“人物”,并分别追加了加权系数(1/1)、(1/2)、 (1/4)。应用程序113对输出参数“功能”添加了元信息“关键字”、“人物”、“产品”,并分别追加了加权系数(1/2)、(1/4)、(1/4)。 
另一方面,连接目标的应用程序114对输入参数“关键字”添加了元信息“关键字”、“人物”、“产品”,并分别追加了加权系数(1/1)、(1/2)、(1/2)。 
图12是表示向相对于图11的应用程序连接的其他应用程序而设置优先权的例子的示意图。图12的(a)表示执行网络搜索的API的应用程序121,对输入参数“关键字”添加元信息“关键字”,并追加了加权系数(1/1)。 
这种情况下,应用程序111、112、113的元信息“关键字”的加权系数均为(1/2),因此可知作为连接源应用程序的候选,应用程序111、112、113不能设置优先权。 
图12的(b)表示执行人物搜索的API的应用程序122,对输入参数“哪一位”添加了元信息“人物”、“关键字”,并分别追加了加权系数(1/1)、(1/1)。这种情况下,针对元信息“人物”,对应用程序111追加的加权系数(1/1)最大,针对元信息“关键字”,也对应用程序111、112、113追加了加权系数(1/2)。因此,针对元信息“人物”,对应用程序111追加的加权系数最大为(1/1),因此与应用程序111的连接成为第一候选。 
这样,按输出参数、输入参数追加了要添加的元信息的加权系数,因此在存储有多个输出参数和/或输入参数的情况下,选择优先权高的组合,即在加权系数的组合中选择评价为加权最高的组合的元信息,从而能够将意外的传播防患于未然。 
图13是本发明实施方式2的数据连接支援装置1的功能框图。首先,在通过网络2数据连接着应用程序的情况下,收集在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息,并预先存储到存储装置13的混搭程式信息存储部131中。 
连接源应用程序指定接受部(连接指定接受机构)601接受成为 连接源的应用程序的指定。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
连接目标应用程序指定接受部(连接指示上接受机构)602接受成为连接目标的应用程序的指定。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
连接判断部603判断接受了指定的连接目标的应用程序是否连接着其他的应用程序。具体而言,查询混搭程式信息存储部131,判断是否存在已被连接的应用程序。 
元信息判断部604在连接判断部603判断为连接着其他应用程序的情况下,判断是否仅对连接的其他应用程序的输出参数、和接受了指定的连接目标的应用程序的输入参数的一方添加了元信息。是否添加了元信息能够通过是否存储在混搭程式信息存储部131中进行判断。 
元信息添加部605在元信息判断部604判断为仅对一方添加的情况下,将已添加的一方的元信息作为未添加另一方的元信息而向各自的参数添加。即,在仅向连接的其他应用程序的输出参数添加了元信息的情况下,向接受了指定的连接目标的应用程序的输入参数添加该元信息,相反,在仅对接受了指定的连接目标的应用程序的输入参数添加了元信息的情况下,对连接的其他应用程序的输出参数添加该元信息。 
加权部1101按添加在输入输出参数上的元信息追加加权系数,并存储到混搭程式信息存储部131中。要追加的加权系数优选越是间接推定并添加的元信息则值越小。在组合有元信息的情况下,在按加权系数的合计值从大到小的顺序设定添加元信息的优先权时,越是追加有明确指示的加权系数的元信息则越认为正确,从而提高作为接受选择的候选而添加的可能性。 
优先权设定部1102根据在加权部1101中追加的加权系数,设定添加元信息的优先权。在本实施方式2中,计算对所追加的加权系数 相加后的合计值,按合计值从大到小的顺序添加从高到低的优先权。例如,在连接源应用程序的输出参数的元信息的加权系数为1/1,连接目标应用程序的输入参数的元信息的加权系数为1/4的情况下,计算合计值5/4。对相同的连接目标应用程序,在其他连接源应用程序的输出参数的元信息的加权系数为1/2的情况下,计算合计值3/4。因此,前者的合计值较大,所以能够判断成优先权较高,能够将连接源应用程序的输出参数的元信息添加为前者的元信息。 
判断部606判断在元信息添加部605中添加的元信息和添加在连接源的应用程序的输出参数或连接目标的应用程序的输入参数上的元信息是否一致。连接部607在判断部606判断为两者的元信息一致的情况下,将两应用程序连接起来。 
此外,在按输入输出参数添加有多个元信息的情况下,判断部606中的判断结果有时为多个。因此,也可以设置候选应用程序显示部1103,将包括成为候选的元信息的应用程序进行列表显示。据此,能够将错误的连接防患于未然,能够在以目视确认的同时选择要连接的应用程序。 
图14是表示本发明实施方式2的数据连接支援装置1的CPU11进行数据连接支援处理的步骤的流程图。数据连接支援装置1的CPU11接受成为连接源的应用程序和成为连接目标的应用程序的指定(步骤S1401)。具体而言,通过鼠标22等的点击操作、键盘21的键盘输入操作等从被列表显示的应用程序目录中接受指定。 
CPU11判断接受了指定的连接目标的应用程序是否连接着其他应用程序(步骤S1402)。具体而言,查询混搭程式信息存储部131,判断是否存在已经连接的应用程序。 
在CPU11判断为连接着其他应用程序的情况下(步骤S1402:是),CPU11判断是否仅对连接的其他应用程序的输出参数和接受了指定的连接目标的应用程序的输入参数的一方添加了元信息(步骤S1403)。是否添加了元信息能够通过是否存储在混搭程式信息存储部131中进行判断。 
在CPU11判断为仅对一方添加了元信息的情况下(步骤S1403:是),CPU11将对一方的参数所添加的元信息添加到未添加的另一方的参数(步骤S1404)。例如,在仅对连接的其他应用程序的输出参数添加了元信息的情况下,对接受了指定的连接目标的应用程序的输入参数添加该元信息,相反,在仅对接受了指定的连接目标的应用程序的输入参数添加了元信息的情况下,对连接的其他应用程序的输出参数添加该元信息。 
在CPU11判断为未连接着其他应用程序的情况下(步骤S1402:否),在判断为对双方添加了元信息的情况下(步骤S1403:否),CPU11跳过步骤S1404,根据元信息被添加的状况,按元信息追加加权系数(步骤S1405)。 
CPU11根据追加的加权系数,在接受了指定的连接源应用程序与连接目标应用程序之间对存储在混搭程式信息存储部131中的元信息的所有组合设定优先权(步骤S1406)。在本实施方式2中,按照对元信息追加的加权系数相加后的合计值从大到小的顺序设定优先权。 
CPU11根据设定的优先权,判断添加的元信息的组合是否为所设定的优先权最高的组合(步骤S1407)。在CPU11判断为不是优先权最高的组合的情况下(步骤S1407:否),CPU11对优先权最高的元信息的组合进行变更(步骤S1408),并存储到混搭程式信息存储部131中。 
在CPU11判断为是优先权最高的组合的情况下(步骤S1407:是),CPU11跳过步骤S1408,判断要连接的应用程序的输出参数的元信息与输入参数的元信息是否一致(步骤S1409)。在CPU11判断为不一致的情况下(步骤S1409:否),CPU11将处理返回步骤S1401,以再次进行要连接的应用程序的指定,反复进行上述处理。在CPU11判断为一致的情况下(步骤S1409:是),CPU11连接两应用程序(步骤S1410),能够作为一个新的应用程序执行。 
图15是显示在候选应用程序显示部1203的显示装置23上的应用程序目录的例示图。如图15所示,在接受了连接源应用程序的指 定的情况下,CPU 11列表显示添加了能够按优先权从高到低的顺序结合的元信息的连接目标应用程序的候选。通过将从列表显示画面的选择指示的输入作为连接目标应用程序的指定的接受,能够精度更好地在适当的应用程序之间进行连接。 
图16是提高混搭的效率的混搭程式工具的操作画面的例示图。如图16所示,预先将应用程序目录列表显示在显示装置23上,在通过鼠标22等的拖拉操作接受了连接源应用程序的时刻,突出显示添加了能够进行结合的元信息的连接目标应用程序。用户在期望的应用程序上进行基于鼠标22等的拖放操作,能够容易地选择任意的应用程序连接。 
如以上那样,根据本实施方式2,通过对元信息加权,能够对要连接的应用程序设置优先权,能够按照优先权从高到低的顺序选择要连接的应用程序,并且能够防止基于自动添加元信息而向各应用程序意外传播元信息。 
并且,本发明并不限于上述实施例,在本发明宗旨的范围内能够进行多种变更、改良等。例如,也可以在通过网络而与本实施方式的数据连接支援装置相连接的外部计算机的存储装置中设置混搭程式信息存储部,按照需要进行读写,还可以利用分散环境而存储到网络上的虚拟磁盘中。 

Claims (10)

1.一种用于支援多个应用程序间的数据连接的装置,其特征在于,包括:
元信息存储机构,其在应用程序已建立数据连接的情况下,存储在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息;
连接判断机构,其判断连接目标的应用程序是否连接着其他应用程序;
元信息判断机构,其在由上述连接判断机构判断为连接着其他应用程序的情况下,判断是否仅对上述其他应用程序的输出参数和上述连接目标的应用程序的输入参数中的一方添加元信息;
元信息添加机构,其在由上述元信息判断机构判断为仅对一方添加元信息的情况下,将所添加的一方的元信息作为未添加的另一方的元信息来进行添加;
判断机构,其判断在上述元信息添加机构中作为上述另一方的元信息而添加的元信息和添加在上述连接源的应用程序的输出参数或上述连接目标的应用程序的输入参数上的元信息是否一致;以及
连接机构,其连接由上述判断机构判断为一致的应用程序。
2.根据权利要求1所述的装置,其特征在于,
还包括加权机构,该加权机构在由上述元信息添加机构所添加的元信息上添加加权系数。
3.根据权利要求2所述的装置,其特征在于,
上述加权系数被设定为:越是经间接推定而添加的元信息则该加权系数的值越小。
4.根据权利要求2或3所述的装置,其特征在于,包括:
优先权设定机构,其根据上述加权系数来设定添加元信息的优先权;
连接指定接受机构,其接受应用程序的连接的指定;以及
候选应用程序显示机构,其在由上述连接指定接受机构接受了连接源的应用程序的指定的情况下,按所设定的优先权从高到低的顺序来列表显示能进行连接的连接目标应用程序。
5.根据权利要求4所述的装置,其特征在于,
上述优先权设定机构将在连接源的应用程序的输出参数上添加的元信息的加权系数与在连接目标的应用程序的输入参数上添加的元信息的加权系数相加,并按相加值从大到小的顺序将优先权从高到低来进行设定。
6.一种用于支援多个应用程序间的数据连接的方法,其特征在于,包括:
在应用程序已建立数据连接的情况下,存储在连接源的应用程序的输出参数上添加的元信息和/或在连接目标的应用程序的输入参数上添加的元信息的步骤;
判断连接目标的应用程序是否连接着其他应用程序的步骤;
在判断为连接着其他应用程序的情况下,判断是否仅对上述其他应用程序的输出参数和上述连接目标的应用程序的输入参数中的一方添加了元信息的步骤;
在判断为仅对一方添加了元信息的情况下,将所添加的一方的元信息作为未添加的另一方的元信息来进行添加的步骤;
判断作为上述另一方的元信息而添加的元信息和添加在上述连接源的应用程序的输出参数或上述连接目标的应用程序的输入参数上的元信息是否一致的步骤;以及
连接被判断为一致的应用程序的步骤。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所添加的元信息上添加加权系数的步骤。
8.根据权利要求7所述的方法,其特征在于,
上述加权系数被设定为:越是经间接推定而添加的元信息则该加权系数的值越小。
9.根据权利要求7或8所述的方法,其特征在于,所述方法包括:
根据上述加权系数来设定添加元信息的优先权的步骤;
接受应用程序的连接的指定的步骤;以及
在接受了连接源的应用程序的指定的情况下,按所设定的优先权从高到低的顺序来列表显示能连接的连接目标应用程序的步骤。
10.根据权利要求9所述的方法,其特征在于,所述根据上述加权系数来设定添加元信息的优先权的步骤,包括:
将在连接源的应用程序的输出参数上添加的的元信息的加权系数和在连接目标的应用程序的输入参数上添加的元信息的加权系数相加;和
按相加值从大到小的顺序来将优先权从高到低设定。
CN201080003886.5A 2009-01-15 2010-01-08 用于支援多个应用程序间的数据连接的装置和方法 Expired - Fee Related CN102272727B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009006204 2009-01-15
JP2009-006204 2009-01-15
PCT/JP2010/050159 WO2010082538A1 (ja) 2009-01-15 2010-01-08 複数のアプリケーション間でのデータ連携を支援する装置、方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
CN102272727A CN102272727A (zh) 2011-12-07
CN102272727B true CN102272727B (zh) 2014-04-16

Family

ID=42339791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080003886.5A Expired - Fee Related CN102272727B (zh) 2009-01-15 2010-01-08 用于支援多个应用程序间的数据连接的装置和方法

Country Status (6)

Country Link
EP (1) EP2381364A4 (zh)
JP (1) JP5278918B2 (zh)
KR (1) KR20110110788A (zh)
CN (1) CN102272727B (zh)
TW (1) TW201032136A (zh)
WO (1) WO2010082538A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5202601B2 (ja) * 2010-10-18 2013-06-05 株式会社エヌ・ティ・ティ・ドコモ サービス提供システム及びサービス提供方法
JPWO2012114889A1 (ja) * 2011-02-23 2014-07-07 日本電気株式会社 アプリケーション構築配置システム、アプリケーション構築配置方法、およびプログラム
JP6339312B2 (ja) * 2012-06-28 2018-06-06 株式会社ファインデックス アプリケーション連携システム、アプリケーション連携方法及びアプリケーション連携プログラム
KR20140116682A (ko) * 2013-03-25 2014-10-06 (주)아펙스씨앤에스 컨텐츠 공유 방법
US20140317169A1 (en) * 2013-04-19 2014-10-23 Navteq B.V. Method, apparatus, and computer program product for server side data mashups specification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69628798T2 (de) * 1995-10-16 2004-04-29 Hitachi, Ltd. Verfahren zur Übertragung von Multimediadaten
JP4076152B2 (ja) * 2003-05-08 2008-04-16 日本電信電話株式会社 コンテンツ自動連携システム及びコンテンツ連携方法
JP5100954B2 (ja) * 2003-06-13 2012-12-19 ソニー株式会社 コンテンツ提供方法および検索装置
US7370123B2 (en) * 2004-10-12 2008-05-06 Nec Electronics Corporation Information processing apparatus
JP2006190008A (ja) * 2005-01-04 2006-07-20 Nippon Telegr & Teleph Corp <Ntt> データ連携装置及びデータ連携方法
JP4492530B2 (ja) * 2005-02-18 2010-06-30 株式会社日立製作所 計算機制御方法および管理計算機並びにその処理プログラム
JP4588731B2 (ja) * 2007-02-27 2010-12-01 日本電信電話株式会社 サービス連結情報生成システム、方法、及びプログラム
JP2008293152A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd Webシステムの連携方法および装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JP特开2004-334556A 2004.11.25
JP特开2008-210227A 2008.09.11
US 5,892,968 A,1999.04.06,全文.
US 7,370,123 B2,2008.05.06,全文.

Also Published As

Publication number Publication date
EP2381364A1 (en) 2011-10-26
JP5278918B2 (ja) 2013-09-04
EP2381364A4 (en) 2012-01-04
JPWO2010082538A1 (ja) 2012-07-05
CN102272727A (zh) 2011-12-07
WO2010082538A1 (ja) 2010-07-22
KR20110110788A (ko) 2011-10-07
TW201032136A (en) 2010-09-01

Similar Documents

Publication Publication Date Title
CA2830622C (en) Synchronizing digital content
US8578328B2 (en) Method for presenting candidate for link target to component in web application, as well as computer program and computer system for the same
US9092173B1 (en) Reviewing and editing word processing documents
US20080010341A1 (en) Processing model of an application wiki
CN102272727B (zh) 用于支援多个应用程序间的数据连接的装置和方法
US9586144B2 (en) Contents providing system and operating method thereof
JP7407928B2 (ja) ファイルコメント、コメント閲覧方法、装置、コンピュータ機器及びコンピュータプログラム
CN113505082B (zh) 应用程序测试方法及装置
US20170337601A1 (en) Monetization of interactive network-based information objects
CN105027116A (zh) 电子阅读器内平面书籍到富书籍的转换
US7272659B2 (en) Information rewriting method, recording medium storing information rewriting program and information terminal device
CN108875033A (zh) 旅游行程信息展示方法、装置、服务器及存储介质
CN102087653B (zh) 一种发布网站信息的方法及装置
TW201020802A (en) System, device, method and computer-readable medium for providing network service information
JP2020123321A (ja) クリップボードデータに基づく検索処理方法および装置
KR101697290B1 (ko) 웹 브라우저에서 구현되는 웹사이트 제작 방법 및 시스템
CN102597965B (zh) 动作检验装置及动作检验方法
CN111897778B (zh) 一种计算机文件合并方法、装置及系统
JP2006079156A (ja) 表示制御システム、機器管理装置、表示機器、機器管理プログラムおよび表示制御プログラム、並びに表示制御方法
WO2001046859A1 (fr) Dispositifs de fourniture et d&#39;utilisation de contenus
CN106155532A (zh) 一种快捷回复的方法、终端及系统
KR20030001261A (ko) 정보처리장치, 정보처리방법, 기록매체, 프로그램과전자출판 데이터제공 시스템
US20210326949A1 (en) Catalog creation support device, support screen display method, and catalog creation support method
TW565784B (en) Multiple splitting plot selection method and system
KR20030092689A (ko) 자동 번역 기술을 이용한 다국어 전자 카탈로그 제작 방법및 시스템

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
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: 20140416

Termination date: 20190108