The first software patent ever granted is probably a patent for a "computer having slow and quick access storage, when programmed to solve a linear programming problem by an iterative algorithm, the iterative algorithm being such that (...)" applied for in 1962 by British Petroleum Company . The patent relates to solving simultaneous linear equations.
The USPTO has traditionally not considered software to be patentable because by statute patents can only be granted to "processes, machines, articles of manufacture, and compositions of matter". In particular patents cannot be granted to "scientific truths" or "mathematical expressions" of them. This means that most of the fundamental techniques of software engineering have never been patented.
The USPTO maintained this position, that software was in effect a mathematical algorithm, and therefore not patentable into the 1980's. The position of the USPTO was challenged with a landmark 1981 Supreme Court Case, Diamond v. Diehr. The case involved a device that used computer software to ensure the correct timing when heating, or curing, rubber. Although the software was the integral part of the device, it also had other functions that related to real world manipulation. The court then ruled that as a device to mold rubber, it was a patentable object. The court essentially ruled that while algorithms themselves could not be patented, devices that utilized them could. This ruling wasn't as straightforward as many would have liked, forcing many electronic device makers into the courts to establish that their inventions were in fact patentable.
Due to different treatment of federal patent rights in different parts of the country, in 1982 the U.S. Congress created a new court (the Federal Circuit) to hear patent cases. The new circuit rejected rulings from some parts of the country, and nationalized others. For example, the court made patents generally easier to uphold by presuming patents were valid unless proven invalid and weakening the defense of non-obviousness. This court allowed issues, such as patentability of software, to be treated uniformly throughout the US. Due to a few landmark cases in this court, by the early 1990s the patentability of software was well established, and in 1996 the USPTO issued Final Computer Related Examination Guidelines. See Software Patents under United States patent law.
Also in 1998, the U.S. court of Appeals for the Federal Circuit, in the case of State Street Bank & Trust Co. v. Signature Financial Group, Inc. (1998), upheld as valid a patent directed to a computer-implemented business method designed to perform financial calculations and data processing for mutual fund investments. This case was important because prior to this decision, it was widely believed that business methods and systems were not patentable. The State Street case made clear that business methods were to be evaluated in the same manner as any other type of process. In 2000, the JPO followed suit and revised its Guidelines to allow for the patenting of computer-implemented business methods when there is clear "involvement of inventive step."
The European Patent Convention (EPC) serves as the basis for a harmonized system of patent protection for all members of the European Union. European patents have the same effect as patents granted by each nation under its own national patent laws. Article 52(1) of