Users face the challenge of a continuing need for actionable information, while controlling the cost obtaining and using that information. Also, users face the challenge that the needed information may be in diverse forms and may be located in various places. This data may provide a basis for making decisions, research information classification, information correlations and/or comparisons, etc.
Computers are conventionally used as a tool for collecting information and then transforming it into an actionable form. One example of an actionable form is a form that enables a user of information to understand and analyze the information in order to determine a prudent course of action. Other examples may include a form that enables a user of information to understand and analyze the information for research purposes and/or to determine relationships there between.
Conventionally, actionable information may be presented in the form of a computer-readable data structure such as an electronic spreadsheet or any other computer-readable data structure that is sufficiently understandable so as to be properly analyzed. Yet the task of gathering that information from diverse sources and transforming the collected data into an appropriate computer-readable data structure can be a costly and inefficient process.
An example of this problem may be the case of a user searching the Internet for information. Conventional Internet searches may have unacceptably low success rates in gathering data, inconvenient, and/or obscure presentation, thereby making evaluations of the results time consuming, difficult, and/or impossible.
It is noted that the information to be gathered may be in places other than the Internet. It is also noted that the information to be gathered may not be in a computer-readable format.
Therefore, it is desirable to provide a system and method for gathering information from diverse sources and diverse formats and for transforming that information into a user-friendly format to facilitate understanding and/or analysis.
The drawings are only for purposes of illustrating various embodiments and are not to be construed as limiting, wherein:
For a general understanding, reference is made to the drawings. In the drawings, like references have been used throughout to designate identical or equivalent elements. It is also noted that the drawings may not have been drawn to scale and that certain regions may have been purposely drawn disproportionately so that the features and concepts could be properly illustrated.
Furthermore, the desired data to be gathered may be located on the Internet 120. If the desired data is located on the Internet 120, this desired data may need to be changed from its native format. The desired data may also be located on a remote database 130. Such a remote database may need a specialized program and a conventional data communication facility in order to extract information from it. This desired data may be gathered for answering a specific problem, but also may be gathered for mining purposes to enable the discovery of opportunities and risks.
Lastly, desired data may be gathered from instrument readings 140. Such instrument generated data may need to be numerically summarized or may need other transformation for use.
At step S220, an external component is established, the external component being external to the host component used to display data in a user-friendly format. Although the example of the illustration of
At step S230, as illustrated in
Lastly, at step S240, as illustrated in
At Step S320, the action of the component or object is triggered and a digital computer executes the instructions associated with the component or object that cause the external data 300 to be accessed. Depending on how the component or object was integrated with the host component, there may be various actions of the component or object that may be triggered. One such action may be making a particular element or a set of elements of the external data 300 available to the host component. Another possible action may be to generate a prompt or an error message for the user. Still another possible action may be to directly display, in a user-friendly manner, a particular element or a set of elements of the external data 300.
In the next step S330, the host component processes data made available by the component or object by copying one or more data elements extracted in step S320 from the external data 300 to the appropriate area of computer memory.
In the next step S340, the host component displays external data 300 processed in step S330 in a user-friendly format.
In
As illustrated in
Lastly, as illustrated in
Relating the example of
Relating the example of
In step S620, the host spreadsheet component is set up to communicate with the component or object. For purposes of example, this may be accomplished using a conventional scripting language that may be supplied with a conventional electronic spreadsheet. A conventional scripting language can be used to create wrapper functions. The purpose of the wrapper function is to translate the interface requirements of the component or object into that required by the host component.
A wrapper function is one that can be invoked by name by the user of the spreadsheet. The name of a wrapper function along with any parameters established for it would constitute a special text string that would, when entered into the host component by a user, invoke the action of the component or object. It is noted that the details of creating such a wrapper function are known to those skilled in the art and will not be covered in more detail here.
In step S630, a user of the spreadsheet enters one of the special text strings set up as described above and this causes the component or object to acquire the requested data, as necessary, from local database, local cache of data, an external database or external cache of data, such as the internet.
In step S730, the host component processes data made available by the component or object by copying one or more data elements made available in step S710 from the intellectual property website 720 to the appropriate area of computer memory.
In step S740, the host component displays external data in a user-friendly format. In step S750, the user now has the data from the intellectual property website in spreadsheet format which the user can view and/or manipulate in a manner consistent with conventional electronic spreadsheets.
Data desired by the user may be located in either the local memory 840, the memory storage unit 890 local to the digital processor 880 or the external storage means 830. Data from all of these sources may be transmitted to and from the digital processor 880 by means of communication pathways 860. Further, data located in the external storage means 830, which is not local to the digital processor 880, may utilize a special part of the communication pathways 860 called a network 900.
The instructions in the software components 885, when executed, cause the digital processor 880 to retrieve data as discussed above and to transmit that data to the display unit 870 via the communication pathways 860. The display unit presents the data to the user in a visual display 850.
It is noted that data from multiple diverse sources may be combined into one and the same display by using the method described herein. It is also noted that multiple component or objects 1000 may be integrated into one and the same host component 1010.
In summary, a method utilizes a computer-based system, for processing data gathered from diverse sources and diverse formats. The method determines the format of a data source; determines a communication protocol to retrieve data from the data source; uses the object, using the determined format and communication protocol, to retrieve data from the data source, the object acquiring information and transforming the information into a consistent format, the information being cached for repeated immediate or future use; integrates the object into an application residing on a host system; receives input from a user; instantiates, in accordance with the input from the user, the integrated object; and conveys data generated by the object to the user. The data generated by the object may be displayed, reproduced, and/or manipulated on a user readable medium. Moreover, the data generated by the object may be displayed, reproduced, and/or manipulated in a spreadsheet format. The method generates a wrapper function to invoke the object, the wrapper function including parameters that, when entered by a user, invoke the action of the component or object.
Furthermore, the method may determine the format of a web source data; determine a communication protocol to retrieve data from the web source; use the object, using the determined format and communication protocol, to retrieve data from the web-based data source, the object acquiring information and transforming the information into a consistent format, the information being cached for repeated immediate or future use; receive input from a user; instantiate, in accordance with the input from the user, the component or object; and convey data generated by the object to the user. The data generated by the object may be displayed, reproduced, and/or manipulated on a user readable medium. Moreover, the data generated by the object may be displayed, reproduced, and/or manipulated in a spreadsheet format. Also, the data generated by the object may be related to characteristics of intellectual property.
Lastly, a method, utilizing a computer-based system for processing patent data gathered from a web-based patent data source, by establishing an object, may determine the format of the web-based patent source data; determine a communication protocol to retrieve data from the web-based patent source; use the object, using the determined format and communication protocol, to retrieve data from the web-based patent source, the object acquiring information and transforming the information into a consistent format, the information being cached for repeated immediate or future use; receive input from a user; instantiate, in accordance with the input from the user, the integrated component or object; and convey data generated by the integrated object to the user. The data generated by the object may be displayed, reproduced, and/or manipulated on a user readable medium. Moreover, the data generated by the object may be displayed, reproduced, and/or manipulated in a spreadsheet format. Also, the data generated by the object may be related to characteristics of an issued patent or a published patent application.
It is noted that although the descriptions above have focused upon a computer based system, the methodology can also be carried out on any electronic device capable of processing data, such as, a personal computer, a laptop, a personal digital assistance, a personal communication device, etc.
It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.