Protecting Intellectual Property Rights and Trademark System.docx
ABSTRACTIntellectual Property (IP) which are patent, rights, and trademark are very decisive problem where a lot of companies facing. It will related to their product or how they use other product, just in case they are not use it illegally, for sure this will be a huge deal in the future. The problem within the IP is that many companies use illegal product to boost up their own company. This system will lock down easily for those who breakthrough the law.In short, the system is about how the investigators in the customs such as in harbor or airport, fill out the raid info about the seized products that they found into the case and all the important and necessary information (target details, date, product type, quantity, etc.). After that they will ensure to entrusted parties like law firms.For now, the system that we use is too old and out to date for the technology we have nowadays, even though it is still working perfectly and fine. The system that we are going to develop is more likely interactive and intelligent system, with more functionalities and features. Using a lot of frameworks out there, which is open source, we can easily build it into a decent system. Furthermore, this system haven't exist yet up until now. Not only for the law firm and about protecting the rights or patent, but this system will also help how the companies works especially in finance, budget.Thus, this system will change a lot how the law firm company works, it is decent system and easier to use with several function and features where it will be a handy one. Speaking the matter of time, it also save a lot of time because of the simplicity inside.KEYWORDS:IP, Intellectual, Property, Law, Rights, Patent, Trademark, Piracy1. CreatorCreator in this context can be the big companies who try to build and sell a massive product into global or international scale such as medicine, branded bag and shoes, electronic equipment, car parts, etc. or the small individuals like an artist who want to sell / protect up their masterpiece such as music, painting, and some other arts. So they will get recognition, respect, remuneration, and reward from what they have been made.2. ConsumerThis is for those who prefer to use other people's creation but in legal way and in this way between consumer and creator, they both get the win-win solution by the creator create the product and the consumer who use the product. Consumer can get access to and affordability of any products both scientific and cultural technology. They also get some limitations and exceptions for experimental use freedom of expression.3. Law FirmThis is where the idea of this system was created, the law firms who take care of this kind of problem are really need this efficient system yet easy to use. Where they can raid the product where the counterfeiting infringement happens and seizure the product faster.4. The AuthoritiesThere are so many type of authority officers who also taking part in this system, the authorities are the person who take in charge right on the field, who deal the problems directly in the first hand, doing the litigation. Administration of Industry Commerce (AIC), PSB (Public Service Bureau), Transportation Research Board (TRB), Customs in airport or harbor, Court, Police, etc.4> Project System Requirements4.1 Software Requirements Specification (SRS)The author will use several use cases to describe the flow of this system. Use case analysis is a widely used technique used to identify the business goals to be accomplished by a software system. Use case, an important concept in use case analysis, represents a unique objective that the business stakeholders want to achieve. Also, minimizes the time and effort required by developers to achieve desired goals and also minimizes the development cost, both in functional requirements and non-functional requirements4.1.1 Functional RequirementsFunctional requirement defines a function of a system or its component. A function is described as a set of inputs, the behavior, and outputs. Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish. Requirement need to be well thought out, balanced and clearlyunderstood by all involved, but perhaps of most importance is that they are not dropped or compromised halfway through the project. Generally, the functional requirement is describing the behavior of the system as it relates to the system!s functionality1. Create, Read, Update, Delete, Search (CRUDS)The most basic function that needed in most application is CRUDS also known as create, read, update, delete, and search. In order for user can create up a data, they can change / modify / update the data if they need it, delete the data if necessary, any basic data manipulation from client-side. From the server-side, the administrator can track the changes based on what the user has been change and also to make sure all the data is still relevant.OperationSQLHTTPCreateINSERTPUT / POSTRead (Retrieve)SELECTGETUpdate (Modify)UPDATEPOST/PUT/Delete (Destroy)DELETEDELETETable 4.1 CRUDS in SQL and HTTP2. Budget and Dynamic Cross Check SystemThis system is not only provide for law firm litigation to take care of infringement but also provide to set up or take a look of the budget for the company or some project in the company, with smart calculation algorithm, we ensure that this is pretty accurate and simple.Dynamic Cross Check is also main function in this system, the purpose using DCC is to give out the result to the user which case is related to which profile in the system, so they can easily track who take care the case and what are they doing, etc.Profile #1Profile #2Figure 4.3 Dynamic Cross Check ExampleFor example, Profile #1 is in charge to Case #1 and in the other hand Profile #2 also have some connection or relation work with Case #2, and some other point where Profile #2 is working on Case #2, Case #2 also related to the Case #1.3. TimelineThe user want to know what changes or what happens on specific case, what is going on in the past and present. We put up timeline as a log or history to the system in friendly interface. Including the name, the position, time, what thing has been changed. For example, Person #n, x title of x department, at xx:xx has change the budget for the company from xxx to xxx and write down some notes.Person #1 Finance Department 14:22Budget ChangesCost Production : $500 to $750Monday 25 April 2016Person #2 - Head Security 17:33Thursday10 March 2016Update Case #42( Add some necessary infomation for the case)Person #3 Administrator09:42Close Case #06Case ClosedTuesday23 February 2016Figure 4.4 Timeline Function4.L2 Non-Functional RequirementsThe other side from functional requirement, a functional requirement describes what a software system should do, while non-functional requirements place constraints on how the system will do so. Non-functional acquirement are not straight forward requirement of the system rather it is related to usability (in someway). In short, the non-functional requirement elaborates a performance characteristic of the system. This system will focus on performance, scalability, modifiability, maintainability, usability, and most important security.1. PerformancePerformance from this system can be measure by the availability, typically measured as a factor of its reliability - as reliability increases, so does availability. Response time is the total amount of time it takes to respond to a request for service and it depends on the processing speed up until give out the result to the user. Measure of the latency an application exhibits in processing a request.Portion of ScenarioSourceStimulusArtifactEnvironmentResponsePossible ValuesOne of a number of independentsources, possibly from within systemPeriodic events arrive; sporadic eventsarrive; stochastic events arriveSystemNormal mode; overload modeProcesses stimuli; changes level ofserviceTable 4.2 General Performance Scenario2. ScalabilityScalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner or to be readily enlarged. Several common issues in the system: request load, connections, data size. The ability to enhance the system by adding new functionality at minimal effort. The way to get the solution for scalability are scale-out and scale-upApplicationApplicationApplicationScale OutApplication is replicated on different machinesApplicationApplicationFigure 4.5 Scaling SolutionScale UpSingle application is executed on a multiprocessor machine3. Modifiability / MaintainabilityModifiability show how easy it may be to change an application to cater for new (non-) functional requirements, should be assessed in context of how a system is likely to change. Convincing possibility and impact analysis of changes. A demonstration of how the corresponding solution to accommodate the modification. Minimize dependencies, changes isolated to single components likely to be less expensive than those that cause ripple effects across the architecture.Maintainability involves a system of continuous improvement - learning from the past in order to improve the ability to maintain systems, or improve reliability of systems based on maintenance experience. Maintain should be find out and correct the defects of their cause which is repair or replace, prevent any other failures in the future, maximize efficiency, reliability, and safety. Meet new requirements if needed and make sure to make the maintenance easier in the future.4. UsabilityWell known as friendly usage both from the interface and how to use the system, which means that the user should be able to straight forward use the system without any major problem and to achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context of use.5. SecuritySecurity is the most important part of every application needed, since this system is for law firm and about something against law. Security is a measure of the system's ability to resist unauthorized usage while providing its services to legitimate users. An attempt to breach security is an attack -it could be to gain access to data or services or to deny service to others. Several things to ensure the security of the systemAuthentication: applications can verify the identity of their users and other applications with which they communicate Authorization: authenticated users and applications have defined access rights to the resources of the systemEncryption: messages sent to/from the application are encrypted Integrity: contents of a message are not altered in transitNon-repudiation: sender of a message has proof of delivery and the receiver is assured of the sender's identity, like a certificate.Portion of ScenarioPossible ValuesIndividual or system that iscorrectly or incorrectly identified,unknown identity who isinternal/external, authorized/notauthorized with access to limitedresourcesTries to display data,change/delete data, access systemservices, reduce availability tosystem servicesArtifactSystem services; data withinsystemEnvironmentEither online or offline,connected or disconnected,Responsefirewalled or openAuthenticates user; hides identityof the user; blocks access to dataand/or services; allows access todata and/or services; grants orwithdraws permission to accessdata and/or services; recordsaccess/modifications or attemptsto access/modify data/services byidentity; stores data in anunreadable format; recognizes anunexplainable high demand forservices, and informs a user oranother system, and restrictsavailability of servicesTable 4.3 General Security Scenario5. Architecture Design5.1 TechnologyThere are some technology and framework behind this system in order to maximize the result of the product, for both front-end and back-end system. This system are developed by using AngularJS and JavaScript for websites to run in the client's browser, Bootstrap HTML, CSS, and JQuery, NodeJS, Steam Database, CoffeeScript, BitBucket.1. AngularJSAngularJS is a full frontend MVC framework for JavaScript web applications. It is a structural framework for dynamic web apps and meant to be a framework upon which an entire web application is built. It actually includes a minimal version of jQuery by default. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly.Angulafs data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology. It attempts to minimize the impedance mismatch between document centric HTML and what an application needs by creating new HTML constructs. Angular teaches the browser new syntax through a construct we call directives. Directives bind behavior to HTML elements. When the app runs, AngularJS walks through each HTML element looking for directives. When it finds one, AngularJS triggers that behaviorFigure 5.1 Angular ConceptWhy creating own directives is useful and important? First is readability, directives let you write expressive HTML. Looking at index.html you can understand the app!s behavior just by reading the HTML. The second one is reusability, directives let you create self-contained units of functionality. We could easily plug in this directive into another AngularJS app and avoid writing a lot of repetitive HTML.Directives are a core feature of AngularJS. So far using custom directives to simply display static content, but they can do more than this. It's possible to bake interactivity into directives. Directives are a powerful way to create self-contained, interactive components. Unlike jQuery which adds interactivity as a layer on top of HTML, AngularJS treats interactivity as a native component of HTML.Inside this system there are 4 main core .js which are app.js, controllers js, directives.js, services.js to communicate with a server, standalone communication logic, which fetches weather data from a server.UserFigure 5.2 AngularJS Process A user visits the AngularJS app. The view presents the app's data through the use of expressions, filters, and directives. Directives bind new behavior HTML elements. A user clicks an element in the view. If the element has a directive, AngularJS runs the function.