Abstract:
A data-processing system that implements a B2B IoT marketplace includes a dictionary of data structures for each of a plurality of registered IoT devices, a translator for mapping a data structure in a first IoT device to a corresponding data structure in a second IoT device, and a platform configured for interaction with IoT device makers to enable a first IoT device maker to register an IoT device, and for enabling the first IoT device maker to identify other IoT devices with which the first IoT device is to establish operability.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims the benefit of the Feb. 18, 2015 priority date of U.S. Provisional Application 62/117,572, the contents of which are herein incorporated by reference. 
     
    
     FIELD OF INVENTION 
       [0002]    This invention relates to networking, and in particular, to networking of IoT devices via the internet. 
       BACKGROUND 
       [0003]    The “Internet of Things,” or “IoT,” refers to a global network in which the nodes are not necessarily stand-alone workstations but rather, appliances and small embedded systems that have been provided with wireless connectivity. These appliances are collectively referred to as “IoT devices.” 
         [0004]    The IoT contemplates a world in which IoT devices talk to each other, exchanging data in real time. To some extent, the value of the IoT device will depend on how many other IoT devices it can communicate with. 
         [0005]    Inter-IoT-device communication is hindered, however, by the fact that each IoT device manufacturer will implement its IoT devices in its own way. IoT devices may therefore be unable to communicate with each other because of different protocols, data structures and the like. Thus, interoperability between IoT devices is difficult. 
         [0006]    In addition, because of the sheer number of different manufacturers, it may be difficult for an IoT device manufacturer to find other IoT devices that would add value to its own IoT devices if interoperability could be established. 
         [0007]    The conventional approach that IoT device-makers follows to enlarge the number of different IoT devices their IoT devices can interoperate with is a laborious procedure. Typically, a second IoT device-maker comes to the attention of a first company. This meeting relies to a great extent on serendipity. The two IoT device-makers then reach an agreement concerning whether or not to partner at all. If they do, then the technical work begins. Suitable software must be written to enable interoperability of the two IoT devices. This software must then be tested and debugged. The entire process can take many man-months. And the net result of all this time is that interoperability has been enlarged by one IoT device. 
         [0008]    While this procedure may be adequate in an industry in which only a few devices are required to interoperate, this is not the case with the IoT. In the IoT, it is important to achieve interoperability among as many IoT devices as possible. 
       SUMMARY 
       [0009]    The invention provides a system and method for promoting formation of relationships between IoT device-makers and easing the software development task associated with achieving interoperability among multiple IoT devices. 
         [0010]    The invention is directed generally to the abstract idea of commerce. However, the invention as claimed recites a specific apparatus and method that does not pre-empt the entire scope of the abstract idea of commerce but instead recites a concrete and tangible implementation that falls well short of the abstraction represented by the concept of commerce generally. 
         [0011]    In one aspect, the invention features an apparatus that includes a data-processing system that implements a B2B IoT marketplace. Such a data-processing system includes a dictionary of data structures for each of a plurality of registered IoT devices; a translator for mapping a data structure in a first IoT device to a corresponding data structure in a second IoT device; and a platform configured for interaction with IoT device makers to enable a first IoT device maker to register an IoT device, and for enabling the first IoT device maker to identify other IoT devices with which the first IoT device is to establish operability. 
         [0012]    Some embodiments, also have a database for storing associations between pairs of IoT devices. 
         [0013]    In other embodiments, the platform is configured to receive information concerning data structures of an IoT device and to translate the information into a common format. 
         [0014]    In yet other embodiments, the platform is configured to post information concerning an IoT device for availability to registered IoT device makers. 
         [0015]    Also among the embodiments are those in which the platform is configured to receive, from a registered IoT device maker, limitations on connectivity to a registered IoT device, and those in which the platform is configured to receive and process a search query to identify an IoT device having selected characteristics. 
         [0016]    In some embodiments, the platform is configured to provide, to a first IoT device maker, information necessary to form a business relationship with a second IoT device maker. 
         [0017]    In other embodiments, the platform is configured to provide a user interface to enable an IoT device maker to map fields from a first IoT device to a second IoT device. 
         [0018]    Also within the scope of the invention are embodiments that include combinations of any of the foregoing features. 
         [0019]    The apparatus as claimed is implemented on a physical electronic device that consumes power and radiates heat. Such a device is a data processing system with a processor coupled to a memory and a mass storage medium. To the extent the claims could be construed to cover embodiments that are software per se, those embodiments are hereby disclaimed. To the extent the claims could be construed to cover embodiments not compliant with 35 USC 101 as of the time of filing this application, those embodiments are likewise disclaimed. The claims are only intended to cover embodiments that comply with 35 USC 101 as of the filing date of this application. 
         [0020]    In another aspect, the invention features a method comprising providing a dictionary of data structures for each of a plurality of registered IoT devices; mapping a data structure in a first IoT device to a corresponding data structure in a second IoT device; enabling a first IoT device maker to register an IoT device, and enabling the first IoT device maker to identify other IoT devices with which the first IoT device is to establish operability. 
         [0021]    Some practices also include storing associations between pairs of IoT devices. 
         [0022]    Other practices include receiving information concerning data structures of an IoT device and translating the information into a common format. 
         [0023]    Yet other practices include posting post information concerning an IoT device for availability to registered IoT device makers. 
         [0024]    In other practices of the invention, there is included the step of receiving, from a registered IoT device maker, limitations on connectivity to a registered IoT device. 
         [0025]    Also included are practices that further comprise receiving and processing a search query to identify an IoT device having selected characteristics. 
         [0026]    Additional practices are those that include providing, to a first IoT device maker, information necessary to form a business relationship with a second IoT device maker, and those that include providing a user interface to enable an IoT device maker to map fields from a first IoT device to a second IoT device. 
         [0027]    Also included within the scope of the invention are combinations of any of the foregoing practices. 
         [0028]    Also included within the scope of the invention are non-transitory computer-readable media, not including signals, that have instructions that, when executed by a data processing system, execute any combination of the methods referred to above. 
         [0029]    These and other features of the invention will be apparent from the following detailed description and the accompanying figures, in which: 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0030]    These and other features of the invention will be apparent from the following detailed description and the accompanying figures, in which: 
           [0031]      FIG. 1  shows a B2B-IOT platform; 
           [0032]      FIG. 2  is a flowchart of a registration procedure; 
           [0033]      FIG. 3  is a flowchart showing steps in searching for an IoT device; 
           [0034]      FIG. 4  illustrates mapping of data structures; and 
           [0035]      FIG. 5  shows a user-interface for mapping 
       
    
    
     DETAILED DESCRIPTION 
       [0036]      FIG. 1  shows a B2B-IoT marketplace platform  10  that communicates via the cloud  12  with multiple registered companies  14 ,  16 ,  18  that manufacture IoT devices. Using the marketplace platform  10 , a company  14 ,  16 ,  18  is able to show its corresponding IoT device  20 ,  22 ,  24  and its capabilities to other IoT device-makers  16 ,  18 . The marketplace platform  10  enables the individual first, second, and third companies  14 ,  16 ,  18  to find each other within the B2B marketplace and to enter into agreements to establish interoperability with the respective first, second, and third IoT devices  20 ,  22 ,  24 . Although each company is shown as making only one IoT device, this is for illustration only. In reality, it is quite possible for a company to manufacture many different kinds of IoT device. 
         [0037]      FIG. 2  shows the procedure carried out by the platform  10  to process registration of the first company  14  and the first IoT-device  20  made by the first company  14 . The second and third companies  16 ,  18  will carry out similar procedures to register themselves and their respective second and third IoT devices  22 ,  24 . 
         [0038]    The procedure begins with the platform  10  receiving, typically via a web browser, a request for registration (step  32 ) that includes information concerning the first company  14 , as well as information indicative of the first company&#39;s intent to conform to usage rules for using the platform  10 . Upon satisfactory completion of the registration, the platform  10  issues a unique identifier to the first company  14  (step  34 ). 
         [0039]    At this point, the registration of IoT devices begins.  FIG. 2  shows steps for registration of the first IoT-device  20 . If the first company  14  wishes to register additional IoT devices, these steps are repeated for each IoT device to be registered. Note that the registration applies to the IoT device itself and not to individual instances of the IoT device, of which there can be millions. 
         [0040]    IoT device registration includes receiving a request to register the first IoT-device  20 , together with information concerning the first IoT-device  20  (step  36 ). The first company  14  then writes suitable software for enabling communication between the first IoT-device  20  and the platform  10 . The platform  10  receives exposed portions of the software and a request to use those exposed portions to create a dictionary  40  that translates the API interface of that software into a common format (step  38 ). 
         [0041]    The first company then creates pages within the platform  10  with information concerning the first IoT-device  20  (step  42 ). This information will be posted so that other registered companies  16 ,  18  can see it and decide whether or not to take steps towards interoperability between their respective IoT devices  22 ,  24  and the first IoT-device  20 . The information will also include information about exposed data that can be communicated to another IoT-device. 
         [0042]    The next step is to receive information concerning imposition by the first company  14  of any limitations on connectivity with the first IoT-device  20  (step  44 ). This would include limitations on the number of connections, the geolocations where connections will be permitted, and the types of IoT devices that will be permitted to connect to the first IoT-device. 
         [0043]    Next, the platform  10  receives information concerning legal terms of use that govern the interoperability between the first IoT-device and any other IoT devices (step  46 ). When posted along with information concerning the IoT-device, this information is accompanied by some actuator for indicating intent of another company to comply with the terms, thus effectively creating a contract between the first company  20  and whoever actuates the actuator. 
         [0044]    Finally, the platform  10  receives a publication command authorizing publication of all information submitted. At this point, the first IoT-device  20  is exposed to other companies  18 ,  20  who may be interested in establishing interoperability with their respective IoT devices  22 ,  24  and the first IoT-device  20 . 
         [0045]    Referring now to  FIG. 3 , a second company  16  may be interested in identifying IoT devices with which its own IoT device  22  could establish interoperability. The platform  10  then receives search inquiries from the second company  16  as the second company  16  searches the B2B marketplace for suitable IoT devices (step  50 ). The search inquiry may contain, for example, a list of criteria that a suitable IoT device would be have to have. 
         [0046]    In response, the platform  10  displays a page with results that match the criteria (step  52 ). The platform  10  then receives a selection by the second company  16  of an IoT device that is made by the first company  14  (step  54 ). In response, the platform  10  provides the first company  14  with information about the first IoT device  22  that was uploaded by the first company  14  during the registration process (step  56 ). 
         [0047]    Assuming the second company  16  is interested in doing so, the platform  10  then receives a request from the second company  16  to establish communication with the first company  14  so that their respective IoT devices can be bound together (step  58 ). This marks the beginning of a business relationship between the first and second companies  14 ,  16  and the start of sharing data concerning the respective IoT devices  20 ,  22  using the platform  10 . After acceding to all relevant legal terms (step  60 ) the companies  14 ,  16  begin mapping data from one IoT device to the other (step  62 ). 
         [0048]      FIG. 4  shows selected data structures  64 ,  66  that have been exposed by the first and second companies  14 ,  16  concerning their respective first and second IoT devices  20 ,  22 . The mapping process between the first and second IoT devices  20 ,  22  includes creating a table of accessible data structures  68 . This mapping process is carried out by a translator  70  using entries for the first and second IoT devices  20 ,  22  in the dictionary  40 . 
         [0049]      FIG. 5  shows a user-interface that would be used by the second company  16  for carrying out the mapping procedure. The user-interface features a dialog box  72  that has a first field  74  for the first company  14  and a second field  76  for the second company  16 . Each field  74 ,  76  shows available data structures  78  that can be mapped. Mapping is carried out by having the user drag and drop selected data structures between the first and second fields  74 ,  76 . The resulting mapping is then stored in a database  80  and is uniquely assigned to the particular combination of the first and second IoT devices  20 ,  22 . 
         [0050]    An advantage of the procedure described herein is that the first company  14  is not burdened by having to develop an interface for each IoT device with which it would like the first IoT device  20  to establish operability. Instead, the first company  14  only has to write software to expose selected data structures in the format required by the platform  10 . Since each registered company  14 ,  16 ,  18  will be using the same format, the translation procedure can be carried out automatically by the translator  70  using the exposed data structures that were acquired during company registration and stored in the database  80