Methods for dynamically generating an application interface for a modeled entity and devices thereof

Information

  • Patent Grant
  • 9578082
  • Patent Number
    9,578,082
  • Date Filed
    Friday, June 26, 2015
    9 years ago
  • Date Issued
    Tuesday, February 21, 2017
    7 years ago
Abstract
This technology generates a plurality of instances of things each including a dynamically generated interface structure and services associated with and properties of the corresponding one of the things. The services associated with and the properties of one of the plurality of instances of things for a selected one of the plurality of instances of things are retrieved and provided. A service definition for a selected one of the services is retrieved and provided based on the retrieved and provided services associated with and properties for the selected one of the plurality of instances of things. A requested consumption call for the selected one of the services is executed based on the retrieved service definition. A defined result set for the executed consumption call is provided in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.
Description
FIELD

This technology relates to methods for generating a dynamic representational state of a thing and devices thereof


BACKGROUND

The connected world, also referred to as the Internet of Things or IOT, is growing quickly. Analysts have estimated that along with the continued growth of humans using the Internet, the number of connected devices and systems will rise from 5 Billion to 1 Trillion in the next 10 years. However, the traditional ways to manage and communicate with these systems has not changed, meaning that all the information from these systems is not accessible or is not able to be correlated in a way that helps people or businesses do their jobs better and more efficiently, find information they are looking for in the proper context, or make this data consumable in a meaningful way. In addition, user expectations for interacting with systems have changed. Social networks and Mashup web pages have become the common way for users to consume data and interact with other people.


There are a variety of specific solutions to handle the rising amount of data found in industry today. They can be categorized into the following: Enterprise Resource Planning (ERP) systems; Portals and related technologies; Traditional Business Intelligence systems; and Manufacturing Intelligence systems.


Enterprise Resource Planning systems are used by large and small companies to run their businesses. The minimal requirement is to provide financial and accounting services. However, these systems typically have functionality for specific vertical industries, such as manufacturing, utilities, construction, retail, etc. These systems are rigid, in both business process support and data models. They are very expensive to implement and maintain. They are implemented to enforce repeatable, standard business processes. Traditionally it has been impossible to use these systems for dynamic business processes or interactive problem solving.


Portals are a way for companies to share information through a thin client (browser). Usually, a number of documents and data sources are used to publish information for a large user base. The information, while searchable, is relatively static and does not address current conditions or interactive problem solving.


Traditional business intelligence solutions usually rely on specific, detailed data models (often data warehouses). While the data is typically “fresh” (about a day old) in these systems, the models are rigid and report writing may require Information Technology (IT) skills. While these solutions have become much better at providing users with the ability to self-serve, the self service capability is restricted to previously designed semantic models. These solutions do not address current conditions, rapidly changing data, third party collaboration, or external data sources.


Manufacturing Intelligence solutions (also referred to as Enterprise Manufacturing Intelligence or EMI) are concerned with the more real-time data that is collected from machines and devices. This data is usually time series data and does not have business context associated with it. The consumers of these applications are usually plant operators and engineers. These applications do not handle other business related data, do not understand or correlate unstructured data, and are not “document” friendly.


The currently utilized solution to pull all these separate sources of data together, so that users can consume data from more than one of these solutions in a meaningful way, is to execute a complex, multi-year integration project that results in a data mart. This usually involves replicating large quantities of data from multiple systems into a rigid model, similar to a hub and spoke model. The hub is the data mart holding all the replicated data. As the systems change at the end of the spokes, new integration and modeling is required. This type of solution is expensive to maintain. The data model and semantics are not dynamic. And the ability to consume the data is available only through pre-defined reports.


Additionally, the traditional applications that rely on relational data bases are adept at answering known questions against known data structures (Known-Known). Search engines and related applications can answer known questions against unknown data structures (Known-Unknown). The problem at hand is how to handle the above scenarios, but also answer unknown questions against known data structures (Unknown-Known), and unknown questions against unknown data structures (Unknown-Unknown).


Most software applications allow a user or developer to manipulate data within the application. Accordingly, existing technologies have developed design tools to assist application software developer in designing an application interface.


Unfortunately, existing interface development technologies and designs have not kept pace with the increasing demand for interfaces. For example, the existing interface development technologies are not equipped to address current conditions, such as rapidly changing data sets which are accessible in different manners, at different locations and in different formats. Attempts with existing interface development technologies to provide self service capability have been limited to previously designed semantic models. Further, many of these design tools require specialized training to be able to use them to develop an application interface.


To meet these increased demands for interfaces, developers of these interfaces need all the required information for the application interface to be easily and readily available. Additionally, developers of these interfaces need to be able quickly obtain and understand all of the relationships that exist within the application. This technology's unique model-based design and development tools enable developers to build and deploy operational solutions in less time than traditional approaches.


SUMMARY

A method for generating a dynamic representational state of a thing includes generating by a data management computing apparatus a plurality of instances of things. Each of the instances of things comprises a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things. The one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things are retrieved and provided by the data management computing apparatus. A service definition for a selected one of the one or more services is retrieved and provided by the management computing apparatus based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things. A requested consumption call for the selected one of the services is executed by the data management computing apparatus based on the retrieved service definition. A defined result set for the executed consumption call is provided by the data management computing apparatus in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.


A non-transitory computer readable medium having stored thereon instructions for generating a dynamic representational state of a thing comprising machine executable code which when executed by at least one processor, causes the processor to perform steps including generating a plurality of instances of things. Each of the instances of things comprises a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things. The one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things are retrieved and provided. A service definition for a selected one of the one or more services is retrieved and provided based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things. A requested consumption call for the selected one of the services is executed based on the retrieved service definition. A defined result set for the executed consumption call is provided in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.


A data management computing apparatus comprising one or more processors, a memory coupled to the one or more processors which are configured to execute programmed instructions stored in the memory includes generating a plurality of instances of things. Each of the instances of things comprises a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things. The one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things are retrieved and provided. A service definition for a selected one of the one or more services is retrieved and provided based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things. A requested consumption call for the selected one of the services is executed based on the retrieved service definition. A defined result set for the executed consumption call is provided in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.


Accordingly, this technology provides a number of advantages including providing methods, non-transitory computer readable medium and apparatuses that more easily and effectively generate and provide through an interface a dynamic representational state of a thing. With this technology all of the interrelationships which exist in the dynamic representational state information are easily and readily available. Additionally, with this technology no specialized training is required.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is a diagram of an exemplary network environment which comprises a data management computing apparatus for generating and providing through an interface a dynamic representational state of a thing;



FIG. 1B is a flowchart of a method for dynamically generating a Representational State Transfer (REST) interface while creating a computer model of one or more entitites;



FIG. 2 is a flowchart of an exemplary method for dynamically generating one or more of a plurality of instances of things; and



FIG. 3 is a flowchart of an exemplary method for generating and providing through an interface a dynamic representational state of a thing.





DETAILED DESCRIPTION

The platform described by this technology defines a model driven development architecture in which the model has entities, which typically represent physical assets/devices, computer applications and systems, and people. Entities can also represent data objects and platform services. Each entity has its own properties and services and can fire and consume events. All entities are treated as equal collaborators in any applications that utilize the underlying capabilities of the system. A data management computing apparatus provides a number of functions including dynamically generating application interfaces for accessing modeled data from one or more data servers, although other numbers and types of systems can be used and other numbers and types of functions can be performed.


A consumer computing device utilizes the dynamically generated interfaces provided by the data management computing apparatus to access modeled data and other information from one or more data servers. Each of the data servers enter, update and/or store content, such as files and directories, although other numbers and types of functions can be implemented and other types and amounts of data could be entered, updated, or stored used. The data servers may include by way of example only, Enterprise Resource Planning (ERP) systems; Portals and related technologies; Traditional Business Intelligence systems; and Manufacturing Intelligence systems.


A service is simple or complex function provided on the server, which is accessible via the application REST interface. A service has inputs, processing, and outputs.


An event is a simple or complex change of data and/or status of an entity. An event has a well defined complex data output that is sent to each event subscriber when the event is detected.


An Entity is any object in the model.


A Thing is typically an instance of a Thing Template. A Thing Template is itself an abstract class that can inherit from one or more Thing Shapes. Properties, services, and events can be defined at the Thing Shape, Thing Template or Thing instance. If a Thing Template inherits from one or more Thing Shapes, all the properties, events, and services of the Thing Shapes are part of the Thing Template. When a Thing instance is created from a Thing Template, all properties, events, and services of the Thing Template are realized within the Thing instance.


Data objects are represented as InfoTables and Streams. InfoTables and Streams are described and defined by DataShapes, which are reusable, abstract data object definitions. An Info Table can be similar to a relational database table, which represents a two dimensional data object (columns and rows). An InfoTable can also represent much more complex representations of data, because an column within an InfoTable can itself be an InfoTable, allowing ann-tier hierarchical data representation. A Stream is designed to capture time series data. Time series data is the data that is most often found as part of the communication flow for devices and machines. Streams and InfoTables also have services and events.


Within this system, developers model the Things (people, systems and real world equipment/devices) in their world, independent of any specific use case. Things are augmented projections of their real world equivalents containing the complete set of data, services, events, historical activities, collaboration, relationships and user interfaces that define it and its place in the world. These Things can then be easily combined into solutions, tagged and related into industrial social graphs, searched/queried/analyzed, and mashed up into new operational processes.


This technology enables applications that are “dynamic” in that they continuously evolve and grow over time. As the application runs, it continuously collects and indexes new data about the entities in the model, which allows more data to be mined and searched over time. This technology provides the basis for this evolution, allowing users to answer questions, solve problems, and capture opportunities that have not even been anticipated.


All entities can, based on authorizations, subscribe to any other entities events and can consume other entity services. When an entity is defined, it is immediately discoverable through a standard Representational State Transfer (REST) interface over HTTP or HTTPS. Therefore, the complete model namespace is available over a dynamic REST interface. Whatever a user defines the model to be appears as a REST interface. The REST interface for the model also includes a full description of the properties, services, and events for each entity. The REST interface for the namespace describes how to consume services for each entity in the model. As soon as a new Thing is defined in the model, the full set of services and data for the Thing is available as a set of REST interfaces.


The dynamic REST interface is based on an inheritance or object oriented model. If a new service, property, or capability is defined at the Thing Shape or Thing Template level, each Thing instance that is derived from those entities immediately inherits that service, property or capability.


Applications built on the platform described by the technology, such as Mashup web pages, can expose these new capabilities automatically, without any changes to the application definition.


Any third party application can consume and contribute to the applications created using the platform described by the technology through the open REST interfaces.


A person can consume and contribute to the application created using the platform described by the technology through the open REST interfaces by using any Internet browser, without any programming.


A machine or device can consume or contribute to this application through the open REST interfaces. For example, an instrument can write time series data to a Stream through a REST interface.


The model and the corresponding interfaces that are dynamically generated by the server platform created using the platform described by the technology, are configured without any programming or technical expertise, using the technology's modeling environment.


An exemplary environment 10 with a data management computing apparatus 14 that generates and provides through an interface a dynamic representational state of a thing is illustrated in FIG. 1A. In this particular example, the environment 10 includes a data management computing apparatus 14, a plurality of consumer computing device 12, and a plurality of data servers 16 which are coupled together by the Local Area Network (LAN) 28 and Wide Area Network (WAN) 30, although the environment 10 can include other types and numbers of devices, components, elements and communication networks in other topologies and deployments. While not shown, the exemplary environment 10 may include additional components, such as routers, switches and other devices which are well known to those of ordinary skill in the art and thus will not be described here. This technology provides a number of advantages including providing methods, non-transitory computer readable medium and apparatuses that more easily and effectively generate and provide through an interface a dynamic representational state of a thing.


Referring more specifically to FIG. 1A, the data management computing apparatus 14 provides a number of functions including generating a dynamic representational state of a thing, although other numbers and types of systems can be used and other numbers and types of functions can be performed. The data management computing apparatus 14 includes at least one processor 18, memory 20, input and display devices 22, and interface device 24 which are coupled together by bus 26, although data management computing apparatus 14 may comprise other types and numbers of elements in other configurations.


Processor(s) 18 may execute one or more computer-executable instructions stored in the memory 20 for the methods illustrated and described with reference to the examples herein, although the processor(s) can execute other types and numbers of instructions and perform other types and numbers of operations. The processor(s) 18 may comprise one or more central processing units (“CPUs”) or general purpose processors with one or more processing cores, such as AMD® processor(s), although other types of processor(s) could be used (e.g., Intel®).


Memory 20 may comprise one or more tangible storage media, such as RAM, ROM, flash memory, CD-ROM, floppy disk, hard disk drive(s), solid state memory, DVD, or any other memory storage types or devices, including combinations thereof, which are known to those of ordinary skill in the art. Memory 20 may store one or more non-transitory computer-readable instructions of this technology as illustrated and described with reference to the examples herein that may be executed by the one or more processor(s) 18. The flow chart shown in FIGS. 2 and 3 is representative of example steps or actions of this technology that may be embodied or expressed as one or more non-transitory computer or machine readable instructions stored in memory 20 that may be executed by the processor(s) 18.


Input and display devices 22 enable a user, such as an administrator, to interact with the data management computing apparatus 14, such as to input and/or view data and/or to configure, program and/or operate it by way of example only. Input devices may include a touch screen, keyboard and/or a computer mouse and display devices may include a computer monitor, although other types and numbers of input devices and display devices could be used. Additionally, the input and display devices 22 can be used by the user, such as an administrator to develop applications using an application interface.


The interface device 24 in the data management computing apparatus 14 is used to operatively couple and communicate between the data management computing apparatus 14, the client computing device 12, and the plurality of data servers which are all coupled together by LAN 28 and WAN 30. By way of example only, the interface device 24 can use TCP/IP over Ethernet and industry-standard protocols, including NFS, CIFS, SOAP, XML, LDAP, and SNMP although other types and numbers of communication protocols can be used.


Each of the consumer computing devices 12 includes a central processing unit (CPU) or processor, a memory, an interface device, and an I/O system, which are coupled together by a bus or other link, although other numbers and types of network devices could be used. Each of the consumer computing devices 12 communicates with the data management computing apparatus 14 through LAN 28, although the consumer computing devices 12 can interact with the data management computing apparatus 14 by any other means. The consumer computing device 12 utilizes the dynamically generated interface provided by the data management computing apparatus 14 to access modeled data and other information from one or more data servers 16.


Each of the plurality of data servers 16 includes a central processing unit (CPU) or processor, a memory, an interface device, and an I/O system, which are coupled together by a bus or other link, although other numbers and types of network devices could be used. Each of the plurality of data servers 16 enters, updates and/or store content, such as files and directories, although other numbers and types of functions can be implemented and other types and amounts of data could be entered, updated, or stored used. Each of the plurality of data servers 16 may include by way of example only, enterprise resource planning (ERP) systems, portals and related technologies, traditional business intelligence systems and manufacturing intelligence systems.


Although an exemplary environment 10 with the consumer computing devices 12, the data management computing apparatus 14 and the plurality of data servers 16 are described and illustrated herein, other types and numbers of systems, devices in other topologies can be used. It is to be understood that the systems of the examples described herein are for exemplary purposes, as many variations of the specific hardware and software used to implement the examples are possible, as will be appreciated by those skilled in the relevant art(s).


In addition, two or more computing systems or devices can be substituted for any one of the systems or devices in any example. Accordingly, principles and advantages of distributed processing, such as redundancy and replication also can be implemented, as desired, to increase the robustness and performance of the devices and systems of the examples. The examples may also be implemented on computer system(s) that extend across any suitable network using any suitable interface mechanisms and traffic technologies, including by way of example only teletraffic in any suitable form (e.g., voice and modem), wireless traffic media, wireless traffic networks, cellular traffic networks, 3G traffic networks, Public Switched Telephone Network (PSTNs), Packet Data Networks (PDNs), the Internet, intranets, and combinations thereof.


EXAMPLES

As an example, to build a monitoring and management application for a fleet of delivery trucks, you need to model the trucks. Let's assume each truck has the following attributes: Assigned Driver, Location, and Delivery Schedule. It has the following services: Change Driver, Update Location, Modify Schedule, List Schedule, and Get Schedule Execution Details.


A refrigerated truck Thing Shape is defined that has the following attributes: Temperature; Ambient Temperature; Compressor Run Hours; and Next Scheduled Compressor Maintenance Date. Now define a Thing Template that implements both the Truck Thing Shape and the refrigerated truck Thing Shape. Now you can define instances of all your refrigerated trucks using this Thing Template.


All entities defined are available for inspection through REST interfaces. All services defined can be consumed through REST interfaces for each defined truck. All truck data properties can be set/get through REST interfaces. No programming is required to have the REST interfaces enabled, it is all dynamically available through the platform described by this technology. If a change to a service at the ThingShape is made, all truck instances immediately and automatically reflect that change, and all changes are reflected in the REST interfaces.


Referring now to FIG. 1B, an exemplary functional diagram which illustrates dynamically generating a REST interface during networked system modeling activity in accordance with embodiments of the present invention is illustrated. In this particular example, a model designer 120, which can be a human or another computer device, defines a model of another entity via a REpresentational State Transfer (REST) interface on an application server 140. The model contains a hierarchical representation of the system being modeled. The base component of the model is one or a plurality of “Shapes” 142. Shapes expose certain capabilities of the entity being modeled such as properties, services, events and subscriptions. One or more Shapes are then combined to form a Template 144 which inherits all of the characteristics of each Shape it implements. As each of these entities is created, they are persisted in a non-volatile data store 180 which also tags the model information with relational data regarding this particular entity and how it relates to the other entities in the model. The resulting Template is a non-specific, noninstantiated software representation of the entity being modeled. To instantiate a specific instance of the model the user creates a “Thing” 146 whose entity specific information is stored in either or both of a volatile or non-volatile data store and is also tagged with the appropriate model relationship information.


As the model is developed or altered in the future, the information regarding both the structure of the model and any Thing specific runtime information are made accessible via a Web Services interface provided by the Application Server 140. In this particular example, a web service consumer 160, which can be a plurality of humans, applications, devices, or other computer systems, requests information regarding the model using the dynamically generated REST interface, in this example the request is for a list of Things 164. Upon receiving the request, the Application Server queries the data store and returns the complete list of instantiated Things 150. The web service consumer is then able to query the application server for a list of a specific Thing's characteristics 166 as defined and tagged during the modeling phase. Application Server queries the data store for the relevant list of services and returns those services along with their interface structure 152.


Continuing this example, the web service consumer than requests more detailed information regarding a specific service 168. The Application Server retrieves this information from the data store and returns the service's interface structure 154. At this point the web service consumer now has enough information to invoke the service for that Thing instance 170, and consume the result set 172 provided by the application server.


The unique and innovative aspect of this approach is that the model composer did not have to explicitly create the web service interface. Purely through the action of creating the model, the appropriate REST interfaces were generated and made accessible to the consumer of the web service.


Furthermore, each of the systems of the examples may be conveniently implemented using one or more general purpose computer systems, microprocessors, digital signal processors, and micro-controllers, programmed according to the teachings of the examples, as described and illustrated herein, and as will be appreciated by those of ordinary skill in the art.


The examples may also be embodied as a non-transitory computer readable medium having instructions stored thereon for one or more aspects of the technology as described and illustrated by way of the examples herein, which when executed by a processor (or configurable hardware), cause the processor to carry out the steps necessary to implement the methods of the examples, as described and illustrated herein.


An exemplary method for dynamically generating one or more of a plurality of instances of things will now be described with reference to FIGS. 1A-2. In step 201, the data management computing apparatus 14 receives a request to generate one or more of a plurality of instances of things from a consumer computing device 12, although this process can be initiated in other manners, such as by the data management computing apparatus 14.


Next, in step 205 the data management computing apparatus 14 obtains a defined shape for a modeled entity which is referred to in this patent application as a thing, from the requesting consumer computing device 12, although the data management computing apparatus 14 may obtain the defined shape from other sources, such as from one of the plurality of data servers 16 by way of example only. In these examples, a thing refers to people, apparatuses, systems, electronic or mechanical devices, components or other elements which are projections of real world equivalents containing sets of data, services, events, historical activities, collaboration, relationships and user interfaces that define it and its place in the real world. Additionally, in these examples shape refers to attributes of the thing which is being generated, such as events, service definitions, or services and subscriptions offered by the thing.


In step 210, the data management computing apparatus 14 stores the obtained defined shapes for the thing in memory 20 in one or more graph databases and indexes, although the data management computing apparatus 14 can store the obtained defined shapes for the thing at a different memory location, such as at one of the plurality of data servers 16 by way of example only. Additionally, in this technology, the data management computing apparatus 14 assigns tags to the obtained defined shape of the thing while storing the obtained defined shape and further stores the assigned tag and the exact memory location in the indexes present within the memory 20. By assigning tags and storing the obtained definition in the memory 20 and by using the indexes, the technology illustrated in this application provides rapid retrieval of the stored information


In step 215, the data management computing apparatus 14 obtains a defined template from the requesting consumer computing device 12, although the data management computing apparatus 14 can obtain the defined template from other sources, such as from one of the plurality of data servers 16.


In step 220, the data management computing apparatus 14 stores the defined template using techniques as illustrated in step 210.


In step 225, the data management computing apparatus 14 generates an application interface structure for the instance of the thing based on the defined shape, the defined template and the properties and services of the thing. The generated application interface structure for the thing also includes service definitions which can be obtained from one or more of the plurality of data servers 16, although the generated application interface can include other types and amounts of information relating to the thing.


In step 230, the data management computing apparatus 14 stores the instance of the thing with the generated application interface structure, the service definitions, list of all properties and services offered by the thing, the defined shape and the defined template. This exemplary method can be repeated to generate additional instance of things in the exemplary manner described herein and then ends in step 235. By following the above exemplary steps to generate an application interface structure, this technology assists developers to build and deploy operational interface structures which are more dynamic and easier to use and navigate in less time than was possible with prior approaches.


An exemplary method for generating and providing through an interface a dynamic representational state of a thing will now be described with reference to FIGS. 1 and 3. In step 305 the data management computing apparatus 14 receives a request from a consumer computing device 12 for a list of things, although the data management computing apparatus 14 can receive any other types and numbers of requests from the consumer computing device 12. Next, in step 310 the data management computing apparatus 14 obtains the list of things from memory 20, although data management computing apparatus 14 can obtain the list of things from other sources and in other manners. Next, in step 315 the data management computing apparatus 14 provides the obtained list of things to the requesting consumer computing device 12.


In step 320, the data management computing apparatus 14 receives another request from the consumer computing device 12 for the services and properties of the previously requested thing based on a selection of the one thing instances from the previously provided list. Next, in step 325, the data management computing apparatus 14 obtains the properties and services associated with the requested thing from the stored instance of the thing in memory 20, although the properties and services associated with the requested thing could be obtained from other sources in other manners. Next, in step 330, the data management computing apparatus 14 provides the obtained properties and services associated with the requested thing to the requesting consumer computing device 12.


In step 335, the data management computing apparatus 14 receives another request from the consumer computing device 12 for a particular service definition for one of the previously provided services in the instance of the thing associated with the requested thing. Next, in step 340, the data management computing apparatus 14 obtains the service definition for the requested service from memory 20, although the service definition could be obtained from other sources in other manners. Next, in step 345 the data management computing apparatus 14 provides the service definition to the requesting consumer computing device 12 using techniques illustrated in step 310.


In step 350, the data management computing apparatus 14 receives a request to execute a consumption call for the thing relating to the previously provided service definition from the consumer computing device 12. Next, in step 355 the data management computing apparatus 14 executes the requested consumption call for the service definition associated with a service of the requested thing, although other types and numbers of functions could be executed.


In step 360, upon executing the consumption call, the data management computing apparatus 14 provides the defined result set for the executed consumption call in the dynamically generated interface structure associated with the requested one of the plurality of instances of things to the requesting one of the consumer computing device 12. Next, the steps above can be repeated again in response to another request, otherwise this exemplary method ends in step 365.


Accordingly, as illustrated and described with the examples herein this technology provides methods, non-transitory computer readable medium and apparatuses that more easily and effectively generate and provide through an interface a dynamic representational state of a thing. With this technology all of the interrelationships which exist in the dynamic representational state information are easily and readily available. Additionally, with this technology no specialized training is required.


Having thus described the basic concept of this technology, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only, and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of this technology. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, this technology is limited only by the following claims and equivalents thereto.

Claims
  • 1. A method for generating a dynamic representational state of a thing, the method comprising: generating by a data management computing apparatus a plurality of instances of things, each of the instances of things comprising a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things;retrieving and providing by the data management computing apparatus the one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things;retrieving and providing by the data management computing apparatus a service definition for a selected one of the one or more services based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things;executing by the data management computing apparatus a requested consumption call for the selected one of the services based on the retrieved service definition; andproviding by the data management computing apparatus a defined result set for the executed consumption call in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.
  • 2. The method as set forth in claim 1 further comprising: providing by the data management computing apparatus a list of the generated a plurality of instances of things; andreceiving by the data management computing apparatus the selection of the one of the generated plurality of instances of things.
  • 3. The method as set forth in claim 1 wherein the generating a plurality of instances of things further comprises: receiving by the data management computing apparatus the one or more services and the one or more properties associated with each of the generated plurality of instances of things; andpersisting by the data management computing apparatus each of the generated plurality of instances of things with the corresponding received one or more services and the one or more properties.
  • 4. The method as set forth in claim 3 wherein the generating a plurality of instances of things further comprises: receiving by the data management computing apparatus a defined shape for each of the generated plurality of instances of things;receiving by the data management computing apparatus a defined template for each of the generated plurality of instances of things for each of the generated plurality of instances of things;generating by the data management computing apparatus the dynamically generated interface structure based on the received defined shape, the received defined template and the received one or more properties for each of the generated plurality of instances of things; andpersisting by the data management computing apparatus the dynamically generated interface structure for each of the generated plurality of instances of things.
  • 5. A non-transitory computer readable medium having stored thereon instructions for generating a dynamic representational state of a thing comprising machine executable code which when executed by at least one processor, causes the processor to perform steps comprising: generating a plurality of instances of things, each of the instances of things comprising a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things;retrieving and providing the one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things;retrieving and providing a service definition for a selected one of the one or more services based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things;executing a requested consumption call for the selected one of the services based on the retrieved service definition; andproviding a defined result set for the executed consumption call in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.
  • 6. The medium as set forth in claim 5 further comprising: providing a list of the generated a plurality of instances of things; andreceiving the selection of the one of the generated plurality of instances of things.
  • 7. The medium as set forth in claim 5 wherein the generating a plurality of instances of things further comprises: receiving the one or more services and the one or more properties associated with each of the generated plurality of instances of things; andpersisting each of the generated plurality of instances of things with the corresponding received one or more services and the one or more properties.
  • 8. The medium as set forth in claim 7 wherein the generating a plurality of instances of things further comprises: receiving a defined shape for each of the generated plurality of instances of things;receiving a defined template for each of the generated plurality of instances of things for each of the generated plurality of instances of things;generating the dynamically generated interface structure based on the received defined shape, the received defined template and the received one or more properties for each of the generated plurality of instances of things; andpersisting the dynamically generated interface structure for each of the generated plurality of instances of things.
  • 9. A data management computing apparatus comprising: one or more processors;a memory coupled to the one or more processors which are configured to execute programmed instructions stored in the memory comprising:generating a plurality of instances of things, each of the instances of things comprising a dynamically generated interface structure and one or more services associated with and one or more properties of the corresponding one of the things;retrieving and providing the one or more services associated with and the one or more properties of one of the plurality of instances of things for a selected one of the plurality of instances of things;retrieving and providing a service definition for a selected one of the one or more services based on the retrieved and provided one or more services associated with and one or more properties for the selected one of the plurality of instances of things;executing a requested consumption call for the selected one of the services based on the retrieved service definition; andproviding a defined result set for the executed consumption call in the dynamically generated interface structure associated with the requested one of the plurality of instances of things.
  • 10. The apparatus as set forth in claim 9 wherein the one or more processors is further configured to execute programmed instructions stored in the memory further comprising: providing a list of the generated a plurality of instances of things; andreceiving the selection of the one of the generated plurality of instances of things.
  • 11. The apparatus as set forth in claim 9 wherein the one or more processors is further configured to execute programmed instructions stored in the memory for the generating a plurality of instances of things further comprising: receiving the one or more services and the one or more properties associated with each of the generated plurality of instances of things; andpersisting each of the generated plurality of instances of things with the corresponding received one or more services and the one or more properties.
  • 12. The apparatus as set forth in claim 11 wherein the one or more processors is further configured to execute programmed instructions stored in the memory for the generating a plurality of instances of things further comprising: receiving a defined shape for each of the generated plurality of instances of things;receiving a defined template for each of the generated plurality of instances of things for each of the generated plurality of instances of things;generating the dynamically generated interface structure based on the received defined shape, the received defined template and the received one or more properties for each of the generated plurality of instances of things; andpersisting the dynamically generated interface structure for each of the generated plurality of instances of things.
RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 13/678,885, filed on Nov. 16, 2012, which claims the benefit of U.S. Provisional Patent Application No. 61/560,371, filed Nov. 16, 2011. The entire disclosures of these prior applications are incorporated by reference herein.

US Referenced Citations (403)
Number Name Date Kind
3656112 Paull Apr 1972 A
3916412 Amoroso, Jr. Oct 1975 A
3983484 Hodama Sep 1976 A
4063173 Nelson et al. Dec 1977 A
4103250 Jackson Jul 1978 A
4134068 Richardson Jan 1979 A
4216546 Litt Aug 1980 A
4554668 Deman et al. Nov 1985 A
4601059 Gammenthaler Jul 1986 A
4680582 Mejia Jul 1987 A
4704585 Lind Nov 1987 A
4887204 Johnson et al. Dec 1989 A
4979170 Gilhousen et al. Dec 1990 A
5113416 Lindell May 1992 A
5134615 Freeburg et al. Jul 1992 A
5159704 Pirolli et al. Oct 1992 A
5276703 Budin et al. Jan 1994 A
5361401 Pirillo Nov 1994 A
5422889 Sevenhans et al. Jun 1995 A
5454010 Leveque Sep 1995 A
5479441 Tymes et al. Dec 1995 A
5493671 Pitt et al. Feb 1996 A
5515365 Sumner et al. May 1996 A
5734966 Farrer et al. Mar 1998 A
5737609 Reed et al. Apr 1998 A
5805442 Crater et al. Sep 1998 A
5892962 Cloutier Apr 1999 A
5909640 Farrer et al. Jun 1999 A
5925100 Drewry et al. Jul 1999 A
6169992 Beall et al. Jan 2001 B1
6182252 Wong et al. Jan 2001 B1
6198480 Cotugno et al. Mar 2001 B1
6377162 Delestienne et al. Apr 2002 B1
6430602 Kay et al. Aug 2002 B1
6473788 Kim et al. Oct 2002 B1
6510350 Steen, III et al. Jan 2003 B1
6553405 Desrochers Apr 2003 B1
6570867 Robinson et al. May 2003 B1
6618709 Sneeringer Sep 2003 B1
6675193 Slavin et al. Jan 2004 B1
6757714 Hansen Jun 2004 B1
6766361 Venigalla Jul 2004 B1
6797921 Niedereder et al. Sep 2004 B1
6810522 Cook et al. Oct 2004 B2
6813587 McIntyre et al. Nov 2004 B2
6850255 Muschetto Feb 2005 B2
6859757 Muehl et al. Feb 2005 B2
6915330 Hardy et al. Jul 2005 B2
6980558 Aramoto Dec 2005 B2
6993555 Kay et al. Jan 2006 B2
7031520 Tunney Apr 2006 B2
7046134 Hansen May 2006 B2
7047159 Muehl et al. May 2006 B2
7054922 Kinney et al. May 2006 B2
7082383 Baust et al. Jul 2006 B2
7082460 Hansen et al. Jul 2006 B2
7117239 Hansen Oct 2006 B1
7149792 Hansen et al. Dec 2006 B1
7178149 Hansen Feb 2007 B2
7185014 Hansen Feb 2007 B1
7250862 Bornhoevd et al. Jul 2007 B2
7254601 Baller et al. Aug 2007 B2
7269732 Kilian-Kehr Sep 2007 B2
7341197 Muehl et al. Mar 2008 B2
7380236 Hawley May 2008 B2
7496911 Rowley et al. Feb 2009 B2
7529570 Shirota May 2009 B2
7529750 Bair May 2009 B2
7536673 Brendle et al. May 2009 B2
7555355 Meyer Jun 2009 B2
7566005 Heusermann et al. Jul 2009 B2
7570755 Williams et al. Aug 2009 B2
7587251 Hopsecger Sep 2009 B2
7591006 Werner Sep 2009 B2
7593917 Werner Sep 2009 B2
7613290 Williams et al. Nov 2009 B2
7616642 Anke et al. Nov 2009 B2
7617198 Durvasula Nov 2009 B2
7624092 Lieske et al. Nov 2009 B2
7624371 Kulkarni et al. Nov 2009 B2
7644120 Todorov et al. Jan 2010 B2
7644129 Videlov Jan 2010 B2
7647407 Omshehe et al. Jan 2010 B2
7650607 Resnick et al. Jan 2010 B2
7653902 Bozak et al. Jan 2010 B2
7673141 Kilian-Kehr et al. Mar 2010 B2
7684621 Tunney Mar 2010 B2
7703024 Kautzleben et al. Apr 2010 B2
7707550 Resnick et al. Apr 2010 B2
7725815 Peters May 2010 B2
7728838 Forney et al. Jun 2010 B2
7730498 Resnick et al. Jun 2010 B2
7743015 Schmitt Jun 2010 B2
7743155 Pisharody et al. Jun 2010 B2
7752335 Boxenhorn Jul 2010 B2
7757234 Krebs Jul 2010 B2
7761354 Kling et al. Jul 2010 B2
7774369 Herzog et al. Aug 2010 B2
7779089 Hessmer et al. Aug 2010 B2
7779383 Bornhoevd et al. Aug 2010 B2
7783984 Roediger et al. Aug 2010 B2
7802238 Clinton Sep 2010 B2
7814044 Schwerk Oct 2010 B2
7814208 Stephenson et al. Oct 2010 B2
7817039 Bornhoevd et al. Oct 2010 B2
7827169 Enenkiel Nov 2010 B2
7831600 Kilian Nov 2010 B2
7840701 Hsu et al. Nov 2010 B2
7852861 Wu et al. Dec 2010 B2
7853241 Harrison Dec 2010 B1
7853924 Curran Dec 2010 B2
7860968 Bornhoevd et al. Dec 2010 B2
7865442 Sowell Jan 2011 B1
7865731 Kilian-Kehr Jan 2011 B2
7865939 Schuster Jan 2011 B2
7873666 Sauermann Jan 2011 B2
7882148 Werner et al. Feb 2011 B2
7886278 Stulski Feb 2011 B2
7890388 Mariotti Feb 2011 B2
7890568 Belenki Feb 2011 B2
7895115 Bayyapu et al. Feb 2011 B2
7899777 Baier et al. Mar 2011 B2
7899803 Cotter et al. Mar 2011 B2
7908278 Akkiraju et al. Mar 2011 B2
7917629 Werner Mar 2011 B2
7921137 Lieske et al. Apr 2011 B2
7921686 Bagepalli et al. Apr 2011 B2
7925979 Forney et al. Apr 2011 B2
7937370 Hansen May 2011 B2
7937408 Stuhec May 2011 B2
7945691 Dharamshi May 2011 B2
7953219 Freedman et al. May 2011 B2
7954107 Mao et al. May 2011 B2
7954115 Gisolfi May 2011 B2
7966418 Shedrinsky Jun 2011 B2
7975024 Nudler Jul 2011 B2
7987176 Latzina et al. Jul 2011 B2
7987193 Ganapam et al. Jul 2011 B2
7992200 Kuehr-McLaren et al. Aug 2011 B2
8000991 Montagut Aug 2011 B2
8005879 Bornhoevd et al. Aug 2011 B2
8024218 Kumar et al. Sep 2011 B2
8024743 Werner Sep 2011 B2
8051045 Vogler Nov 2011 B2
8055758 Hansen Nov 2011 B2
8055787 Victor et al. Nov 2011 B2
8060886 Hansen Nov 2011 B2
8065397 Taylor et al. Nov 2011 B2
8069362 Gebhart et al. Nov 2011 B2
8073331 Mazed Dec 2011 B1
8074215 Cohen et al. Dec 2011 B2
8081584 Thibault et al. Dec 2011 B2
8082322 Pascarella et al. Dec 2011 B1
8090452 Johnson et al. Jan 2012 B2
8090552 Henry et al. Jan 2012 B2
8095632 Hessmer et al. Jan 2012 B2
8108543 Hansen Jan 2012 B2
8126903 Lehmann et al. Feb 2012 B2
8127237 Beringer Feb 2012 B2
8131694 Bender et al. Mar 2012 B2
8131838 Bornhoevd et al. Mar 2012 B2
8136034 Stanton et al. Mar 2012 B2
8145468 Fritzsche et al. Mar 2012 B2
8145681 Macaleer et al. Mar 2012 B2
8151257 Zachmann Apr 2012 B2
8156117 Krylov et al. Apr 2012 B2
8156208 Bornhoevd et al. Apr 2012 B2
8156473 Heidasch Apr 2012 B2
8183995 Wang et al. May 2012 B2
8190708 Short et al. May 2012 B1
8229944 Latzina et al. Jul 2012 B2
8230333 Decherd et al. Jul 2012 B2
8249906 Ponce de Leon Aug 2012 B2
8250169 Beringer et al. Aug 2012 B2
8254249 Wen et al. Aug 2012 B2
8261193 Alur et al. Sep 2012 B1
8271935 Lewis Sep 2012 B2
8280009 Stepanian Oct 2012 B2
8284033 Moran Oct 2012 B2
8285807 Slavin et al. Oct 2012 B2
8291039 Shedrinsky Oct 2012 B2
8291475 Jackson et al. Oct 2012 B2
8296198 Bhatt et al. Oct 2012 B2
8296266 Lehmann et al. Oct 2012 B2
8296413 Bornhoevd et al. Oct 2012 B2
8301770 van Coppenolle et al. Oct 2012 B2
8306635 Pryor Nov 2012 B2
8312383 Gilfix Nov 2012 B2
8321790 Sherrill et al. Nov 2012 B2
8321792 Alur et al. Nov 2012 B1
8331855 Williams et al. Dec 2012 B2
8346520 Lu et al. Jan 2013 B2
8359116 Manthey Jan 2013 B2
8364300 Pouyez et al. Jan 2013 B2
8370479 Hart et al. Feb 2013 B2
8370826 Johnson et al. Feb 2013 B2
8375292 Coffman et al. Feb 2013 B2
8375362 Brette et al. Feb 2013 B1
RE44110 Venigalla Mar 2013 E
8392116 Lehmann et al. Mar 2013 B2
8392561 Dyer et al. Mar 2013 B1
8396929 Helfman et al. Mar 2013 B2
8397056 Malks et al. Mar 2013 B1
8406119 Taylor et al. Mar 2013 B2
8412579 Gonzalez Apr 2013 B2
8417764 Fletcher et al. Apr 2013 B2
8417854 Weng et al. Apr 2013 B2
8423418 Hald et al. Apr 2013 B2
8424058 Vinogradov et al. Apr 2013 B2
8433664 Ziegler et al. Apr 2013 B2
8433815 van Coppenolle et al. Apr 2013 B2
8438132 Dziuk et al. May 2013 B1
8442933 Baier et al. May 2013 B2
8442999 Gorelik et al. May 2013 B2
8443069 Bagepalli et al. May 2013 B2
8443071 Lu et al. May 2013 B2
8457996 Winkler et al. Jun 2013 B2
8458189 Ludwig et al. Jun 2013 B1
8458315 Miche et al. Jun 2013 B2
8458596 Malks et al. Jun 2013 B1
8458600 Dheap et al. Jun 2013 B2
8473317 Santoso et al. Jun 2013 B2
8478861 Taylor et al. Jul 2013 B2
8484156 Hancsarik et al. Jul 2013 B2
8489527 van Coppenolle et al. Jul 2013 B2
8490047 Petschnigg et al. Jul 2013 B2
8490876 Tan et al. Jul 2013 B2
8495072 Kapoor et al. Jul 2013 B1
8495511 Redpath Jul 2013 B2
8495683 van Coppenolle et al. Jul 2013 B2
8516296 Mendu Aug 2013 B2
8516383 Bryant et al. Aug 2013 B2
8521621 Hetzer et al. Aug 2013 B1
8522217 Dutta et al. Aug 2013 B2
8522341 Nochta et al. Aug 2013 B2
8532008 Das et al. Sep 2013 B2
8533660 Mehr et al. Sep 2013 B2
8538799 Haller et al. Sep 2013 B2
8543568 Wagenblatt Sep 2013 B2
8547838 Lee et al. Oct 2013 B2
8549157 Schnellbaecher Oct 2013 B2
8555248 Brunswig et al. Oct 2013 B2
8560636 Kieselbach Oct 2013 B2
8560713 Moreira Sa de Souza et al. Oct 2013 B2
8566193 Singh et al. Oct 2013 B2
8571908 Li et al. Oct 2013 B2
8572107 Fan et al. Oct 2013 B2
8577904 Marston Nov 2013 B2
8578059 Odayappan et al. Nov 2013 B2
8578328 Kamiyama et al. Nov 2013 B2
8578330 Dreiling et al. Nov 2013 B2
8584082 Baird et al. Nov 2013 B2
8588765 Harrison Nov 2013 B1
8594023 He et al. Nov 2013 B2
8635254 Harvey et al. Jan 2014 B2
8689181 Biron, III Apr 2014 B2
8752074 Hansen Jun 2014 B2
8762497 Hansen Jun 2014 B2
8769095 Hart et al. Jul 2014 B2
8788632 Taylor et al. Jul 2014 B2
8898294 Hansen Nov 2014 B2
9002980 Shedrinsky Apr 2015 B2
9098312 Bullotta et al. Aug 2015 B2
20020099454 Gerrity Jul 2002 A1
20020138596 Darwin et al. Sep 2002 A1
20030093710 Hashimoto et al. May 2003 A1
20030117280 Prehn Jun 2003 A1
20040027376 Calder et al. Feb 2004 A1
20040133635 Spriestersbach et al. Jul 2004 A1
20040158455 Spivack et al. Aug 2004 A1
20040158629 Herbeck et al. Aug 2004 A1
20040177124 Hansen Sep 2004 A1
20050015369 Styles et al. Jan 2005 A1
20050021506 Sauermann et al. Jan 2005 A1
20050027675 Schmitt et al. Feb 2005 A1
20050060186 Blowers et al. Mar 2005 A1
20050102362 Price et al. May 2005 A1
20050198137 Pavlik et al. Sep 2005 A1
20050213563 Shaffer et al. Sep 2005 A1
20050240427 Crichlow Oct 2005 A1
20050289154 Weiss et al. Dec 2005 A1
20060186986 Ma et al. Aug 2006 A1
20060208871 Hansen Sep 2006 A1
20070005736 Hansen et al. Jan 2007 A1
20070016557 Moore et al. Jan 2007 A1
20070027854 Rao et al. Feb 2007 A1
20070027914 Agiwal Feb 2007 A1
20070162486 Brueggemann et al. Jul 2007 A1
20070174158 Bredehoeft et al. Jul 2007 A1
20070260593 Delvat Nov 2007 A1
20070266384 Labrou et al. Nov 2007 A1
20070300172 Runge et al. Dec 2007 A1
20080098085 Krane et al. Apr 2008 A1
20080172632 Stambaugh Jul 2008 A1
20080208890 Milam Aug 2008 A1
20080222599 Nathan et al. Sep 2008 A1
20080231414 Canosa Sep 2008 A1
20080244077 Canosa Oct 2008 A1
20080244594 Chen et al. Oct 2008 A1
20080255782 Bilac et al. Oct 2008 A1
20080319947 Latzina et al. Dec 2008 A1
20090006391 Ram Jan 2009 A1
20090150431 Schmidt et al. Jun 2009 A1
20090193148 Jung et al. Jul 2009 A1
20090259442 Gandikota et al. Oct 2009 A1
20090265760 Zhu et al. Oct 2009 A1
20090299990 Setlur et al. Dec 2009 A1
20090300060 Beringer et al. Dec 2009 A1
20090319518 Koudas et al. Dec 2009 A1
20090327337 Lee et al. Dec 2009 A1
20100017379 Naibo et al. Jan 2010 A1
20100017419 Francis et al. Jan 2010 A1
20100064277 Baird et al. Mar 2010 A1
20100077001 Vogel et al. Mar 2010 A1
20100094843 Cras Apr 2010 A1
20100125584 Navas May 2010 A1
20100125826 Rice et al. May 2010 A1
20100250440 Wang et al. Sep 2010 A1
20100257242 Morris Oct 2010 A1
20100286937 Hedley et al. Nov 2010 A1
20100287075 Herzog et al. Nov 2010 A1
20100293360 Schoop et al. Nov 2010 A1
20110078599 Guertler et al. Mar 2011 A1
20110078600 Guertler et al. Mar 2011 A1
20110099190 Kreibe Apr 2011 A1
20110137883 Lagad et al. Jun 2011 A1
20110138354 Hertenstein et al. Jun 2011 A1
20110145712 Pontier et al. Jun 2011 A1
20110145933 Gambhir et al. Jun 2011 A1
20110153505 Brunswig et al. Jun 2011 A1
20110154226 Guertler et al. Jun 2011 A1
20110161409 Nair et al. Jun 2011 A1
20110173203 Jung et al. Jul 2011 A1
20110173220 Jung et al. Jul 2011 A1
20110173264 Kelly Jul 2011 A1
20110208788 Heller et al. Aug 2011 A1
20110209069 Mohler Aug 2011 A1
20110219327 Middleton, Jr. et al. Sep 2011 A1
20110231592 Bleier et al. Sep 2011 A1
20110276360 Barth et al. Nov 2011 A1
20110307295 Steiert et al. Dec 2011 A1
20110307363 N et al. Dec 2011 A1
20110307405 Hammer et al. Dec 2011 A1
20110320525 Agarwal et al. Dec 2011 A1
20120005577 Chakra et al. Jan 2012 A1
20120059856 Kreibe et al. Mar 2012 A1
20120072435 Han Mar 2012 A1
20120072885 Taragin et al. Mar 2012 A1
20120078959 Cho et al. Mar 2012 A1
20120096429 Desai et al. Apr 2012 A1
20120131473 Biron, III May 2012 A1
20120136649 Freising et al. May 2012 A1
20120143970 Hansen Jun 2012 A1
20120144370 Kemmler et al. Jun 2012 A1
20120150859 Hu Jun 2012 A1
20120158914 Hansen Jun 2012 A1
20120166319 Deledda et al. Jun 2012 A1
20120167006 Tillert et al. Jun 2012 A1
20120173671 Callaghan et al. Jul 2012 A1
20120197488 Lee et al. Aug 2012 A1
20120197852 Dutta et al. Aug 2012 A1
20120197856 Banka et al. Aug 2012 A1
20120197898 Pandey et al. Aug 2012 A1
20120197911 Banka et al. Aug 2012 A1
20120239381 Heidasch Sep 2012 A1
20120239606 Heidasch Sep 2012 A1
20120254825 Sharma et al. Oct 2012 A1
20120259932 Kang et al. Oct 2012 A1
20120284259 Jehuda Nov 2012 A1
20120311501 Nonez et al. Dec 2012 A1
20120311526 DeAnna et al. Dec 2012 A1
20120311547 DeAnna et al. Dec 2012 A1
20120324066 Alam et al. Dec 2012 A1
20130006400 Caceres et al. Jan 2013 A1
20130036137 Ollis et al. Feb 2013 A1
20130054563 Heidasch Feb 2013 A1
20130060791 Szalwinski et al. Mar 2013 A1
20130067031 Shedrinsky Mar 2013 A1
20130067302 Chen et al. Mar 2013 A1
20130073969 Blank et al. Mar 2013 A1
20130080898 Lavian et al. Mar 2013 A1
20130110496 Heidasch May 2013 A1
20130110861 Roy et al. May 2013 A1
20130124505 Bullotta et al. May 2013 A1
20130124616 Bullotta et al. May 2013 A1
20130125053 Brunswig et al. May 2013 A1
20130132385 Bullotta et al. May 2013 A1
20130166563 Mueller et al. Jun 2013 A1
20130166569 Navas Jun 2013 A1
20130173062 Koenig-Richardson Jul 2013 A1
20130179565 Hart et al. Jul 2013 A1
20130185593 Taylor et al. Jul 2013 A1
20130185786 Dyer et al. Jul 2013 A1
20130191767 Peters et al. Jul 2013 A1
20130207980 Ankisettipalli et al. Aug 2013 A1
20130211555 Lawson et al. Aug 2013 A1
20130246897 O'Donnell Sep 2013 A1
20130262641 Zur et al. Oct 2013 A1
20130275344 Heidasch Oct 2013 A1
20130275550 Lee et al. Oct 2013 A1
20130304581 Soroca et al. Nov 2013 A1
20140019432 Lunenfeld Jan 2014 A1
20140282370 Schaefer et al. Sep 2014 A1
Foreign Referenced Citations (6)
Number Date Country
0497010 Aug 1992 EP
1187015 Mar 2002 EP
WO-9921152 Apr 1999 WO
WO-0077592 Dec 2000 WO
WO-2008115995 Sep 2008 WO
WO-2014145084 Sep 2014 WO
Non-Patent Literature Citations (3)
Entry
Hart Server, retrieved from 2001 internet archive of hartcomm.org http://www.hartcomm.org/server2/index.html, 13 pages (2001).
Ray, Erik T., Learning XML, First Edition, 277 pages (2001).
Shi, L. et al., Understanding Text Corpora with Multiple Facets, IEEE Symposium on Visual Analytics Science and Technology (VAST), 99-106 (2010).
Related Publications (1)
Number Date Country
20150334161 A1 Nov 2015 US
Provisional Applications (1)
Number Date Country
61560371 Nov 2011 US
Continuations (1)
Number Date Country
Parent 13678885 Nov 2012 US
Child 14751379 US