KR101612362B1 - Automatic code generation for crowdsourced automatic data collection - Google Patents

Automatic code generation for crowdsourced automatic data collection Download PDF

Info

Publication number
KR101612362B1
KR101612362B1 KR1020147009552A KR20147009552A KR101612362B1 KR 101612362 B1 KR101612362 B1 KR 101612362B1 KR 1020147009552 A KR1020147009552 A KR 1020147009552A KR 20147009552 A KR20147009552 A KR 20147009552A KR 101612362 B1 KR101612362 B1 KR 101612362B1
Authority
KR
South Korea
Prior art keywords
data
automatic
automatically
source code
code application
Prior art date
Application number
KR1020147009552A
Other languages
Korean (ko)
Other versions
KR20140060363A (en
Inventor
비제이 사라시 케사반
싱강 구오
아난드 랑가라잔
빅터 로츠
소미야 라시
Original Assignee
인텔 코포레이션
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
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20140060363A publication Critical patent/KR20140060363A/en
Application granted granted Critical
Publication of KR101612362B1 publication Critical patent/KR101612362B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

서버에 위치할 수 있는 자동 코드 생성기는 크라우드소스 데이터를 처리하기 위한 코드를 생성할 수 있다. 일 실시예에서, 크라우드소스 데이터는 모바일 디바이스 상에서 자동 데이터 수집 기법을 사용하여 공공의 멤버들로부터 비롯될 수 있다.An automated code generator that can be located on a server can generate code for processing crowd source data. In one embodiment, the crowd source data may originate from public members using automatic data collection techniques on the mobile device.

Description

자동 크라우드소스 데이터 수집을 위한 자동 코드 생성{AUTOMATIC CODE GENERATION FOR CROWDSOURCED AUTOMATIC DATA COLLECTION}[0001] AUTOMATIC CODE GENERATION FOR CROWDSOURCED AUTOMATIC DATA COLLECTION FOR AUTOMATIC CRUDE SOURCE DATA COLLECTION [0002]

본 발명은 전반적으로 크라우드소스 데이터(crowdsourced data)에 의해 파퓰레이팅되는(populated) 인터넷 웹사이트에 관한 것이다.
The present invention relates generally to Internet websites that are populated by crowdsourced data.

크라우드소스 데이터는 인터넷을 통해 다수의 미지의 개인들에 의해 제공되는 데이터이다. 예를 들어, 교통 수집 시스템(traffic collection systems)에서 지도는 교통 상태에 대하여 유지될 수 있다. 실제 데이터는 직면하는 교통 상태에 대한 정보를 제공하는 도로의 사용자들에 의해 제공될 수 있다. 그 다음 이 정보는 수집될 수 있고 사용자 친화형 디스플레이에 개시될 수 있다.Crowd source data is data provided by a large number of unknown individuals over the Internet. For example, in traffic collection systems maps can be maintained for traffic conditions. The actual data may be provided by users of the road providing information about the traffic conditions they are facing. This information can then be gathered and disclosed on a user friendly display.

크라우드소스 데이터에 관한 또 다른 교통 관련 사용은 속도 위반 단속(speed traps)에 대한 정보를 개시하는 웹사이트에 관한 것이다. 소스 정보는 속도 위반 단속 위치에 대한 정보를 웹사이트에 제출하는 운전자로부터 생성된다.Another traffic-related use of crowd source data relates to websites that disclose information about speed traps. The source information is generated from the driver who submits information on the speed violation interrupted position to the website.

크라우드소스 데이터의 이점은 거의 무료로 웹사이트 호스트에 수집되고 디스플레이될 수 있다는 것이다. 따라서, 이러한 경제적인 속성 때문에, 과도한 비용으로 인해 달리 이용가능하지 않았을 기능성이 제공될 수 있다. 데이터를 제공하는 작업을 다수의 사람에게 분배함으로써, 어떤 경우에는 매우 중요할 수도 있는 많은 양의 데이터가 상당히 자동화된 방식으로 수집되고 디스플레이될 수 있다.
The advantage of crowd source data is that it can be collected and displayed on the website host for almost no charge. Thus, due to these economic attributes, functionality that would otherwise not be available due to excessive cost can be provided. By distributing the work of providing data to a large number of people, a large amount of data, which in some cases may be very important, can be collected and displayed in a substantially automated manner.

도 1은 본 발명의 일 실시예에 관한 개락도이다.
도 2는 본 발명의 일 실시예에 따른 코드 디벨로퍼에 대한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 코드 생성기에 대한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 코드 생성 애플리케이션에 대한 액세스를 제어하기 위한 시퀀스에 대한 흐름도이다.
1 is a schematic diagram of an embodiment of the present invention.
2 is a flowchart of a code developer according to an embodiment of the present invention.
3 is a flowchart of a code generator according to an embodiment of the present invention.
4 is a flow diagram of a sequence for controlling access to a code generation application in accordance with an embodiment of the present invention.

일부 실시예들에 따라, 크라우드소스 데이터에 의해 파퓰레이팅되는 애플리케이션은 코드 생성기(code generators)에 의해 자동으로 생성될 수 있다. 따라서, 애플리케이션 및 이의 구성 데이터 모두는 호스트에게 반드시 비용을 지불하지 않고도 개발될 수 있다. 그 결과, 사용자 맞춤형 애플리케이션(user customized applications)이, 쉽게 이용가능해질 수 있고, 충분히 많은 개인들로부터 수집될 수 있는 크라우드소스 데이터에 의해 파퓰레이팅될 수 있으며, 이로써 어느 한 개인의 부담이 비교적 작고, 수집 데이터 및 결과 애플리케이션이 매우 유용할 수 있다. 특히, 데이터 수집이 자동으로 완료된 경우, 데이터 공급자의 부담이 작을 수 있다.According to some embodiments, an application that is populated by crowd source data can be automatically generated by code generators. Thus, both the application and its configuration data can be developed without necessarily paying the host. As a result, user customized applications can be easily populated and populated by crowd source data that can be collected from enough individuals, thereby reducing the burden on any one individual, Collection data and results applications can be very useful. In particular, if the data collection is completed automatically, the burden on the data provider may be small.

도 1에 도시된 시스템(10)의 2개의 기본 구성요소는 서버(12)와 클라이언트(30)이다. 클라이언트(30)는 인터넷(24)을 통해 서버(12)에 연결된 유선 또는 무선 디바이스일 수 있다. 클라이언트(30)와 기지국(26) 사이의 인터넷 접속은 안테나(28 및 32)를 사용하여 무선 접속을 통해 이뤄질 수 있다. 따라서, 일부 실시예들에서, 모바일 데이터 수집이 가능해질 수 있다.The two basic components of the system 10 shown in Figure 1 are the server 12 and the client 30. The client 30 may be a wired or wireless device connected to the server 12 via the Internet 24. The Internet connection between the client 30 and the base station 26 may be via a wireless connection using antennas 28 and 32. [ Thus, in some embodiments, mobile data collection may be enabled.

서버(12)는 일 실시예에서 클라우드의 일부일 수 있고, 메모리(18)에 연결된 프로세서(14)를 포함할 수 있다. 프로세서(14)는 또한 자동 코드 생성기(an automatic code generator)(16)에 연결될 수 있고, 이러한 자동 코드 생성기는 질문에 답변하고 코드 입력 데이터, 코드 함수, 및 출력 데이터를 제공하기 위한 사용자 인터페이스를 사용할 수 있는 사용자에 의해 선택되는 애플리케이션의 특성을 자동으로 생성하기 위한 자동 코드 생성기를 포함한다. 일부 실시예들에서 결과 코드(20)는 메모리에 저장될 수 있다.The server 12 may be part of a cloud in one embodiment and may include a processor 14 coupled to the memory 18. The processor 14 may also be coupled to an automatic code generator 16, which may use a user interface to answer questions and provide code input data, code functions, and output data. And an automatic code generator for automatically generating characteristics of the application selected by the user. In some embodiments, the result code 20 may be stored in memory.

액세스 제어 에이전트(15)는 코드에 대한 액세스를 그러한 액세스를 허가받은 사람에게만 제한하기 위해 제공될 수 있다. 인터페이스(22)는 인터넷(24)과 서버(12)의 상호작용을 가능하게 할 수 있다.The access control agent 15 may be provided to restrict access to the code to only those authorized to do so. The interface 22 may enable interaction between the Internet 24 and the server 12.

안테나(28)를 가진 기지국(26)은 무선 실시예들에서 클라이언트(30) 및 클라이언트의 안테나(32)와 통신하기 위해 사용될 수 있다.A base station 26 with an antenna 28 can be used to communicate with the client 30 and the client's antenna 32 in wireless embodiments.

클라이언트(30)는 안테나(32)에 연결된 무선 송수신기(34)를 포함할 수 있다. 무선 송수신기는 메모리(38), 코드 디벨로퍼(a code developer)(42), 및 데이터 컬렉터(a data collector)(40)와 연결된 프로세서(36)와 통신할 수 있다. 일부 실시예들에서 데이터 컬렉터(40)는 자발적 참여자(willing participants)로부터 크라우드소스 데이터를 자동으로 수집하는, 자동 데이터 컬렉터일 수 있다. 예를 들어, 사용자의 현재 위치에 대한 정보는, 일부 경우에서 정보를 배포(release)하라는 요청으로 인해 사용자를 귀찮게 하지 않으면서도, 자동으로 수집될 수 있다. 다른 경우, 제한사항이 데이터 수집에 있을 수 있다.The client 30 may include a wireless transceiver 34 coupled to the antenna 32. The wireless transceiver may communicate with a processor 36 coupled to a memory 38, a code developer 42 and a data collector 40. In some embodiments, data collector 40 may be an automatic data collector that automatically collects crowd source data from willing participants. For example, information about a user's current location may be automatically collected, without annoying the user due to a request to release information in some cases. In other cases, restrictions may be in the data collection.

따라서, 데이터 컬렉터(40)는 이용가능한 센서(44 및 46)에 연결될 수 있다. 이용가능한 센서는 사용자의 현재 위치를 감지하는 위성 위치확인 시스템 센서(global positioning system sensors), 사용자의 현재 모션의 크기/속도를 감지하는 가속도계, 주변 소음을 감지하는 마이크, 주변 객체를 검출하는 카메라, 및 다른 기존 센서들을 포함할 수 있다. 코드 디벨로퍼(42)는, 코드 생성기가 사용자가 원하는 코드를 맞춤 설계할 필요가 있는 정보를 제공하기 위해 코드 생성기(16)와 함께 작업할 수 있는 인터페이스이다. 따라서, 사용자는 많은 질문을 제기 받을 수 있다. 사용자의 답변은 어떻게 코드가 개발되어야 하는지, 이 코드가 어떤 역할인지, 및 어떻게 그 출력의 출력을 제공할지를 지시(dictate)한다.Thus, the data collector 40 can be coupled to the available sensors 44 and 46. Available sensors include global positioning system sensors that sense the user's current position, accelerometers that sense the size / speed of the user's current motion, microphones that sense ambient noise, cameras that detect nearby objects, And other conventional sensors. The code developer 42 is an interface through which a code generator can work with the code generator 16 to provide information that the user needs to custom design code. Thus, the user can be asked many questions. The user's answer dictates how the code should be developed, what the code does, and how to provide the output of that output.

코드 디벨로퍼(42)는 코드의 역할 및 코드가 수행될 방법을 명시하도록 사용자에 의해 선택된 예를 들어 마우스 또는 터치 스크린일 수 있는 옵션을 사용자 인터페이스에 제공한다. 그 이후 코드 생성기(16)는, 일부 경우의 코드의 저작자(author)뿐만 아니라, 또한 공공의 멤버에 의한 액세스를 위해 서버 상에 소스 또는 객체 코드와 같이 소스 코드를 실제로 생성하고 이를 저장한다.The code developer 42 provides the user interface with the option of being a mouse or a touch screen, for example, selected by the user to specify the role of the code and how the code is to be performed. Thereafter, the code generator 16 actually creates and stores the source code, such as source or object code, on the server for access by public members, as well as in some cases the author of the code.

예시적이며 비제한적인 예시로서, 어떤 사람은 이용가능한 WiFi 핫 스팟에 대한 정보를 제공하는 웹사이트를 갖기를 원할 수 있다. 사용자는 자발적 참여자가 제공할 수 있는 입력 정보의 타입을 명시할 수 있다. 정보는, 예를 들어, WiFi 사이트의 위성 위치확인 시스템 좌표일 수 있다. 행해질 수 있는 조치는 웹사이트의 위성 위치확인 시스템 좌표의 리스트를 컴파일하는 것과, 가장 가까운 WiFi 핫 스팟과 요청 사용자 사이의 거리를 결정하는 것일 수 있다. 출력은 서비스를 요청한 사용자가 현재 위치와, 가장 가까운 WiFi 핫 스팟의 위치를 표시하는 지도를 제공하는 것일 수 있다. 즉, 사용자가 WiFi 핫 스팟에 있다는 것을 사용자가 표시할 때 사용자의 현재 위치에 대한 데이터를 수집하고, 이를 WiFi 핫 스팟의 위치에 대하여 이미 수집된 데이터와 비교함으로써 결정될 수 있다.As an illustrative, non-limiting example, a person may want to have a website that provides information about available WiFi hotspots. The user can specify the type of input information that the voluntary participant can provide. The information may be, for example, the satellite positioning system coordinates of the WiFi site. The action that can be taken may be to compile a list of Web site's satellite positioning system coordinates and determine the distance between the nearest WiFi hot spot and the requesting user. The output may be that the user requesting the service provides a map showing the current location and the location of the nearest WiFi hotspot. That is, it can be determined by collecting data about the user's current location when the user indicates that the user is at a WiFi hot spot and comparing it to data already collected for the location of the WiFi hot spot.

그 다음 자발적 사용자들은 이들이 WiFi 핫 스팟에 있을 때를 표시하도록 요구받을 수 있고, 그러한 표시에 응답하여, 위성 위치확인 시스템 좌표가 자동으로 그래브(grabbed)될 수 있다. 그 다음 코드 생성기는 자발적 사용자로부터 정보를 자동으로 수집하고 권한을 가진 요청 사용자들에게 이를 자동으로 분배하는 애플리케이션을 제공한다. 이는 인간 프로그래머로부터의 임의의 프로그래밍 상호작용 없이 완료될 수 있고 일부 실시예들에서 지원자(volunteers)로부터 비용 없이 제공된 정보에 의해 웹사이트가 전적으로 파퓰레이팅되게 할 수 있다. 따라서, 일부 경우에서, 사용자 맞춤형의, 저비용의, 있는 그대로 비롯된(grassroots originated) 웹사이트의 생성 가능성은 엄청난 기회 및 이점을 제공한다.The spontaneous users may then be asked to indicate when they are in a WiFi hot spot, and in response to such an indication, the satellite positioning system coordinates may be automatically grabbed. The code generator then provides an application that automatically collects information from voluntary users and automatically distributes it to authorized requesting users. This can be accomplished without any programming interaction from the human programmer and in some embodiments allows the website to be fully populated with information provided without cost from volunteers. Thus, in some cases, the possibility of creating a customized, low cost, grassroots originated website offers tremendous opportunities and benefits.

도 2를 참조하면, 코드 디벨로퍼(42)는 소프트웨어, 펌웨어, 및/또는 하드웨어에 의해 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 자기, 광학, 또는 반도체 메모리와 같은 비일시적 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 실행 코드에 의해 구현될 수 있다. 일부 경우에서, 코드 디벨로퍼는 클라이언트 디바이스(30)에 상주할 수 있으나, 다른 경우에, 일부 예시들을 언급하도록 기지국(26) 또는 서버(12)에 상주할 수 있다.Referring to FIG. 2, the code developer 42 may be implemented by software, firmware, and / or hardware. In software and firmware embodiments, it may be implemented by computer executable code stored on non-volatile computer readable media such as magnetic, optical, or semiconductor memory. In some cases, the code developer may reside in the client device 30, but in other cases it may reside in the base station 26 or server 12 to refer to some examples.

코드 디벨로퍼(42)는 잠재 코드 개시자(a potential code initiator)에게 질의(query)를 제기하는 복수의 그래픽 사용자 인터페이스를 생성할 수 있어 코드 생성기(16)로 하여금 코드를 자동으로 생성하여 사용자 계획 기능(a user envisioned function)을 구현할 수 있다. 일부 실시예들에서, 드롭다운 박스는 그러한 질의에 대하여 복수의 마우스 또는 터치 선택가능한 응답을 제공할 수 있다. 따라서, 일 실시예에서, 코드 디벨로퍼 시퀀스는 블록 48에 표시된 바와 같이 입력 데이터 타입을 수신할 수 있다. 예를 들어, 전술된 WiFi 예시에서, 입력 데이터 타입은 위성 위치확인 시스템 좌표일 것이다. 그 다음 이는 블록 50에 표시된 바와 같이 입력 데이터 포맷을 수신할 수 있다. WiFi 예시에서, 포맷은 특정 전자 데이터 포맷의 위성 위치확인 시스템 좌표와 같이, 자동으로 수집된 데이터에 대한 특정 데이터 포맷을 명시할 수 있다.The code developer 42 may generate a plurality of graphical user interfaces for querying a potential code initiator so that the code generator 16 automatically generates the code, (a user envisioned function). In some embodiments, the drop-down box may provide a plurality of mouse or touch selectable responses for such queries. Thus, in one embodiment, the code developer sequence may receive the input data type as indicated at block 48. For example, in the WiFi example described above, the input data type may be a satellite positioning system coordinate. Which may then receive the input data format as indicated in block 50. [ In the WiFi example, the format may specify a specific data format for automatically collected data, such as satellite positioning system coordinates in a particular electronic data format.

그 이후, 일부 실시예들에서, 개발될 코드를 사용자 액세스 가능한 이름과 연관시키기 위해 블록 52에서 애플리케이션 이름이 수신될 수 있다. 그 다음에, 블록 54에 표시된 바와 같이, 데이터 소스가 식별될 수 있다. 데이터 소스는 데이터 제공자로부터 크라우스소스형 정보를 수집하기 위해 어떤 센서가 활성화되어야 하는지 표시할 수 있다. 블록 56에서 출력 수신지(output destination)는 수신될 수 있다. 이는 어떤 타입의 클라이언트 디바이스 또는 다른 디바이스가 코드 생성기(16)로부터 출력을 수신할 수 있는지를 명시할 수 있다. 이러한 디바이스의 타입에 기초하여, 출력의 포맷이 결정될 수 있다. 예를 들어, 데스크톱 컴퓨터에 대하여 필요한 것과는 다른 포맷이 휴대폰에 대하여 필요할 수 있다.Thereafter, in some embodiments, the application name may be received at block 52 to associate the code to be developed with a user accessible name. Then, as indicated at block 54, the data source may be identified. The data source may indicate which sensors should be activated to collect Krauss source-type information from the data provider. At block 56, an output destination may be received. Which may specify what type of client device or other device is capable of receiving output from the code generator 16. Based on the type of such device, the format of the output can be determined. For example, a format different from what is needed for a desktop computer may be needed for the mobile phone.

그 다음, 블록 58에 표시된 바와 같이, 입력/출력 경로가 수신되고 명시될 수 있다. 이는 정보가 전달되고 전송되어야 하는 방법을 표시한다. 예를 들어, 정보는, 두 가지 예시로서, 인터넷을 통해서 또는 휴대 전화 네트워크를 통해서 전달 및/또는 전송될 수 있다. 그 다음, 블록 60에서 입력 수집 타이밍이 수신될 수 있다. 이는 클라이언트 디바이스를 수집할 때 데이터가 얼마나 자주 서버에 수집 또는 업로드되어야 하는지를 명시할 수 있다. 블록 62에서, 개발된 코드가 행할 실제 동작은 명시될 수 있다. 따라서, 예시에서, 동작은 사용자의 현재 위치를 이용가능한 WiFi 핫 스팟과 비교하는 것, 어느 것이 가장 가까운지를 결정하는 것, 및 사용자의 현재 위치에 가장 가까운 WiFi 핫 스팟을 지도 상에 표시하는 것일 것이다.An input / output path may then be received and specified, as indicated at block 58. [ It indicates how information should be transmitted and transmitted. For example, information may be communicated and / or transmitted over the Internet or through a cellular telephone network, in two examples. The input acquisition timing may then be received at block 60. This can specify how often data should be collected or uploaded to the server when collecting client devices. At block 62, the actual operation to be performed by the developed code may be specified. Thus, in the example, the operation would be to compare the user's current location with the available WiFi hotspots, determine which is closest, and display the WiFi hotspot closest to the user's current location on the map .

마지막으로, 명시된 출력 포맷은 블록 64에서 수신될 수 있다. 이는 출력의 그래픽적 특성, 이와 연관된 텍스트, 전자 포맷, 및 유용한 것으로 여겨지는 다른 정보를 포함할 수 있다.Finally, the specified output format may be received at block 64. This may include the graphical nature of the output, text associated therewith, electronic format, and other information deemed useful.

도 3을 살펴보면, 코드 생성기(16)는 소프트웨어, 하드웨어, 및/또는 펌웨어로 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 이는 반도체, 자기, 또는 광학 저장장치와 같은, 비일시적 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 실행 코드에 의해 구현될 수 있다. 일반적으로, 코드 생성기는 서버(12)에 위치될 수 있으나, 일부 실시예들에서, 이는 기지국(26) 및/또는 클라이언트(30)에서 또한 이용가능할 수 있다. 하드웨어 실시예에서, 코드 생성기는 프로세서를 포함할 수 있다.Referring to FIG. 3, the code generator 16 may be implemented with software, hardware, and / or firmware. In software and firmware embodiments, it may be implemented by computer executable code stored on non-volatile computer-readable media, such as semiconductor, magnetic, or optical storage devices. Generally, a code generator may be located at server 12, but in some embodiments, it may also be available at base station 26 and / or client 30. In a hardware embodiment, the code generator may comprise a processor.

블록 66에 표시된 바와 같이, 시퀀스(16)는 코드 디벨로퍼(42)에 의해 제공된 입력을 사용하여 코드 또는 애플리케이션을 개발함으로써 시작한다. 그 이후, 다이아몬드 68에서의 체크는 실제로 애플리케이션을 사용하고자 하는 요청이 존재하는지를 결정한다. 존재한다면, 블록 70에 표시된 바와 같이 출력을 생성하기 위해 필요한 데이터가 자동 데이터 컬렉터로부터 그래브될 수 있다. 일부 경우들에서, 데이터 컬렉터는 요청하는 개인과 연관될 수 있고, 다른 경우에서, 이 동작은 데이터 수집하였으나 이 데이터를 서버에 아직 업로드하지 않은 모든 클라이언트 디바이스들로부터 정보를 업데이트하는 것을 수반할 수 있다. 예를 들어, 사용자의 휴대폰은, 전술된 예시에서 사용자가 WiFi 핫 스팟에 있다는 것을 사용자가 표시할 때 사용자의 GPS 좌표를 그래브하는데 사용될 수 있다. 따라서, 코드(20)에 의해 생성된 출력이 업데이트될 수 있다. 그 다음, 블록 72에서, 애플리케이션 데이터는 코드로 파퓰레이팅되고, 블록 74에서, 요청된 출력은 요청되거나 명시된 방법으로 제공 및 전송된다.As indicated at block 66, the sequence 16 begins by developing the code or application using the input provided by the code developer 42. Thereafter, the check at diamond 68 actually determines if there is a request to use the application. If so, the data needed to generate the output, as indicated at block 70, may be grabbed from the automatic data collector. In some cases, the data collector may be associated with the requesting individual, and in other cases, this operation may involve updating the information from all client devices that have collected data but have not yet uploaded this data to the server . For example, a user's cell phone may be used to graph the user's GPS coordinates when the user indicates in the example described above that the user is at a WiFi hot spot. Thus, the output generated by the code 20 can be updated. Then, at block 72, the application data is populated with code, and at block 74, the requested output is provided and transmitted in the requested or explicit manner.

마지막으로, 도 4를 살펴보면, 애플리케이션 액세스 제어(15)는 개발되었던 임의의 애플리케이션에 액세스할 수 있는 사람을 제한하기 위해 제공될 수 있다. 애플리케이션 액세스 제어(15)는 하드웨어, 소프트웨어, 및/또는 펌웨어로 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 이는, 자기, 반도체, 또는 광학 저장장치와 같은, 비일시적 컴퓨터 판독가능 매체에 저장된 컴퓨터 실행 인스트럭션에 의해 구현될 수 있다. 애플리케이션 액세스 제어(15)는, 일부 예시들을 언급하도록, 서버(12), 기지국(26), 클라이언트(30)를 포함하는, 어느 곳에서든 구현될 수 있다.Finally, referring to FIG. 4, application access control 15 may be provided to restrict who can access any applications that have been developed. The application access control 15 may be implemented in hardware, software, and / or firmware. In software and firmware embodiments, it may be implemented by computer-readable instructions stored on non-volatile computer-readable media, such as magnetic, semiconductor, or optical storage devices. The application access control 15 may be implemented anywhere, including the server 12, the base station 26, and the client 30, to mention some examples.

일 실시예에서, 다이아몬드 76에서의 체크는 초대 시에 또는 액세스 수수료의 지불을 포함하는 다른 제한사항 하에서만 액세스가 이용가능한지를 결정한다. 그러한 경우, 다이아몬드 78에 표시된 바와 같이, 체크는 초대 또는 다른 제한사항이 충족되었는지를 결정한다. 충족되지 않은 경우, 82에 표시된 바와 같이, 액세스가 거부되고, 충족된 경우, 블록 80에 표시된 바와 같이 액세스가 허용된다.In one embodiment, the check at diamond 76 determines whether access is available only at an invitation or under other restrictions, including payment of an access fee. In such a case, as indicated in diamond 78, the check determines whether the invitation or other constraint is met. If not, access is denied, as indicated at 82, and, if satisfied, access is allowed as indicated at block 80.

본 명세서 전반에 걸쳐 "일 실시예" 또는 "실시예"에 대한 참조는 실시예와 함께 설명된 특정 피쳐, 구조, 또는 특성이 본 발명에 포함되는 적어도 하나의 구현예에 포함된다는 것을 의미한다. 따라서, 문구 "일 실시예" 또는 "실시예에서"의 등장이 반드시 동일한 실시예를 참조하는 것은 아니다. 또한, 특정 피쳐, 구조, 또는 특성들은 예시된 실시예 외의 다른 적합한 형태로 대체될 수 있고 모든 그러한 형태는 본 출원의 청구범위 내에 포함될 수 있다.Reference throughout this specification to "one embodiment" or "an embodiment " means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment included in the invention. Thus, the appearances of the phrase " one embodiment "or" in an embodiment " In addition, certain features, structures, or characteristics may be substituted for other suitable forms other than the illustrated embodiments, and all such forms may be included within the scope of the present application.

본 발명은 제한된 개수의 실시예들에 대하여 설명되었으나, 본 기술분야의 당업자는 실시예들로부터의 다양한 수정 및 변형을 이해할 것이다. 첨부된 청구항은 본 발명의 진정한 정신 및 범주 내에 있는 모든 그러한 수정 및 변형을 포괄하고자 한다.Although the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations from the embodiments. The appended claims are intended to cover all such modifications and variations that fall within the true spirit and scope of the invention.

Claims (21)

방법으로서,
크라우드소스 데이터(crowdsourced data)의 제공자들이 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하는 소스 코드 애플리케이션의 기능을 특정하는 것을 가능하게 하는 인터페이스를 제공하는 단계와,
복수의 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하기 위해 자동 코드 생성기(automatic code generator)를 사용하여, 상기 기능을 갖는 상기 소스 코드 애플리케이션을 자동으로 생성하는 단계와,
허가받은 사람만 액세스할 수 있도록 상기 생성된 소스 코드 애플리케이션에 대한 액세스를 제어하는 단계를 포함하는
방법.
As a method,
Providing an interface that enables providers of crowdsourced data to specify the functionality of a source code application that processes crowd source data from an automatic data collection device;
Automatically generating the source code application having the function using an automatic code generator to process crowd source data from a plurality of automatic data collection devices,
And controlling access to the generated source code application so that only an authorized person can access the source code application
Way.
제 1 항에 있어서,
위치 정보 데이터를 자동으로 수집하는 단계를 포함하는
방법.
The method according to claim 1,
And automatically collecting the location information data
Way.
제 1 항에 있어서,
사진 정보를 자동으로 수집하는 단계를 포함하는
방법.
The method according to claim 1,
And automatically collecting photo information.
Way.
삭제delete 제 1 항에 있어서,
모바일 컴퓨터로부터 정보를 수집하는 단계를 포함하는
방법.
The method according to claim 1,
Collecting information from the mobile computer
Way.
제 1 항에 있어서,
서버에서 코드를 자동으로 생성하는 단계를 포함하는
방법.
The method according to claim 1,
Including automatically generating code from the server
Way.
제 6 항에 있어서,
모바일 디바이스로부터 크라우드소스 데이터를 자동으로 수집하는 단계를 포함하는
방법.
The method according to claim 6,
Comprising automatically collecting crowd source data from a mobile device
Way.
인스트럭션을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
상기 인스트럭션은 컴퓨터로 하여금,
크라우드소스 데이터(crowdsourced data)의 제공자들이 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하는 소스 코드 애플리케이션의 기능을 특정하는 것을 가능하게 하는 인터페이스를 제공하고,
복수의 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하기 위해 자동 코드 생성기(automatic code generator)를 사용하여, 상기 기능을 갖는 상기 소스 코드 애플리케이션을 자동으로 생성하고,
허가받은 사람만 액세스할 수 있도록 상기 생성된 소스 코드 애플리케이션에 대한 액세스를 제어할 수 있게 하는
컴퓨터 판독가능 매체.
17. A non-transitory computer readable medium storing instructions,
The instructions cause the computer to:
Providing an interface that enables providers of crowdsourced data to specify the functionality of a source code application that processes crowd source data from an automatic data collection device,
Using an automatic code generator to process crowd source data from a plurality of automatic data collection devices to automatically generate the source code application having the functionality,
And to control access to the generated source code application so that only authorized persons can access it
Computer readable medium.
제 8 항에 있어서,
위치 정보 데이터를 자동으로 수집하게 하는 인스트럭션을 또한 저장하는
컴퓨터 판독가능 매체.
9. The method of claim 8,
It also stores an instruction to automatically collect location information data
Computer readable medium.
제 8 항에 있어서,
사진 정보를 자동으로 수집하게 하는 인스트럭션을 또한 저장하는
컴퓨터 판독가능 매체.
9. The method of claim 8,
It also stores instructions to automatically collect photo information.
Computer readable medium.
삭제delete 제 8 항에 있어서,
모바일 컴퓨터로부터 정보를 수집하게 하는 인스트럭션을 또한 저장하는
컴퓨터 판독가능 매체.
9. The method of claim 8,
It also stores instructions for gathering information from the mobile computer
Computer readable medium.
제 8 항에 있어서,
서버에서 코드를 생성하게 하는 인스트럭션을 또한 저장하는
컴퓨터 판독가능 매체.
9. The method of claim 8,
It also stores instructions that cause the server to generate code.
Computer readable medium.
제 13 항에 있어서,
모바일 디바이스로부터 크라우드소스 데이터를 수집하게 하는 인스트럭션을 또한 저장하는
컴퓨터 판독가능 매체.
14. The method of claim 13,
It also stores instructions to collect crowd source data from a mobile device
Computer readable medium.
장치로서,
크라우드소스 데이터(crowdsourced data)의 제공자들이 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하는 소스 코드 애플리케이션의 기능을 특정하는 것을 가능하게 하는 인터페이스를 제공하고,
복수의 자동 데이터 수집 디바이스로부터의 크라우드소스 데이터를 처리하기 위해 자동 코드 생성기(automatic code generator)를 사용하여, 상기 기능을 갖는 상기 소스 코드 애플리케이션을 자동으로 생성하고,
허가받은 사람만 액세스할 수 있도록 상기 생성된 소스 코드 애플리케이션에 대한 액세스를 제어하는 프로세서와,
상기 프로세서에 연결된 저장장치를 포함하는
장치.
As an apparatus,
Providing an interface that enables providers of crowdsourced data to specify the functionality of a source code application that processes crowd source data from an automatic data collection device,
Using an automatic code generator to process crowd source data from a plurality of automatic data collection devices to automatically generate the source code application having the functionality,
A processor for controlling access to the generated source code application so that only an authorized person can access the generated source code application;
And a storage device coupled to the processor
Device.
제 15 항에 있어서,
상기 프로세서는 위치 정보 데이터를 자동으로 수집하는
장치.
16. The method of claim 15,
The processor is configured to automatically collect location information data
Device.
제 15 항에 있어서,
상기 프로세서는 사진 정보를 자동으로 수집하는
장치.
16. The method of claim 15,
The processor is configured to automatically collect photo information
Device.
삭제delete 제 15 항에 있어서,
상기 프로세서는 모바일 컴퓨터로부터 정보를 수집하는
장치.
16. The method of claim 15,
The processor is configured to collect information from a mobile computer
Device.
제 15 항에 있어서,
상기 장치는 서버를 포함하는
장치.
16. The method of claim 15,
The device comprises a server
Device.
삭제delete
KR1020147009552A 2011-10-11 2011-10-11 Automatic code generation for crowdsourced automatic data collection KR101612362B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/055824 WO2013055322A1 (en) 2011-10-11 2011-10-11 Automatic code generation for crowdsourced automatic data collection

Publications (2)

Publication Number Publication Date
KR20140060363A KR20140060363A (en) 2014-05-19
KR101612362B1 true KR101612362B1 (en) 2016-04-14

Family

ID=48082200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009552A KR101612362B1 (en) 2011-10-11 2011-10-11 Automatic code generation for crowdsourced automatic data collection

Country Status (7)

Country Link
US (1) US10095480B2 (en)
EP (1) EP2766805A4 (en)
JP (1) JP6366505B2 (en)
KR (1) KR101612362B1 (en)
CN (1) CN103874983B (en)
BR (1) BR112014008453A2 (en)
WO (1) WO2013055322A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9383976B1 (en) * 2015-01-15 2016-07-05 Xerox Corporation Methods and systems for crowdsourcing software development project
US10620802B1 (en) * 2015-08-10 2020-04-14 Cadence Design Systems, Inc. Algorithmic modeling interface process
US10002163B2 (en) 2016-08-18 2018-06-19 Palantir Technologies Inc. Managing sharable cell-based analytical notebooks
US10902072B2 (en) 2017-11-29 2021-01-26 International Business Machines Corporation Indirect crowdsourcing by associating data from multiple data sources
CN108509218B (en) * 2018-03-05 2021-03-26 中国人民解放军国防科技大学 Third-party tool optimization method based on Codepedia crowdsourcing platform
CN109814841A (en) * 2018-12-19 2019-05-28 大唐软件技术股份有限公司 A kind of resource information acquisition method and device
JP2021180032A (en) * 2019-03-04 2021-11-18 株式会社ユピテル Electronic device and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084259A (en) * 2006-09-29 2008-04-10 Japan Tobacco Inc Data gathering system
JP2008241663A (en) * 2007-03-29 2008-10-09 Oki Electric Ind Co Ltd Field intensity investigation system and method

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946485A (en) * 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
US7849394B2 (en) * 2001-10-25 2010-12-07 The Math Works, Inc. Linked code generation report
US20030105565A1 (en) * 2001-12-03 2003-06-05 Loda David C. Integrated internet portal and deployed product microserver management system
US20030149958A1 (en) * 2002-02-06 2003-08-07 Shumeet Baluja Automatic code generation for applications which run on common platforms
US20050076327A1 (en) * 2003-01-15 2005-04-07 University Of Florida Server-side wireless development tool
EP1758020A4 (en) * 2004-06-18 2008-11-26 Fujitsu Ltd Random number generation device, generation method, generator evaluation method, and random number use method
DE102004057727A1 (en) 2004-11-30 2006-06-01 Siemens Ag Engineering system with automatic generation of instance templates
JP5114994B2 (en) 2007-03-27 2013-01-09 日本電気株式会社 Automatic collection system, communication terminal, server, automatic collection method, and program
US8805110B2 (en) * 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
CN101655862A (en) * 2009-08-11 2010-02-24 华天清 Method and device for searching information object
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8504512B2 (en) * 2009-12-02 2013-08-06 Microsoft Corporation Identifying geospatial patterns from device data
EP2348477A1 (en) 2010-01-06 2011-07-27 Alcatel Lucent Crowdsourcing through mobile network
US9477667B2 (en) * 2010-01-14 2016-10-25 Mobdub, Llc Crowdsourced multi-media data relationships
US8775065B2 (en) * 2010-04-05 2014-07-08 Qualcomm Incorporated Radio model updating
US8412568B2 (en) * 2010-05-28 2013-04-02 Ebay, Inc. Collecting media data descriptive of a product
US8818401B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Methods and apparatuses for use in determining that a mobile station is at one or more particular indoor regions
US9148763B2 (en) * 2010-07-30 2015-09-29 Qualcomm Incorporated Methods and apparatuses for mobile station centric determination of positioning assistance data
US20120102164A1 (en) * 2010-10-21 2012-04-26 International Business Machines Corporation Deployment of location based applications with crowdsourced structured points of input for data entry
US10169017B2 (en) * 2010-10-21 2019-01-01 International Business Machines Corporation Crowdsourcing location based applications and structured data for location based applications
CA2823827C (en) * 2010-11-14 2018-08-28 Triangle Software Llc Crowd sourced traffic reporting
US8478754B2 (en) * 2010-12-08 2013-07-02 Piracloud, Inc. Method and system for personality comparison via public consensus
US9104992B2 (en) * 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US8464304B2 (en) * 2011-01-25 2013-06-11 Youtoo Technologies, LLC Content creation and distribution system
EP2671373B1 (en) * 2011-02-05 2017-12-06 Apple Inc. Method and apparatus for mobile location determination
US9418115B2 (en) * 2011-07-26 2016-08-16 Abl Ip Holding Llc Location-based mobile services and applications
US20130212191A1 (en) * 2011-08-17 2013-08-15 Weejot Ltd. Device-agnostic network and social network sharing of... web-applications
US20130066961A1 (en) * 2011-09-08 2013-03-14 International Business Machines Corporation Automated crowdsourcing task generation
US10013136B2 (en) * 2011-09-29 2018-07-03 Michael L Bachman User interface, method and system for crowdsourcing event notification sharing using mobile devices
US20130084882A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Becoming more "aware" through use of crowdsourcing and device interaction
US8472980B2 (en) * 2011-10-01 2013-06-25 Qualcomm Incorporated Flexible architecture for location based crowdsourcing of contextual data
US9092799B2 (en) * 2011-12-31 2015-07-28 Traitwise Inc. Embedded survey and analytics engine
US20130197954A1 (en) * 2012-01-30 2013-08-01 Crowd Control Software, Inc. Managing crowdsourcing environments
US9239862B2 (en) * 2012-05-01 2016-01-19 Qualcomm Incorporated Web acceleration based on hints derived from crowd sourcing
US20150135160A1 (en) * 2012-05-01 2015-05-14 Simon Gauvin System and method for providing an application development and distribution social platform
US8959076B2 (en) * 2012-05-21 2015-02-17 International Business Machines Corporation Managing a service catalog through crowdsourcing
US9510141B2 (en) * 2012-06-04 2016-11-29 Apple Inc. App recommendation using crowd-sourced localized app usage data
US20140173563A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Editor visualizations
US9330420B2 (en) * 2013-01-15 2016-05-03 International Business Machines Corporation Using crowdsourcing to improve sentiment analytics
US8972175B2 (en) * 2013-03-14 2015-03-03 Qualcomm Incorporated Navigation using crowdsourcing data
US9778924B2 (en) * 2013-06-06 2017-10-03 Wipro Limited Platform for enabling creation and use of an API for a specific solution
US9753696B2 (en) * 2014-03-14 2017-09-05 Microsoft Technology Licensing, Llc Program boosting including using crowdsourcing for correctness
US9383976B1 (en) * 2015-01-15 2016-07-05 Xerox Corporation Methods and systems for crowdsourcing software development project
US9916861B2 (en) * 2015-06-17 2018-03-13 International Business Machines Corporation Editing media on a mobile device before transmission
US20170178240A1 (en) * 2015-12-17 2017-06-22 International Business Machines Corporation Multiple round crowdfunding
US20170357486A1 (en) * 2016-06-10 2017-12-14 International Business Machines Corporation Enhancing a crowdsourced integrated development environment application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084259A (en) * 2006-09-29 2008-04-10 Japan Tobacco Inc Data gathering system
JP2008241663A (en) * 2007-03-29 2008-10-09 Oki Electric Ind Co Ltd Field intensity investigation system and method

Also Published As

Publication number Publication date
CN103874983A (en) 2014-06-18
BR112014008453A2 (en) 2017-04-11
EP2766805A4 (en) 2015-05-27
JP6366505B2 (en) 2018-08-01
EP2766805A1 (en) 2014-08-20
WO2013055322A1 (en) 2013-04-18
KR20140060363A (en) 2014-05-19
CN103874983B (en) 2018-06-08
JP2014532244A (en) 2014-12-04
US10095480B2 (en) 2018-10-09
US20130263084A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
KR101612362B1 (en) Automatic code generation for crowdsourced automatic data collection
KR101016556B1 (en) Method, server and computer-readable recording medium for accessing information on person using augmented reality
US9992629B2 (en) System and method for providing a descriptor for a location to a recipient
CN108182060B (en) Hybrid application point burying method, mobile terminal and system
EP2888869B1 (en) Systems and methods for managing location data and providing a privacy framework
US8560608B2 (en) Crowd formation based on physical boundaries and other rules
US8675912B2 (en) System and method for initiating actions and providing feedback by pointing at object of interest
KR102325310B1 (en) Data mediating system and method
US20140094194A1 (en) Method and system for providing location services
US11593082B2 (en) Registered applications for electronic devices
EP3149650A1 (en) System for managing personal data
US9679032B2 (en) Device information providing system and device information providing method
JP2015207291A (en) Semantic labelling device and method
US20110107434A1 (en) Privacy through artificial contextual data generation
JP6917919B2 (en) Providing equipment, providing method and providing program
JP2019028767A (en) Display control device, display control method and display control program
US20150219746A1 (en) Determining a geographic location of a computing device
JP2014153797A (en) Device information providing system and device information providing method
JP2019128611A (en) Generation apparatus, generation method, and generation program
Michalakis et al. Intelligent visual interface with the internet of things
JP2013045292A (en) Access management system, access management method, and access management program
Mathai et al. Location based mobile advertising framework for commuters
Pei et al. Location-based services and navigation in smart phones
KR20150099695A (en) Apparatus and method for managing contents media
JP2013174953A (en) Information providing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4