AU2012202032A1 - A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data - Google Patents

A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data Download PDF

Info

Publication number
AU2012202032A1
AU2012202032A1 AU2012202032A AU2012202032A AU2012202032A1 AU 2012202032 A1 AU2012202032 A1 AU 2012202032A1 AU 2012202032 A AU2012202032 A AU 2012202032A AU 2012202032 A AU2012202032 A AU 2012202032A AU 2012202032 A1 AU2012202032 A1 AU 2012202032A1
Authority
AU
Australia
Prior art keywords
data
intellectual property
trademark
item
accordance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2012202032A
Inventor
Nicholas Milne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IP MONITOR Pty Ltd
Original Assignee
IP MONITOR Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2011901335A external-priority patent/AU2011901335A0/en
Application filed by IP MONITOR Pty Ltd filed Critical IP MONITOR Pty Ltd
Priority to AU2012202032A priority Critical patent/AU2012202032A1/en
Publication of AU2012202032A1 publication Critical patent/AU2012202032A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Abstract A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data There is provided a web server (240), client computing device (220), computer implemented method and computer readable storage medium for generating intellectual property watch reports, identifying potentially conflicting and identifying trademarks potentially conflicting with a trademark application.

Description

A WEB SERVER, CLIENT COMPUTING DEVICE, COMPUTER IMPLEMENTED METHOD AND COMPUTER READABLE STORAGE MEDIUM FOR PROCESSING INTELLECTUAL PROPERTY DATA Field of the invention [1] The present invention relates to computing systems for processing data relating to intellectual property. Background [2] Intellectual property databases are commonplace today, allowing, where patents are concerned for example, the retrieval of bibliographic data, specifications and the like. However, existing intellectual property data processing systems, while allowing for historical retrieval of data, do not provide to the automated monitoring of intellectual property events, such as the filing or acceptance of applications for example. Such monitoring of intellectual property events is important in the intellectual property prosecution process, such as, for example, in the monitoring of acceptance deadlines and the like for opposition purposes. [3] Furthermore, where trademarks are concerned for example, existing intellectual property data processing systems are no able to monitor potentially conflicting trademarks, either during the trademark prosecution pipeline or during the trademark application process. [4] It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country. Summary [5] According to one aspect, there is provided a computer implemented method for selecting intellectual property item data associated with an intellectual property item from intellectual property data, the method comprising the steps of receiving intellectual property data; selecting the intellectual property item data associated with an intellectual property item from the intellectual property data; and storing the intellectual property item data in relation to the intellectual property item. [6] Advantageously, the intellectual property data may be Intellectual property in PDF format data such as patent or trademark data received from an Intellectual Property journal such as the Australian patents or trademarks journal or the Canadian patents or trademarks journal. The method may be adapted to convert the PDF data into another data format such as text or 1 XML data. The intellectual property data may also be an Intellectual Property data product, such as a United Stared Patent and Trademarks Office (USPTO) bulk data product in XML format. In this manner, the item may be an Intellectual Property item, such as a patent/patent application or a trademark registration/trademark application. In other embodiments, the item may be other types of Intellectual Property items such as design registrations or design patents. [7] Preferably, the computer implemented method further comprising the steps of: receiving further intellectual property data; selecting further intellectual property item data associated with the intellectual property item from the further intellectual property data; and storing the further intellectual property item data in relation to the intellectual property item. [8] Advantageously, the method may be used to track an item as it progresses through the prosecution pipeline. For example, a patent may be first published as having been filed. In this manner, the method may be used to obtain certain data associated with the item, such as the application number and the name of the applicant. Later on, in a further publication, the same patent may have been published as having been published. In this manner, the method by, for example, recognizing the same patent by the patent number, may be adapted to receive the further data obtainable at publication, such as the name of the agent, and associate the further data with the original data. In practice, this may be done with an SQL INSERT ON DUPLICATE KEY command. [9] Preferably, the intellectual property item data comprises first intellectual property field data, and the step of selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: selecting the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [10] Preferably, the further intellectual property item data comprises the first intellectual property field data, and the step of selecting the further the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: selecting the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [11] Preferably, the first intellectual property field data is selected from the set of field data comprising application number and registration number data. 2 [12] Preferably, the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item. [13] Advantageously, the method may be used to identify certain prosecution events as the item passes through the prosecution pipeline. For example, should a user be interested in knowing when any patents assigned to Apple Corporation are accepted or granted, the user may configure the method to notify the user when any matching patents are accepted or granted. Typically, where IP journals are in use, each publication may comprise an event associated with an item. For example, a patent may be published as having been filed in a journal in 2002. In this manner, the method is operable to store field data pertaining to the item, such as the application number and the name of the applicant in a patent data table in a database. In a related patent event table in the database, the method may store the event data relating to the filing event. The patent and the patent event table may be related by a primary key, such as the application number of the patent. Later, a second publication may issue, such as in the year 2006, indicating that the patent has been accepted. In this manner, the method may be operable to obtain further information about the patent, such as the name of the agent, and update the patent table with the new information. Furthermore, the method may update the patent event table with data indicating the acceptance event. In this manner, the patent table has a I:n relationship with the patent event table, where a single patent may have more than one event. Where bulk IP data products are used, there may be a first bulk data product for patent publications and a second bulk data product for patent grants. In this manner, for example, the first bulk data product for patent may be used by the identifying module to identify the first event data of the publication of the patent and the second bulk data product may be used to identify second event data of the grant of the patent. In another example, the bulk data product may be trademark data day files comprising trademark information for all of the trademarks having been processed by the USPTO in a particular day. In this manner, for example, one or more event elements within a trademark data day file may be used by the identifying module for identifying first event data associated with an item. [14] Preferably, the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item. 3 [15] Preferably, the computer implemented method further comprising the step of: generating intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event. [16] Preferably, the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item. [17] Advantageously, the method may associate class data with an item. The class data may represent in International class classification of the US class classification system. For example, the system may store trademark field data in a trademark table, the trademark table having a 1:n relationship with a class table, comprising the trademark class information. [18] Preferably, the trademark class data comprises trademark class number data and trademark class description data. [19] Preferably, the step of receiving intellectual property data comprises the steps of: receiving the intellectual property data in a first format; and converting the intellectual property data into a second format. [20] Preferably, the first format is portable document format. [21] Preferably, the second format is text format. [22] Preferably, the step of selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: selecting the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression. [23] Preferably, the pattern matching expression is a regular expression. [24] Preferably, the intellectual property item is selected from the stet of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items. [25] According to another aspect, there is provided a web server for selecting intellectual property item data associated with an intellectual property item from intellectual property data, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to 4 receive intellectual property data; the processor is controlled by the computer program code to select the intellectual property item data associated with an intellectual property item from the intellectual property data; and the memory device is controlled by the computer program code to store the intellectual prop erty item data in relation to the intellectual property item. [26] Preferably, the network interface is controlled by the computer program code to receive further intellectual property data; the processor is controlled by the computer program code to select further intellectual property item data associated with the intellectual property item from the further intellectual property data; and the memory device is controlled by the computer program code to store the further intellectual property item data in relation to the intellectual property item. [27] Preferably, the intellectual property item data comprises first intellectual property field data, and the processor is controlled by the computer program code to select the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [28] Preferably, the further intellectual property item data comprises the first intellectual property field data, and the processor is controlled by the computer program code to select the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [29] Preferably, the first intellectual property field data is selected from the set of field data comprising application number and registration number data. [30] Preferably, the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item. [31] Preferably, the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item. [32] Preferably, the processor is controlled by the computer program code to generate intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event. [33] Preferably, the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item. 5 [34] Preferably, the trademark class data comprises trademark class number data and trademark class description data. [35] Preferably, the network interface is controlled by the computer program code to receive the intellectual property data in a first format; and the processor is controlled by the computer program code to convert the intellectual property data into a second format. [36] Preferably, the first format is portable document format. [37] Preferably, the second format is text format. [38] Preferably, the processor is controlled by the computer program code to selecting the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression. [39] Preferably, the pattern matching expression is a regular expression. [40] Preferably, the intellectual property item is selected from the set of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items. [41] According to another aspect, there is provided a client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as described above. [42] According to another aspect, there is provided a computer readable storage medium for selecting intellectual property item data associated with an intellectual property item from intellectual property data having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving intellectual property data; instructions for selecting the intellectual property item data associated with an intellectual property item from the intellectual property data; and instructions for storing the intellectual property item data in relation to the intellectual property item. [43] Preferably, the computer readable storage medium further comprises: instructions for receiving further intellectual property data; instructions for selecting further intellectual property item data associated with the intellectual property item from the further intellectual property data; and instructions for storing the further intellectual property item data in relation to the intellectual property item. 6 [44] Preferably, the intellectual property item data comprises first intellectual property field data, and the instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [45] Preferably, the further intellectual property item data comprises the first intellectual property field data, and the instructions for selecting the further the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data. [46] Preferably, the first intellectual property field data is selected from the set of field data comprising application number and registration number data. [47] Preferably, the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item. [48] Preferably, the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item. [49] Preferably, the computer readable storage medium further comprises: instructions for generating intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event. [50] Preferably, the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item. [51] Preferably, the trademark class data comprises trademark class number data and trademark class description data. [52] Preferably, the instructions for receiving intellectual property data comprises: instructions for receiving the intellectual property data in a first format; and instructions for converting the intellectual property data into a second format. [53] Preferably, the first format is portable document format. [54] Preferably, the second format is text format. 7 [55] Preferably, the instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression. [56] Preferably, the pattern matching expression is a regular expression. [57] Preferably, the intellectual property item is selected from the set of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items. [58] According to another aspect there is provided a computer implemented method for querying an intellectual property database, the method comprising the steps of: receiving search query data representing a search query, the search query data comprises event search query data representing an intellectual property event search query; selecting item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and generating result data comprising the item data. [59] Advantageously, there is provided a method that can be used to query an IP database according to such search queries as item field data, item event data and item class data. [60] Preferably, the step of selecting item data in accordance with the search query data representing one or more items matching the search query comprises the steps of: selecting a search query time span; and selecting the item data in accordance with the search query time span. [61] Advantageously, the method may be used to generate IP reports comprising one or more search queries. For example, a user may use the system to compile a patents report comprising a first alert relating to patents accepted and belonging to Apple Corporation and a second alert relating to the number of patents assigned to Microsoft Corporation as compared to the number of patents assigned to Apple Corporation. In this manner, a report may be generated comprising multiple alerts. In one embodiment, the method may be adapted to generate a PDF report. [62] Preferably, the step of selecting item data in accordance with the search query data representing one or more items matching the search query is automated at periodic intervals. [63] Preferably, the periodic intervals are monthly periodic intervals. 8 [64] Advantageously, a user may receive periodic reports comprising IP event data relating to the period preceding the generation of the report. For example, the user may configure a report template comprising an alert relating to the patents accepted in International Patent Classification G06F. As such, the method may be adapted to select the one or more item data having associated event data occurring within a search period. In this manner, the user may receive a first report in the month of May comprising report data comprising those patents that were accepted during the month of May in class G06F. A month later, in June, the user may receive a second report. This second report may comprise report data comprising those patents having been accepted in the month of June in class G06F. [65] Preferably, the computer implemented method further comprises: Preferably, the computer implemented method further comprises the step of generating hint data representing the number of items having events matching the event search query. [66] Advantageously, the method may give a user a hint as to the number of items matching the users search query. Such a hint allows the user to receive feedback when choosing relevant search queries. For example, should a user receive a hint that 'There are 0 patents matching applicant Apple Corporation', the user may realize that the search query comprises a spelling error. The method may be adapted to provide the hint upon detecting a change in the search query. For example, the search query input interface may be adapted to send an asynchronous search query to the IP database to retrieve the number of matching items. [67] Preferably, the result data comprises tabular data comprising date data representing the dates of the events. [68] Advantageously, the report data may display the date of the occurrence of each event associated with the item. The data of the event may be used by the user to ascertain the deadline, if any associated with the event. [69] Preferably, the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query. [70] Advantageously, the matching item data may displayed in graphical format, thereby providing a better visualization of the data for the user. [71] Advantageously, the event data may be displayed in graphical time series format, wherein the number of items matching the event at a certain time period are shown as a data point on the series at the time period. 9 [72] According to another aspect, there is provided a web server for querying an intellectual property database, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to receive search query data representing a search query, the search query data comprises event search query data representing an intellectual property event search query; the processor is controlled by the computer program code to select item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and the processor is controlled by the computer program code to generate result data comprising the item data. [73] Preferably, the processor is controlled by the computer program code to select a search query time span; and select the item data in accordance with the search query time span. [74] Preferably, the processor is controlled by the computer program code to select item data in accordance with the search query data representing one or more items matching the search query at periodic intervals. [75] Preferably, the periodic intervals are monthly periodic intervals. [76] Preferably, the processor is controlled by the computer program code to generate hint data representing the number of items having events matching the event search query. [77] Preferably, the result data comprises tabular data comprising date data representing the dates of the events. [78] Preferably, the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query. [79] According to another aspect, there is provided a client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as described above. [80] According to another aspect, there is provided a computer readable storage medium for querying an intellectual property database having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving search query data representing a search query, the search query data comprises event search query data representing an intellectual 10 property event search query; instructions for selecting item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and instructions for generating result data comprising the item data. [81] Preferably, the instructions for selecting item data in accordance with the search query data representing one or more items matching the search query comprises: instructions for selecting a search query time span; and instructions for selecting the item data in accordance with the search query time span. [82] Preferably, the instructions for selecting item data in accordance with the search query data representing one or more items matching the search query is automated at periodic intervals. [83] Preferably, the periodic intervals are monthly periodic intervals. [84] Preferably, the computer readable storage medium further comprises instructions for generating hint data representing the number of items having events matching the event search query. [85] Preferably, the result data comprises tabular data comprising date data representing the dates of the events. [86] Preferably, the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query. [87] According to another aspect, there is provided a computer implemented method for generating intellectual property reports, the method comprising the steps of: receiving report template data; and generating report data in accordance with the report template data. [88] Advantageously, method may generate reports comprising one or more alerts relating to item field data, item class data or item event data. For example, a use may generate a report having a first alerts relating to those trademarks owned by a particular applicant, a second alert relating to those trademarks that have been filed within the month of May and a third alerts relating to those trademarks in class 5. In an alternative embodiment, a single alerts may comprise composite search data, such as an alert related to the trademarks belonging to a certain applicant having been filed in the month of May and being in class 6 or 7. [89] Advantageously, a user may customize a report template such as by specifying the title of the report or the summary of the report. In this manner, each report generated by the 11 system may have the title and the summary as specified by the report template. Furthermore, a user may specify the frequency at which a report is to be generated. For example, the user may specify that the reports are to be generated weekly. [90] Preferably, the step of generating report data in accordance with the report template data comprises the steps of: selecting item data in accordance with the report template data; and generating the report data comprising the item data. [91] Preferably, the report template data comprises item search query data, and the step of selecting item data in accordance with the report template data comprises the steps of: selecting item data in accordance with the item search query data. [92] Preferably, the item search query data comprises item event search query data, and the step of selecting item data in accordance with the item search query data comprises the step of: selecting item data in accordance with the item event search query data. [93] Preferably, the computer readable storage medium further comprises: receiving search query period data, and wherein the step of selecting item data in accordance with the item event search query data comprises the step of: selecting the item data in accordance with search query period data. [94] Preferably, the step of generating report data in accordance with the report template data is automated at a recurring interval. [95] Preferably, the step of selecting item data in accordance with the item event search query data comprises the step of: selecting the item data in accordance with the interval. [96] Preferably, the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals. [97] Preferably, the report template data comprises data selected from the set of data comprising: report title data; report summary data; report search query period data; and item search query data. [98} Preferably, the report data comprises tabular data representing a table comprising the item data. [99] Preferably, the report data comprises tabular data representing a table comprising date data of one or more events of one or more items. [100] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data. 12 [101] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data. [102] Preferably, the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time. [103] Preferably, the computer readable storage medium further comprises: making the report data available online. [104] According to another aspect, there is provided a web server for querying an intellectual property database, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to receive report template data; and the network interface is controlled by the computer program code to generate report data in accordance with the report template data. [105] Preferably, the processor is controlled by the computer program code to select item data in accordance with the report template data; and generate the report data comprising the item data. [106] Preferably, the report template data comprises item search query data, and the processor is controlled by the computer program code to select item data in accordance with the item search query data. [107] Preferably, the item search query data comprises item event search query data, and the processor is controlled by the computer program code to selecting item data in accordance with the item event search query data. [108] Preferably, the network interface is controlled by the computer program code to receive search query period data, and the processor is controlled by the computer program code to selecting the item data in accordance with search query period data. [1091 Preferably, the process is controlled by the computer program code automate the generation of the report data in accordance with the report template data at a recurring interval. [110] Preferably, the network interface is controlled by the computer program code to select the item data in accordance with the interval. 13 [111] Preferably, the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals. [112] Preferably, the report template data comprises data selected from the set of data comprising: report title data; report summary data; report search query period data; and item search query data, [113] Preferably, the report data comprises tabular data representing a table comprising the item data. [114] Preferably, the report data comprises tabular data representing a table comprising date data of one or more events of one or more items. [115] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data. [116] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data. [117] Preferably, the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time. [118] Preferably, the network interface is controlled by the computer program code to make the report data available online. [119] According to another aspect, there is provided a client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as described above. [120] According to another aspect, there is provided a computer readable storage medium for generating intellectual property reports having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving report template data; and instructions for generating report data in accordance with the report template data. [121] Preferably, the instructions for generating report data in accordance with the report template data comprises: instructions for selecting item data in accordance with the report template data; and instructions for generating the report data comprising the item data. 14 [122] Preferably, the report template data comprises item search query data, and the instructions for selecting item data in accordance with the report template data comprises: instructions for selecting item data in accordance with the item search query data. [123] Preferably, the item search query data comprises item event search query data, and the instructions for selecting item data in accordance with the item search query data comprises instructions for: selecting item data in accordance with the item event search query data. [124] Preferably, the computer readable storage medium further comprises: instructions for receiving search query period data, and wherein the step of selecting item data in accordance with the item event search query data comprises: instructions for selecting the item data in accordance with search query period data. [125] Preferably, the instructions for generating report data in accordance with the report template data is automated at a recurring interval. [126] Preferably, the instructions for selecting item data in accordance with the item event search query data comprises: instructions for selecting the item data in accordance with the interval. [127] Preferably, the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals. [128] Preferably, the report template data comprises data selected from the set of data comprising: report title data; report summary data; report search query period data; and item search query data. [129] Preferably, the report data comprises tabular data representing a table comprising the item data. [130] Preferably, the report data comprises tabular data representing a table comprising date data of one or more events of one or more items. [131] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data. [132] Preferably, the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data. 15 [133] Preferably, the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time. [134] Preferably, the computer readable storage medium further comprises instructions for making the report data available online. [135] Preferably, the event data comprises event data selected from the set of event data comprising: applications for amendment; amendments made; alteration of name; assignments before grant; assignments registered; extensions of time; section 223 applications received; section 223 applications allowed; section 223(1) allowances; opposition proceedings; oppositions lodged; oppositions lodged under section 104(4); oppositions dismissed; opposition under section 104(4) - dismissed; oppositions withdrawn; applications refused; opposition withdrawn - proceed to sealing; opposition proceedings - applications withdrawn; specifications republished; licences registered; extensions of term of standard patents; extensions granted; applications with amended filing dates; applications open to public inspection; certified innovation patents; complete applications filed; innovation patent applications filed; innovation patents open to public inspection; PCT applications which have entered the national phase; provisional applications filed; applications accepted; applications lapsed; refused or withdrawn; patents ceased or expired; change of name(s) of applicant(s); section 104; letters patent sealed; offer to surrender; corrigenda; complete specifications treated as provisional specifications section 37 and proceedings under section 215 event data. [136] Preferably, the event data comprises event data selected from the set of event data comprising: applications filed; applications accepted; applications linked; registrations linked; opposition proceedings; opposition filed; opposition discontinued; opposition dismissed; opposition withdrawn; opposition refused; opposition rejected; trademarks registered/protected; notices; applications for extension of time; applications for amendment; amendments and changes; application/IRS amended and changed, application/ IRS name amendments and changes, registrations/protected IRS amended and changed, registrations/protected IRS name amendments and changes, applications lapsed, applications lapsed, applications withdrawn, applications refused, subsequent applications/holders recorded, subsequent applications/holders recorded - full assignment, subsequent applications/holders recorded - partial assignment, subsequent owners/holders registered, subsequent owners/holders registered - full assignment, 16 subsequent owners/holders registered - partial assignment, transformation and replacement, cancellations of entries in register, renewal of registration/IR, non-use proceedings, non-use proceedings - applications lodged, non-use proceedings - applications withdrawn, non-use proceedings - applications dismissed, non-use proceedings - oppositions lodged, non-use proceedings - oppositions withdrawn, non-use proceedings - notices, trademarks removed from the register / IRS expired, trademarks restored to register and corrigenda event data. [137] Preferably, the event data comprises event data selected from the set of event data comprising: publication and grant event data. [138] Preferably, the event data comprises event data selected from the set of event data comprising: filing, published for opposition, registration, amendment, abandonment, cancellation, republished and renewal date event data. [139] Preferably, the field data comprises field data selected from the set of field data comprising number, owner, publication number, filing date, title, international classification, PCT publication number, priority documents, WIPO publication date, acceptance publication date, OPI date, parent, inventors, agent, pct application number, publication journal and priority date field data. [140] Preferably, the field data comprises field data selected from the set of field data comprising number, mark, owner, address for service, status, convention application, parent, address for service, filing date, IRN number and type field data. [141] Preferably, the field data comprises field data selected from the set of field data comprising title, abstract, owner, number, application date, main classification, further classification, parent, child, correspondent, application country, classification ipcr, agent, assignee, kind code, is utility, patent number, priority claim, publication number field data. [142] Preferably, the field data comprises field data selected from the set of field data comprising number, color statement, description statement, correspondent, owner, mark, domestic representative name, registration number, foreign applications, us classification field data. [143] Preferably, the item class data comprises International Trademark classification data. [144] Preferably, the item class data comprises US Trademark classification data. 17 [145] According to another aspect, there is provided a web server for identifying potentially conflicting trademarks comprising: a processor for processing digital data; a memory device for storing digital data including computer program code; an interface for sending and receiving digital data; a database for storing digital data, the database comprising at least trademark data representing one or more trademarks and owner data representing one or more trademark owners, the trademark data being stored in relation to the owner data; and a bus interconnecting the processor, memory device, interface and the database, wherein the processor is controlled by the computer program code to: receive, via the interface, first owner data representing a first trademark owner; select, from the database, first trademark data in accordance with the first owner data, representing first one or more trademarks stored in relation to the first owner data; selecting, from the database, potentially conflicting trademark data in accordance with the first trademark data, representing one or more trademarks potentially conflicting with the first one or more trademarks; send, via the interface, the potentially conflicting trademark data. [146] Advantageously, the web server is able to monitor those marks potentially conflicting with all of the marks of a trademark owner, even for trademarks owners having hundreds of trademarks, in a very quick time, typically in under a few seconds. Such processing is especially advantageous for web based applications wherein a response to a query must be returned before the web request times out, typically in under 30 seconds. [147] Preferably, the potentially conflicting trademark data is selected in accordance with a similarity algorithm. [148] Advantageously, those marks that may be classified as being deceptively similar or confusingly similar under trademark law may be identified in an automated manner, allowing for tens of thousands of marks to be classified in a short time. [149] Preferably, the potentially conflicting trademark data is further selected in accordance with a trademark class. [150] Advantageously, whereas similar trademarks may exist in respect of different goods and services, the search engine is adapted to ignore those marks not being in the same classes so as to reduce the number of false positive matches. [151] Preferably, the potentially conflicting trademark data is further selected in accordance with associated trademark class. 18 [152] Advantageously, the scope of the potentially conflicting search may be widened by searching for marks with associated classes, allowing for potentially conflicting marks relating to similar goods and services to be identified. [153] Preferably, the similarity algorithm is a phonetic algorithm. [154] Advantageously, the phonetic algorithm allows for works, while being quite dissimilar in representation to be identified on the basis of their natural language sound. [155] Preferably, the similarity algorithm is an edit distance algorithm. [156] Advantageously, the edit distance algorithm may be employed to identify those marks being similar on representation. [157] Preferably, the potentially conflicting trademark data is selected further in accordance with an edit distance threshold. [158] Advantageously, the number of false positives may be reduced by eliminating those marks having an edit distance being greater than a threshold. The threshold may be configured may a user at runtime depending on user preference. [159] Preferably, the processor is further controlled by the computer program code to: sort the potentially conflicting trademark data using a relevance algorithm. [160] Advantageously, the processor may be adapted to present those marks as probably being most similar at the top of a list, the marks becoming more dissimilar as the list progresses. [161] Preferably, the relevance algorithm is an edit distance algorithm. [162] Preferably, the trademark data comprises image data representing one or more image marks, and wherein the potentially conflicting trademark data is selected in accordance with image metadata. [163] Preferably, the processor is further controlled by the computer program code to employ optical character recognition to generate the image metadata. [1641 Advantageously, image marks, sound marks, scent marks, and movement marks may be compared using the metadata. [165] According to another aspect there is provided a computer implemented method for identifying trademarks potentially conflicting with a trademark application, the method comprising: receiving, via an interface, trademark application data representing a trademark application, the trademark application data comprising trademark representation data and trademark goods and service data, selecting, from a database, potentially conflicting trademark 19 data representing at least one trademark potentially conflicting with the trademark application in accordance with at least the trademark representation data and the trademark goods and service data. [166] Preferably, the method further comprises selecting the potentially conflicting trademark data further in accordance with trademark status data representing status of each of the at least one trademark potentially conflicting with the trademark application. [167] Preferably, the trademark status data represents a live status. [168] Preferably, the method further comprises selecting trademark classification data in accordance with the trademark goods and service data, and wherein the potentially conflicting trademark data is selected at least in accordance with the trademark classification data. [169] Preferably, the method further comprises selecting associated trademark classification data in accordance with the trademark classification data, and wherein the potentially conflicting trademark data is selected further at least in accordance with the associated trademark classification data. [170] Preferably, the method further comprises grouping the potentially conflicting trademark data into one or more classes. [171] Preferably, the method further comprises displaying the potentially conflicting trademark data in relation to the one or more classes. [172] Preferably, displaying the potentially conflicting trademark data in relation to the one or more classes further comprises: calculating the sum of potentially conflicting trademarks in accordance with class. Drawings [173] Fig. I shows a computing device on which the various embodiments described herein may be implemented; [174] Fig. 2 shows a network of computing devices on which the various embodiments described herein may be implemented; [175] Fig. 3 shows a method for composing a database comprising specific information from a periodical; [176] Fig. 4 shows a method of parsing a text file into a SQL script; 20 [177] Fig. 5 shows a database diagram of an exemplary database structure that may be used for the purposes of storing one or more events, items and classes of one or more trademarks, patents, trademark applications or patent applications; [178] Fig. 6 shows a report designer user interface, operable by a user on user terminal for designing one or more reports comprising information from the periodicals; [179] Fig. 7 shows the report edit mode of the user interface; [180] Fig. 8 shows the interface in alert mode; [181] Fig. 9 shows the edit section where the user is able to edit a graph alert; [182] Fig. 10 shows an exemplary graph that is generated for three series and one event for the previous month; [183] Fig. 11 shows an exemplary graph that is generated for three series and one event, for the previous year; [184] Fig. 12 shows an exemplary graph that is generated for five events, for the previous month; [185] Fig. 13 shows an exemplary graph that is generated for five events, for the previous year; [186] Fig. 14 shows a detail screen of a patent item; [187] Fig. 15 shows a user interface adapted for trademarks; [188] Fig. 17 shows an exemplary graph that is generated for one class and three events during the previous month; [189] Fig. 18 shows an exemplary graph that is generated for one class and three events during the previous year; [190] Fig. 19 shows a detail screen of a trademark item; [191] Fig. 20 shows a progress bar that is displayed to the user when the user terminal browses to the second URL; [192] Fig. 21 shows an extract from an exemplary PDF report; [193] Fig. 22 shows a method for generating a report in sections that avoids the maximum scrip execution time limitation; [194] Figure 23 shows an exemplary GUI adapted for identifying potentially conflicting marks by owner; 21 [195] Figure 24 shows an exemplary GUI adapted for identifying trademarks potentially conflicting with a trademark application; and [196] Figure 25 shows an exemplary popup window showing the potentially conflicting trademarks for class 10. Detailed description System [197] Fig. 1 shows a computing device 100 on which the various embodiments described herein may be implemented. In particular the steps of the various methods described herein may be implemented as computer program code instructions executable by the computing device 100. The computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs a one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method. [198] The device 100 comprises semiconductor memory 110 comprising volatile memory such as random access memory (RAM) or read only memory (ROM). The memory 100 may comprise either RAM or ROM or a combination of RAM and ROM. [199] The device 100 comprises a computer program code storage medium reader 130 for reading the computer program code instructions from computer program code storage media 120. The storage media 120 may be optical media such as CD-ROM disks, magnetic media such as floppy disks and tape cassettes or flash media such as USB memory sticks. [200] The device further comprises I/O interface 140 for communicating with one or more peripheral devices. The 1/0 interface 140 may offer both serial and parallel interface connectivity. For example, the 1/0 interface 140 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 130. The I/O interface 140 may also communicate with one or more human input devices (HID) 160 such as keyboards, pointing devices, joysticks and the like. The I/O interface 140 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 100 with one or more personal computer (PC) devices 190. The 1/0 interface 140 may also comprise an audio interface for communicate audio signals to one or more audio devices 1050, such as a speaker or a buzzer. 22 [201] The device 100 also comprises a network interface 170 for communicating with one or more computer networks 180. The network 180 may be a wired network, such as a wired Ethernet network or a wireless network, such as a BluetoothM network or IEEE 802.11 network. The network 180 may be a local area network (LAN), such as a home or office computer network, or a wide area network (WAN), such as the Internet or private WAN. [202] The device 100 comprises an arithmetic logic unit or processor 1000 for performing the computer program code instructions. The processor 1000 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like. The device 100 further comprises a storage device 1030, such as a magnetic disk hard drive or a solid state disk drive. [203] Computer program code instructions may be loaded into the storage device 1030 from the storage media 120 using the storage medium reader 130 or from the network 180 using network interface 170. During the bootstrap phase, an operating system and one or more software applications are loaded from the storage device 1030 into the memory 110. During the fetch-decode-execute cycle, the processor 1000 fetches computer program code instructions from memory 110, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 100. [204] The device 100 also comprises a video interface 1010 for conveying video signals to a display device 1020, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device. [205] The device 100 also comprises a communication bus subsystem 150 for interconnecting the various devices described above. The bus subsystem 150 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like. [206] Fig. 2 shows a network 200 of computing devices 100 on which the various embodiments described herein may be implemented. The network 200 comprises a web server 210 for serving web pages to one or more client computing devices 220 over the Internet 230. [207] The web server 210 is provided with a web server application 240 for receiving requests, such as Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP) requests, 23 and serving hypertext web pages or files in response. The web server application 240 may be, for example the Apache TM or the Microsoft TM IIS HTTP server. [208] The web server 210 is also provided with a hypertext preprocessor 250 for processing one or more web page templates 260 and data from one or more databases 270 to generate hypertext web pages. The hypertext preprocessor may, for example, be the PHP: Hypertext Preprocessor (PHP) or Microsoft AspTM hypertext preprocessor. The web server 210 is also provided with web page templates 260, such as one or more PHP or ASP files. [209] Upon receiving a request from the web server application 240, the hypertext preprocessor 250 is operable to retrieve a web page template, from the web page templates 260, execute any dynamic content therein, including updating or loading information from the one or more databases 270, to compose a hypertext web page, The composed hypertext web page may comprise client side code, such as Javascript, for Document Object Model (DOM) manipulating, asynchronous HTTP requests and the like. [210] Client computing devices 220 are provided with a browser application 280, such as the Mozilla Firefoxt" or Microsoft Internet Explorer'M browser applications. The browser application 280 requests hypertext web pages from the web server 210 and renders the hypertext web pages on a display device 1020. Parsing [211] Fig. 3 shows a method 300 for composing a database comprising specific information from a periodical. The method 300 is used to extract specified information from a publication and store the extracted specified information in the database 270 to later use. In the examples given below, the publications described are the supplement to the Australian Official Journal of Patents or the Australian Official Journal of Trademarks. However, any type of publication may be used for the purposes of method 300. [212] The method 300 may be executed on web server 210. However, as web servers typically have maximum script execution time limitations, typically 30 seconds, the method 300 is preferably executed on a client computing device 220, where the maximum execution time may be set by the user. [213] The method begins at step 310 where the periodicals are downloaded from a remote server across the Internet 230 using a download script executed by the processor 1000. 24 The download script causes the network interface 170 to browse to a URL comprising a listing of the official publications and further causes the processor 1000 to use regular expression matching to identify one or more publications. The script then causes the network interface 170 to download one or more periodicals using the results of the regular expression matching and the processor 1000 to store the periodicals in the storage device 1030. The script is configured to cause the processor 1000 to check whether the periodical already exists in the storage device 1030 before downloading the periodical so as to avoid duplicated downloads and unnecessary use of bandwidth. In this manner, the download script will cause the processor 1000 to only download the latest periodicals. The download script is configured to cause the network interface 170 to download only one periodical at a time and to pause a certain interval between successive downloads so as not to place too much load on the periodical server. [214] At step 320, the periodicals are converted into text using a convert script. Typically the periodicals are available in PDF format. The convert script invokes a PDF to text conversion application that is executed by the processor 1000. The PDF to text application can strip out the raw text contained in the PDF file, or may use OCR techniques. The processor 1000 stores a text file in the storage device 1030. The convert script causes the processor to check whether the text file already exists before converting the publication. [215] At step 330, the text files are parsed into SQL scripts using a parse script. Fig. 4 shows a method of parsing a text file into a SQL script. The method 400 starts at step 410 where the processor 1000 loads an XML parsing definition file from the storage device 1030. The parsing definition file contains instructions on parsing the text file into SQL commands comprising both events and items. For example, the parsing definition contains XML elements comprising one or more event nodes. Each event node corresponds to a particular event in the periodical. For example, the parse definition file may be configured to look for events in the supplement to the Australian Official Journal of Patents such as 'Applications Open to Public Inspection', 'Certified Innovation Patents' or 'PCT applications which have entered the National Phase'. In the below XML event node, the searchstring attribute refers to the 'Applications for amendment' event: <event ref='10' name= Applications for Amendment, searchstring='Applications for Amendment'> 25 <amend><remcve><! [CDATA[/((?<!priority details ) (19120) \d(8} (?= \D) ) /US) I ></remove><insert><! [CDATA [\n$1II ></insert></amend><! --place each app on a new line--> <fields><! fCDATA[ innuwmber> (19120) \d{8}) * (?<info>The nature of .+)$/mUS]I></fie2ds> <numcheck><! [CDATA[/\n(?<number> (191 20) \d(8))/]></numcheck> </event> [216] Each event is assigned a unique reference number. This reference number is stored on the database 270 instead of the longer text description of the event so as to minimize the size of the database and to aid in the creation of one or more database indices to speed up retrieval times. [217] At step 420 the text is split into strings by the processor 1000, where each string comprises the text pertaining to a particular event, as defined by each event node. For each event node in the parse definition file, the processor 1000 uses the string defined in the searchstring attribute and regular expression matching to determine the position of the text relevant to each event. The positions of each event in the text is used to split the text into strings. The strings are stored in memory 150. [218] At step 430, each text string is parsed by the processor 1000 to ascertain one or more items. An item may be, for example, a patent or a patent application associated with the event. Each item comprises a number offields, such a Title or Number. [219] First, each event string must be conditioned for item matching. Each XML event node may comprise one or more XML amend nodes. The amend nodes instruct the processor 1000 to modify the text string before it is parsed. The amend nodes are used for pre-formatting the text string so as to ensure the reliability of the subsequent item parsing. In the example given above, the amend node comprises regular expressions instructing the processor 1000 to place every ten digit number that begins with 19 or 20, that is not preceded by the test 'priority details' and is followed by a non-decimal character on a new line. In other words, the amend node places text relating to individual patent or patent applications on a new line. [220] The post amended text is parsed by the processor 1000 to ascertain one or more fields for each item. The XML event node comprises an XML field node. The field node contains regular expressions comprising identifiers corresponding to one or more fields of each item. In the above example, the item is a patent or a patent application, and the XML field node comprises one or more fields of the item, in this example, the number field and the info field. In 26 other words, the XML field node instructs the processor 1000 to use regular expression matching to find a ten digit number, and store that number under the field 'number' and also to look for one or more characters which are preceded by the words 'The nature of and store that matched text under the field info. As such, in the example given above, the XML event node is used to find all patent applications (items) that are open to public inspection (events), and to ascertain the number and other info (fields) of each patent application (item). [221] In certain circumstances the field element may become complex an unwieldy, in which cases reference is made to a field group. For example, for patents applications (items) that have been accepted (event), there may be a large number of fields pertaining to each patent application (item). As such, the following field element makes reference to the 'appfield' element: <fields fieldgroup="appftelds'!> [222] The 'appfield' element may comprise one or more fields, which are concatenated by the processor 1000 into a composite field. The below example shows the fields used to match patent applications (item) that have been accepted (event): <fieldgroup name=1"appfields"1> <field><! [CDATA[/^jj></field> <field><! [CDATA f\ (71\) (?<applicanc>.+) ]]></field> <field><! [CDATA [ (\ (l \) (?<pubnum>.+)) {,}?I I ></field> <field><! [CDATA[\ (21\) (?<number>.+) ]></field> <field><! [CDATA (22\) (?<filingdate>. )]]></field> <field><!i [CDATA[ (54 0 titleitle. +)J]]></Eield> <field>< ! [CDATA [(\(51\) (?<intu1>b ,+)) o,1 ?) ] fieldeld> <fiel d>< ! [CDATA [ \(86\ )( ?<pct> .+)) {0, 1} ?]1] ></field> <field><! [CDATA[((87\) (?<pcthpubnum>, +)) (0, 1}?]] ></field> <field>< ! [CDATA[(\ (31\) (?<prdocs> +)) (0, 1} ?)1 ></field> < fi el d>< f [CDATA[(\ (43\ (?<wipopubdate>.+)) {0, 1) ?1] ></field> <field> <! [CDATA[(\ (44\) (?<acceptancepubdate>.+)) (Ol)?]]></field> <field><! [CDATA!(\(45\) (?<opidate>.+)) (0,l)?]]></field> < fiel d>< ![CDATA [ \(62\ (?<pa-rent>. +) ) {0,1})?I ] ></field> < f e >< [DATA [(72 (?<n-ventors>. ) { 1})?] ]>< feld> <field><! [CDATA f$/USm] ) ></field> </fielduroup> 27 [223] Similarly, the following shows the fields used to match the trademark applications (item) that have been accepted (event): <fieldgroup name="appfields"> <field><! [CDATA [/^)] ></field> <field><! [CDATA [\s*\ (210\) \s* (?<number> \d+) \s* (Defensive) [0, 1}) I></field> <field><! [CDATA[\s* (\(ITR (\w+) \)) (0, 1)]] ></field> <field><! [CDATA[(\s*\(551\) \s*((Certification) I (Collective))) (0,1)]]></field> <field><! [CDATA[\s*\(220\)\s* (?<filingdate>\d(1,2) \w+ \d(4})]]></field> <field><! [CDATA[(\s*Divisional\s*of\s*(?<parent>\d{5,)) \s*filed \d{1,2) \w+ \d(4) ) {0,1))}></field> <field><! [CDATA[(\s*(\ (554\) \ (556\) | \ (557\) \ (591\)) (?<type> .+ 0) {,1} ]></field> <field><![CDATA[(\s*\(300\)\*(?<convention>,+)){0,1}]]></field> <field><![CDATA[\s*\(730\) \s*(?<applicant>.+)J]></field> <field><! [CDATA[o\s{0, 1If\s* (?<address>. +)]]></field> <field><![CDATA[\s*\(750\)\s*(?<service>. +)]]></field> <field><! [CDATA[\s*\ (511\) \ (510\) \s* (?<classes>C1\. \s* +))]></field> <field><![CDATA[(\s*\(500\)\s*(?<various>.+)\*{0,1}){0,1}]></field> <field><! [CDATA[\s*\ (540\) ((?<mark>.+)) (0,1})) ></field> <field><! [CDATA [$/USm)) ></field> </fieldgroup> [224] At step 440, the fields of the items and the events matched by the processor 1000 using the regular expressions contained in the XML event element are converted into SQL. Typically, three types of SQL command are created. For the above exemplary "Applications for Amendment' element, the following SQL command may be created by the processor 1000 for each event: INSERT INTO events_patents SET info = 'The nature of the amendment is as shown in the statement(s) filed 28 May 2010. Address for service in Australia - Mallesons Stephen Jaques Level 50 Bourke Place 600 Bourke Street Melbourne VIC 3000', ref '10', date ='1278511200', journal = '4911, number = 12003213660' ON DUPLICATE KEY UPDATE info = 'The nature of the amendment is as shown in the statement(s) filed 28 May 2010. Address for service in Australia - Mallesons Stephen Jaques Level 50 Bourke Place 600 Bourke Street Melbourne VIC 3000', ref = '10', date = 11278521200', journal = '491', number = '2003213660'; [225] Similarly, the following SQL command may be created by the processor 1000 for each item: 28 INSERT IGNORE INTO patents SET number = '2003264037'; [226] As can be seen, the SQL commands corresponding to the item and the event are created. For trademarks, an additional SQL command may be created to account for the classes assigned to the trademark, for example: INSERT INTO classestrademarks SET number='1363625', class='19', description='Semi worked wood, in particular chip board' ON DUPLICATE KEY UPDATE number= 1363625', class='19', description='Semi-worked wood, in particular chip board'; [227] The SQL command comprise the MySqI On Duplicate Key command so that the event, item and class information may be updated as the particular item progresses through one or more events. Typically, the first event for an item is the filing event. This event may not contain much information about the item, and may comprise simply the title of the item and the name of the applicant. As the item progresses through further events, more information may become available. For example, when the item is accepted, further information may be published about the item. As such, the SQL files are inserted in chronological order, so as to allow for the fields of each item to be complemented with each SQL command. The database 270 datatables for the items are configured with one or more INDEX or UNIQUE indices so as to ensure the non-duplication of information. For example, the item table (in this example, the patents or trademarks table) may be assigned a PRIMARY INDEX on the number. The event table (in this example, the events_patents or the eventstrademarks table) may be assigned a UNIQUE INDEX on ref and date, such that the same event will not be recorded twice on the same date. [228] In certain embodiment, the periodicals are available in XML format, such as USPTO bulk patent a trademark and patent product data. In this case, rather than using regular expressions to parse the data, the processor 1000 may be configures to use one or more XSL Transformations (XSLT) for transforming the XML documents into SQL for insertion into the database 270. An XSLT snippet for transforming patent application XML data into SQL is given as follows: <xsl :template match="us-patent -application"> <xsl1:variable name=1"application number"-><xsl:value-of select=l"us-bibliographic data-application/appli cation-reference/document-id/doc-number" /></xsl :variable> 29 INSERT IGNORE INTO patents SET number = '<xsl:value-of select="php: function('parse_functions::mysql_format', $application number)" /> <xsl:call-template name="us-patent-application template"/> ON DUPLICATE KEY UPDATE <xsl:call-template name="us-patent-application template "/> INSERT IGNORE INTO events_patents SET number = '<xsl.value-of select="$applicationnumber" / ref '10', date = '<xsl:value-of select= "php:function ('parse functions:: date format ',string(us-bibliographic data-application/publication-reference/document-id/date))" /> , file = '<xsl:value-of select="$file"/>, info = 'Published as <xsl:value-of select=""php:function('parse functions::mysqlformat string(us bibliographic-data-application/application-reference/document-id/country))" /> <xsl: text> </xsl: text> <xsl:value-of select= "php:function ('parse functions::mysql format ',string(us bibliographic-data-application/publication-reference/document-id/doc-number))" <xsl :text> </xsl: text> <xsl:value-of select="us-bibliographic-data-application/publication reference/document-id/kind" /> ON DUPLICATE KEY UPDATE file '<xsl:value-of select="$file"/>' info = 'Published as <xsl :value-of select="php:function ('parse functions: :mysqlformat ',string (us bibliographic-data-application/application-reference/document-id/country))" /> cxsl:text> </xsl:text> <xsl:value-of select"lphp:function('parse functions::mysqlformat',string(us bibliographic-data-application/publication-reference/document-id/doc-number)) " <xsl:text> </xsl:text> <xsl:value-of select=1"php:function('parse functions::mysqlformat',string(us bibliographic-data-application/publication-reference/document-id/kind))" /> '-newline </xsl: template> [229] As such, the processor 1000 is adapted to identify the item field data for the item and also the event data for the item. In the example above, the event data corresponding to the 30 application event is represented by the number 10. Similarly, the processor 1000 may also be adapted to process XML data relating to patent grant data and generate event data comprising, for example, the event ref 20, representing the acceptance event. [230] In certain embodiments, data may not be available for each separate event. For example, trademark day files may be available daily, whereby the day files comprise the data relating to all of the trademarks processed that day. In this manner, there is a large amount of data redundancy, As such, when inserting this data into the database 270, it is important to use the SQL INSERT IGNORE ON DUPLICATE KEY UPDATE syntax to avoid any duplication of data. [231] Furthermore, the event data for such data may be identified by event elements within the data. For example, a snippet from the XML file for identifying the event data is given as follows: <!--EVEITS--> <xs1:if test="case-file-header/filing-date"> INSERT IGNORE INTO eventstrademarks SET number = '<xs:value-of select= "php: function ('parsefunctions: :mysqlformat , string ($serial number)) ref = r10', file = '<xsl:value-of select=$file"/>', rawdate = '<xsl:value-of select=1"php:function('parsefunctions: :mysql_format',string(case-file header/filing-date)) " />', date = '<xsl:value-of select= "php: function ('parse functions: :date format ',string (case-file header/ filing-date))" />' ON DUPLICATE KEY UPDATE file = '<xsl:value-of select="$file"/>'-newline </xsl:if> <xsltif test="case-file-header/published-for-opposition-date"> INSERT IGNORE INTO events trademarks SET number = '<xsl:value-of select= "php: function ('parsefunctions: :mysql format',string($serial_number))" ref = '20 file = '<xsl:value-of select="$file1/>', 31 rawdate = '<xsl:value-of select="php:function(parsefunctions: :mysql_format ',string(case-file header/published-for-opposition-date))" />' date = '<xsl:value-of select="php:function( parsefunctions::date_format',string(csse-file header/published-for-opposition-date)) / ON DUPLICATE KEY UPDATE file = '<xsl:value-of select="$file"/>'-newline </xsl:if> [232] Furthermore, for the class data applicable to the event, the following XSL may be used: < f - -CLASSES--> <xsl :for-each select="case-file-statements/case-file-statement"> <xsl:if test="contains(type-code, 'GS')"> INSERT IGNORE INTO classes trademarks SET number = '<xsl:value-of select= "php:function('parsefunctions::mysql_format ',string($serialnumber)) class='<xsl:value-of select= "php: function ('parsefunctions: :mysqlformat ', string (substring (type code,4,2)))" />', description = '<xsl:value-of select="php:function('parsefunctions: :mysql_format',string(text))" />, file = '<xsl:value-of select="$file"/>' ON DUPLICATE KEY UPDATE description = '<xsl:value-of select= "php:function ('parse.functions: :nmysql_format ',string (text ) )" /> file = '<xsl:value-of select="$file"/>'-newline </xsl:if> </xsl :for-each> Database [233] Fig. 5 shows a database diagram of an exemplary database structure that may be used for the purposes of storing one or more events, items and classes of one or more trademarks, patents, trademark applications or patent applications. The numeric columns are shown in bold, primary keys are denoted by PK, INDEX keys are denoted by In and UNIQUE keys are denoted by Un. 32 [234] Tables patents and events are used to store items. The columns of these tables correspond roughly with the fields specified by the event nodes in the XML parse definition files. The patents and events tables are provided with the indices as shown to aid in the non duplication of inserted data and also to speedup table joins and FULLTEXT search queries. For example, in the patents table, a PRIMARY KEY is assigned to the number so as to avoid duplicate patents items and to speed up table joins, and FULLTEXT indices 11 to 19 are provided to speed up fulltext search queries across the non-numeric columns. [235] Tables eventspatents and eventstrademarks store events corresponding to the trademarks and patents tables. The ref column corresponds to the ref attribute of the XML event nodes, and the date column corresponds to the date of the publication. These tables are assigned a MySQL left handed INDEX(ref, date) to as to speed up extractions as shown in the examples given below. [236] Additionally, table classestrademarks is used to store the classes assigned to the trademark items. The table is assigned a FULLTEXT index 12 to allow rapid fulltext searching across the description rows. [237] Also shown are tables users, for recording the users of the system 200, table reports, for recording the reports (described below) generated by the users, alerts, for storing the alerts of the reports and searchterms, for storing the search terms of the alerts of the reports. [238] Also shown are tables subscriptions and subscription request for the purposes of affording certain users certain privileges, such as an increased number of reports. The subscriptions table comprises a regular expression email field that is used to match one or more email addresses in the users table so as to alter the number of maximum reports assigned to those users. User interface [239] Fig. 6 shows a report designer user interface 600, operable by a user on client computing device 220 for designing one or more reports comprising information from the periodicals. Interface 600 is displayed in a browser application 280 operating on client computing device 220. In the examples given below, the reports are specific to reporting on intellectual property, such as patents and trademarks. However, any type of report may be created. 33 [240] The interface 600 comprises a menu section 610 for creating or selecting one or more reports and alerts. Edit section 620 is used for editing, updating or deleting one of more reports or alerts. Help section 630 is used to display help information that is displayed in response to a user clicking on a help icon. Result section 640 is used to display one or more results of a query. [241] User interface 600 is operable so as to send and receive HTTP requests to and from the client computing device 220 and the web server 210 using asynchronous Javascript (AJAX) such that the need for entire page refreshes are eliminated. These asynchronous calls may be either initiated by user interaction with the browser application or automatically periodically executed. [242] Fig. 7 shows the report edit mode of the user interface 600. The menu section 610 lists the reports that have been created 700 and the options to add a table 710, a graph 720 or a further report 730. In the edit section 620, the user is able to edit one or more fields of the report, such as the title of the report 740 and the summary of the report 750. The user also is presented with option buttons 770 allowing the user to Update, Preview of Delete the report. If the user chooses to update the report, the menu section 610 is also updated to reflect the new report title. In the menu section, any report or alert that is selected is shown in bold font. If the user clicks the preview button, the report will be generated as a PDF file in a new window, as described below. If the user clicks on the delete button, the report will be deleted and the menu section 610 updated after the user confirms the delete request in a popup Javascript OK/Cancel-type dialogue. [243] Web server 210 is configured to allow users that are not logged on to create reports, so as to encourage users to trial the system without having to disclose personal information such as email addresses. For example, if the user is not logged on, all reports are stored in temporary session variables in memory 150. If a user is logged on, all reports are permanently stored in database 270. If the user has created one or more reports, and then creates a login, the reports are copied from the temporary session variables in memory 150 into the database 270. If the user is not logged on, information text 700 will inform the user that the currently created report will be deleted at the end of the user's session. 34 [244] Fig. 8 shows the interface 600 in alert mode. In alert mode, the user is able to view the results of, update, or delete an alert. An alert is either a table, or a graph, as described below. Fig. 8 shows the edit section where the user is editing a table alert for patents. [245] In this mode, the user has two options for customizing alerts, being the by search term option 800 and the by event option 830. If the user selects the by search term option, the alert search term input element 810 and field box 820 are shown. In the example given, the user is searching for all patents that match all of the words method, card, device and network by Title, The format of search terms correspond to the MySql fulltext search tern operators, allowing the user to match exact search strings by using quotes, to exclude words by using the - sign, include words by using the + sign or matching any words by separating the words with spaces etc. For patents alerts, the user is able to search by number, title, applicant, inventors, agent, publication number, international classification, PCT number, PCT publication number, priority number or parent number. For trademarks alerts, the user is able to search by number, mark, applicant, applicant address, convention, parent, address for service, IR number or class description. [246] If the user selects the by event option 830, the user is able to find events during the current month 840. For example, the user is able to find all patent applications that have been accepted during the month of June 2010. Note that the search results may be in the alternative, in that the user may search by search term only, by event only or both. [247] The most noteworthy events are shown in event select box 850. However, if the user checks the show all events checkbox 860, all of the events are shown. As such, the noteworthy events are shown in black, while the lesser noteworthy events are shown in gray. Events may also be grouped according to type, such as by grouping opposition application received and oppositions refused under the heading opposition proceedings. Checking a header checkbox will cause the children checkboxes to be checked also. [248] Hint 870 is configured to periodically display the number of matches matching the users query. Typically, the hint is configured to update every three seconds. As such, every three seconds, Javascript code will asynchronously submit the alert form to the web server 210, whereafter a SQL query will be created for execution against the database 270. The number of results will then be returned in JSON format for display. The following Javascript code may be used to update the hint field 870: new Ajax. Request (target url, { 35 parameters:Form.serialize(form,true), method;: 'post', onSuccess: function(transport) ( var name, obj = transport.responseJSON; for (name in obj) ( i f($(name) J=null) { $ (name) . update (obj [name]); [249] Buttons 8020 are provided to allow the user to view the results of the alert, update the alert or to delete the alert. [250] If the user clicks on the results button, an asynchronous JavaScript call is initiated and the results of the alert are shown in the results section 640. The results may comprise an explanation string 880 that describes the results, and the actual results, comprising a hyperlinked item number 890 and title or other information 8010. If the user clicks on the hyperlinked item number 890, a further window opens displaying the interface given in Figures 14 or 19, described below. [251] To minimize load on the database 270, the number of results shown in the results section 640 is limited, typically to 20. However, when performing the SQL query, the SQL query is limited to 21 using the MySql LIMIT command. Therefore, if 21 results are returned, there is an indication that more than 20 results are available. In such an instance, the user is presented with a link that says 'Show more results'. If the user click on the 'Show more results link', a further asynchronous call is initiated to fetch the further offset results. In this manner, the user may display any number of results. [2521 Note that Fig. 8 shows the help section 630 displaying search help, as a result of the user having clicked on the by searchterm help icon. [253] Fig. 9 shows the edit section 620 where the user is able to edit a graph alert. The graph alert interface is essentially the same as that for the table alert interface, except that the user is able to create an arbitrary number of series 900, typically limited to 5. As such, the user is also provided with create 910 and delete 920 controls for managing the extra series. [254] Also, the by event section 830 is not limited to any particular time period. This is because the user is given the option of specifying the time period using the period radio buttons 930. 36 [255] If the user clicks on the Graph button, a graph matching the specified alert will be displayed in the manner described below. [256] Fig. 10 shows an exemplary graph that is generated for three series and one event for the previous month, for which the data selected is obtained using the following SQL command: SELECT COUNVT(IF(MATCH (patents.applicant) AGAINST ('Apple' IN BOOLEAN MODE), 1, NULL)) AS series, COUNT(IF(MATCH (patents. applicant) AGAINST ('Microsoft' IN BOOLEAN MODE), 1, NULL)) AS serial, COUNT(IF(MATCH (patents.applicant) AGAINST ('Google' IN BOOLEAN MODE), 1, NULL)) AS serie2 FROM eventsjatents LEFT JOIN patents USING (number) WHERE ((eventspatents.ref '270') AND eventsj'atents.date>1275314400 AND even ts_patents.date<1277820000) [257] Fig. 11 shows an exemplary graph that is generated for three series and one event, for the previous year, for which the data selected is obtained using the following SQL command: SELECT COUNT(IF(MATCH (patents.applicant) AGAINST ('Apple' IN BOOLEAN MODE), 1, NULL)) AS serieO, COUNT(IF(MATCH (patents.applicant) AGAINST ('Microsoft' IN BOOLEAN MODE), 1, NULL)) AS series, COUNT(IF(MATCH (patents.applicant) AGAINST ('Google' IN BOOLEAN MODE), 1, NULL)) AS series, MONTH (FROMUNIXTIME (date)) AS month, YEAR (FROMUNIXTIME (date)) AS year, date FROM eventspatents LEFT JOIN patents USING (number) WHERE ((eventsapatents.ref='270') AND eventsypatents.date>12463 70400 AND eventspatents.date<1277906400) GROUP BY month ORDER BY year, month ASC [2581 Fig, 12 shows an exemplary graph that is generated for five events, for the previous month, for which the data selected is obtained using the following SQL command: SELECT COUNT(IF(eventspatents.ref=270, 1, NULL)) AS serieO, COUNT(IF(events_patents.ref=330, 1, NULL)) AS seriel, COUNT(IF(eventspatents.ref=360, 1, NULL)) AS serie2, COUNT(IF(eventsjpatents.ref=380, 1, NULL)) AS series, COUNT(IF(events_patents.ref=410, 1, NULL)) AS serie4 37 FROM eventspatents LEFT JOIN patents USING (number) WHERE ((events_patents.ref='270' OR eventspatents.ref='330' OR eventspatents.ref='360' OR eventspatents.ref='380' OR eventspatents.ref=410) AND eventspatents.date>1275314400 AND events_patents. date<1277820000) [259] Fig. 13 shows an exemplary graph that is generated for five events, for the previous year, for which the data selected is obtained using the following SQL command: SELECT COUNT(IF(eventspatents.ref=270, 1, NULL)) AS serieO, COUNT (IF (events_pa tents. ref=330, 1, NULL)) AS series, COUNT(IF(eventspatents.ref=3 60, 1, NULL)) AS serie2, COUNT(IF(eventspatents.ref=380, 1, NULL)) AS series, COUNT(IF(eventsjatents.ref=410, 1, NULL)) AS serie4, MONTH (FROM UNIXTIME(date)) AS month, YEAR (FROMUNIXTIME(date)) AS year, date FROM eventssatents LEFT JOIN patents USING (number) WHERE ((eventajatents.ref='270' OR eventspatents.ref='330' OR eventsjatents.ref='360' OR eventsapatents.ref='380' OR events_patents.ref= '410') AND eventsjpatents.date>1246370400 AND eventspatents.date<1277906400) GROUP BY month ORDER BY year, month ASC [260] Fig. 14 shows a detail screen of a patent item. The screen comprises a header section 1400 comprising the number of the patent item and the title of the patent item. [261] Detail section 1410 comprises certain fields of the patent item. These fields correspond with some of the fields matched by the XML event node in the parse definition file. [262] International classification section 1420 lists the international classifications assigned to the patent item and a corresponding explanation of the classification. To obtain the explanation of the classification, each classification of the classification fields of the patent item is identified using regular expression matching, such as: /(?<file>\w+) (?<maingroup>\d{1,3}) \/(?<subgroup>\d{2,6})/ [263] Each classification code is then used to lookup the explanation from the classification XML files, which are obtainable from the International Bureau. 38 [264] Event section 1430 lists the one or more events that are associated with this patent item. The date is given for each event and a hyperlink is associated with the event date to link to the actual publication in which the event occurs. [265] Each event may be associated with dynamic information that is obtained from the XML parse definition file. For example, the XML event node may comprise: <dynamicinfo>PCT publication field pctpubnum. Priority application(s); field:prdocs.</dynamicinfo> [266] As such, the text contained in the XML dynamicinfo element is displayed. Additionally thefield: code instructs the processor 1000 to request the actual value for the field from the database 270 for the patent item for display. [267] Additionally, one or more deadlines may be specified in the XML event node, as indicated by the clock icons 1460. Such deadline XML may be given as follows: <deadline> <text>The deadline for filing a Notice of Opposition to the acceptance of this application is JOURNALDATE+3</text> deadline> <deadline> <text>The expected sealing date is about JOURNALDATE+6</text> deadline> [268] In a similar manner to the dynamic info, the JOURNALDATE fields instruct the processor 1000 to compute the actual date of the deadline. As such, the deadline time periods may be updated without having to update the database 270. [269] Report create section 1440 is given to allow the user to create a report on-the-fly without having to use the report editor 620. The section 1440 consists of a drop down box listing one or more fields of the patent item. In the example given, the user is able to monitor the agent listed for the patent item. If the user clicks on the Go button, the processor will build the correct search query and create a report. The user will then be able to view the report in the interface 600. If the user has already created more than one report, section 1440 will additionally comprise a drop-down box allowing the user the option of selecting the destination report for the new alert. [270] Fig. 15 shows a user interface 1500 adapted for trademarks. In interface 1500, there is provided a class field 1520 that is displayed if the user checks the by class checkbox 1520. The classes listed in the class field are divided into good and services. Clicking on the 39 parent goods or services checkbox will check or uncheck all of the respective goods or services. Additionally, the results section 640 may display the class 1530 that matches the alert. [271] Fig. 16 shows an exemplary graph that is generated for 8 classes, for which the data selected is obtained using the following SQL command: SELECT COUNT (IF (classestrademarks.class=1, 1, NULL)) AS serieO, COUNT(IF(classestrademarks.class=2, 1, NULL)) AS series, COUNT(IF(classes trademarks.class=3, 1, NULL)) AS serie2, COUNT(IF(classes trademarks.class=4, 1, NULL)) AS series, COUNT (IF (classestrademarks.class=5, 1, NULL)) AS serie4, COUNT(IF(classestrademarks.class6, 1, NULL)) AS series, COUNT (IF(classes trademarks.class=7, 1, MULL)) AS series, COUNT(IF(classestrademarks.class=, 1, NULL)) AS series FROM trademarks JOIN classestrademarks USING (number) WHERE (classes_trademarks.class='1' OR classestrademarks.class='2' OR classestrademarks.class=3' OR classestrademarks.class='4' OR classes trademarks.class=5 OR classes trademarks.class='6' OR classes trademarks.class='7 OR classestrademarks.class='8') [272] Fig. 17 shows an exemplary graph that is generated for one class and three events during the previous month, for which the data selected is obtained using the following SQL command: SELECT COUNT (IF (events trademarks.ref=10, 1, NULL)) AS serieC, COUNT (IF (events_ trademarks.ref=20, 1, NULL)) AS series, COUNT (IF (eventstrademarks.ref=100, 1, NULL)) AS serie2 FROM events trademarks LEFT JOIN trademarks USING (number) JOIN classestrademarks USING (number) WHERE ((eventstrademarks.reft'10 OR eventstrademarks.ref'20' OR eventstrademarks.ref='100') AND events trademarks.date>1275314400 AND events_trademarks.date<1277820000) AND (classestrademarks.classz'4') [273] Fig. 18 shows an exemplary graph that is generated for one class and three events during the previous year, for which the data selected is obtained using the following SQL command: SELECT COUNT(IF(events trademarks.ref=10, 1, NULL)) AS serieO, 40 COUNT(IF (events_trade-arks.ref=20, 1, NULL)) AS series, COUNT(IF (eventstrademarks.ref=200, 1, NULL)) AS series, MONTH (FROMUNIXTIME (date)) AS month, YEAR (FROMUNIXTIME(date)) AS year, date FROM eventstrademarks LEFT JOIN trademarks USING (number) JOIN classestrademarks USING (number) WHERE ((events_trademarks.ref='10' OR eventstrademarks.ref=120' OR eventstrademarks.ref='100) AND eventstrademarks.date>1246370400 AND eventstrademarks.date<1277906400) AND (classestrademarks.class='4) GROUP BY month ORDER BY year, month ASC [2741 Fig. 19 shows a detail screen of a trademark item. The screen comprises a header section 1900 comprising the number of the trademark item and the mark of the patent item. If the mark is an image trademark, the image may be shown. The image may be obtained from the PDF file of the periodical, which typically includes a representation of the mark at acceptance, using a PDF image extraction tool. Class section 1920 lists the classes assigned to the trademark item and a corresponding explanation of the class. Building a report [275] A user is able to obtain a PDF version of each report created in interface 600. However, a report comprising multiple alerts may take a long time to generate, and therefore exceed the maximum scrip execution time of the web server 200. [276] Fig. 21 shows a method 2100 for generating a report in sections that avoids the maximum scrip execution time limitation. The method 2100 uses a series of asynchronous calls between the browser on the client computing device 220 and the web server 210 wherein each request and response is used to compute the results of an alert. After a series of requests and responses corresponding to the number of alerts are completed, the resultant PDF report is displayed to the user. In this manner, as long as each alert does not exceed the server maximum execution time limitation, reports of indefinite length may be created. [277] The method 2100 starts at step 2110 where the browser application on client computing device 220 browses to a PDF start URL such as: http://www.example.com/Patents/start/O/My Patents Report. pdf 41 [278] The title of the report is not used to identify the report, but rather to provide a visual clue to the user. The numeric index after /start/ is used to identify the numeric index of the patent. If the user is not logged on, the report is retrieved from the session report variables. If the user is log on, the report is retrieved from the database 270. If neither the session variables exist nor is the user logged on, the user will be redirected to a login screen. [279] At step 2120, session variables reserved for storing the PDF are cleared, so as to ensure that a new PDF is created each time. At step 2130 the web server 210 then redirects the browser to a second URL, such as: http2//www. example. com/patents/build/o/My Patents Report pdf [280] Fig. 20 shows a progress bar 2000 that is displayed to the user when the client computing device 220 browses to the second URL. Progress bar 2000 comprises a status 2010 of the current task and a progress indicator 2020. The progress indicator 2020 grows in size after each successive alert computation and displays the percentage completed. [281] At step 2140, the processor 1000 creates the header of the PDF file, such as the introduction, if any, and stores the result in memory 150. At step 2150, the processor retrieves the partial PDF from memory 150, executes the first alert, appends the results of the first alert to the PDF and stores the result in memory 150 again. Once the partial PDF is stored in memory, the web server 210 responds to the client computing device 220 with a JSON response indicating the progress of the report generation. Client side code on the client computing device 220 then updates the progress bar 2000 accordingly. [282] At decision 2160, the user terminal checks the value of the JSON progress upon receipt of each JSON progress update. If the progress is not 100%, i.e. the progress is not complete, the client side code on the client computing device 220 initiates a further asynchronous request to perform the next alert. This process is repeated until all of the alerts have been completed. Once all of the alerts have been completed, the processor 1000 generates the report footer, which may contain a disclaimer for example. [283] At step 2180, the client side code of the client computing device 220 then redirects the browser to a third URL, such as: http ://www.example.com/patents/load/O/My Patents Report.pdf 42 [284] At step 2190, the complete PDF file is retrieved from memory 150 and sent to the client computing device 220 for display. The PDF is then deleted from memory. [285] Fig. 22 shows an extract 2200 from an exemplary PDF report. The extract 2200 comprises one or more alerts, indicated by the alert headers 2210. The alert headers 2210 are a summary of the alert against a gray background 2270. Underneath each alert header 2210 is an explanation 2220 of the results of the alert. [286] So as to minimize the load on the web server 210, the number of results for each alert may be limited, in which case the explanation 2220 may state 'More than x results'. [287] Alerts that are tables are displayed in table format 2230 while alerts that are graphs are displayed in graphical format 2240. [288] The table 2230 comprises hyperlinks to each item, where a user may obtain more information pertaining to the item. Additional information 2260 applicable to the type of alert may also be displayed, such as the date of the event, the class of the trademark item or the type of event. Periodic update [289] There is disclosed a method of periodically updating the database 270 with additional items and events as successive periodicals become available. Periodically, the download, convert and parse scripts described above are executed on client computing device 220 to gather information of any periodicals that have appeared since the last iteration. The resultant SQL scripts are then uploaded to the web server 210, typically using a dedicated database 270 backend. Monthly reports [290] There is also disclosed a method for providing one or more users with a monthly report. For example, a user may create a plurality of report templates. At each periodic intervals, say, each month, the system 200 may be adapted to compile one or more reports for each report template comprising the items and events for the relevant period, and send the reports to the user. Where monthly reports are generated, the relevant period may be the preceding month. For example, a user may create a report template comprising an alert related to the applications filed by Apple Corporation. As such, during the month of May, preferably at the beginning of the 43 month, a user may receive a report comprising the items that were filed by Apple Corporation during the previous month of April. [291] A periodically executed script, for example initiated by a CronJob, may be configured to be executed by the processor 1000 of web server 210 on the first day of each month. Alternatively, the script may be configured to execute upon each update of the database 270. The script will cause the processor 1000 to retrieve all of the email addresses from the users table contained in the database 270. The processor, via network interface 170 then sends an email to each user comprising hyperlinks to each report created by each respective user. The user can click on each report hyperlink to view each respective report. In this manner, each user receives a periodical report comprising items and events matching the one or more alerts of the user. Identifying Potentially conflicting marks [292] According to a further embodiment, there is disclosed a search engine for identifying potentially conflicting trademarks. The search engine preferably takes the form of web server 210, but may, in other embodiments take the form of other computing devices, such as a desktop based computing device and the like. [293] The search engine may advantageously be used by brand managers, trademark owners, trademark agents and the like for identifying marks that may be in potential conflict with one or more marks belonging to each brand manager. As will be described in further detail below, the search engine allows each brand manager to monitor all of the marks belonging to the brand manager in accordance with the name of the brand manager. Specifically, each brand manager, using the search engine, is able to input the name of the brand manager, whereafter the search engine is operable to identify one or more marks belonging to the brand manager, and then ascertain one or more marks in potential conflict with the one or more marks belonging to the brand manager. [294] The search engine comprises a processor 1000, for processing digital data; a memory device 110 for storing digital data including computer program code; an interface (140 or 170) for sending and receiving digital data; a database 270 for storing digital data, the database 270 comprising at least trademark data representing one or more trademarks and owner data representing one or more trademark owners, the trademark data being stored in relation to 44 the owner data; and a bus 150 interconnecting the processor 1000, memory device 100, interface (140 or 170) and the database 270. [295] The processor 1000 is controlled by the computer program code to receive, via the interface (140 or 170), first owner data representing a first trademark owner. [296] Figure 23 shows an exemplary GUI 2300 adapted for identifying potentially conflicting marks by owner. The GUI 2300 comprises input field 2305 for inputting the name of a trademark owner. In the example given, the trademark owner 'Apple' has been given. [297] Having received the first owner data, the processor 1000 is controlled by the computer program code to select, from the database 270, first trademark data in accordance with the first owner data, representing first one or more trademarks stored in relation to the first owner data. In this manner, the web server 210 is adapted for identifying all of those trademarks belonging to apple as recorded in the database 270. As such, the requirement to enter in all of the trademarks for Apple is removed, saving time, especially for those brand managers or trademark owners having a large number of trademarks. For example, the processor 1000 may be controlled to perform the following SQL query against the database: SELECT trademark FROM trademarks WHERE vATCH ((owner) AGAINST ('APPLE') IN BOOLEAN MODE) The above query may return any number of trademarks, and may, for example return trademarks comprising the following trademarks: SPOTLIGHT XGR ID SOUNDTRACK VOICEOVER SALMAX PINK LADY MACINTOSH PRO EXILICE APPLESNAX [298] Having identified all of those trademarks belonging to apple as recorded in the database 270 received the first owner data, the processor 1000 is controlled by the computer program code to select, from the database 270, potentially conflicting trademark data in 45 accordance with the first trademark data, representing one or more trademarks potentially conflicting with the first one or more trademarks. For example, the web server 240 may generate a web page comprising the follow table: Number Mark SimilarByOwner Description Class Date Info Similar to mark Punched card 1. 143227O Simr tDOPOD machines for 9 7Jul Application LJLLDIJ 11274 c DOPOD9 offices; electric filed wires;.. Similar to mark Audio amplifiers; 2. 1434722 -: t 'DAHCODE' in audio circuit 9 14JuApplication class 9 boards; audio... Electronic devices 3. 1434130 1113035 'oWEB for remote 9 14Jul Application iweb' in class 9 monitors filed and/or... Similar to mark Software for Application 4. 1389202 ~1113035 '[WEB [storing, managing, 9 14iu caio iWeb' in class 9 processing,.. Accepted Similar to mark 5.I-WEB 1113035 'lWEB Safety harnesses iWeb' in class 9 file Similar to mark Battery chargers; Application 6. 1402929 1211467 'IPOD batteries; electric 9 28Ju ptio TOUCH' in class 9 storage.. Similar to mark Electrical 7. 1434429 1418267 'Lion' in apparatus and 14JuApplication 9 instruments, filed namely,... 46 Similar to mark Pre-recorded 8. 1434523 P90X2 1003789 'PAGES' in video tapes, audio 9 14JuA class 9 and video.. Similar to mark Computer 9. 1433214 PE 1003789 'PAGES' in software mcluding 9 14IlApplication class 9 downloadable filed computer.. Similar to mark Computer 10. 1433213 PEXA 1003789 'PAGES' software including 9 14Jul ication clas 9 ownloadable filed class 9 cmue _____________computer..____ Similar to mark Apparatus and 1433866 PIT 1013384 'POD' in instruments for 9 l4Jul Application class 9 conducting,... Similar to mark Scientific, 12 1363265 PHILEXA nautical, 9 14Ju Application _____ PILX1410761 'PLACES' surveying, Accepted in class 9 riAccepted electric,,, Similar to mark Cases adapted for 13. 1432877 1112896 'TUBES' in electronic 9 14Ju Application class 9 equipment H Tuff CaseIAplictio Similar to mark Apparatus for 14. 1417883 TASER 979118 'TIGER' in recording video,9 Application class 9 including video... E H Accepted [#Number Mark SimilarByOwner Description Class Date Info [299] As can be seen from the above table, the column 'Mark' shows a trademark filed or accepted in classes 9 of 24 for the current or previous month (July). The column 'SimilarByOwner' shows marks that have been determined by the web server 210 as being potentially conflicted with the trademark shown in the 'Mark' column. In this manner, the trademark owner may be able to take action against the applicant of the potentially conflicting mark, such as by filing a notice of opposition and the like. [300] In the manner described below, the web server 210 is able to monitor those marks potentially conflicting with all of the marks of a trademark owner, even for trademarks owners having hundreds of trademarks, in a very quick time, typically in under a few seconds. Such 47 processing is especially advantageous for web based applications wherein a response to a query must be returned before the web request times out, typically in under 30 seconds. [301] The potentially conflicting trademark data may be selected in accordance with a similarity algorithm comparing the similarity of the trademarks with the trademarks of the trademark owner. In one embodiment, the similarity algorithm is a phonetic algorithm. One such manner to achieve a similarity algorithm is to add a SOUNDEX column to the trademarks table in the database 270 as shown in Figure 5. For example, the following text may be used: ALTER TABLE trademarks ADD COLUMN 'sounds like' VARCHAR(45); [302] Using this column, each row may be updated with a SOUNDEX representation of each mark. Such may be accomplished using the following SQL statement: UPDATE trademarks SET sounds like=SOUNDEX(mark) WHERE (mark= Imark IS NOT NULL) AND soundslike IS AULL [303] This soundlike column may then be indexed for rapid selection during the performance of a similarity query. In order to identify those marks as being in potential conflict with the marks of the trademark owner, the processor 1000 may be controlled to perform the following SQL query against the database 270: SELECT now month-trademarks.*, eventstrademarks.ref, events trademarks.date, classestrademarks,class AS class, classestrademarks.description AS description, CONCAT( IF((SOUNDEX(mark)= '313423' AND class= 19'), 'Similar to mark 1034646 \'SPOTLIGHT\' inclass 9', ''), IF((SOUNDEX(mark) = 'X630' AND class= '38'), 'Similar to mark931452 \'XGRID\' in class 39', ''), IF((SOUNDEX(mark) I'5362' AND class= '9'), 'Similar to mark 968835 \'SOUNDTRACK\' in class 9,') IF((SOUNDaXmark) = 'V216' AND class= '9'),'Similar to mark1036732 \'VOICEOVER\' in class 9', ''), IF((SOUNDEX(mark) ='452' AND class= '5'),'Similar to mark 1019011 \'SALMAX\' in class 5', ''), IF((SOUNDEX(mark) = 'PS243' AND class= '33'), 'Similar to mark942665 \'PINK LADY\' in class 331,''), 48 IF((SOUNDEX(mark) = 'M25321632323'AND class= '9'), 'Similar to mark 1008479 \'MACINTOSH PRODUCTS GUIDE\' in class 9', ) IF((SOUNDEX(mark) = 'E242' AND class= '5'), 'Similar to markl028312 \'EXILICE\' in class 5', '') IF((SOUNDEX(mark) = 'A14252' AND class= '31'), 'Similar to mark 1004032 \'applesnax\' in class 31','!), AS SimilarByOwner FROM nowmonthtrademarks JOIN events_trademarks USING (number) JOIN classestrademarks USING(number) WHERE ((soundslike = 'S13423' AND class= 19') OR (sounds-like = 'X630'AND class= '38') OR (sounds like = '55362' AND class= '9') OR (soundslike= 'V216' AND class= '91) OR (sounds like = 'S452' AND class= '5') OR (sounds-like = 'P5243' AND class= '23') OR (sounds-like = 'M25321632323'AND class= '9') OR (sounds-like = '2242' AND class= '5') OR (sounds-like = 'A14252' AND class= '31') OR (sounds like = A152' AND class= '5') OR (soundslike = 'P536' AND class= '9') OR ( .,. AND NOT (MATCH (owner)AGAINST ('Apple' IN BOOLEAN MODE)) AND ((eventstrademarks ref= '10' OReventstrademarks.ref= '20') AND eventstrademarks.date>1309471200 AND events trademarks.date<1312149599) AND (classestrademarks.class= '9' OR classestrademarks.class= '24') [304] As can be seen from the above query, the SQL query comprises a number of clauses in the WHERE field seeking those trademarks having the same SOUNDEX key: sounds-like = 'X630'AND class= '38' [305] Each WHERE clause may additionally restrict the match to the particular class of good or service of each mark, so as to reduce the number of false positives be eliminating those similar sounding marks not being in respect of the same good or services. In one embodiment, the processor 1000 may be controlled to expand the class matching to those classes being related to the class in respect of the class of the trademark belonging to the owner. For example, for class 6, the associated classes are 6,17,19,20 and 22. As such, the processor 1000 may be controlled to perform the following query: 49 soundslike = 'X630'AND (class= 6' OR class= '17' OR class= '19' OR class= '20' OR class= '22') Furthermore, the SQL query comprises the following SQL so as to not identify those marks actually belonging to the trademark owner: AND NOT (MATCH (owner)AGAINST ('Apple' IN BOOLEAN IDDE)) [306] Note that in the above example, the database 270 comprises the table 'nowmonthtrademarks' representing a summary table of the trademarks table comprising only those trademarks having associated events for the current month. Such a summary table reduces the computational overhead of selecting marks, especially where the trademarks table comprises over 2 million marks. A similar summary table named 'nowyear trademarks' may be employed for those queries spanning the current year. [307] In another embodiment, the similarity algorithm is an edit distance algorithm. One such edit distance that may be employed is a Levenshtein distance metric, a metric for measuring the amount of difference between two sequences. The processor 1000 may be further adapted to select only those potentially conflicting marks having a Levenshtein distance less than a threshold, such as 5. For example, where the Levenshtein distance between "kitten" and "sitting" is 3, the processor 1000 may be adapted to select 'kitten', on account of it's edit distance being less than the threshold of 5. A SQL fragment that may be employed in this manner is: .HAVING lev distance <6 [308] In a further embodiment, the processor 1000 may be adapted to sort the sort the potentially conflicting trademark data using a relevance algorithm. In this manner, the potentially conflicting marks determined by the processor 1000 as being most relevant may be displayed in a web page at the top of a list. [309] In one embodiment, the relevance algorithm is an edit distance algorithm, Specifically, in this manner, the processor 1000 may be adapted to employ a SQL statement that selects those marks as having the same SOUNDEX key, wherefter the matches are sorted. A SQL fragment that may be used is: ORDER Y lev distance DESC 50 [310] In one embodiment, the trademark data comprises image data representing one or more image marks. For example, in Figure 23, there is shown the matching of the image mark 'PEXA' with the mark 'PAGES'. [311] In this manner, the potentially conflicting trademark data is selected in accordance with image metadata. For example, each image mark may comprise matedata indicating the text displayed within the image mark such that the processor 1000 utilises the metadata in the comparison of the mark. Where no such metadata exists, the processor 100 may further controlled by the computer program code to employ optical character recognition to generate the image metadata. Note that the processor 1000 need not employ only metadata relating to the textual content contained within an image. In other embodiments the processor 1000 may employ metadata relating to colour for colour marks, sounds description metadata for sound marks, and movement description data for movement marks. [312] It should be noted that in the above example potentially conflicting marks were selected in accordance with class and event. However in further embodiments, potentially conflicting marks may be selected without reference to class or event, or by class or event alone. [313] In a further embodiment, the GUI 2300 may be adapted to take as input trademark data representing a trademark for which the web server 210 is to identify potentially conflicting trademarks. In this manner, individual trademarks may be monitored, rather than by using a trademark owner name. [314] In certain embodiments, especially where hundreds of thousands of trademarks are involved, summary tables may be computed to as to enable the identification of potentially conflicting marks in a single query. For example, the table now month similartrademarks may be generated using the following script: SET stora geengine=MYISAM; DROP TABLE IF EXISTS 'tempwhen_%period similartrademarks'; DROP TABLE IF EXISTS '*when_%period similartrademarks'; CREATE TABLE 'temp_%when_%period similar trademarks' number' int (10) unsigned NOT NULL default '0 COMMENT (210) Serial Number of the application., mark? varchar(255) default NULL COMMENT '(540) Reproduction of the mark.', service' varchar(255) default NULL, owner' varchar(255) default NULL, sounds-like' varchar(45) default NULL, ref' int (10) unsigned, 51 'date' int (10) unsigned, class' smallint (5) unsigned, -description' TEXT default NULL, KEY 'index soundsclass' (soundslike', class') , KEY 'index-number' ('number'), KEY 'index ref' ('ref') ENGINE=MyISAM DEFAULT CHARSET=latinl; ALTER TABLE 'tempkwhen_%period-similar_trademarks' DISABLE KEYS; INSERT IGNORE INTO 'temp_%when_%period similar trademarks' SELECT trademarks, number, trademarks.mark, trademarks.service, trademarks. owner, trademarks.sounds like, eventstrademarks. ref, eventstrademarks.date, classestrademarks. class, classestrademarks. description FROM trademarks LEFT JOIN classes trademarks USING(number) LEFT JOIN eventstrademarks USING(number) WHERE eventstrademarks.date>%from AND eventstrademarks.date<%to; ALTER TABLE 'temp _when Speriod similar trademarks' ENABLE KEYS; DROP TABLE IF EXISTS Swhen_-periodsimilartrademarks; ALTER TABLE 'temp_%-when_%period-similartrademarks' RENAME TO 'when_%-period similartrademarks [315] In this manner, the potentially conflicting trademarks may be selected in a single query (as opposed to two queries) using join statements as follows: SELECT CONCAT("L:/ipmonitor/images/trademarks/", getimage_path (now month_similartrademarks.n umber),"'.jpg") AS similarimagejath, CONCAT( "L:/ipmonitor/linages/trademarks!", get image path(trademarks.number), ".jpg") AS imagepath, image_exists (CONCAT (1"L:/ipmoni tor/images/trademarks/", getimagepath (now_month similar trademarks.number), "..jpg")) AS similar image exists, imageexists (CONCAT ( "L: /ipmoni tor/images/trademarks/", get imagepath (trademarks. number ),".jpg")) AS trademarkimageexists, now monthsimilartrademarks.numnber AS similarnumber, now month similar trademarks.owner AS similar owner, 52 nowmonth similartrademarks.service AS similarservice, now monthsimilartrademarks.mark AS similar-mark, nowmonthsimilar trademarks.ref AS ref, now monthsimilartrademarks.date AS similardate, trademarks.number AS trademark number, trademarks.owner AS trademark-owner, trademarks.service AS trademarkservice, trademark9.mark AS trademarkmark, classestrademarks.class AS trademarkclassnum, nowmonthsimilartrademarks.class AS similarclass_num, classestrademarks.description AS trademark description, now month similartrademarks.description AS similar-description, levenshtein(trademarks.mark, nowmonthsimilar trademarks.mark) AS score, GROUPCONCAT(' :',events_trademarks.ref, ' :) AS concat_eventrefs FROM trademarks JOIN classes-trademarks USING(number) JOIN events-trademarks USING(number) JOIN now month similar trademarks ON( trademarks.soundslike = nowmonthsimilartrademarks.sounds_like AND classestrademarks.class = nowmonthsimilartrademarks.class AND trademarks.soundslike ! AND trademarks soundslike IS NOT NULL WHERE MATCH (trademarks. service) AGAINST ($P{SERVICE] IN BOOLEAN MODE) AND trademarks.mark IS NOT NULL AND trademarks.mark !='' AND now monthsimilartrademarks.mark IS NOT NULL AND now month similar trademarks.mark != AND nowmonth_similar trademarks.number!=trademarks.number AND (nowmonthsimi lartrademarks. ref= 10' AND nowmonthsimilartrademarks.date>UNIXTIMESTAMP('2012-02-01) AND now month similar trademarks.date<UNIX TIMESTAMP('2012-03-01 )) GROUP BY eventstrademarks.number HAVING score<4 AND LOCATE(':680: , concat-eventrefs) = 0 AND LOCATE(':190: 1, concateventrefs) = 0 AND LOCATE(':200:', concat eventrefs) = 0 AND LOCATE(':260U :, concat_eventrefs) = 0 AND LOCATE(':350: , concat-eventrefs) = 0 AND SPLITSTR (nowmonthsimilartrademarks.service , 1) 1= SPLITSTR(trademarks.service, ', 1) AND SPLIT STR (nowmonthsimilartrademarks.owner, r 1) 1= SPLIT STR (trademarks.owner, ' 1) 53 ORDER BY score ASC [316] Having identified the potentially conflicting trademarks, the web server 240 is adapted to eliminate those potentially conflicting trademarks which are irrelevant, such as those trademarks that are lapsed, for example. Such is apparent from the HAVING clause of the above SQL command, wherein trademarks making event ids 180, 190, 200 etc are excluded. Conversely relevant trademarks may be included using the HAVING clause. Identifying trademarks potentially conflicting with a trademark application [317] According to another aspect, there is provided a computer implemented method for identifying trademarks potentially conflicting with a trademark application. The method may be employed for the online filing of trademark applications, wherein the classification of the goods and services in respect of the application and the searching of potentially conflicting trademarks is automated. [318] The method is preferably implemented by web server 240, the web server 240 comprising a processor 1000 for processing digital data, a memory device 110 for storing digital data including computer program code; an interface 170 for sending and receiving digital data; and a database for storing digital data. [319] Turning now to Figure 24, there is shown an exemplary GUI 2400 adapted for identifying trademarks potentially conflicting with a trademark application. [320] The GUI 2400 comprises a trademark representation input field 2405 for inputting the trademark representation. Here the trademark representation is the word 'Billy'. In various embodiments, other trademark types may be input, such as logo trademarks and the like. [321] The GUI 2400 further comprises goods and service input field 2410 for inputting the goods and services in respect of the trademark. In the example given, the trademark is being used in respect of shoes. [322] Having input the goods and services for the trademark, the web server 240 is adapted to select from the database matching goods and services and their associated classes. For example, the following query may be used: SELECT description, class FROM goods andser-vices WHERE description REGEXP I$) 1ORDER BY class nun 54 [323] Such a query may be initiated by an asynchronous call to the web server 240 such that popup window 2415 may be displayed with the matching goods and services for selection. [324] The popup window 2415 comprises all the goods and services matching the search term 'shoes'. The results are grouped in to class categories, being class 1, class 3 etc. in the example given.Additionally, the web server 240 is adapted to search potentially conflicting trademarks from the database. The web server 240 may comprise the database 270, or the database 270 may be a remote database, coupled to the web server 240 across a network. The potentially conflicting trademarks may be identified using an exact match search or a similarity algorithm as the case may be. [325] Where a remote database is concerned, an API may be used. Alternatively, the web server 240 may be adapted to interface with a human input interface, by mimicking http requests to obtain the results. [326] The web server 240 is adapted to ascertain the classes of each potentially conflicting trademark. In this manner, the potentially conflicting trademarks may be summed and grouped by trademark class by the web server 240. For example, in the example given, the popup window 2415 comprises an indicia 2425 indicating that there are 2 potentially conflicting trademarks in class 1, 9 potentially conflicting trademarks in class 3 and so on. Should the user click on the trademark class, a further popup window may be displayed showing the potentially conflicting trademarks such that the user is able to review the potentially conflicting trademarks to for a view as to similarity. Figure 25 shows such a further popup window 2500 showing the potentially conflicting trademarks for class 10. [327] Note that popup window 2500 comprises not only the potentially conflicting trademarks in the same class, but also the potentially conflicting trademarks in similar classes. Specifically, the popup window 2500 states that the trademark 'Angel babies...' is in similar class 5, which is a similar class to class 10. In this manner, the web server 240 is configured with a lookup table of cross classes, so as to be able to identify associated classes with any particular trademark class. [328] Note that for class 4, the web server 240 found no potentially conflicting trademarks, indicating that the user may be able to obtain trademark registration for that particular class without conflicting with other trademarks. 55 [329] Clicking on any trademark class will cause the matching goods and services 2430 for that particular class to be displayed. In the example given, clicking on class 10 reveals matching goods and services 2430 'pads for shoes' etc. Clicking in a matching goods and service 2430 will cause the web server 240 to add the selected matching goods and service 2430 to the users goods and service collection 2435. 56

Claims (174)

1. A computer implemented method for selecting intellectual property item data associated with an intellectual property item from intellectual property data, the method comprising the steps of: receiving intellectual property data; selecting the intellectual property item data associated with an intellectual property item from the intellectual property data; and storing the intellectual property item data in relation to the intellectual property item.
2. A computer implemented method as claimed in claim 1, further comprising the steps of: receiving further intellectual property data; selecting further intellectual property item data associated with the intellectual property item from the further intellectual property data; and storing the further intellectual property item data in relation to the intellectual property item.
3. A computer implemented method as claimed in claim 2, wherein: the intellectual property item data comprises first intellectual property field data, and the step of selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: selecting the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
4. A computer implemented method as claimed in claim 3, wherein: the further intellectual property item data comprises the first intellectual property field data, and the step of selecting the further the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: 57 selecting the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
5. A computer implemented method as claimed in claim 4, wherein the first intellectual property field data is selected from the set of field data comprising application number and registration number data.
6. A computer implemented method as claimed in claim 1, wherein the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item.
7. A computer implemented method as claimed in claim 2, wherein the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item.
8. A computer implemented method as claimed in claim 6, further comprising the step of: generating intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event.
9. A computer implemented method as claimed in claim 1, wherein the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item.
10. A computer implemented method as claimed in claim 9, wherein the trademark class data comprises trademark class number data and trademark class description data.
11. A computer implemented method as claimed in claim 1, wherein the step of receiving intellectual property data comprises the steps of: receiving the intellectual property data in a first format; and converting the intellectual property data into a second format.
12. A computer implemented method as claimed in claim 11, wherein the first format is portable document format.
13. A computer implemented method as claimed in claim 12, wherein the second format is text format. 58
14. A computer implemented method as claimed in claim 1, wherein the step of selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises the step of: selecting the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression.
15. A computer implemented method as claimed in claim 14, wherein the pattern matching expression is a regular expression.
16. A computer implemented method as claimed any one of the preceding claims wherein the intellectual property item is selected from the stet of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items.
17. A web server for selecting intellectual property item data associated with an intellectual property item from intellectual property data, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to receive intellectual property data; the processor is controlled by the computer program code to select the intellectual property item data associated with an intellectual property item from the intellectual property data; and the memory device is controlled by the computer program code to store the intellectual property item data in relation to the intellectual property item.
18. A web server as claimed in claim 17, wherein the network interface is controlled by the computer program code to receive further intellectual property data; the processor is controlled by the computer program code to select further intellectual property item data associated with the intellectual property item from the further intellectual property data; and 59 the memory device is controlled by the computer program code to store the further intellectual property item data in relation to the intellectual property item.
19. A web server as claimed in claim 18, wherein: the intellectual property item data comprises first intellectual property field data, and the processor is controlled by the computer program code to select the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
20. A web server as claimed in claim 19, wherein: the further intellectual property item data comprises the first intellectual property field data, and the processor is controlled by the computer program code to select the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
21. A web server as claimed in claim 20, wherein the first intellectual property field data is selected from the set of field data comprising application number and registration number data.
22. A web server as claimed in claim 17, wherein the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item.
23. A web server as claimed in claim 18, wherein the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item.
24. A web server as claimed in claim 22, wherein the processor is controlled by the computer program code to generate intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event.
25. A web server as claimed in claim 17, wherein the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item. 60
26. A web server as claimed in claim 25, wherein the trademark class data comprises trademark class number data and trademark class description data.
27. A web server as claimed in claim 17, wherein the network interface is controlled by the computer program code to receiving the intellectual property data in a first format; and the processor is controlled by the computer program code to convert the intellectual property data into a second format.
28. A web server as claimed in claim 27, wherein the first format is portable document format.
29. A web server as claimed in claim 28, wherein the second format is text format.
30. A web server as claimed in claim 17, wherein the processor is controlled by the computer program code to select the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression.
31. A web server as claimed in claim 30, wherein the pattern matching expression is a regular expression.
32. A web server as claimed any one of the preceding claims wherein the intellectual property item is selected from the set of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items.
33. A client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as claimed in any one of claims 17 to 32.
34. A computer readable storage medium for selecting intellectual property item data associated with an intellectual property item from intellectual property data having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving intellectual property data; instructions for selecting the intellectual property item data associated with an intellectual property item from the intellectual property data; and instructions for storing the intellectual property item data in relation to the intellectual property item.
35. A computer readable storage medium as claimed in claim 34, further comprising: instructions for receiving further intellectual property data; 61 instructions for selecting further intellectual property item data associated with the intellectual property item from the further intellectual property data; and instructions for storing the further intellectual property item data in relation to the intellectual property item.
36. A computer readable storage medium as claimed in claim 35, wherein: the intellectual property item data comprises first intellectual property field data, and the instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
37. A computer readable storage medium as claimed in claim 36, wherein: the further intellectual property item data comprises the first intellectual property field data, and the instructions for selecting the further the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the further intellectual property item data associated with the intellectual property item from the intellectual property data in accordance with the first intellectual property field data.
38. A computer readable storage medium as claimed in claim 37, wherein the first intellectual property field data is selected from the set of field data comprising application number and registration number data.
39. A computer readable storage medium as claimed in claim 34, wherein the intellectual property item data comprises first intellectual property event data representing a first event associated with the intellectual property item.
40. A computer readable storage medium as claimed in claim 35, wherein the further intellectual property item data comprises second intellectual property event data representing a second event associated with the intellectual property item.
41. A computer readable storage medium as claimed in claim 39, further comprising: 62 instructions for generating intellectual property deadline data in accordance with the first intellectual property event data representing an intellectual property deadline associated with the first intellectual property event.
42. A computer readable storage medium as claimed in claim 34, wherein the intellectual property item data comprises trademark class data representing a trademark class associated with the intellectual property item.
43. A computer readable storage medium as claimed in claim 42, wherein the trademark class data comprises trademark class number data and trademark class description data.
44. A computer readable storage medium as claimed in claim 34, wherein the instructions for receiving intellectual property data comprises: instructions for receiving the intellectual property data in a first format; and instructions for converting the intellectual property data into a second format.
45. A computer readable storage medium as claimed in claim 44, wherein the first format is portable document format.
46. A computer readable storage medium as claimed in claim 45, wherein the second format is text format.
47. A computer readable storage medium as claimed in claim 34, wherein the instructions for selecting the intellectual property item data associated with the intellectual property item from the intellectual property data comprises: instructions for selecting the intellectual property item data associated with the intellectual property item in accordance with a pattern matching expression.
48. A computer readable storage medium as claimed in claim 46, wherein the pattern matching expression is a regular expression.
49. A computer readable storage medium as claimed any one of the preceding claims wherein the intellectual property item is selected from the set of intellectual property items comprising patent application, patent, trademark applications and trademark intellectual property items. 63
50. A computer implemented method for querying an intellectual property database, the method comprising the steps of: receiving search query data representing a search query, the search query data comprises event search query data representing an intellectual property event search query; selecting item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and generating result data comprising the item data.
51. A computer implemented method as claimed in claim 50, wherein the step of selecting item data in accordance with the search query data representing one or more items matching the search query comprises the steps of: selecting a search query time span; and selecting the item data in accordance with the search query time span.
52. A computer implemented method as claimed in claim 50, wherein the step of selecting item data in accordance with the search query data representing one or more items matching the search query is automated at periodic intervals.
53. A computer implemented method as claimed in claim 50, wherein the periodic intervals are monthly periodic intervals.
54. A computer implemented method as claimed in claim 50, further comprising the step of generating hint data representing the number of items having events matching the event search query.
55. A computer implemented method as claimed in claim 50, wherein the result data comprises tabular data comprising date data representing the dates of the events.
56. A computer implemented method as claimed in claim 50, wherein the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query.
57. A web server for querying an intellectual property database, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and 64 a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to receive search query data representing a search query, the search query data comprises event search query data representing an intellectual property event search query; the processor is controlled by the computer program code to select item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and the processor is controlled by the computer program code to generate result data comprising the item data.
58. A web server as claimed in claim 57, wherein the processor is controlled by the computer program code to select a search query time span; and select the item data in accordance with the search query time span.
59. A web server as claimed in claim 57, wherein the processor is controlled by the computer program code to select item data in accordance with the search query data representing one or more items matching the search query at periodic intervals.
60. A web server as claimed in claim 57, wherein the periodic intervals are monthly periodic intervals.
61. A web server as claimed in claim 57, wherein the processor is controlled by the computer program code to generate hint data representing the number of items having events matching the event search query.
62. A web server as claimed in claim 57, wherein the result data comprises tabular data comprising date data representing the dates of the events.
63. A web server as claimed in claim 57, wherein the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query.
64. A client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as claimed in any one of claims 57 to 63. 65
65. A computer readable storage medium for querying an intellectual property database having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving search query data representing a search query, the search query data comprises event search query data representing an intellectual property event search query; instructions for selecting item data in accordance with the search query data representing one or more items having events matching the event search query, the item data comprising item event data; and instructions for generating result data comprising the item data.
66. A computer readable storage medium as claimed in claim 65, wherein the instructions for selecting item data in accordance with the search query data representing one or more items matching the search query comprises: instructions for selecting a search query time span; and instructions for selecting the item data in accordance with the search query time span.
67. A computer readable storage medium as claimed in claim 65, wherein the instructions for selecting item data in accordance with the search query data representing one or more items matching the search query is automated at periodic intervals.
68. A computer readable storage medium as claimed in claim 65, wherein the periodic intervals are monthly periodic intervals.
69. A computer readable storage medium as claimed in claim 65, further comprising the instructions for generating hint data representing the number of items having events matching the event search query.
70. A computer readable storage medium as claimed in claim 65, wherein the result data comprises tabular data comprising date data representing the dates of the events.
71. A computer readable storage medium as claimed in claim 65, wherein the result data comprises graphical data comprising time series data representing the number of items having events matching the event search query. 66
72. A computer implemented method for generating intellectual property reports, the method comprising the steps of: receiving report template data; and generating report data in accordance with the report template data.
73. A computer implemented method as claimed in claim 72, wherein the step of generating report data in accordance with the report template data comprises the steps of: selecting item data in accordance with the report template data; and generating the report data comprising the item data.
74. A computer implemented method as claimed in claim 73, wherein: the report template data comprises item search query data, and the step of selecting item data in accordance with the report template data comprises the steps of: selecting item data in accordance with the item search query data.
75. A computer implemented method as claimed in claim 74, wherein: the item search query data comprises item event search query data, and the step of selecting item data in accordance with the item search query data comprises the step of: selecting item data in accordance with the item event search query data.
76. A computer implemented method as claimed in claim 75, further comprising the step of: receiving search query period data, and wherein the step of selecting item data in accordance with the item event search query data comprises the step of: selecting the item data in accordance with search query period data.
77. A computer implemented method as claimed in claim 75, wherein the step of generating report data in accordance with the report template data is automated at a recurring interval.
78. A computer implemented method as claimed in claim 81, wherein the step of selecting item data in accordance with the item event search query data comprises the step of: selecting the item data in accordance with the interval. 67
79. A computer implemented method as claimed in claim 77, wherein the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals.
80. A computer implemented method as claimed in claim 72, wherein the report template data comprises data selected from the set of data comprising: report title data; report summary data; report search query period data; and item search query data.
81. A computer implemented method as claimed in claim 74, wherein the report data comprises tabular data representing a table comprising the item data.
82. A computer implemented method as claimed in claim 75, wherein the report data comprises tabular data representing a table comprising date data of one or more events of one or more items.
83. A computer implemented method as claimed in claim 74, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data.
84. A computer implemented method as claimed in claim 75, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data.
85. A computer implemented method as claimed in claim 75, wherein the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time.
86. A computer implemented method as claimed in claim 72, further comprising making the report data available online.
87. A web server for querying an intellectual property database, the web server comprising: a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; and 68 a network interface for sending and receiving digital data and being coupled to the processor, wherein the network interface is controlled by the computer program code to receive report template data; and the network interface is controlled by the computer program code to generate report data in accordance with the report template data.
88. A web server as claimed in claim 87, wherein the processor is controlled by the computer program code to select item data in accordance with the report template data; and generate the report data comprising the item data.
89. A web server as claimed in claim 88, wherein: the report template data comprises item search query data, and the processor is controlled by the computer program code to select item data in accordance with the item search query data.
90. A web server as claimed in claim 89, wherein: the item search query data comprises item event search query data, and the processor is controlled by the computer program code to selecting item data in accordance with the item event search query data.
91. A web server as claimed in claim 90, wherein the network interface is controlled by the computer program code to receive search query period data, and the processor is controlled by the computer program code to selecting the item data in accordance with search query period data.
92. A web server as claimed in claim 90, wherein the process is controlled by the computer program code automate the generation of the report data in accordance with the report template data at a recurring interval.
93. A web server as claimed in claim 96, wherein the network interface is controlled by the computer program code to select the item data in accordance with the interval.
94. A web server as claimed in claim 92, wherein the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals.
95. A web server as claimed in claim 87, wherein the report template data comprises data selected from the set of data comprising: report title data; 69 report summary data; report search query period data; and item search query data.
96. A web server as claimed in claim 89, wherein the report data comprises tabular data representing a table comprising the item data.
97. A web server as claimed in claim 90, wherein the report data comprises tabular data representing a table comprising date data of one or more events of one or more items.
98. A web server as claimed in claim 89, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data.
99. A web server as claimed in claim 90, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data.
100. A web server as claimed in claim 90, wherein the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time.
101. A web server as claimed in claim 87, wherein the network interface is controlled by the computer program code to make the report data available online.
102. A client computing device for generating social network data comprising a network interface for sending and receiving digital data and being coupled to a web server as claimed in any one of claims 87 to 101.
103. A computer readable storage medium for generating intellectual property reports having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving report template data; and instructions for generating report data in accordance with the report template data.
104. A computer readable storage medium as claimed in claim 103, wherein the instructions for generating report data in accordance with the report template data comprises: instructions for selecting item data in accordance with the report template data; and instructions for generating the report data comprising the item data. 70
105. A computer readable storage medium as claimed in claim 104, wherein: the report template data comprises item search query data, and the instructions for selecting item data in accordance with the report template data comprises: instructions for selecting item data in accordance with the item search query data.
106. A computer readable storage medium as claimed in claim 105, wherein: the item search query data comprises item event search query data, and the instructions for selecting item data in accordance with the item search query data comprises instructions for: selecting item data in accordance with the item event search query data.
107. A computer readable storage medium as claimed in claim 106, further comprising: instructions for receiving search query period data, and wherein the step of selecting item data in accordance with the item event search query data comprises: instructions for selecting the item data in accordance with search query period data.
108. A computer readable storage medium as claimed in claim 106, wherein the instructions for generating report data in accordance with the report template data is automated at a recurring interval.
109. A computer readable storage medium as claimed in claim 108, wherein the instructions for selecting item data in accordance with the item event search query data comprises: instructions for selecting the item data in accordance with the interval.
110. A computer readable storage medium as claimed in claim 108, wherein the recurring interval is selected from the set of recurring intervals comprising daily, weekly, monthly and yearly intervals.
111. A computer readable storage medium as claimed in claim 103, wherein the report template data comprises data selected from the set of data comprising: report title data; report summary data; report search query period data; and item search query data. 71
112. A computer readable storage medium as claimed in claim 105, wherein the report data comprises tabular data representing a table comprising the item data.
113. A computer readable storage medium as claimed in claim 106, wherein the report data comprises tabular data representing a table comprising date data of one or more events of one or more items.
114. A computer readable storage medium as claimed in claim 105, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items matching the search query data.
115. A computer readable storage medium as claimed in claim 106, wherein the report data comprises graphical data representing a pie chart showing the number of one or more items having events matching the event search query data.
116. A computer readable storage medium as claimed in claim 106, wherein the report data comprises graphical data representing a time series chart showing the one or more time series plots of one or more items having events matching the event search query data in accordance with time.
117. A computer readable storage medium as claimed in claim 103, further comprising instructions for making the report data available online. 72
118. A computer implemented method for identifying potentially conflicting trademarks, the method comprising: receiving, via an interface, first owner data representing a first trademark owner; selecting, from a database, first trademark data in accordance with the first owner data, representing first one or more trademarks stored in relation to the first owner data; selecting, from the database, potentially conflicting trademark data in accordance with the first trademark data, representing one or more trademarks potentially conflicting with the first one or more trademarks; and sending, via the interface, the potentially conflicting trademark data.
119. A computer implemented method as claimed in claim 118, wherein the potentially conflicting trademark data is selected in accordance with a similarity algorithm.
120. A computer implemented method as claimed in claim 119, wherein the potentially conflicting trademark data is further selected in accordance with a trademark class.
121. A computer implemented method as claimed in claim 120, wherein the potentially conflicting trademark data is further selected in accordance with associated trademark class.
122. A computer implemented method as claimed in claim 119, wherein the similarity algorithm is a phonetic algorithm.
123. A computer implemented method as claimed in claim 119, wherein the similarity algorithm is an edit distance algorithm.
124. A computer implemented method as claimed in claim 123, wherein the potentially conflicting trademark data is selected further in accordance with an edit distance threshold.
125. A computer implemented method as claimed in claim 1, further comprising: sorting the potentially conflicting trademark data using a relevance algorithm.
126. A computer implemented method as claimed in claim 125, wherein the relevance algorithm is an edit distance algorithm.
127. A computer implemented method as claimed in claim 118, wherein the trademark data comprises image data representing one or more image marks, and wherein the potentially conflicting trademark data is selected in accordance with image metadata.
128. A computer implemented method as claimed in claim 127, further comprising employing optical character recognition to generate the image metadata.
129. A web server for identifying potentially conflicting trademarks comprising: 73 a processor for processing digital data; a memory device for storing digital data including computer program code; an interface for sending and receiving digital data; a database for storing digital data, the database comprising at least trademark data representing one or more trademarks and owner data representing one or more trademark owners, the trademark data being stored in relation to the owner data; and a bus interconnecting the processor, memory device, interface and the database, wherein the processor is controlled by the computer program code to: receive, via the interface, first owner data representing a first trademark owner; select, from the database, first trademark data in accordance with the first owner data, representing first one or more trademarks stored in relation to the first owner data; selecting, from the database, potentially conflicting trademark data in accordance with the first trademark data, representing one or more trademarks potentially conflicting with the first one or more trademarks; send, via the interface, the potentially conflicting trademark data.
130. A web server as claimed in claim 129, wherein the potentially conflicting trademark data is selected in accordance with a similarity algorithm.
131. A web server as claimed in claim 130, wherein the potentially conflicting trademark data is further selected in accordance with a trademark class.
132. A web server as claimed in claim 131, wherein the potentially conflicting trademark data is farther selected in accordance with associated trademark class.
133. A web server as claimed in claim 130, wherein the similarity algorithm is a phonetic algorithm.
134. A web server as claimed in claim 130, wherein the similarity algorithm is an edit distance algorithm.
135. A web server as claimed in claim 134, wherein the potentially conflicting trademark data is selected further in accordance with an edit distance threshold.
136. A web server as claimed in claim 129, wherein the processor is further controlled by the computer program code to: sort the potentially conflicting trademark data using a relevance algorithm. 74
137. A web server as claimed in claim 136, wherein the relevance algorithm is an edit distance algorithm.
138. A web server as claimed in claim 129, wherein the trademark data comprises image data representing one or more image marks, and wherein the potentially conflicting trademark data is selected in accordance with image metadata.
139. A web server as claimed in claim 138, wherein the processor is further controlled by the computer program code to employ optical character recognition to generate the image metadata.
140. A computer readable storage medium for identifying potentially conflicting trademarks, the computer readable storage medium having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: instructions for receiving, via an interface, first owner data representing a first trademark owner; instructions for selecting, from a database, first trademark data in accordance with the first owner data, representing first one or more trademarks stored in relation to the first owner data; instructions for selecting, from the database, potentially conflicting trademark data in accordance with the first trademark data, representing one or more trademarks potentially conflicting with the first one or more trademarks; and instructions for sending, via the interface, the potentially conflicting trademark data.
141. A computer readable storage medium as claimed in claim 140, wherein the potentially conflicting trademark data is selected in accordance with a similarity algorithm.
142. A computer readable storage medium as claimed in claim 141, wherein the potentially conflicting trademark data is further selected in accordance with a trademark class.
143. A computer readable storage medium as claimed in claim 142, wherein the potentially conflicting trademark data is further selected in accordance with associated trademark class.
144. A computer readable storage medium as claimed in claim 141, wherein the similarity algorithm is a phonetic algorithm. 75
145. A computer readable storage medium as claimed in claim 141, wherein the similarity algorithm is an edit distance algorithm.
146. A computer readable storage medium as claimed in claim 145, wherein the potentially conflicting trademark data is selected further in accordance with an edit distance threshold.
147. A computer readable storage medium as claimed in claim 140, further comprising: instructions for sorting the potentially conflicting trademark data using a relevance algorithm.
148. A computer readable storage medium as claimed in claim 147, wherein the relevance algorithm is an edit distance algorithm.
149. A computer readable storage medium as claimed in claim 140, wherein the trademark data comprises image data representing one or more image marks, and wherein the potentially conflicting trademark data is selected in accordance with image metadata.
150. A computer readable storage medium as claimed in claim 149, further comprising employing optical character recognition to generate the image metadata d
151. A computer implemented method for identifying trademarks potentially conflicting with a trademark application, the method comprising: receiving, via an interface, trademark application data representing a trademark application, the trademark application data comprising trademark representation data and trademark goods and service data, selecting, from a database, potentially conflicting trademark data representing at least one trademark potentially conflicting with the trademark application in accordance with at least the trademark representation data and the trademark goods and service data.
152. A computer implemented method as claimed in claim 151, further comprising selecting the potentially conflicting trademark data further in accordance with trademark status data representing status of each of the at least one trademark potentially conflicting with the trademark application.
153. A computer implemented method as claimed in claim 152, wherein the trademark status data represents a live status.
154. A computer implemented method as claimed in claim 151, further comprising: 76 selecting trademark classification data in accordance with the trademark goods and service data, and wherein the potentially conflicting trademark data is selected at least in accordance with the trademark classification data.
155. A computer implemented method as claimed in claim 154, further comprising: selecting associated trademark classification data in accordance with the trademark classification data, and wherein the potentially conflicting trademark data is selected further at least in accordance with the associated trademark classification data.
156. A computer implemented method as claimed in claim 151, further comprising: grouping the potentially conflicting trademark data into one or more classes.
157. A computer implemented method as claimed in claim 156, further comprising: displaying the potentially conflicting trademark data in relation to the one or more classes.
158. A computer implemented method as claimed in claim 157, wherein displaying the potentially conflicting trademark data in relation to the one or more classes further comprises: calculating the sum of potentially conflicting trademarks in accordance with class.
159. A web server for identifying trademarks potentially conflicting with a trademark application comprising: a processor for processing digital data; a memory device for storing digital data including computer program code; an interface for sending and receiving digital data; and a database for storing digital data, wherein the processor is controlled by the computer program code to: receive, via the interface, trademark application data representing a trademark application, the trademark application data comprising trademark representation data and trademark goods and service data, select, from the database, potentially conflicting trademark data representing at least one trademark potentially conflicting with the trademark application in accordance with at least the trademark representation data and the trademark goods and service data.
160. A web server as claimed in claim 159, wherein the processor is further controlled by the computer program code to: 77 select the potentially conflicting trademark data further in accordance with trademark status data representing status of each of the at least one trademark potentially conflicting with the trademark application.
161. A web server as claimed in claim 160, wherein the trademark status data represents a live status.
162. A web server as claimed in claim 159, wherein the processor is further controlled by the computer program code to: select trademark classification data in accordance with the trademark goods and service data, and wherein the potentially conflicting trademark data is selected at least in accordance with the trademark classification data.
163. A web server as claimed in claim 162, wherein the processor is further controlled by the computer program code to: select associated trademark classification data in accordance with the trademark classification data, and wherein the potentially conflicting trademark data is selected further at least in accordance with the associated trademark classification data.
164. A web server as claimed in claim 159, wherein the processor is further controlled by the computer program code to: group the potentially conflicting trademark data into one or more classes.
165. A web server as claimed in claim 164, wherein the processor is further controlled by the computer program code to: generate markup language for displaying the potentially conflicting trademark data in relation to the one or more classes.
166. A web server as claimed in claim 165, wherein the processor is further controlled by the computer program code to: calculate the sum of potentially conflicting trademarks in accordance with class.
167. A computer readable storage medium for identifying trademarks potentially conflicting with a trademark application, the computer readable storage medium having computer program code instructions recorded thereon, the computer program code instructions being executable by a computer and comprising: 78 instructions for receiving, via an interface, trademark application data representing a trademark application, the trademark application data comprising trademark representation data and trademark goods and service data, instructions for selecting, from a database, potentially conflicting trademark data representing at least one trademark potentially conflicting with the trademark application in accordance with at least the trademark representation data and the trademark goods and service data.
168. A computer readable storage medium as claimed in claim 167, further comprising instructions for selecting the potentially conflicting trademark data further in accordance with trademark status data representing status of each of the at least one trademark potentially conflicting with the trademark application.
169. A computer readable storage medium as claimed in claim 168, wherein the trademark status data represents a live status.
170. A computer readable storage medium as claimed in claim 167, further comprising: instructions for .selecting trademark classification data in accordance with the trademark goods and service data, and wherein the potentially conflicting trademark data is selected at least in accordance with the trademark classification data.
171. A computer readable storage medium as claimed in claim 170, further comprising: instructions for selecting associated trademark classification data in accordance with the trademark classification data, and wherein the potentially conflicting trademark data is selected further at least in accordance with the associated trademark classification data.
172. A computer readable storage medium as claimed in claim 167, further comprising: instructions for grouping the potentially conflicting trademark data into one or more classes.
173, A computer readable storage medium as claimed in claim 172, further comprising: instructions for displaying the potentially conflicting trademark data in relation to the one or more classes. 79
174. A computer readable storage medium as claimed in claim 173, wherein displaying the potentially conflicting trademark data in relation to the one or more classes further comprises: instructions for calculating the sum of potentially conflicting trademarks in accordance with class. 80
AU2012202032A 2011-04-08 2012-04-10 A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data Abandoned AU2012202032A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2012202032A AU2012202032A1 (en) 2011-04-08 2012-04-10 A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
AU2011901335 2011-04-08
AU2011901335A AU2011901335A0 (en) 2011-04-08 A Web Server, Client Computing Device, Computer Implemented Method and Computer Readable Storage Medium for Selecting Intellectual Property Item Data from Intellectual Property Data, Querying and Intellectual Property Database and Generating Intellectual Property Reports
AU2011903125 2011-08-07
AU2011903125A AU2011903125A0 (en) 2011-08-07 A search engine for identifying potentially conflicting trademarks
AU2012202032A AU2012202032A1 (en) 2011-04-08 2012-04-10 A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data

Publications (1)

Publication Number Publication Date
AU2012202032A1 true AU2012202032A1 (en) 2012-10-25

Family

ID=47040897

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2012202032A Abandoned AU2012202032A1 (en) 2011-04-08 2012-04-10 A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data

Country Status (1)

Country Link
AU (1) AU2012202032A1 (en)

Similar Documents

Publication Publication Date Title
Raharjana et al. User stories and natural language processing: A systematic literature review
US10824682B2 (en) Enhanced online user-interaction tracking and document rendition
Singrodia et al. A review on web scrapping and its applications
US9606970B2 (en) Web browser device for structured data extraction and sharing via a social network
Bakar et al. Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review
AU2009238294B2 (en) Data transformation based on a technical design document
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
CN103294781B (en) A kind of method and apparatus for processing page data
Lucrédio et al. Moogle: a metamodel-based model search engine
US20110295864A1 (en) Iterative fact-extraction
US8768930B2 (en) Product classification in procurement systems
JP2006344211A (en) Intellectual property analysis/report generation system and method
DE102019001267A1 (en) Dialog-like system for answering inquiries
Tao et al. Semantator: Semantic annotator for converting biomedical text to linked data
García et al. Building a usable and accessible semantic web interaction platform
Simou et al. Enriching and publishing cultural heritage as linked open data
Scriney et al. Automating data mart construction from semi-structured data sources
CN112925879A (en) Information processing apparatus, storage medium, and information processing method
CN112925880A (en) Information processing apparatus, storage medium, and information processing method
KR102532216B1 (en) Method for establishing ESG database with structured ESG data using ESG auxiliary tool and ESG service providing system performing the same
CN114328947A (en) Knowledge graph-based question and answer method and device
AU2012202032A1 (en) A web server, client computing device, computer implemented method and computer readable storage medium for processing intellectual property data
CN113407678A (en) Knowledge graph construction method, device and equipment
Fan et al. Why do they ask? An exploratory study of crowd discussions about Android application programming interface in stack overflow
Su et al. KaitoroCap: A document navigation capture and visualisation tool

Legal Events

Date Code Title Description
TH Corrigenda

Free format text: IN VOL 26, NO 15, PAGE(S) 2053 UNDER THE HEADING COMPLETE APPLICATIONS FILED - NAME INDEX UNDER THENAME IP MONITOR PTY LTD, APPLICATION NO. 2012202032, UNDER INID (31) INSERT 2011901335; UNDER INID (32) INSERT TO 08 APR 2011; UNDER INID (33) INSERT AU, UNDER INID (31) INSERT 2011903125; UNDER INID (32) INSERT 07 AUG 2011; UNDER INID (33) INSERT AU

TH Corrigenda

Free format text: IN VOL 26, NO 15, PAGE(S) 2053 UNDER THE HEADING COMPLETE APPLICATIONS FILED - NAME INDEX UNDER THENAME IP MONITOR PTY LTD, APPLICATION NO. 2012202032, UNDER INID (54) CORRECT THE TITLE TO READ A WEB SERVER, CLIENT COMPUTING DEVICE, COMPUTER IMPLEMENTED METHOD AND COMPUTER READABLE STORAGE MEDIUM FOR PROCESSING INTELLECTUAL PROPERTY DATA

MK4 Application lapsed section 142(2)(d) - no continuation fee paid for the application