This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-134830, filed on Jul. 10, 2017, the entire contents of which are incorporated herein by reference.
A certain aspect of embodiments described herein relates to a platform system, a data conversion method and a computer-readable non-transitory medium.
There is developed an integrated service (what is called a platform) for collecting data, storing the data and supplying the data on demand (for example, see Japanese Patent Application Publications No. 2005-209194, No. H07-73050 and No. 2016-4318).
When the platform receives an instruction of data supply requirement from an application, the platform supplies data of its own to the application. However, with respect to the requirement of the application, the platform may lack data. In this case, the platform obtains data from another platform and adds the obtained data to its own data. However, each data structure of the platforms is not always the same as each other. And so, conversion of the data structures is required. In this case, when the conversion is required with respect to each application, the cost may increase.
According to an aspect of the present invention, there is provided a platform system including: a memory; and a processor coupled to the memory and the processor configured to execute a process, the process comprising: receiving data from a second platform when a first platform requires the second platform to send the data, the first platform being configured to output one or more data from data which the first platform has, the second platform being configured to output one or more data from data which the second platform has; and converting a data structure of the data into a data structure required by the first platform in accordance with a difference between a data structure regulated by the first platform and a data structure regulated by the second platform; and sending the data, of which the data structure is converted, to the first platform.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
A description will be given of an outline of data exchange between platforms. A field of the data exchange is not limited. In the following embodiment, as an example, a description will be given of data exchange of a manufacturing technology.
Importance of a manufacturing technology is recognized worldwide. Therefore, political efforts and strategic efforts are progressed. Along the efforts, digitalization of data of manufacturing sites is progressed with use of IoT technology. On the basis of the progress, importance of an integrated service (what is called a platform) for collecting data for supporting OT (Operation Technology) of manufacturing sites with ICT, storing the data, and supplying the data in accordance with a requirement is recognized. And so, many companies start supplying of a platform.
A highly advanced usage of data is discussed about using the data for a single purpose but also combining the data and creating a new value of the data, in a production technology. In a business, quality or quantity of data which a platform has may be a resource for achieving competitive advantage. Having data means that the platform can supply the data to an application or a service (hereinafter referred to as an application or the like) that use the platform and means that the data is not always stored in a database in the platform.
A description will be given of a case where the first platform browses the progress information of a profile of its own and progress information which the second platform has, and supplies an object to an application or the like, in accordance with an instruction of data supply requirement from the application or the like. As illustrated in
In this case, it is necessary to harmonize result information with a data structure of progress information. In this case, it is necessary to individually develop each application or the like. Therefore, the cost for data distribution may be high. And so, a description will be given of data conversion for converting data structure between platforms, in the following embodiments.
[First Embodiment]
As illustrated in
The first database 20 stores data relating to a design, data relating to actual producing, and so on. For example, the first database 20 stores data of a sheet metal process and a data of plating process. The second database 40 stores data relating to a design, data relating to actual producing and so on. For example, the second database 40 stores data of an assembly process.
When the profile browser 12 receives an instruction of data supply requirement from an application or the like, the profile browser 12 browses a profile of the first platform 10. In this case, the first convertor 11 receives one or more objects needed for a required profile from the data stored in the first database 20 and generates a data set corresponding to the required profile. However, with respect to the profile which the application or the like requires, the data set may lack an object. In this case, it is necessary to add an object to the data set from the second platform 30.
The first interface 51 is an interface toward a data requirement side. In the embodiment, the first interface 51 receives a requirement of data supply from the first platform 10 and receives an instruction of conversion. The second interface 52 sends a requirement of data supply to the second platform 30 and receives data from the second platform 30.
The conversion definer 53 starts when receiving an instruction of conversion. The conversion definer 53 read a dictionary from the profile database 54, the name matching dictionary database 55 and the difference dictionary database 56. When there is no definition in the difference dictionary database 56, the conversion definer 53 defines a data conversion method. The convertor 57 starts when receiving a supply requirement. The convertor 57 uses a conversion method defined by the conversion definer 53, converts an object and supplies the converted object to the first platform 10.
Next, the profile browser 12 compares the profile required in Step S1 with a profile which the profile browser 12 can supply, with an object level and an attribute level (Step S2). Next, the profile browser 12 determines whether the profile browser 12 can supply the profile required by the application (Step S3). When the profile required by the application is the same as the profile which the profile browser 12 can supply, it is determined that the profile browser 12 can supply the profile.
When it is determined as “Yes” in Step S3, the data supplier 13 collects objects from the first database 20 and supplies the collected objects to the application (Step S4). After that, the flowchart is terminated. When it is determined as “No” in Step S3, the profile browser 12 asks the data convertor 50 to collect an additional object (Step S5).
Next, the first platform 10 receives an additional object from the data convertor 50 (Step S6). Next, the data supplier 13 collects objects from the first database 20, adds the additional object received in Step S6 to the objects and supplies the objects and the additional object to the application (Step S7). Then, the flowchart is terminated.
Next, the conversion definer 53 determines whether a corresponding object is searched (Step S22). When it is determined as “Yes” in Step S22, the conversion definer 53 searches an attribute level of the corresponding object by using an attribute name as a key, with respect to a first attribute of the first object (Step S23). Next, the conversion definer 53 determines whether all attributes are researched in the first object (Step S24). When it is determined as “Yes” in Step S24, the conversion definer 53 classifies the first object to the common group (Step S25). Then, the flowchart is terminated.
When it is determined as “No” in Step S22, the conversion definer 53 browses the name matching dictionary database 55, changes the object name of the second platform 30 with use of the name matching dictionary, and researches a corresponding object again (Step S26). Next, the data convertor 50 determines whether the corresponding object is researched (Step S27). When it is determined as “Yes” in Step S27, Step S23 is executed. When it is determined as “No” in Step S27, the conversion definer 53 classifies the object into an independent group and outputs information indicating that there is no collection dictionary corresponding to the difference (Step S28). After that, the flowchart is terminated.
When it is determined as “No” in Step S24, the conversion definer 53 browses the name matching dictionary database 55, changes the attribute name of the second platform 30 with use of the name matching dictionary and researches a corresponding attribute again (Step S29). Next, the conversion definer 53 determines whether the corresponding attribute is researched (Step S30). When it is determined as “Yes” in Step S30, Step S25 is executed. When it is determined as “No” in Step S30, the conversion definer 53 classifies the attribute into the independent group and outputs information indicating that there is no name matching dictionary corresponding to the difference (Step S31). Then, the flowchart is terminated.
The operator reviews the profile of the second platform 30 on the basis of the report, and defines the conversion rule for conversion to the profile of the first platform 10. Alternatively, the operator defines that the corresponding object is an empty space. The operator registers the definition in the difference dictionary database 56 as conversion information. A changing process within the defined conversion rules may be added to the name matching dictionary. The operator defines the conversion rule or an empty space viewed from the second platform 30 side.
Step S21 to Step S31 are repeated with respect to all objects of the first platform 10. When there is no remaining object in the profile of the second platform 30, the flowchart is terminated.
As illustrated in
When it is determined as “No” in Step S12, the convertor 57 determines whether the reference platform which the first platform 10 browses is the same as the reference platform which the second platform 30 browses (Step S14). When it is determined as “Yes” in Step S14, the convertor 57 generates the difference A described in
When it is determined as “No” in Step S14, the convertor 57 determines whether the reference architecture browsed by the first platform 10 is the same as the reference architecture browsed by the second platform 30 (Step S17). When it is determined as “Yes” in Step S17, the convertor 57 generates the difference B described in
In the embodiment, when the second platform 30 is required to receive an object by the first platform 10, the data structure of the required object is converted into a data structure which the first platform 10 requires, in accordance with a difference between the data structure regulated by the first platform 10 and the data structure regulated by the second platform 30. Thus, it is possible to convert data structures between platforms.
The first platform 10 or the second platform 30 may include the data convertor 50. Alternatively, the data convertor 50 may be included in a third platform that is independent of the first platform 10 and the second platform 30.
In the above-mentioned embodiments, the first platform 10 acts as an example of a first platform configured to output one or more data from data which the first platform has. The second platform 30 acts as an example of a second platform configured to output one or more data from data which the second platform has. The data convertor 50 acts as an example of a data convertor configured to receive data from the second platform when the first platform requires the second platform to send the data, convert a data structure of the data into a data structure required by the first platform in accordance with a difference between a data structure regulated by the first platform and a data structure regulated by the second platform, and send the data, of which the data structure is converted, to the first platform. The reference platform acts as an example of a virtual platform. The reference architecture acts as an example of a higher virtual platform.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various change, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2017-134830 | Jul 2017 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6195708 | Sugimoto | Feb 2001 | B1 |
7861239 | Mayfield | Dec 2010 | B2 |
20040254939 | Dettinger | Dec 2004 | A1 |
20050164704 | Winsor | Jul 2005 | A1 |
20070067458 | Chand | Mar 2007 | A1 |
20080281849 | Mineno | Nov 2008 | A1 |
20100057759 | Cotichini | Mar 2010 | A1 |
20110029546 | Mineno | Feb 2011 | A1 |
20140156638 | Joshi et al. | Jun 2014 | A1 |
20150347472 | Gupta | Dec 2015 | A1 |
20150365492 | Kalan | Dec 2015 | A1 |
20150365550 | Ito | Dec 2015 | A1 |
20160291563 | Kumar | Oct 2016 | A1 |
Number | Date | Country |
---|---|---|
2 469 421 | Jun 2012 | EP |
7-73050 | Mar 1995 | JP |
2005-209194 | Aug 2005 | JP |
2016-4318 | Jan 2016 | JP |
Entry |
---|
Extended European Search Report dated Oct. 23, 2018 in corresponding European Patent Application No. 18180780.1, 10 pgs. |
David Linthicum, “Enterprise Application Integration”; selected pages of Chapter 1 (Defining EAI); Chapter 2 (Data-Level EAI); Chapter 9 (RPCs, Messaging, and EAI); Chapter 18 (Message Brokers-The Preferred EAI Engine), Enterprise Application Integration [Addison-Wesley Information Technology Series], May 1, 2000, 70 pgs. |
Wikipedia, “Federated database system”, https://en.wikipedia.org/w/index.php?title=Federated_database_system&oldid=706581519 , dated Feb. 24, 2016, retrieved Apr. 5, 2017, 6 pgs. |
Wikipedia, “Schema matching”, https://en.wikipedia.org/w/index.php?title=Schema_matching&oldid=787233453, dated Jun. 24, 2017, retrieved Oct. 12, 2018, 4 pgs. |
Number | Date | Country | |
---|---|---|---|
20190012354 A1 | Jan 2019 | US |