A Brief History of Software Patents (And Why They’Re Valid)
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Is Software Still Patentable?
Is Software Still Patentable? The last four years have posed significant hurdles to software patents; nevertheless they continue to be filed and allowed. By James J. DeCarlo and George Zalepa | August 20, 2018 | The Recorder Over the past four years, decisions by the Supreme Court and Federal Circuit, as interpreted by the U.S. Patent and Trademark Office, have had a dramatic effect on software-related inventions. These decisions have focused primarily on what comprises patentable subject matter under 35 U.S.C. § 101 and whether a patent’s specification adequately supports the claims. While uncertainty still exists, recent court decisions, coupled with sound prosecution strategies, can be used to bolster a practitioner’s arguments before the USPTO and courts. In Alice v. CLS Bank (2014), the Supreme Court applied the now familiar “two-part test” first laid out in Mayo v. Prometheus (2012). Under this test, a claim is first analyzed to determine if it is “directed to” an abstract idea. If so, the claim is then analyzed to determine whether it recites “significantly more” than the identified abstract idea or just “routine and conventional” elements. This test was (and is) routinely applied to software claims, and the pendulum of patentability for software inventions post-Alice swung firmly towards ineligibility. Nearly all decisions by the Federal Circuit in the immediate aftermath of Alice found claims ineligible. Similarly, the USPTO’s allowance rate in software-related art units plummeted, and many allowed but not yet issued applications were withdrawn by the USPTO. While many cases are representative of this period, the decision in Electric Power Group v. -
COM 113 INTRO to COMPUTER PROGRAMMING Theory Book
1 [Type the document title] UNESCO -NIGERIA TECHNICAL & VOCATIONAL EDUCATION REVITALISATION PROJECT -PHASE II NATIONAL DIPLOMA IN COMPUTER TECHNOLOGY Computer Programming COURSE CODE: COM113 YEAR I - SE MESTER I THEORY Version 1: December 2008 2 [Type the document title] Table of Contents WEEK 1 Concept of programming ................................................................................................................ 6 Features of a good computer program ............................................................................................ 7 System Development Cycle ............................................................................................................ 9 WEEK 2 Concept of Algorithm ................................................................................................................... 11 Features of an Algorithm .............................................................................................................. 11 Methods of Representing Algorithm ............................................................................................ 11 Pseudo code .................................................................................................................................. 12 WEEK 3 English-like form .......................................................................................................................... 15 Flowchart ..................................................................................................................................... -
Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases
Michigan Law Review Volume 91 Issue 3 1992 Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases John W.L. Ogilive University of Michigan Law School Follow this and additional works at: https://repository.law.umich.edu/mlr Part of the Computer Law Commons, Intellectual Property Law Commons, and the Judges Commons Recommended Citation John W. Ogilive, Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases, 91 MICH. L. REV. 526 (1992). Available at: https://repository.law.umich.edu/mlr/vol91/iss3/5 This Note is brought to you for free and open access by the Michigan Law Review at University of Michigan Law School Scholarship Repository. It has been accepted for inclusion in Michigan Law Review by an authorized editor of University of Michigan Law School Scholarship Repository. For more information, please contact [email protected]. NOTE Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases John W.L. Ogilvie INTRODUCTION Although computer programs enjoy copyright protection as pro tectable "literary works" under the federal copyright statute, 1 the case law governing software infringement is confused, inconsistent, and even unintelligible to those who must interpret it.2 A computer pro gram is often viewed as a collection of different parts, just as a book or play is seen as an amalgamation of plot, characters, and other familiar parts. However, different courts recognize vastly different computer program parts for copyright infringement purposes. 3 Much of the dis array in software copyright law stems from mutually incompatible and conclusory program part definitions that bear no relation to how a computer program is actually designed and created. -
Does Strict Territoriality Toll the End of Software Patents?
NOTES DOES STRICT TERRITORIALITY TOLL THE END OF SOFTWARE PATENTS? James Ernstmeyer* INTRODUCTION ............................................................................................. 1267 I. UNITED STATES PROTECTION FOR INTELLECTUAL PROPERTY RIGHTS IN SOFTWARE ........................................................................ 1269 A. Defining Software ...................................................................... 1269 B. Copyright Protection for Software ............................................ 1270 C. Patent Protection for Software .................................................. 1272 D. The Backlash Against Intellectual Property Rights in Software ..................................................................................... 1274 E. In re Bilski Turns Back the Clock .............................................. 1278 II. UNITED STATES SOFTWARE PATENTS IN CROSS-BORDER TRADE .... 1280 A. Global Economic Stakes in United States Software Patents ..... 1280 B. Congressional Protection of Patents in Cross-Border Trade ......................................................................................... 1281 C. Extraterritoriality Concerns in Applying § 271(f) to Software Patents ........................................................................ 1283 III. DO PATENTS PROTECT SOFTWARE? – WOULD COPYRIGHTS DO BETTER? ............................................................................................ 1287 A. Effects of the Microsoft v. AT&T Loophole .............................. 1287 B. Combining -
Language Translators
Student Notes Theory LANGUAGE TRANSLATORS A. HIGH AND LOW LEVEL LANGUAGES Programming languages Low – Level Languages High-Level Languages Example: Assembly Language Example: Pascal, Basic, Java Characteristics of LOW Level Languages: They are machine oriented : an assembly language program written for one machine will not work on any other type of machine unless they happen to use the same processor chip. Each assembly language statement generally translates into one machine code instruction, therefore the program becomes long and time-consuming to create. Example: 10100101 01110001 LDA &71 01101001 00000001 ADD #&01 10000101 01110001 STA &71 Characteristics of HIGH Level Languages: They are not machine oriented: in theory they are portable , meaning that a program written for one machine will run on any other machine for which the appropriate compiler or interpreter is available. They are problem oriented: most high level languages have structures and facilities appropriate to a particular use or type of problem. For example, FORTRAN was developed for use in solving mathematical problems. Some languages, such as PASCAL were developed as general-purpose languages. Statements in high-level languages usually resemble English sentences or mathematical expressions and these languages tend to be easier to learn and understand than assembly language. Each statement in a high level language will be translated into several machine code instructions. Example: number:= number + 1; 10100101 01110001 01101001 00000001 10000101 01110001 B. GENERATIONS OF PROGRAMMING LANGUAGES 4th generation 4GLs 3rd generation High Level Languages 2nd generation Low-level Languages 1st generation Machine Code Page 1 of 5 K Aquilina Student Notes Theory 1. MACHINE LANGUAGE – 1ST GENERATION In the early days of computer programming all programs had to be written in machine code. -
There Is No Such Thing As a Software Patent
There is no such thing as a software patent 1 Kim Rubin BSEE/CS 45 years technology experience 4 startups 100+ inventions Patent Agent Author Taught computer security Book shelf for patents 2 {picture of file cabinets here} 3 There is no such thing as a software patent 4 7.5 5 7.4 6 7.3 7 There is no such thing as a software patent. There is no such thing as a rubber patent. There is no such thing as a steel patent. There is no such thing as an electricity patent. 8 There is only ... a patent. 9 pro se en banc said embodiment 10 Czapinski v. St. Francis Hosp., Inc., 2000 WI 80, ¶ 19, 236 Wis. 2d 316, 613 N.W.2d 120. v. The Federal Food, Drug, and Cosmetic Act (FDCA), ch. 675, 52 Stat. 1040, as amended, 21 U.S.C. § 301 et seq., iSee 21 U.S.C. § 355(a); Eli Lilly & Co. v. Medtronic, Inc., 496 U.S. 661, 665—666, 674 (1990). 11 Article I, Section 8 8. “To promote the Progress of Science and useful Arts, by securing for limited Times to Inventors the exclusive Right to their Discoveries.” 12 Article I, Section 8 8. “To promote the Progress of Science and useful Arts, by securing for limited Times to Inventors the exclusive Right to their Discoveries … except for software.” 13 Jefferson, Congress, SCOTUS and MPEP 3. “The Act embodied Jefferson’s philosophy that ‘ingenuity should receive a liberal encouragement.’ 5 Writings of Thomas Jefferson, 75-76 Washington ed. 1871). -
13. Stored-Program Computers
13. Stored-Program Computers 13.1 Introduction This chapter concentrates on the low-level usage and structure of stored program computers. We focus on a particular hypothetical machine known as the ISC, describing its programming in assembly language. We show how recursion and switch statements are compiled into machine language, and how memory-mapped overlapped I/O is achieved. We also show the logic implement of the ISC, in terms of registers, buses, and finite-state machine controllers. 13.2 Programmer's Abstraction for a Stored-Program Computer By stored-program computer, we mean a machine in which the program, as well as the data, are stored in memory, each word of which can be accessed in uniform time. Most of the high-level language programming the reader has done will likely have used this kind of computer implicitly. However, the program that is stored is not high-level language text. If it were, then it would be necessary to constantly parse this text, which would slow down execution immensely. Instead one of two other forms of storage is used: An abstract syntax representation of the program could be stored. The identifiers in this representation are pre-translated, and the structure is traversed dynamically as needed during execution. This is the approach used by an interpreter for the language. A second approach is to use a compiler for the language. The compiler translates the program into the very low-level language native to the machine, appropriately called machine language. The native machine language acts as a least-common-denominator language for the computer. -
Prior Art Searches in Software Patents – Issues Faced
Journal of Intellectual Property Rights Vol 23, November 2018, pp 243-249 Prior Art searches in Software Patents – Issues Faced Shabib Ahmed Shaikh, Alok Khode and Nishad Deshpande,† CSIR Unit for Research and Development of Information Products, Tapovan, S.No. 113 & 114, NCL Estate, Pashan Road, Pune - 411 008, Maharashtra, India Received: 15 November 2017; accepted: 24 November 2018 Prior-art-search is a critical activity carried out by intellectual property professionals. It is usually performed based on known source of literature to ascertain novelty in a said invention. Prior-art-searches are also carried out for invalidating a patent, knowing state of the art, freedom to operate studies etc. In many technological domains such as chemistry, mechanical etc., prior art search is easy as compared to domain such as software. In software domain, prior-art can prove to be a complex and tedious process relying heavily on non-patent literature which acts as a pointer to the current technological trends rather than patent documents. This paper tries to highlight the issues faced by patent professionals while performing prior-art search in the field of software patents. Keywords: Patents, Software patents, World Intellectual Property Organisation, Prior art, Search Issues A patent is a form of intellectual property. It provides The identification of the relevant prior art, comprising exclusionary rights granted by national IP office to an of existing patents and scientific or non-patent inventor or their assignee for a limited period of time literature is important as it has bearing on the quality in exchange for public disclosure of an invention. -
Google Inc. in Response to the PTO's Request for Comments on the Partnership for Enhancement of Quality of Software-Related Patents, Docket No
From: Suzanne Michel Sent: Monday, April 15, 2013 8:40 PM To: SoftwareRoundtable2013 Subject: Submission of Google Inc Please find attached the submission of Google Inc. in response to the PTO's request for comments on the partnership for enhancement of quality of software-related patents, Docket No. PTO-P-2012-0052. If possible, please send an acknowledgment of receipt of the submission. Thank you very much, Suzanne Michel -- Suzanne Michel Senior Patent Counsel, Google [email protected] 202 677- | | | 5398 Before the United States Patent and Trademark Office Alexandria, VA 22313 In re: ) ) Docket No. PTO-P-2012-0052 Request for Comments and Notice ) of Roundtable Events for ) Partnership for Enhancement of ) Quality of Software-Related ) Patents ) ) COMMENTS OF GOOGLE INC. Daryl L. Joseffer Suzanne Michel KING & SPALDING LLP GOOGLE INC. 1700 Pennsylvania Avenue, NW 1101 New York Avenue, N.W. Washington, DC 20006 Washington, DC 20005 (202) 737-0500 (650) 253-0000 Adam M. Conrad KING & SPALDING LLP 100 N Tryon Street, Suite 3900 Charlotte, NC 28202 (704) 503-2600 April 15, 2013 TABLE OF CONTENTS PART I: INTRODUCTION ...................................................................................................1 PART II: THE PTO SHOULD APPLY SECTION 112(F) TO MORE PATENTS THAT CLAIM SOFTWARE-IMPLEMENTED INVENTIONS ...........................3 A. Section 112(f) Permits The Use Of Functional Claim Elements Only When The Specification Discloses Sufficient Structure To Limit The Claim To The Applicant’s Actual Invention. ...............................3 1. As A Matter Of Policy And Precedent, Patent Law Has Never Permitted Pure Functional Claiming. .......................................3 2. Congress Enacted Section 112(f) To Permit Functional Claiming Accompanied By Sufficient Disclosures. -
Committee on Development and Intellectual Property
E CDIP/13/10 ORIGINAL: ENGLISH DATE: MARCH 27, 2014 Committee on Development and Intellectual Property Thirteenth Session Geneva, May 19 to 23, 2014 PATENT-RELATED FLEXIBILITIES IN THE MULTILATERAL LEGAL FRAMEWORK AND THEIR LEGISLATIVE IMPLEMENTATION AT THE NATIONAL AND REGIONAL LEVELS - PART III prepared by the Secretariat 1. In the context of the discussions on Development Agenda Recommendation 14, Member States, at the eleventh session of the Committee on Development and Intellectual Property (CDIP) held from May 13 to 17, 2013, in Geneva, requested the International Bureau of the World Intellectual Property Organization (WIPO) to prepare a document that covers two new patent-related flexibilities. 2. The present document addresses the requested two additional patent-related flexibilities. 3. The CDIP is invited to take note of the contents of this document and its Annexes. CDIP/13/10 page 2 Table of Contents I. EXECUTIVE SUMMARY……………………………………………………………...…….….. 3 II. THE SCOPE OF THE EXCLUSION FROM PATENTABILITY OF PLANTS..…….…….…4 A. Introduction……..……………………………………………………………………….….4 B. The international legal framework………………………………………………………. 6 C. National and Regional implementation………………………………………………… 7 a) Excluding plants from patent protection……………………………………........ 8 b) Excluding plant varieties from patent protection………………………………... 8 c) Excluding both plant and plant varieties from patent protection……...……….. 9 d) Allowing the patentability of plants and/or plant varieties……………………… 9 e) Excluding essentially biological processes for the production of plants…….. 10 III. FLEXIBILITIES IN RESPECT OF THE PATENTABILITY, OR EXCLUSION FROM PATENTABILITY, OF SOFTWARE-RELATED INVENTIONS………………………….…….…. 12 A. Introduction………………………………………………………………………….….…12 B. The International legal framework………………………………………………………13 C. National implementations……………………………………………………………….. 14 a) Explicit exclusion …………………………………………………………………. 14 b) Explicit inclusion…………………………………………………………………... 16 c) No specific provision……………………………………………………………… 16 D. -
Programming Fundamentals - I Basic Concepts Fall-Semester 2016
Programming Fundamentals - I Basic Concepts Fall-Semester 2016 Prepared By: Rao Muhammad Umer Lecturer, Web: raoumer.github.io Department of Computer Science & IT, The University of Lahore. What is computer? The term "computer" was originally given to humans who performed numerical calculations using mechanical calculators, such as the abacus and slide rule. The term was later given to a mechanical device as they began replacing the human computers. Today's computers are electronic devices that accept data such as numbers, text, sound, image, animations, video, etc., (input), process that data (converts data to information) , produce output, and then store (storage) the results. A basic computer consists of 4 components: 1. Input devices 2. Central Processing Unit or CPU 3. Output devices 4. Memory Input Devices are used to provide input to the computer basic input devices include keyboard, mouse, touch screens etc. Central Processing Unit acts like a brain, it processes all instructions and data in the computer, the instructions are computer commands, these commands are given to CPU by input devices, some of the instructions are generated by the computer itself Output devices are used to receive computer output, the output, some basic output devices are hard drive disk (HDD, commonly known as hard disk), printers, computer screens (Monitors and LCDs) The computer memory is a temporary storage area. It holds the data and instructions that the Central Processing Unit (CPU) needs. Before a program can be run, the program is loaded from some storage device such as into the memory, the CPU loads the program or part of the program from the memory and executes it. -
Introduction to Computer Programming
Introduction to Computer Programming CISC1600/1610 Computer Science I/Lab Spring 2016 CISC1600 Yanjun Li 1 Outline This Course Computer Programming Spring 2016 CISC1600 Yanjun Li 2 1 This is a course In Programming For beginners who want to become professionals or who would like to know something about programming who are assumed to be bright Though not (necessarily) geniuses who are willing to work hard Though do need sleep occasionally, and take a normal course load Using the C++ programming language Spring 2016 CISC1600 Yanjun Li 3 Learning Goals Learn Fundamental programming concepts Key useful techniques Basic Standard C++ facilities After the course, you’ll be able to Write small sound C++ programs Read much larger programs Learn the basics of many other languages by yourself Proceed with an “advanced” C++ programming course After the course, you will not (yet) be An expert programmer A C++ language expert An expert user of advanced libraries Spring 2016 CISC1600 Yanjun Li 4 2 The Means Lectures Attend every one Outside of lectures Read a chapter ahead, and read the chapter again after each lecture Read actively: with questions in mind, try to reorganize/rephrase the key points in your mind Review questions/Terms in chapters Drills Always do the drills, before the exercises Exercises Spring 2016 CISC1600 Yanjun Li 5 The Means (Cont.) Lab projects That’s where the most fun and the best learning takes place Don’t wait until lab section to start the project Start to think about the project early Finish up & get help during labs Exams Midterms Final Spring 2016 CISC1600 Yanjun Li 6 3 How to be Successful? Don’t study alone when you don’t have to Form study groups Do help each other (without plagiarizing) If in doubt if a collaboration is legitimate: ask! Don’t claim to have written code that you copied from others Don’t give anyone else your code (to hand in for a grade) When you rely on the work of others, explicitly list all of your sources – i.e.