Friday, June 12, 2009

Updates on OB10 US patent - Current status

Resume

OB10 has applied for a US patent (which is currently being examined) and has received a European patent on an "Communication routing apparatus". The original application was filed in the US on December 3rd 2001 and the European patent was granted on October 29th 2008 by the European Patent Office (EPO). There is however a 9 months period where a "Notice of opposition" can be sent to EPO (i.e. by the end of July 2009).


The US patent describes a middleware product (e.g. an ESB) where the ESB acts as an intermediary messaging hub between many IT-systems. It basically describes how electronic invoices received from multiple sources and in multiple formats are converted into a standardized format. Finaly the invoices are converted into the desired format of the intended receivers (multiple formats). Static and dynamic data is added in the conversion process to the standardized format.


Current status of US patent
The transaction history for the patent application is made available by the United States Patent and Trademark Office on the PAIR system (Patent Application Information Retrieval - Search for Application number 10/006267).





The transaction history shows that the patent was rejected on October 30th 2008. New arguments/remarks were received on March 17th 2009 along with amendments to claim 18 and claim 48). The patent was then forwarded to an examiner on May 19th 2009 and I assume that it is still under examination.

Amended claims
OB10 has amended text to two claims in the application (see latest version as of March 17th 2009 here):


18.(Currently Amended) An invoice routing apparatus comprising:
  • an invoice receiver for receiving data corresponding to a plurality of invoices from a plurality of sources;
  • a database for storing input invoice mapping definitions;
  • an input processor device for processing the data corresponding to the plurality of received invoices within said invoice routing apparatus, the data for each invoice being converted by said input processor into an intermediate invoice in a standard intermediate form having predetermined characteristics and to provide the intermediate invoice in a data warehouse; the input processor configured to select an invoice mapping definition from the database in dependence on the sender of each received invoice and using the selected input invoice mapping definition when converting said data for the received invoice into said intermediate invoice;
  • an output processor device configured to convert each of said intermediate form invoices obtained from the data warehouse into a final invoice in a form selected in dependence on an identity of a party being invoiced, the output processor obtaining an invoice destination identification from each intermediate invoice and selecting an output invoice mapping definition in dependence on the invoice destination identification; and
  • an invoice transmitter device for transmitting each of the final invoices from said invoice routing apparatus to the party being invoiced;
  • said input processor device further being configured to:
  • add static data to the data corresponding to the received invoices when processed into said standard intermediate form;
  • add dynamic data to the data corresponding to the received invoices when processed into the standard intermediate form; and,
  • validate the data corresponding to the received invoices when processed into the standard intermediate form before transmission by said transmitter to the party being invoiced.

48. (Currently Amended) An invoice routing method comprising:
  • receiving data corresponding to a plurality of invoices from a plurality of sources;
  • storing input invoice mapping definitions;
  • providing an input processor device and configuring the input processor device for performing an input processing of the data corresponding to the plurality of received invoices, converting the data for each invoice into an intermediate invoice in a standard intermediate form having predetermined characteristics and providing the intermediate invoice in a data warehouse;
  • configuring the input processor device for selecting an invoice mapping definition from the store in dependence on the sender of each received invoice and using the selected input invoice mapping definition when converting said data for the received invoice into said intermediate invoice;
  • providing an output processor device and configuring the output processor device for performing an output processing for converting each of said intermediate form invoices obtained from the data warehouse into a final invoice in a form selected in dependence on an identity of a party being invoiced,
  • configuring the output processor device for obtaining an invoice destination identification from each intermediate invoice and selecting an output invoice mapping definition in dependence on the invoice destination identification; and
  • transmitting each of the final invoices to the party being invoiced;
  • said input processing by said input processor device further including:
  • adding static data to the data corresponding to the received invoices when processed into said standard intermediate form;
  • adding dynamic data to the data corresponding to the received invoices when processed into the standard intermediate form; and,
  • validating the data corresponding to the received invoices when processed in the standard intermediate form before transmission to the party being invoiced.


The amended claims above shows that OB10 is trying to patent:

  1. A piece of software (an apparatus) used to convert invoices 1) from multiple sources and formats, 2) to a standardized format and 3) finaly converted and delivered to multiple formats and destinations. Such an apparatus is "off the shelf" functionality in many middleware products and was "off the shelf" functionality at the time of application.
  2. A business method involving the convertion of invoices 1) from multiple sources and formats, 2) to a standardized format and 3) finaly converted and delivered to multiple formats and destinations. This is a well know business model offered by many service providers and value added network operators prior to the application of the US patent. This business model is today also known as the "Three corner model".

As mentioned in the above: The software functionality (apparatus) and the business method has been described publicly prior to the application of the US patent. (e.g the TradeCard solution - see "Notice of opposition" against OB10's Communication routing apparatus patent)


References

US Patent Claims on a Communication routing apparatus as of March 17th 2009

United States Patent and Trademark Office - USPTO

Saturday, June 06, 2009

"Notice of opposition" against OB10's Communication routing apparatus patent

I feel very stongly about the patent OB10 has received on an "Communication routing apparatus". See my previous post on the subject. To me it is like if somone reinvented the weel and then claimed to be the original inventor eventhough everyone else is driving around in cars.

I will keep updating this post with references to examples of common practice and publications dated before the orginal filing of the patent. If you would like to add something to my list please contact me or make a comment.

Protocol conversion has been common practice for 20+ years
We have had Value Added Networks in Denmark for more than 20 years. I have colleagues who have worked there and I know what they did for a living. They were not just network operators - they were value added network operators (VAN). The value add was to connect any customer via any protocol to other customers via any other protocol. (This is the protocol part of the OB10 patent.) They connected businesses and the public sector in b2b, b2g and g2g scenarios. Since way back his was everyday business for several companies providing services to the health sector the automotive industry and in eprocurement. This has been so common that no-one could imagine that someone would take out a patent on this practice.

Expired US Patent 5,708,828 from January 13th 1998 by Coleman [added June 12th 2009]
Coleman got another amazing patent very similar to the OB10 patent. Fortunately this patent has expired due to "NonPayment of Maintenance Fees". The title of the patent is "System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields". The existance of this patent was used as one of the reasons to reject several claims in the US version of the OB10 patent on October 30th 2008. The exmainer quoted the following lines from Coleman:

"the present invention comprises an improved system and method for converting data between different formats or types. The present invention converts data to a pre-defined generic data object or generic data type and then converts data from this generic type to the new format. This simplifies the conversion process."

The examiner also compared the two illustrations of the patents (see below) and stated that

"Figure 2B clearly discloses applicant's invention as shown below. One can easily see the similarities by the comparison of Figure 1 of the instant invention."

So the Coleman patent has clearly shown the USPTO and the EPO that the generic protocol and content transformation was prior art.

UN/EDIFACT [added June 6th 2009]
Well EDIFACT has been around for several years. Here you can find definitions of EDIFACT messages from 2000. These messages format were used (and are used) by different industries to exchange business business documents in a standardized format. The VAN operator would then as a value added service offer to do content conversions from and to various customer formats. To do such conversions would most often be the rule rather than the exception. There were many advantages to this approach for the customer: 1) Version changes in the standardized format would be dealt with by the VAN, 2) The company could out source the conversion and configuration. 3) The company would not have to deal with supporting many different protocols and content formats for all their business partners.

Commerce One and xCBL [added June 6th 2009]
Commerce One was a very successfull company doing business in the area that is described by the patent prior to 2000. Look here at an announcement from December 17 1999, where Commerce One announces an updated version of the XML-based de-facto e-invoicing standard - xCBL. It was made available at a number of repositories - one of them being BizTalk.org operated and owned by Microsoft. BizTalk.org was the home of a number of XML Schemas for different purposes and BizTalk was a middleware product that could do (gues what) protocol conversion and content conversion. The same was the case for the Commerce One products I believe. The characteristics of the OB10 patent are that static and dynamic data is added to the input protocol and the input content. But there is nothing novel to that. It is part of what you would have to do for this setup (see illustration) to work.

The illustration above was found on the Internet Archive Wayback Machine from May 2000.


The method of cross-translation with OmniMark [added June 8th 2009]
OmniMark from Stilo is a pearl-like language used to do content transformations. I has around since the late eighties and was in the beginning used by CD-ROM developers, technical documentation experts and CD-ROM publishers [Source: Omnimark at Work: Getting Started, Architag Press, 1997]. OmniMark supports (and supported) a content transformation model called cross-translation, which is a combination of an up-tranlation and a down-translation. The idea of a cross-translation is that you can set up a number of up-translations from various formats to a standardized format (could be SGML or XML). The tool makes it relatively easy to do such transformations from unstructured or structured data because you are guided by the DTD or the XML-Schema. The second part of the cross-translation is to do a down-translation to one or more output formats. To add static data to this process is a no-brainer (this is specific to the European patent). See also the Guide to OmniMark 5.0 from 2000

OmniMark also had the capability to send and receive data on different transport protocols. What protocols that were available in 2000 could be further. Anyway - the book about OmniMark programming cited above clearly shows that the described method of content conversions were common knowledge as early as 1997, and thus does not deserve to be part of a patent in 2000. I am furthermore confident that service providers / value added network providers used OmniMark in 2000 to support thier business.

The TradeCard Solution described publicly in October 2000 [added June 10th 2009]
TradeCard provides hosted technology, online services connecting buyers, suppliers and their service providers. In October 2000 TradeCard published a Technical Overview of their platform. Here are som quotes from the Technical Overview:

XML provides the TradeCard system with a mechanism for translating and integrating business data from disparate systems. Thus, TradeCard can ensure the free exchange of business documents, regardless of format or application.
...
Translation Services
All business documents are stored as XML within the TradeCard system. The TradeCard Messaging Infrastructure makes it possible to have multiple data formats within a single business transaction. For example, a seller may upload an invoice from an automated supply chain system directly into the TradeCard system. Then the buyer may view the invoice in HTML via a web browser. A freight forwarder may send the advance shipping notice in EDI format. All of these document types are stored internally in the TradeCard system as XML. Yet externally, the customers of TradeCard are not required to have XML compliant interfaces on their systems.
...
Message Broker
The web browser is only one of many methods that can be utilized to access the TradeCard system. All non-browser access to TradeCard is achieved by messaging. Messages are delivered in a variety of mediums and formats including SMTP, FTP, EDI, and custom formats. The TradeCard Messaging Infrastructure converts the messages to TradeCard XML formats. Message queuing services are provided by IBM MQSeries.

The Technical Overview clearly shows that the "invention" that was claimed by OB10 had indeed already been implemented and described by TradeCard and others in the industry. The European patent contains added characteristics describing how static and dynamic data is added to the input protocol and the input content (also mentioned earlier). These characteristics are not described in the TradeCard Technical Overview, but there is no invention in adding static and dynamic data. You cannot do protocol conversions without adding dynamic data and unfolding keys to static data (e.g. an address) is trivial and is also an implicit and trivial feature of middleware poducts like the IBM MQSeries used in the TradeCard solution.


References
EDIFACT on Wikipedia
Internet Archive Wayback Machine
Omnimark at Work: Getting Started, Architag Press, 1997
TradeCard Technical Overview